summaryrefslogtreecommitdiff
path: root/community/redshift
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/redshift
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/redshift')
-rw-r--r--community/redshift/165_164.diff55
-rw-r--r--community/redshift/PKGBUILD44
-rw-r--r--community/redshift/redshift.install11
3 files changed, 110 insertions, 0 deletions
diff --git a/community/redshift/165_164.diff b/community/redshift/165_164.diff
new file mode 100644
index 000000000..663b5663b
--- /dev/null
+++ b/community/redshift/165_164.diff
@@ -0,0 +1,55 @@
+=== modified file 'src/location-geoclue.c'
+--- src/location-geoclue.c 2011-03-27 22:14:58 +0000
++++ src/location-geoclue.c 2011-07-12 20:30:30 +0000
+@@ -50,14 +50,20 @@
+ int
+ location_geoclue_start(location_geoclue_state_t *state)
+ {
+- GeoclueMaster *master = NULL;
+- GeoclueMasterClient *client = NULL;
+- GError *error = NULL;
+- gchar *name = NULL;
++ if (state->provider && state->provider_path) {
++ state->position = geoclue_position_new(state->provider,
++ state->provider_path);
++ } else {
++ GeoclueMaster *master = geoclue_master_get_default();
++ GeoclueMasterClient *client = geoclue_master_create_client(master,
++ NULL, NULL);
++ GError *error = NULL;
+
+- if (!(state->provider && state->provider_path)) {
+- master = geoclue_master_get_default();
+- client = geoclue_master_create_client(master, NULL, NULL);
++ if (client == NULL) {
++ g_printerr(_("Unable to obtain master client.\n"));
++ g_object_unref(master);
++ return -1;
++ }
+
+ if (!geoclue_master_client_set_requirements(client,
+ GEOCLUE_ACCURACY_LEVEL_REGION,
+@@ -68,15 +74,18 @@
+ error->message);
+ g_error_free(error);
+ g_object_unref(client);
++ g_object_unref(master);
+
+ return -1;
+ }
+
+ state->position = geoclue_master_client_create_position(client, NULL);
+- } else {
+- state->position = geoclue_position_new(state->provider,
+- state->provider_path);
+- }
++
++ g_object_unref(client);
++ g_object_unref(master);
++ }
++
++ gchar *name = NULL;
+
+ if (geoclue_provider_get_provider_info(GEOCLUE_PROVIDER(state->position),
+ &name, NULL, NULL)) {
+
diff --git a/community/redshift/PKGBUILD b/community/redshift/PKGBUILD
new file mode 100644
index 000000000..b03f4e1dd
--- /dev/null
+++ b/community/redshift/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 92311 2013-06-03 21:26:54Z lfleischer $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Geoffrey Teale <tealeg@stop-squark>
+# Contributor: Mark, Huo Mian <markhuomian[at]gmail[dot]com>
+# Contributor: Biginoz <biginoz a free dot fr>
+
+pkgname=redshift
+pkgver=1.7
+pkgrel=6
+pkgdesc='Adjusts the color temperature of your screen according to your surroundings.'
+arch=('i686' 'x86_64')
+url='http://jonls.dk/redshift/'
+license=('GPL3')
+depends=('gconf' 'geoclue' 'libxxf86vm')
+optdepends=('pygtk: for gtk-redshift'
+ 'pyxdg: for gtk-redshift'
+ 'librsvg: for gtk-redshift')
+makedepends=('python2')
+install='redshift.install'
+source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2"
+ '165_164.diff')
+md5sums=('c56512afa292b5a94b715ed4a1841d4c'
+ 'eaafcdc62a47d725c256cd5473f4efa1')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i 's/python/python2/' src/gtk-redshift/gtk-redshift
+
+ # fix GTK UI segmentation fault (fixes FS#33412)
+ patch -p0 -i ../165_164.diff
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/redshift/redshift.install b/community/redshift/redshift.install
new file mode 100644
index 000000000..d59dca6e8
--- /dev/null
+++ b/community/redshift/redshift.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}