summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2021-05-26 13:21:51 +0200
committerGitHub <noreply@github.com>2021-05-26 13:21:51 +0200
commitf3d551c62f233598c563eba539fef1f3ab5a3b0b (patch)
tree641b2e84948137c624c7ca9b0788da5a9b2ea181 /pkgs
parent005702524adc100172a77bd9ac902f1575c9ae01 (diff)
parent413d9271507d041606645d745c999c2e1c880fb8 (diff)
downloadnixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.tar
nixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.tar.gz
nixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.tar.bz2
nixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.tar.lz
nixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.tar.xz
nixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.tar.zst
nixpkgs-f3d551c62f233598c563eba539fef1f3ab5a3b0b.zip
Merge pull request #124333 from jljusten/inkscape-1.1
inkscape: 1.0.2 -> 1.1
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix27
-rw-r--r--pkgs/applications/graphics/inkscape/fix-python-paths.patch22
-rw-r--r--pkgs/development/libraries/lib2geom/default.nix60
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 85 insertions, 26 deletions
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index bea288e2958..813db098475 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -3,22 +3,20 @@
 , boost
 , cairo
 , cmake
-, double-conversion
 , fetchurl
-, fetchpatch
 , gettext
-, gdl
 , ghostscript
 , glib
 , glib-networking
 , glibmm
 , gsl
+, gspell
 , gtk-mac-integration
 , gtkmm3
-, gtkspell3
 , gdk-pixbuf
 , imagemagick
 , lcms
+, lib2geom
 , libcdr
 , libexif
 , libpng
@@ -47,16 +45,17 @@ let
     (ps: with ps; [
       numpy
       lxml
+      pillow
       scour
     ]);
 in
 stdenv.mkDerivation rec {
   pname = "inkscape";
-  version = "1.0.2";
+  version = "1.1";
 
   src = fetchurl {
     url = "https://media.inkscape.org/dl/resources/file/${pname}-${version}.tar.xz";
-    sha256 = "sha256-2j4jBRGgjL8h6GcQ0WFFhZT+qHhn6RV7Z+0BoE6ieYo=";
+    sha256 = "sha256-cebozj/fcC9Z28SidmZeuYLreCKwKbvb7O0t9DAXleY=";
   };
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
@@ -72,13 +71,6 @@ stdenv.mkDerivation rec {
       # e.g., those from the "Effects" menu.
       python3 = "${python3Env}/bin/python";
     })
-
-    # Fix build with glib 2.68
-    # https://gitlab.com/inkscape/inkscape/-/merge_requests/2790
-    (fetchpatch {
-      url = "https://gitlab.com/inkscape/inkscape/-/commit/eb24388f1730918edd9565d9e5d09340ec0b3b08.patch";
-      sha256 = "d2FHRWcOzi0Vsr6t0MuLu3rWpvhFKuuvoXd4/NKUSJI=";
-    })
   ];
 
   postPatch = ''
@@ -91,6 +83,10 @@ stdenv.mkDerivation rec {
       --replace "call('ps2pdf'" "call('${ghostscript}/bin/ps2pdf'"
     patchShebangs share/templates
     patchShebangs man/fix-roff-punct
+
+    # double-conversion is a dependency of 2geom
+    substituteInPlace CMakeScripts/DefineDependsandFlags.cmake \
+      --replace 'find_package(DoubleConversion REQUIRED)' ""
   '';
 
   nativeBuildInputs = [
@@ -109,8 +105,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     boehmgc
     boost
-    double-conversion
-    gdl
     gettext
     glib
     glib-networking
@@ -119,6 +113,7 @@ stdenv.mkDerivation rec {
     gtkmm3
     imagemagick
     lcms
+    lib2geom
     libcdr
     libexif
     libpng
@@ -138,7 +133,7 @@ stdenv.mkDerivation rec {
     python3Env
     zlib
   ] ++ lib.optionals (!stdenv.isDarwin) [
-    gtkspell3
+    gspell
   ] ++ lib.optionals stdenv.isDarwin [
     cairo
     gtk-mac-integration
diff --git a/pkgs/applications/graphics/inkscape/fix-python-paths.patch b/pkgs/applications/graphics/inkscape/fix-python-paths.patch
index 9428ade8863..9634be50497 100644
--- a/pkgs/applications/graphics/inkscape/fix-python-paths.patch
+++ b/pkgs/applications/graphics/inkscape/fix-python-paths.patch
@@ -1,15 +1,17 @@
+diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp
+index bc6c0ed845..181467834d 100644
 --- a/src/extension/implementation/script.cpp
 +++ b/src/extension/implementation/script.cpp
-@@ -77,10 +77,10 @@ const std::map<std::string, Script::inte
-         { "python",  {"python-interpreter",  {"pythonw"           }}},
+@@ -82,10 +82,10 @@ const std::map<std::string, Script::interpreter_t> Script::interpreterTab = {
+     { "python",  {"python-interpreter",  {"pythonw"           }}},
  #elif defined __APPLE__
-         { "perl",    {"perl-interpreter",    {"perl"              }}},
--        { "python",  {"python-interpreter",  {"python3"           }}},
-+        { "python",  {"python-interpreter",  {"@python3@"         }}},
+     { "perl",    {"perl-interpreter",    {"perl"              }}},
+-    { "python",  {"python-interpreter",  {"python3"           }}},
++    { "python",  {"python-interpreter",  {"@python3@"         }}},
  #else
-         { "perl",    {"perl-interpreter",    {"perl"              }}},
--        { "python",  {"python-interpreter",  {"python3", "python" }}},
-+        { "python",  {"python-interpreter",  {"@python3@"         }}},
+     { "perl",    {"perl-interpreter",    {"perl"              }}},
+-    { "python",  {"python-interpreter",  {"python3", "python" }}},
++    { "python",  {"python-interpreter",  {"@python3@"         }}},
  #endif
-         { "python2", {"python2-interpreter", {"python2", "python" }}},
-         { "ruby",    {"ruby-interpreter",    {"ruby"    }}},
+     { "python2", {"python2-interpreter", {"python2", "python" }}},
+     { "ruby",    {"ruby-interpreter",    {"ruby"    }}},
diff --git a/pkgs/development/libraries/lib2geom/default.nix b/pkgs/development/libraries/lib2geom/default.nix
new file mode 100644
index 00000000000..755ed6b814e
--- /dev/null
+++ b/pkgs/development/libraries/lib2geom/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, fetchFromGitLab
+, cmake
+, ninja
+, pkg-config
+, boost
+, glib
+, gsl
+, cairo
+, double-conversion
+, gtest
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lib2geom";
+  version = "1.1";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitLab {
+    owner = "inkscape";
+    repo = "lib2geom";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-u9pbpwVzAXzrM2/tQnd1B6Jo9Fzg6UZBr9AtUsNMfQ0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    boost
+    glib
+    gsl
+    cairo
+    double-conversion
+  ];
+
+  checkInputs = [
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
+    "-D2GEOM_BUILD_SHARED=ON"
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Easy to use 2D geometry library in C++";
+    homepage = "https://gitlab.com/inkscape/lib2geom";
+    license = [ licenses.lgpl21Only licenses.mpl11 ];
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 196ed29b089..86eac79854b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15637,6 +15637,8 @@ in
 
   leptonica = callPackage ../development/libraries/leptonica { };
 
+  lib2geom = callPackage ../development/libraries/lib2geom { };
+
   lib3ds = callPackage ../development/libraries/lib3ds { };
 
   lib3mf = callPackage ../development/libraries/lib3mf { };