Loading pkgs/by-name/li/libcupsfilters/execve.patch 0 → 100644 +11 −0 Original line number Diff line number Diff line --- a/cupsfilters/ghostscript.c +++ b/cupsfilters/ghostscript.c @@ -629,7 +629,7 @@ gs_spawn (const char *filename, } // Execute Ghostscript command line ... - execvpe(filename, gsargv, envp); + execve(filename, gsargv, envp); if (log) log(ld, CF_LOGLEVEL_ERROR, "cfFilterGhostscript: Unable to launch Ghostscript: %s: %s", filename, strerror(errno)); pkgs/by-name/li/libcupsfilters/package.nix +19 −3 Original line number Diff line number Diff line Loading @@ -32,6 +32,18 @@ stdenv.mkDerivation { hash = "sha256-WEcg+NSsny/N1VAR1ejytM+3nOF3JlNuIUPf4w6N2ew="; }; # Undefined symbols for architecture x86_64: # "_iconv", referenced from: # _cfFilterTextToText in libcupsfilters_la-texttotext.o # "_iconv_close", referenced from: # _cfFilterTextToText in libcupsfilters_la-texttotext.o # "_iconv_open", referenced from: # _cfFilterTextToText in libcupsfilters_la-texttotext.o # ld: symbol(s) not found for architecture x86_64 env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_LDFLAGS = "-liconv"; }; patches = [ (fetchpatch { # https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-893j-2wr2-wrh9 Loading @@ -49,7 +61,9 @@ stdenv.mkDerivation { url = "https://github.com/OpenPrinting/libcupsfilters/commit/b69dfacec7f176281782e2f7ac44f04bf9633cfa.patch"; hash = "sha256-rPUbgtTu7j3uUZrtUhUPO1vFbV6naxIWsHf6x3JhS74="; }) ]; ] # build on platforms without execvpe ++ lib.optional stdenv.hostPlatform.isDarwin ./execve.patch; nativeBuildInputs = [ autoreconfHook Loading Loading @@ -77,7 +91,9 @@ stdenv.mkDerivation { "--with-ippfind-path=${lib.getExe' cups "ippfind"}" "--enable-imagefilters" "--with-test-font-path=${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf" ]; ] # build on platforms without execvpe (path to Ghostscript must be absolute) ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gs-path=${lib.getExe ghostscript}"; makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" Loading @@ -88,6 +104,6 @@ stdenv.mkDerivation { homepage = "https://github.com/OpenPrinting/libcupsfilters"; description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc"; license = lib.licenses.asl20; platforms = lib.platforms.linux; platforms = lib.platforms.all; }; } Loading
pkgs/by-name/li/libcupsfilters/execve.patch 0 → 100644 +11 −0 Original line number Diff line number Diff line --- a/cupsfilters/ghostscript.c +++ b/cupsfilters/ghostscript.c @@ -629,7 +629,7 @@ gs_spawn (const char *filename, } // Execute Ghostscript command line ... - execvpe(filename, gsargv, envp); + execve(filename, gsargv, envp); if (log) log(ld, CF_LOGLEVEL_ERROR, "cfFilterGhostscript: Unable to launch Ghostscript: %s: %s", filename, strerror(errno));
pkgs/by-name/li/libcupsfilters/package.nix +19 −3 Original line number Diff line number Diff line Loading @@ -32,6 +32,18 @@ stdenv.mkDerivation { hash = "sha256-WEcg+NSsny/N1VAR1ejytM+3nOF3JlNuIUPf4w6N2ew="; }; # Undefined symbols for architecture x86_64: # "_iconv", referenced from: # _cfFilterTextToText in libcupsfilters_la-texttotext.o # "_iconv_close", referenced from: # _cfFilterTextToText in libcupsfilters_la-texttotext.o # "_iconv_open", referenced from: # _cfFilterTextToText in libcupsfilters_la-texttotext.o # ld: symbol(s) not found for architecture x86_64 env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { NIX_LDFLAGS = "-liconv"; }; patches = [ (fetchpatch { # https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-893j-2wr2-wrh9 Loading @@ -49,7 +61,9 @@ stdenv.mkDerivation { url = "https://github.com/OpenPrinting/libcupsfilters/commit/b69dfacec7f176281782e2f7ac44f04bf9633cfa.patch"; hash = "sha256-rPUbgtTu7j3uUZrtUhUPO1vFbV6naxIWsHf6x3JhS74="; }) ]; ] # build on platforms without execvpe ++ lib.optional stdenv.hostPlatform.isDarwin ./execve.patch; nativeBuildInputs = [ autoreconfHook Loading Loading @@ -77,7 +91,9 @@ stdenv.mkDerivation { "--with-ippfind-path=${lib.getExe' cups "ippfind"}" "--enable-imagefilters" "--with-test-font-path=${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf" ]; ] # build on platforms without execvpe (path to Ghostscript must be absolute) ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gs-path=${lib.getExe ghostscript}"; makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" Loading @@ -88,6 +104,6 @@ stdenv.mkDerivation { homepage = "https://github.com/OpenPrinting/libcupsfilters"; description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc"; license = lib.licenses.asl20; platforms = lib.platforms.linux; platforms = lib.platforms.all; }; }