summary refs log tree commit diff
path: root/pkgs/development/libraries/gegl/4.0.nix
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-08-25 03:13:13 +0200
committerJan Tojnar <jtojnar@gmail.com>2019-11-03 14:43:09 +0100
commit258f6f4437b50a69cea154c154fe5f75a56f84d7 (patch)
treea864936873bae291bef417d07c966a5f5a621d6c /pkgs/development/libraries/gegl/4.0.nix
parent148eae459ba2a8e977474ab886b49b84341518a0 (diff)
downloadnixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.tar
nixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.tar.gz
nixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.tar.bz2
nixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.tar.lz
nixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.tar.xz
nixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.tar.zst
nixpkgs-258f6f4437b50a69cea154c154fe5f75a56f84d7.zip
gegl_0_4: 0.4.16 → 0.4.18
https://gitlab.gnome.org/GNOME/gegl/blob/GEGL_0_4_18/docs/NEWS.txt#L1-123

Ported to Meson, which means ton of extra dependencies used by default.
Though the closure size effect appears to be minimal: 88.9M → 92.9M

Also drop GTK dependency, since it is not needed any more (was it ever?)
Diffstat (limited to 'pkgs/development/libraries/gegl/4.0.nix')
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix114
1 files changed, 102 insertions, 12 deletions
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
index 0e3f79b1814..8632035caf7 100644
--- a/pkgs/development/libraries/gegl/4.0.nix
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -1,31 +1,121 @@
-{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
-, librsvg, pango, gtk, bzip2, json-glib, gettext, autoreconfHook, libraw
-, gexiv2, libwebp, libintl }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, pkgconfig
+, vala
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, glib
+, babl
+, libpng
+, cairo
+, libjpeg
+, librsvg
+, lensfun
+, libspiro
+, netsurf
+, pango
+, poly2tri-c
+, bzip2
+, json-glib
+, gettext
+, meson
+, ninja
+, libraw
+, gexiv2
+, libwebp
+, luajit
+, openexr
+}:
 
 stdenv.mkDerivation rec {
   pname = "gegl";
-  version = "0.4.16";
+  version = "0.4.18";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
-    url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1";
+    url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0r6akqnrkvxizyhyi8sv40mxm7j4bcwjb6mqjpxy0zzbbfsdyin9";
   };
 
-  enableParallelBuilding = true;
+  patches = [
+    # Fix arch detection.
+    # https://gitlab.gnome.org/GNOME/gegl/merge_requests/53
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gegl/commit/6bcf95fd0f32cf5e8b1ddbe17b14d9ad049bded8.patch";
+      sha256 = "0aqdr3y5mr47wq44jnhp97188bvpjlf56zrlmn8aazdf07r2apma";
+    })
 
-  doCheck = true;
+    # Fix Darwin build.
+    # https://gitlab.gnome.org/GNOME/gegl/merge_requests/54
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gegl/commit/2bc06bfedee4fb25f6a966c8235b75292e24e55f.patch";
+      sha256 = "1psls61wsrdq5pzpvj22mrm46lpzrw3wkx6li7dv6fyb65wz2n4d";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    meson
+    ninja
+    vala
+    gobject-introspection
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
 
   buildInputs = [
-    libpng cairo libjpeg librsvg pango gtk bzip2
-    libraw libwebp gexiv2
+    libpng
+    cairo
+    libjpeg
+    librsvg
+    lensfun
+    libspiro
+    netsurf.libnsgif
+    pango
+    poly2tri-c
+    bzip2
+    libraw
+    libwebp
+    gexiv2
+    luajit
+    openexr
+  ];
+
+  # for gegl-4.0.pc
+  propagatedBuildInputs = [
+    glib
+    json-glib
+    babl
+  ];
+
+  mesonFlags = [
+    "-Ddocs=true"
+    "-Dmrg=disabled" # not sure what that is
+    "-Dsdl2=disabled"
+    "-Dpygobject=disabled"
+    "-Dlibav=disabled"
+    "-Dlibv4l=disabled"
+    "-Dlibv4l2=disabled"
+    "-Dumfpack=disabled"
   ];
 
-  propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-4.0.pc
+  # 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 = [ pkgconfig gettext which autoreconfHook libintl ];
+  postPatch = ''
+    chmod +x tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh
+    patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh tools/xml_insert.sh
+  '';
+
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Graph-based image processing framework";