diff options
author | root <root@rshg054.dnsready.net> | 2013-07-19 01:10:32 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-07-19 01:10:32 -0700 |
commit | 8fbc0076a4827ddc6af92e0b9daa4c4c31450808 (patch) | |
tree | 03fd0e2921ebd53228d9a93e32ed3976b636cbea /community/redshift | |
parent | e445a313723389ba9ee1fded025c567dae5b21ea (diff) |
Fri Jul 19 01:09:18 PDT 2013
Diffstat (limited to 'community/redshift')
-rw-r--r-- | community/redshift/165_164.diff | 55 | ||||
-rw-r--r-- | community/redshift/PKGBUILD | 44 | ||||
-rw-r--r-- | community/redshift/redshift.install | 11 |
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 +} |