diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/json-glib')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/json-glib/default.nix | 27 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/json-glib/meson-add-installed-tests-prefix-option.patch | 27 |
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') |