app-misc/geoclue: 2.5 series packaging fixes, unmask
authorMart Raudsepp <leio@gentoo.org>
Sun, 7 Jul 2019 17:23:32 +0000 (20:23 +0300)
committerMart Raudsepp <leio@gentoo.org>
Sun, 7 Jul 2019 17:29:08 +0000 (20:29 +0300)
* Enable demo-agent as in 2.4.13, as it's the only known agent
  available for non-GNOME for actually having a geoclue service
  responding on other desktops than GNOME
* Rewrite optional vapi patch to not need sedding
* Port to EAPI-7
* Add missing REQUIRED_USE="vala? ( introspection )"
* Drop unnecessary bogus VALA_MIN_API_VERSION
* Drop unnecessary gnome.org.eclass inherit
* Fix LICENSE
* Fix gtk-doc dep to be conditional to USE=gtk-doc, add missing
  docbook-xml-dtd dep
* Reorder emesonargs to meson_options.txt order for easier
  (future) review and drop unnecessary backslashes at EOLs
* Various other touchups
* Unmask it now together with newer xdg-desktop-portal, as it's
  been reviewed now

Closes: https://bugs.gentoo.org/678814
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
app-misc/geoclue/files/2.5.3-optional-vapi.patch [new file with mode: 0644]
app-misc/geoclue/files/geoclue-2.5.3-optional-vapi.patch [deleted file]
app-misc/geoclue/geoclue-2.5.3-r1.ebuild [deleted file]
app-misc/geoclue/geoclue-2.5.3-r2.ebuild [new file with mode: 0644]
profiles/package.mask

