lol
1{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft
2, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm
3, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
4, gsl, python, pyxml, lxml, poppler, imagemagick, libwpg, librevenge
5, libvisio, libcdr, libexif, unzip
6, boxMakerPlugin ? false # boxmaker plugin
7}:
8
9let
10
11boxmaker = fetchurl {
12 # http://www.inkscapeforum.com/viewtopic.php?f=11&t=10403
13 url = "http://www.keppel.demon.co.uk/111000/files/BoxMaker0.91.zip";
14 sha256 = "5c5697f43dc3a95468f61f479cb50b7e2b93379a1729abf19e4040ac9f43a1a8";
15};
16
17in
18
19stdenv.mkDerivation rec {
20 name = "inkscape-0.91";
21
22 src = fetchurl {
23 url = "https://inkscape.global.ssl.fastly.net/media/resources/file/"
24 + "${name}.tar.bz2";
25 sha256 = "06ql3x732x2rlnanv0a8aharsnj91j5kplksg574090rks51z42d";
26 };
27
28 postPatch = ''
29 patchShebangs share/extensions
30 ''
31 # Clang gets misdetected, so hardcode the right answer
32 + stdenv.lib.optionalString stdenv.cc.isClang ''
33 substituteInPlace src/ui/tool/node.h \
34 --replace "#if __cplusplus >= 201103L" "#if true"
35 '';
36
37 propagatedBuildInputs = [
38 # Python is used at run-time to execute scripts, e.g., those from
39 # the "Effects" menu.
40 python pyxml lxml
41 ];
42
43 buildInputs = [
44 pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc
45 libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext
46 makeWrapper intltool gsl poppler imagemagick libwpg librevenge
47 libvisio libcdr libexif
48 ] ++ stdenv.lib.optional boxMakerPlugin unzip;
49
50 enableParallelBuilding = true;
51 doCheck = true;
52
53 postInstall = ''
54 ${if boxMakerPlugin then "
55 mkdir -p $out/share/inkscape/extensions/
56 # boxmaker packaged version 0.91 in a directory called 0.85 ?!??
57 unzip ${boxmaker};
58 cp boxmake-upd-0.85/* $out/share/inkscape/extensions/
59 rm -Rf boxmake-upd-0.85
60 "
61 else
62 ""
63 }
64
65 # Make sure PyXML modules can be found at run-time.
66 for i in "$out/bin/"*
67 do
68 wrapProgram "$i" --prefix PYTHONPATH : \
69 "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml})" \
70 --prefix PATH : ${python}/bin || \
71 exit 2
72 done
73 rm "$out/share/icons/hicolor/icon-theme.cache"
74 '';
75
76 meta = with stdenv.lib; {
77 license = "GPL";
78 homepage = http://www.inkscape.org;
79 description = "Vector graphics editor";
80 platforms = platforms.all;
81 longDescription = ''
82 Inkscape is a feature-rich vector graphics editor that edits
83 files in the W3C SVG (Scalable Vector Graphics) file format.
84
85 If you want to import .eps files install ps2edit.
86 '';
87 };
88}