diff options
author | Brandon Dimcheff <bdimchef-git@wieldim.com> | 2014-12-21 20:33:51 -0500 |
---|---|---|
committer | Brandon Dimcheff <bdimchef-git@wieldim.com> | 2014-12-21 20:47:36 -0500 |
commit | 6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022 (patch) | |
tree | 659b1e8e966d3453482bdecdddc624bd5bf07fe2 | |
parent | 6a7971bee73a560b6cb5ced97bbe364b01e3cd6d (diff) | |
download | nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.tar nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.tar.gz nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.tar.bz2 nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.tar.lz nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.tar.xz nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.tar.zst nixlib-6a2195c3a5ff2cfb1e5ec0792976cdb609ddb022.zip |
Fix compiled-in /bin/bash in foomatic filters
Foomatic filters contained a 64-char c string hardcoded to /bin/bash. This caused some filters (at least pdftops) to fail. I also had to increase the size of the string because nix paths are too long.
-rw-r--r-- | pkgs/misc/cups/filters.nix | 9 | ||||
-rw-r--r-- | pkgs/misc/cups/longer-shell-path.patch | 13 |
2 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix index 8a0406203aeb..18723779527f 100644 --- a/pkgs/misc/cups/filters.nix +++ b/pkgs/misc/cups/filters.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, cups, poppler, fontconfig -, libjpeg, libpng, perl, ijs, qpdf, dbus }: +, libjpeg, libpng, perl, ijs, qpdf, dbus, bash }: stdenv.mkDerivation rec { name = "cups-filters-${version}"; @@ -34,6 +34,13 @@ stdenv.mkDerivation rec { substituteInPlace filter/gstoraster.c --replace execve execvpe ''; + patches = [ ./longer-shell-path.patch ]; + + postPatch = + '' + substituteInPlace filter/foomatic-rip/foomaticrip.c --replace "/bin/bash" "${bash}/bin/bash" + ''; + postInstall = '' for i in $out/lib/cups/filter/{pstopdf,texttops,imagetops}; do diff --git a/pkgs/misc/cups/longer-shell-path.patch b/pkgs/misc/cups/longer-shell-path.patch new file mode 100644 index 000000000000..351bcc0b4096 --- /dev/null +++ b/pkgs/misc/cups/longer-shell-path.patch @@ -0,0 +1,13 @@ +diff --git a/filter/foomatic-rip/foomaticrip.c b/filter/foomatic-rip/foomaticrip.c +index 1c019aa..431d2f9 100644 +--- a/filter/foomatic-rip/foomaticrip.c ++++ b/filter/foomatic-rip/foomaticrip.c +@@ -174,7 +174,7 @@ char cupsfilterpath[PATH_MAX] = "/usr/local/lib/cups/filter:" + "/opt/cups/filter:" + "/usr/lib/cups/filter"; + +-char modern_shell[64] = "/bin/bash"; ++char modern_shell[128] = "/bin/bash"; + + void config_set_option(const char *key, const char *value) + { |