about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gexiv2
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gexiv2')
-rw-r--r--nixpkgs/pkgs/development/libraries/gexiv2/default.nix57
1 files changed, 50 insertions, 7 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gexiv2/default.nix b/nixpkgs/pkgs/development/libraries/gexiv2/default.nix
index ff3e9ee52e99..a556b64f1d38 100644
--- a/nixpkgs/pkgs/development/libraries/gexiv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gexiv2/default.nix
@@ -1,26 +1,69 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, exiv2, glib, gnome, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, exiv2
+, glib
+, gnome
+, gobject-introspection
+, vala
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
+, python3
+}:
 
 stdenv.mkDerivation rec {
   pname = "gexiv2";
-  version = "0.12.3";
+  version = "0.14.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0jt5cqL8b4QBULrR7XnBy+xnKVHhgMHh7DPKbHMMWfM=";
+    sha256 = "5YJ5pv8gtvZPpJlhXaXptXz2W6eFC3L6/fFyIanW1p4=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_43 ];
-  buildInputs = [ glib ];
-  propagatedBuildInputs = [ exiv2 ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    vala
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+  ];
+
+  buildInputs = [
+    glib
+    # Python binding overrides
+    python3
+    python3.pkgs.pygobject3
+  ];
+
+  propagatedBuildInputs = [
+    exiv2
+  ];
 
   mesonFlags = [
     "-Dgtk_doc=true"
+    "-Dpython3_girdir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
   ];
 
   doCheck = true;
 
+  preCheck = ''
+    # Our gobject-introspection patches make the shared library paths absolute
+    # in the GIR files. When running unit tests, the library is not yet installed,
+    # though, so we need to replace the absolute path with a local one during build.
+    # We are using a symlink that will be overridden during installation.
+    mkdir -p $out/lib
+    ln -s $PWD/gexiv2/libgexiv2.so.2 $out/lib/libgexiv2.so.2
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
@@ -31,7 +74,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Projects/gexiv2";
     description = "GObject wrapper around the Exiv2 photo metadata library";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = teams.gnome.members;
   };