summary refs log tree commit diff
path: root/pkgs/applications/graphics/inkscape/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/graphics/inkscape/default.nix')
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix21
1 files changed, 16 insertions, 5 deletions
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 3e1e482bb39..85b067d9fb2 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -10,6 +10,7 @@
 , ghostscript
 , glib
 , glibmm
+, gobject-introspection
 , gsl
 , gspell
 , gtk-mac-integration
@@ -39,6 +40,7 @@
 , python3
 , substituteAll
 , wrapGAppsHook
+, libepoxy
 , zlib
 }:
 let
@@ -47,11 +49,17 @@ let
       appdirs
       beautifulsoup4
       cachecontrol
+    ]
+    # CacheControl requires extra runtime dependencies for FileCache
+    # https://gitlab.com/inkscape/extras/extension-manager/-/commit/9a4acde6c1c028725187ff5972e29e0dbfa99b06
+    ++ cachecontrol.optional-dependencies.filecache
+    ++ [
       numpy
       lxml
       packaging
       pillow
       scour
+      pyparsing
       pyserial
       requests
       pygobject3
@@ -59,11 +67,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "inkscape";
-  version = "1.2.2";
+  version = "1.3";
 
   src = fetchurl {
-    url = "https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.xz";
-    sha256 = "oMf9DQPAohU15kjvMB3PgN18/B81ReUQZfvxuj7opcQ=";
+    url = "https://inkscape.org/release/inkscape-${version}/source/archive/xz/dl/inkscape-${version}.tar.xz";
+    sha256 = "sha256-v08oawJeAWm4lIzBTVGZqbTCBNdhyJTEtISWVx7HYwc=";
   };
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
@@ -104,6 +112,7 @@ stdenv.mkDerivation rec {
     glib # for setup hook
     gdk-pixbuf # for setup hook
     wrapGAppsHook
+    gobject-introspection
   ] ++ (with perlPackages; [
     perl
     XMLParser
@@ -140,6 +149,7 @@ stdenv.mkDerivation rec {
     potrace
     python3Env
     zlib
+    libepoxy
   ] ++ lib.optionals (!stdenv.isDarwin) [
     gspell
   ] ++ lib.optionals stdenv.isDarwin [
@@ -149,8 +159,9 @@ stdenv.mkDerivation rec {
 
   # Make sure PyXML modules can be found at run-time.
   postInstall = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
-    install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
+    for f in $out/lib/inkscape/*.dylib; do
+      ln -s $f $out/lib/$(basename $f)
+    done
   '';
 
   meta = with lib; {