json-glib: add installed tests
https://github.com/NixOS/nixpkgs/issues/34987
This commit is contained in:
parent
5857574d45
commit
ec11cf5337
4 changed files with 72 additions and 1 deletions
|
@ -98,6 +98,7 @@ in
|
|||
gnome-photos = callInstalledTest ./gnome-photos.nix {};
|
||||
graphene = callInstalledTest ./graphene.nix {};
|
||||
gsconnect = callInstalledTest ./gsconnect.nix {};
|
||||
json-glib = callInstalledTest ./json-glib.nix {};
|
||||
ibus = callInstalledTest ./ibus.nix {};
|
||||
libgdata = callInstalledTest ./libgdata.nix {};
|
||||
librsvg = callInstalledTest ./librsvg.nix {};
|
||||
|
|
5
nixos/tests/installed-tests/json-glib.nix
Normal file
5
nixos/tests/installed-tests/json-glib.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ pkgs, makeInstalledTest, ... }:
|
||||
|
||||
makeInstalledTest {
|
||||
tested = pkgs.json-glib;
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
From 06418362d5a6c8bc592acb7572f4d1b48213884f Mon Sep 17 00:00:00 2001
|
||||
From: Will Bush <will.g.bush@gmail.com>
|
||||
Date: Sun, 31 Jul 2022 02:48:18 -0500
|
||||
Subject: [PATCH] meson: add options for tests installation dirs
|
||||
|
||||
---
|
||||
json-glib/tests/meson.build | 13 +++++++++++--
|
||||
meson_options.txt | 6 ++++++
|
||||
2 files changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/json-glib/tests/meson.build b/json-glib/tests/meson.build
|
||||
index 1eb56c8..beab6c7 100644
|
||||
--- a/json-glib/tests/meson.build
|
||||
+++ b/json-glib/tests/meson.build
|
||||
@@ -21,8 +21,17 @@ 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_suffix = join_paths('installed-tests', json_api_name)
|
||||
+
|
||||
+installed_test_bindir = join_paths(get_option('installed_test_bindir'), installed_test_suffix)
|
||||
+if installed_test_bindir == ''
|
||||
+ installed_test_bindir = join_paths(json_libexecdir, installed_test_suffix)
|
||||
+endif
|
||||
+
|
||||
+installed_test_datadir = join_paths(get_option('installed_test_datadir'), installed_test_suffix)
|
||||
+if installed_test_datadir == ''
|
||||
+ installed_test_datadir = join_paths(json_datadir, installed_test_suffix)
|
||||
+endif
|
||||
|
||||
install_data(test_data, install_dir: installed_test_bindir)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 068a03f..b3b1837 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -10,3 +10,9 @@ option('man',
|
||||
option('tests',
|
||||
type: 'boolean', value: true,
|
||||
description: 'Build the tests')
|
||||
+option('installed_test_datadir', type: 'string',
|
||||
+ value: '',
|
||||
+ description: 'Installation directory for data files in tests')
|
||||
+option('installed_test_bindir', type: 'string',
|
||||
+ value: '',
|
||||
+ description: 'Installation directory for binary files in tests')
|
||||
--
|
||||
2.36.1
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
, glib
|
||||
, meson
|
||||
, ninja
|
||||
, nixosTests
|
||||
, pkg-config
|
||||
, gettext
|
||||
, gobject-introspection
|
||||
|
@ -17,13 +18,18 @@ stdenv.mkDerivation rec {
|
|||
pname = "json-glib";
|
||||
version = "1.6.6";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
outputs = [ "out" "dev" "devdoc" "installedTests" ];
|
||||
|
||||
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.
|
||||
./0001-meson-add-options-for-tests-installation-dirs.patch
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
depsBuildBuild = [
|
||||
|
@ -49,6 +55,10 @@ stdenv.mkDerivation rec {
|
|||
glib
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
|
||||
"-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
|
||||
];
|
||||
|
||||
# Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
|
||||
# it should be a build-time dep for build
|
||||
|
@ -73,6 +83,10 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.json-glib;
|
||||
};
|
||||
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "odd-unstable";
|
||||
|
|
Loading…
Reference in a new issue