summary refs log tree commit diff
path: root/pkgs/tools/misc/system-config-printer
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2017-04-23 17:08:12 +0300
committerNikolay Amiantov <ab@fmap.me>2017-04-23 17:08:56 +0300
commit55657286709b481a2c6e31d8447d006e1fdd25d1 (patch)
treed889952745421129d0e458e0e62ccb6a27dd9ab8 /pkgs/tools/misc/system-config-printer
parenta02b18998fabaa43e31aa133ce83b4d5558c7f59 (diff)
downloadnixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.tar
nixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.tar.gz
nixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.tar.bz2
nixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.tar.lz
nixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.tar.xz
nixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.tar.zst
nixpkgs-55657286709b481a2c6e31d8447d006e1fdd25d1.zip
system-config-printer: 1.5.7 -> 1.5.9
Use gappsWrapHook.
Diffstat (limited to 'pkgs/tools/misc/system-config-printer')
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix52
1 files changed, 21 insertions, 31 deletions
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index f1a9c4b4640..0d66ef66b48 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
+{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto, wrapGAppsHook
 , makeWrapper, gtk3, docbook_xml_dtd_412, docbook_xsl
 , libxml2, desktop_file_utils, libusb1, cups, gdk_pixbuf, pango, atk, libnotify
+, gobjectIntrospection, libgnome_keyring3
 , cups-filters
 , pythonPackages
 , withGUI ? true
 }:
 
-let majorVersion = "1.5";
-
-in stdenv.mkDerivation rec {
-  name = "system-config-printer-${majorVersion}.7";
+stdenv.mkDerivation rec {
+  name = "system-config-printer-${version}";
+  version = "1.5.9";
 
   src = fetchurl {
-    url = "http://cyberelk.net/tim/data/system-config-printer/${majorVersion}/${name}.tar.xz";
-    sha256 = "1vxczk22f58nbikvj47s2x1gzh6q4mbgwnf091p00h3b6nxppdgn";
+    url = "https://github.com/zdohnal/system-config-printer/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "03bwlpsiqpxzcwd78a7rmwiww4jnqd7kl7il4kx78l1r57lasd2r";
   };
 
   patches = [ ./detect_serverbindir.patch ];
@@ -22,8 +22,12 @@ in stdenv.mkDerivation rec {
     [ intltool pkgconfig glib udev libusb1 cups xmlto
       libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils
       pythonPackages.python pythonPackages.wrapPython
+      libnotify gobjectIntrospection gdk_pixbuf pango atk
+      libgnome_keyring3
     ];
 
+  nativeBuildInputs = [ wrapGAppsHook ];
+
   pythonPath = with pythonPackages;
     [ pycups pycurl dbus-python pygobject3 requests2 pycairo pythonPackages.pycurl ];
 
@@ -33,36 +37,22 @@ in stdenv.mkDerivation rec {
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     ];
 
-  stripDebugList = "bin lib etc/udev";
+  stripDebugList = [ "bin" "lib" "etc/udev" ];
 
   postInstall =
-    let
-      giTypelibPath = stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gdk_pixbuf.out gtk3.out pango.out atk.out libnotify.out ];
-    in
     ''
-      export makeWrapperArgs="--set prefix $out \
-          --set GI_TYPELIB_PATH ${giTypelibPath} \
-          --set CUPS_DATADIR ${cups-filters}/share/cups"
-      wrapPythonPrograms
-
-      # The program imports itself, so we need to move shell wrappers to a proper place.
-      fixupWrapper() {
-        mv "$out/share/system-config-printer/$2.py" \
-           "$out/bin/$1"
-        sed -i "s/.$2.py-wrapped/$2.py/g" "$out/bin/$1"
-        mv "$out/share/system-config-printer/.$2.py-wrapped" \
-           "$out/share/system-config-printer/$2.py"
-      }
-      fixupWrapper scp-dbus-service scp-dbus-service
-      fixupWrapper system-config-printer system-config-printer
-      fixupWrapper system-config-printer-applet applet
-      # This __init__.py is both executed and imported.
-      ( cd $out/share/system-config-printer/troubleshoot
-        mv .__init__.py-wrapped __init__.py
+      buildPythonPath "$out $pythonPath"
+      gappsWrapperArgs+=(
+        --prefix PATH "$program_PATH"
+        --set CUPS_DATADIR "${cups-filters}/share/cups"
       )
 
+      find $out/share/system-config-printer -name \*.py -type f -perm -0100 -print0 | while read -d "" f; do
+        patchPythonScript "$f"
+      done
+
       # The below line will be unneeded when the next upstream release arrives.
-      sed -i -e "s|/usr/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
+      sed -i -e "s|/usr/local/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
 
       # Manually expand literal "$(out)", which have failed to expand
       sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \