diff --git a/nixos/modules/services/x11/window-managers/metacity.nix b/nixos/modules/services/x11/window-managers/metacity.nix index 436eccbaf0c..5175fd7f3b1 100644 --- a/nixos/modules/services/x11/window-managers/metacity.nix +++ b/nixos/modules/services/x11/window-managers/metacity.nix @@ -5,9 +5,7 @@ with lib; let cfg = config.services.xserver.windowManager.metacity; - xorg = config.services.xserver.package; - gnome = pkgs.gnome; - + inherit (pkgs) gnome3; in { @@ -20,16 +18,12 @@ in services.xserver.windowManager.session = singleton { name = "metacity"; start = '' - env LD_LIBRARY_PATH=${lib.makeLibraryPath [ xorg.libX11 xorg.libXext ]}:/usr/lib/ - # !!! Hack: load the schemas for Metacity. - GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf.out}/bin/gconftool-2 \ - --makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas # */ - ${gnome.metacity}/bin/metacity & + ${gnome3.metacity}/bin/metacity & waitPID=$! ''; }; - environment.systemPackages = [ gnome.metacity ]; + environment.systemPackages = [ gnome3.metacity ]; }; diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 76517f87464..7068d8aedd3 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,118 +1,95 @@ -{ stdenv, fetchurl, makeWrapper, cmake, pkgconfig -, glibc, gnome-keyring, gtk, gtkmm, pcre, swig, sudo -, mysql, libxml2, libctemplate, libmysqlconnectorcpp -, vsqlite, tinyxml, gdal, libiodbc, libpthreadstubs -, libXdmcp, libuuid, libzip, libgnome-keyring, file -, pythonPackages, jre, autoconf, automake, libtool -, boost, glibmm, libsigcxx, pangomm, libX11, openssl -, proj, cairo, libglade +{ stdenv, fetchurl, substituteAll, cmake, ninja, pkgconfig +, glibc, gtk3, gtkmm3, pcre, swig, antlr4_7, sudo +, mysql, libxml2, libmysqlconnectorcpp +, vsqlite, gdal, libiodbc, libpthreadstubs +, libXdmcp, libuuid, libzip, libsecret, libssh +, python2, jre +, boost, libsigcxx, libX11, openssl +, proj, cairo, libxkbcommon, epoxy, wrapGAppsHook +, at-spi2-core, dbus, bash, coreutils }: let - inherit (pythonPackages) pexpect pycrypto python paramiko; + inherit (python2.pkgs) paramiko pycairo pyodbc; in stdenv.mkDerivation rec { pname = "mysql-workbench"; - version = "6.3.8"; + version = "8.0.12"; name = "${pname}-${version}"; src = fetchurl { url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; - sha256 = "1bxd828nrawmym6d8awh1vrni8dsbwh1k5am1lrq5ihp5c3kw9ka"; + sha256 = "0d6k1kw0bi3q5dlilzlgds1gcrlf7pis4asm3d6pssh2jmn5hh82"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake gnome-keyring gtk gtk.dev gtkmm pcre swig python sudo - paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file - libpthreadstubs libXdmcp libuuid libzip libgnome-keyring libgnome-keyring.dev jre autoconf - automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl - proj cairo cairo.dev makeWrapper libglade ] ; + patches = [ + ./fix-gdal-includes.patch + (substituteAll { + src = ./hardcode-paths.patch; + catchsegv = "${glibc.bin}/bin/catchsegv"; + bash = "${bash}/bin/bash"; + cp = "${coreutils}/bin/cp"; + dd = "${coreutils}/bin/dd"; + ls = "${coreutils}/bin/ls"; + mkdir = "${coreutils}/bin/mkdir"; + nohup = "${coreutils}/bin/nohup"; + rm = "${coreutils}/bin/rm"; + rmdir = "${coreutils}/bin/rmdir"; + sudo = "${sudo}/bin/sudo"; + }) + ]; - prePatch = '' - for f in backend/wbpublic/{grt/spatial_handler.h,grtui/geom_draw_box.h,objimpl/db.query/db_query_Resultset.cpp} ; - do - sed -i 's@#include ext/antlr-runtime/fix-configure - #!${stdenv.shell} - echo "fixing bundled antlr3c configure" ; - sed -i 's@/usr/bin/file@${file}/bin/file@' configure - sed -i '12121d' configure - EOF - chmod +x ext/antlr-runtime/fix-configure - sed -i '236s@&&@& ''${PROJECT_SOURCE_DIR}/ext/antlr-runtime/fix-configure &@' CMakeLists.txt - - substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv" - substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "/usr/lib/x86_64-linux-gnu" "${proj}/lib" - patchShebangs $(pwd)/library/mysql.parser/grammar/build-parser - patchShebangs $(pwd)/tools/get_wb_version.sh + postPatch = '' + patchShebangs tools/get_wb_version.sh ''; NIX_CFLAGS_COMPILE = [ - "-I${libsigcxx}/lib/sigc++-2.0/include" - "-I${pangomm}/lib/pangomm-1.4/include" - "-I${glibmm}/lib/giomm-2.4/include" + # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated + "-Wno-error=deprecated-declarations" ]; cmakeFlags = [ - "-DCMAKE_CXX_FLAGS=-std=c++11" "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config" - "-DCTemplate_INCLUDE_DIR=${libctemplate}/include" - "-DCAIRO_INCLUDE_DIRS=${cairo.dev}/include" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include" - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${gtk.dev}/include" - "-DGTK2_GTKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gtkmm-2.4/include" - "-DGTK2_GDKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gdkmm-2.4/include" - "-DGTK2_GLIBMMCONFIG_INCLUDE_DIR=${glibmm}/lib/glibmm-2.4/include" + "-DIODBC_CONFIG_PATH=${libiodbc}/bin/iodbc-config" + "-DWITH_ANTLR_JAR=${antlr4_7.jarLocation}" ]; - postInstall = '' - patchShebangs $out/share/mysql-workbench/extras/build_freetds.sh + # There is already an executable and a wrapper in bindir + # No need to wrap both + dontWrapGApps = true; - for i in $out/lib/mysql-workbench/modules/wb_utils_grt.py \ - $out/lib/mysql-workbench/modules/wb_server_management.py \ - $out/lib/mysql-workbench/modules/wb_admin_grt.py; do - substituteInPlace $i \ - --replace "/bin/bash" ${stdenv.shell} \ - --replace "/usr/bin/sudo" ${sudo}/bin/sudo + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${python2}/bin" + --prefix PROJSO : "${proj}/lib/libproj.so" + --set PYTHONPATH $PYTHONPATH + ) + ''; + + # Let’s wrap the programs not ending with bin + # until https://bugs.mysql.com/bug.php?id=91948 is fixed + postFixup = '' + find -L "$out/bin" -type f -executable -print0 \ + | while IFS= read -r -d ''' file; do + if [[ "''${file}" != *-bin ]]; then + echo "Wrapping program ''${file}" + wrapProgram "''${file}" "''${gappsWrapperArgs[@]}" + fi done - - wrapProgram "$out/bin/mysql-workbench" \ - --prefix LD_LIBRARY_PATH : "${python}/lib" \ - --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64" \ - --prefix PATH : "${gnome-keyring}/bin" \ - --prefix PATH : "${python}/bin" \ - --set PYTHONPATH $PYTHONPATH \ - --run ' -# The gnome-keyring-daemon must be running. To allow for environments like -# kde, xfce where this is not so, we start it first. -# It is cleaned up using a supervisor subshell which detects that -# the parent has finished via the closed pipe as terminate signal idiom, -# used because we cannot clean up after ourselves due to the exec call. - -# Start gnome-keyring-daemon, export the environment variables it asks us to set. -for expr in $( gnome-keyring-daemon --start ) ; do eval "export "$expr ; done - -# Prepare fifo pipe. -FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo" -[ -p $FIFOCTL ] && rm $FIFOCTL -mkfifo $FIFOCTL - -# Supervisor subshell waits reading from pipe, will receive EOF when parent -# closes pipe on termination. Negate read with ! operator to avoid subshell -# quitting when read EOF returns 1 due to -e option being set. -( - exec 19< $FIFOCTL - ! read -u 19 - - kill $GNOME_KEYRING_PID - rm $FIFOCTL -) & - -exec 19> $FIFOCTL - ' ''; meta = with stdenv.lib; { @@ -127,6 +104,6 @@ exec 19> $FIFOCTL homepage = http://wb.mysql.com/; license = licenses.gpl2; maintainers = [ maintainers.kkallio ]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch b/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch new file mode 100644 index 00000000000..0a5c31fd40a --- /dev/null +++ b/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch @@ -0,0 +1,47 @@ +--- a/backend/wbpublic/grt/spatial_handler.h ++++ b/backend/wbpublic/grt/spatial_handler.h +@@ -24,12 +24,12 @@ + #ifndef SPATIAL_HANDLER_H_ + #define SPATIAL_HANDLER_H_ + +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include ++#include + #include + #include "base/geometry.h" + #include "wbpublic_public_interface.h" +--- a/backend/wbpublic/grtui/geom_draw_box.h ++++ b/backend/wbpublic/grtui/geom_draw_box.h +@@ -25,7 +25,7 @@ + #define _GEOM_DRAW_BOX_H_ + + #include +-#include ++#include + #include "wbpublic_public_interface.h" + + class WBPUBLICBACKEND_PUBLIC_FUNC GeomDrawBox : public mforms::DrawBox { +--- a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp ++++ b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp +@@ -21,9 +21,9 @@ + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include +-#include +-#include ++#include ++#include ++#include + + #include + #include diff --git a/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch new file mode 100644 index 00000000000..dddf992e4c1 --- /dev/null +++ b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch @@ -0,0 +1,187 @@ +--- a/frontend/linux/workbench/mysql-workbench.in ++++ b/frontend/linux/workbench/mysql-workbench.in +@@ -99,8 +99,8 @@ + if test "$WB_DEBUG" != ""; then + $WB_DEBUG $MWB_BINARIES_DIR/mysql-workbench-bin "$@" + else +- if type -p catchsegv > /dev/null; then +- catchsegv $MWB_BINARIES_DIR/mysql-workbench-bin "$@" ++ if type -p @catchsegv@ > /dev/null; then ++ @catchsegv@ $MWB_BINARIES_DIR/mysql-workbench-bin "$@" + else + $MWB_BINARIES_DIR/mysql-workbench-bin "$@" + fi +--- a/plugins/migration/frontend/migration_bulk_copy_data.py ++++ b/plugins/migration/frontend/migration_bulk_copy_data.py +@@ -110,7 +110,7 @@ + return 'sh' + + def generate_import_script(self, connection_args, path_to_file, schema_name): +- output = ['#!/bin/bash'] ++ output = ['#!/usr/bin/env bash'] + output.append('MYPATH=\`pwd\`') + + output.append('if [ -f \$MYPATH/%s ] ; then' % self.error_log_name) +@@ -164,7 +164,7 @@ + return 'sh' + + def generate_import_script(self, connection_args, path_to_file, schema_name): +- output = ['#!/bin/bash'] ++ output = ['#!/usr/bin/env bash'] + output.append('MYPATH=\`pwd\`') + + output.append('if [ -f \$MYPATH/%s ] ; then' % self.error_log_name) +@@ -417,7 +417,7 @@ + + with open(script_path, 'w+') as f: + os.chmod(script_path, 0700) +- f.write('#!/bin/bash\n\n') ++ f.write('#!/usr/bin/env bash\n\n') + f.write('MYPATH=`pwd`\n') + + f.write("arg_source_password=\"\"\n") +@@ -521,7 +521,7 @@ + + with open(script_path, 'w+') as f: + os.chmod(script_path, 0700) +- f.write('#!/bin/bash\n\n') ++ f.write('#!/usr/bin/env bash\n\n') + f.write('MYPATH=`pwd`\n') + + f.write("arg_source_password=\"\"\n") +--- a/plugins/wb.admin/backend/wb_server_control.py ++++ b/plugins/wb.admin/backend/wb_server_control.py +@@ -39,7 +39,7 @@ + + UnixVariant = { + "" : { +- 'sudo_command' : "/usr/bin/sudo -k -S -p EnterPasswordHere ", ++ 'sudo_command' : "@sudo@ -k -S -p EnterPasswordHere ", + } + } + +--- a/plugins/wb.admin/backend/wb_server_management.py ++++ b/plugins/wb.admin/backend/wb_server_management.py +@@ -40,7 +40,7 @@ + + def reset_sudo_prefix(): + global default_sudo_prefix +- default_sudo_prefix = '/usr/bin/sudo -k -S -p EnterPasswordHere' ++ default_sudo_prefix = '@sudo@ -k -S -p EnterPasswordHere' + + reset_sudo_prefix() + +@@ -100,7 +100,7 @@ + + if to_spawn: + command += ' &' +- sudo_prefix += ' /usr/bin/nohup' ++ sudo_prefix += ' @nohup@' + + # If as_user is the CURRENT then there's no need to sudo + if as_user != Users.CURRENT: +@@ -111,7 +111,7 @@ + if '/bin/sh' in sudo_prefix or '/bin/bash' in sudo_prefix: + command = "LANG=C " + sudo_prefix + " \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\"" + else: +- command = "LANG=C " + sudo_prefix + " /bin/bash -c \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\"" ++ command = "LANG=C " + sudo_prefix + " @bash@ -c \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\"" + + return command + +@@ -896,9 +896,9 @@ + if as_user == Users.CURRENT: + raise PermissionDeniedError("Cannot set owner of directory %s" % path) + else: +- command = "/bin/mkdir %s && chown %s %s" % (quote_path(path), with_owner, quote_path(path)) ++ command = "@mkdir@ %s && chown %s %s" % (quote_path(path), with_owner, quote_path(path)) + else: +- command = "/bin/mkdir %s" % (quote_path(path)) ++ command = "@mkdir@ %s" % (quote_path(path)) + + res = self.process_ops.exec_cmd(command, + as_user = as_user, +@@ -927,7 +927,7 @@ + @useAbsPath("path") + def remove_directory(self, path, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() +- res = self.process_ops.exec_cmd('/bin/rmdir ' + quote_path(path), ++ res = self.process_ops.exec_cmd('@rmdir@ ' + quote_path(path), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -940,7 +940,7 @@ + @useAbsPath("path") + def remove_directory_recursive(self, path, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() +- res = self.process_ops.exec_cmd('/bin/rm -R ' + quote_path(path), ++ res = self.process_ops.exec_cmd('@rm@ -R ' + quote_path(path), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -953,7 +953,7 @@ + @useAbsPath("path") + def delete_file(self, path, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() +- res = self.process_ops.exec_cmd("/bin/rm " + quote_path(path), ++ res = self.process_ops.exec_cmd("@rm@ " + quote_path(path), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -1001,7 +1001,7 @@ + def _copy_file(self, source, dest, as_user = Users.CURRENT, user_password = None): + output = StringIO.StringIO() + +- res = self.process_ops.exec_cmd("LC_ALL=C /bin/cp " + quote_path(source) + " " + quote_path(dest), ++ res = self.process_ops.exec_cmd("LC_ALL=C @cp@ " + quote_path(source) + " " + quote_path(dest), + as_user = as_user, + user_password = user_password, + output_handler = output.write, +@@ -1077,9 +1077,9 @@ + # for ls -l, the output format changes depending on stdout being a terminal or not + # since both cases are possible, we need to handle both at the same time (1st line being total or not) + # the good news is that if the line is there, then it will always start with total, regardless of the locale +- command = 'LC_ALL=C /bin/ls -l -p %s' % quote_path(path) ++ command = 'LC_ALL=C @ls@ -l -p %s' % quote_path(path) + else: +- command = 'LC_ALL=C /bin/ls -1 -p %s' % quote_path(path) ++ command = 'LC_ALL=C @ls@ -1 -p %s' % quote_path(path) + + output = StringIO.StringIO() + res = self.process_ops.exec_cmd(command, +@@ -2160,9 +2160,9 @@ + def get_range(self, start, end): + f = StringIO.StringIO() + if not self._need_sudo: +- ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write) ++ ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write) + else: +- ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.ADMIN, user_password=self.get_password, output_handler=f.write) ++ ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.ADMIN, user_password=self.get_password, output_handler=f.write) + + if ret != 0: + raise RuntimeError("Could not get data from file %s" % self.path) +@@ -2170,9 +2170,9 @@ + + def read_task(self, offset, file): + if not self._need_sudo: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=file.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=file.write) + else: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self.get_password, output_handler=file.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self.get_password, output_handler=file.write) + # this will signal the reader end that there's no more data + file.close() + +@@ -2198,9 +2198,9 @@ + self._pos = offset + f = StringIO.StringIO() + if not self._need_sudo: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write) + else: +- self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self._password, output_handler=f.write) ++ self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self._password, output_handler=f.write) + self.data = f + self.data.seek(0) + if self.skip_first_newline: diff --git a/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix b/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix index e7e199155d7..3376eebe5dc 100644 --- a/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix @@ -81,8 +81,6 @@ stdenv.mkDerivation rec { ]; - buildInputs = [ gnome2.gnome-keyring ]; - nativeBuildInputs = [ makeWrapper ]; buildCommand = '' diff --git a/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix index f2acf03958b..96f742df310 100644 --- a/pkgs/applications/window-managers/xmonad/log-applet/default.nix +++ b/pkgs/applications/window-managers/xmonad/log-applet/default.nix @@ -1,45 +1,46 @@ { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, glib, dbus-glib -, desktopSupport -, gtk2, gnome2_panel, GConf2 +, desktopSupport, xlibs +, gtk2 +, gtk3, gnome3, mate , libxfce4util, xfce4-panel }: -assert desktopSupport == "gnome2" || desktopSupport == "gnome3" || desktopSupport == "xfce4"; +assert desktopSupport == "gnomeflashback" || desktopSupport == "mate" || desktopSupport == "xfce4"; stdenv.mkDerivation rec { - version = "2.1.0"; + version = "unstable-2017-09-15"; pname = "xmonad-log-applet"; - name = "${pname}-${version}-${desktopSupport}"; + name = "${pname}-${desktopSupport}-${version}"; src = fetchFromGitHub { - owner = "alexkay"; + owner = "kalj"; repo = pname; - rev = "${version}"; - sha256 = "1g1fisyaw83v72b25fxfjln8f4wlw3rm6nyk27mrqlhsc1spnb5p"; + rev = "a1b294cad2f266e4f18d9de34167fa96a0ffdba8"; + sha256 = "042307grf4zvn61gnflhsj5xsjykrk9sjjsprprm4iij0qpybxcw"; }; - buildInputs = with stdenv.lib; - [ glib dbus-glib ] - ++ optionals (desktopSupport == "gnome2") [ gtk2 gnome2_panel GConf2 ] - # TODO: no idea where to find libpanelapplet-4.0 - ++ optionals (desktopSupport == "gnome3") [ ] - ++ optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4-panel ] - ; - + buildInputs = [ glib dbus-glib xlibs.xcbutilwm ] + ++ stdenv.lib.optionals (desktopSupport == "gnomeflashback") [ gtk3 gnome3.gnome-panel ] + ++ stdenv.lib.optionals (desktopSupport == "mate") [ gtk3 mate.mate-panel ] + ++ stdenv.lib.optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4-panel ] + ; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; - + configureFlags = [ "--with-panel=${desktopSupport}" ]; - + patches = [ ./fix-paths.patch ]; + # Setup hook replaces ${prefix} in pc files so we cannot use + # --define-variable=prefix=$prefix + PKG_CONFIG_LIBXFCE4PANEL_1_0_LIBDIR = "$(out)/lib"; + meta = with stdenv.lib; { - homepage = https://github.com/alexkay/xmonad-log-applet; + homepage = https://github.com/kalj/xmonad-log-applet; license = licenses.bsd3; description = "An applet that will display XMonad log information (${desktopSupport} version)"; platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; - - broken = desktopSupport == "gnome3"; }; } diff --git a/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch b/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch index 031843afb17..5e1fc7114dc 100644 --- a/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch +++ b/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch @@ -1,50 +1,57 @@ -diff --git a/Makefile.am b/Makefile.am -index 619012d..dcc6d3c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,4 +1,5 @@ - plugindir = $(PLUGIN_DIR) -+SESSION_BUS_SERVICES_DIR = $(prefix)/share/dbus-1/services - plugin_PROGRAMS = xmonad-log-applet - - xmonad_log_applet_SOURCES = main.c -diff --git a/configure.ac b/configure.ac -index ad4cffb..110c953 100644 --- a/configure.ac +++ b/configure.ac -@@ -27,28 +27,28 @@ AC_ARG_WITH( +@@ -20,7 +20,7 @@ + PKG_CHECK_MODULES(XCB, xcb xcb-ewmh) + + PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= 0.80) +-SESSION_BUS_SERVICES_DIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1` ++SESSION_BUS_SERVICES_DIR=$prefix/share/dbus-1/services + AC_SUBST([SESSION_BUS_SERVICES_DIR]) + + AC_ARG_WITH( +@@ -32,35 +32,35 @@ AS_IF( [test "x$panel" = xgnome2], [PKG_CHECK_MODULES(LIBPANEL, libpanelapplet-3.0 >= 2.32.0)] - LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-3.0`/share/gnome-panel/applets - PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-3.0`/libexec -+ LIBPANEL_APPLET_DIR=${prefix}/share/gnome-panel/applets -+ PLUGIN_DIR=${prefix}/libexec ++ LIBPANEL_APPLET_DIR=$prefix/share/gnome-panel/applets ++ PLUGIN_DIR=$prefix/libexec [AC_DEFINE(PANEL_GNOME, 1, [panel type])] [AC_DEFINE(PANEL_GNOME2, 1, [panel type])] , [test "x$panel" = xgnome3], [PKG_CHECK_MODULES(LIBPANEL, libpanelapplet-4.0 >= 3.0.0)] - LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanelapplet-4.0` +- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanelapplet-4.0` - PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-4.0`/libexec -+ PLUGIN_DIR=${prefix}/libexec ++ LIBPANEL_APPLET_DIR=`$PKG_CONFIG --define-variable=prefix=$prefix --variable=libpanel_applet_dir libpanelapplet-4.0` ++ PLUGIN_DIR=$prefix/libexec [AC_DEFINE(PANEL_GNOME, 1, [panel type])] [AC_DEFINE(PANEL_GNOME3, 1, [panel type])] , + [test "x$panel" = xgnomeflashback], + [PKG_CHECK_MODULES(LIBPANEL, libpanel-applet >= 3.0.0)] +- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanel-applet` +- PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanel-applet`/libexec ++ LIBPANEL_APPLET_DIR=`$PKG_CONFIG --define-variable=prefix=$prefix --variable=libpanel_applet_dir libpanel-applet` ++ PLUGIN_DIR=$prefix/libexec + [AC_DEFINE(PANEL_GNOME, 1, [panel type])] + [AC_DEFINE(PANEL_GNOMEFLASHBACK, 1, [panel type])] + , [test "x$panel" = xmate], - [PKG_CHECK_MODULES(LIBPANEL, libmatepanelapplet-3.0 >= 1.4.0)] -- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-3.0`/share/mate-panel/applets -- PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-3.0`/libexec -+ LIBPANEL_APPLET_DIR=${prefix}/share/mate-panel/applets -+ PLUGIN_DIR=${prefix}/libexec + [PKG_CHECK_MODULES(LIBPANEL, libmatepanelapplet-4.0 >= 1.4.0)] +- LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-4.0`/share/mate-panel/applets +- PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-4.0`/libexec ++ LIBPANEL_APPLET_DIR=$prefix/share/mate-panel/applets ++ PLUGIN_DIR=$prefix/libexec [AC_DEFINE(PANEL_MATE, 1, [panel type])] , [test "x$panel" = xxfce4], [PKG_CHECK_MODULES(LIBPANEL, libxfce4panel-1.0 >= 4.6.0)] - LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libxfce4panel-1.0`/share/xfce4/panel-plugins - PLUGIN_DIR=`$PKG_CONFIG --variable=libdir libxfce4panel-1.0`/xfce4/panel/plugins -+ LIBPANEL_APPLET_DIR=${prefix}/share/xfce4/panel-plugins -+ PLUGIN_DIR=${prefix}/lib/xfce4/panel/plugins ++ LIBPANEL_APPLET_DIR=$prefix/share/xfce4/panel-plugins ++ PLUGIN_DIR=`$PKG_CONFIG --define-variable=prefix=$prefix --variable=libdir libxfce4panel-1.0`/xfce4/panel/plugins [AC_DEFINE(PANEL_XFCE4, 1, [panel type])] , - [AC_MSG_ERROR([Unknown panel type, use gnome2, gnome3, mate or xfce4])] + [AC_MSG_ERROR([Unknown panel type, use gnome2, gnome3, gnomeflashback, mate or xfce4])] diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index 80f2c9ce70d..c41183f4b24 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -8,12 +8,7 @@ let overridden = set // overrides; set = with overridden; { startupnotification = libstartup_notification; gnomedocutils = self.gnome-doc-utils; gnomeicontheme = self.gnome_icon_theme; - gnomepanel = self.gnome_panel; gnome_common = gnome-common; - gnome_keyring = gnome-keyring; - gnome_desktop = gnome-desktop; - gnome_settings_daemon = gnome-settings-daemon; - gnome_control_center = gnome-control-center; inherit rarian; #### PLATFORM @@ -58,8 +53,6 @@ let overridden = set // overrides; set = with overridden; { gnome_vfs = callPackage ./platform/gnome-vfs { }; - gnome_vfs_monikers = callPackage ./platform/gnome-vfs-monikers { }; - libgnome = callPackage ./platform/libgnome { }; libgnomeui = callPackage ./platform/libgnomeui { }; @@ -68,8 +61,6 @@ let overridden = set // overrides; set = with overridden; { libbonoboui = callPackage ./platform/libbonoboui { }; - at_spi = callPackage ./platform/at-spi { }; - gtkhtml = callPackage ./platform/gtkhtml { }; gtkhtml4 = callPackage ./platform/gtkhtml/4.x.nix { }; @@ -83,31 +74,11 @@ let overridden = set // overrides; set = with overridden; { #### DESKTOP - gnome-keyring = callPackage ./desktop/gnome-keyring { }; - - libgweather = callPackage ./desktop/libgweather { }; - gvfs = gvfs.override { gnome = self; }; - libgnomekbd = callPackage ./desktop/libgnomekbd { }; - # Removed from recent GNOME releases, but still required scrollkeeper = callPackage ./desktop/scrollkeeper { }; - zenity = callPackage ./desktop/zenity { }; - - metacity = callPackage ./desktop/metacity { }; - - gnome_menus = callPackage ./desktop/gnome-menus { }; - - gnome-desktop = callPackage ./desktop/gnome-desktop { }; - - gnome_panel = callPackage ./desktop/gnome-panel { }; - - gnome-settings-daemon = callPackage ./desktop/gnome-settings-daemon { }; - - gnome-control-center = callPackage ./desktop/gnome-control-center { }; - gtksourceview = callPackage ./desktop/gtksourceview { }; gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { }; diff --git a/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix deleted file mode 100644 index c4f6ad8207c..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-control-center/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, dbus-glib, libxml2Python, libxslt, libxklavier, popt, which, python -, shared-mime-info, desktop-file-utils, libunique, libtool, bzip2 -, gtk, gnome-doc-utils, intltool, GConf, libglade, libgnomeui, libgnomekbd -, librsvg, gnome_menus, gnome-desktop, gnome_panel, metacity, gnome-settings-daemon -, libSM, docbook_xml_dtd_412 }: - -stdenv.mkDerivation { - name = "gnome-control-center-2.32.1"; - - src = fetchurl { - url = mirror://gnome/sources/gnome-control-center/2.32/gnome-control-center-2.32.1.tar.bz2; - sha256 = "0rkyg6naidql0nv74608mlsr2lzjgnndnxnxv3s0hp4f6mbqnmkw"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ dbus-glib libxml2Python libxslt libxklavier popt which python shared-mime-info desktop-file-utils - gtk gnome-doc-utils intltool GConf libglade libgnomekbd libunique libtool bzip2 - libgnomeui librsvg gnome_menus gnome-desktop gnome_panel metacity gnome-settings-daemon - libSM docbook_xml_dtd_412 - ]; - configureFlags = "--disable-scrollkeeper"; -} diff --git a/pkgs/desktops/gnome-2/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-desktop/default.nix deleted file mode 100644 index b99f23555d3..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-desktop/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gtk -, intltool, GConf, gnome-doc-utils}: - -stdenv.mkDerivation { - name = "gnome-desktop-2.32.1"; - - src = fetchurl { - url = mirror://gnome/sources/gnome-desktop/2.32/gnome-desktop-2.32.1.tar.bz2; - sha256 = "17bkng6ay37n3492lr9wpb49kms6gh554rn9gbjs27zygvvfrjsm"; - }; - - configureFlags = "--disable-scrollkeeper"; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ python libxml2Python libxslt which libX11 gtk - intltool GConf gnome-doc-utils ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix deleted file mode 100644 index 26f3f624a04..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, -gtk, intltool, GConf, libgnome-keyring }: - -stdenv.mkDerivation { - name = "gnome-keyring-2.30.3"; - - src = fetchurl { - url = mirror://gnome/sources/gnome-keyring/2.30/gnome-keyring-2.30.3.tar.bz2; - sha256 = "02r9gv3a4a705jf3h7c0bizn33c73wz0iw2500m7z291nrnmqkmj"; - }; - - buildInputs = [ dbus libgcrypt pam python gtk GConf libgnome-keyring ]; - - propagatedBuildInputs = [ glib libtasn1 ]; - - nativeBuildInputs = [ pkgconfig intltool ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/gnome-menus/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-menus/default.nix deleted file mode 100644 index 0dcb409e0aa..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-menus/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, pkgconfig, python, glib, intltool}: - -stdenv.mkDerivation { - name = "gnome-menus-2.30.5"; - - src = fetchurl { - url = mirror://gnome/sources/gnome-menus/2.30/gnome-menus-2.30.5.tar.bz2; - sha256 = "1ajckii51spmkgfc0168c56x0syz5vwb2fp8b81c5s6n0r85dk3d"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ python glib intltool ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix deleted file mode 100644 index 3bef218740c..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, dbus-glib, popt, which, libxml2Python, libxslt, bzip2, python -, gtk, libXau, libcanberra-gtk2 -, intltool, ORBit2, libglade, libgnome, libgnomeui, libbonobo, libbonoboui, GConf, gnome_menus, gnome-desktop -, libwnck, librsvg, libgweather, gnome-doc-utils, libtasn1, libtool, xorg }: - -stdenv.mkDerivation { - name = "gnome-panel-2.32.1"; - - src = fetchurl { - url = mirror://gnome/sources/gnome-panel/2.32/gnome-panel-2.32.1.tar.bz2; - sha256 = "0pyakxyixmcp1yhi8r1q6adhamh2waj48y397fkigj11gbmjhy4g"; - }; - - buildInputs = - [ gtk dbus-glib popt libxml2Python libxslt bzip2 python libXau intltool - ORBit2 libglade libgnome libgnomeui libbonobo libbonoboui GConf - gnome_menus gnome-desktop libwnck librsvg libgweather gnome-doc-utils - libtasn1 libtool libcanberra-gtk2 xorg.libICE xorg.libSM - ]; - - nativeBuildInputs = [ pkgconfig intltool which ]; - - configureFlags = [ "--disable-scrollkeeper" "--disable-introspection"/*not useful AFAIK*/ ]; - - NIX_CFLAGS_COMPILE="-I${GConf.dev}/include/gconf/2"; -} diff --git a/pkgs/desktops/gnome-2/desktop/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-settings-daemon/default.nix deleted file mode 100644 index 9712ce64841..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gnome-settings-daemon/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, dbus-glib, libxklavier, gtk -, intltool, GConf, gnome-desktop, libglade, libgnomekbd, polkit, libpulseaudio -, libSM }: - -stdenv.mkDerivation { - name = "gnome-settings-daemon-2.32.1"; - - src = fetchurl { - url = mirror://gnome/sources/gnome-settings-daemon/2.32/gnome-settings-daemon-2.32.1.tar.bz2; - sha256 = "11jyn10w2p2a76pjrkd0pjl1w406df821p053awklvmdqgzb6x00"; - }; - - buildInputs = - [ dbus-glib libxklavier gtk GConf gnome-desktop libglade libgnomekbd polkit - libpulseaudio libSM - ]; - - nativeBuildInputs = [ pkgconfig intltool ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/libgnomekbd/default.nix b/pkgs/desktops/gnome-2/desktop/libgnomekbd/default.nix deleted file mode 100644 index b846ef888c4..00000000000 --- a/pkgs/desktops/gnome-2/desktop/libgnomekbd/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, pkgconfig, dbus-glib, libxklavier, glib, gtk, intltool, GConf, libglade}: - -stdenv.mkDerivation { - name = "libgnomekbd-2.32.0"; - - src = fetchurl { - url = mirror://gnome/sources/libgnomekbd/2.32/libgnomekbd-2.32.0.tar.bz2; - sha256 = "0mnjhdryx94c106fghzz01dyc1vlp16wn6sajvpxffnqqx62rmfx"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ dbus-glib libxklavier glib gtk intltool GConf libglade ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/libgweather/default.nix b/pkgs/desktops/gnome-2/desktop/libgweather/default.nix deleted file mode 100644 index 47f2b8c90fb..00000000000 --- a/pkgs/desktops/gnome-2/desktop/libgweather/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, GConf, libsoup, libtasn1, nettle, gmp }: - -assert stdenv ? glibc; - -stdenv.mkDerivation rec { - name = "libgweather-2.30.3"; - src = fetchurl { - url = "mirror://gnome/sources/libgweather/2.30/${name}.tar.bz2"; - sha256 = "0k16lpdyy8as8wgc5dqpy5b8i9i4mrl77qx8db23fgs2c533fddq"; - }; - configureFlags = "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo"; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libxml2 gtk intltool GConf libsoup libtasn1 nettle gmp ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix index c14ee25981c..1547c364b51 100644 --- a/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix +++ b/pkgs/desktops/gnome-2/desktop/mail-notification/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl gnonlin sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.gnome-keyring gnome2.scrollkeeper libxml2 gnome2.gnome_icon_theme hicolor-icon-theme tango-icon-theme ]; + buildInputs = [ glib dbus-glib gmime libnotify libgnome-keyring openssl cyrus_sasl gnonlin sylpheed gob2 gettext intltool gnome2.GConf gnome2.libgnomeui dbus-glib gmime libnotify gnome2.scrollkeeper libxml2 gnome2.gnome_icon_theme hicolor-icon-theme tango-icon-theme ]; prePatch = '' sed -i -e '/jb_rule_set_install_message/d' -e '/jb_rule_add_install_command/d' jbsrc/jb.c diff --git a/pkgs/desktops/gnome-2/desktop/metacity/default.nix b/pkgs/desktops/gnome-2/desktop/metacity/default.nix deleted file mode 100644 index 95dd97568f4..00000000000 --- a/pkgs/desktops/gnome-2/desktop/metacity/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, glib, gtk, libXcomposite, libXcursor, libXdamage -, libcanberra-gtk2, intltool, GConf, startup_notification, zenity, gnome-doc-utils -, gsettings-desktop-schemas }: - -stdenv.mkDerivation { - name = "metacity-2.30.3"; - - src = fetchurl { - url = mirror://gnome/sources/metacity/2.30/metacity-2.30.3.tar.bz2; - sha256 = "1p8qzj967mmlwdl6gv9vb2vzs19czvivl0sd337lgr55iw0qgy08"; - }; - - buildInputs = - [ pkgconfig glib gtk libXcomposite libXcursor libXdamage libcanberra-gtk2 - intltool GConf startup_notification zenity gnome-doc-utils - gsettings-desktop-schemas - ]; -} diff --git a/pkgs/desktops/gnome-2/desktop/zenity/default.nix b/pkgs/desktops/gnome-2/desktop/zenity/default.nix deleted file mode 100644 index 0233f6340f5..00000000000 --- a/pkgs/desktops/gnome-2/desktop/zenity/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, libxslt, gtk -, gnome-doc-utils, intltool, libglade, libX11, which, docbook_xml_dtd_412 }: - -stdenv.mkDerivation { - name = "zenity-2.32.1"; - - src = fetchurl { - url = mirror://gnome/sources/zenity/2.32/zenity-2.32.1.tar.bz2; - sha256 = "1b0qxb07wif0ds1pl8xk3fq9p874j89rf718lii4ndh7382bwf48"; - }; - - configureFlags = "--disable-scrollkeeper"; - buildInputs = [ gtk libglade libxml2 libxslt libX11 docbook_xml_dtd_412 ]; - - nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which ]; - - doCheck = false; # fails, tries to access the net -} diff --git a/pkgs/desktops/gnome-2/platform/at-spi/default.nix b/pkgs/desktops/gnome-2/platform/at-spi/default.nix deleted file mode 100644 index 9bcc9ab6cab..00000000000 --- a/pkgs/desktops/gnome-2/platform/at-spi/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, fetchurl, python, pkgconfig, popt, atk, gtk, libX11, libICE, libXtst, libXi -, intltool, libbonobo, ORBit2, GConf, dbus-glib }: - -stdenv.mkDerivation { - name = "at-spi-1.32.0"; - - src = fetchurl { - url = mirror://gnome/sources/at-spi/1.32/at-spi-1.32.0.tar.bz2; - sha256 = "0fbh0afzw1gm4r2w68b8l0vhnia1qyzdl407vyxfw4v4fkm1v16c"; - }; - - hardeningDisable = [ "format" ]; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ python popt atk gtk libX11 libICE libXtst libXi - intltool libbonobo ORBit2 GConf dbus-glib ]; -} diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs-monikers/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs-monikers/default.nix deleted file mode 100644 index 5ae126df331..00000000000 --- a/pkgs/desktops/gnome-2/platform/gnome-vfs-monikers/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{stdenv, fetchurl, pkgconfig, glib, intltool, gnome_vfs, libbonobo}: - -stdenv.mkDerivation { - name = "gnome-vfs-monikers-2.15.3"; - src = fetchurl { - url = mirror://gnome/sources/gnome-vfs-monikers/2.15/gnome-vfs-monikers-2.15.3.tar.bz2; - sha256 = "0gpgk5vwhgqfhrd8pf1314kh7sv3jfqll2xbdbrs5s5sxy3v7b15"; - }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glib intltool gnome_vfs libbonobo ]; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix index 13f4b1ef638..e909a356866 100644 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix @@ -1,27 +1,26 @@ { stdenv, fetchurl, pkgconfig, libxslt, which, libX11, gnome3, gtk3, glib -, intltool, gnome-doc-utils, xkeyboard_config, isocodes, itstool, wayland -, libseccomp, bubblewrap, gobjectIntrospection }: +, intltool, libxml2, xkeyboard_config, isocodes, itstool, wayland +, libseccomp, bubblewrap, gobjectIntrospection, gtk-doc, docbook_xsl }: stdenv.mkDerivation rec { name = "gnome-desktop-${version}"; version = "3.28.2"; + outputs = [ "out" "dev" "devdoc" ]; + src = fetchurl { url = "mirror://gnome/sources/gnome-desktop/${gnome3.versionBranch version}/${name}.tar.xz"; sha256 = "0c439hhpfd9axmv4af6fzhibksh69pnn2nnbghbbqqbwy6zqfl30"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-desktop"; attrPath = "gnome3.gnome-desktop"; }; - }; - - # this should probably be setuphook for glib + # TODO: remove with 3.30 NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; nativeBuildInputs = [ - pkgconfig which itstool intltool libxslt gnome-doc-utils gobjectIntrospection + pkgconfig which itstool intltool libxslt libxml2 gobjectIntrospection + gtk-doc docbook_xsl ]; buildInputs = [ libX11 bubblewrap xkeyboard_config isocodes wayland @@ -34,11 +33,22 @@ stdenv.mkDerivation rec { ./bubblewrap-paths.patch ]; + configureFlags = [ + "--enable-gtk-doc" + ]; + postPatch = '' substituteInPlace libgnome-desktop/gnome-desktop-thumbnail-script.c --subst-var-by \ BUBBLEWRAP_BIN "${bubblewrap}/bin/bwrap" ''; + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-desktop"; + attrPath = "gnome3.gnome-desktop"; + }; + }; + meta = with stdenv.lib; { description = "Library with common API for various GNOME modules"; license = with licenses; [ gpl2 lgpl2 ]; diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix index d224f056170..a0318514c9b 100644 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, gnome3 -, gnome-doc-utils, intltool, which, libuuid, vala -, desktop-file-utils, itstool, wrapGAppsHook, appdata-tools }: +{ stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus +, gtk, gsettings-desktop-schemas, vte, intltool, which, libuuid, vala +, desktop-file-utils, itstool, wrapGAppsHook }: stdenv.mkDerivation rec { name = "gnome-terminal-${version}"; @@ -11,15 +11,16 @@ stdenv.mkDerivation rec { sha256 = "0ybjansg6lr279191w8z8r45gy4rxwzw1ajm98cgkv0fk2jdr0x2"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-terminal"; attrPath = "gnome3.gnome-terminal"; }; - }; + buildInputs = [ + gtk gsettings-desktop-schemas vte libuuid dconf + # For extension + nautilus + ]; - buildInputs = [ gnome3.gtk gnome3.gsettings-desktop-schemas gnome3.vte appdata-tools - gnome3.dconf itstool gnome3.nautilus ]; - - nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which libuuid libxml2 - vala desktop-file-utils wrapGAppsHook ]; + nativeBuildInputs = [ + pkgconfig intltool itstool which libxml2 + vala desktop-file-utils wrapGAppsHook + ]; # Silly ./configure, it looks for dbus file from gnome-shell in the # installation tree of the package it is configuring. @@ -28,15 +29,22 @@ stdenv.mkDerivation rec { substituteInPlace src/Makefile.in --replace '$(dbusinterfacedir)/org.gnome.ShellSearchProvider2.xml' "${gnome3.gnome-shell}/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml" ''; - # FIXME: enable for gnome3 - configureFlags = [ "--disable-migration" ]; + configureFlags = [ "--disable-migration" ]; # TODO: remove this with 3.30 + + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-terminal"; + attrPath = "gnome3.gnome-terminal"; + }; + }; enableParallelBuilding = true; meta = with stdenv.lib; { description = "The GNOME Terminal Emulator"; - homepage = https://wiki.gnome.org/Apps/Terminal/; + homepage = https://wiki.gnome.org/Apps/Terminal; platforms = platforms.linux; + license = licenses.gpl3Plus; maintainers = gnome3.maintainers; }; } diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix index 861702a3986..797eb00bd3f 100644 --- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix +++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix @@ -1,6 +1,7 @@ -{ stdenv, intltool, fetchFromGitLab, pkgconfig, gtk3, defaultIconTheme -, glib, desktop-file-utils, appdata-tools, gtk-doc, autoconf, automake, libtool -, wrapGAppsHook, gnome3, itstool, libxml2 +{ stdenv, intltool, fetchFromGitLab, fetchpatch, pkgconfig, gtk3, defaultIconTheme +, glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool +, wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools +, docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas , callPackage, unzip, gobjectIntrospection }: let @@ -9,6 +10,8 @@ in stdenv.mkDerivation rec { name = "gucharmap-${version}"; version = "11.0.1"; + outputs = [ "out" "lib" "dev" "devdoc" ]; + src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; @@ -17,16 +20,26 @@ in stdenv.mkDerivation rec { sha256 = "13iw4fa6mv8vi8bkwk0bbhamnzbaih0c93p4rh07khq6mxa6hnpi"; }; - nativeBuildInputs = [ - pkgconfig wrapGAppsHook unzip intltool itstool appdata-tools - autoconf automake libtool gtk-doc - gnome3.yelp-tools libxml2 desktop-file-utils gobjectIntrospection + patches = [ + # Fix locale path to allow split outputs + # https://gitlab.gnome.org/GNOME/gucharmap/issues/10 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gucharmap/commit/b2b03f16aa869ac0ec1a05c55c4d4e4c4b513576.patch; + sha256 = "1543mcyz96x23m9pzx04ny15m4a2pqmiksl1y5r51k3sw4fyisci"; + }) ]; - buildInputs = [ gtk3 glib gnome3.gsettings-desktop-schemas defaultIconTheme ]; + nativeBuildInputs = [ + pkgconfig wrapGAppsHook unzip intltool itstool + autoconf automake libtool gtk-doc docbook_xsl docbook_xml_dtd_412 + yelp-tools libxml2 desktop-file-utils gobjectIntrospection + ]; + + buildInputs = [ gtk3 glib gsettings-desktop-schemas defaultIconTheme ]; configureFlags = [ "--with-unicode-data=${unicode-data}" + "--enable-gtk-doc" ]; doCheck = true; diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index ce542e7f88b..478dfc5d9f4 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -187,31 +187,31 @@ lib.makeScope pkgs.newScope (self: with self; { nautilus = callPackage ./core/nautilus { }; networkmanager-openvpn = pkgs.networkmanager-openvpn.override { - inherit gnome3; + withGnome = true; }; networkmanager-vpnc = pkgs.networkmanager-vpnc.override { - inherit gnome3; + withGnome = true; }; networkmanager-openconnect = pkgs.networkmanager-openconnect.override { - inherit gnome3; + withGnome = true; }; networkmanager-fortisslvpn = pkgs.networkmanager-fortisslvpn.override { - inherit gnome3; + withGnome = true; }; networkmanager-l2tp = pkgs.networkmanager-l2tp.override { - inherit gnome3; + withGnome = true; }; networkmanager-iodine = pkgs.networkmanager-iodine.override { - inherit gnome3; + withGnome = true; }; networkmanagerapplet = pkgs.networkmanagerapplet.override { - inherit gnome3 gsettings-desktop-schemas glib-networking; + withGnome = true; }; rest = callPackage ./core/rest { }; @@ -373,10 +373,18 @@ lib.makeScope pkgs.newScope (self: with self; { gexiv2 = callPackage ./misc/gexiv2 { }; + gnome-applets = callPackage ./misc/gnome-applets { }; + + gnome-flashback = callPackage ./misc/gnome-flashback { }; + + gnome-panel = callPackage ./misc/gnome-panel { }; + gnome-tweaks = callPackage ./misc/gnome-tweaks { }; gpaste = callPackage ./misc/gpaste { }; + metacity = callPackage ./misc/metacity { }; + pidgin-im-gnome-shell-extension = callPackage ./misc/pidgin { }; gtkhtml = callPackage ./misc/gtkhtml { }; diff --git a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix new file mode 100644 index 00000000000..cbf8bc9707b --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix @@ -0,0 +1,110 @@ +{ stdenv +, fetchurl +, fetchpatch +, autoreconfHook +, intltool +, itstool +, libxml2 +, libxslt +, pkgconfig +, gnome-panel +, gtk3 +, glib +, libwnck3 +, libgtop +, libnotify +, upower +, dbus-glib +, wirelesstools +, linuxPackages +, adwaita-icon-theme +, libgweather +, gucharmap +, gnome-settings-daemon +, tracker +, polkit +, gnome3 +}: + +let + pname = "gnome-applets"; + version = "3.28.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0wd6pirv57rcxm5d32r1s3ni7sp26gnqd4qhjciw0pn5ak627y5h"; + }; + + patches = [ + # https://github.com/NixOS/nixpkgs/issues/36468 + # https://gitlab.gnome.org/GNOME/gnome-applets/issues/3 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-applets/commit/1ee719581c33d7d640ae9f656e4e9b192bafef78.patch; + sha256 = "05wim7d2ii3pxph3n3am76cvnxmkfpggk0cpy8p5xgm3hcibwfrf"; + }) + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-applets/commit/1fa778b01f0e6b70678b0e5755ca0ed7a093fa75.patch; + sha256 = "0kppqywn0ab18p64ixz0b58cn5bpqf0xy71bycldlc5ybpdx5mq0"; + }) + + # https://gitlab.gnome.org/GNOME/gnome-applets/issues/4 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-applets/commit/e14482a90e6113f211e9328d8c39a69bdf5111d8.patch; + sha256 = "10ac0kk38hxqh8yvdlriyyv809qrxbpy9ihp01gizhiw7qpz97ff"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook + intltool + itstool + pkgconfig + libxml2 + libxslt + ]; + + buildInputs = [ + gnome-panel + gtk3 + glib + libxml2 + libwnck3 + libgtop + libnotify + upower + dbus-glib + adwaita-icon-theme + libgweather + gucharmap + gnome-settings-daemon + tracker + polkit + wirelesstools + linuxPackages.cpupower + ]; + + enableParallelBuilding = true; + + doCheck = true; + + configureFlags = [ + "--with-libpanel-applet-dir=$(out)/share/gnome-panel/applets" + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "Applets for use with the GNOME panel"; + homepage = https://wiki.gnome.org/Projects/GnomeApplets; + license = licenses.gpl2Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix new file mode 100644 index 00000000000..f3f2cf99257 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, autoreconfHook +, fetchurl +, fetchpatch +, gettext +, glib +, gnome-bluetooth +, gnome-desktop +, gnome-session +, gnome3 +, gsettings-desktop-schemas +, gtk +, ibus +, intltool +, libcanberra-gtk3 +, libpulseaudio +, libxkbfile +, libxml2 +, metacity +, pkgconfig +, polkit +, substituteAll +, upower +, xkeyboard_config }: + +let + pname = "gnome-flashback"; + version = "3.28.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1ra8bfwgwqw47zx2h1q999g7l4dnqh7sv02if3zk8pkw3sm769hg"; + }; + + patches =[ + (substituteAll { + src = ./fix-paths.patch; + inherit metacity; + gnomeSession = gnome-session; + }) + + # https://github.com/NixOS/nixpkgs/issues/36468 + # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/3 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/eabd34f64adc43b8783920bd7a2177ce21f83fbc.patch; + sha256 = "116c5zy8cp7d06mrsn943q7vj166086jzrfzfqg7yli14pmf9w1a"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook + gettext + libxml2 + pkgconfig + ]; + + buildInputs = [ + glib + gnome-bluetooth + gnome-desktop + gsettings-desktop-schemas + gtk + ibus + libcanberra-gtk3 + libpulseaudio + libxkbfile + polkit + upower + xkeyboard_config + ]; + + doCheck = true; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "GNOME 2.x-like session for GNOME 3"; + homepage = https://wiki.gnome.org/Projects/GnomeFlashback; + license = licenses.gpl2; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch b/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch new file mode 100644 index 00000000000..9d5add233d6 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch @@ -0,0 +1,30 @@ +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -22,7 +22,7 @@ + echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \ + echo ' export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \ + echo 'fi' && echo '' && \ +- echo 'exec gnome-session --session=gnome-flashback-compiz "$$@"') > $@ ++ echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-compiz "$$@"') > $@ + $(AM_V_at) chmod a+x $@ + + gnome-flashback-metacity: Makefile +@@ -30,7 +30,7 @@ + echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \ + echo ' export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \ + echo 'fi' && echo '' && \ +- echo 'exec gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@ ++ echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@ + $(AM_V_at) chmod a+x $@ + + CLEANFILES = \ +--- a/data/xsessions/gnome-flashback-metacity.desktop.in.in ++++ b/data/xsessions/gnome-flashback-metacity.desktop.in.in +@@ -2,6 +2,6 @@ + Name=GNOME Flashback (Metacity) + Comment=This session logs you into GNOME Flashback with Metacity + Exec=@libexecdir@/gnome-flashback-metacity +-TryExec=metacity ++TryExec=@metacity@/bin/metacity + Type=Application + DesktopNames=GNOME-Flashback;GNOME; diff --git a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix new file mode 100644 index 00000000000..5c40b4c8f44 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, fetchurl +, autoreconfHook +, fetchpatch +, dconf +, evolution-data-server +, gdm +, gettext +, glib +, gnome-desktop +, gnome-menus +, gnome3 +, gtk +, itstool +, libgweather +, libsoup +, libwnck3 +, libxml2 +, pkgconfig +, polkit +, systemd +, wrapGAppsHook }: + +let + pname = "gnome-panel"; + version = "3.28.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + outputs = [ "out" "dev" "man" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1004cp9cxqpic9lsraqn5c1739acn4sn4ql3c1fja99hv22h1ziv"; + }; + + patches = [ + # https://github.com/NixOS/nixpkgs/issues/36468 + # https://gitlab.gnome.org/GNOME/gnome-panel/issues/6 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-panel/commit/be26e170a10c297949a6d9f3cbc70b6caaf04b56.patch; + sha256 = "10gxl9fwbv5j0s1lz7gkz6wqpda5wfzs49r5khbk1h05lv0hk4l4"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook + gettext + itstool + libxml2 + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + dconf + evolution-data-server + gdm + glib + gnome-desktop + gnome-menus + gtk + libgweather + libsoup + libwnck3 + polkit + systemd + ]; + + configureFlags = [ + "--enable-eds" + ]; + + enableParallelBuilding = true; + + doCheck = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "Component of Gnome Flashback that provides panels and default applets for the desktop"; + homepage = https://wiki.gnome.org/Projects/GnomePanel; + license = licenses.gpl2Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/metacity/default.nix b/pkgs/desktops/gnome-3/misc/metacity/default.nix new file mode 100644 index 00000000000..46ff2c11813 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/metacity/default.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchurl +, gettext +, glib +, gnome3 +, gsettings-desktop-schemas +, gtk +, libcanberra-gtk3 +, libgtop +, libstartup_notification +, libxml2 +, pkgconfig +, substituteAll +, wrapGAppsHook +, zenity }: + +let + pname = "metacity"; + version = "3.28.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0kzap0lzlkcgkna3h426xgwrn2zpipy8cfsxpfynnaf74vyas3aw"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit zenity; + }) + ]; + + nativeBuildInputs = [ + gettext + libxml2 + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + glib + gsettings-desktop-schemas + gtk + libcanberra-gtk3 + libgtop + libstartup_notification + zenity + ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Window manager used in Gnome Flashback"; + homepage = https://wiki.gnome.org/Projects/Metacity; + license = licenses.gpl2; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch b/pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch new file mode 100644 index 00000000000..ff3a244e67d --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -424,7 +424,7 @@ + g_slist_length (columns)*2 + + g_slist_length (entries))); + +- argvl[i++] = "zenity"; ++ argvl[i++] = "@zenity@/bin/zenity"; + argvl[i++] = type; + argvl[i++] = "--display"; + argvl[i++] = display; diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index 408436ca618..9b5c3d530eb 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, cmake, zlib, openssl, libsodium }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake, zlib, openssl, libsodium }: stdenv.mkDerivation rec { name = "libssh-0.7.5"; @@ -8,6 +8,16 @@ stdenv.mkDerivation rec { sha256 = "15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l"; }; + patches = [ + # Fix mysql-workbench compilation + # https://bugs.mysql.com/bug.php?id=91923 + (fetchpatch { + name = "include-fix-segfault-in-getissuebanner-add-missing-wrappers-in-libsshpp.patch"; + url = https://git.libssh.org/projects/libssh.git/patch/?id=5ea81166bf885d0fd5d4bb232fc22633f5aaf3c4; + sha256 = "12q818l3nasqrfrsghxdvjcyya1bfcg0idvsf8xwm5zj7criln0a"; + }) + ]; + postPatch = '' # Fix headers to use libsodium instead of NaCl sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c diff --git a/pkgs/development/tools/parsing/antlr/4.7.nix b/pkgs/development/tools/parsing/antlr/4.7.nix index e097b5b3d5a..463ea3199b2 100644 --- a/pkgs/development/tools/parsing/antlr/4.7.nix +++ b/pkgs/development/tools/parsing/antlr/4.7.nix @@ -1,41 +1,79 @@ -{stdenv, fetchurl, jre}: +{ stdenv, fetchurl, jre +, fetchFromGitHub, cmake, ninja, pkgconfig, libuuid, darwin }: -stdenv.mkDerivation rec { - name = "antlr-${version}"; +let version = "4.7.1"; - src = fetchurl { - url ="https://www.antlr.org/download/antlr-${version}-complete.jar"; - sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl"; + source = fetchFromGitHub { + owner = "antlr"; + repo = "antlr4"; + rev = version; + sha256 = "1xb4d9bd4hw406v85s64gg8gwcrrsrw171vhga1gz4xj6pzfwxz7"; }; - unpackPhase = "true"; - - installPhase = '' - mkdir -p "$out"/{share/java,bin} - cp "$src" "$out/share/java/antlr-${version}-complete.jar" + runtime = { + cpp = stdenv.mkDerivation { + name = "antlr-runtime-cpp-${version}"; + src = source; - echo "#! ${stdenv.shell}" >> "$out/bin/antlr" - echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr" - - echo "#! ${stdenv.shell}" >> "$out/bin/grun" - echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun" + outputs = [ "out" "dev" "doc" ]; - chmod a+x "$out/bin/antlr" "$out/bin/grun" - ln -s "$out/bin/antlr"{,4} - ''; + nativeBuildInputs = [ cmake ninja pkgconfig ]; + buildInputs = stdenv.lib.optional stdenv.isLinux libuuid + ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreFoundation; - inherit jre; + postUnpack = '' + export sourceRoot=$sourceRoot/runtime/Cpp + ''; - meta = with stdenv.lib; { - description = "Powerful parser generator"; - longDescription = '' - ANTLR (ANother Tool for Language Recognition) is a powerful parser - generator for reading, processing, executing, or translating structured - text or binary files. It's widely used to build languages, tools, and - frameworks. From a grammar, ANTLR generates a parser that can build and - walk parse trees. + meta = with stdenv.lib; { + description = "C++ target for ANTLR 4"; + homepage = http://www.antlr.org/; + platforms = platforms.unix; + }; + }; + }; + + antlr = stdenv.mkDerivation { + name = "antlr-${version}"; + src = fetchurl { + url ="https://www.antlr.org/download/antlr-${version}-complete.jar"; + sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl"; + }; + + unpackPhase = "true"; + + installPhase = '' + mkdir -p "$out"/{share/java,bin} + cp "$src" "$out/share/java/antlr-${version}-complete.jar" + + echo "#! ${stdenv.shell}" >> "$out/bin/antlr" + echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr" + + echo "#! ${stdenv.shell}" >> "$out/bin/grun" + echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun" + + chmod a+x "$out/bin/antlr" "$out/bin/grun" + ln -s "$out/bin/antlr"{,4} ''; - homepage = http://www.antlr.org/; - platforms = platforms.unix; + + inherit jre; + + passthru = { + inherit runtime; + jarLocation = "${antlr}/share/java/antlr-${version}-complete.jar"; + }; + + meta = with stdenv.lib; { + description = "Powerful parser generator"; + longDescription = '' + ANTLR (ANother Tool for Language Recognition) is a powerful parser + generator for reading, processing, executing, or translating structured + text or binary files. It's widely used to build languages, tools, and + frameworks. From a grammar, ANTLR generates a parser that can build and + walk parse trees. + ''; + homepage = http://www.antlr.org/; + platforms = platforms.unix; + }; }; -} +in antlr diff --git a/pkgs/tools/misc/appdata-tools/default.nix b/pkgs/tools/misc/appdata-tools/default.nix deleted file mode 100644 index 7ceafe12793..00000000000 --- a/pkgs/tools/misc/appdata-tools/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, autoconf, automake, m4 -, intltool, glib, libsoup, gdk_pixbuf }: - -stdenv.mkDerivation rec { - version = "0_1_7"; - name = "appdata_tools-${version}"; - - src = fetchurl { - url = "https://github.com/hughsie/appdata-tools/archive/appdata_tools_${version}.tar.gz"; - sha256 = "1bzqg4gy8gqhbk2qjizsm0b78li9mv84fb3d8qwfpxh7c7p360x8"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ autoconf automake m4 intltool glib - libsoup gdk_pixbuf ]; - - configureScript = "./autogen.sh"; - - meta = with stdenv.lib; { - homepage = https://people.freedesktop.org/~hughsient/appdata; - description = "CLI designed to validate AppData descriptions for standards compliance and to the style guide"; - platforms = platforms.linux; - license = licenses.gpl2; - maintainers = with maintainers; [ lethalman ]; - }; -} diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix index 52e350c6319..0b6a7e622a8 100644 --- a/pkgs/tools/networking/network-manager/applet.nix +++ b/pkgs/tools/networking/network-manager/applet.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3 , libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas -, libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk, gobjectIntrospection +, libgudev, jansson, wrapGAppsHook, gobjectIntrospection , libappindicator-gtk3, withGnome ? false }: let @@ -15,27 +15,28 @@ in stdenv.mkDerivation rec { sha256 = "0lmlkh4yyl9smvkgrzshn127zqfbp9f41f448ks8dlhhm38s38v2"; }; + patches = [ + # https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/19 + ./libnm-gtk-mbpi.patch + ]; + mesonFlags = [ "-Dselinux=false" "-Dappindicator=yes" "-Dgcr=${if withGnome then "true" else "false"}" ]; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "lib" "dev" "devdoc" "man" ]; buildInputs = [ gnome3.gtk networkmanager libnotify libsecret gsettings-desktop-schemas polkit isocodes mobile-broadband-provider-info libgudev modemmanager jansson glib-networking libappindicator-gtk3 - ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr webkitgtk ]; + ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr ]; # advanced certificate chooser nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobjectIntrospection gtk-doc docbook_xsl libxml2 ]; - propagatedUserEnvPkgs = [ - hicolor-icon-theme - ]; - postPatch = '' chmod +x meson_post_install.py # patchShebangs requires executable file patchShebangs meson_post_install.py diff --git a/pkgs/tools/networking/network-manager/fortisslvpn.nix b/pkgs/tools/networking/network-manager/fortisslvpn.nix deleted file mode 100644 index ab49514d720..00000000000 --- a/pkgs/tools/networking/network-manager/fortisslvpn.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, openfortivpn, automake, autoconf, libtool, intltool, pkgconfig, -networkmanager, ppp, libsecret, withGnome ? true, gnome3 }: - -let - pname = "NetworkManager-fortisslvpn"; - version = "1.2.8"; -in stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "01gvdv9dknvzx05plq863jh1xz1v8vgj5w7v9fmw5v601ggybf4w"; - }; - - buildInputs = [ openfortivpn networkmanager ppp libtool libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring gnome3.networkmanagerapplet ]; - - nativeBuildInputs = [ automake autoconf intltool pkgconfig ]; - - configureFlags = [ - "${if withGnome then "--with-gnome" else "--without-gnome"}" - "--disable-static" - "--localstatedir=/tmp" - ]; - - preConfigure = '' - substituteInPlace "src/nm-fortisslvpn-service.c" \ - --replace "/bin/openfortivpn" "${openfortivpn}/bin/openfortivpn" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "networkmanager-fortisslvpn"; - }; - }; - - meta = { - description = "NetworkManager's FortiSSL plugin"; - inherit (networkmanager.meta) maintainers platforms; - }; -} - diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix new file mode 100644 index 00000000000..11b29081f9b --- /dev/null +++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, substituteAll, openfortivpn, intltool, pkgconfig, +networkmanager, ppp, libsecret, withGnome ? true, gnome3 }: + +let + pname = "NetworkManager-fortisslvpn"; + version = "1.2.8"; +in stdenv.mkDerivation rec { + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "01gvdv9dknvzx05plq863jh1xz1v8vgj5w7v9fmw5v601ggybf4w"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit openfortivpn; + }) + ]; + + buildInputs = [ openfortivpn networkmanager ppp ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ]; + + nativeBuildInputs = [ intltool pkgconfig ]; + + configureFlags = [ + "--with-gnome=${if withGnome then "yes" else "no"}" + "--localstatedir=/tmp" + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "networkmanager-fortisslvpn"; + }; + }; + + meta = with stdenv.lib; { + description = "NetworkManager's FortiSSL plugin"; + inherit (networkmanager.meta) maintainers platforms; + license = licenses.gpl2; + }; +} + diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch b/pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch new file mode 100644 index 00000000000..a1241b6738c --- /dev/null +++ b/pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/src/nm-fortisslvpn-service.c ++++ b/src/nm-fortisslvpn-service.c +@@ -387,7 +387,7 @@ + { + static const char *openfortivpn_binary_paths[] = + { +- "/bin/openfortivpn", ++ "@openfortivpn@/bin/openfortivpn", + "/usr/bin/openfortivpn", + "/usr/local/bin/openfortivpn", + NULL diff --git a/pkgs/tools/networking/network-manager/iodine.nix b/pkgs/tools/networking/network-manager/iodine.nix deleted file mode 100644 index cbc0e6e6d2d..00000000000 --- a/pkgs/tools/networking/network-manager/iodine.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, iodine, intltool, pkgconfig, networkmanager, libsecret -, withGnome ? true, gnome3 }: - -let - pname = "NetworkManager-iodine"; - version = "1.2.0"; -in stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0njdigakidji6mfmbsp8lfi8wl88z1dk8cljbva2w0xazyddbwyh"; - }; - - buildInputs = [ iodine networkmanager libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring - gnome3.networkmanagerapplet ]; - - nativeBuildInputs = [ intltool pkgconfig ]; - - # Fixes deprecation errors with networkmanager 1.10.2 - NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations"; - - configureFlags = [ - "${if withGnome then "--with-gnome" else "--without-gnome"}" - "--disable-static" - "--localstatedir=/" # needed for the management socket under /run/NetworkManager - ]; - - preConfigure = '' - substituteInPlace "src/nm-iodine-service.c" \ - --replace "/usr/bin/iodine" "${iodine}/bin/iodine" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "networkmanager-iodine"; - }; - }; - - meta = { - description = "NetworkManager's iodine plugin"; - inherit (networkmanager.meta) maintainers platforms; - }; -} diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix new file mode 100644 index 00000000000..a3dbeaf8265 --- /dev/null +++ b/pkgs/tools/networking/network-manager/iodine/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, substituteAll, iodine, intltool, pkgconfig, networkmanager, libsecret +, withGnome ? true, gnome3 }: + +let + pname = "NetworkManager-iodine"; + version = "1.2.0"; +in stdenv.mkDerivation rec { + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0njdigakidji6mfmbsp8lfi8wl88z1dk8cljbva2w0xazyddbwyh"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit iodine; + }) + ]; + + buildInputs = [ iodine networkmanager ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ]; + + nativeBuildInputs = [ intltool pkgconfig ]; + + # Fixes deprecation errors with networkmanager 1.10.2 + NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations"; + + configureFlags = [ + "--with-gnome=${if withGnome then "yes" else "no"}" + "--localstatedir=/" # needed for the management socket under /run/NetworkManager + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "networkmanager-iodine"; + }; + }; + + meta = with stdenv.lib; { + description = "NetworkManager's iodine plugin"; + inherit (networkmanager.meta) maintainers platforms; + license = licenses.gpl2Plus; + }; +} diff --git a/pkgs/tools/networking/network-manager/iodine/fix-paths.patch b/pkgs/tools/networking/network-manager/iodine/fix-paths.patch new file mode 100644 index 00000000000..d32dbfadbaf --- /dev/null +++ b/pkgs/tools/networking/network-manager/iodine/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/src/nm-iodine-service.c ++++ b/src/nm-iodine-service.c +@@ -62,7 +62,7 @@ + + static const char *iodine_binary_paths[] = + { +- "/usr/bin/iodine", ++ "@iodine@/bin/iodine", + "/usr/sbin/iodine", + "/usr/local/bin/iodine", + "/usr/local/sbin/iodine", diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix deleted file mode 100644 index 54670ff1bce..00000000000 --- a/pkgs/tools/networking/network-manager/l2tp.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig -, networkmanager, ppp, xl2tpd, strongswan, libsecret -, withGnome ? true, gnome3, networkmanagerapplet }: - -stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; - pname = "NetworkManager-l2tp"; - version = "1.2.8"; - - src = fetchFromGitHub { - owner = "nm-l2tp"; - repo = "network-manager-l2tp"; - rev = "${version}"; - sha256 = "110157dpamgr7r5kb8aidi0a2ap9z2m52bff94fb4nhxacz69yv8"; - }; - - buildInputs = [ networkmanager ppp libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring networkmanagerapplet ]; - - nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig ]; - - postPatch = '' - sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-l2tp-service.c - - substituteInPlace ./Makefile.am \ - --replace '$(sysconfdir)/dbus-1/system.d' "$out/etc/dbus-1/system.d" - - substituteInPlace ./src/nm-l2tp-service.c \ - --replace /sbin/ipsec ${strongswan}/bin/ipsec \ - --replace /sbin/xl2tpd ${xl2tpd}/bin/xl2tpd - ''; - - preConfigure = '' - intltoolize -f - ''; - - configureFlags = [ - "--with-gnome=${if withGnome then "yes" else "no"}" - "--localstatedir=/var" - "--sysconfdir=$(out)/etc" - ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "L2TP plugin for NetworkManager"; - inherit (networkmanager.meta) platforms; - homepage = https://github.com/nm-l2tp/network-manager-l2tp; - license = licenses.gpl2; - maintainers = with maintainers; [ abbradar obadz ]; - }; -} diff --git a/pkgs/tools/networking/network-manager/l2tp/default.nix b/pkgs/tools/networking/network-manager/l2tp/default.nix new file mode 100644 index 00000000000..d48d2e910f5 --- /dev/null +++ b/pkgs/tools/networking/network-manager/l2tp/default.nix @@ -0,0 +1,48 @@ +{ stdenv, substituteAll, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig +, networkmanager, ppp, xl2tpd, strongswan, libsecret +, withGnome ? true, gnome3, networkmanagerapplet }: + +stdenv.mkDerivation rec { + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + pname = "NetworkManager-l2tp"; + version = "1.2.10"; + + src = fetchFromGitHub { + owner = "nm-l2tp"; + repo = "network-manager-l2tp"; + rev = "${version}"; + sha256 = "1vm004nj2n5abpywr7ji6r28scf7xs45zw4rqrm8jn7mysf96h0x"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit strongswan xl2tpd; + }) + ]; + + buildInputs = [ networkmanager ppp ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret networkmanagerapplet ]; + + nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig ]; + + preConfigure = '' + intltoolize -f + ''; + + configureFlags = [ + "--with-gnome=${if withGnome then "yes" else "no"}" + "--localstatedir=/var" + "--sysconfdir=$(out)/etc" + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "L2TP plugin for NetworkManager"; + inherit (networkmanager.meta) platforms; + homepage = https://github.com/nm-l2tp/network-manager-l2tp; + license = licenses.gpl2; + maintainers = with maintainers; [ abbradar obadz ]; + }; +} diff --git a/pkgs/tools/networking/network-manager/l2tp/fix-paths.patch b/pkgs/tools/networking/network-manager/l2tp/fix-paths.patch new file mode 100644 index 00000000000..0a068ee800c --- /dev/null +++ b/pkgs/tools/networking/network-manager/l2tp/fix-paths.patch @@ -0,0 +1,20 @@ +--- a/src/nm-l2tp-service.c ++++ b/src/nm-l2tp-service.c +@@ -480,7 +480,7 @@ + { + static const char *ipsec_binary_paths[] = + { +- "/sbin/ipsec", ++ "@strongswan@/bin/ipsec", + "/usr/sbin/ipsec", + "/usr/local/sbin/ipsec", + "/sbin/strongswan", +@@ -505,7 +505,7 @@ + { + static const char *l2tp_binary_paths[] = + { +- "/sbin/xl2tpd", ++ "@xl2tpd@/bin/xl2tpd", + "/usr/sbin/xl2tpd", + "/usr/local/sbin/xl2tpd", + NULL diff --git a/pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch b/pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch new file mode 100644 index 00000000000..d7eef5749db --- /dev/null +++ b/pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch @@ -0,0 +1,33 @@ +--- a/meson.build ++++ b/meson.build +@@ -137,7 +137,7 @@ + mobile_broadband_provider_info_dep = dependency('mobile-broadband-provider-info') + config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', mobile_broadband_provider_info_dep.get_pkgconfig_variable('database')) + else +- config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', join_paths(nma_prefix, 'share', 'mobile-broadband-provider-info', 'serviceproviders.xml')) ++ config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', join_paths(nma_datadir, 'mobile-broadband-provider-info', 'serviceproviders.xml')) + endif + + gio_dep = dependency('gio-2.0', version: '>= 2.38') +--- a/src/libnm-gtk/nm-mobile-providers.c ++++ b/src/libnm-gtk/nm-mobile-providers.c +@@ -30,10 +30,6 @@ + + #include "nm-mobile-providers.h" + +-#ifndef MOBILE_BROADBAND_PROVIDER_INFO +-#define MOBILE_BROADBAND_PROVIDER_INFO DATADIR"/mobile-broadband-provider-info/serviceproviders.xml" +-#endif +- + #define ISO_3166_COUNTRY_CODES ISO_CODES_PREFIX"/share/xml/iso-codes/iso_3166.xml" + #define ISO_CODES_LOCALESDIR ISO_CODES_PREFIX"/share/locale" + +@@ -990,7 +986,7 @@ + if (!country_codes) + country_codes = ISO_3166_COUNTRY_CODES; + if (!service_providers) +- service_providers = MOBILE_BROADBAND_PROVIDER_INFO; ++ service_providers = MOBILE_BROADBAND_PROVIDER_INFO_DATABASE; + + countries = read_country_codes (country_codes, + cancellable, diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect/default.nix similarity index 51% rename from pkgs/tools/networking/network-manager/openconnect.nix rename to pkgs/tools/networking/network-manager/openconnect/default.nix index ad15723dd33..23d4c816a20 100644 --- a/pkgs/tools/networking/network-manager/openconnect.nix +++ b/pkgs/tools/networking/network-manager/openconnect/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret -, withGnome ? true, gnome3, sysctl, kmod }: +{ stdenv, fetchurl, substituteAll, openconnect, intltool, pkgconfig, networkmanager, libsecret +, withGnome ? true, gnome3, kmod }: let pname = "NetworkManager-openconnect"; @@ -12,24 +12,22 @@ in stdenv.mkDerivation rec { sha256 = "15j98wwspv6mcmy91w30as5qc1bzsnhlk060xhjy4qrvd37y0xx1"; }; - buildInputs = [ openconnect networkmanager libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit kmod openconnect; + }) + ]; + + buildInputs = [ openconnect networkmanager ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret ]; nativeBuildInputs = [ intltool pkgconfig ]; configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" - "--disable-static" + "--with-gnome=${if withGnome then "yes" else "no"}" ]; - preConfigure = '' - substituteInPlace "configure" \ - --replace "/sbin/sysctl" "${sysctl}/bin/sysctl" - substituteInPlace "src/nm-openconnect-service.c" \ - --replace "/usr/sbin/openconnect" "${openconnect}/bin/openconnect" \ - --replace "/sbin/modprobe" "${kmod}/bin/modprobe" - ''; - passthru = { updateScript = gnome3.updateScript { packageName = pname; @@ -37,8 +35,9 @@ in stdenv.mkDerivation rec { }; }; - meta = { + meta = with stdenv.lib; { description = "NetworkManager's OpenConnect plugin"; inherit (networkmanager.meta) maintainers platforms; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/tools/networking/network-manager/openconnect/fix-paths.patch b/pkgs/tools/networking/network-manager/openconnect/fix-paths.patch new file mode 100644 index 00000000000..9b342f5bd08 --- /dev/null +++ b/pkgs/tools/networking/network-manager/openconnect/fix-paths.patch @@ -0,0 +1,20 @@ +--- a/src/nm-openconnect-service.c ++++ b/src/nm-openconnect-service.c +@@ -60,7 +60,7 @@ + + static const char *openconnect_binary_paths[] = + { +- "/usr/bin/openconnect", ++ "@openconnect@/bin/openconnect", + "/usr/sbin/openconnect", + "/usr/local/bin/openconnect", + "/usr/local/sbin/openconnect", +@@ -734,7 +734,7 @@ + + _LOGD ("nm-openconnect-service (version " DIST_VERSION ") starting..."); + +- if (system ("/sbin/modprobe tun") == -1) ++ if (system ("@kmod@/bin/modprobe tun") == -1) + exit (EXIT_FAILURE); + + if (bus_name) diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix index 28b7c873d36..8d3bd874718 100644 --- a/pkgs/tools/networking/network-manager/openvpn/default.nix +++ b/pkgs/tools/networking/network-manager/openvpn/default.nix @@ -2,13 +2,13 @@ , withGnome ? true, gnome3, kmod }: let - pname = "NetworkManager-openvpn"; + pname = "NetworkManager-openvpn"; version = "1.8.4"; in stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr"; }; @@ -19,15 +19,13 @@ in stdenv.mkDerivation rec { }) ]; - buildInputs = [ openvpn networkmanager libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring - gnome3.networkmanagerapplet ]; + buildInputs = [ openvpn networkmanager ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ]; nativeBuildInputs = [ intltool pkgconfig libxml2 ]; configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" - "--disable-static" + "--with-gnome=${if withGnome then "yes" else "no"}" "--localstatedir=/" # needed for the management socket under /run/NetworkManager ]; @@ -38,8 +36,9 @@ in stdenv.mkDerivation rec { }; }; - meta = { + meta = with stdenv.lib; { description = "NetworkManager's OpenVPN plugin"; inherit (networkmanager.meta) maintainers platforms; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix index fb3ba2bbdf5..fc10fc6364c 100644 --- a/pkgs/tools/networking/network-manager/strongswan.nix +++ b/pkgs/tools/networking/network-manager/strongswan.nix @@ -1,38 +1,35 @@ -{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, sysctl -, gnome3, libgnome-keyring, libsecret }: +{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM +, gnome3, libsecret }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "NetworkManager-strongswan"; - version = "1.4.3"; + name = "${pname}-${version}"; + pname = "NetworkManager-strongswan"; + version = "1.4.4"; src = fetchurl { - url = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2"; - sha256 = "0jzl52wmh2q2djb1s546kxliy7s6akhi5bx6rp2ppjfk3wbi2a2l"; + url = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2"; + sha256 = "1xhj5cipwbihf0cna8lpicpz7cd8fgkagpmg0xvj6pshymm5jbcd"; }; - postPatch = '' - sed -i "s,nm_plugindir=.*,nm_plugindir=$out/lib/NetworkManager," "configure" - sed -i "s,nm_libexecdir=.*,nm_libexecdir=$out/libexec," "configure" - ''; - buildInputs = [ networkmanager strongswanNM libsecret ] - ++ (with gnome3; [ gtk libgnome-keyring networkmanagerapplet ]); + ++ (with gnome3; [ gtk networkmanagerapplet ]); nativeBuildInputs = [ intltool pkgconfig ]; # Fixes deprecation errors with networkmanager 1.10.2 NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations"; - preConfigure = '' - substituteInPlace "configure" \ - --replace "/sbin/sysctl" "${sysctl}/bin/sysctl" - ''; + configureFlags = [ + "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm" + "--with-nm-libexecdir=$(out)/libexec" + "--with-nm-plugindir=$(out)/lib/NetworkManager" + ]; - configureFlags = [ "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm" ]; + PKG_CONFIG_LIBNM_VPNSERVICEDIR = "$(out)/lib/NetworkManager/VPN"; - meta = { + meta = with stdenv.lib; { description = "NetworkManager's strongswan plugin"; inherit (networkmanager.meta) platforms; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix deleted file mode 100644 index 577e04f6648..00000000000 --- a/pkgs/tools/networking/network-manager/vpnc.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret -, withGnome ? true, gnome3, procps, kmod, file }: -let - pname = "NetworkManager-vpnc"; - version = "1.2.6"; -in stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"; - }; - - buildInputs = [ vpnc networkmanager libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring - gnome3.networkmanagerapplet ]; - - nativeBuildInputs = [ intltool pkgconfig file ]; - - configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" - "--disable-static" - ]; - - preConfigure = '' - substituteInPlace "configure" \ - --replace "/sbin/sysctl" "${procps}/bin/sysctl" - substituteInPlace "src/nm-vpnc-service.c" \ - --replace "/sbin/vpnc" "${vpnc}/bin/vpnc" \ - --replace "/sbin/modprobe" "${kmod}/bin/modprobe" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "networkmanager-vpnc"; - }; - }; - - meta = { - description = "NetworkManager's VPNC plugin"; - inherit (networkmanager.meta) maintainers platforms; - }; -} - diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix new file mode 100644 index 00000000000..d2b3a345d49 --- /dev/null +++ b/pkgs/tools/networking/network-manager/vpnc/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret +, withGnome ? true, gnome3, kmod, file }: +let + pname = "NetworkManager-vpnc"; + version = "1.2.6"; +in stdenv.mkDerivation rec { + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit vpnc kmod; + }) + ]; + + buildInputs = [ vpnc networkmanager ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ]; + + nativeBuildInputs = [ intltool pkgconfig file ]; + + configureFlags = [ + "--with-gnome=${if withGnome then "yes" else "no"}" + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "networkmanager-vpnc"; + }; + }; + + meta = with stdenv.lib; { + description = "NetworkManager's VPNC plugin"; + inherit (networkmanager.meta) maintainers platforms; + license = licenses.gpl2Plus; + }; +} diff --git a/pkgs/tools/networking/network-manager/vpnc/fix-paths.patch b/pkgs/tools/networking/network-manager/vpnc/fix-paths.patch new file mode 100644 index 00000000000..98238ac01f7 --- /dev/null +++ b/pkgs/tools/networking/network-manager/vpnc/fix-paths.patch @@ -0,0 +1,31 @@ +--- a/properties/nm-vpnc-editor-plugin.c ++++ b/properties/nm-vpnc-editor-plugin.c +@@ -161,7 +161,7 @@ + GError *error = NULL; + + const char *decrypt_possible_paths[] = { +- "/usr/lib/vpnc/cisco-decrypt", ++ "@vpnc@/bin/cisco-decrypt", + "/usr/bin/cisco-decrypt", + NULL + }; +--- a/src/nm-vpnc-service.c ++++ b/src/nm-vpnc-service.c +@@ -610,7 +610,7 @@ + find_vpnc (void) + { + static const char *vpnc_paths[] = { +- "/usr/sbin/vpnc", ++ "@vpnc@/bin/vpnc", + "/sbin/vpnc", + "/usr/local/sbin/vpnc", + NULL +@@ -1308,7 +1308,7 @@ + _LOGD (" vpnc interactive mode is %s", interactive_available ? "enabled" : "disabled"); + _LOGD (" uses%s --bus-name \"%s\"", bus_name_free ? "" : " default", bus_name); + +- if (system ("/sbin/modprobe tun") == -1) ++ if (system ("@kmod@/bin/modprobe tun") == -1) + exit (EXIT_FAILURE); + + plugin = nm_vpnc_plugin_new (bus_name); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 35f10c345f3..fca205f120d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1547,8 +1547,6 @@ with pkgs; apparix = callPackage ../tools/misc/apparix { }; - appdata-tools = callPackage ../tools/misc/appdata-tools { }; - appleseed = callPackage ../tools/graphics/appleseed { }; arping = callPackage ../tools/networking/arping { }; @@ -4128,21 +4126,21 @@ with pkgs; networkmanager = callPackage ../tools/networking/network-manager { }; - networkmanager-iodine = callPackage ../tools/networking/network-manager/iodine.nix { }; + networkmanager-iodine = callPackage ../tools/networking/network-manager/iodine { }; networkmanager-openvpn = callPackage ../tools/networking/network-manager/openvpn { }; - networkmanager-l2tp = callPackage ../tools/networking/network-manager/l2tp.nix { }; + networkmanager-l2tp = callPackage ../tools/networking/network-manager/l2tp { }; - networkmanager-vpnc = callPackage ../tools/networking/network-manager/vpnc.nix { }; + networkmanager-vpnc = callPackage ../tools/networking/network-manager/vpnc { }; - networkmanager-openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { }; + networkmanager-openconnect = callPackage ../tools/networking/network-manager/openconnect { }; - networkmanager-fortisslvpn = callPackage ../tools/networking/network-manager/fortisslvpn.nix { }; + networkmanager-fortisslvpn = callPackage ../tools/networking/network-manager/fortisslvpn { }; networkmanager_strongswan = callPackage ../tools/networking/network-manager/strongswan.nix { }; - networkmanagerapplet = newScope gnome2 ../tools/networking/network-manager/applet.nix { }; + networkmanagerapplet = callPackage ../tools/networking/network-manager/applet.nix { }; networkmanager_dmenu = callPackage ../tools/networking/network-manager/dmenu.nix { }; @@ -15423,10 +15421,10 @@ with pkgs; (callPackage ../applications/science/electronics/bitscope/packages.nix { }); bitwig-studio1 = callPackage ../applications/audio/bitwig-studio/bitwig-studio1.nix { - inherit (gnome2) zenity; + inherit (gnome3) zenity; }; bitwig-studio2 = callPackage ../applications/audio/bitwig-studio/bitwig-studio2.nix { - inherit (gnome2) zenity; + inherit (gnome3) zenity; inherit (self) bitwig-studio1; }; bitwig-studio = bitwig-studio2; @@ -19285,25 +19283,19 @@ with pkgs; packages = self: []; }; - xmonad_log_applet_gnome2 = xmonad_log_applet.override { - desktopSupport = "gnome2"; + xmonad_log_applet = callPackage ../applications/window-managers/xmonad/log-applet { + desktopSupport = "gnomeflashback"; inherit (xfce) libxfce4util xfce4-panel; - gnome2_panel = gnome2.gnome_panel; - GConf2 = gnome2.GConf; }; - xmonad_log_applet = callPackage ../applications/window-managers/xmonad/log-applet { - desktopSupport = "gnome3"; + xmonad_log_applet_mate = xmonad_log_applet.override { + desktopSupport = "mate"; inherit (xfce) libxfce4util xfce4-panel; - gnome2_panel = gnome2.gnome_panel; - GConf2 = gnome2.GConf; }; xmonad_log_applet_xfce = xmonad_log_applet.override { desktopSupport = "xfce4"; inherit (xfce) libxfce4util xfce4-panel; - gnome2_panel = gnome2.gnome_panel; - GConf2 = gnome2.GConf; }; xmpp-client = callPackage ../applications/networking/instant-messengers/xmpp-client { }; @@ -21511,7 +21503,7 @@ with pkgs; mnemonicode = callPackage ../misc/mnemonicode { }; - mysql-workbench = newScope gnome2 ../applications/misc/mysql-workbench (let mysql = mysql57; in { + mysql-workbench = callPackage ../applications/misc/mysql-workbench (let mysql = mysql57; in { gdal = gdal.override {mysql = mysql // {lib = {dev = mysql;};};}; mysql = mysql; pcre = pcre-cpp; @@ -21842,7 +21834,7 @@ with pkgs; }); winetricks = callPackage ../misc/emulators/wine/winetricks.nix { - inherit (gnome2) zenity; + inherit (gnome3) zenity; }; with-shell = callPackage ../applications/misc/with-shell { };