diff --git a/geoclue/0001-meson-Make-sure-all-install-paths-are-absolute.patch b/geoclue/0001-meson-Make-sure-all-install-paths-are-absolute.patch new file mode 100644 index 000000000..c1cc00e5a --- /dev/null +++ b/geoclue/0001-meson-Make-sure-all-install-paths-are-absolute.patch @@ -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)" +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 ', + 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 + diff --git a/geoclue/PKGBUILD b/geoclue/PKGBUILD index 5465997d9..9978d9d51 100644 --- a/geoclue/PKGBUILD +++ b/geoclue/PKGBUILD @@ -1,18 +1,21 @@ -# Fetch from Arch: https://www.archlinux.org/packages/extra/x86_64/geoclue2/ +# Contributions from Arch: +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: György Balló 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 }