summary refs log tree commit diff
path: root/pkgs/development/libraries/gdk-pixbuf
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-03-04 22:06:08 +0100
committerJan Tojnar <jtojnar@gmail.com>2018-03-22 07:34:56 +0100
commit3abd1ec53d4d373f2fd1b697bc9ea191137e5d19 (patch)
tree08016fed571f5f9cb7735e971d44ac3e6707860c /pkgs/development/libraries/gdk-pixbuf
parentbfa24c12a5b71b5652d7427817c8f3f8b787fd4f (diff)
downloadnixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.tar
nixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.tar.gz
nixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.tar.bz2
nixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.tar.lz
nixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.tar.xz
nixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.tar.zst
nixpkgs-3abd1ec53d4d373f2fd1b697bc9ea191137e5d19.zip
gdk_pixbuf: 2.36.7 → 2.36.11
Diffstat (limited to 'pkgs/development/libraries/gdk-pixbuf')
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix47
1 files changed, 32 insertions, 15 deletions
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index a1a9b10fca6..ace1d687a91 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,40 +1,46 @@
-{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, libintlOrEmpty, gobjectIntrospection, doCheck ? false }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
+, docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
+, jasper, shared-mime-info, libintlOrEmpty, gobjectIntrospection, doCheck ? false, makeWrapper }:
 
 let
   pname = "gdk-pixbuf";
-  version = "2.36.7";
-  # TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
-  # which apparently requires access to shared-mime-info files during runtime.
+  version = "2.36.11";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8";
+    sha256 = "1wz2vpciwdpdv612s8kbww08q80hgcs5dxrfsxp1a4q44n3snqmf";
   };
 
-  outputs = [ "out" "dev" "devdoc" ];
+  outputs = [ "out" "dev" "man" "devdoc" ];
 
   setupHook = ./setup-hook.sh;
 
   enableParallelBuilding = true;
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
-  buildInputs = [ libX11 gobjectIntrospection ] ++ libintlOrEmpty;
+  buildInputs = [ libX11 ] ++ stdenv.lib.optional (!stdenv.isDarwin) shared-mime-info ++ libintlOrEmpty;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43
+    gtk-doc gobjectIntrospection makeWrapper
+  ];
 
   propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
 
-  configureFlags = "--with-libjasper --with-x11"
-    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
-    ;
+  mesonFlags = [
+    # with_ & enable_will be removed in the future
+    "-Dwith_docs=true"
+    "-Denable_jasper=true"
+    "-Dx11=true" # will be added in the future (default atm)
+    "-Dwith_gir=${if gobjectIntrospection != null then "true" else "false"}"
+  ];
 
-  # on darwin, tests don't link
-  preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) ''
-    substituteInPlace Makefile --replace "docs tests" "docs"
+  postPatch = ''
+    chmod +x build-aux/* # patchShebangs only applies to executables
+    patchShebangs build-aux
   '';
 
   postInstall =
@@ -42,6 +48,17 @@ stdenv.mkDerivation rec {
     ''
       moveToOutput "bin" "$dev"
       moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
+
+      # We require runtime access to shared-mime-info
+      ${stdenv.lib.optionalString (!stdenv.isDarwin) ''
+      for f in $dev/bin/*; do
+        wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+      done
+      wrapProgram $out/bin/gdk-pixbuf-thumbnailer --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+      ''}
+
+      # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
+      $dev/bin/gdk-pixbuf-query-loaders --update-cache
     '';
 
   # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).