about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-04-18 20:38:24 +0200
committerGitHub <noreply@github.com>2020-04-18 20:38:24 +0200
commit09c4736405414ce33b08043f69d50171617c6116 (patch)
tree95e202a22399c28814e306ad30abe2f48cde7cb6 /pkgs/development
parentf6be8777280081f6aa8bba40dc29777f8adcd4bd (diff)
parent06e5800a73573573979a17b0d6dab3641265038b (diff)
downloadnixlib-09c4736405414ce33b08043f69d50171617c6116.tar
nixlib-09c4736405414ce33b08043f69d50171617c6116.tar.gz
nixlib-09c4736405414ce33b08043f69d50171617c6116.tar.bz2
nixlib-09c4736405414ce33b08043f69d50171617c6116.tar.lz
nixlib-09c4736405414ce33b08043f69d50171617c6116.tar.xz
nixlib-09c4736405414ce33b08043f69d50171617c6116.tar.zst
nixlib-09c4736405414ce33b08043f69d50171617c6116.zip
Merge pull request #83755 from jtojnar/jcat-0.1
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/libjcat/default.nix91
-rw-r--r--pkgs/development/libraries/libjcat/installed-tests-path.patch24
2 files changed, 115 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libjcat/default.nix b/pkgs/development/libraries/libjcat/default.nix
new file mode 100644
index 000000000000..dc95f9199326
--- /dev/null
+++ b/pkgs/development/libraries/libjcat/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, docbook_xml_dtd_43
+, docbook-xsl-nons
+, glib
+, json-glib
+, gnutls
+, gpgme
+, gobject-introspection
+, vala
+, help2man
+, gtk-doc
+, meson
+, ninja
+, pkg-config
+, python3
+, nixosTests
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libjcat";
+  version = "0.1.1";
+
+  outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ];
+
+  src = fetchFromGitHub {
+    owner = "hughsie";
+    repo = "libjcat";
+    rev = version;
+    sha256 = "hWJUzpQvy2V4pS8C/nW7Xrs9U9LQWMsGuTVOnm5UJc0=";
+  };
+
+  patches = [
+    # Installed tests are installed to different output
+    ./installed-tests-path.patch
+
+    # Fix version file generation
+    (fetchpatch {
+      url = "https://github.com/hughsie/libjcat/commit/cf2d9298a5fab7278ee040bc0b4be384a7b5538e.patch";
+      sha256 = "3749qih+wfhU8ECklh5BvReJ7pS+Ao1Q7YueZ1tT0Is=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    docbook_xml_dtd_43
+    docbook-xsl-nons
+    gobject-introspection
+    vala
+    help2man
+    gtk-doc
+    (python3.withPackages (pkgs: with pkgs; [
+      setuptools
+    ]))
+  ];
+
+  buildInputs = [
+    glib
+    json-glib
+    gnutls
+    gpgme
+  ];
+
+  mesonFlags = [
+    "-Dgtkdoc=true"
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+  ];
+
+  postPatch = ''
+    patchShebangs contrib/generate-version-script.py
+  '';
+
+  doCheck = true;
+
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.libjcat;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library for reading and writing Jcat files";
+    homepage = "https://github.com/hughsie/libjcat";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libjcat/installed-tests-path.patch b/pkgs/development/libraries/libjcat/installed-tests-path.patch
new file mode 100644
index 000000000000..d199f91385f5
--- /dev/null
+++ b/pkgs/development/libraries/libjcat/installed-tests-path.patch
@@ -0,0 +1,24 @@
+diff --git a/meson.build b/meson.build
+index f69968d..d1d6c6e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -114,8 +114,8 @@ else
+   datadir = join_paths(prefix, get_option('datadir'))
+   localstatedir = join_paths(prefix, get_option('localstatedir'))
+   libexecdir = join_paths(prefix, get_option('libexecdir'))
+-  installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
+-  installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
++  installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
++  installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
+ endif
+ mandir = join_paths(prefix, get_option('mandir'))
+ localedir = join_paths(prefix, get_option('localedir'))
+diff --git a/meson_options.txt b/meson_options.txt
+index 4784300..d382fc1 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,4 @@
++option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
+ option('gtkdoc', type : 'boolean', value : false, description : 'enable developer documentation')
+ option('introspection', type : 'boolean', value : true, description : 'generate GObject Introspection data')
+ option('tests', type : 'boolean', value : true, description : 'enable tests')