From c0964398468b31ec18acc265ace5500fdec37dff Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 14 Apr 2021 02:11:08 +0200 Subject: [PATCH 1/3] geoclue2: clean up --- .../development/libraries/geoclue/default.nix | 63 ++++++++++++++----- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix index 711f1a444b3..6f2947c3338 100644 --- a/pkgs/development/libraries/geoclue/default.nix +++ b/pkgs/development/libraries/geoclue/default.nix @@ -1,14 +1,34 @@ -{ lib, stdenv, fetchFromGitLab, intltool, meson, ninja, pkg-config, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk-pixbuf -, modemmanager, avahi, glib-networking, python3, wrapGAppsHook, gobject-introspection, vala +{ lib +, stdenv +, fetchFromGitLab +, intltool +, meson +, ninja +, pkg-config +, gtk-doc +, docbook-xsl-nons +, docbook_xml_dtd_412 +, glib +, json-glib +, libsoup +, libnotify +, gdk-pixbuf +, modemmanager +, avahi +, glib-networking +, python3 +, wrapGAppsHook +, gobject-introspection +, vala , withDemoAgent ? false }: -with lib; - stdenv.mkDerivation rec { pname = "geoclue"; version = "2.5.6"; + outputs = [ "out" "dev" "devdoc" ]; + src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = pname; @@ -21,30 +41,45 @@ stdenv.mkDerivation rec { ./add-option-for-installation-sysconfdir.patch ]; - outputs = [ "out" "dev" "devdoc" ]; - nativeBuildInputs = [ - pkg-config intltool meson ninja wrapGAppsHook python3 vala gobject-introspection + pkg-config + intltool + meson + ninja + wrapGAppsHook + python3 + vala + gobject-introspection # devdoc - gtk-doc docbook_xsl docbook_xml_dtd_412 + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_412 ]; buildInputs = [ - glib json-glib libsoup avahi - ] ++ optionals withDemoAgent [ + glib + json-glib + libsoup + avahi + ] ++ lib.optionals withDemoAgent [ libnotify gdk-pixbuf - ] ++ optionals (!stdenv.isDarwin) [ modemmanager ]; + ] ++ lib.optionals (!stdenv.isDarwin) [ + modemmanager + ]; - propagatedBuildInputs = [ glib glib-networking ]; + propagatedBuildInputs = [ + glib + glib-networking + ]; mesonFlags = [ "-Dsystemd-system-unit-dir=${placeholder "out"}/etc/systemd/system" - "-Ddemo-agent=${boolToString withDemoAgent}" + "-Ddemo-agent=${lib.boolToString withDemoAgent}" "--sysconfdir=/etc" "-Dsysconfdir_install=${placeholder "out"}/etc" "-Ddbus-srv-user=geoclue" "-Ddbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" - ] ++ optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ "-D3g-source=false" "-Dcdma-source=false" "-Dmodem-gps-source=false" From 0fc0dd22ffc2e3b68585ae4a62c3b7beac852620 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 14 Apr 2021 02:15:13 +0200 Subject: [PATCH 2/3] =?UTF-8?q?geoclue2:=202.5.6=20=E2=86=92=202.5.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.freedesktop.org/geoclue/geoclue/-/commits/2.5.7 --- pkgs/development/libraries/geoclue/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix index 6f2947c3338..3e7e295c853 100644 --- a/pkgs/development/libraries/geoclue/default.nix +++ b/pkgs/development/libraries/geoclue/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { pname = "geoclue"; - version = "2.5.6"; + version = "2.5.7"; outputs = [ "out" "dev" "devdoc" ]; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { owner = pname; repo = pname; rev = version; - sha256 = "13fk6n4j74lvcsrg3kwbw1mkxgcr3iy9dnysmy0pclfsym8z5m5m"; + sha256 = "1mv1vs4q94bqkmgkj53jcsw1x31kczwydyy3r27a7fycgzmii1pj"; }; patches = [ From 80e5df8b5a07126f06d358283867fb70c2a1ee2c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 14 Apr 2021 02:30:43 +0200 Subject: [PATCH 3/3] geoclue2: Use our own Mozilla API key https://github.com/NixOS/nixpkgs/issues/110031#issuecomment-777078988 --- .../add-option-for-installation-sysconfdir.patch | 7 +++++-- pkgs/development/libraries/geoclue/default.nix | 13 +++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch b/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch index 9eb53acebb0..63948ab4fad 100644 --- a/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch +++ b/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch @@ -65,17 +65,20 @@ index fde6fa3..39b7b0a 100644 conf.set_quoted('LOCALEDIR', localedir) -conf.set_quoted('SYSCONFDIR', sysconfdir) +conf.set_quoted('SYSCONFDIR', get_option('sysconfdir')) + conf.set_quoted('MOZILLA_API_KEY', get_option('mozilla-api-key')) conf.set10('GCLUE_USE_3G_SOURCE', get_option('3g-source')) conf.set10('GCLUE_USE_CDMA_SOURCE', get_option('cdma-source')) - conf.set10('GCLUE_USE_MODEM_GPS_SOURCE', get_option('modem-gps-source')) diff --git a/meson_options.txt b/meson_options.txt index 83bc60e..b726329 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -34,3 +34,6 @@ option('systemd-system-unit-dir', +@@ -34,6 +34,9 @@ option('systemd-system-unit-dir', option('dbus-srv-user', type: 'string', value: 'root', description: 'The user (existing) as which the service will run') +option('sysconfdir_install', + type: 'string', value: '', + description: 'sysconfdir to use during installation') + option('mozilla-api-key', + type: 'string', value: 'geoclue', + description: 'Your API key for Mozilla Location Service') diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix index 3e7e295c853..360094ea765 100644 --- a/pkgs/development/libraries/geoclue/default.nix +++ b/pkgs/development/libraries/geoclue/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitLab +, fetchpatch , intltool , meson , ninja @@ -38,6 +39,17 @@ stdenv.mkDerivation rec { }; patches = [ + # Make the Mozilla API key configurable + # https://gitlab.freedesktop.org/geoclue/geoclue/merge_requests/54 (only partially backported) + (fetchpatch { + url = "https://gitlab.freedesktop.org/geoclue/geoclue/commit/95c9ad4dc176860c85a07d0db4cb4179929bdb54.patch"; + sha256 = "/lq/dLBJl2vf16tt7emYoTtXY6iUw+4s2XcABUHp3Kc="; + }) + (fetchpatch { + url = "https://gitlab.freedesktop.org/geoclue/geoclue/commit/1a00809a0d89b0849a57647c878d192354247a33.patch"; + sha256 = "6FuiukgFWg2cEKt8LlKP4E0rfSH/ZQgk6Ip1mGJpNFQ="; + }) + ./add-option-for-installation-sysconfdir.patch ]; @@ -77,6 +89,7 @@ stdenv.mkDerivation rec { "-Ddemo-agent=${lib.boolToString withDemoAgent}" "--sysconfdir=/etc" "-Dsysconfdir_install=${placeholder "out"}/etc" + "-Dmozilla-api-key=5c28d1f4-9511-47ff-b11a-2bef80fc177c" "-Ddbus-srv-user=geoclue" "-Ddbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" ] ++ lib.optionals stdenv.isDarwin [