diff --git a/app-misc/geoclue/files/2.5.3-optional-vapi.patch b/app-misc/geoclue/files/2.5.3-optional-vapi.patch
new file mode 100644 (file)
index 0000000..d451d6e
--- /dev/null
@@ -0,0 +1,52 @@
+From 3598b8b9c1a6ef4a31e2c179a6be3e3a69cce357 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sun, 7 Jul 2019 15:57:03 +0300
+Subject: [PATCH] meson: Make vapi generation optional and remove explicit
+ vapigen check
+
+meson gnome.generate_vapi properly handles VAPIGEN and other vala
+environment variables. It is counter-productive to check for an
+unversioned vapigen, as that breaks versioned VAPIGEN usages.
+---
+ libgeoclue/meson.build | 3 +--
+ meson_options.txt      | 3 +++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build
+index e228ec3..d053bc1 100644
+--- a/libgeoclue/meson.build
++++ b/libgeoclue/meson.build
+@@ -58,7 +58,6 @@ libgeoclue_dep = declare_dependency(link_with: libgeoclue,
+                                     sources: [ libgeoclue_sources, libgeoclue_headers ])
+ gir = find_program('g-ir-scanner', required: false)
+-vapigen = find_program('vapigen', required: false)
+ enable_gir = get_option('introspection')
+ pkg_requirements = ['glib-2.0', 'gio-2.0', 'gio-unix-2.0']
+ gir_sources = [ libgeoclue_sources,
+@@ -78,7 +77,7 @@ if gir.found() and enable_gir
+                                install: true,
+                                header: 'geoclue.h',
+                                extra_args: [ '--quiet' ])
+-  if vapigen.found()
++  if get_option('vapi')
+     gnome.generate_vapi('libgeoclue-' + gclue_api_version,
+                         sources: geo_gir[0],
+                         packages: pkg_requirements,
+diff --git a/meson_options.txt b/meson_options.txt
+index 83bc60e..3a832d5 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -4,6 +4,9 @@ option('libgeoclue',
+ option('introspection',
+         type: 'boolean', value: true,
+         description: 'Enable convenience library introspection generation')
++option('vapi',
++       type: 'boolean', value: true,
++       description: 'Generate vapi data for convenience library (requires vapigen and introspection)')
+ option('gtk-doc',
+        type: 'boolean', value: true,
+        description: 'Whether to generate the API reference for Geocode-GLib')
+-- 
+2.20.1
+
diff --git a/app-misc/geoclue/files/geoclue-2.5.3-optional-vapi.patch b/app-misc/geoclue/files/geoclue-2.5.3-optional-vapi.patch
deleted file mode 100644 (file)
index 874488d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 56c7ca99dcadbf3e80ff2a9baf3e174f278b6a71 Mon Sep 17 00:00:00 2001
-From: Sobhan Mohammadpour <sobhan@gentoo.org>
-Date: Wed, 19 Jun 2019 01:16:16 -0400
-Subject: [PATCH] optinal vala
-
----
- libgeoclue/meson.build | 5 +++--
- meson_options.txt      | 3 +++
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build
-index e228ec3..e78a3e8 100644
---- a/libgeoclue/meson.build
-+++ b/libgeoclue/meson.build
-@@ -58,7 +58,8 @@ libgeoclue_dep = declare_dependency(link_with: libgeoclue,
-                                     sources: [ libgeoclue_sources, libgeoclue_headers ])
- gir = find_program('g-ir-scanner', required: false)
--vapigen = find_program('vapigen', required: false)
-+vapigen_req = get_option('vapigen')
-+vapigen = find_program('vapigen-ver', required: false)
- enable_gir = get_option('introspection')
- pkg_requirements = ['glib-2.0', 'gio-2.0', 'gio-unix-2.0']
- gir_sources = [ libgeoclue_sources,
-@@ -78,7 +79,7 @@ if gir.found() and enable_gir
-                                install: true,
-                                header: 'geoclue.h',
-                                extra_args: [ '--quiet' ])
--  if vapigen.found()
-+  if vapigen.found() and vapigen_req
-     gnome.generate_vapi('libgeoclue-' + gclue_api_version,
-                         sources: geo_gir[0],
-                         packages: pkg_requirements,
-diff --git a/meson_options.txt b/meson_options.txt
-index 83bc60e..8611f6c 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,6 @@
-+option('vapigen',
-+       type: 'boolean', value: false,
-+       description: 'Enable vala?')
- option('libgeoclue',
-         type: 'boolean', value: true,
-         description: 'Enable convenience library')
--- 
-2.21.0
-
diff --git a/app-misc/geoclue/geoclue-2.5.3-r1.ebuild b/app-misc/geoclue/geoclue-2.5.3-r1.ebuild
deleted file mode 100644 (file)
index b4c7c30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-VALA_USE_DEPEND="vapigen"
-VALA_MIN_API_VERSION="0.32"
-
-inherit gnome.org meson systemd vala user xdg
-
-DESCRIPTION="A geoinformation D-Bus service"
-HOMEPAGE="https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home"
-SRC_URI="https://gitlab.freedesktop.org/geoclue/${PN}/-/archive/${PV}/${P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="2.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
-#todo maybe add a use flat for libgeoclue
-IUSE="+introspection gtk-doc modemmanager vala zeroconf"
-
-RDEPEND="
-       >=dev-libs/glib-2.44:2
-       >=dev-libs/json-glib-0.14
-       >=net-libs/libsoup-2.42:2.4
-       sys-apps/dbus
-       introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
-       modemmanager? ( >=net-misc/modemmanager-1.6 )
-       zeroconf? ( >=net-dns/avahi-0.6.10[dbus] )
-       !<sci-geosciences/geocode-glib-3.10.0
-       x11-libs/libnotify
-"
-DEPEND="${RDEPEND}
-       dev-util/gdbus-codegen
-       dev-util/glib-utils
-       >=dev-util/gtk-doc-1
-       sys-devel/gettext
-       virtual/pkgconfig
-       vala? (  $(vala_depend) )
-"
-
-src_prepare() {
-       epatch "${FILESDIR}"/${P}-optional-vapi.patch
-
-       vala_src_prepare
-       sed -i -e "s:'vapigen-ver':'vapigen-$(vala_best_api_version)':" libgeoclue/meson.build || die
-       xdg_src_prepare
-}
-
-src_configure() {
-       # debug only affects CFLAGS
-       local emesonargs=(
-               $(meson_use gtk-doc)
-               $(meson_use vala vapigen)
-               -Ddbus-srv-user=geoclue \
-               -Denable-backend=true \
-               -Dlibgeoclue=true \
-               -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" \
-               -Ddemo-agent=false \
-               $(meson_use introspection) \
-               $(meson_use modemmanager 3g-source) \
-               $(meson_use modemmanager cdma-source) \
-               $(meson_use modemmanager modem-gps-source) \
-               $(meson_use zeroconf nmea-source)
-       )
-       meson_src_configure
-}
-
-pkg_preinst() {
-       enewgroup geoclue
-       enewuser geoclue -1 -1 /var/lib/geoclue geoclue
-}
diff --git a/app-misc/geoclue/geoclue-2.5.3-r2.ebuild b/app-misc/geoclue/geoclue-2.5.3-r2.ebuild
new file mode 100644 (file)
index 0000000..73bd107
--- /dev/null
@@ -0,0 +1,72 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_USE_DEPEND="vapigen"
+
+inherit meson systemd vala user xdg
+
+DESCRIPTION="A location information D-Bus service"
+HOMEPAGE="https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home"
+SRC_URI="https://gitlab.freedesktop.org/geoclue/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="2.0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+IUSE="+introspection gtk-doc modemmanager vala zeroconf"
+REQUIRED_USE="vala? ( introspection )"
+
+DEPEND="
+       >=dev-libs/glib-2.44:2
+       >=dev-libs/json-glib-0.14.0
+       >=net-libs/libsoup-2.42.0:2.4
+       introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+       modemmanager? ( >=net-misc/modemmanager-1.6 )
+       zeroconf? ( >=net-dns/avahi-0.6.10[dbus] )
+       x11-libs/libnotify
+"
+RDEPEND="${DEPEND}
+       sys-apps/dbus
+"
+BDEPEND="
+       dev-util/gdbus-codegen
+       dev-util/glib-utils
+       gtk-doc? (
+               app-text/docbook-xml-dtd:4.1.2
+               >=dev-util/gtk-doc-1 )
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PV}-optional-vapi.patch
+)
+
+src_prepare() {
+       xdg_src_prepare
+       use vala && vala_src_prepare
+}
+
+src_configure() {
+       local emesonargs=(
+               -Dlibgeoclue=true
+               $(meson_use introspection)
+               $(meson_use vala vapi)
+               $(meson_use gtk-doc)
+               $(meson_use modemmanager 3g-source)
+               $(meson_use modemmanager cdma-source)
+               $(meson_use modemmanager modem-gps-source)
+               $(meson_use zeroconf nmea-source)
+               -Denable-backend=true
+               -Ddemo-agent=true
+               -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+               -Ddbus-srv-user=geoclue
+       )
+       meson_src_configure
+}
+
+pkg_preinst() {
+       enewgroup geoclue
+       enewuser geoclue -1 -1 /var/lib/geoclue geoclue
+}
index 9768d7ebd64986002c0840b3721647a26d502d48..f44ef0c90cc0c48d2998accd49160ff6624bc6d6 100644 (file)
@@ -123,11 +123,6 @@ sci-biology/vaal
 # Bug #664708, #685924
 sci-biology/allpathslg
 
-# Sobhan Mohammadpour <sobhan@gentoo.org> (2019-06-19)
-# this is new and it needs testing
->=app-misc/geoclue-2.5.3
-=sys-apps/xdg-desktop-portal-1.4.2
-
 # Georgy Yakovlev <gyakovlev@gentoo.org> (2019-06-17)
 # this is now provided by dev-lang/rust{-bin}[rustfmt]
 # it's tightly integrated with rust toolchain, eselect-rust