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.
This commit is contained in:
parent
6a7971bee7
commit
6a2195c3a5
@ -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
|
||||
|
13
pkgs/misc/cups/longer-shell-path.patch
Normal file
13
pkgs/misc/cups/longer-shell-path.patch
Normal file
@ -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)
|
||||
{
|
Loading…
Reference in New Issue
Block a user