graphene: init at 1.8.6

This commit is contained in:
worldofpeace 2019-05-16 21:24:40 -04:00
parent 4ce159c41d
commit 24c7e2a15c
3 changed files with 143 additions and 0 deletions

View File

@ -0,0 +1,79 @@
From c550bf4a41e9f86351b0a65ea3d6c9ab616e27c0 Mon Sep 17 00:00:00 2001
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Thu, 16 May 2019 21:15:15 -0400
Subject: [PATCH] meson: add options for tests installation dirs
---
meson_options.txt | 6 ++++++
src/tests/meson.build | 19 ++++++++++++++-----
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
index c938805..c1e9e95 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -19,6 +19,12 @@ option('arm_neon', type: 'boolean',
option('tests', type: 'boolean',
value: true,
description: 'Build the test suite (requires GObject)')
+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')
option('benchmarks', type: 'boolean',
value: true,
description: 'Build the benchmarks suite (requires GObject)')
diff --git a/src/tests/meson.build b/src/tests/meson.build
index 62129c6..0186400 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -22,8 +22,17 @@ unit_tests = [
python = python3.find_python()
gen_installed_test = join_paths(meson.current_source_dir(), 'gen-installed-test.py')
-installed_test_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'installed-tests', graphene_api_path)
-installed_test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), 'installed-tests', graphene_api_path)
+test_suffix = join_paths('installed-tests', graphene_api_path)
+
+test_datadir = join_paths(get_option('installed_test_datadir'), test_suffix)
+if test_datadir == ''
+ test_datadir = join_paths(get_option('prefix'), get_option('datadir'), test_suffix)
+endif
+
+test_bindir = join_paths(get_option('installed_test_bindir'), test_suffix)
+if test_bindir == ''
+ test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), test_suffix)
+endif
foreach unit: unit_tests
wrapper = '@0@.test'.format(unit)
@@ -32,13 +41,13 @@ foreach unit: unit_tests
command: [
python,
gen_installed_test,
- '--testdir=@0@'.format(installed_test_bindir),
+ '--testdir=@0@'.format(test_bindir),
'--testname=@0@'.format(unit),
'--outdir=@OUTDIR@',
'--outfile=@0@'.format(wrapper),
],
install: true,
- install_dir: installed_test_datadir)
+ install_dir: test_datadir)
exe = executable(unit, unit + '.c',
dependencies: graphene_dep,
@@ -50,7 +59,7 @@ foreach unit: unit_tests
'-DGLIB_DISABLE_DEPRECATION_WARNINGS',
],
install: true,
- install_dir: installed_test_bindir)
+ install_dir: test_bindir)
test(unit, exe, args: [ '--tap', '-k' ])
endforeach
--
2.21.0

View File

@ -0,0 +1,62 @@
{ stdenv
, fetchFromGitHub
, pkgconfig
, meson
, ninja
, python3
, glib
, gtk-doc
, docbook_xsl
, docbook_xml_dtd_43
, gobject-introspection
}:
stdenv.mkDerivation rec {
pname = "graphene";
version = "1.8.6";
outputs = [ "out" "devdoc" "installedTests" ];
src = fetchFromGitHub {
owner = "ebassi";
repo = pname;
rev = version;
sha256 = "1hdbdzcz86jrvsq5h954ph9q62m8jr2a5s5acklxhdkfqn5bkbv8";
};
patches = [
./0001-meson-add-options-for-tests-installation-dirs.patch
];
mesonFlags = [
"-Dgtk_doc=true"
"-Dinstalled_test_datadir=${placeholder ''installedTests''}/share"
"-Dinstalled_test_bindir=${placeholder ''installedTests''}/libexec"
];
nativeBuildInputs = [
docbook_xml_dtd_43
docbook_xsl
gtk-doc
meson
ninja
pkgconfig
python3
];
buildInputs = [
gobject-introspection
];
checkInputs = [
glib
];
meta = with stdenv.lib; {
description = "A thin layer of graphic data types";
homepage = "https://ebassi.github.com/graphene";
license = licenses.mit;
maintainers = with maintainers; [ worldofpeace ];
platforms = platforms.unix;
};
}

View File

@ -9202,6 +9202,8 @@ in
graphene-hardened-malloc = callPackage ../development/libraries/graphene-hardened-malloc { };
graphene = callPackage ../development/libraries/graphene { };
gtk-doc = callPackage ../development/tools/documentation/gtk-doc { };
gtkdialog = callPackage ../development/tools/misc/gtkdialog { };