summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPeter Hoeg <peter@hoeg.com>2018-02-22 16:03:59 +0800
committerGitHub <noreply@github.com>2018-02-22 16:03:59 +0800
commitcdaedbffd8334b2aad359408ef2fc6715eb12a2d (patch)
tree5f396ae0697f153435870705495ad36b50cc634a /pkgs
parent4f098b070e79a50013f695cce4c24543f92aac26 (diff)
parentfbde9ea74408baee36fffbd60d2d3d75fe8d4599 (diff)
downloadnixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.tar
nixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.tar.gz
nixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.tar.bz2
nixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.tar.lz
nixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.tar.xz
nixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.tar.zst
nixlib-cdaedbffd8334b2aad359408ef2fc6715eb12a2d.zip
Merge pull request #35308 from peterhoeg/u/as
appstream: 0.10.6 -> 0.11.8 (and add appstream-qt)
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/appstream/default.nix50
-rw-r--r--pkgs/development/libraries/appstream/qt.nix25
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 61 insertions, 16 deletions
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index b79f274b9c3a..61ee182ce627 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -1,37 +1,55 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, gettext, intltool
-, xmlto, docbook_xsl, docbook_xml_dtd_45
-, glib, xapian, libxml2, libyaml, gobjectIntrospection
+{ stdenv, fetchpatch, fetchFromGitHub, meson, ninja, pkgconfig, gettext
+, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
+, libstemmer, glib, xapian, libxml2, libyaml, gobjectIntrospection
 , pcre, itstool
 }:
 
 stdenv.mkDerivation rec {
   name = "appstream-${version}";
-  version = "0.10.6";
+  version = "0.11.8";
 
   src = fetchFromGitHub {
-    owner = "ximion";
-    repo = "appstream";
-    rev = "APPSTREAM_0_10_6";
-    sha256 = "1fg7zxx2qhkyj7fmcpwbf80b72d16kyi8dadi111kf00sgzfbiyy";
+    owner  = "ximion";
+    repo   = "appstream";
+    rev    = "APPSTREAM_${stdenv.lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "07vzz57g1p5byj2jfg17y5n3il0g07d9wkiynzwra71mcxar1p08";
   };
 
+  patches = [
+    # drop this in version 0.11.9 and above
+    (fetchpatch {
+      name   = "define-location-and-soname.patch";
+      url    = "https://github.com/ximion/appstream/commit/3e58f9c9.patch";
+      sha256 = "1ffgbdfg80yq5vahjrvdd4f8xsp32ksm9vyasfmc7hzhx294s78w";
+    })
+  ];
+
   nativeBuildInputs = [
-    cmake pkgconfig gettext intltool
-    xmlto docbook_xsl docbook_xml_dtd_45
+    meson ninja pkgconfig gettext
+    libxslt xmlto docbook_xsl docbook_xml_dtd_45
     gobjectIntrospection itstool
   ];
 
-  buildInputs = [ pcre glib xapian libxml2 libyaml ];
+  buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml ];
 
-  cmakeFlags = ''
-    -DSTEMMING=off
-    '';
+  prePatch = ''
+    substituteInPlace meson.build \
+      --replace /usr/include ${libstemmer}/include
+
+    substituteInPlace data/meson.build \
+      --replace /etc $out/etc
+  '';
+
+  mesonFlags = [
+    "-Dapidocs=false"
+    "-Ddocs=false"
+    "-Dgir=false"
+  ];
 
   meta = with stdenv.lib; {
     description = "Software metadata handling library";
     homepage    = https://www.freedesktop.org/wiki/Distributions/AppStream/;
-    longDescription =
-    ''
+    longDescription = ''
       AppStream is a cross-distro effort for building Software-Center applications
       and enhancing metadata provided by software components.  It provides
       specifications for meta-information which is shipped by upstream projects and
diff --git a/pkgs/development/libraries/appstream/qt.nix b/pkgs/development/libraries/appstream/qt.nix
new file mode 100644
index 000000000000..beff83f2365b
--- /dev/null
+++ b/pkgs/development/libraries/appstream/qt.nix
@@ -0,0 +1,25 @@
+{ stdenv, appstream, qtbase, qttools }:
+
+stdenv.mkDerivation rec {
+  name = "appstream-qt-${version}";
+  inherit (appstream) version src patches prePatch;
+
+  buildInputs = appstream.buildInputs ++ [ appstream qtbase ];
+
+  nativeBuildInputs = appstream.nativeBuildInputs ++ [ qttools ];
+
+  mesonFlags = appstream.mesonFlags ++ [ "-Dqt=true" ];
+
+  postInstall = ''
+    rm -rf $out/{bin,etc,include/appstream,lib/pkgconfig,lib/libappstream.so*,share}
+  '';
+
+  preFixup = ''
+    patchelf --add-needed ${appstream}/lib/libappstream.so.4 \
+      $out/lib/libAppStreamQt.so
+  '';
+
+  meta = appstream.meta // {
+    description = "Software metadata handling library - Qt";
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f59f576c3bca..1c3869b421f6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8242,6 +8242,8 @@ with pkgs;
 
   appstream-glib = callPackage ../development/libraries/appstream-glib { };
 
+  appstream-qt = libsForQt5.callPackage ../development/libraries/appstream/qt.nix { };
+
   apr = callPackage ../development/libraries/apr { };
 
   aprutil = callPackage ../development/libraries/apr-util {