summary refs log tree commit diff
path: root/pkgs/development/libraries/libgdata
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-06-30 23:53:04 -0400
committerworldofpeace <worldofpeace@protonmail.ch>2019-07-04 06:10:30 -0400
commite3cbf13aa17a208f26a3f21dfb9cea7a3a21979b (patch)
treec7b5be5848fe20adcc78a3cbb235b608afefb505 /pkgs/development/libraries/libgdata
parent81f15ead6cdb5720ca9fc18d7c7df3aa7f7e2a82 (diff)
downloadnixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.tar
nixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.tar.gz
nixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.tar.bz2
nixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.tar.lz
nixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.tar.xz
nixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.tar.zst
nixpkgs-e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b.zip
libgdata: 0.17.9 -> 0.17.10
* Meson!
* intiltool -> gettext
* multi-outputs
* installed tests

https://gitlab.gnome.org/GNOME/libgdata/blob/0.17.10/NEWS
Diffstat (limited to 'pkgs/development/libraries/libgdata')
-rw-r--r--pkgs/development/libraries/libgdata/default.nix65
-rw-r--r--pkgs/development/libraries/libgdata/installed-tests-path.patch94
2 files changed, 151 insertions, 8 deletions
diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix
index 59e19750715..91994a5cfba 100644
--- a/pkgs/development/libraries/libgdata/default.nix
+++ b/pkgs/development/libraries/libgdata/default.nix
@@ -1,20 +1,69 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib, json-glib, gcr
-, gobject-introspection, liboauth, gnome3, p11-kit, openssl, uhttpmock }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, meson
+, ninja
+, vala
+, gettext
+, libxml2
+, glib
+, json-glib
+, gcr
+, gobject-introspection
+, liboauth
+, gnome3
+, p11-kit
+, openssl
+, uhttpmock
+, libsoup
+}:
 
 stdenv.mkDerivation rec {
   pname = "libgdata";
-  version = "0.17.9";
+  version = "0.17.10";
+
+  outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45";
+    sha256 = "04mh2p5x2iidfx0d1cablxbi3hvna8cmlddc1mm4387n0grx3ly1";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
+  patches = [
+    ./installed-tests-path.patch
+  ];
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    vala
+  ];
+
+  buildInputs = [
+    gcr
+    glib
+    gnome3.gnome-online-accounts
+    liboauth
+    libsoup
+    libxml2
+    openssl
+    p11-kit
+    uhttpmock
+  ];
 
-  buildInputs = [ gnome3.libsoup libxml2 glib liboauth gcr gnome3.gnome-online-accounts p11-kit openssl uhttpmock ];
+  propagatedBuildInputs = [
+    json-glib
+  ];
 
-  propagatedBuildInputs = [ json-glib ];
+  mesonFlags = [
+    "-Dgtk_doc=false"
+    "-Dinstalled_test_bindir=${placeholder ''installedTests''}/libexec"
+    "-Dinstalled_test_datadir=${placeholder ''installedTests''}/share"
+    "-Dinstalled_tests=true"
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -26,7 +75,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "GData API library";
     homepage = https://wiki.gnome.org/Projects/libgdata;
-    maintainers = with maintainers; [ raskin lethalman ];
+    maintainers = with maintainers; [ raskin lethalman ] ++ gnome3.maintainers;
     platforms = platforms.linux;
     license = licenses.lgpl21Plus;
   };
diff --git a/pkgs/development/libraries/libgdata/installed-tests-path.patch b/pkgs/development/libraries/libgdata/installed-tests-path.patch
new file mode 100644
index 00000000000..18669817cfe
--- /dev/null
+++ b/pkgs/development/libraries/libgdata/installed-tests-path.patch
@@ -0,0 +1,94 @@
+diff --git a/gdata/tests/meson.build b/gdata/tests/meson.build
+index 52154e7a..1a44d1d8 100644
+--- a/gdata/tests/meson.build
++++ b/gdata/tests/meson.build
+@@ -1,5 +1,12 @@
+-tests_execdir = gdata_libexecdir / 'installed-tests' / gdata_name
+-tests_metadir = gdata_datadir / 'installed-tests' / gdata_name
++tests_bindir = get_option('installed_test_bindir') / 'installed-tests' / gdata_name
++if tests_bindir == ''
++    test_bindir = gdata_libexecdir / 'installed-tests' / gdata_name
++endif
++
++tests_datadir = get_option('installed_test_datadir') / 'installed-tests' / gdata_name
++if tests_datadir == ''
++    tests_datadir = gdata_datadir / 'installed-tests' / gdata_name
++endif
+ 
+ tests_sources = files(
+   'common.c',
+@@ -48,7 +55,7 @@ foreach test_name, extra_args: tests
+     dependencies: common_deps + extra_args.get('dependencies', []),
+     sources: tests_sources,
+     install: install_tests,
+-    install_dir: tests_execdir,
++    install_dir: tests_bindir,
+   )
+ 
+   test(
+@@ -63,7 +70,7 @@ if install_tests
+   foreach test_name, extra_args: tests
+     tests_conf = {
+       'TEST_TYPE': 'session',
+-      'TEST_ABS_PATH': gdata_prefix / tests_execdir / test_name,
++      'TEST_ABS_PATH': tests_bindir / test_name,
+     }
+ 
+     configure_file (
+@@ -71,13 +78,13 @@ if install_tests
+       output: test_name + '.test',
+       configuration: tests_conf,
+       install: true,
+-      install_dir: tests_metadir,
++      install_dir: tests_datadir,
+     )
+   endforeach
+ 
+   install_subdir(
+     'traces',
+-    install_dir: tests_execdir,
++    install_dir: tests_bindir,
+   )
+ 
+   test_data = [
+@@ -96,6 +103,6 @@ if install_tests
+ 
+   install_data(
+     test_data,
+-    install_dir: tests_execdir,
++    install_dir: tests_bindir,
+   )
+ endif
+diff --git a/meson.build b/meson.build
+index 7d2f5254..bed3e189 100644
+--- a/meson.build
++++ b/meson.build
+@@ -20,9 +20,9 @@ gdata_api_version_minor = 0
+ 
+ # Define the install directories
+ gdata_prefix = get_option('prefix')
+-gdata_datadir = get_option('datadir')
+-gdata_libexecdir = get_option('libexecdir')
+-gdata_includedir = get_option('includedir')
++gdata_datadir = gdata_prefix / get_option('datadir')
++gdata_libexecdir = gdata_prefix / get_option('libexecdir')
++gdata_includedir = gdata_prefix / get_option('includedir')
+ 
+ gdata_include_subdir = gdata_name / 'gdata'
+ 
+diff --git a/meson_options.txt b/meson_options.txt
+index 25cc6b55..6fc2cfa3 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -43,3 +43,11 @@ option('vapi',
+   type: 'boolean',
+   value: true,
+   description: 'Enable creation of vapi files')
++
++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')