diff --git a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch index d6a441e1577..51bc206659d 100644 --- a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch +++ b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch @@ -1,34 +1,31 @@ -From c550bf4a41e9f86351b0a65ea3d6c9ab616e27c0 Mon Sep 17 00:00:00 2001 +From 2bf6614a6d7516e194e39eb691c05b486860153c Mon Sep 17 00:00:00 2001 From: worldofpeace 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 ++++++++++++++----- + meson_options.txt | 6 ++++++ + 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 +index 578bdae..6f5fa23 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -19,6 +19,12 @@ option('arm_neon', type: 'boolean', - option('tests', type: 'boolean', +@@ -22,3 +22,9 @@ option('tests', type: 'boolean', + option('installed_tests', type: 'boolean', value: true, - description: 'Build the test suite (requires GObject)') + description: 'Install 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') - 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 +diff --git a/tests/meson.build b/tests/meson.build +index 1f9bd0e..0253ac3 100644 +--- a/tests/meson.build ++++ b/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') @@ -47,33 +44,33 @@ index 62129c6..0186400 100644 + 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) + # Make tests conditional on having mutest-1 installed system-wide, or + # available as a subproject +@@ -42,13 +51,13 @@ if mutest_dep.found() + 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: get_option('installed_tests'), +- 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 + test(unit, +@@ -57,7 +66,7 @@ if mutest_dep.found() + include_directories: graphene_inc, + c_args: common_cflags, + install: get_option('installed_tests'), +- install_dir: installed_test_bindir, ++ install_dir: test_bindir, + ), + env: ['MUTEST_OUTPUT=tap'], + protocol: 'tap', -- -2.21.0 +2.22.0 diff --git a/pkgs/development/libraries/graphene/default.nix b/pkgs/development/libraries/graphene/default.nix index 253fce4ea0d..7c61b222486 100644 --- a/pkgs/development/libraries/graphene/default.nix +++ b/pkgs/development/libraries/graphene/default.nix @@ -4,6 +4,7 @@ , meson , ninja , python3 +, mutest , glib , gtk-doc , docbook_xsl @@ -13,7 +14,7 @@ stdenv.mkDerivation rec { pname = "graphene"; - version = "1.8.6"; + version = "1.9.6"; outputs = [ "out" "devdoc" "installedTests" ]; @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { owner = "ebassi"; repo = pname; rev = version; - sha256 = "1hdbdzcz86jrvsq5h954ph9q62m8jr2a5s5acklxhdkfqn5bkbv8"; + sha256 = "0hb7s6g00l7zlf4hlfda55krn0pls9ajz0hcqrh8m656zr18ddwa"; }; patches = [ @@ -41,17 +42,21 @@ stdenv.mkDerivation rec { meson ninja pkgconfig + gobject-introspection python3 ]; buildInputs = [ + glib gobject-introspection ]; checkInputs = [ - glib + mutest ]; + doCheck = true; + meta = with stdenv.lib; { description = "A thin layer of graphic data types"; homepage = "https://ebassi.github.com/graphene"; diff --git a/pkgs/development/libraries/gthree/default.nix b/pkgs/development/libraries/gthree/default.nix new file mode 100644 index 00000000000..6588b8ab440 --- /dev/null +++ b/pkgs/development/libraries/gthree/default.nix @@ -0,0 +1,72 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, ninja +, meson +, pkgconfig +, gobject-introspection +, gtk-doc +, docbook_xsl +, docbook_xml_dtd_43 +, glib +, gtk3 +, graphene +, epoxy +, json-glib +}: + +stdenv.mkDerivation rec { + pname = "gthree"; + version = "unstable-2019-08-21"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchFromGitHub { + owner = "alexlarsson"; + repo = "gthree"; + rev = "dac46b0f35e29319c004c7e17b5f345ef4c04cb8"; + sha256 = "16ixis2g04000zffm44s7ir64vn3byz9a793g2s76aasqybl86i2"; + }; + + patches = [ + # correctly declare json-glib in .pc file + # https://github.com/alexlarsson/gthree/pull/61 + (fetchpatch { + url = https://github.com/alexlarsson/gthree/commit/784b1f20e0b6eb15f113a51f74c2cba871249861.patch; + sha256 = "07vxafaxris5a98w751aw04nlw0l45np1lba08xd16wdzmkadz0x"; + }) + ]; + + nativeBuildInputs = [ + ninja + meson + pkgconfig + gtk-doc + docbook_xsl + docbook_xml_dtd_43 + gobject-introspection + ]; + + buildInputs = [ + epoxy + ]; + + propagatedBuildInputs = [ + glib + gtk3 + graphene + json-glib + ]; + + mesonFlags = [ + "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}" + ]; + + meta = with stdenv.lib; { + description = "GObject/GTK port of three.js"; + homepage = https://github.com/alexlarsson/gthree; + license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/mutest/default.nix b/pkgs/development/libraries/mutest/default.nix new file mode 100644 index 00000000000..b247706067e --- /dev/null +++ b/pkgs/development/libraries/mutest/default.nix @@ -0,0 +1,34 @@ +{ stdenv +, fetchFromGitHub +, meson +, ninja +}: + +stdenv.mkDerivation rec { + pname = "mutest"; + version = "unstable-2019-10-12"; + + outputs = [ "out" "dev" ]; + + src = fetchFromGitHub { + owner = "ebassi"; + repo = "mutest"; + rev = "822b5ddf07f957135ba39889d81e513d525b9b8e"; + sha256 = "0a5fjdq9p0q5bibqngbbpd9lga0gzrv8yj5wgdfb8ylxzg0jph2p"; + }; + + nativeBuildInputs = [ + meson + ninja + ]; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = https://ebassi.github.io/mutest/mutest.md.html; + description = "A BDD testing framework for C, inspired by Mocha"; + license = licenses.mit; + maintainers = with maintainers; [ jtojnar worldofpeace ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/games/gnome-hexgl/default.nix b/pkgs/games/gnome-hexgl/default.nix new file mode 100644 index 00000000000..7a720239182 --- /dev/null +++ b/pkgs/games/gnome-hexgl/default.nix @@ -0,0 +1,43 @@ +{ stdenv +, fetchFromGitHub +, ninja +, meson +, pkgconfig +, gthree +, gsound +, epoxy +, gtk3 +}: + +stdenv.mkDerivation rec { + pname = "gnome-hexgl"; + version = "unstable-2019-08-21"; + + src = fetchFromGitHub { + owner = "alexlarsson"; + repo = "gnome-hexgl"; + rev = "c6edde1250b830c7c8ee738905cb39abef67d4a6"; + sha256 = "17j236damqij8n4a37psvkfxbbc18yw03s3hs0qxgfhl4671wf6z"; + }; + + nativeBuildInputs = [ + ninja + meson + pkgconfig + ]; + + buildInputs = [ + gthree + gsound + epoxy + gtk3 + ]; + + meta = with stdenv.lib; { + description = "Gthree port of HexGL"; + homepage = https://github.com/alexlarsson/gnome-hexgl; + license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d270d8e2d0..b3ea05b72d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1698,6 +1698,8 @@ in gsctl = callPackage ../applications/misc/gsctl { }; + gthree = callPackage ../development/libraries/gthree { }; + gti = callPackage ../tools/misc/gti { }; hdate = callPackage ../applications/misc/hdate { }; @@ -9493,6 +9495,8 @@ in gnome-desktop-testing = callPackage ../development/tools/gnome-desktop-testing {}; + gnome-hexgl = callPackage ../games/gnome-hexgl {}; + gnome-usage = callPackage ../applications/misc/gnome-usage {}; gnome-latex = callPackage ../applications/editors/gnome-latex/default.nix { }; @@ -12627,6 +12631,8 @@ in muparser = callPackage ../development/libraries/muparser { }; + mutest = callPackage ../development/libraries/mutest { }; + mygpoclient = pythonPackages.mygpoclient; mygui = callPackage ../development/libraries/mygui {