about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/json-glib
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
committerAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
commit99fcaeccb89621dd492203ce1f2d551c06f228ed (patch)
tree41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/json-glib
parent59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff)
parent75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff)
downloadnixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/nixos/modules/config/console.nix
	nixpkgs/nixos/modules/services/mail/mailman.nix
	nixpkgs/nixos/modules/services/mail/public-inbox.nix
	nixpkgs/nixos/modules/services/mail/rss2email.nix
	nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
	nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
	nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/interpreters/python/default.nix
	nixpkgs/pkgs/development/node-packages/overrides.nix
	nixpkgs/pkgs/development/tools/b4/default.nix
	nixpkgs/pkgs/servers/dict/dictd-db.nix
	nixpkgs/pkgs/servers/mail/public-inbox/default.nix
	nixpkgs/pkgs/tools/security/pinentry/default.nix
	nixpkgs/pkgs/tools/text/unoconv/default.nix
	nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/json-glib')
-rw-r--r--nixpkgs/pkgs/development/libraries/json-glib/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/json-glib/meson-add-installed-tests-prefix-option.patch27
2 files changed, 49 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/development/libraries/json-glib/default.nix b/nixpkgs/pkgs/development/libraries/json-glib/default.nix
index 1f8f4fd1acc0..4b54ccc06644 100644
--- a/nixpkgs/pkgs/development/libraries/json-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/json-glib/default.nix
@@ -4,8 +4,11 @@
 , glib
 , meson
 , ninja
+, nixosTests
 , pkg-config
 , gettext
+, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
+, buildPackages
 , gobject-introspection
 , gi-docgen
 , libxslt
@@ -17,13 +20,19 @@ stdenv.mkDerivation rec {
   pname = "json-glib";
   version = "1.6.6";
 
-  outputs = [ "out" "dev" "devdoc" ];
+  outputs = [ "out" "dev" "installedTests" ]
+    ++ lib.optional withIntrospection "devdoc";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "luyYvnqR9t3jNjZyDj2i/27LuQ52zKpJSX8xpoVaSQ4=";
   };
 
+  patches = [
+    # Add option for changing installation path of installed tests.
+    ./meson-add-installed-tests-prefix-option.patch
+  ];
+
   strictDeps = true;
 
   depsBuildBuild = [
@@ -37,18 +46,22 @@ stdenv.mkDerivation rec {
     gettext
     glib
     libxslt
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    fixDarwinDylibNames
+  ] ++ lib.optionals withIntrospection [
     gobject-introspection
     gi-docgen
-  ] ++ lib.optional stdenv.hostPlatform.isDarwin [
-    fixDarwinDylibNames
   ];
 
-  buildInputs = [ gobject-introspection ];
-
   propagatedBuildInputs = [
     glib
   ];
 
+  mesonFlags = [
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+    (lib.mesonEnable "introspection" withIntrospection)
+    (lib.mesonEnable "gtk_doc" withIntrospection)
+  ];
 
   # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
   # it should be a build-time dep for build
@@ -73,6 +86,10 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.json-glib;
+    };
+
     updateScript = gnome.updateScript {
       packageName = pname;
       versionPolicy = "odd-unstable";
diff --git a/nixpkgs/pkgs/development/libraries/json-glib/meson-add-installed-tests-prefix-option.patch b/nixpkgs/pkgs/development/libraries/json-glib/meson-add-installed-tests-prefix-option.patch
new file mode 100644
index 000000000000..626db09cd03f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/json-glib/meson-add-installed-tests-prefix-option.patch
@@ -0,0 +1,27 @@
+diff --git a/json-glib/tests/meson.build b/json-glib/tests/meson.build
+index 1eb56c8..dca444e 100644
+--- a/json-glib/tests/meson.build
++++ b/json-glib/tests/meson.build
+@@ -21,8 +21,9 @@ test_data = [
+   'stream-load.json',
+ ]
+ 
+-installed_test_bindir = join_paths(json_libexecdir, 'installed-tests', json_api_name)
+-installed_test_datadir = join_paths(json_datadir, 'installed-tests', json_api_name)
++installed_test_prefix = get_option('installed_test_prefix')
++installed_test_bindir = join_paths(installed_test_prefix, 'libexec', 'installed-tests', json_api_name)
++installed_test_datadir = join_paths(installed_test_prefix, 'share', 'installed-tests', json_api_name)
+ 
+ install_data(test_data, install_dir: installed_test_bindir)
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index 068a03f..03f398a 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -10,3 +10,6 @@ option('man',
+ option('tests',
+        type: 'boolean', value: true,
+        description: 'Build the tests')
++option('installed_test_prefix',
++       description: 'Prefix for installed tests',
++       type: 'string')