[testing] geoclue: update to 2.5.0

This commit is contained in:
Jeff Huang 2018-10-15 05:05:44 +02:00
parent 622805e60e
commit ce5ec2b948
2 changed files with 228 additions and 16 deletions

View File

@ -0,0 +1,208 @@
From 29a3545d9900041d7935e0d612b5c779413a7a40 Mon Sep 17 00:00:00 2001
Message-Id: <29a3545d9900041d7935e0d612b5c779413a7a40.1539550996.git.jan.steffens@gmail.com>
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sun, 14 Oct 2018 22:54:33 +0200
Subject: [PATCH] meson: Make sure all install paths are absolute
libexecdir et al are all relative to prefix.
---
data/meson.build | 14 +++++++++-----
demo/meson.build | 10 ++++------
libgeoclue/meson.build | 3 ---
meson.build | 14 +++++++++++---
public-api/meson.build | 4 +---
src/geocode-glib/meson.build | 3 ---
src/meson.build | 7 +++----
7 files changed, 28 insertions(+), 27 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index 3fdba43..987b2aa 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -7,42 +7,46 @@ if get_option('enable-backend')
conf.set('demo_agent', '')
endif
- conf_dir = get_option('sysconfdir') + '/geoclue/'
+ conf_dir = join_paths(sysconfdir, 'geoclue')
configure_file(output: 'geoclue.conf',
input: 'geoclue.conf.in',
configuration: conf,
install_dir: conf_dir)
conf = configuration_data()
- conf.set('libexecdir', get_option('libexecdir'))
+ conf.set('libexecdir', libexecdir)
conf.set('dbus_srv_user', get_option('dbus-srv-user'))
- service_dir = get_option('datadir') + '/dbus-1/system-services'
+ service_dir = join_paths(datadir, 'dbus-1', 'system-services')
configure_file(output: 'org.freedesktop.GeoClue2.service',
input: 'org.freedesktop.GeoClue2.service.in',
configuration: conf,
install_dir: service_dir)
# DBus Service policy file
dbus_service_dir = get_option('dbus-sys-dir')
- if dbus_service_dir == ''
- dbus_service_dir = get_option('sysconfdir') + '/dbus-1/system.d'
+ if dbus_service_dir == ''
+ dbus_service_dir = join_paths(sysconfdir, 'dbus-1', 'system.d')
+ else
+ dbus_service_dir = join_paths(get_option('prefix'), dbus_service_dir)
endif
configure_file(output: 'org.freedesktop.GeoClue2.conf',
input: 'org.freedesktop.GeoClue2.conf.in',
configuration: conf,
install_dir: dbus_service_dir)
configure_file(output: 'org.freedesktop.GeoClue2.Agent.conf',
input: 'org.freedesktop.GeoClue2.Agent.conf.in',
configuration: conf,
install_dir: dbus_service_dir)
systemd_unit_dir = get_option('systemd-system-unit-dir')
if systemd_unit_dir == ''
dep = dependency('systemd', required: false)
if dep.found()
systemd_unit_dir = dep.get_pkgconfig_variable('systemdsystemunitdir')
endif
+ else
+ systemd_unit_dir = join_paths(get_option('prefix'), systemd_unit_dir)
endif
if systemd_unit_dir != ''
diff --git a/demo/meson.build b/demo/meson.build
index 07d4797..99c094f 100644
--- a/demo/meson.build
+++ b/demo/meson.build
@@ -1,9 +1,9 @@
-desktop_dir = get_option('datadir') + '/applications'
-demo_dir = get_option('libexecdir') + '/geoclue-2.0/demos'
+desktop_dir = join_paths(datadir, 'applications')
+demo_dir = join_paths(libexecdir, 'geoclue-2.0', 'demos')
i18n = import('i18n')
desktop_conf = configuration_data()
-desktop_conf.set('libexecdir', get_option('libexecdir'))
+desktop_conf.set('libexecdir', libexecdir)
if get_option('libgeoclue')
include_dirs = [ configinc,
@@ -56,9 +56,7 @@ if get_option('demo-agent')
install_dir: desktop_dir)
# Also install in the autostart directory.
- autostart_dir = join_paths(get_option('prefix'),
- get_option('sysconfdir'),
- 'xdg/autostart')
+ autostart_dir = join_paths(sysconfdir, 'xdg', 'autostart')
meson.add_install_script('install-file.py',
desktop_file.full_path(),
autostart_dir)
diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build
index bdf72e0..846e149 100644
--- a/libgeoclue/meson.build
+++ b/libgeoclue/meson.build
@@ -1,6 +1,3 @@
-header_dir = 'libgeoclue-' + gclue_api_version
-abs_header_dir = join_paths(get_option('includedir'), header_dir)
-
# FIXME: meson 0.46 doesn't seem to be actually installing the headers
# generated by gnome.gdbus_codegen:
#
diff --git a/meson.build b/meson.build
index ea08d04..ef87b05 100644
--- a/meson.build
+++ b/meson.build
@@ -9,19 +9,27 @@ gclue_micro_version = ver_arr[2]
gclue_api_version='2.0'
+datadir = join_paths(get_option('prefix'), get_option('datadir'))
+includedir = join_paths(get_option('prefix'), get_option('includedir'))
+libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'))
+sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir'))
+localedir = join_paths(datadir, 'locale')
+
+header_dir = 'libgeoclue-' + gclue_api_version
+abs_header_dir = join_paths(includedir, header_dir)
+
conf = configuration_data()
conf.set_quoted('VERSION', gclue_version)
conf.set_quoted('PACKAGE_VERSION', gclue_version)
conf.set_quoted('PACKAGE_NAME', 'geoclue')
conf.set_quoted('GETTEXT_PACKAGE', 'geoclue')
conf.set_quoted('PACKAGE_TARNAME', 'geoclue')
conf.set_quoted('PACKAGE_STRING', 'geoclue ' + gclue_version)
conf.set_quoted('PACKAGE_URL', 'http://www.freedesktop.org/wiki/Software/GeoClue')
conf.set_quoted('PACKAGE_BUGREPORT', 'http://bugs.freedesktop.org/enter_bug.cgi?product=GeoClue')
conf.set_quoted('TEST_SRCDIR', meson.source_root() + '/data/')
-datadir = get_option('prefix') + '/' + get_option('datadir')
-conf.set_quoted('LOCALEDIR', datadir + '/locale')
-conf.set_quoted('SYSCONFDIR', get_option('sysconfdir'))
+conf.set_quoted('LOCALEDIR', localedir)
+conf.set_quoted('SYSCONFDIR', sysconfdir)
configure_file(output: 'config.h', configuration : conf)
configinc = include_directories('.')
diff --git a/public-api/meson.build b/public-api/meson.build
index 4f93ecb..348b7e7 100644
--- a/public-api/meson.build
+++ b/public-api/meson.build
@@ -1,16 +1,14 @@
headers = [ 'gclue-enums.h' ]
-header_dir = 'libgeoclue-' + gclue_api_version
install_headers(headers, subdir: header_dir)
-install_dir = get_option('includedir') + '/' + header_dir
libgeoclue_public_api_gen_sources = gnome.mkenums_simple(
'gclue-enum-types',
sources: headers,
header_prefix: '#include <gclue-enums.h>',
decorator : 'GCLUE_ENUMS_H',
install_header: true,
- install_dir: install_dir)
+ install_dir: abs_header_dir)
libgeoclue_public_api_inc = include_directories('.')
libgeoclue_public_api = static_library('geoclue-public-api',
diff --git a/src/geocode-glib/meson.build b/src/geocode-glib/meson.build
index 6c6c8c1..17fb435 100644
--- a/src/geocode-glib/meson.build
+++ b/src/geocode-glib/meson.build
@@ -16,9 +16,6 @@ sources = [ 'geocode-location.h',
'geocode-bounding-box.c',
'geocode-glib-private.h' ]
-datadir = get_option('prefix') + '/' + get_option('datadir')
-localedir = datadir + '/locale'
-
c_args = [ '-DPACKAGE_VERSION="' + gclue_version + '"',
'-DGEOCODE_LOCALEDIR="' + localedir + '"' ]
libgeocode_glib_inc = include_directories('.', '..', '../..')
diff --git a/src/meson.build b/src/meson.build
index e2a1376..cb81393 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,5 +1,4 @@
-dbus_interface_dir = get_option('datadir') + '/dbus-1/interfaces'
-abs_dbus_interface_dir = join_paths(get_option('prefix'), dbus_interface_dir)
+dbus_interface_dir = join_paths(datadir, 'dbus-1', 'interfaces')
subdir('agent')
@@ -129,8 +128,8 @@ executable('geoclue',
install: true,
install_dir: install_dir)
-dbus_interface = abs_dbus_interface_dir + '/org.freedesktop.GeoClue2.xml'
-agent_dbus_interface = abs_dbus_interface_dir + '/org.freedesktop.GeoClue2.Agent.xml'
+dbus_interface = join_paths(dbus_interface_dir, 'org.freedesktop.GeoClue2.xml')
+agent_dbus_interface = join_paths(dbus_interface_dir, 'org.freedesktop.GeoClue2.Agent.xml')
pkgconf = import('pkgconfig')
pkgconf.generate(version: gclue_version,
name: 'Geoclue',
--
2.19.1

View File

@ -1,18 +1,21 @@
# Fetch from Arch: https://www.archlinux.org/packages/extra/x86_64/geoclue2/
# Contributions from Arch:
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: György Balló <ballogy@freestart.hu>
pkgname=geoclue
pkgver=2.4.7
pkgver=2.5.0
pkgrel=1
pkgdesc="Modular geoinformation service built on the D-Bus messaging system"
arch=(i686 x86_64)
url="https://www.freedesktop.org/wiki/Software/GeoClue/"
arch=(x86_64)
url="https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home"
license=(LGPL)
depends=(libsoup json-glib modemmanager avahi)
makedepends=(intltool geoip python systemd gobject-introspection git)
optdepends=('geoip: geoip-lookup server binary')
depends=(libsoup json-glib modemmanager avahi libnotify)
makedepends=(systemd gobject-introspection vala meson gtk-doc)
backup=(etc/geoclue/geoclue.conf)
source=("https://www.freedesktop.org/software/$pkgname/releases/${pkgver%.*}/${pkgname}-$pkgver.tar.xz")
sha256sums=('d17b96bb5799a84723385ea5704235565e9c3dedd2b7afac475a06e550ae0ea6')
source=("https://gitlab.freedesktop.org/${pkgname}/${pkgname}/-/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz"
0001-meson-Make-sure-all-install-paths-are-absolute.patch)
sha256sums=('282e19d55ad96dcb0ae4c0dcd8472ded1b7205c621853d8ea8f5a118882bca4f'
'35c95ab25b607922e97c1f71ff3ac0a8f0b1df84899202bbc76afc7ea7f8cda9')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Chakra Linux use ONLY. For your own distribution, please
@ -28,21 +31,22 @@ _mozilla_api_key=bf05f841-e0bd-4644-81f5-3c132755f2e9
prepare() {
cd $pkgname-$pkgver
patch -Np1 -i ../0001-meson-Make-sure-all-install-paths-are-absolute.patch
sed -e "s/key=geoclue/key=$_mozilla_api_key/" \
-e "s/key=YOUR_KEY/key=$_google_api_key/" \
-i data/geoclue.conf.in
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libexecdir=/usr/lib/$pkgname --disable-static --disable-gtk-doc
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
chakra-meson ${pkgname}-${pkgver} build
ninja -C build
}
check() {
meson test -C build
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
DESTDIR="$pkgdir" meson install -C build
}