From 346440fab594bdf39ec96440a8cd6757fab66916 Mon Sep 17 00:00:00 2001 From: Isaac David Date: Mon, 19 Jun 2017 18:54:41 -0500 Subject: nonprism/gnome-settings-daemon: backtrack and move to nonprism-testing --- nonprism-testing/gnome-settings-daemon/PKGBUILD | 56 ++++ .../gnome-settings-daemon/nonprism.patch | 288 +++++++++++++++++++++ 2 files changed, 344 insertions(+) create mode 100644 nonprism-testing/gnome-settings-daemon/PKGBUILD create mode 100644 nonprism-testing/gnome-settings-daemon/nonprism.patch (limited to 'nonprism-testing') diff --git a/nonprism-testing/gnome-settings-daemon/PKGBUILD b/nonprism-testing/gnome-settings-daemon/PKGBUILD new file mode 100644 index 000000000..c1347740b --- /dev/null +++ b/nonprism-testing/gnome-settings-daemon/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer (Arch): Jan Alexander Steffens (heftig) +# Maintainer: André Silva +# Contributor: Isaac David + +pkgname=gnome-settings-daemon +pkgver=3.24.2 +pkgrel=1.nonprism1 +pkgdesc="GNOME Settings Daemon, without geoclue2 support" +url="https://git.gnome.org/browse/gnome-settings-daemon" +arch=(i686 x86_64 armv7h) +license=(GPL) +depends=(dconf gnome-desktop gsettings-desktop-schemas libcanberra-pulse libnotify libsystemd + libwacom pulseaudio pulseaudio-alsa upower librsvg libgweather geocode-glib nss + libgudev gtk3-print-backends libnm) +makedepends=(intltool xf86-input-wacom libxslt docbook-xsl python git gnome-common) +groups=(gnome) +_commit=2ff67385f2b7c7adb0ab438cb41d114235a8e40a # tags/GNOME_SETTINGS_DAEMON_3_24_2^0 +source=("git+https://git.gnome.org/browse/gnome-settings-daemon#commit=$_commit" + "git+https://git.gnome.org/browse/libgnome-volume-control" + nonprism.patch) +sha256sums=('SKIP' + 'SKIP' + '04217ba23fe3d76b04bdb92059257972ee7511aec6f713d807434f6a10e3d1a5') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^GNOME_SETTINGS_DAEMON_//;s/_/./g;s/-/+/g' +} + +prepare() { + cd $pkgname + + git submodule init + git config --local submodule."panels/media-keys/gvc".url "$srcdir/libgnome-volume-control" + git submodule update + + patch -p1 -i $srcdir/nonprism.patch + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd $pkgname + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/$pkgname --disable-static + + #https://bugzilla.gnome.org/show_bug.cgi?id=656231 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install +} diff --git a/nonprism-testing/gnome-settings-daemon/nonprism.patch b/nonprism-testing/gnome-settings-daemon/nonprism.patch new file mode 100644 index 000000000..2e35a49c1 --- /dev/null +++ b/nonprism-testing/gnome-settings-daemon/nonprism.patch @@ -0,0 +1,288 @@ +diff --git a/configure.ac b/configure.ac +index 84c8ce234..856eaeb49 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,7 +57,6 @@ POLKIT_REQUIRED_VERSION=0.103 + UPOWER_REQUIRED_VERSION=0.99.0 + GSETTINGS_DESKTOP_SCHEMAS_REQUIRED_VERSION=3.23.3 + GEOCODE_GLIB_REQUIRED_VERSION=3.10.0 +-GEOCLUE_REQUIRED_VERSION=2.3.1 + NM_REQUIRED_VERSION=1.0 + LCMS_REQUIRED_VERSION=2.2 + +@@ -162,13 +161,11 @@ PKG_CHECK_MODULES(COLOR, + colord >= 1.0.2 + gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION + libcanberra-gtk3 +- libgeoclue-2.0 >= $GEOCLUE_REQUIRED_VERSION + lcms2 >= $LCMS_REQUIRED_VERSION + libnotify) + + PKG_CHECK_MODULES(DATETIME, + libnotify >= $LIBNOTIFY_REQUIRED_VERSION +- libgeoclue-2.0 >= $GEOCLUE_REQUIRED_VERSION + geocode-glib-1.0 >= $GEOCODE_GLIB_REQUIRED_VERSION + gweather-3.0 >= $LIBGWEATHER_REQUIRED_VERSION + polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION) +diff --git a/plugins/color/gcm-self-test.c b/plugins/color/gcm-self-test.c +index 83c06c525..c22191e86 100644 +--- a/plugins/color/gcm-self-test.c ++++ b/plugins/color/gcm-self-test.c +@@ -70,9 +70,6 @@ gcm_test_night_light (void) + datetime_override = g_date_time_new_utc (2017, 2, 8, 20, 0, 0); + gsd_night_light_set_date_time_now (nlight, datetime_override); + +- /* do not start geoclue */ +- gsd_night_light_set_geoclue_enabled (nlight, FALSE); +- + /* do not smooth the transition */ + gsd_night_light_set_smooth_enabled (nlight, FALSE); + +diff --git a/plugins/color/gsd-night-light.c b/plugins/color/gsd-night-light.c +index 67415f1d8..7f5118468 100644 +--- a/plugins/color/gsd-night-light.c ++++ b/plugins/color/gsd-night-light.c +@@ -20,7 +20,6 @@ + + #include "config.h" + +-#include + + #define GNOME_DESKTOP_USE_UNSTABLE_API + #include "gnome-datetime-source.h" +@@ -34,12 +33,9 @@ struct _GsdNightLight { + GObject parent; + GSettings *settings; + gboolean disabled_until_tmw; +- gboolean geoclue_enabled; + GSource *source; + guint validate_id; + gint disabled_day_of_month; +- GClueClient *geoclue_client; +- GClueSimple *geoclue_simple; + gdouble cached_sunrise; + gdouble cached_sunset; + gdouble cached_temperature; +@@ -407,66 +403,6 @@ settings_changed_cb (GSettings *settings, gchar *key, gpointer user_data) + night_light_recheck (self); + } + +-static void +-on_location_notify (GClueSimple *simple, +- GParamSpec *pspec, +- gpointer user_data) +-{ +- GsdNightLight *self = GSD_NIGHT_LIGHT (user_data); +- GClueLocation *location; +- gdouble latitude, longitude; +- +- location = gclue_simple_get_location (simple); +- latitude = gclue_location_get_latitude (location); +- longitude = gclue_location_get_longitude (location); +- +- g_settings_set_value (self->settings, +- "night-light-last-coordinates", +- g_variant_new ("(dd)", latitude, longitude)); +- +- g_debug ("got geoclue latitude %f, longitude %f", latitude, longitude); +- +- /* recheck the levels if the location changed significantly */ +- if (update_cached_sunrise_sunset (self)) +- night_light_recheck_schedule (self); +-} +- +-static void +-on_geoclue_simple_ready (GObject *source_object, +- GAsyncResult *res, +- gpointer user_data) +-{ +- GsdNightLight *self = GSD_NIGHT_LIGHT (user_data); +- GClueSimple *geoclue_simple; +- g_autoptr(GError) error = NULL; +- +- geoclue_simple = gclue_simple_new_finish (res, &error); +- if (geoclue_simple == NULL) { +- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) +- g_warning ("Failed to connect to GeoClue2 service: %s", error->message); +- return; +- } +- +- self->geoclue_simple = geoclue_simple; +- self->geoclue_client = gclue_simple_get_client (self->geoclue_simple); +- +- g_signal_connect (self->geoclue_simple, "notify::location", +- G_CALLBACK (on_location_notify), user_data); +- +- on_location_notify (self->geoclue_simple, NULL, user_data); +-} +- +-static void +-register_geoclue (GsdNightLight *self) +-{ +- gclue_simple_new (DESKTOP_ID, +- GCLUE_ACCURACY_LEVEL_CITY, +- self->cancellable, +- on_geoclue_simple_ready, +- self); +- +-} +- + void + gsd_night_light_set_disabled_until_tmw (GsdNightLight *self, gboolean value) + { +@@ -511,19 +447,10 @@ gsd_night_light_get_temperature (GsdNightLight *self) + return self->cached_temperature; + } + +-void +-gsd_night_light_set_geoclue_enabled (GsdNightLight *self, gboolean enabled) +-{ +- self->geoclue_enabled = enabled; +-} +- + gboolean + gsd_night_light_start (GsdNightLight *self, GError **error) + { + +- if (self->geoclue_enabled) +- register_geoclue (self); +- + night_light_recheck (self); + poll_timeout_create (self); + +@@ -554,9 +481,6 @@ gsd_night_light_finalize (GObject *object) + self->validate_id = 0; + } + +- if (self->geoclue_client != NULL) +- gclue_client_call_stop (self->geoclue_client, NULL, NULL, NULL); +- g_clear_object (&self->geoclue_simple); + G_OBJECT_CLASS (gsd_night_light_parent_class)->finalize (object); + } + +@@ -675,7 +599,6 @@ gsd_night_light_class_init (GsdNightLightClass *klass) + static void + gsd_night_light_init (GsdNightLight *self) + { +- self->geoclue_enabled = TRUE; + self->smooth_enabled = TRUE; + self->cached_sunrise = -1.f; + self->cached_sunset = -1.f; +diff --git a/plugins/color/gsd-night-light.h b/plugins/color/gsd-night-light.h +index 4f086dc67..4a63ecfab 100644 +--- a/plugins/color/gsd-night-light.h ++++ b/plugins/color/gsd-night-light.h +@@ -42,8 +42,6 @@ void gsd_night_light_set_disabled_until_tmw (GsdNightLight *self, + gboolean value); + + /* only for the self test program */ +-void gsd_night_light_set_geoclue_enabled (GsdNightLight *self, +- gboolean enabled); + void gsd_night_light_set_date_time_now (GsdNightLight *self, + GDateTime *datetime); + void gsd_night_light_set_smooth_enabled (GsdNightLight *self, +diff --git a/plugins/datetime/gsd-timezone-monitor.c b/plugins/datetime/gsd-timezone-monitor.c +index 2ac864875..5bc4b2932 100644 +--- a/plugins/datetime/gsd-timezone-monitor.c ++++ b/plugins/datetime/gsd-timezone-monitor.c +@@ -25,7 +25,6 @@ + #include "tz.h" + #include "weather-tz.h" + +-#include + #include + #include + +@@ -43,8 +42,6 @@ typedef struct + { + GCancellable *cancellable; + GPermission *permission; +- GClueClient *geoclue_client; +- GClueSimple *geoclue_simple; + Timedate1 *dtm; + + TzDB *tzdb; +@@ -265,65 +262,6 @@ start_reverse_geocoding (GsdTimezoneMonitor *self, + g_object_unref (reverse); + } + +-static void +-on_location_notify (GClueSimple *simple, +- GParamSpec *pspec, +- gpointer user_data) +-{ +- GsdTimezoneMonitor *self = user_data; +- GClueLocation *location; +- gdouble latitude, longitude; +- +- location = gclue_simple_get_location (simple); +- +- latitude = gclue_location_get_latitude (location); +- longitude = gclue_location_get_longitude (location); +- +- start_reverse_geocoding (self, latitude, longitude); +-} +- +-static void +-on_geoclue_simple_ready (GObject *source_object, +- GAsyncResult *res, +- gpointer user_data) +-{ +- GError *error = NULL; +- GsdTimezoneMonitorPrivate *priv; +- GClueSimple *geoclue_simple; +- +- geoclue_simple = gclue_simple_new_finish (res, &error); +- if (geoclue_simple == NULL) { +- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) +- g_warning ("Failed to connect to GeoClue2 service: %s", error->message); +- g_error_free (error); +- return; +- } +- +- priv = gsd_timezone_monitor_get_instance_private (user_data); +- priv->geoclue_simple = geoclue_simple; +- priv->geoclue_client = gclue_simple_get_client (priv->geoclue_simple); +- gclue_client_set_distance_threshold (priv->geoclue_client, +- GEOCODE_LOCATION_ACCURACY_CITY); +- +- g_signal_connect (priv->geoclue_simple, "notify::location", +- G_CALLBACK (on_location_notify), user_data); +- +- on_location_notify (priv->geoclue_simple, NULL, user_data); +-} +- +-static void +-register_geoclue (GsdTimezoneMonitor *self) +-{ +- GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self); +- +- gclue_simple_new (DESKTOP_ID, +- GCLUE_ACCURACY_LEVEL_CITY, +- priv->cancellable, +- on_geoclue_simple_ready, +- self); +- +-} +- + GsdTimezoneMonitor * + gsd_timezone_monitor_new (void) + { +@@ -343,11 +281,8 @@ gsd_timezone_monitor_finalize (GObject *obj) + g_clear_object (&priv->cancellable); + } + +- if (priv->geoclue_client) +- gclue_client_call_stop (priv->geoclue_client, NULL, NULL, NULL); + + g_clear_object (&priv->dtm); +- g_clear_object (&priv->geoclue_simple); + g_clear_object (&priv->permission); + g_clear_pointer (&priv->current_timezone, g_free); + g_clear_pointer (&priv->tzdb, tz_db_free); +@@ -414,5 +349,4 @@ gsd_timezone_monitor_init (GsdTimezoneMonitor *self) + priv->tzdb = tz_load_db (); + priv->weather_tzdb = weather_tz_db_new (); + +- register_geoclue (self); + } -- cgit v1.2.3