diff options
author | Pavol Rusnak <pavol@rusnak.io> | 2020-05-05 13:01:07 +0200 |
---|---|---|
committer | Pavol Rusnak <pavol@rusnak.io> | 2020-07-19 13:10:16 +0200 |
commit | 7eb4a0ae274c193c4b7be629f602e5781100d9d1 (patch) | |
tree | 91de27c901284b033ea4624be225b0fda88bb7c7 /pkgs/applications/graphics/inkscape | |
parent | 44d19024537ab601c7f9d20403c0c9798b18d958 (diff) |
inkscape -> inkscape_0
We can't update inkscape to 1.0 without keeping 0.x in tree, because the CLI interface has been changed and lots of packages use this interface for SVG conversion.
Diffstat (limited to 'pkgs/applications/graphics/inkscape')
-rw-r--r-- | pkgs/applications/graphics/inkscape/0.x.nix | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/inkscape/0.x.nix b/pkgs/applications/graphics/inkscape/0.x.nix new file mode 100644 index 0000000000000..880ecfb9f0b54 --- /dev/null +++ b/pkgs/applications/graphics/inkscape/0.x.nix @@ -0,0 +1,133 @@ +{ stdenv +, boehmgc +, boost +, cairo +, cmake +, fetchpatch +, fetchurl +, gettext +, glib +, glibmm +, gsl +, gtkmm2 +, gtkspell2 +, imagemagick +, lcms +, libcdr +, libexif +, libpng +, librevenge +, librsvg +, libsigcxx +, libvisio +, libwpg +, libXft +, libxml2 +, libxslt +, makeWrapper +, perlPackages +, pkg-config +, poppler +, popt +, potrace +, python3 +, wrapGAppsHook +, zlib +}: +let + python3Env = python3.withPackages + (ps: with ps; [ + numpy + lxml + scour + ]); +in +stdenv.mkDerivation rec { + pname = "inkscape_0"; + version = "0.92.5"; + + src = fetchurl { + url = "https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.bz2"; + sha256 = "ge5/aeK9ZKlzQ9g5Wkp6eQWyG4YVZu1eXZF5F41Rmgs="; + }; + + # Inkscape hits the ARGMAX when linking on macOS. It appears to be + # CMake’s ARGMAX check doesn’t offer enough padding for NIX_LDFLAGS. + # Setting strictDeps it avoids duplicating some dependencies so it + # will leave us under ARGMAX. + strictDeps = true; + + postPatch = '' + patchShebangs share/extensions + patchShebangs fix-roff-punct + + # Python is used at run-time to execute scripts, e.g., those from + # the "Effects" menu. + substituteInPlace src/extension/implementation/script.cpp \ + --replace '"python-interpreter", "python"' '"python-interpreter", "${python3Env}/bin/python"' + ''; + + nativeBuildInputs = [ + pkg-config + cmake + makeWrapper + python3Env + wrapGAppsHook + ] ++ (with perlPackages; [ + perl + XMLParser + ]); + + buildInputs = [ + boehmgc + boost + gettext + glib + glibmm + gsl + gtkmm2 + imagemagick + lcms + libcdr + libexif + libpng + librevenge + librsvg # for loading icons + libsigcxx + libvisio + libwpg + libXft + libxml2 + libxslt + perlPackages.perl + poppler + popt + potrace + python3Env + zlib + ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ + gtkspell2 + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + cairo + ]; + + # Make sure PyXML modules can be found at run-time. + postInstall = stdenv.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 + ''; + + meta = with stdenv.lib; { + description = "Legacy version of vector graphics editor"; + homepage = "https://www.inkscape.org"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.jtojnar ]; + platforms = platforms.all; + longDescription = '' + Inkscape is a feature-rich vector graphics editor that edits + files in the W3C SVG (Scalable Vector Graphics) file format. + + If you want to import .eps files install ps2edit. + ''; + }; +} |