diff options
Diffstat (limited to 'pkgs/development/libraries/gegl/default.nix')
-rw-r--r-- | pkgs/development/libraries/gegl/default.nix | 112 |
1 files changed, 92 insertions, 20 deletions
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix index bd67f3e6b7c..11f4f070c08 100644 --- a/pkgs/development/libraries/gegl/default.nix +++ b/pkgs/development/libraries/gegl/default.nix @@ -1,43 +1,115 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl , pkg-config +, vala +, gobject-introspection +, gtk-doc +, docbook-xsl-nons +, docbook_xml_dtd_43 +, glib , babl , libpng , cairo , libjpeg , librsvg +, lensfun +, libspiro +, maxflow +, netsurf , pango -, gtk2 +, poly2tri-c +, poppler , bzip2 -, intltool -, libintl -, OpenGL ? null }: +, json-glib +, gettext +, meson +, ninja +, libraw +, gexiv2 +, libwebp +, luajit +, openexr +, OpenCL +, suitesparse +}: stdenv.mkDerivation rec { pname = "gegl"; - version = "0.2.0"; + version = "0.4.30"; + + outputs = [ "out" "dev" "devdoc" ]; + outputBin = "dev"; src = fetchurl { - url = "ftp://ftp.gtk.org/pub/gegl/0.2/${pname}-${version}.tar.bz2"; - sha256 = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426"; + url = "https://download.gimp.org/pub/gegl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-wRJ4LPQJaWniMhfM36vkIoTjXVQ1/wxD1A5McPrsqN0="; }; - patches = [( fetchurl { - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/" - + "gegl-0.2.0-CVE-2012-4433.patch?h=packages/gegl&id=57a60fbda5d7bbbd1cc4767cb0724baa80c5e3e9"; - sha256 = "0p8mxj3w09nn1cc6cbxrd9hx742c5y27903i608wx6ja3kdjis59"; - name = "CVE-2012-4433.patch"; - })]; + nativeBuildInputs = [ + pkg-config + gettext + meson + ninja + vala + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ]; + + buildInputs = [ + libpng + cairo + libjpeg + librsvg + lensfun + libspiro + maxflow + netsurf.libnsgif + pango + poly2tri-c + poppler + bzip2 + libraw + libwebp + gexiv2 + luajit + openexr + suitesparse + ] ++ lib.optional stdenv.isDarwin OpenCL; + + # for gegl-4.0.pc + propagatedBuildInputs = [ + glib + json-glib + babl + ]; - # needs fonts otherwise don't know how to pass them - configureFlags = [ "--disable-docs" ]; + mesonFlags = [ + "-Ddocs=true" + "-Dmrg=disabled" # not sure what that is + "-Dsdl2=disabled" + "-Dpygobject=disabled" + "-Dlibav=disabled" + "-Dlibv4l=disabled" + "-Dlibv4l2=disabled" + # Disabled due to multiple vulnerabilities, see + # https://github.com/NixOS/nixpkgs/pull/73586 + "-Djasper=disabled" + ]; - buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool libintl ] - ++ lib.optional stdenv.isDarwin OpenGL; + # TODO: Fix missing math symbols in gegl seamless clone. + # It only appears when we use packaged poly2tri-c instead of vendored one. + NIX_CFLAGS_COMPILE = "-lm"; - nativeBuildInputs = [ pkg-config ]; + postPatch = '' + chmod +x tests/opencl/opencl_test.sh + patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tools/xml_insert.sh + ''; - doCheck = false; # fails 3 out of 19 tests + # tests fail to connect to the com.apple.fonts daemon in sandboxed mode + doCheck = !stdenv.isDarwin; meta = with lib; { description = "Graph-based image processing framework"; |