diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 6444537cac29..ec0ab074625d 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -4,6 +4,7 @@ , boost , cairo , cmake +, desktopToDarwinBundle , fetchurl , gettext , ghostscript @@ -78,16 +79,15 @@ stdenv.mkDerivation rec { # e.g., those from the "Effects" menu. python3 = "${python3Env}/bin/python"; }) + (substituteAll { + # Fix path to ps2pdf binary + src = ./fix-ps2pdf-path.patch; + inherit ghostscript; + }) ]; postPatch = '' patchShebangs share/extensions - substituteInPlace share/extensions/eps_input.inx \ - --replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf" - substituteInPlace share/extensions/ps_input.inx \ - --replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf" - substituteInPlace share/extensions/ps_input.py \ - --replace "call('ps2pdf'" "call('${ghostscript}/bin/ps2pdf'" patchShebangs share/templates patchShebangs man/fix-roff-punct @@ -107,7 +107,9 @@ stdenv.mkDerivation rec { ] ++ (with perlPackages; [ perl XMLParser - ]); + ]) ++ lib.optionals stdenv.isDarwin [ + desktopToDarwinBundle + ]; buildInputs = [ boehmgc diff --git a/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch b/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch new file mode 100644 index 000000000000..9cd8e4b34cb5 --- /dev/null +++ b/pkgs/applications/graphics/inkscape/fix-ps2pdf-path.patch @@ -0,0 +1,36 @@ +diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/eps_input.inx inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/eps_input.inx +--- inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/eps_input.inx 2023-08-02 22:22:32.000000000 +0400 ++++ inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/eps_input.inx 2023-08-02 22:23:34.000000000 +0400 +@@ -3,7 +3,7 @@ + EPS Input + org.inkscape.input.eps + org.inkscape.input.pdf +- ps2pdf ++ @ghostscript@/bin/ps2pdf + true + +diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.inx inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.inx +--- inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.inx 2023-08-02 22:22:33.000000000 +0400 ++++ inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.inx 2023-08-02 22:24:00.000000000 +0400 +@@ -3,7 +3,7 @@ + PostScript Input + org.inkscape.input.postscript_input + org.inkscape.input.pdf +- ps2pdf ++ @ghostscript@/bin/ps2pdf + + +diff -Naur inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.py inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.py +--- inkscape-1.2.2_2022-12-01_b0a8486541.orig/share/extensions/ps_input.py 2023-08-02 22:22:32.000000000 +0400 ++++ inkscape-1.2.2_2022-12-01_b0a8486541/share/extensions/ps_input.py 2023-08-02 22:23:48.000000000 +0400 +@@ -79,7 +79,7 @@ + else: + try: + call( +- "ps2pdf", ++ "@ghostscript@/bin/ps2pdf", + crop, + "-dAutoRotatePages=/" + self.options.autorotate, + input_file,