diff options
author | root <root@rshg054.dnsready.net> | 2012-10-19 08:15:39 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-10-19 08:15:39 -0700 |
commit | dcc55a1cfa32068d0759c1c8307f6c07c11aec99 (patch) | |
tree | 2f6cd8ae52f7f49ed4ac2db1b0f4bf88a8ba5d96 /testing | |
parent | 9e3985ed7c9851da65023a0ab3d0739cce1858e2 (diff) |
Fri Oct 19 08:15:38 PDT 2012
Diffstat (limited to 'testing')
240 files changed, 11048 insertions, 223 deletions
diff --git a/testing/anjuta-extras/PKGBUILD b/testing/anjuta-extras/PKGBUILD new file mode 100644 index 000000000..7789902d5 --- /dev/null +++ b/testing/anjuta-extras/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 169278 2012-10-18 19:45:48Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=anjuta-extras +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Anjuta Integrated Development Environment extra plugins" +arch=('i686' 'x86_64') +license=('GPL') +depends=('anjuta') +makedepends=('intltool' 'gnome-doc-utils') +install=anjuta-extras.install +url="http://www.anjuta.org/" +source=(ftp://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +options=('!libtool' '!emptydirs') +sha256sums=('69df64e6e13a6e0683ebaee5a26ee9b9368eda9ed157607d1e6935b52d7f0b9c') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/anjuta-extras/anjuta-extras.install b/testing/anjuta-extras/anjuta-extras.install new file mode 100644 index 000000000..a96048c1d --- /dev/null +++ b/testing/anjuta-extras/anjuta-extras.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/anjuta/PKGBUILD b/testing/anjuta/PKGBUILD new file mode 100644 index 000000000..18dbfb6c4 --- /dev/null +++ b/testing/anjuta/PKGBUILD @@ -0,0 +1,50 @@ +# $Id: PKGBUILD 169303 2012-10-18 23:51:08Z heftig $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Harley Laue <losinggeneration@yahoo.com> + +pkgbase=anjuta +pkgname=('libanjuta' 'anjuta') +pkgver=3.6.1 +pkgrel=1 +pkgdesc="GNOME Integrated Development Environment (IDE)" +arch=('i686' 'x86_64') +license=('GPL') +makedepends=('vte3' 'gdl' 'autogen' 'devhelp' 'glade' 'libgda' 'subversion' 'gnome-icon-theme' 'vala' 'dconf' 'gnome-doc-utils' 'intltool' 'gobject-introspection' 'itstool') +url="http://www.anjuta.org/" +source=(ftp://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz) +options=('!libtool' '!emptydirs') +sha256sums=('fd1e380f26bfdcf49661d6b8b2ab25eb3af44bca56aaa5f08c4d9af72cd9d98b') + +build() { + cd "$pkgbase-$pkgver" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var + make +} + +package_libanjuta(){ + pkgdesc="Anjuta runtime library" + depends=('gdl') + conflicts=('anjuta<3.4.4') + + cd "$pkgbase-$pkgver/libanjuta" + + # j1: Race during linking + make -j1 DESTDIR="$pkgdir" install +} + +package_anjuta(){ + pkgdesc="GNOME Integrated Development Environment (IDE)" + depends=('libanjuta' 'vte3' 'autogen' 'devhelp' 'glade' 'libgda' 'subversion' 'gnome-icon-theme' 'vala' 'dconf') + + install=anjuta.install + + cd "$pkgbase-$pkgver" + make -j1 DESTDIR="$pkgdir" install + + cd libanjuta + make -j1 DESTDIR="$pkgdir" uninstall + + sed -i "1s|#!/usr/bin/python$|&2|" \ + $pkgdir/usr/share/anjuta/project/{pygtk,python}/src/main.py +} diff --git a/testing/anjuta/anjuta.install b/testing/anjuta/anjuta.install new file mode 100644 index 000000000..5608d35be --- /dev/null +++ b/testing/anjuta/anjuta.install @@ -0,0 +1,15 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + gtk-update-icon-cache -q -t -f /usr/share/icons/gnome + update-mime-database /usr/share/mime > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/at-spi2-atk/PKGBUILD b/testing/at-spi2-atk/PKGBUILD new file mode 100644 index 000000000..e685a89d8 --- /dev/null +++ b/testing/at-spi2-atk/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169276 2012-10-18 19:29:51Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=at-spi2-atk +pkgver=2.6.1 +pkgrel=1 +pkgdesc="A GTK+ module that bridges ATK to D-Bus at-spi" +arch=('i686' 'x86_64') +url="http://www.gnome.org" +license=('GPL2') +depends=('at-spi2-core' 'libx11' 'atk' 'dconf') +makedepends=('intltool') +install=at-spi2-atk.install +options=('!libtool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('0a796c3635b23d094d488ac3aeee1bd785debfde433640687d4b17dfeaeb3398') + +build() { + cd $pkgname-$pkgver + + sed -i -e '/AC_PATH_XTRA/d' configure.ac + autoreconf --force --install + + ./configure --prefix=/usr --sysconfdir=/etc \ + --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/at-spi2-atk/at-spi2-atk.install b/testing/at-spi2-atk/at-spi2-atk.install new file mode 100644 index 000000000..2ef26aaa9 --- /dev/null +++ b/testing/at-spi2-atk/at-spi2-atk.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/at-spi2-core/PKGBUILD b/testing/at-spi2-core/PKGBUILD new file mode 100644 index 000000000..8318a2287 --- /dev/null +++ b/testing/at-spi2-core/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169275 2012-10-18 19:29:47Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=at-spi2-core +pkgver=2.6.1 +pkgrel=1 +pkgdesc="Protocol definitions and daemon for D-Bus at-spi" +arch=('i686' 'x86_64') +url="http://www.gnome.org" +license=('GPL2') +depends=('dbus-core' 'glib2' 'libxtst') +makedepends=('intltool' 'gobject-introspection') +options=('!libtool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('cb087f0a9191422bc3f44c562a0dbfdf1c2266e45c267070aeb63b874e00f867') + +build() { + cd $pkgname-$pkgver + + sed -i -e '/AC_PATH_XTRA/d' configure.ac + autoreconf --force --install + + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/at-spi2-core --disable-xevie + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/atk/PKGBUILD b/testing/atk/PKGBUILD new file mode 100644 index 000000000..25686b87c --- /dev/null +++ b/testing/atk/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169279 2012-10-18 19:45:50Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=atk +pkgver=2.6.0 +pkgrel=1 +pkgdesc="A library providing a set of interfaces for accessibility" +arch=(i686 x86_64) +license=('LGPL') +depends=('glib2') +makedepends=('gobject-introspection') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +url='http://www.gtk.org/' +sha256sums=('eff663f90847620bb68c9c2cbaaf7f45e2ff44163b9ab3f10d15be763680491f') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/banshee/PKGBUILD b/testing/banshee/PKGBUILD new file mode 100644 index 000000000..0cce416cd --- /dev/null +++ b/testing/banshee/PKGBUILD @@ -0,0 +1,50 @@ +# $Id: PKGBUILD 141668 2011-11-02 03:17:12Z eric $ +# Maintainer: Daniel Isenmann <daniel@archlinux.org> +# Contributor: György Balló <ballogy@freestart.hu> + +pkgname=banshee +pkgver=2.6.0 +pkgrel=1 +pkgdesc="Music management and playback for GNOME" +arch=('i686' 'x86_64') +url="http://banshee.fm/" +license=('MIT') +depends=(libxxf86vm gst-plugins-base mono-addins dbus-sharp-glib boo libwebkit libsoup-gnome gdata-sharp taglib-sharp gudev-sharp gkeyfile-sharp gconf-sharp libmtp libgpod mono-zeroconf desktop-file-utils hicolor-icon-theme xdg-utils media-player-info gst-plugins-bad mono-upnp) +makedepends=('intltool' 'gnome-doc-utils' 'gtk-sharp-beans' 'gnome-common') +optdepends=('gst-plugins-good: Extra media codecs' + 'gst-plugins-ugly: Extra media codecs' + 'gst-libav: Extra media codecs' + 'brasero: CD burning') +options=('!libtool') +install=$pkgname.install +source=(http://download.gnome.org/sources/$pkgname/2.6/$pkgname-$pkgver.tar.xz + gst-1.0.patch) +sha256sums=('a47cc741f8ef2f81726ec4872e8179b17efa271c0c991e912e384fabf777394a' + 'eddf696b0be91331fae8d63c23277a355e94539a3436a8619dab2d732b30234e') + +build() { + export MONO_SHARED_DIR="$srcdir/.wabi" + mkdir -p "$MONO_SHARED_DIR" + + cd "$srcdir/$pkgname-$pkgver" + #https://bugzilla.gnome.org/show_bug.cgi?id=679433 + patch -Np1 -i "${srcdir}/gst-1.0.patch" + + ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-docs \ + --disable-static \ + --disable-scrollkeeper \ + --disable-schemas-install \ + --with-vendor-build-id=ArchLinux + make +} + +package() { + export MONO_SHARED_DIR="$srcdir/.wabi" + mkdir -p "$MONO_SHARED_DIR" + + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/testing/banshee/banshee-recent-gpod.patch b/testing/banshee/banshee-recent-gpod.patch new file mode 100644 index 000000000..afb3a0fd1 --- /dev/null +++ b/testing/banshee/banshee-recent-gpod.patch @@ -0,0 +1,24 @@ +From d4cd959c4a48ffc9da8fe0983bd31c4647669bf4 Mon Sep 17 00:00:00 2001 +From: William Witt <william@witt-family.net> +Date: Sat, 30 Jul 2011 21:54:41 -0500 +Subject: [PATCH] - Changed typecast on FileSize to uint in AppleDeviceTrackInfo to comply with libgpod-sharp + +--- + .../AppleDeviceTrackInfo.cs | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs +index 178266d..b8549f7 100644 +--- a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs ++++ b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs +@@ -215,7 +215,7 @@ namespace Banshee.Dap.AppleDevice + track.CDs = DiscCount; + track.CDNumber = DiscNumber; + track.TrackLength = (int) Duration.TotalMilliseconds; +- track.Size = (int)FileSize; ++ track.Size = (uint)FileSize; + track.Grouping = Grouping; + try { + track.TimePlayed = LastPlayed; +-- +1.7.3.4 diff --git a/testing/banshee/banshee.install b/testing/banshee/banshee.install new file mode 100644 index 000000000..1d0fd332b --- /dev/null +++ b/testing/banshee/banshee.install @@ -0,0 +1,15 @@ +pkgname=banshee + +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/banshee/gst-1.0.patch b/testing/banshee/gst-1.0.patch new file mode 100644 index 000000000..f8fa7a7c2 --- /dev/null +++ b/testing/banshee/gst-1.0.patch @@ -0,0 +1,1025 @@ +From ec14625f10c26ae3646f382ffd804ee28c3d7334 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian.droege@collabora.co.uk> +Date: Wed, 19 Sep 2012 11:34:06 +0200 +Subject: [PATCH] Initial port to GStreamer 1.0 + +--- + build/m4/banshee/gstreamer.m4 | 19 +++--- + data/audio-profiles/wav.xml.in | 5 +- + libbanshee/banshee-bpmdetector.c | 11 ++-- + libbanshee/banshee-gst.h | 4 +- + libbanshee/banshee-player-cdda.c | 5 +- + libbanshee/banshee-player-dvd.c | 4 +- + libbanshee/banshee-player-equalizer.c | 4 +- + libbanshee/banshee-player-missing-elements.c | 2 +- + libbanshee/banshee-player-pipeline.c | 37 ++++++----- + libbanshee/banshee-player-private.h | 13 ++-- + libbanshee/banshee-player-replaygain.c | 29 ++++----- + libbanshee/banshee-player-video.c | 89 +++++++++++++------------- + libbanshee/banshee-player-vis.c | 88 ++++++++----------------- + libbanshee/banshee-player.c | 11 ++-- + libbanshee/banshee-ripper.c | 16 ++--- + libbanshee/banshee-tagger.c | 2 +- + libbanshee/banshee-transcoder.c | 19 +++--- + 17 files changed, 156 insertions(+), 202 deletions(-) + +diff --git a/build/m4/banshee/gstreamer.m4 b/build/m4/banshee/gstreamer.m4 +index 6267cce..917cf58 100644 +--- a/build/m4/banshee/gstreamer.m4 ++++ b/build/m4/banshee/gstreamer.m4 +@@ -1,17 +1,18 @@ + AC_DEFUN([BANSHEE_CHECK_GSTREAMER], + [ +- GSTREAMER_REQUIRED_VERSION=0.10.26 ++ GSTREAMER_REQUIRED_VERSION=0.11.99 + AC_SUBST(GSTREAMER_REQUIRED_VERSION) + + PKG_CHECK_MODULES(GST, +- gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-plugins-base-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-controller-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-dataprotocol-0.10 >= $GSTREAMER_REQUIRED_VERSION +- gstreamer-fft-0.10 >= $GSTREAMER_REQUIRED_VERSION) +- +- GST_LIBS="$GST_LIBS -lgstvideo-0.10 -lgstinterfaces-0.10 -lgstcdda-0.10 -lgstpbutils-0.10 -lgsttag-0.10" ++ gstreamer-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-base-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-controller-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-plugins-base-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-audio-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-fft-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-pbutils-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-tag-1.0 >= $GSTREAMER_REQUIRED_VERSION ++ gstreamer-video-1.0 >= $GSTREAMER_REQUIRED_VERSION) + + AC_SUBST(GST_CFLAGS) + AC_SUBST(GST_LIBS) +diff --git a/data/audio-profiles/wav.xml.in b/data/audio-profiles/wav.xml.in +index 35cd1d2..6dc1bab 100644 +--- a/data/audio-profiles/wav.xml.in ++++ b/data/audio-profiles/wav.xml.in +@@ -14,10 +14,7 @@ + "audioresample" + "audioconvert" + (+ "audio/x-raw-int, " +- "endianness=(int)1234, " +- "width=(int)16, " +- "depth=(int)16, " +- "signed=(boolean)true, " ++ "format=(string)S16LE, " + "rate=(int)44100, " + "channels=(int)2" ) + "wavenc") +diff --git a/libbanshee/banshee-bpmdetector.c b/libbanshee/banshee-bpmdetector.c +index c06ffcb..68b0419 100644 +--- a/libbanshee/banshee-bpmdetector.c ++++ b/libbanshee/banshee-bpmdetector.c +@@ -30,6 +30,7 @@ + # include "config.h" + #endif + ++#include <stdio.h> + #include <string.h> + #include <glib/gi18n.h> + +@@ -50,7 +51,7 @@ struct BansheeBpmDetector { + + /* + * You can run this pipeline on the cmd line with: +- * gst-launch -m filesrc location=/path/to/my.mp3 ! decodebin2 ! \ ++ * gst-launch -m filesrc location=/path/to/my.mp3 ! decodebin ! \ + * audioconvert ! bpmdetect ! fakesink + */ + +@@ -168,14 +169,14 @@ bbd_new_decoded_pad(GstElement *decodebin, GstPad *pad, + + g_return_if_fail(detector != NULL); + +- audiopad = gst_element_get_pad(detector->audioconvert, "sink"); ++ audiopad = gst_element_get_static_pad(detector->audioconvert, "sink"); + + if(GST_PAD_IS_LINKED(audiopad)) { + g_object_unref(audiopad); + return; + } + +- caps = gst_pad_get_caps(pad); ++ caps = gst_pad_query_caps(pad, NULL); + str = gst_caps_get_structure(caps, 0); + + if(!g_strrstr(gst_structure_get_name(str), "audio")) { +@@ -209,9 +210,9 @@ bbd_pipeline_construct (BansheeBpmDetector *detector) + return FALSE; + } + +- detector->decodebin = gst_element_factory_make ("decodebin2", "decodebin2"); ++ detector->decodebin = gst_element_factory_make ("decodebin", "decodebin"); + if (detector->decodebin == NULL) { +- bbd_raise_error (detector, _("Could not create decodebin2 plugin"), NULL); ++ bbd_raise_error (detector, _("Could not create decodebin plugin"), NULL); + return FALSE; + } + +diff --git a/libbanshee/banshee-gst.h b/libbanshee/banshee-gst.h +index 85662cf..332f356 100644 +--- a/libbanshee/banshee-gst.h ++++ b/libbanshee/banshee-gst.h +@@ -41,9 +41,11 @@ + #define BANSHEE_GST_ITERATOR_ITERATE(iter,child_type,child_name,free,block) { \ + gboolean iter##_done = FALSE; \ + while (!iter##_done) { \ ++ GValue child_value = {0, }; \ + child_type child_name; \ +- switch (gst_iterator_next (iter, (gpointer)&child_name)) { \ ++ switch (gst_iterator_next (iter, &child_value)) { \ + case GST_ITERATOR_OK: { \ ++ child_name = (child_type) g_value_get_object(&child_value); \ + { block; } \ + break; \ + } \ +diff --git a/libbanshee/banshee-player-cdda.c b/libbanshee/banshee-player-cdda.c +index 8be2bdd..401edf0 100644 +--- a/libbanshee/banshee-player-cdda.c ++++ b/libbanshee/banshee-player-cdda.c +@@ -28,7 +28,8 @@ + // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + // + +-#include <gst/cdda/gstcddabasesrc.h> ++#include <stdlib.h> ++#include <gst/audio/gstaudiocdsrc.h> + #include "banshee-player-cdda.h" + + // --------------------------------------------------------------------------- +@@ -46,7 +47,7 @@ bp_cdda_get_cdda_source (GstElement *playbin) + + g_object_get (playbin, "source", &source, NULL); + +- if (source == NULL || !GST_IS_CDDA_BASE_SRC (source)) { ++ if (source == NULL || !GST_IS_AUDIO_CD_SRC (source)) { + if (source != NULL) { + g_object_unref (source); + } +diff --git a/libbanshee/banshee-player-dvd.c b/libbanshee/banshee-player-dvd.c +index 55d499c..991b506 100644 +--- a/libbanshee/banshee-player-dvd.c ++++ b/libbanshee/banshee-player-dvd.c +@@ -296,7 +296,7 @@ bp_dvd_go_to_next_chapter (BansheePlayer *player) + { + gint64 index; + GstFormat format = gst_format_get_by_nick ("chapter"); +- gst_element_query_position (player->playbin, &format, &index); ++ gst_element_query_position (player->playbin, format, &index); + gst_element_seek (player->playbin, 1.0, format, GST_SEEK_FLAG_FLUSH, + GST_SEEK_TYPE_SET, index + 1, GST_SEEK_TYPE_NONE, 0); + } +@@ -306,7 +306,7 @@ bp_dvd_go_to_previous_chapter (BansheePlayer *player) + { + gint64 index; + GstFormat format = gst_format_get_by_nick ("chapter"); +- gst_element_query_position (player->playbin, &format, &index); ++ gst_element_query_position (player->playbin, format, &index); + gst_element_seek (player->playbin, 1.0, format, GST_SEEK_FLAG_FLUSH, + GST_SEEK_TYPE_SET, index - 1, GST_SEEK_TYPE_NONE, 0); + } +diff --git a/libbanshee/banshee-player-equalizer.c b/libbanshee/banshee-player-equalizer.c +index a496ada..0cbb3b7 100644 +--- a/libbanshee/banshee-player-equalizer.c ++++ b/libbanshee/banshee-player-equalizer.c +@@ -122,7 +122,7 @@ bp_equalizer_set_gain (BansheePlayer *player, guint bandnum, gdouble gain) + g_return_if_fail (IS_BANSHEE_PLAYER (player)); + + if (player->equalizer != NULL) { +- GstObject *band; ++ GObject *band; + + g_return_if_fail (bandnum < gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer))); + +@@ -188,7 +188,7 @@ bp_equalizer_get_frequencies (BansheePlayer *player, gdouble **freq) + count = gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer)); + + for (i = 0; i < count; i++) { +- GstObject *band; ++ GObject *band; + + band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (player->equalizer), i); + g_object_get (G_OBJECT (band), "freq", &(*freq)[i], NULL); +diff --git a/libbanshee/banshee-player-missing-elements.c b/libbanshee/banshee-player-missing-elements.c +index 20804c4..30118c5 100644 +--- a/libbanshee/banshee-player-missing-elements.c ++++ b/libbanshee/banshee-player-missing-elements.c +@@ -170,7 +170,7 @@ _bp_missing_elements_handle_state_changed (BansheePlayer *player, GstState old, + } + #endif + +- install_return = gst_install_plugins_async (details, player->install_plugins_context, ++ install_return = gst_install_plugins_async ((const gchar * const*) details, player->install_plugins_context, + bp_missing_elements_handle_install_result, player); + + if (install_return != GST_INSTALL_PLUGINS_STARTED_OK) { +diff --git a/libbanshee/banshee-player-pipeline.c b/libbanshee/banshee-player-pipeline.c +index ed845f3..6c2af35 100644 +--- a/libbanshee/banshee-player-pipeline.c ++++ b/libbanshee/banshee-player-pipeline.c +@@ -76,7 +76,7 @@ playbin_stream_changed_cb (GstElement * element, BansheePlayer *player) + GstMessage *msg; + + // We're being called from the streaming thread, so don't do anything here +- msg = gst_message_new_application (GST_OBJECT (player->playbin), gst_structure_new ("stream-changed", NULL)); ++ msg = gst_message_new_application (GST_OBJECT (player->playbin), gst_structure_new_empty ("stream-changed")); + gst_element_post_message (player->playbin, msg); + } + +@@ -218,6 +218,11 @@ bp_pipeline_bus_callback (GstBus *bus, GstMessage *message, gpointer userdata) + break; + } + ++ case GST_MESSAGE_STREAM_START: { ++ bp_next_track_starting (player); ++ break; ++ } ++ + case GST_MESSAGE_APPLICATION: { + const gchar * name; + const GstStructure * s = gst_message_get_structure (message); +@@ -289,11 +294,11 @@ _bp_pipeline_construct (BansheePlayer *player) + + // Playbin is the core element that handles autoplugging (finding the right + // source and decoder elements) based on source URI and stream content +- player->playbin = gst_element_factory_make ("playbin2", "playbin"); ++ player->playbin = gst_element_factory_make ("playbin", "playbin"); + + #ifdef ENABLE_GAPLESS + // FIXME: Connect a proxy about-to-finish callback that will generate a next-track-starting callback. +- // This can be removed once playbin2 generates its own next-track signal. ++ // This can be removed once playbin generates its own next-track signal. + // bgo#584987 - this is included in >= 0.10.26 + g_signal_connect (player->playbin, "about-to-finish", G_CALLBACK (bp_about_to_finish_callback), player); + #endif //ENABLE_GAPLESS +@@ -305,18 +310,13 @@ _bp_pipeline_construct (BansheePlayer *player) + g_signal_connect (player->playbin, "audio-changed", G_CALLBACK (playbin_stream_changed_cb), player); + g_signal_connect (player->playbin, "text-changed", G_CALLBACK (playbin_stream_changed_cb), player); + +- // Try to find an audio sink, prefer gconf, which typically is set to auto these days, +- // fall back on auto, which should work on windows, and as a last ditch, try alsa +- audiosink = gst_element_factory_make ("gconfaudiosink", "audiosink"); +- if (audiosink == NULL) { +- audiosink = gst_element_factory_make ("directsoundsink", "audiosink"); +- if (audiosink != NULL) { +- g_object_set (G_OBJECT (audiosink), "volume", 1.0, NULL); +- } else { +- audiosink = gst_element_factory_make ("autoaudiosink", "audiosink"); +- if (audiosink == NULL) { +- audiosink = gst_element_factory_make ("alsasink", "audiosink"); +- } ++ audiosink = gst_element_factory_make ("directsoundsink", "audiosink"); ++ if (audiosink != NULL) { ++ g_object_set (G_OBJECT (audiosink), "volume", 1.0, NULL); ++ } else { ++ audiosink = gst_element_factory_make ("autoaudiosink", "audiosink"); ++ if (audiosink == NULL) { ++ audiosink = gst_element_factory_make ("alsasink", "audiosink"); + } + } + +@@ -341,7 +341,6 @@ _bp_pipeline_construct (BansheePlayer *player) + GstIterator *elem_iter = gst_bin_iterate_recurse (GST_BIN (audiosink)); + BANSHEE_GST_ITERATOR_ITERATE (elem_iter, GstElement *, element, TRUE, { + player->audiosink_has_volume |= g_object_class_find_property (G_OBJECT_GET_CLASS (element), "volume") != NULL; +- gst_object_unref (element); + }); + } + bp_debug ("Audiosink has volume: %s", +@@ -383,7 +382,7 @@ _bp_pipeline_construct (BansheePlayer *player) + } + + // Ghost pad the audio bin so audio is passed from the bin into the tee +- teepad = gst_element_get_pad (player->audiotee, "sink"); ++ teepad = gst_element_get_static_pad (player->audiotee, "sink"); + gst_element_add_pad (player->audiobin, gst_ghost_pad_new ("sink", teepad)); + gst_object_unref (teepad); + +@@ -411,8 +410,8 @@ _bp_pipeline_construct (BansheePlayer *player) + gst_bus_add_watch (bus, bp_pipeline_bus_callback, player); + + // Link the first tee pad to the primary audio sink queue +- GstPad *sinkpad = gst_element_get_pad (audiosinkqueue, "sink"); +- pad = gst_element_get_request_pad (player->audiotee, "src%d"); ++ GstPad *sinkpad = gst_element_get_static_pad (audiosinkqueue, "sink"); ++ pad = gst_element_get_request_pad (player->audiotee, "src_%u"); + g_object_set(player->audiotee, "alloc-pad", pad, NULL); + gst_pad_link (pad, sinkpad); + gst_object_unref (GST_OBJECT (pad)); +diff --git a/libbanshee/banshee-player-private.h b/libbanshee/banshee-player-private.h +index 9fed356..9346911 100644 +--- a/libbanshee/banshee-player-private.h ++++ b/libbanshee/banshee-player-private.h +@@ -42,14 +42,14 @@ + #include <gst/fft/gstfftf32.h> + #include <gst/pbutils/pbutils.h> + #include <gst/tag/tag.h> +-#include <gst/interfaces/navigation.h> ++#include <gst/video/navigation.h> + + #if defined(GDK_WINDOWING_X11) + # include <gdk/gdkx.h> +-# include <gst/interfaces/xoverlay.h> ++# include <gst/video/videooverlay.h> + #elif defined(GDK_WINDOWING_WIN32) + # include <gdk/gdkwin32.h> +-# include <gst/interfaces/xoverlay.h> ++# include <gst/video/videooverlay.h> + #endif + + #include "banshee-gst.h" +@@ -155,11 +155,11 @@ struct BansheePlayer { + // Video State + BpVideoDisplayContextType video_display_context_type; + #if defined(GDK_WINDOWING_X11) +- GstXOverlay *xoverlay; ++ GstVideoOverlay *video_overlay; + GdkWindow *video_window; + XID video_window_xid; + #elif defined(GDK_WINDOWING_WIN32) +- GstXOverlay *xoverlay; ++ GstVideoOverlay *video_overlay; + GdkWindow *video_window; + HWND video_window_xid; + #endif +@@ -179,6 +179,8 @@ struct BansheePlayer { + GstFFTF32 *vis_fft; + GstFFTF32Complex *vis_fft_buffer; + gfloat *vis_fft_sample_buffer; ++ GstPad *vis_event_probe_pad; ++ gulong vis_event_probe_id; + + // Plugin Installer State + GdkWindow *window; +@@ -197,6 +199,7 @@ struct BansheePlayer { + // http://replaygain.hydrogenaudio.org/player_scale.html + gdouble rg_gain_history[10]; + gint history_size; ++ gulong rg_pad_block_id; + + //dvd navigation + GstNavigation *navigation; +diff --git a/libbanshee/banshee-player-replaygain.c b/libbanshee/banshee-player-replaygain.c +index a479d4a..e42b197 100644 +--- a/libbanshee/banshee-player-replaygain.c ++++ b/libbanshee/banshee-player-replaygain.c +@@ -79,17 +79,13 @@ static void on_target_gain_changed (GstElement *rgvolume, GParamSpec *pspec, Ban + _bp_rgvolume_print_volume (player); + } + +-static void +-pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data) ++static GstPadProbeReturn ++pad_block_cb (GstPad *srcPad, GstPadProbeInfo *info, gpointer user_data) + { + BansheePlayer* player; + +- if (!blocked) { +- return; +- } +- + player = (BansheePlayer*) user_data; +- g_return_if_fail (IS_BANSHEE_PLAYER (player)); ++ g_return_val_if_fail (IS_BANSHEE_PLAYER (player), GST_PAD_PROBE_OK); + + // The pad_block_cb can get triggered multiple times, on different threads. + // Lock around the link/unlink code, so we don't end up going through here +@@ -99,11 +95,9 @@ pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data) + if ((player->replaygain_enabled && player->rgvolume_in_pipeline) || + (!player->replaygain_enabled && !player->rgvolume_in_pipeline)) { + // The pipeline is already in the correct state. Unblock the pad, and return. ++ player->rg_pad_block_id = 0; + g_mutex_unlock (player->replaygain_mutex); +- if (gst_pad_is_blocked (srcPad)) { +- gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player); +- } +- return; ++ return GST_PAD_PROBE_REMOVE; + } + + if (player->rgvolume_in_pipeline) { +@@ -139,13 +133,12 @@ pad_block_cb (GstPad *srcPad, gboolean blocked, gpointer user_data) + } + + // Our state is now consistent ++ player->rg_pad_block_id = 0; + g_mutex_unlock (player->replaygain_mutex); + +- if (gst_pad_is_blocked (srcPad)) { +- gst_pad_set_blocked_async (srcPad, FALSE, &pad_block_cb, player); +- } +- + _bp_rgvolume_print_volume (player); ++ ++ return GST_PAD_PROBE_REMOVE; + } + + // --------------------------------------------------------------------------- +@@ -187,9 +180,9 @@ void _bp_replaygain_pipeline_rebuild (BansheePlayer* player) + srcPad = gst_element_get_static_pad (player->before_rgvolume, "src"); + + if (gst_pad_is_active (srcPad) && !gst_pad_is_blocked (srcPad)) { +- gst_pad_set_blocked_async (srcPad, TRUE, &pad_block_cb, player); +- } else if (srcPad->block_callback == NULL) { +- pad_block_cb (srcPad, TRUE, player); ++ player->rg_pad_block_id = gst_pad_add_probe (srcPad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM, &pad_block_cb, player, NULL); ++ } else if (!player->rg_pad_block_id) { ++ pad_block_cb (srcPad, NULL, player); + } + } + +diff --git a/libbanshee/banshee-player-video.c b/libbanshee/banshee-player-video.c +index b901354..eb95c3f 100644 +--- a/libbanshee/banshee-player-video.c ++++ b/libbanshee/banshee-player-video.c +@@ -37,54 +37,54 @@ + #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32) + + static gboolean +-bp_video_find_xoverlay (BansheePlayer *player) ++bp_video_find_video_overlay (BansheePlayer *player) + { + GstElement *video_sink = NULL; +- GstElement *xoverlay; +- GstXOverlay *previous_xoverlay; +- gboolean found_xoverlay; ++ GstElement *video_overlay; ++ GstVideoOverlay *previous_video_overlay; ++ gboolean found_video_overlay; + + g_object_get (player->playbin, "video-sink", &video_sink, NULL); + + g_mutex_lock (player->video_mutex); +- previous_xoverlay = player->xoverlay; ++ previous_video_overlay = player->video_overlay; + + if (video_sink == NULL) { +- player->xoverlay = NULL; +- if (previous_xoverlay != NULL) { +- gst_object_unref (previous_xoverlay); ++ player->video_overlay = NULL; ++ if (previous_video_overlay != NULL) { ++ gst_object_unref (previous_video_overlay); + } + g_mutex_unlock (player->video_mutex); + return FALSE; + } + +- xoverlay = GST_IS_BIN (video_sink) +- ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_X_OVERLAY) ++ video_overlay = GST_IS_BIN (video_sink) ++ ? gst_bin_get_by_interface (GST_BIN (video_sink), GST_TYPE_VIDEO_OVERLAY) + : video_sink; + +- player->xoverlay = GST_IS_X_OVERLAY (xoverlay) ? GST_X_OVERLAY (xoverlay) : NULL; ++ player->video_overlay = GST_IS_VIDEO_OVERLAY (video_overlay) ? GST_VIDEO_OVERLAY (video_overlay) : NULL; + +- if (previous_xoverlay != NULL) { +- gst_object_unref (previous_xoverlay); ++ if (previous_video_overlay != NULL) { ++ gst_object_unref (previous_video_overlay); + } + + #if !defined(GDK_WINDOWING_WIN32) // We can't rely on aspect ratio from dshowvideosink +- if (player->xoverlay != NULL && g_object_class_find_property ( +- G_OBJECT_GET_CLASS (player->xoverlay), "force-aspect-ratio")) { +- g_object_set (G_OBJECT (player->xoverlay), "force-aspect-ratio", TRUE, NULL); ++ if (player->video_overlay != NULL && g_object_class_find_property ( ++ G_OBJECT_GET_CLASS (player->video_overlay), "force-aspect-ratio")) { ++ g_object_set (G_OBJECT (player->video_overlay), "force-aspect-ratio", TRUE, NULL); + } + #endif + +- if (player->xoverlay != NULL && g_object_class_find_property ( +- G_OBJECT_GET_CLASS (player->xoverlay), "handle-events")) { +- g_object_set (G_OBJECT (player->xoverlay), "handle-events", FALSE, NULL); ++ if (player->video_overlay != NULL && g_object_class_find_property ( ++ G_OBJECT_GET_CLASS (player->video_overlay), "handle-events")) { ++ g_object_set (G_OBJECT (player->video_overlay), "handle-events", FALSE, NULL); + } + + gst_object_unref (video_sink); +- found_xoverlay = (player->xoverlay != NULL) ? TRUE : FALSE; ++ found_video_overlay = (player->video_overlay != NULL) ? TRUE : FALSE; + + g_mutex_unlock (player->video_mutex); +- return found_xoverlay; ++ return found_video_overlay; + } + + #endif /* GDK_WINDOWING_X11 || GDK_WINDOWING_WIN32 */ +@@ -130,27 +130,27 @@ bp_video_sink_element_added (GstBin *videosink, GstElement *element, BansheePlay + g_return_if_fail (IS_BANSHEE_PLAYER (player)); + + #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32) +- bp_video_find_xoverlay (player); ++ bp_video_find_video_overlay (player); + #endif + } + + static void + bp_video_bus_element_sync_message (GstBus *bus, GstMessage *message, BansheePlayer *player) + { +- gboolean found_xoverlay; ++ gboolean found_video_overlay; + + g_return_if_fail (IS_BANSHEE_PLAYER (player)); + + #if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WIN32) + +- if (message->structure == NULL || !gst_structure_has_name (message->structure, "prepare-xwindow-id")) { ++ if (!gst_is_video_overlay_prepare_window_handle_message (message)) { + return; + } + +- found_xoverlay = bp_video_find_xoverlay (player); ++ found_video_overlay = bp_video_find_video_overlay (player); + +- if (found_xoverlay) { +- gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid); ++ if (found_video_overlay) { ++ gst_video_overlay_set_window_handle (player->video_overlay, player->video_window_xid); + } + + #endif +@@ -164,7 +164,7 @@ static void + cb_caps_set (GObject *obj, GParamSpec *pspec, BansheePlayer *p) + { + GstStructure * s = NULL; +- GstCaps * caps = gst_pad_get_negotiated_caps (GST_PAD (obj)); ++ GstCaps * caps = gst_pad_get_current_caps (GST_PAD (obj)); + + if (G_UNLIKELY (!caps)) { + return; +@@ -219,7 +219,7 @@ _bp_parse_stream_info (BansheePlayer *player) + } + + if (G_LIKELY (vpad)) { +- GstCaps *caps = gst_pad_get_negotiated_caps (vpad); ++ GstCaps *caps = gst_pad_get_current_caps (vpad); + if (G_LIKELY (caps)) { + cb_caps_set (G_OBJECT (vpad), NULL, player); + gst_caps_unref (caps); +@@ -249,21 +249,18 @@ _bp_video_pipeline_setup (BansheePlayer *player, GstBus *bus) + + player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_GDK_WINDOW; + +- videosink = gst_element_factory_make ("gconfvideosink", "videosink"); ++ videosink = gst_element_factory_make ("autovideosink", "videosink"); + if (videosink == NULL) { +- videosink = gst_element_factory_make ("autovideosink", "videosink"); +- if (videosink == NULL) { +- player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_UNSUPPORTED; +- videosink = gst_element_factory_make ("fakesink", "videosink"); +- if (videosink != NULL) { +- g_object_set (G_OBJECT (videosink), "sync", TRUE, NULL); +- } ++ player->video_display_context_type = BP_VIDEO_DISPLAY_CONTEXT_UNSUPPORTED; ++ videosink = gst_element_factory_make ("fakesink", "videosink"); ++ if (videosink != NULL) { ++ g_object_set (G_OBJECT (videosink), "sync", TRUE, NULL); + } + } + + g_object_set (G_OBJECT (player->playbin), "video-sink", videosink, NULL); + +- gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, player); ++ gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, player, NULL); + g_signal_connect (bus, "sync-message::element", G_CALLBACK (bp_video_bus_element_sync_message), player); + + if (GST_IS_BIN (videosink)) { +@@ -349,21 +346,21 @@ bp_video_window_expose (BansheePlayer *player, GdkWindow *window, gboolean direc + { + g_return_if_fail (IS_BANSHEE_PLAYER (player)); + +- if (direct && player->xoverlay != NULL && GST_IS_X_OVERLAY (player->xoverlay)) { +- gst_x_overlay_expose (player->xoverlay); ++ if (direct && player->video_overlay != NULL && GST_IS_VIDEO_OVERLAY (player->video_overlay)) { ++ gst_video_overlay_expose (player->video_overlay); + return; + } + +- if (player->xoverlay == NULL && !bp_video_find_xoverlay (player)) { ++ if (player->video_overlay == NULL && !bp_video_find_video_overlay (player)) { + return; + } + +- gst_object_ref (player->xoverlay); ++ gst_object_ref (player->video_overlay); + +- gst_x_overlay_set_xwindow_id (player->xoverlay, player->video_window_xid); +- gst_x_overlay_expose (player->xoverlay); ++ gst_video_overlay_set_window_handle (player->video_overlay, player->video_window_xid); ++ gst_video_overlay_expose (player->video_overlay); + +- gst_object_unref (player->xoverlay); ++ gst_object_unref (player->video_overlay); + } + + // MUST be called from the GTK main thread; calling it in OnRealized will do the right thing. +@@ -379,7 +376,7 @@ bp_video_window_realize (BansheePlayer *player, GdkWindow *window) + // //Explicitly create the native window. GDK_WINDOW_XWINDOW will call this + // //function anyway, but this way we can raise a more useful message should it fail. + // if (!gdk_window_ensure_native (window)) { +-// banshee_log (BANSHEE_LOG_TYPE_ERROR, "player-video", "Couldn't create native window needed for GstXOverlay!"); ++// banshee_log (BANSHEE_LOG_TYPE_ERROR, "player-video", "Couldn't create native window needed for GstVideoOverlay!"); + // } + //#endif + +diff --git a/libbanshee/banshee-player-vis.c b/libbanshee/banshee-player-vis.c +index 5787c87..7e7dc78 100644 +--- a/libbanshee/banshee-player-vis.c ++++ b/libbanshee/banshee-player-vis.c +@@ -27,17 +27,17 @@ + // + + #include <math.h> ++#include <gst/audio/audio.h> + + #include "banshee-player-vis.h" + + #define SLICE_SIZE 735 + + static GstStaticCaps vis_data_sink_caps = GST_STATIC_CAPS ( +- "audio/x-raw-float, " ++ "audio/x-raw, " ++ "format = (string) " GST_AUDIO_NE(F32) ", " + "rate = (int) 44100, " +- "channels = (int) 2, " +- "endianness = (int) BYTE_ORDER, " +- "width = (int) 32" ++ "channels = (int) 2" + ); + + // --------------------------------------------------------------------------- +@@ -48,6 +48,7 @@ static void + bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer userdata) + { + BansheePlayer *player = (BansheePlayer*)userdata; ++ GstCaps *caps; + GstStructure *structure; + gint channels, wanted_size; + gfloat *data; +@@ -69,14 +70,16 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u + player->vis_thawing = FALSE; + } + +- structure = gst_caps_get_structure (gst_buffer_get_caps (buffer), 0); ++ caps = gst_pad_get_current_caps (pad); ++ structure = gst_caps_get_structure (caps, 0); + gst_structure_get_int (structure, "channels", &channels); ++ gst_caps_unref (caps); + + wanted_size = channels * SLICE_SIZE * sizeof (gfloat); + +- gst_adapter_push (player->vis_buffer, gst_buffer_copy (buffer)); ++ gst_adapter_push (player->vis_buffer, gst_buffer_ref (buffer)); + +- while ((data = (gfloat *)gst_adapter_peek (player->vis_buffer, wanted_size)) != NULL) { ++ while ((data = (gfloat *)gst_adapter_map (player->vis_buffer, wanted_size)) != NULL) { + gfloat *deinterlaced = g_malloc (wanted_size); + gfloat *specbuf = g_new (gfloat, SLICE_SIZE * 2); + +@@ -124,6 +127,7 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u + g_free (deinterlaced); + g_free (specbuf); + ++ gst_adapter_unmap (player->vis_buffer); + gst_adapter_flush (player->vis_buffer, wanted_size); + } + } +@@ -132,65 +136,28 @@ bp_vis_pcm_handoff (GstElement *sink, GstBuffer *buffer, GstPad *pad, gpointer u + // Internal Functions + // --------------------------------------------------------------------------- + +-static void +-_bp_vis_pipeline_block_callback (GstPad *pad, gboolean blocked, gpointer data) ++static GstPadProbeReturn ++_bp_vis_pipeline_event_probe (GstPad *pad, GstPadProbeInfo *info, gpointer data) + { + BansheePlayer *player = (BansheePlayer *) data; ++ GstEvent *event; + +- if (!blocked) { +- // Set thawing mode (discards buffers that are too old from the queue). +- player->vis_thawing = TRUE; +- } +-} +- +-static void +-_bp_vis_pipeline_set_blocked (BansheePlayer *player, gboolean blocked) +-{ +- GstPad *queue_sink; +- +- if (player->vis_resampler == NULL) +- return; +- +- queue_sink = gst_element_get_static_pad (player->vis_resampler, "src"); +- +- gst_pad_set_blocked_async (queue_sink, blocked, _bp_vis_pipeline_block_callback, (gpointer) player); +- +- gst_object_unref (GST_OBJECT (queue_sink)); +-} +- +-static gboolean +-_bp_vis_pipeline_event_probe (GstPad *pad, GstEvent *event, gpointer data) +-{ +- BansheePlayer *player = (BansheePlayer *) data; ++ if ((info->type & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) == 0) ++ return GST_PAD_PROBE_PASS; + ++ event = GST_EVENT (info->data); + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_FLUSH_START: + case GST_EVENT_FLUSH_STOP: + case GST_EVENT_SEEK: +- case GST_EVENT_NEWSEGMENT: ++ case GST_EVENT_SEGMENT: + case GST_EVENT_CUSTOM_DOWNSTREAM: + player->vis_thawing = TRUE; + + default: break; + } + +- if (player->vis_enabled) +- return TRUE; +- +- switch (GST_EVENT_TYPE (event)) { +- case GST_EVENT_EOS: +- case GST_EVENT_CUSTOM_DOWNSTREAM_OOB: +- _bp_vis_pipeline_set_blocked (player, FALSE); +- break; +- case GST_EVENT_CUSTOM_DOWNSTREAM: +- case GST_EVENT_NEWSEGMENT: +- _bp_vis_pipeline_set_blocked (player, TRUE); +- break; +- +- default: break; +- } +- +- return TRUE; ++ return GST_PAD_PROBE_PASS; + } + + void +@@ -212,9 +179,8 @@ _bp_vis_pipeline_setup (BansheePlayer *player) + // Core elements, if something fails here, it's the end of the world + audiosinkqueue = gst_element_factory_make ("queue", "vis-queue"); + +- pad = gst_element_get_static_pad (audiosinkqueue, "sink"); +- gst_pad_add_event_probe (pad, G_CALLBACK (_bp_vis_pipeline_event_probe), player); +- gst_object_unref (GST_OBJECT (pad)); ++ player->vis_event_probe_pad = gst_element_get_static_pad (audiosinkqueue, "sink"); ++ player->vis_event_probe_id = gst_pad_add_probe (player->vis_event_probe_pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, _bp_vis_pipeline_event_probe, player, NULL); + + resampler = gst_element_factory_make ("audioresample", "vis-resample"); + converter = gst_element_factory_make ("audioconvert", "vis-convert"); +@@ -255,7 +221,7 @@ _bp_vis_pipeline_setup (BansheePlayer *player) + converter, fakesink, NULL); + + pad = gst_element_get_static_pad (audiosinkqueue, "sink"); +- teepad = gst_element_get_request_pad (player->audiotee, "src%d"); ++ teepad = gst_element_get_request_pad (player->audiotee, "src_%u"); + gst_pad_link (teepad, pad); + gst_object_unref (GST_OBJECT (teepad)); + gst_object_unref (GST_OBJECT (pad)); +@@ -270,14 +236,17 @@ _bp_vis_pipeline_setup (BansheePlayer *player) + player->vis_resampler = resampler; + player->vis_thawing = FALSE; + player->vis_enabled = FALSE; +- +- // Disable the pipeline till we hear otherwise from managed land. +- _bp_vis_pipeline_set_blocked (player, TRUE); + } + + void + _bp_vis_pipeline_destroy (BansheePlayer *player) + { ++ if (player->vis_event_probe_pad) { ++ gst_pad_remove_probe (player->vis_event_probe_pad, player->vis_event_probe_id); ++ gst_object_unref (GST_OBJECT (player->vis_event_probe_pad)); ++ player->vis_event_probe_pad = NULL; ++ } ++ + if (player->vis_buffer != NULL) { + gst_object_unref (player->vis_buffer); + player->vis_buffer = NULL; +@@ -315,6 +284,5 @@ bp_set_vis_data_callback (BansheePlayer *player, BansheePlayerVisDataCallback cb + + player->vis_data_cb = cb; + +- _bp_vis_pipeline_set_blocked (player, cb == NULL); + player->vis_enabled = cb != NULL; + } +diff --git a/libbanshee/banshee-player.c b/libbanshee/banshee-player.c +index c655a72..b8f98b8 100644 +--- a/libbanshee/banshee-player.c ++++ b/libbanshee/banshee-player.c +@@ -250,12 +250,11 @@ bp_set_position (BansheePlayer *player, guint64 time_ms) + P_INVOKE guint64 + bp_get_position (BansheePlayer *player) + { +- static GstFormat format = GST_FORMAT_TIME; + gint64 position; + + g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0); + +- if (player->playbin != NULL && gst_element_query_position (player->playbin, &format, &position)) { ++ if (player->playbin != NULL && gst_element_query_position (player->playbin, GST_FORMAT_TIME, &position)) { + return position / GST_MSECOND; + } + +@@ -265,12 +264,11 @@ bp_get_position (BansheePlayer *player) + P_INVOKE guint64 + bp_get_duration (BansheePlayer *player) + { +- static GstFormat format = GST_FORMAT_TIME; + gint64 duration; + + g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0); + +- if (player->playbin != NULL && gst_element_query_duration (player->playbin, &format, &duration)) { ++ if (player->playbin != NULL && gst_element_query_duration (player->playbin, GST_FORMAT_TIME, &duration)) { + return duration / GST_MSECOND; + } + +@@ -446,7 +444,6 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri) + g_return_if_fail (IS_BANSHEE_PLAYER (player)); + gint64 pos = -1; + GstState state; +- GstFormat format = GST_FORMAT_BYTES; + gboolean paused = FALSE; + + // Gstreamer playbin do not support to set suburi during playback +@@ -454,7 +451,7 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri) + gst_element_get_state (player->playbin, &state, NULL, 0); + paused = (state == GST_STATE_PAUSED); + if (state >= GST_STATE_PAUSED) { +- gst_element_query_position (player->playbin, &format, &pos); ++ gst_element_query_position (player->playbin, GST_FORMAT_BYTES, &pos); + gst_element_set_state (player->playbin, GST_STATE_READY); + // Force to wait asynch operation + gst_element_get_state (player->playbin, &state, NULL, -1); +@@ -467,7 +464,7 @@ bp_set_subtitle_uri (BansheePlayer *player, const gchar *uri) + gst_element_get_state (player->playbin, &state, NULL, -1); + + if (pos != -1) { +- gst_element_seek_simple (player->playbin, format, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, pos); ++ gst_element_seek_simple (player->playbin, GST_FORMAT_BYTES, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, pos); + } + } + +diff --git a/libbanshee/banshee-ripper.c b/libbanshee/banshee-ripper.c +index e0e8c85..b3f8fed 100644 +--- a/libbanshee/banshee-ripper.c ++++ b/libbanshee/banshee-ripper.c +@@ -85,7 +85,6 @@ br_raise_error (BansheeRipper *ripper, const gchar *error, const gchar *debug) + static gboolean + br_iterate_timeout (BansheeRipper *ripper) + { +- GstFormat format = GST_FORMAT_TIME; + GstState state; + gint64 position; + +@@ -96,7 +95,7 @@ br_iterate_timeout (BansheeRipper *ripper) + return TRUE; + } + +- if (!gst_element_query_position (ripper->cddasrc, &format, &position)) { ++ if (!gst_element_query_position (ripper->cddasrc, GST_FORMAT_TIME, &position)) { + return TRUE; + } + +@@ -142,8 +141,9 @@ br_encoder_probe_mime_type (GstBin *bin) + GstIterator *pad_iter = gst_element_iterate_src_pads (element); + + BANSHEE_GST_ITERATOR_ITERATE (pad_iter, GstPad *, pad, TRUE, { +- GstStructure *str = GST_PAD_CAPS (pad) != NULL +- ? gst_caps_get_structure (GST_PAD_CAPS (pad), 0) ++ GstCaps *caps = gst_pad_get_current_caps (pad); ++ GstStructure *str = caps != NULL ++ ? gst_caps_get_structure (caps, 0) + : NULL; + + if (str != NULL) { +@@ -171,11 +171,8 @@ br_encoder_probe_mime_type (GstBin *bin) + preferred_mimetype = mimetype; + } + } +- +- gst_object_unref (pad); ++ gst_caps_unref (caps); + }); +- +- gst_object_unref (element); + }); + + return preferred_mimetype; +@@ -271,7 +268,7 @@ br_pipeline_construct (BansheeRipper *ripper) + return FALSE; + } + +- ripper->cddasrc = gst_element_make_from_uri (GST_URI_SRC, "cdda://1", "cddasrc"); ++ ripper->cddasrc = gst_element_make_from_uri (GST_URI_SRC, "cdda://1", "cddasrc", NULL); + if (ripper->cddasrc == NULL) { + br_raise_error (ripper, _("Could not initialize element from cdda URI"), NULL); + return FALSE; +@@ -405,7 +402,6 @@ br_rip_track (BansheeRipper *ripper, gint track_number, gchar *output_path, + + // We'll warn the user in the UI if we can't tag the encoded audio files + *tagging_supported = TRUE; +- gst_object_unref (element); + } + }); + +diff --git a/libbanshee/banshee-tagger.c b/libbanshee/banshee-tagger.c +index ca15e8f..762dfa9 100644 +--- a/libbanshee/banshee-tagger.c ++++ b/libbanshee/banshee-tagger.c +@@ -69,7 +69,7 @@ bt_tag_list_foreach (const GstTagList *list, const gchar *tag, gpointer userdata + GstTagList * + bt_tag_list_new () + { +- return gst_tag_list_new (); ++ return gst_tag_list_new_empty (); + } + + void +diff --git a/libbanshee/banshee-transcoder.c b/libbanshee/banshee-transcoder.c +index 10fc35c..0e241f0 100644 +--- a/libbanshee/banshee-transcoder.c ++++ b/libbanshee/banshee-transcoder.c +@@ -64,14 +64,13 @@ gst_transcoder_raise_error(GstTranscoder *transcoder, const gchar *error, const + static gboolean + gst_transcoder_iterate_timeout(GstTranscoder *transcoder) + { +- GstFormat format = GST_FORMAT_TIME; + gint64 position; + gint64 duration; + + g_return_val_if_fail(transcoder != NULL, FALSE); + +- if(!gst_element_query_duration(transcoder->pipeline, &format, &duration) || +- !gst_element_query_position(transcoder->sink_bin, &format, &position)) { ++ if(!gst_element_query_duration(transcoder->pipeline, GST_FORMAT_TIME, &duration) || ++ !gst_element_query_position(transcoder->sink_bin, GST_FORMAT_TIME, &position)) { + return TRUE; + } + +@@ -196,14 +195,14 @@ gst_transcoder_new_decoded_pad(GstElement *decodebin, GstPad *pad, + + g_return_if_fail(transcoder != NULL); + +- audiopad = gst_element_get_pad(transcoder->sink_bin, "sink"); ++ audiopad = gst_element_get_static_pad(transcoder->sink_bin, "sink"); + + if(GST_PAD_IS_LINKED(audiopad)) { + g_object_unref(audiopad); + return; + } + +- caps = gst_pad_get_caps(pad); ++ caps = gst_pad_query_caps(pad, NULL); + str = gst_caps_get_structure(caps, 0); + + if(!g_strrstr(gst_structure_get_name(str), "audio")) { +@@ -235,19 +234,19 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder, + + transcoder->pipeline = gst_pipeline_new("pipeline"); + +- source_elem = gst_element_make_from_uri(GST_URI_SRC, input_uri, "source"); ++ source_elem = gst_element_make_from_uri(GST_URI_SRC, input_uri, "source", NULL); + if(source_elem == NULL) { + gst_transcoder_raise_error(transcoder, _("Could not create source element"), NULL); + return FALSE; + } + +- decoder_elem = gst_element_factory_make("decodebin2", "decodebin2"); ++ decoder_elem = gst_element_factory_make("decodebin", "decodebin"); + if(decoder_elem == NULL) { +- gst_transcoder_raise_error(transcoder, _("Could not create decodebin2 plugin"), NULL); ++ gst_transcoder_raise_error(transcoder, _("Could not create decodebin plugin"), NULL); + return FALSE; + } + +- sink_elem = gst_element_make_from_uri(GST_URI_SINK, output_uri, "sink"); ++ sink_elem = gst_element_make_from_uri(GST_URI_SINK, output_uri, "sink", NULL); + if(sink_elem == NULL) { + gst_transcoder_raise_error(transcoder, _("Could not create sink element"), NULL); + return FALSE; +@@ -277,7 +276,7 @@ gst_transcoder_create_pipeline(GstTranscoder *transcoder, + return FALSE; + } + +- encoder_pad = gst_element_get_pad(conv_elem, "sink"); ++ encoder_pad = gst_element_get_static_pad(conv_elem, "sink"); + if(encoder_pad == NULL) { + gst_transcoder_raise_error(transcoder, _("Could not get sink pad from encoder"), NULL); + return FALSE; +-- +1.7.10.4
\ No newline at end of file diff --git a/testing/baobab/PKGBUILD b/testing/baobab/PKGBUILD new file mode 100644 index 000000000..5d9f45bcd --- /dev/null +++ b/testing/baobab/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169273 2012-10-18 19:29:39Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=baobab +pkgver=3.6.2 +pkgrel=1 +pkgdesc="A graphical directory tree analyzer" +arch=(i686 x86_64) +url="http://gnome.org" +license=('GPL2') +depends=('dconf' 'gtk3' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'desktop-file-utils') +makedepends=('intltool' 'itstool' 'vala' 'gobject-introspection') +groups=('gnome-extra') +install=$pkgname.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('8ffef397f11fb1e7105d1429be828e88b9ceb5746984f0bb978e66e87faf047a') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/baobab/baobab.install b/testing/baobab/baobab.install new file mode 100644 index 000000000..5a3c24041 --- /dev/null +++ b/testing/baobab/baobab.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/brasero/PKGBUILD b/testing/brasero/PKGBUILD new file mode 100644 index 000000000..04fa8e0bb --- /dev/null +++ b/testing/brasero/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 169272 2012-10-18 19:29:34Z jgc $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=brasero +pkgver=3.6.0 +pkgrel=1 +pkgdesc="A disc burning application for Gnome" +arch=('i686' 'x86_64') +url="http://www.gnome.org/projects/brasero" +license=('GPL') +options=('!libtool' '!emptydirs') +depends=('gtk3' 'gst-plugins-base' 'totem-plparser' 'cdrkit' 'cdrdao' 'desktop-file-utils' 'hicolor-icon-theme' 'shared-mime-info' 'libcanberra' 'dvd+rw-tools' 'dconf' 'libsm' 'libtracker-sparql') +makedepends=('gtk-doc' 'intltool' 'libburn' 'libisofs' 'nautilus' 'gobject-introspection' 'gconf' 'itstool' 'docbook-xsl') +optdepends=('libburn: alternative back-end' + 'libisofs: libburn back-end' + 'dvdauthor: video project' + 'gstreamer0.10-bad-plugins: video project' + 'vcdimager: video project') +replaces=('nautilus-cd-burner') +install=brasero.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('1eb16f85c5663f3f38ee60516759c0980024b893af9ec7875d31208a53c12b3b') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-caches \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR=$pkgdir install +} + diff --git a/testing/brasero/brasero.install b/testing/brasero/brasero.install new file mode 100644 index 000000000..9248062f7 --- /dev/null +++ b/testing/brasero/brasero.install @@ -0,0 +1,14 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-desktop-database -q + update-mime-database /usr/share/mime > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/cheese/PKGBUILD b/testing/cheese/PKGBUILD new file mode 100644 index 000000000..eecdebb6a --- /dev/null +++ b/testing/cheese/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169270 2012-10-18 19:29:27Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=cheese +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Use your webcam to take photos and videos, apply fancy special effects and share the fun with others" +arch=(i686 x86_64) +license=('GPL') +depends=('gtk3' 'gstreamer' 'gst-plugins-bad' 'gst-plugins-base' 'gst-plugins-good' 'clutter-gst' 'clutter-gtk' 'libcanberra' 'libgee' 'gnome-video-effects' 'librsvg' 'gnome-desktop') +makedepends=('pkgconfig' 'intltool' 'gobject-introspection' 'itstool' 'vala' 'nautilus-sendto') +optdepends=('nautilus-sendto: Send snapshots' + 'frei0r-plugins: More camera effects') +groups=('gnome-extra') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org/projects/cheese/" +install=cheese.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('2db101cd16ce41764eb2f676c1bed94e58e4a89141785b95ff088b60bcf6abef') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/cheese/cheese.install b/testing/cheese/cheese.install new file mode 100644 index 000000000..f7e8c46ac --- /dev/null +++ b/testing/cheese/cheese.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/clutter-gst/PKGBUILD b/testing/clutter-gst/PKGBUILD new file mode 100644 index 000000000..3fe2197ba --- /dev/null +++ b/testing/clutter-gst/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169268 2012-10-18 19:29:21Z jgc $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> + +pkgname=clutter-gst +pkgver=1.9.92 +pkgrel=1 +pkgdesc="GStreamer bindings for clutter" +arch=('i686' 'x86_64') +url="http://www.clutter-project.org/" +license=('LGPL') +depends=('clutter' 'gst-plugins-base-libs' 'libxdamage') +makedepends=('gobject-introspection') +options=('!libtool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('5c09dce218f711a44bd4d741e2dd10ffc47e7fcd7b0cf514ca0e92b825c76c45') + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/clutter-gtk/PKGBUILD b/testing/clutter-gtk/PKGBUILD new file mode 100644 index 000000000..d0d1059da --- /dev/null +++ b/testing/clutter-gtk/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169267 2012-10-18 19:29:18Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=clutter-gtk +pkgver=1.4.0 +pkgrel=1 +pkgdesc="GTK clutter widget" +arch=('i686' 'x86_64') +url="http://clutter-project.org/" +options=('!libtool') +license=('LGPL') +depends=('clutter' 'gtk3') +makedepends=('gobject-introspection') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('d51c4bb6a6ad0a337976766383f97a1c905a37bd77b3dbf484a7314130d97b6e') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/clutter/PKGBUILD b/testing/clutter/PKGBUILD new file mode 100644 index 000000000..8aa993d60 --- /dev/null +++ b/testing/clutter/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 169269 2012-10-18 19:29:24Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=clutter +pkgver=1.12.2 +pkgrel=1 +pkgdesc="A GObject based library for creating fast, visually rich graphical user interfaces" +arch=('i686' 'x86_64') +url="http://clutter-project.org/" +options=('!libtool') +license=('LGPL') +depends=('cogl' 'mesa' 'json-glib' 'atk' 'libxi') +makedepends=('gobject-introspection' 'mesa') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('27a8c4495099ea33de39c2d9a911a2c9e00ffa4dcc8f94fafedbcc752c0ddf13') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --enable-introspection + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/colord-gtk/PKGBUILD b/testing/colord-gtk/PKGBUILD new file mode 100644 index 000000000..b7d6d028c --- /dev/null +++ b/testing/colord-gtk/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169266 2012-10-18 19:29:14Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> + +pkgname=colord-gtk +pkgver=0.1.23 +pkgrel=1 +pkgdesc="GTK integration for libcolord" +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/software/colord" +license=('GPL2') +depends=('lcms2' 'gtk3' 'colord') +makedepends=('intltool' 'gobject-introspection' 'vala' 'gtk-doc') +source=($url/releases/$pkgname-$pkgver.tar.xz) +options=('!libtool') +sha1sums=('71fd56b34ba91ddf76c1ac394c2a31fa5e24770c') + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc --libexecdir=/usr/lib/colord \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/colord/PKGBUILD b/testing/colord/PKGBUILD new file mode 100644 index 000000000..b92249dca --- /dev/null +++ b/testing/colord/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 169265 2012-10-18 19:29:11Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> + +pkgname=colord +pkgver=0.1.23 +pkgrel=1 +pkgdesc="Color daemon" +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/software/colord" +license=('GPL2') +depends=('lcms2' 'libgusb' 'polkit' 'sane' 'shared-color-profiles' 'sqlite' 'udev') +makedepends=('intltool' 'gobject-introspection' 'vala' 'docbook2x') +source=($url/releases/$pkgname-$pkgver.tar.xz) +options=('!libtool') +sha1sums=('08019c86f89b1675e4e155772cc555ed748f319e') + +build() { + cd "$pkgname-$pkgver" + + # put udev files in /usr/lib + sed -i "/slashlibdir=/s#/lib#/usr/lib#" configure + + ./configure --prefix=/usr \ + --sysconfdir=/etc --libexecdir=/usr/lib/colord \ + --localstatedir=/var --disable-static \ + --with-systemdsystemunitdir=/usr/lib/systemd/system + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install \ + bashcompletiondir=/usr/share/bash-completion/completions +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/dconf/PKGBUILD b/testing/dconf/PKGBUILD new file mode 100644 index 000000000..0bf1ed1c7 --- /dev/null +++ b/testing/dconf/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169264 2012-10-18 19:29:07Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=dconf +pkgver=0.14.0 +pkgrel=1 +pkgdesc="A low-level configuration system." +arch=(i686 x86_64) +url="http://live.gnome.org/dconf" +license=('LGPL2.1') +depends=('glib2' 'gtk-update-icon-cache') +makedepends=('vala' 'gtk3' 'intltool' 'docbook-xsl') +optdepends=('gtk3: for dconf-editor') +install=dconf.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('9ae848bf25c3de0fb8c0157679630ddf39be1c10ed2f3beb2b8f0165d768da33') + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/dconf + make +} + +package() { + cd "$pkgname-$pkgver" + make completiondir=/usr/share/bash-completion/completions DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/dconf/dconf.install b/testing/dconf/dconf.install new file mode 100644 index 000000000..75d713d64 --- /dev/null +++ b/testing/dconf/dconf.install @@ -0,0 +1,13 @@ +post_install() { + gio-querymodules /usr/lib/gio/modules + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade(){ + post_install +} + +post_remove() { + post_install +} diff --git a/testing/devhelp/PKGBUILD b/testing/devhelp/PKGBUILD new file mode 100644 index 000000000..d5b880feb --- /dev/null +++ b/testing/devhelp/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 169263 2012-10-18 19:29:04Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Link Dupont <link@subpop.net> + +pkgname=devhelp +pkgver=3.6.0 +pkgrel=2 +pkgdesc="API documentation browser for GNOME" +arch=(i686 x86_64) +license=('GPL') +url="http://live.gnome.org/devhelp/" +depends=('gconf' 'webkitgtk3' 'hicolor-icon-theme') +makedepends=('pkgconfig' 'intltool' 'python2') +options=('!libtool' '!emptydirs') +install=devhelp.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('bf0576d5d70496367ccb22be53be620bbfe341bd491c1d725cfb59d566769fe1') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --with-webkit2 + make +} + +package() { + cd $pkgname-$pkgver + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain devhelp ${pkgdir}/etc/gconf/schemas/*.schemas + rm -f ${pkgdir}/etc/gconf/schemas/*.schemas +} diff --git a/testing/devhelp/devhelp.install b/testing/devhelp/devhelp.install new file mode 100644 index 000000000..4db5f6e5c --- /dev/null +++ b/testing/devhelp/devhelp.install @@ -0,0 +1,22 @@ +pkgname=devhelp + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/testing/empathy/PKGBUILD b/testing/empathy/PKGBUILD new file mode 100644 index 000000000..3c814c345 --- /dev/null +++ b/testing/empathy/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 169262 2012-10-18 19:29:01Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=empathy +pkgver=3.6.0.2 +pkgrel=1 +pkgdesc="A GNOME instant messaging client using the Telepathy framework." +arch=('i686' 'x86_64') +url="http://live.gnome.org/Empathy" +license=('GPL2') +depends=('clutter-gst' 'clutter-gtk' 'folks' 'gcr' 'iso-codes' 'libcanberra' 'libpulse' 'webkitgtk3' 'telepathy-farstream' 'telepathy-glib' 'telepathy-logger' 'telepathy-mission-control') +makedepends=('intltool' 'itstool' 'docbook-xsl' 'nautilus-sendto') +optdepends=('telepathy-gabble: XMPP/Jabber support' + 'telepathy-idle: IRC support' + 'telepathy-salut: Link-local XMPP support' + 'telepathy-rakia: SIP support' + 'telepathy-haze: libpurple support' + 'nautilus-sendto: Send files from nautilus') +options=('!libtool') +groups=('gnome-extra') +install=empathy.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('3c27db67236249e60ee0439d6a1098729939731ce597b724a058c8ce2eb659f9') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/empathy \ + --disable-static \ + --disable-schemas-compile \ + --enable-gst-1.0=yes + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/empathy/empathy.install b/testing/empathy/empathy.install new file mode 100644 index 000000000..f8d2dfb1f --- /dev/null +++ b/testing/empathy/empathy.install @@ -0,0 +1,16 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + echo "To use Empathy you need to install at least one Telepathy connection manager." +} + +post_upgrade() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_remove() { + post_upgrade +} diff --git a/testing/eog-plugins/PKGBUILD b/testing/eog-plugins/PKGBUILD new file mode 100644 index 000000000..3b9071fd2 --- /dev/null +++ b/testing/eog-plugins/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169261 2012-10-18 19:28:57Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=eog-plugins +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Plugins for Eye of Gnome" +arch=('i686' 'x86_64') +url="http://www.gnome.org/" +license=('GPL2') +depends=('eog' 'libchamplain' 'libgdata') +makedepends=('intltool') +install=eog-plugins.install +options=('!libtool') +groups=(gnome-extra) +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('0270ae05f6cdd9c73472323370c4779f1148c77f3f8890c89fb8488cf83051ac') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/eog-plugins/eog-plugins.install b/testing/eog-plugins/eog-plugins.install new file mode 100644 index 000000000..24072f316 --- /dev/null +++ b/testing/eog-plugins/eog-plugins.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/eog/PKGBUILD b/testing/eog/PKGBUILD new file mode 100644 index 000000000..eed12259c --- /dev/null +++ b/testing/eog/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169260 2012-10-18 19:28:54Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=eog +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Eye of Gnome: An image viewing and cataloging program" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gnome-desktop' 'libexif' 'lcms2' 'desktop-file-utils' 'exempi' 'libpeas' 'librsvg' 'gnome-icon-theme' 'dconf') +makedepends=('gtk-doc' 'intltool' 'itstool') +install=eog.install +groups=('gnome-extra') +options=('!emptydirs' '!libtool') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('4442ec61b0c5092c686ccd13038359eb50e48ee49176a588b8ea04072c19bd57') + +build() { + cd "$pkgname-$pkgver" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + # remove it from Xfce menu that ships its own thingy + echo "NotShowIn=XFCE" >> $pkgdir/usr/share/applications/eog.desktop +} diff --git a/testing/eog/eog.install b/testing/eog/eog.install new file mode 100644 index 000000000..1571179ca --- /dev/null +++ b/testing/eog/eog.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/epiphany-extensions/PKGBUILD b/testing/epiphany-extensions/PKGBUILD new file mode 100644 index 000000000..3dc63bab9 --- /dev/null +++ b/testing/epiphany-extensions/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 169258 2012-10-18 19:28:46Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=epiphany-extensions +pkgver=3.6.0 +pkgrel=1 +url="http://www.gnome.org/projects/epiphany/" +pkgdesc="Various extentions for the Epiphany web browser" +arch=('i686' 'x86_64') +license=('GPL') +depends=('epiphany' 'opensp' 'hicolor-icon-theme') +makedepends=('intltool' 'gnome-doc-utils') +options=('!libtool' '!emptydirs') +install=epiphany-extensions.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('3a1cc21b44a7b00cfe055b87c23f20f16c9fbd2b5a30380338885a5ae0847f7a') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/epiphany-extensions/epiphany-extensions.install b/testing/epiphany-extensions/epiphany-extensions.install new file mode 100644 index 000000000..c0ed9a0d7 --- /dev/null +++ b/testing/epiphany-extensions/epiphany-extensions.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/epiphany/PKGBUILD b/testing/epiphany/PKGBUILD new file mode 100644 index 000000000..e44998d06 --- /dev/null +++ b/testing/epiphany/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169259 2012-10-18 19:28:50Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=epiphany +pkgver=3.6.1 +pkgrel=1 +install=epiphany.install +pkgdesc="A GNOME web browser based on the WebKit rendering engine." +arch=('i686' 'x86_64') +license=('GPL') +depends=('libsoup-gnome' 'libnotify' 'gsettings-desktop-schemas' 'webkitgtk3' 'nss' 'iso-codes' 'dconf' 'gobject-introspection' 'desktop-file-utils' + 'hicolor-icon-theme' 'gcr' 'gnome-desktop') +makedepends=('intltool' 'gnome-doc-utils' 'startup-notification') +options=('!libtool' '!emptydirs') +groups=('gnome') +url="http://www.gnome.org/projects/epiphany/" +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('1b4e33e02f7653489be9c49d182be84da13348b4ad3cb4c09c643898586a6008') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/epiphany/epiphany.install b/testing/epiphany/epiphany.install new file mode 100644 index 000000000..8b17fa3d4 --- /dev/null +++ b/testing/epiphany/epiphany.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/evince/PKGBUILD b/testing/evince/PKGBUILD new file mode 100644 index 000000000..504b698f1 --- /dev/null +++ b/testing/evince/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 169257 2012-10-18 19:28:43Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=evince +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Simply a document viewer" +url="http://projects.gnome.org/evince/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gtk3' 'libgxps' 'libspectre' 'gsfonts' 'poppler-glib' 'djvulibre' 'gnome-icon-theme' 't1lib' 'libgnome-keyring' 'desktop-file-utils' 'dconf' 'gsettings-desktop-schemas') +makedepends=('itstool' 'nautilus' 'texlive-bin' 'intltool' 'gobject-introspection' 'docbook-xsl') +optdepends=('texlive-bin: DVI support') +groups=('gnome-extra') +install=evince.install +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('8dfa7b9c2f0b910d06b1612ff445d3f3050c44d25f2e78718966374d30ab83f2') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --libexecdir=/usr/lib/evince \ + --disable-static --enable-nautilus \ + --enable-pdf --enable-tiff \ + --enable-djvu --enable-dvi \ + --enable-t1lib --enable-comics \ + --disable-scrollkeeper --disable-schemas-compile \ + --enable-introspection + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/evince/evince.install b/testing/evince/evince.install new file mode 100644 index 000000000..1571179ca --- /dev/null +++ b/testing/evince/evince.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/evolution-data-server/PKGBUILD b/testing/evolution-data-server/PKGBUILD new file mode 100644 index 000000000..45fee9741 --- /dev/null +++ b/testing/evolution-data-server/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169256 2012-10-18 19:28:39Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=evolution-data-server +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Centralized access to appointments and contacts" +arch=('i686' 'x86_64') +depends=('gnome-online-accounts' 'nss' 'krb5' 'libgweather' 'libical' 'db' 'libgdata') +makedepends=('intltool' 'gperf' 'gobject-introspection' 'vala') +options=('!libtool') +install=$pkgname.install +url="http://www.gnome.org" +license=('GPL') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('637fcb6a83601af2968ca0b600958da8b0f25444224edc5fae41dea995924150') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --with-openldap=yes \ + --libexecdir=/usr/lib/evolution-data-server \ + --with-krb5=/usr --with-libdb=/usr \ + --enable-vala-bindings + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/evolution-data-server/evolution-data-server.install b/testing/evolution-data-server/evolution-data-server.install new file mode 100644 index 000000000..29a359805 --- /dev/null +++ b/testing/evolution-data-server/evolution-data-server.install @@ -0,0 +1,11 @@ +post_install () { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade () { + post_install +} + +post_remove () { + post_install +} diff --git a/testing/evolution-ews/PKGBUILD b/testing/evolution-ews/PKGBUILD new file mode 100644 index 000000000..de2a41619 --- /dev/null +++ b/testing/evolution-ews/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 169254 2012-10-18 19:28:32Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=evolution-ews +pkgver=3.6.0 +pkgrel=1 +pkgdesc="MS Exchange integration through Exchange Web Services" +arch=('i686' 'x86_64') +license=('LGPL2.1') +url="http://www.gnome.org" +depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop') +makedepends=('intltool' 'evolution') +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('a1d40971f47bfd947349f48a86f8a5ec7252db41b9b0d19204b4e28f2408a96a') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/evolution --disable-static + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/evolution/PKGBUILD b/testing/evolution/PKGBUILD new file mode 100644 index 000000000..f08bcae4d --- /dev/null +++ b/testing/evolution/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 169255 2012-10-18 19:28:35Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=evolution +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Manage your email, contacts and schedule" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gnome-desktop' 'evolution-data-server' 'gtkhtml4' 'libcanberra' 'gstreamer0.10' 'libpst' 'libytnef' 'desktop-file-utils' 'hicolor-icon-theme' 'dconf') +makedepends=('intltool' 'itstool' 'docbook-xsl' 'networkmanager') +optdepends=('bogofilter: possible junk filter plugin' + 'spamassassin: possible junk filter plugin') +groups=('gnome-extra') +options=('!libtool' '!emptydirs') +install=evolution.install +url=http://www.gnome.org/projects/evolution/ +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('6163ef56a22ca7c605a89d774851c9988d7840a4dc5c73c546308e5380cfe7b4') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ + --enable-nss=yes \ + --with-openldap=yes \ + --enable-smime=yes \ + --with-krb5=/usr \ + --disable-schemas-compile + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/evolution/evolution.install b/testing/evolution/evolution.install new file mode 100644 index 000000000..67eca41f0 --- /dev/null +++ b/testing/evolution/evolution.install @@ -0,0 +1,19 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/evolution.schemas ]; then + gconfpkg --uninstall evolution + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/farstream/PKGBUILD b/testing/farstream/PKGBUILD new file mode 100644 index 000000000..de76e2a49 --- /dev/null +++ b/testing/farstream/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169253 2012-10-18 19:28:28Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=farstream +pkgver=0.2.1 +pkgrel=1 +pkgdesc="Farstream (formerly Farsight) - Audio/Video Communications Framework" +arch=(i686 x86_64) +url="http://www.freedesktop.org/wiki/Software/Farstream" +license=('LGPL2.1') +depends=('gst-plugins-base-libs' 'libnice') +makedepends=('gobject-introspection') +optdepends=('gst-plugins-good' 'gst-plugins-bad') +conflicts=('farsight2') +replaces=('farsight2') +options=(!libtool) +source=(http://freedesktop.org/software/$pkgname/releases/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('479c42adf5cc606abcb47d58ed542414') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --with-package-name='Arch Linux farstream package' \ + --with-package-origin='http://archlinux.org' \ + --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/folks/PKGBUILD b/testing/folks/PKGBUILD new file mode 100644 index 000000000..c4099d927 --- /dev/null +++ b/testing/folks/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169251 2012-10-18 19:28:21Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=folks +pkgver=0.8.0 +pkgrel=1 +pkgdesc="Library to aggregates people into metacontacts" +arch=(i686 x86_64) +url="http://telepathy.freedesktop.org/wiki/Folks" +license=('LGPL2.1') +depends=('telepathy-glib' 'libgee' 'libxml2' 'evolution-data-server' 'libsocialweb' 'libzeitgeist') +makedepends=('gobject-introspection' 'intltool') +install=folks.install +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('8c56c7594dd502ef5877e93181136e41f4ea03de4971372a7a04e7f1492eed9d') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/folks/folks.install b/testing/folks/folks.install new file mode 100644 index 000000000..c19349f72 --- /dev/null +++ b/testing/folks/folks.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gcalctool/PKGBUILD b/testing/gcalctool/PKGBUILD new file mode 100644 index 000000000..0634cb9fe --- /dev/null +++ b/testing/gcalctool/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169250 2012-10-18 19:28:17Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gcalctool +pkgver=6.6.1 +pkgrel=1 +pkgdesc="GNOME Scientific calculator" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gtk3' 'dconf') +makedepends=('intltool' 'yelp-tools') +groups=('gnome-extra') +options=(!emptydirs) +url="http://www.gnome.org" +install=gcalctool.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver::3}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('bc08a583f13f239a2b731f3478afa1077957b51563dd35f9ee303cb5f9b29016') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --disable-schemas-compile \ + --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gcalctool/gcalctool.install b/testing/gcalctool/gcalctool.install new file mode 100644 index 000000000..2ef26aaa9 --- /dev/null +++ b/testing/gcalctool/gcalctool.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/gcr/PKGBUILD b/testing/gcr/PKGBUILD new file mode 100644 index 000000000..ef21fdbbd --- /dev/null +++ b/testing/gcr/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169249 2012-10-18 19:28:14Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gcr +pkgver=3.6.1 +pkgrel=1 +pkgdesc="A library for bits of crypto UI and parsing" +arch=(i686 x86_64) +url="http://www.gnome.org" +license=('GPL2') +depends=('dconf' 'desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'libgcrypt') +makedepends=('intltool' 'gobject-introspection') +options=(!libtool) +install=gcr.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('d95f8b70bdcc371c2712ba166e124114bd99bbde1173c0cbe7a8462f146a9927') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --libexec=/usr/lib/gcr \ + --disable-static \ + --disable-update-mime \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gcr/gcr.install b/testing/gcr/gcr.install new file mode 100644 index 000000000..8677671c4 --- /dev/null +++ b/testing/gcr/gcr.install @@ -0,0 +1,14 @@ +post_install () { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-mime-database /usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade () { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gdk-pixbuf2/PKGBUILD b/testing/gdk-pixbuf2/PKGBUILD index 15840ad30..e3dc9a299 100644 --- a/testing/gdk-pixbuf2/PKGBUILD +++ b/testing/gdk-pixbuf2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 165188 2012-08-12 19:25:57Z ibiru $ +# $Id: PKGBUILD 169248 2012-10-18 19:28:10Z jgc $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gdk-pixbuf2 -pkgver=2.26.2 +pkgver=2.26.4 pkgrel=1 pkgdesc="An image loading library" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ makedepends=('gtk-doc' 'gobject-introspection') options=('!libtool') install=gdk-pixbuf2.install source=(http://download.gnome.org/sources/gdk-pixbuf/${pkgver%.*}/gdk-pixbuf-$pkgver.tar.xz) -sha256sums=('3555521050e30e2fa090bfe650910c14649b6ab0acb35a5a7eaf90fe694f1403') +sha256sums=('a91458645f078debf204fef8bb06b30f356fcb5d48f65395132a5dba2b3510be') build() { cd gdk-pixbuf-$pkgver diff --git a/testing/gdl/PKGBUILD b/testing/gdl/PKGBUILD new file mode 100644 index 000000000..efbed0c95 --- /dev/null +++ b/testing/gdl/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 169247 2012-10-18 19:28:06Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gdl +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME Docking Library" +arch=(i686 x86_64) +license=('GPL') +url="http://www.gnome.org/" +depends=('gtk3') +makedepends=('gtk-doc' 'intltool' 'gobject-introspection') +options=('!libtool') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('32a04fc96667e2f7ca1e3c853b996da3e62f4811b2a90d62cb2081f68aeecac3') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gdm/PKGBUILD b/testing/gdm/PKGBUILD index 71b0db89f..a7f614765 100644 --- a/testing/gdm/PKGBUILD +++ b/testing/gdm/PKGBUILD @@ -1,69 +1,58 @@ -# $Id: PKGBUILD 165393 2012-08-17 23:22:35Z heftig $ +# $Id: PKGBUILD 169280 2012-10-18 19:45:52Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gdm -pkgver=3.4.1 -pkgrel=3 -pkgdesc="Gnome Display Manager (a reimplementation of xdm)" -arch=('i686' 'x86_64') -license=('GPL') +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Gnome Display Manager" +arch=(i686 x86_64) +license=(GPL) url="http://www.gnome.org" -backup=('etc/pam.d/gdm-autologin' 'etc/pam.d/gdm-fingerprint' 'etc/pam.d/gdm' 'etc/pam.d/gdm-password' - 'etc/pam.d/gdm-smartcard' 'etc/pam.d/gdm-welcome' 'etc/gdm/custom.conf') -groups=('gnome-extra') +backup=(etc/pam.d/gdm-autologin etc/pam.d/gdm-fingerprint etc/pam.d/gdm-launch-environment + etc/pam.d/gdm-password etc/pam.d/gdm-smartcard etc/gdm/custom.conf) +groups=(gnome) options=('!libtool') -depends=('libcanberra' 'libxklavier' 'gnome-session' 'gnome-settings-daemon' 'metacity' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb' 'nss') -makedepends=('intltool' 'gnome-doc-utils' 'xorg-server' 'gobject-introspection') +depends=(libcanberra gnome-session gnome-settings-daemon metacity upower accountsservice systemd + xorg-xrdb nss polkit-gnome) +makedepends=(itstool intltool gnome-doc-utils xorg-server gobject-introspection) optdepends=('gnome-shell: new login interface' 'fprintd: fingerprint authentication') install=gdm.install source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz - fix_external_program_directories.patch - gdm-vt-allocation-hack.patch - gdm gdm.service - gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam) -sha256sums=('6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665' - 'f68600ccf80f475deb417d58ab3306c4a1ba4622688e2901996c8549c85a9ee6' - '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215' - '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550' - 'b7b91c682ff4c7cfb2d395c65abeca9dad8c0997b399dcf22abdf481c3e61349' - '6a8b286d1ffa04150b3cc401f64e6ddec778c7b65f5bfc831031b64345d7e6b2' - 'dd50f5bd28807a16c5ebe89fc868b7c47fa571138498e879f2b1c9da1ad6eb84' - 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19' - '1a1e9b3f26de4eb9f45d1e9a0b5d0db902ca734461ba46b4bb620b0298bb98aa' - '844d5fae0df59241d34099a3d458289bd95707b2aae976627c663904294043d8' - '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834') + fix_external_program_directories.patch) +sha256sums=('aff69dde55e11b540145002c95cf966cd16376910283b385520431ced10c5031' + 'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2') build() { cd "$pkgname-$pkgver" patch -Np1 -i "$srcdir/fix_external_program_directories.patch" - patch -Np1 -i "$srcdir/gdm-vt-allocation-hack.patch" - ./configure --prefix=/usr --sysconfdir=/etc \ - --libexecdir=/usr/lib/gdm \ - --localstatedir=/var \ - --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \ - --disable-scrollkeeper \ - --disable-static \ - --without-tcp-wrappers \ - --disable-schemas-compile \ - --with-systemd=no + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/gdm \ + --localstatedir=/var \ + --disable-static \ + --disable-schemas-compile \ + --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \ + --with-check-accelerated-directory=/usr/lib/gnome-session \ + --with-authentication-agent-directory=/usr/lib/polkit-gnome \ + --without-tcp-wrappers \ + --without-console-kit \ + --with-systemd \ + --with-default-pam-config=exherbo + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool - make + + make -j1 # race condition building gdm-client.c, does not wait for gdm-client-glue.h } package() { cd "$pkgname-$pkgver" make DESTDIR="$pkgdir" install - for i in gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam;do - install -m644 "$srcdir/$i" "$pkgdir/etc/pam.d/${i%.pam}" - done - - install -Dm755 "$srcdir/gdm" "$pkgdir/etc/rc.d/gdm" - install -Dm644 "$srcdir/gdm.service" "$pkgdir/usr/lib/systemd/system/gdm.service" - chmod 1770 "$pkgdir/var/log/gdm" chmod 700 "$pkgdir/var/lib/gdm/.config/dconf" - rm -rf "$pkgdir/var/run" "$pkgdir/var/gdm" + rm -r "$pkgdir/var/run" "$pkgdir/var/gdm" } diff --git a/testing/gdm/fix_external_program_directories.patch b/testing/gdm/fix_external_program_directories.patch index b3a0f0cf6..5e51a776f 100644 --- a/testing/gdm/fix_external_program_directories.patch +++ b/testing/gdm/fix_external_program_directories.patch @@ -1,25 +1,3 @@ -diff -Nur gdm-3.3.92.orig/daemon/gdm-server.c gdm-3.3.92/daemon/gdm-server.c ---- gdm-3.3.92.orig/daemon/gdm-server.c 2012-03-19 22:30:05.311490006 +0000 -+++ gdm-3.3.92/daemon/gdm-server.c 2012-03-19 22:30:17.004732251 +0000 -@@ -139,7 +139,7 @@ - g_return_val_if_fail (GDM_IS_SERVER (server), NULL); - - error = NULL; -- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s", -+ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s", - server->priv->display_name); - - g_debug ("GdmServer: Running helper %s", command); -diff -Nur gdm-3.3.92.orig/data/gdm-shell.session.in gdm-3.3.92/data/gdm-shell.session.in ---- gdm-3.3.92.orig/data/gdm-shell.session.in 2012-03-19 22:30:05.311490006 +0000 -+++ gdm-3.3.92/data/gdm-shell.session.in 2012-03-19 22:30:17.004732251 +0000 -@@ -1,5 +1,5 @@ - [GNOME Session] - Name=Display Manager - RequiredComponents=gnome-shell;gnome-settings-daemon; --IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @libexecdir@/gnome-session-check-accelerated' -+IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && /usr/lib/gnome-session/gnome-session-check-accelerated' - FallbackSession=gdm-fallback diff -Nur gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c --- gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:05.304823391 +0000 +++ gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:17.004732251 +0000 diff --git a/testing/gedit/PKGBUILD b/testing/gedit/PKGBUILD new file mode 100644 index 000000000..62827d8bc --- /dev/null +++ b/testing/gedit/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169246 2012-10-18 19:28:03Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gedit +pkgver=3.6.1 +pkgrel=1 +pkgdesc="A text editor for GNOME" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gtksourceview3' 'gsettings-desktop-schemas' 'libpeas' 'enchant' 'iso-codes' 'libsm' 'desktop-file-utils' 'python2-gobject' 'dconf') +makedepends=('yelp-tools' 'intltool') +groups=('gnome-extra') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +install=gedit.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('75fb18e32a7571900dda8cbd3a71212bded1ef714d3aa9f9513296eea02779a4') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib --disable-updater --disable-schemas-compile \ + --enable-python + make +} + +package(){ + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gedit/gedit.install b/testing/gedit/gedit.install new file mode 100644 index 000000000..606920688 --- /dev/null +++ b/testing/gedit/gedit.install @@ -0,0 +1,18 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/gedit.schemas ]; then + gconfpkg --uninstall gedit + fi +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/ghex/PKGBUILD b/testing/ghex/PKGBUILD new file mode 100644 index 000000000..adb0e8281 --- /dev/null +++ b/testing/ghex/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169245 2012-10-18 19:28:00Z jgc $ +# Maintainer: tobias <tobias@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=ghex +pkgver=3.6.1 +pkgrel=1 +pkgdesc="A simple binary editor for the Gnome desktop" +arch=('i686' 'x86_64') +license=('GPL') +url="http://live.gnome.org/Ghex" +depends=('gtk3' 'hicolor-icon-theme') +makedepends=('intltool' 'gnome-doc-utils') +options=('!libtool' '!emptydirs') +install=ghex.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('ef74fc5a5a67736391b3fb7fb14f588f3a4441b1aa48d1a6eaa1adb6c0427544') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/ghex/ghex.install b/testing/ghex/ghex.install new file mode 100644 index 000000000..084bc82ee --- /dev/null +++ b/testing/ghex/ghex.install @@ -0,0 +1,20 @@ +pkgname=ghex + +post_install() { + glib-compile-schemas usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + if [ -f usr/share/gconf/schemas/$pkgname.schemas ]; then + gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/gjs/PKGBUILD b/testing/gjs/PKGBUILD new file mode 100644 index 000000000..c08ea4dc7 --- /dev/null +++ b/testing/gjs/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169244 2012-10-18 19:27:55Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gjs +pkgver=1.34.0 +pkgrel=1 +pkgdesc="Javascript Bindings for GNOME" +arch=('i686' 'x86_64') +url="http://live.gnome.org/Gjs" +license=('GPL') +depends=('cairo' 'dbus-glib' 'gobject-introspection' 'js') +options=('!libtool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('3d62c717a0522a36c6faa1eb021872255e3cd285a72786afe23b7cca2e3084cb') + +build() { + cd "$srcdir/$pkgname-$pkgver" + sed -i 's|python|python2|' scripts/make-tests + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/glade/PKGBUILD b/testing/glade/PKGBUILD new file mode 100644 index 000000000..280591b87 --- /dev/null +++ b/testing/glade/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169243 2012-10-18 19:27:52Z jgc $ +# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org> + +pkgname=glade +pkgver=3.14.1 +pkgrel=1 +pkgdesc="User interface builder for GTK+ and GNOME." +arch=(i686 x86_64) +license=('GPL' 'LGPL') +depends=('gtk3' 'libxml2' 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('intltool' 'python2' 'gtk-doc' 'gobject-introspection' 'python2-gobject' 'itstool' 'docbook-xsl') +optdepends=('python2: Python widgets support') +options=('!libtool') +url="http://glade.gnome.org/" +install=glade.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('8484b62c7a4579ea3e5d98200b397a1baf0b621c0b0c70242ee1dbbe449eae20') + +build() { + cd "$pkgname-$pkgver" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/glade/glade.install b/testing/glade/glade.install new file mode 100644 index 000000000..bce670aff --- /dev/null +++ b/testing/glade/glade.install @@ -0,0 +1,12 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/glib-networking/PKGBUILD b/testing/glib-networking/PKGBUILD new file mode 100644 index 000000000..7e6f403ac --- /dev/null +++ b/testing/glib-networking/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169240 2012-10-18 19:27:39Z jgc $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> + +pkgname=glib-networking +pkgver=2.34.0 +pkgrel=1 +pkgdesc="Network-related giomodules for glib" +arch=('i686' 'x86_64') +url="http://www.gtk.org/" +license=('GPL2') +depends=('glib2' 'libproxy' 'gnutls' 'ca-certificates' 'gsettings-desktop-schemas') +makedepends=('intltool') +options=('!libtool') +install=glib-networking.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('c56eb4161671bff9568f3a92a88531ca01217eb7ee8514bb6255730400f877f1') + +build() { + cd "$pkgname-$pkgver" + ./configure \ + --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/glib-networking --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/glib-networking/glib-networking.install b/testing/glib-networking/glib-networking.install new file mode 100644 index 000000000..8214e1968 --- /dev/null +++ b/testing/glib-networking/glib-networking.install @@ -0,0 +1,11 @@ +post_install() { + gio-querymodules /usr/lib/gio/modules +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/glib2/PKGBUILD b/testing/glib2/PKGBUILD index 8bc1a779a..bc162b826 100644 --- a/testing/glib2/PKGBUILD +++ b/testing/glib2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 163756 2012-07-19 08:05:05Z heftig $ +# $Id: PKGBUILD 169242 2012-10-18 19:27:48Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=glib2 -pkgver=2.32.4 +pkgver=2.34.1 pkgrel=1 pkgdesc="Common C routines used by GTK+ and other libs" url="http://www.gtk.org/" @@ -13,12 +13,8 @@ makedepends=('pkg-config' 'python2') optdepends=('python2: for gdbus-codegen') options=('!libtool' '!docs' '!emptydirs') source=(http://ftp.gnome.org/pub/GNOME/sources/glib/${pkgver%.*}/glib-$pkgver.tar.xz - glib2.sh - glib2.csh revert-warn-glib-compile-schemas.patch) -sha256sums=('a5d742a4fda22fb6975a8c0cfcd2499dd1c809b8afd4ef709bda4d11b167fae2' - '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a' - '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3' +sha256sums=('6e84dc9d84b104725b34d255421ed7ac3629e49f437d37addde5ce3891c2e2f1' '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97') build() { @@ -35,10 +31,6 @@ package() { cd glib-$pkgver make completiondir=/usr/share/bash-completion/completions DESTDIR="$pkgdir" install - install -d "$pkgdir/etc/profile.d" - install -m755 "$srcdir/glib2.sh" "$pkgdir/etc/profile.d/" - install -m755 "$srcdir/glib2.csh" "$pkgdir/etc/profile.d/" - for _i in "$pkgdir/usr/share/bash-completion/completions/"*; do chmod -x "$_i" done diff --git a/testing/glibmm/PKGBUILD b/testing/glibmm/PKGBUILD new file mode 100644 index 000000000..29e0ffaac --- /dev/null +++ b/testing/glibmm/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 169241 2012-10-18 19:27:44Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> + +pkgbase=glibmm +pkgname=('glibmm' 'glibmm-docs') +pkgver=2.33.14 +pkgrel=1 +arch=('i686' 'x86_64') +license=('LGPL') +makedepends=('glib2' 'libsigc++2.0' 'pkgconfig') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +options=('!libtool') +url="http://www.gtkmm.org/" +sha256sums=('5bf9e9338a8e50cf46e637abed9c62cba41cccecb6610f5bba2830d9afc4e6ed') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package_glibmm() { + pkgdesc="Glib-- (glibmm) is a C++ interface for glib" + depends=('glib2' 'libsigc++2.0') + cd "$pkgbase-$pkgver" + sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile + make DESTDIR="$pkgdir" install +} + +package_glibmm-docs() { + pkgdesc="Developer documentation for glibmm" + cd "$pkgbase-$pkgver/docs" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules b/testing/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules new file mode 100644 index 000000000..d7d9650dc --- /dev/null +++ b/testing/gnome-bluetooth/61-gnome-bluetooth-rfkill.rules @@ -0,0 +1,7 @@ +# Get access to /dev/rfkill for users +# See https://bugzilla.redhat.com/show_bug.cgi?id=514798 +# +# Simplified by Kay Sievers +# https://bugzilla.redhat.com/show_bug.cgi?id=733326 + +KERNEL=="rfkill", SUBSYSTEM=="misc", TAG+="uaccess" diff --git a/testing/gnome-bluetooth/PKGBUILD b/testing/gnome-bluetooth/PKGBUILD new file mode 100644 index 000000000..5191ec4e8 --- /dev/null +++ b/testing/gnome-bluetooth/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 169238 2012-10-18 19:27:33Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Roman Kyrylych <roman@archlinux.org> + +pkgname=gnome-bluetooth +pkgver=3.6.0 +pkgrel=2 +pkgdesc="The GNOME Bluetooth Subsystem" +arch=('i686' 'x86_64') +url="http://live.gnome.org/GnomeBluetooth" +license=('GPL' 'LGPL') +depends=('gtk3' 'hicolor-icon-theme' 'gvfs-obexftp' 'obexd-client' 'dconf' 'libnotify') +makedepends=('intltool' 'nautilus-sendto' 'gobject-introspection' 'itstool' 'docbook-xsl') +options=('!libtool' '!emptydirs') +install=gnome-bluetooth.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + 61-gnome-bluetooth-rfkill.rules) +sha256sums=('021d9711d76e6d195812b1804ff39b5936ce978c25f900bc92e4bffd7045d306' + '8dd2d3637f380a89e72f65e6c8021e994ccbdc645f1a1b1dbffe74ac9f061f53') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-desktop-update \ + --disable-icon-update \ + --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -m644 -D ../61-gnome-bluetooth-rfkill.rules \ + "$pkgdir/usr/lib/udev/rules.d//61-gnome-bluetooth-rfkill.rules" +} diff --git a/testing/gnome-bluetooth/gnome-bluetooth.install b/testing/gnome-bluetooth/gnome-bluetooth.install new file mode 100644 index 000000000..8c991877f --- /dev/null +++ b/testing/gnome-bluetooth/gnome-bluetooth.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/gnome-color-manager/PKGBUILD b/testing/gnome-color-manager/PKGBUILD index 1c33c0e9e..937b0f330 100644 --- a/testing/gnome-color-manager/PKGBUILD +++ b/testing/gnome-color-manager/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 164677 2012-08-02 15:21:28Z andrea $ +# $Id: PKGBUILD 169237 2012-10-18 19:27:30Z jgc $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> pkgname=gnome-color-manager -pkgver=3.4.2 -pkgrel=2 +pkgver=3.6.0 +pkgrel=1 pkgdesc="Color profile manager for the GNOME desktop" arch=(i686 x86_64) url="http://projects.gnome.org/gnome-color-manager/" license=(GPL2) depends=('libcanberra' 'vte3' 'exiv2' 'hicolor-icon-theme' 'desktop-file-utils' 'clutter-gtk' - 'mash' 'shared-color-profiles' 'shared-color-targets' 'gnome-desktop') -makedepends=('intltool' 'gtk-doc') + 'mash' 'shared-color-profiles' 'shared-color-targets' 'gnome-desktop' 'colord-gtk') +makedepends=('intltool' 'yelp-tools') install=gnome-color-manager.install options=('!libtool' '!emptydirs') groups=('gnome-extra') source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('ad69ac0ac242be0ad5b7966e0c2978a9a1440e52ee816993e4a8eb2cf6f0c922') +sha256sums=('c4e9d63c53061c65c4d1bcdd14952dd01aed7332c2e36d34f4a243a9e5097ec9') build(){ cd $pkgname-$pkgver diff --git a/testing/gnome-contacts/PKGBUILD b/testing/gnome-contacts/PKGBUILD new file mode 100644 index 000000000..096682447 --- /dev/null +++ b/testing/gnome-contacts/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169235 2012-10-18 19:27:23Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gnome-contacts +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Contacts Manager for GNOME" +arch=(i686 x86_64) +url="http://www.gnome.org" +license=('GPL2') +groups=(gnome-extra) +depends=('gtk3' 'folks' 'libnotify' 'gnome-desktop' 'dconf' 'gnome-online-accounts' 'libgee' 'telepathy-glib' 'cheese') +makedepends=('intltool' 'vala') +install=$pkgname.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('2cc93827511cd28cc854ce4c36924a437350f7d61b6b0b4140a32833be683f95') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --libexecdir=/usr/lib/gnome-contacts + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-contacts/gnome-contacts.install b/testing/gnome-contacts/gnome-contacts.install new file mode 100644 index 000000000..c19349f72 --- /dev/null +++ b/testing/gnome-contacts/gnome-contacts.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-control-center/PKGBUILD b/testing/gnome-control-center/PKGBUILD new file mode 100644 index 000000000..13e45bd3b --- /dev/null +++ b/testing/gnome-control-center/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 169234 2012-10-18 19:27:19Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-control-center +pkgver=3.6.1 +pkgrel=1 +pkgdesc="The Control Center for GNOME" +arch=('i686' 'x86_64') +depends=('accountsservice' 'cups-pk-helper' 'gnome-bluetooth' 'gnome-desktop' 'gnome-menus' + 'gnome-online-accounts' 'gnome-settings-daemon' 'gsettings-desktop-schemas' 'gtk3' + 'libgtop' 'libsocialweb' 'network-manager-applet' 'sound-theme-freedesktop' 'upower' 'libpwquality' 'libsystemd') +optdepends=('mesa-demos: provides glxinfo for graphics information' + 'gnome-color-manager: for color management tasks') +makedepends=('gnome-doc-utils' 'intltool' 'docbook-xsl') +url="http://www.gnome.org" +groups=('gnome') +install=gnome-control-center.install +license=('GPL') +options=('!libtool' '!emptydirs') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('b6e9530deac15408fee43c9c7a21200456bebf947e677856cd7345a79e2923d5') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --enable-systemd --with-libsocialweb \ + --disable-update-mimedb \ + --without-cheese + + #https://bugzilla.gnome.org/show_bug.cgi?id=656229 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-control-center/gnome-control-center.install b/testing/gnome-control-center/gnome-control-center.install new file mode 100644 index 000000000..079e0fa34 --- /dev/null +++ b/testing/gnome-control-center/gnome-control-center.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 +} diff --git a/testing/gnome-desktop/PKGBUILD b/testing/gnome-desktop/PKGBUILD new file mode 100644 index 000000000..1bb318788 --- /dev/null +++ b/testing/gnome-desktop/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169233 2012-10-18 19:27:16Z jgc $ +# Maintainer: Jan de Groot <jan@archlinux.org> + +pkgname=gnome-desktop +pkgver=3.6.1 +pkgrel=1 +epoch=1 +pkgdesc="Library with common API for various GNOME modules" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL') +depends=('gsettings-desktop-schemas' 'gtk3' 'xkeyboard-config') +makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection' 'itstool') +url="http://www.gnome.org" +groups=('gnome') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz) +sha256sums=('1c4954d143d696263888ea2061b2854f8c4094d33dfe51a39fb41f0a8051a174') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-desktop \ + --with-gnome-distributor="Arch Linux" + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-dictionary/PKGBUILD b/testing/gnome-dictionary/PKGBUILD new file mode 100644 index 000000000..1e81d2ca6 --- /dev/null +++ b/testing/gnome-dictionary/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169232 2012-10-18 19:27:12Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +pkgname=gnome-dictionary +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Look up words in dictionary sources" +arch=(i686 x86_64) +url="http://gnome.org" +license=('GPL2') +depends=('dconf' 'gtk3') +makedepends=('intltool' 'itstool' 'docbook-xsl') +install=$pkgname.install +options=(!libtool) +groups=('gnome-extra') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('1ad03f629bbfe4360fc6d8dd2d7cb4a03e24579068bdd79a25ff5fc5fbff6fa9') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-dictionary/gnome-dictionary.install b/testing/gnome-dictionary/gnome-dictionary.install new file mode 100644 index 000000000..c25dff2d3 --- /dev/null +++ b/testing/gnome-dictionary/gnome-dictionary.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-disk-utility/PKGBUILD b/testing/gnome-disk-utility/PKGBUILD new file mode 100644 index 000000000..d8d3b1868 --- /dev/null +++ b/testing/gnome-disk-utility/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169231 2012-10-18 19:27:09Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Silvio Knizek (killermoehre) + +pkgname=gnome-disk-utility +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Disk Management Utility for GNOME" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnome.org" +groups=('gnome-extra') +depends=('gtk3' 'udisks2' 'hicolor-icon-theme' 'libsecret' 'libpwquality' 'desktop-file-utils') +makedepends=('intltool' 'docbook-xsl') +options=('!libtool' '!emptydirs') +install=gnome-disk-utility.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('e848bd0a5787a654e3421c904718c587e1a953fc1b43a21401ca65b329988c32') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc + + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-disk-utility/gnome-disk-utility.install b/testing/gnome-disk-utility/gnome-disk-utility.install new file mode 100644 index 000000000..8b17fa3d4 --- /dev/null +++ b/testing/gnome-disk-utility/gnome-disk-utility.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-documents/PKGBUILD b/testing/gnome-documents/PKGBUILD new file mode 100644 index 000000000..21416f4af --- /dev/null +++ b/testing/gnome-documents/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 169230 2012-10-18 19:27:05Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gnome-documents +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Documents Manager for GNOME" +arch=(i686 x86_64) +url="http://www.gnome.org" +license=('GPL') +groups=('gnome-extra') +depends=('clutter-gtk' 'evince' 'gjs' 'gtk3' 'gnome-desktop' 'gnome-online-accounts' 'libgdata' + 'tracker' 'libzapojit') +makedepends=('intltool') +optdepends=('unoconv: Support for Libreoffice document types') +options=('!libtool') +install=gnome-documents.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('a4a5c525cba047a6c8f712f8a0d73fc26dc0445d4c8278c10ecbeac4efd342e2') + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-documents + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-documents/gnome-documents.install b/testing/gnome-documents/gnome-documents.install new file mode 100644 index 000000000..1571179ca --- /dev/null +++ b/testing/gnome-documents/gnome-documents.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-font-viewer/PKGBUILD b/testing/gnome-font-viewer/PKGBUILD new file mode 100644 index 000000000..6eef0419d --- /dev/null +++ b/testing/gnome-font-viewer/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 169229 2012-10-18 19:27:00Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gnome-font-viewer +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME font viewer and thumbnailer" +arch=(i686 x86_64) +license=('GPL') +depends=('gtk3' 'desktop-file-utils' 'gnome-desktop') +makedepends=('intltool') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +groups=('gnome-extra') +install=gnome-font-viewer.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver:0:3}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('3625c9f70ef227cd6cdaa1fea4990d87ba12ba3681e105cf5db731edec208e74') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-font-viewer/gnome-font-viewer.install b/testing/gnome-font-viewer/gnome-font-viewer.install new file mode 100644 index 000000000..e111ef946 --- /dev/null +++ b/testing/gnome-font-viewer/gnome-font-viewer.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-games/PKGBUILD b/testing/gnome-games/PKGBUILD index f10dee80a..b235215d0 100644 --- a/testing/gnome-games/PKGBUILD +++ b/testing/gnome-games/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 168505 2012-10-13 00:06:42Z heftig $ +# $Id: PKGBUILD 169228 2012-10-18 19:26:55Z jgc $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=gnome-games -pkgver=3.4.2 -pkgrel=2 +pkgver=3.6.1 +pkgrel=1 pkgdesc="Some Games for GNOME" arch=('i686' 'x86_64') license=('GPL') @@ -14,8 +14,8 @@ options=('!emptydirs' '!libtool') install=gnome-games.install url="http://www.gnome.org" groups=('gnome-extra') -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('25676285fad33a39da7fc26b5b1dc751c7981ae778b8fe82e8b7c0a367e5117c') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('f016068350ca2a4deceeac0374d5372610b1da07e2c4b356470f3401e6e2a43d') build() { cd $pkgname-$pkgver diff --git a/testing/gnome-games/gnome-games.install b/testing/gnome-games/gnome-games.install index aaa36a896..2fad5db0b 100644 --- a/testing/gnome-games/gnome-games.install +++ b/testing/gnome-games/gnome-games.install @@ -1,39 +1,47 @@ -_scores=(glines.Large.scores +_scores=(glines.Small.scores glines.Medium.scores - glines.Small.scores - gnibbles.1.0.scores - gnibbles.1.1.scores - gnibbles.2.0.scores - gnibbles.2.1.scores - gnibbles.3.0.scores - gnibbles.3.1.scores + glines.Large.scores gnibbles.4.0.scores + gnibbles.3.0.scores + gnibbles.2.0.scores + gnibbles.1.0.scores gnibbles.4.1.scores - gnobots2.classic_robots-safe.scores - gnobots2.classic_robots-super-safe.scores - gnobots2.classic_robots.scores - gnobots2.nightmare-safe.scores - gnobots2.nightmare-super-safe.scores - gnobots2.nightmare.scores + gnibbles.3.1.scores + gnibbles.2.1.scores + gnibbles.1.1.scores + gnobots2.robots2.scores gnobots2.robots2-safe.scores gnobots2.robots2-super-safe.scores - gnobots2.robots2.scores + gnobots2.robots2_easy.scores gnobots2.robots2_easy-safe.scores gnobots2.robots2_easy-super-safe.scores - gnobots2.robots2_easy.scores + gnobots2.classic_robots.scores + gnobots2.classic_robots-safe.scores + gnobots2.classic_robots-super-safe.scores + gnobots2.robots_with_safe_teleport.scores gnobots2.robots_with_safe_teleport-safe.scores gnobots2.robots_with_safe_teleport-super-safe.scores - gnobots2.robots_with_safe_teleport.scores - gnomine.Custom.scores - gnomine.Large.scores - gnomine.Medium.scores + gnobots2.nightmare.scores + gnobots2.nightmare-safe.scores + gnobots2.nightmare-super-safe.scores gnomine.Small.scores + gnomine.Medium.scores + gnomine.Large.scores + gnomine.Custom.scores gnotravex.2x2.scores gnotravex.3x3.scores gnotravex.4x4.scores gnotravex.5x5.scores gnotravex.6x6.scores gnotski.1.scores + gnotski.2.scores + gnotski.3.scores + gnotski.4.scores + gnotski.5.scores + gnotski.6.scores + gnotski.7.scores + gnotski.8.scores + gnotski.9.scores gnotski.10.scores gnotski.11.scores gnotski.12.scores @@ -44,7 +52,6 @@ _scores=(glines.Large.scores gnotski.17.scores gnotski.18.scores gnotski.19.scores - gnotski.2.scores gnotski.20.scores gnotski.21.scores gnotski.22.scores @@ -55,7 +62,6 @@ _scores=(glines.Large.scores gnotski.27.scores gnotski.28.scores gnotski.29.scores - gnotski.3.scores gnotski.30.scores gnotski.31.scores gnotski.32.scores @@ -64,27 +70,21 @@ _scores=(glines.Large.scores gnotski.35.scores gnotski.36.scores gnotski.37.scores - gnotski.4.scores - gnotski.5.scores - gnotski.6.scores - gnotski.7.scores - gnotski.8.scores - gnotski.9.scores - gtali.Colors.scores gtali.Regular.scores - mahjongg.bridges.scores - mahjongg.cloud.scores - mahjongg.confounding.scores - mahjongg.difficult.scores - mahjongg.dragon.scores - mahjongg.easy.scores - mahjongg.pyramid.scores - mahjongg.tictactoe.scores - mahjongg.ziggurat.scores - swell-foop.Large.scores - swell-foop.Medium.scores - swell-foop.Small.scores - quadrapassel.scores) + gtali.Colors.scores + gnome-mahjongg.easy.scores + gnome-mahjongg.difficult.scores + gnome-mahjongg.confounding.scores + gnome-mahjongg.pyramid.scores + gnome-mahjongg.tictactoe.scores + gnome-mahjongg.cloud.scores + gnome-mahjongg.dragon.scores + gnome-mahjongg.bridges.scores + gnome-mahjongg.ziggurat.scores + quadrapassel.scores + swell-foop.small.scores + swell-foop.normal.scores + swell-foop.large.scores) post_install() { glib-compile-schemas usr/share/glib-2.0/schemas diff --git a/testing/gnome-keyring/PKGBUILD b/testing/gnome-keyring/PKGBUILD new file mode 100644 index 000000000..6adece782 --- /dev/null +++ b/testing/gnome-keyring/PKGBUILD @@ -0,0 +1,32 @@ +#$Id: PKGBUILD 169225 2012-10-18 19:26:46Z jgc $ +# Maintainer: Jan De Groot <jgc@archlinux.org> + +pkgname=gnome-keyring +pkgver=3.6.1 +pkgrel=1 +pkgdesc="GNOME Password Management daemon" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +depends=('gtk3' 'gcr' 'libcap-ng') +makedepends=('intltool') +groups=('gnome') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +install=gnome-keyring.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('0c3a2ccc1744ce681fa7eb8d5e3e94d1712e932068a36ce7076222eb82b25aa5') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-keyring \ + --with-pam-dir=/usr/lib/security --with-root-certs=/etc/ssl/certs \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-keyring/gnome-keyring.install b/testing/gnome-keyring/gnome-keyring.install new file mode 100644 index 000000000..c351377a2 --- /dev/null +++ b/testing/gnome-keyring/gnome-keyring.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + setcap cap_ipc_lock=ep /usr/bin/gnome-keyring-daemon +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} diff --git a/testing/gnome-menus/PKGBUILD b/testing/gnome-menus/PKGBUILD new file mode 100644 index 000000000..57da0011c --- /dev/null +++ b/testing/gnome-menus/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 169224 2012-10-18 19:26:43Z jgc $ +# Maintainer: Jan de Groot <jan@archlinux.org> + +pkgname=gnome-menus +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME menu specifications" +arch=('i686' 'x86_64') +depends=('glib2' 'python2-gobject') +makedepends=('intltool' 'gobject-introspection') +options=('!libtool') +license=('GPL' 'LGPL') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + menus.patch) +sha256sums=('523ac10729e28f9acde4785e61dcb895828fd89e39b38b68f6c14ec815805a0b' + 'df2779777906b038fa911dc745534564ede9524a64ab368e2f6f8e38d54e7acc') + +build() { + cd "$pkgname-$pkgver" + + patch -Np0 -i "$srcdir/menus.patch" + + PYTHON=/usr/bin/python2 ./configure \ + --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package(){ + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + sed -i "1s|#!/usr/bin/env python$|&2|" \ + "$pkgdir/usr/lib/python2.7/site-packages/GMenuSimpleEditor/config.py" +} diff --git a/testing/gnome-menus/menus.patch b/testing/gnome-menus/menus.patch new file mode 100644 index 000000000..bf73e86cd --- /dev/null +++ b/testing/gnome-menus/menus.patch @@ -0,0 +1,25 @@ +--- layout/applications.menu 2005-06-28 10:16:39.000000000 +0200 ++++ layout/applications.menu 2005-09-12 23:21:20.000000000 +0200 +@@ -7,7 +7,6 @@ + <Directory>Applications.directory</Directory> + + <!-- Scan legacy dirs first, as later items take priority --> +- <KDELegacyDirs/> + <LegacyDir>/etc/X11/applnk</LegacyDir> + <LegacyDir>/usr/share/gnome/apps</LegacyDir> + +@@ -18,6 +17,14 @@ + <!-- Read in overrides and child menus from applications-merged/ --> + <DefaultMergeDirs/> + ++ <!-- Archlinux submenu --> ++ <Menu> ++ <Name>Archlinux</Name> ++ <Directory>Archlinux.directory</Directory> ++ <Include> ++ <Category>Archlinux</Category> ++ </Include> ++ </Menu> <!-- End Archlinux --> + <!-- Accessories submenu --> + <Menu> + <Name>Accessories</Name> diff --git a/testing/gnome-nettool/PKGBUILD b/testing/gnome-nettool/PKGBUILD new file mode 100644 index 000000000..0d56224e0 --- /dev/null +++ b/testing/gnome-nettool/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169223 2012-10-18 19:26:38Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Kritoke <kritoke@nospam.gmail.com> + +pkgname=gnome-nettool +pkgver=3.2.0 +pkgrel=1 +pkgdesc="A Collection of GNOME3 Networking Tools." +arch=(i686 x86_64) +license=('GPL') +depends=('gtk3' 'libgtop' 'dnsutils' 'iputils' 'dconf' 'whois' 'hicolor-icon-theme') +makedepends=('gnome-doc-utils' 'intltool' 'nmap' 'net-tools') +optdepends=('nmap: Port scanning' + 'net-tools: Network statistics') +groups=('gnome-extra') +url="http://www.gnome.org" +install=gnome-nettool.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('9888202f1c13f98fd26b417468e6f2345f885557f3a98fb365eeea52d792bf79') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-nettool/gnome-nettool.install b/testing/gnome-nettool/gnome-nettool.install new file mode 100644 index 000000000..e5dfaf4a5 --- /dev/null +++ b/testing/gnome-nettool/gnome-nettool.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install +} diff --git a/testing/gnome-online-accounts/PKGBUILD b/testing/gnome-online-accounts/PKGBUILD new file mode 100644 index 000000000..2a31df997 --- /dev/null +++ b/testing/gnome-online-accounts/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169222 2012-10-18 19:26:35Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gnome-online-accounts +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME service to access online accounts" +arch=(i686 x86_64) +url="http://www.gnome.org" +license=('GPL') +depends=('webkitgtk3' 'json-glib' 'libnotify' 'rest' 'hicolor-icon-theme' 'libsecret') +makedepends=('intltool' 'libxslt' 'gobject-introspection' 'docbook-xsl') +options=(!libtool) +install=$pkgname.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('2a88772873935b1c23e8e6b7a2333d8cfb225755aba22e0977129f13351028f7') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --libexec=/usr/lib/gnome-online-accounts + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-online-accounts/gnome-online-accounts.install b/testing/gnome-online-accounts/gnome-online-accounts.install new file mode 100644 index 000000000..525ecff63 --- /dev/null +++ b/testing/gnome-online-accounts/gnome-online-accounts.install @@ -0,0 +1,11 @@ +post_install () { + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-panel/PKGBUILD b/testing/gnome-panel/PKGBUILD new file mode 100644 index 000000000..f5b8ab969 --- /dev/null +++ b/testing/gnome-panel/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 169281 2012-10-18 19:45:55Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-panel +pkgver=3.6.0 +pkgrel=1 +arch=('i686' 'x86_64') +license=('GPL') +pkgdesc="The GNOME Panel" +url="http://www.gnome.org" +depends=('gnome-menus' 'gnome-desktop' 'evolution-data-server' 'librsvg' 'libwnck3' 'libsm' 'dconf' + 'gconf' 'telepathy-glib') +makedepends=('yelp-tools' 'intltool' 'gobject-introspection' 'networkmanager' 'libcanberra') +install=gnome-panel.install +groups=('gnome') +provides=("gnome-panel-bonobo=${pkgver}") +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('6a8058df6263af35b0e430514f7e16d1b4df095365242d39e170cfc451a328b6') + +build() { + cd "$pkgname-$pkgver" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-panel \ + --disable-scrollkeeper \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install + + install -m755 -d "$pkgdir/usr/share/gconf/schemas" + gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain gnome-panel-3.0 "$pkgdir"/etc/gconf/schemas/*.schemas + rm -f "$pkgdir"/etc/gconf/schemas/*.schemas +} diff --git a/testing/gnome-panel/gnome-panel.install b/testing/gnome-panel/gnome-panel.install new file mode 100644 index 000000000..0f9324937 --- /dev/null +++ b/testing/gnome-panel/gnome-panel.install @@ -0,0 +1,24 @@ +pkgname=gnome-panel + +post_install() { + gconfpkg --install $pkgname + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +pre_remove() { + gconfpkg --uninstall $pkgname +} + +post_remove() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} diff --git a/testing/gnome-phone-manager/PKGBUILD b/testing/gnome-phone-manager/PKGBUILD new file mode 100644 index 000000000..2775223dd --- /dev/null +++ b/testing/gnome-phone-manager/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 169299 2012-10-18 22:31:09Z jgc $ +# Maintainer: Roman Kyrylych <roman@archlinux.org> + +pkgname=gnome-phone-manager +pkgver=0.68 +pkgrel=3 +pkgdesc="Control your mobile phone from your GNOME desktop." +arch=('i686' 'x86_64') +url="http://live.gnome.org/PhoneManager" +license=('GPL') +depends=('evolution-data-server' 'gnokii' 'gnome-bluetooth' 'gnome-icon-theme' 'libcanberra' 'gconf') +makedepends=('intltool') +options=('!emptydirs' '!libtool') +install=gnome-phone-manager.install +source=(ftp://ftp.archlinux.org/other/gnome-phone-manager/gnome-phone-manager-0.68-git20121019.tar.xz + gnome-phone-manager-0.68-eds.patch) +sha256sums=('885dfa80989c633a5ae8b118c9b7c903e18e44f0e9fc89e6a9bae05da87c9b15' + '98d5c2d3034081eebbaa0dac85f53dcc40c8970114f5711aff8c37bab2931a66') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../gnome-phone-manager-0.68-eds.patch + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-phone-manager "${pkgdir}"/etc/gconf/schemas/*.schemas + rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas +} diff --git a/testing/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch b/testing/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch new file mode 100644 index 000000000..2a36de13a --- /dev/null +++ b/testing/gnome-phone-manager/gnome-phone-manager-0.68-eds.patch @@ -0,0 +1,386 @@ +diff --git a/cut-n-paste/e-contact-entry/e-contact-entry.c b/cut-n-paste/e-contact-entry/e-contact-entry.c +index dc8e2e3..d95e5b9 100644 +--- a/cut-n-paste/e-contact-entry/e-contact-entry.c ++++ b/cut-n-paste/e-contact-entry/e-contact-entry.c +@@ -38,11 +38,6 @@ + #include <glib.h> + #include <glib/gi18n.h> + +-#include <libedataserver/e-source.h> +-#include <libebook/e-book.h> +-#include <libebook/e-book-view.h> +-#include <libebook/e-contact.h> +- + #include "e-contact-entry.h" + #include "econtactentry-marshal.h" + +@@ -59,7 +54,7 @@ static int signals[LAST_SIGNAL] = { 0 }; + /* Properties */ + enum { + PROP_0, /* TODO: why? */ +- PROP_SOURCE_LIST, ++ PROP_REGISTRY, + PROP_COMPLETE_LENGTH, + }; + +@@ -70,7 +65,7 @@ enum { + struct EContactEntryPriv { + GtkEntryCompletion *completion; + GtkListStore *store; +- ESourceList *source_list; ++ ESourceRegistry *registry; + /* A list of EntryLookup structs we are searching */ + GList *lookup_entries; + /* Number of characters to start searching at */ +@@ -227,7 +222,7 @@ e_contact_entry_display_func (EContact *contact) + emails = e_contact_get (contact, E_CONTACT_EMAIL); + for (l = emails; l != NULL; l = l->next) { + item = g_new0 (EContactEntyItem, 1); +- item->identifier = item->identifier = g_strdup (l->data); ++ item->identifier = g_strdup (l->data); + item->display_string = g_strdup_printf ("%s <%s>", (char*)e_contact_get_const (contact, E_CONTACT_NAME_OR_ORG), item->identifier); + + items = g_list_prepend (items, item); +@@ -276,22 +271,13 @@ view_contacts_added_cb (EBook *book, GList *contacts, gpointer user_data) + return; + + photo = e_contact_get (contact, E_CONTACT_PHOTO); +-#ifndef HAVE_ECONTACTPHOTOTYPE +- if (photo) { +-#else + if (photo && photo->type == E_CONTACT_PHOTO_TYPE_INLINED) { +-#endif + GdkPixbufLoader *loader; + + loader = gdk_pixbuf_loader_new (); + +-#ifndef HAVE_ECONTACTPHOTOTYPE +- if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data, +- photo->length, NULL)) +-#else + if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data.inlined.data, + photo->data.inlined.length, NULL)) +-#endif + pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); + + if (pixbuf) { +@@ -339,16 +325,15 @@ view_contacts_added_cb (EBook *book, GList *contacts, gpointer user_data) + * The query on the EBookView has completed. + */ + static void +-view_completed_cb (EBookView *book_view, EBookViewStatus status, gpointer user_data) ++view_completed_cb (EBookView *book_view, EBookViewStatus status, const gchar *message, gpointer user_data) + { + EntryLookup *lookup; + g_return_if_fail (user_data != NULL); +- /* TODO: handle status != OK */ +- g_return_if_fail (status == E_BOOK_ERROR_OK); + g_return_if_fail (book_view != NULL); + + lookup = (EntryLookup*)user_data; + g_object_unref (lookup->bookview); ++ lookup->bookview = NULL; + } + + /** +@@ -373,8 +358,8 @@ bookview_cb (EBook *book, EBookStatus status, EBookView *book_view, gpointer clo + lookup->bookview = book_view; + g_object_add_weak_pointer ((GObject*)book_view, (gpointer*)&lookup->bookview); + +- g_signal_connect (book_view, "contacts_added", (GCallback)view_contacts_added_cb, lookup); +- g_signal_connect (book_view, "sequence_complete", (GCallback)view_completed_cb, lookup); ++ g_signal_connect (book_view, "contacts-added", (GCallback)view_contacts_added_cb, lookup); ++ g_signal_connect (book_view, "view_complete", (GCallback)view_completed_cb, lookup); + + e_book_view_start (book_view); + } +@@ -396,6 +381,7 @@ entry_changed_cb (GtkEditable *editable, gpointer user_data) + if (lookup->bookview) { + e_book_view_stop (lookup->bookview); + g_object_unref (lookup->bookview); ++ lookup->bookview = NULL; + } + } + +@@ -410,7 +396,7 @@ entry_changed_cb (GtkEditable *editable, gpointer user_data) + if (!lookup->open) + continue; + +- if (e_book_async_get_book_view (lookup->book, query, NULL, 11, (EBookBookViewCallback)bookview_cb, lookup) != 0) { ++ if (e_book_async_get_book_view (lookup->book, query, NULL, MAX_ENTRIES, (EBookBookViewCallback)bookview_cb, lookup) == FALSE) { + g_signal_emit (entry, signals[ERROR], 0, _("Cannot create searchable view.")); + } + } +@@ -458,11 +444,12 @@ book_opened_cb (EBook *book, EBookStatus status, gpointer data) + */ + + void +-e_contact_entry_set_source_list (EContactEntry *entry, +- ESourceList *source_list) ++e_contact_entry_set_registry (EContactEntry *entry, ++ ESourceRegistry *registry) + { ++ GList *list, *link; ++ const gchar *extension_name; + GError *error = NULL; +- GSList *list, *l; + + g_return_if_fail (E_IS_CONTACT_ENTRY (entry)); + +@@ -471,58 +458,48 @@ e_contact_entry_set_source_list (EContactEntry *entry, + g_list_foreach (entry->priv->lookup_entries, (GFunc)lookup_entry_free, NULL); + g_list_free (entry->priv->lookup_entries); + } +- if (entry->priv->source_list) { +- g_object_unref (entry->priv->source_list); ++ if (entry->priv->registry) { ++ g_object_unref (entry->priv->registry); + } + + /* If we have no new sources, disable and return here */ +- if (source_list == NULL) { ++ if (registry == NULL) { + g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE); +- entry->priv->source_list = NULL; ++ entry->priv->registry = NULL; + entry->priv->lookup_entries = NULL; + return; + } + +- entry->priv->source_list = source_list; +- /* So that the list isn't going away underneath us */ +- g_object_ref (entry->priv->source_list); ++ entry->priv->registry = registry; ++ /* So that the registry isn't going away underneath us */ ++ g_object_ref (entry->priv->registry); + +- /* That gets us a list of ESourceGroup */ +- list = e_source_list_peek_groups (source_list); + entry->priv->lookup_entries = NULL; + +- for (l = list; l != NULL; l = l->next) { +- ESourceGroup *group = l->data; +- GSList *sources = NULL, *m; +- /* That should give us a list of ESource */ +- sources = e_source_group_peek_sources (group); +- for (m = sources; m != NULL; m = m->next) { +- ESource *source = m->data; +- ESource *s = e_source_copy (source); +- EntryLookup *lookup; +- char *uri; ++ extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK; ++ list = e_source_registry_list_sources (registry, extension_name); + +- uri = g_strdup_printf("%s/%s", e_source_group_peek_base_uri (group), e_source_peek_relative_uri (source)); +- e_source_set_absolute_uri (s, uri); +- g_free (uri); ++ for (link = list; link != NULL; link = g_list_next (link)) { ++ ESource *source = E_SOURCE (link->data); ++ EntryLookup *lookup; + +- /* Now add those to the lookup entries list */ +- lookup = g_new0 (EntryLookup, 1); +- lookup->entry = entry; +- lookup->status = E_BOOK_ERROR_OK; +- lookup->open = FALSE; ++ /* Now add those to the lookup entries list */ ++ lookup = g_new0 (EntryLookup, 1); ++ lookup->entry = entry; ++ lookup->status = E_BOOK_ERROR_OK; ++ lookup->open = FALSE; + +- if ((lookup->book = e_book_new (s, &error)) == NULL) { +- /* TODO handle this better, fire the error signal I guess */ ++ if ((lookup->book = e_book_new (source, &error)) == NULL) { ++ /* TODO handle this better, fire the error signal I guess */ ++ if (error) { + g_warning ("%s", error->message); +- g_error_free (error); +- g_free (lookup); +- } else { +- entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup); +- e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup); ++ g_error_free (error); ++ error = NULL; + } +- +- g_object_unref (s); ++ g_free (lookup); ++ } else { ++ entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup); ++ e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup); + } + } + +@@ -530,12 +507,12 @@ e_contact_entry_set_source_list (EContactEntry *entry, + g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE); + } + +-ESourceList * +-e_contact_entry_get_source_list (EContactEntry *entry) ++ESourceRegistry * ++e_contact_entry_get_registry (EContactEntry *entry) + { + g_return_val_if_fail (E_IS_CONTACT_ENTRY (entry), NULL); + +- return entry->priv->source_list; ++ return entry->priv->registry; + } + + void +@@ -601,8 +578,8 @@ e_contact_entry_set_property (GObject *object, guint property_id, const GValue * + entry = E_CONTACT_ENTRY (object); + + switch (property_id) { +- case PROP_SOURCE_LIST: +- e_contact_entry_set_source_list (entry, g_value_get_object (value)); ++ case PROP_REGISTRY: ++ e_contact_entry_set_registry (entry, g_value_get_object (value)); + break; + case PROP_COMPLETE_LENGTH: + e_contact_entry_set_complete_length (entry, g_value_get_int (value)); +@@ -620,8 +597,8 @@ e_contact_entry_get_property (GObject *object, guint property_id, GValue *value, + entry = E_CONTACT_ENTRY (object); + + switch (property_id) { +- case PROP_SOURCE_LIST: +- g_value_set_object (value, e_contact_entry_get_source_list (entry)); ++ case PROP_REGISTRY: ++ g_value_set_object (value, e_contact_entry_get_registry (entry)); + break; + case PROP_COMPLETE_LENGTH: + g_value_set_int (value, e_contact_entry_get_complete_length (entry)); +@@ -644,7 +621,7 @@ e_contact_entry_finalize (GObject *object) + g_list_free (entry->priv->lookup_entries); + g_object_unref (entry->priv->completion); + g_object_unref (entry->priv->store); +- g_object_unref (entry->priv->source_list); ++ g_object_unref (entry->priv->registry); + + if (entry->priv->display_destroy) { + entry->priv->display_destroy (entry->priv->display_func); +@@ -657,7 +634,7 @@ e_contact_entry_finalize (GObject *object) + static void + reset_search_fields (EContactEntry *entry) + { +- EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, E_CONTACT_ORG, 0 }; ++ EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, 0 }; + + g_free (entry->priv->search_fields); + entry->priv->search_fields = g_new0 (EContactField, G_N_ELEMENTS (fields)); +@@ -716,9 +693,9 @@ e_contact_entry_class_init (EContactEntryClass *klass) + object_class->finalize = e_contact_entry_finalize; + + /* Properties */ +- g_object_class_install_property (object_class, PROP_SOURCE_LIST, +- g_param_spec_object ("source-list", "Source List", "The source list to search for contacts.", +- E_TYPE_SOURCE_LIST, G_PARAM_READWRITE)); ++ g_object_class_install_property (object_class, PROP_REGISTRY, ++ g_param_spec_object ("registry", "Registry", "Data source registry.", ++ E_TYPE_SOURCE_REGISTRY, G_PARAM_READWRITE)); + + g_object_class_install_property (object_class, PROP_COMPLETE_LENGTH, + g_param_spec_int ("complete-length", "Complete length", "Number of characters to start a search on.", +@@ -771,6 +748,7 @@ lookup_entry_free (EntryLookup *lookup) + if (lookup->bookview) { + g_warning("EBookView still around"); + g_object_unref (lookup->bookview); ++ lookup->bookview = NULL; + } + if (lookup->book) { + g_object_unref (lookup->book); +diff --git a/cut-n-paste/e-contact-entry/e-contact-entry.h b/cut-n-paste/e-contact-entry/e-contact-entry.h +index bf6b39b..6fedef7 100644 +--- a/cut-n-paste/e-contact-entry/e-contact-entry.h ++++ b/cut-n-paste/e-contact-entry/e-contact-entry.h +@@ -23,10 +23,8 @@ + #ifndef CONTACT_ENTRY_H + #define CONTACT_ENTRY_H + +-#include <libedataserver/e-source-group.h> +-#include <libedataserver/e-source-list.h> +-#include <libebook/e-contact.h> + #include <gtk/gtk.h> ++#include <libebook/libebook.h> + + G_BEGIN_DECLS + +@@ -71,8 +69,8 @@ GType e_contact_entry_get_type (void); + + GtkWidget *e_contact_entry_new (void); + +-void e_contact_entry_set_source_list (EContactEntry *entry, ESourceList *list); +-ESourceList *e_contact_entry_get_source_list (EContactEntry *entry); ++void e_contact_entry_set_registry (EContactEntry *entry, ESourceRegistry *registry); ++ESourceRegistry *e_contact_entry_get_registry (EContactEntry *entry); + + void e_contact_entry_set_complete_length(EContactEntry *entry, int length); + int e_contact_entry_get_complete_length(EContactEntry *entry); +diff --git a/libgsm/phonemgr-utils.c b/libgsm/phonemgr-utils.c +index 4e62e10..baef34f 100644 +--- a/libgsm/phonemgr-utils.c ++++ b/libgsm/phonemgr-utils.c +@@ -27,7 +27,7 @@ + #include <glib.h> + #include <glib/gstdio.h> + #include <glib-object.h> +-#include <libebook/e-contact.h> ++#include <libebook/libebook.h> + #include <gnokii.h> + + #include <bluetooth/bluetooth.h> +diff --git a/src/e-phone-entry.c b/src/e-phone-entry.c +index 5d25622..38f4c2f 100644 +--- a/src/e-phone-entry.c ++++ b/src/e-phone-entry.c +@@ -31,8 +31,7 @@ + + #include <gtk/gtk.h> + #include <string.h> +-#include <libedataserver/e-source-list.h> +-#include <libedataserverui/e-client-utils.h> ++#include <libedataserverui/libedataserverui.h> + #include "e-phone-entry.h" + + #define CONTACT_FORMAT "%s (%s)" +@@ -181,25 +180,25 @@ e_phone_entry_finalize (GObject *object) + } + + static void +-add_sources (EContactEntry *entry) +-{ +- ESourceList *source_list; +- +- if (e_client_utils_get_sources (&source_list, +- E_CLIENT_SOURCE_TYPE_CONTACTS, +- NULL)) { +- e_contact_entry_set_source_list (E_CONTACT_ENTRY (entry), +- source_list); +- g_object_unref (source_list); +- } +-} +- +-static void + e_phone_entry_init (EPhoneEntry *entry) + { + EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_NICKNAME, E_CONTACT_ORG, E_CONTACT_PHONE_MOBILE, 0 }; ++ ESourceRegistry *registry; ++ GError *error = NULL; ++ ++ /* XXX This call blocks while a D-Bus connection is made, possibly ++ * requiring activation. Might be better to create the registry ++ * in main(), pass it to ui_init(), and have e_phone_entry_new() ++ * take it as an argument. Calling this from main() means if it ++ * fails you can abort cleanly with a console error message. */ ++ registry = e_source_registry_new_sync (NULL, &error); ++ if (registry == NULL) { ++ g_error ("%s: %s", G_STRFUNC, error->message); ++ g_assert_not_reached (); ++ } ++ e_contact_entry_set_registry (E_CONTACT_ENTRY (entry), registry); ++ g_object_unref (registry); + +- add_sources (E_CONTACT_ENTRY (entry)); + e_contact_entry_set_search_fields (E_CONTACT_ENTRY (entry), (const EContactField *)fields); + e_contact_entry_set_display_func (E_CONTACT_ENTRY (entry), test_display_func, NULL, NULL); + g_signal_connect (G_OBJECT (entry), "contact_selected", diff --git a/testing/gnome-phone-manager/gnome-phone-manager.install b/testing/gnome-phone-manager/gnome-phone-manager.install new file mode 100644 index 000000000..91212fa2e --- /dev/null +++ b/testing/gnome-phone-manager/gnome-phone-manager.install @@ -0,0 +1,17 @@ +pkgname=gnome-phone-manager + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} diff --git a/testing/gnome-power-manager/PKGBUILD b/testing/gnome-power-manager/PKGBUILD new file mode 100644 index 000000000..c2cb1dd1e --- /dev/null +++ b/testing/gnome-power-manager/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169221 2012-10-18 19:26:31Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-power-manager +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Power management tools." +arch=(i686 x86_64) +url="http://www.gnome.org/projects/gnome-power-manager/" +license=('GPL') +depends=('gtk3' 'upower' 'dconf' 'hicolor-icon-theme') +makedepends=('intltool') +options=(!emptydirs) +install=gnome-power-manager.install +groups=(gnome-extra) +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('176023d51d544a888bcd07611f2c1adaedfe2e20796f3fb97fba59f6330851c6') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-power-manager \ + --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-power-manager/gnome-power-manager.install b/testing/gnome-power-manager/gnome-power-manager.install new file mode 100644 index 000000000..f7e8c46ac --- /dev/null +++ b/testing/gnome-power-manager/gnome-power-manager.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-screensaver/PKGBUILD b/testing/gnome-screensaver/PKGBUILD new file mode 100644 index 000000000..558151417 --- /dev/null +++ b/testing/gnome-screensaver/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 169220 2012-10-18 19:26:26Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-screensaver +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Screensaver designed to integrate well with the GNOME desktop." +arch=('i686' 'x86_64') +license=('GPL') +url="http://live.gnome.org/GnomeScreensaver" +backup=(etc/pam.d/gnome-screensaver) +depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop' 'gsettings-desktop-schemas' 'libsystemd') +makedepends=('pkgconfig' 'intltool' 'libxss') +groups=('gnome') +options=(!emptydirs) +install=gnome-screensaver.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + gnome-screensaver.pam) +sha256sums=('f39b78d4f7fed748c7f0a31d694112fb907c6d3c4e63db22eb858df07e962cd0' + 'c19870c4f2d6e91ba0eea2603753a74e0c5c82ff5fa3cacb1198027a38d0a6cb') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gnome-screensaver \ + --localstatedir=/var \ + --with-mit-ext --with-systemd + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 ../gnome-screensaver.pam "$pkgdir/etc/pam.d/gnome-screensaver" +} diff --git a/testing/gnome-screensaver/gnome-screensaver.install b/testing/gnome-screensaver/gnome-screensaver.install new file mode 100644 index 000000000..d1a42c6ce --- /dev/null +++ b/testing/gnome-screensaver/gnome-screensaver.install @@ -0,0 +1,7 @@ +pkgname=gnome-screensaver + +pre_upgrade() { + if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then + gconfpkg --uninstall ${pkgname} + fi +} diff --git a/testing/gnome-screensaver/gnome-screensaver.pam b/testing/gnome-screensaver/gnome-screensaver.pam new file mode 100644 index 000000000..453dae646 --- /dev/null +++ b/testing/gnome-screensaver/gnome-screensaver.pam @@ -0,0 +1,3 @@ +#%PAM-1.0 +auth required pam_unix_auth.so nullok +auth optional pam_gnome_keyring.so diff --git a/testing/gnome-screenshot/PKGBUILD b/testing/gnome-screenshot/PKGBUILD new file mode 100644 index 000000000..0d380fc0c --- /dev/null +++ b/testing/gnome-screenshot/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169219 2012-10-18 19:26:22Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gnome-screenshot +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Take pictures of your screen" +arch=(i686 x86_64) +url="http://gnome.org" +license=('GPL2') +depends=('dconf' 'gtk3' 'libcanberra') +makedepends=('intltool') +groups=('gnome-extra') +install=$pkgname.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('96626b86d0ebaacf420b68ddd846d5185dc90a58e5d86843799c2071255b7636') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-screenshot/gnome-screenshot.install b/testing/gnome-screenshot/gnome-screenshot.install new file mode 100644 index 000000000..c25dff2d3 --- /dev/null +++ b/testing/gnome-screenshot/gnome-screenshot.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-search-tool/PKGBUILD b/testing/gnome-search-tool/PKGBUILD new file mode 100644 index 000000000..ca530ec6e --- /dev/null +++ b/testing/gnome-search-tool/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169218 2012-10-18 19:26:17Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gnome-search-tool +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Utility to search for files" +arch=(i686 x86_64) +url="http://gnome.org" +license=('GPL2') +depends=('gtk3' 'libsm') +makedepends=('intltool' 'yelp-tools') +install=$pkgname.install +options=('!emptydirs') +groups=('gnome-extra') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('a33000cd7d033be4ea50422f0f2cca611da5b79bd0f0875017f105a1bc177f42') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-search-tool/gnome-search-tool.install b/testing/gnome-search-tool/gnome-search-tool.install new file mode 100644 index 000000000..b631b6a89 --- /dev/null +++ b/testing/gnome-search-tool/gnome-search-tool.install @@ -0,0 +1,16 @@ +post_install() { + glib-compile-schemas usr/share/glib-2.0/schemas +} + +pre_upgrade() { + (( $(vercmp $2 3.6.0) < 0 )) && gconfpkg --uninstall gnome-search-tool + return 0 +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-session/PKGBUILD b/testing/gnome-session/PKGBUILD new file mode 100644 index 000000000..38e396045 --- /dev/null +++ b/testing/gnome-session/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 169217 2012-10-18 19:26:12Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gnome-session +pkgver=3.6.1 +pkgrel=1 +pkgdesc="The GNOME Session Handler" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +depends=('libsystemd' 'dconf' 'gconf' 'gsettings-desktop-schemas' 'gtk3' + 'hicolor-icon-theme' 'json-glib' 'libgl' 'libsm' 'libxtst' 'polkit-gnome' + 'upower') +makedepends=('intltool' 'mesa' 'xtrans') +options=('!emptydirs') +install=gnome-session.install +url="http://www.gnome.org" +groups=('gnome') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + gnome-session-3.3.1-llvmpipe.patch timeout.patch) +sha256sums=('759c26230d8ac3f2d51344f5eaadce166819c4394acb733987e6d23fd42bddfb' + '59ea58012febe48a67dabd944dc638400637ad4d296d63b63b585f10eea4f85e' + '9eaf31857b41db417475c3b14adc11b10c8226ed76978cdf96dd648fa6e505fc') + +build() { + cd $pkgname-$pkgver + + # Allow software rendering + patch -Np1 -i ../gnome-session-3.3.1-llvmpipe.patch + + # Increase timeout, for slow machines + patch -Np1 -i ../timeout.patch + + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --libexecdir=/usr/lib/gnome-session \ + --disable-schemas-compile --enable-systemd + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-session/gnome-session-3.3.1-llvmpipe.patch b/testing/gnome-session/gnome-session-3.3.1-llvmpipe.patch new file mode 100644 index 000000000..40da1c9b7 --- /dev/null +++ b/testing/gnome-session/gnome-session-3.3.1-llvmpipe.patch @@ -0,0 +1,9 @@ +diff -up gnome-session-3.3.1/data/hardware-compatibility.jx gnome-session-3.3.1/data/hardware-compatibility +--- gnome-session-3.3.1/data/hardware-compatibility.jx 2011-10-21 10:35:39.000000000 -0400 ++++ gnome-session-3.3.1/data/hardware-compatibility 2011-11-03 17:53:17.156407217 -0400 +@@ -20,4 +20,4 @@ + + # Gallium has softpipe and llvmpipe + -softpipe +--llvmpipe ++#llvmpipe diff --git a/testing/gnome-session/gnome-session.install b/testing/gnome-session/gnome-session.install new file mode 100644 index 000000000..f7e8c46ac --- /dev/null +++ b/testing/gnome-session/gnome-session.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-session/timeout.patch b/testing/gnome-session/timeout.patch new file mode 100644 index 000000000..a26b0dcf5 --- /dev/null +++ b/testing/gnome-session/timeout.patch @@ -0,0 +1,24 @@ +diff -u -r gnome-session-3.4.2/gnome-session/gsm-session-fill.c gnome-session-3.4.2-timeout/gnome-session/gsm-session-fill.c +--- gnome-session-3.4.2/gnome-session/gsm-session-fill.c 2012-02-02 15:33:01.000000000 +0100 ++++ gnome-session-3.4.2-timeout/gnome-session/gsm-session-fill.c 2012-06-10 02:39:46.184348462 +0200 +@@ -36,7 +36,7 @@ + #define GSM_KEYFILE_DEFAULT_PROVIDER_PREFIX "DefaultProvider" + + /* See https://bugzilla.gnome.org/show_bug.cgi?id=641992 for discussion */ +-#define GSM_RUNNABLE_HELPER_TIMEOUT 3000 /* ms */ ++#define GSM_RUNNABLE_HELPER_TIMEOUT 10000 /* ms */ + + typedef void (*GsmFillHandleProvider) (const char *provides, + const char *default_provider, +diff -u -r gnome-session-3.4.2/tools/gnome-session-check-accelerated.c gnome-session-3.4.2-timeout/tools/gnome-session-check-accelerated.c +--- gnome-session-3.4.2/tools/gnome-session-check-accelerated.c 2011-03-22 21:31:43.000000000 +0100 ++++ gnome-session-3.4.2-timeout/tools/gnome-session-check-accelerated.c 2012-06-10 02:42:08.013218006 +0200 +@@ -30,7 +30,7 @@ + #include <X11/Xatom.h> + + /* Wait up to this long for a running check to finish */ +-#define PROPERTY_CHANGE_TIMEOUT 5000 ++#define PROPERTY_CHANGE_TIMEOUT 12000 + + /* Values used for the _GNOME_SESSION_ACCELERATED root window property */ + #define NO_ACCEL 0 diff --git a/testing/gnome-settings-daemon/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch b/testing/gnome-settings-daemon/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch new file mode 100644 index 000000000..293a419df --- /dev/null +++ b/testing/gnome-settings-daemon/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch @@ -0,0 +1,1473 @@ +From 79ead5309fe21e77cfe58adc6a9340953c2d52f4 Mon Sep 17 00:00:00 2001 +From: Richard Hughes <richard@hughsie.com> +Date: Fri, 21 Sep 2012 11:56:53 +0100 +Subject: [PATCH] power and media-keys: Use logind for suspending and + rebooting the system + +Use the new logind features to suspend and resume but making sure we opt out +of logind handling the sleep and power keys, and also inhibiting for lid close +auto-suspend if there is an external monitor connected. + +Also use a delay inihibit for logind so that we can do actions on suspend like +blanking the screen using the screensaver and also poking the screensaver on +resume. + +https://bugzilla.gnome.org/show_bug.cgi?id=680689 +--- + plugins/common/Makefile.am | 4 +- + plugins/common/gsd-power-helper.c | 203 -------- + plugins/common/gsd-power-helper.h | 35 -- + plugins/media-keys/gsd-media-keys-manager.c | 156 +++++-- + plugins/power/gsd-power-manager.c | 699 +++++++++++++++++++--------- + 5 files changed, 595 insertions(+), 502 deletions(-) + delete mode 100644 plugins/common/gsd-power-helper.c + delete mode 100644 plugins/common/gsd-power-helper.h + +diff --git a/plugins/common/Makefile.am b/plugins/common/Makefile.am +index 7e50db4..b0e907c 100644 +--- a/plugins/common/Makefile.am ++++ b/plugins/common/Makefile.am +@@ -6,9 +6,7 @@ libcommon_la_SOURCES = \ + gsd-keygrab.c \ + gsd-keygrab.h \ + gsd-input-helper.c \ +- gsd-input-helper.h \ +- gsd-power-helper.c \ +- gsd-power-helper.h ++ gsd-input-helper.h + + libcommon_la_CPPFLAGS = \ + $(AM_CPPFLAGS) +diff --git a/plugins/common/gsd-power-helper.c b/plugins/common/gsd-power-helper.c +deleted file mode 100644 +index 27d0eda..0000000 +--- a/plugins/common/gsd-power-helper.c ++++ /dev/null +@@ -1,203 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * +- * Copyright (C) 2012 Bastien Nocera <hadess@hadess.net> +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- * +- */ +- +-#include "config.h" +- +-#include "gsd-power-helper.h" +- +-#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" +-#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" +-#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" +- +-#define CONSOLEKIT_DBUS_NAME "org.freedesktop.ConsoleKit" +-#define CONSOLEKIT_DBUS_PATH_MANAGER "/org/freedesktop/ConsoleKit/Manager" +-#define CONSOLEKIT_DBUS_INTERFACE_MANAGER "org.freedesktop.ConsoleKit.Manager" +- +-#ifdef HAVE_SYSTEMD +-static void +-systemd_stop (void) +-{ +- GDBusConnection *bus; +- +- bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); +- g_dbus_connection_call (bus, +- SYSTEMD_DBUS_NAME, +- SYSTEMD_DBUS_PATH, +- SYSTEMD_DBUS_INTERFACE, +- "PowerOff", +- g_variant_new ("(b)", FALSE), +- NULL, 0, G_MAXINT, NULL, NULL, NULL); +- g_object_unref (bus); +-} +- +-static void +-systemd_suspend (void) +-{ +- GDBusConnection *bus; +- +- bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); +- g_dbus_connection_call (bus, +- SYSTEMD_DBUS_NAME, +- SYSTEMD_DBUS_PATH, +- SYSTEMD_DBUS_INTERFACE, +- "Suspend", +- g_variant_new ("(b)", TRUE), +- NULL, 0, G_MAXINT, NULL, NULL, NULL); +- g_object_unref (bus); +-} +- +-static void +-systemd_hibernate (void) +-{ +- GDBusConnection *bus; +- +- bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); +- g_dbus_connection_call (bus, +- SYSTEMD_DBUS_NAME, +- SYSTEMD_DBUS_PATH, +- SYSTEMD_DBUS_INTERFACE, +- "Hibernate", +- g_variant_new ("(b)", TRUE), +- NULL, 0, G_MAXINT, NULL, NULL, NULL); +- g_object_unref (bus); +-} +- +-#else /* HAVE_SYSTEMD */ +- +-static void +-consolekit_stop_cb (GObject *source_object, +- GAsyncResult *res, +- gpointer user_data) +-{ +- GVariant *result; +- GError *error = NULL; +- +- result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_object), +- res, +- &error); +- if (result == NULL) { +- g_warning ("couldn't stop using ConsoleKit: %s", +- error->message); +- g_error_free (error); +- } else { +- g_variant_unref (result); +- } +-} +- +-static void +-consolekit_stop (void) +-{ +- GError *error = NULL; +- GDBusProxy *proxy; +- +- /* power down the machine in a safe way */ +- proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, +- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +- NULL, +- CONSOLEKIT_DBUS_NAME, +- CONSOLEKIT_DBUS_PATH_MANAGER, +- CONSOLEKIT_DBUS_INTERFACE_MANAGER, +- NULL, &error); +- if (proxy == NULL) { +- g_warning ("cannot connect to ConsoleKit: %s", +- error->message); +- g_error_free (error); +- return; +- } +- g_dbus_proxy_call (proxy, +- "Stop", +- NULL, +- G_DBUS_CALL_FLAGS_NONE, +- -1, NULL, +- consolekit_stop_cb, NULL); +- g_object_unref (proxy); +-} +-static void +-upower_sleep_cb (GObject *source_object, +- GAsyncResult *res, +- gpointer user_data) +-{ +- GVariant *result; +- GError *error = NULL; +- +- result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_object), +- res, +- &error); +- if (result == NULL) { +- g_warning ("couldn't sleep using UPower: %s", +- error->message); +- g_error_free (error); +- } else { +- g_variant_unref (result); +- } +-} +- +-static void +-upower_suspend (GDBusProxy *upower_proxy) +-{ +- g_dbus_proxy_call (upower_proxy, +- "Suspend", +- NULL, +- G_DBUS_CALL_FLAGS_NONE, +- -1, NULL, +- upower_sleep_cb, NULL); +-} +- +-static void +-upower_hibernate (GDBusProxy *upower_proxy) +-{ +- g_dbus_proxy_call (upower_proxy, +- "Hibernate", +- NULL, +- G_DBUS_CALL_FLAGS_NONE, +- -1, NULL, +- upower_sleep_cb, NULL); +-} +-#endif /* HAVE_SYSTEMD */ +- +-void +-gsd_power_suspend (GDBusProxy *upower_proxy) +-{ +-#ifdef HAVE_SYSTEMD +- systemd_suspend (); +-#else +- upower_suspend (upower_proxy); +-#endif +-} +- +-void +-gsd_power_poweroff (void) +-{ +-#ifdef HAVE_SYSTEMD +- systemd_stop (); +-#else +- consolekit_stop (); +-#endif +-} +- +-void +-gsd_power_hibernate (GDBusProxy *upower_proxy) +-{ +-#ifdef HAVE_SYSTEMD +- systemd_hibernate (); +-#else +- upower_hibernate (upower_proxy); +-#endif +-} +diff --git a/plugins/common/gsd-power-helper.h b/plugins/common/gsd-power-helper.h +deleted file mode 100644 +index e3be14f..0000000 +--- a/plugins/common/gsd-power-helper.h ++++ /dev/null +@@ -1,35 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * +- * Copyright (C) 2012 Bastien Nocera <hadess@hadess.net> +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- */ +- +-#ifndef __GSD_POWER_HELPER_H +-#define __GSD_POWER_HELPER_H +- +-#include <glib.h> +- +-G_BEGIN_DECLS +- +-#include <gio/gio.h> +- +-void gsd_power_suspend (GDBusProxy *upower_proxy); +-void gsd_power_hibernate (GDBusProxy *upower_proxy); +-void gsd_power_poweroff (void); +- +-G_END_DECLS +- +-#endif /* __GSD_POWER_HELPER_H */ +diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c +index 9c84d7f..a2f277e 100644 +--- a/plugins/media-keys/gsd-media-keys-manager.c ++++ b/plugins/media-keys/gsd-media-keys-manager.c +@@ -39,6 +39,7 @@ + #include <gdk/gdkx.h> + #include <gtk/gtk.h> + #include <gio/gdesktopappinfo.h> ++#include <gio/gunixfdlist.h> + + #ifdef HAVE_GUDEV + #include <gudev/gudev.h> +@@ -51,7 +52,6 @@ + #include "shortcuts-list.h" + #include "gsd-osd-window.h" + #include "gsd-input-helper.h" +-#include "gsd-power-helper.h" + #include "gsd-enums.h" + + #include <canberra.h> +@@ -105,6 +105,10 @@ static const gchar introspection_xml[] = + #define KEY_CURRENT_INPUT_SOURCE "current" + #define KEY_INPUT_SOURCES "sources" + ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++ + #define GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerPrivate)) + + typedef struct { +@@ -148,10 +152,13 @@ struct GsdMediaKeysManagerPrivate + + /* Power stuff */ + GSettings *power_settings; +- GDBusProxy *upower_proxy; + GDBusProxy *power_screen_proxy; + GDBusProxy *power_keyboard_proxy; + ++ /* systemd stuff */ ++ GDBusProxy *logind_proxy; ++ gint inhibit_keys_fd; ++ + /* Multihead stuff */ + GdkScreen *current_screen; + GSList *screens; +@@ -1618,6 +1625,38 @@ do_toggle_contrast_action (GsdMediaKeysManager *manager) + } + + static void ++power_action_suspend (GsdMediaKeysManager *manager) ++{ ++#ifndef HAVE_SYSTEMD ++ g_warning ("no systemd support"); ++ return; ++#endif ++ g_dbus_proxy_call (manager->priv->logind_proxy, ++ "Suspend", ++ g_variant_new ("(b)", TRUE), ++ G_DBUS_CALL_FLAGS_NONE, ++ G_MAXINT, ++ manager->priv->bus_cancellable, ++ NULL, NULL); ++} ++ ++static void ++power_action_hibernate (GsdMediaKeysManager *manager) ++{ ++#ifndef HAVE_SYSTEMD ++ g_warning ("no systemd support"); ++ return; ++#endif ++ g_dbus_proxy_call (manager->priv->logind_proxy, ++ "Hibernate", ++ g_variant_new ("(b)", TRUE), ++ G_DBUS_CALL_FLAGS_NONE, ++ G_MAXINT, ++ manager->priv->bus_cancellable, ++ NULL, NULL); ++} ++ ++static void + do_config_power_action (GsdMediaKeysManager *manager, + const gchar *config_key) + { +@@ -1627,14 +1666,14 @@ do_config_power_action (GsdMediaKeysManager *manager, + config_key); + switch (action_type) { + case GSD_POWER_ACTION_SUSPEND: +- gsd_power_suspend (manager->priv->upower_proxy); ++ power_action_suspend (manager); + break; + case GSD_POWER_ACTION_INTERACTIVE: + case GSD_POWER_ACTION_SHUTDOWN: + gnome_session_shutdown (manager); + break; + case GSD_POWER_ACTION_HIBERNATE: +- gsd_power_hibernate (manager->priv->upower_proxy); ++ power_action_hibernate (manager); + break; + case GSD_POWER_ACTION_BLANK: + case GSD_POWER_ACTION_NOTHING: +@@ -2248,6 +2287,7 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager) + } + #endif /* HAVE_GUDEV */ + ++ g_clear_object (&priv->logind_proxy); + if (priv->settings) { + g_object_unref (priv->settings); + priv->settings = NULL; +@@ -2268,11 +2308,6 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager) + priv->power_keyboard_proxy = NULL; + } + +- if (priv->upower_proxy) { +- g_object_unref (priv->upower_proxy); +- priv->upower_proxy = NULL; +- } +- + if (priv->cancellable != NULL) { + g_cancellable_cancel (priv->cancellable); + g_object_unref (priv->cancellable); +@@ -2363,9 +2398,85 @@ gsd_media_keys_manager_class_init (GsdMediaKeysManagerClass *klass) + } + + static void ++inhibit_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit keypresses: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_keys_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_keys_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void + gsd_media_keys_manager_init (GsdMediaKeysManager *manager) + { ++ GError *error; ++ GDBusConnection *bus; ++ ++ error = NULL; + manager->priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager); ++ ++ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ if (bus == NULL) { ++ g_warning ("Failed to connect to system bus: %s", ++ error->message); ++ g_error_free (error); ++ return; ++ } ++ ++ manager->priv->logind_proxy = ++ g_dbus_proxy_new_sync (bus, ++ 0, ++ NULL, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ NULL, ++ &error); ++ ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("Failed to connect to systemd: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (bus); ++ ++ g_debug ("Adding system inhibitors for power keys"); ++ manager->priv->inhibit_keys_fd = -1; ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "handle-power-key:handle-suspend-key:handle-hibernate-key", ++ g_get_user_name (), ++ "GNOME handling keypresses", ++ "block"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_done, ++ manager); ++ + } + + static void +@@ -2382,6 +2493,8 @@ gsd_media_keys_manager_finalize (GObject *object) + + if (media_keys_manager->priv->start_idle_id != 0) + g_source_remove (media_keys_manager->priv->start_idle_id); ++ if (media_keys_manager->priv->inhibit_keys_fd != -1) ++ close (media_keys_manager->priv->inhibit_keys_fd); + + G_OBJECT_CLASS (gsd_media_keys_manager_parent_class)->finalize (object); + } +@@ -2401,21 +2514,6 @@ xrandr_ready_cb (GObject *source_object, + } + + static void +-upower_ready_cb (GObject *source_object, +- GAsyncResult *res, +- GsdMediaKeysManager *manager) +-{ +- GError *error = NULL; +- +- manager->priv->upower_proxy = g_dbus_proxy_new_finish (res, &error); +- if (manager->priv->upower_proxy == NULL) { +- g_warning ("Failed to get proxy for upower: %s", +- error->message); +- g_error_free (error); +- } +-} +- +-static void + power_screen_ready_cb (GObject *source_object, + GAsyncResult *res, + GsdMediaKeysManager *manager) +@@ -2517,16 +2615,6 @@ register_manager (GsdMediaKeysManager *manager) + manager->priv->bus_cancellable, + (GAsyncReadyCallback) on_bus_gotten, + manager); +- +- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- "org.freedesktop.UPower", +- "/org/freedesktop/UPower", +- "org.freedesktop.UPower", +- NULL, +- (GAsyncReadyCallback) upower_ready_cb, +- manager); + } + + GsdMediaKeysManager * +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c +index 070cf32..18fcedf 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -1,7 +1,7 @@ + /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu> +- * Copyright (C) 2011 Richard Hughes <richard@hughsie.com> ++ * Copyright (C) 2011-2012 Richard Hughes <richard@hughsie.com> + * Copyright (C) 2011 Ritesh Khadgaray <khadgaray@gmail.com> + * + * This program is free software; you can redistribute it and/or modify +@@ -32,6 +32,7 @@ + #include <libupower-glib/upower.h> + #include <libnotify/notify.h> + #include <canberra-gtk.h> ++#include <gio/gunixfdlist.h> + + #define GNOME_DESKTOP_USE_UNSTABLE_API + #include <libgnome-desktop/gnome-rr.h> +@@ -43,7 +44,6 @@ + #include "gnome-settings-session.h" + #include "gsd-enums.h" + #include "gsd-power-manager.h" +-#include "gsd-power-helper.h" + + #define GNOME_SESSION_DBUS_NAME "org.gnome.SessionManager" + #define GNOME_SESSION_DBUS_PATH "/org/gnome/SessionManager" +@@ -78,6 +78,10 @@ + #define GSD_POWER_MANAGER_RECALL_DELAY 30 /* seconds */ + #define GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT 30 /* seconds */ + ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++ + /* Keep this in sync with gnome-shell */ + #define SCREENSAVER_FADE_TIME 10 /* seconds */ + +@@ -193,14 +197,20 @@ struct GsdPowerManagerPrivate + ca_context *canberra_context; + ca_proplist *critical_alert_loop_props; + guint32 critical_alert_timeout_id; +- GDBusProxy *screensaver_proxy; + GDBusProxy *session_proxy; + GDBusProxy *session_presence_proxy; + GpmIdletime *idletime; + GsdPowerIdleMode current_idle_mode; +- guint lid_close_safety_timer_id; + GtkStatusIcon *status_icon; + guint xscreensaver_watchdog_timer_id; ++ ++ /* systemd stuff */ ++ GDBusProxy *logind_proxy; ++ gint inhibit_lid_switch_fd; ++ gboolean inhibit_lid_switch_taken; ++ gint inhibit_suspend_fd; ++ gboolean inhibit_suspend_taken; ++ guint inhibit_lid_switch_timer_id; + }; + + enum { +@@ -217,8 +227,8 @@ static GIcon *engine_get_icon (GsdPowerManager *manager); + static gchar *engine_get_summary (GsdPowerManager *manager); + static void do_power_action_type (GsdPowerManager *manager, GsdPowerActionType action_type); + static void do_lid_closed_action (GsdPowerManager *manager); +-static void lock_screensaver (GsdPowerManager *manager); +-static void kill_lid_close_safety_timer (GsdPowerManager *manager); ++static void uninhibit_lid_switch (GsdPowerManager *manager); ++static gboolean external_monitor_is_connected (GnomeRRScreen *screen); + + G_DEFINE_TYPE (GsdPowerManager, gsd_power_manager, G_TYPE_OBJECT) + +@@ -2048,6 +2058,57 @@ gnome_session_shutdown (void) + } + + static void ++action_poweroff (GsdPowerManager *manager) ++{ ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("no systemd support"); ++ return; ++ } ++ g_dbus_proxy_call (manager->priv->logind_proxy, ++ "PowerOff", ++ g_variant_new ("(b)", FALSE), ++ G_DBUS_CALL_FLAGS_NONE, ++ G_MAXINT, ++ NULL, ++ NULL, ++ NULL); ++} ++ ++static void ++action_suspend (GsdPowerManager *manager) ++{ ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("no systemd support"); ++ return; ++ } ++ g_dbus_proxy_call (manager->priv->logind_proxy, ++ "Suspend", ++ g_variant_new ("(b)", FALSE), ++ G_DBUS_CALL_FLAGS_NONE, ++ G_MAXINT, ++ NULL, ++ NULL, ++ NULL); ++} ++ ++static void ++action_hibernate (GsdPowerManager *manager) ++{ ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("no systemd support"); ++ return; ++ } ++ g_dbus_proxy_call (manager->priv->logind_proxy, ++ "Hibernate", ++ g_variant_new ("(b)", FALSE), ++ G_DBUS_CALL_FLAGS_NONE, ++ G_MAXINT, ++ NULL, ++ NULL, ++ NULL); ++} ++ ++static void + do_power_action_type (GsdPowerManager *manager, + GsdPowerActionType action_type) + { +@@ -2056,19 +2117,19 @@ do_power_action_type (GsdPowerManager *manager, + + switch (action_type) { + case GSD_POWER_ACTION_SUSPEND: +- gsd_power_suspend (manager->priv->upower_proxy); ++ action_suspend (manager); + break; + case GSD_POWER_ACTION_INTERACTIVE: + gnome_session_shutdown (); + break; + case GSD_POWER_ACTION_HIBERNATE: +- gsd_power_hibernate (manager->priv->upower_proxy); ++ action_hibernate (manager); + break; + case GSD_POWER_ACTION_SHUTDOWN: + /* this is only used on critically low battery where + * hibernate is not available and is marginally better + * than just powering down the computer mid-write */ +- gsd_power_poweroff (); ++ action_poweroff (manager); + break; + case GSD_POWER_ACTION_BLANK: + ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +@@ -2140,85 +2201,20 @@ upower_kbd_toggle (GsdPowerManager *manager, + return ret; + } + +-static void +-do_lid_open_action (GsdPowerManager *manager) +-{ +- gboolean ret; +- GError *error = NULL; +- +- /* play a sound, using sounds from the naming spec */ +- ca_context_play (manager->priv->canberra_context, 0, +- CA_PROP_EVENT_ID, "lid-open", +- /* TRANSLATORS: this is the sound description */ +- CA_PROP_EVENT_DESCRIPTION, _("Lid has been opened"), +- NULL); +- +- /* ensure we turn the panel back on after lid open */ +- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +- GNOME_RR_DPMS_ON, +- &error); +- if (!ret) { +- g_warning ("failed to turn the panel on after lid open: %s", +- error->message); +- g_clear_error (&error); +- } +- +- /* only toggle keyboard if present and already toggled off */ +- if (manager->priv->upower_kdb_proxy != NULL && +- manager->priv->kbd_brightness_old != -1) { +- ret = upower_kbd_toggle (manager, &error); +- if (!ret) { +- g_warning ("failed to turn the kbd backlight on: %s", +- error->message); +- g_error_free (error); +- } +- } +- +- kill_lid_close_safety_timer (manager); +-} +- + static gboolean +-is_on (GnomeRROutput *output) ++inhibit_lid_switch_timer_cb (GsdPowerManager *manager) + { +- GnomeRRCrtc *crtc; +- +- crtc = gnome_rr_output_get_crtc (output); +- if (!crtc) +- return FALSE; +- return gnome_rr_crtc_get_current_mode (crtc) != NULL; +-} +- +-static gboolean +-non_laptop_outputs_are_all_off (GnomeRRScreen *screen) +-{ +- GnomeRROutput **outputs; +- int i; +- +- outputs = gnome_rr_screen_list_outputs (screen); +- for (i = 0; outputs[i] != NULL; i++) { +- if (gnome_rr_output_is_laptop (outputs[i])) +- continue; +- +- if (is_on (outputs[i])) +- return FALSE; ++ if (!external_monitor_is_connected (manager->priv->x11_screen) || ++ g_settings_get_boolean (manager->priv->settings, ++ "lid-close-suspend-with-external-monitor")) { ++ g_debug ("no external monitors for a while; uninhibiting lid close"); ++ uninhibit_lid_switch (manager); ++ manager->priv->inhibit_lid_switch_timer_id = 0; ++ return G_SOURCE_REMOVE; + } + +- return TRUE; +-} +- +-/* Timeout callback used to check conditions when the laptop's lid is closed but +- * the machine is not suspended yet. We try to suspend again, so that the laptop +- * won't overheat if placed in a backpack. +- */ +-static gboolean +-lid_close_safety_timer_cb (GsdPowerManager *manager) +-{ +- manager->priv->lid_close_safety_timer_id = 0; +- +- g_debug ("lid has been closed for a while; trying to suspend again"); +- do_lid_closed_action (manager); +- +- return FALSE; ++ g_debug ("external monitor still there; trying again later"); ++ return G_SOURCE_CONTINUE; + } + + /* Sets up a timer to be triggered some seconds after closing the laptop lid +@@ -2226,82 +2222,73 @@ lid_close_safety_timer_cb (GsdPowerManager *manager) + * again in the timeout handler to see if we can suspend then. + */ + static void +-setup_lid_close_safety_timer (GsdPowerManager *manager) ++setup_inhibit_lid_switch_timer (GsdPowerManager *manager) + { +- if (manager->priv->lid_close_safety_timer_id != 0) ++ if (manager->priv->inhibit_lid_switch_timer_id != 0) { ++ g_debug ("lid close safety timer already set up"); + return; ++ } ++ ++ g_debug ("setting up lid close safety timer"); + +- manager->priv->lid_close_safety_timer_id = g_timeout_add_seconds (GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT, +- (GSourceFunc) lid_close_safety_timer_cb, ++ manager->priv->inhibit_lid_switch_timer_id = g_timeout_add_seconds (GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT, ++ (GSourceFunc) inhibit_lid_switch_timer_cb, + manager); +- g_source_set_name_by_id (manager->priv->lid_close_safety_timer_id, "[GsdPowerManager] lid close safety timer"); ++ g_source_set_name_by_id (manager->priv->inhibit_lid_switch_timer_id, "[GsdPowerManager] lid close safety timer"); + } + + static void +-kill_lid_close_safety_timer (GsdPowerManager *manager) ++restart_inhibit_lid_switch_timer (GsdPowerManager *manager) + { +- if (manager->priv->lid_close_safety_timer_id != 0) { +- g_source_remove (manager->priv->lid_close_safety_timer_id); +- manager->priv->lid_close_safety_timer_id = 0; ++ if (manager->priv->inhibit_lid_switch_timer_id != 0) { ++ g_debug ("restarting lid close safety timer"); ++ g_source_remove (manager->priv->inhibit_lid_switch_timer_id); ++ manager->priv->inhibit_lid_switch_timer_id = 0; ++ setup_inhibit_lid_switch_timer (manager); + } + } + + static void +-suspend_with_lid_closed (GsdPowerManager *manager) ++do_lid_open_action (GsdPowerManager *manager) + { + gboolean ret; + GError *error = NULL; +- GsdPowerActionType action_type; + +- /* maybe lock the screen if the lid is closed */ +- lock_screensaver (manager); +- +- /* we have different settings depending on AC state */ +- if (up_client_get_on_battery (manager->priv->up_client)) { +- action_type = g_settings_get_enum (manager->priv->settings, +- "lid-close-battery-action"); +- } else { +- action_type = g_settings_get_enum (manager->priv->settings, +- "lid-close-ac-action"); +- } +- +- /* check we won't melt when the lid is closed */ +- if (action_type != GSD_POWER_ACTION_SUSPEND && +- action_type != GSD_POWER_ACTION_HIBERNATE) { +- if (up_client_get_lid_force_sleep (manager->priv->up_client)) { +- g_warning ("to prevent damage, now forcing suspend"); +- do_power_action_type (manager, GSD_POWER_ACTION_SUSPEND); +- return; +- } +- } ++ /* play a sound, using sounds from the naming spec */ ++ ca_context_play (manager->priv->canberra_context, 0, ++ CA_PROP_EVENT_ID, "lid-open", ++ /* TRANSLATORS: this is the sound description */ ++ CA_PROP_EVENT_DESCRIPTION, _("Lid has been opened"), ++ NULL); + +- /* ensure we turn the panel back on after resume */ ++ /* ensure we turn the panel back on after lid open */ + ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +- GNOME_RR_DPMS_OFF, ++ GNOME_RR_DPMS_ON, + &error); + if (!ret) { +- g_warning ("failed to turn the panel off after lid close: %s", ++ g_warning ("failed to turn the panel on after lid open: %s", + error->message); +- g_error_free (error); ++ g_clear_error (&error); + } + +- /* only toggle keyboard if present and not already toggled */ +- if (manager->priv->upower_kdb_proxy && +- manager->priv->kbd_brightness_old == -1) { ++ /* only toggle keyboard if present and already toggled off */ ++ if (manager->priv->upower_kdb_proxy != NULL && ++ manager->priv->kbd_brightness_old != -1) { + ret = upower_kbd_toggle (manager, &error); + if (!ret) { +- g_warning ("failed to turn the kbd backlight off: %s", ++ g_warning ("failed to turn the kbd backlight on: %s", + error->message); + g_error_free (error); + } + } +- +- do_power_action_type (manager, action_type); + } + + static void + do_lid_closed_action (GsdPowerManager *manager) + { ++ gboolean ret; ++ GError *error = NULL; ++ + /* play a sound, using sounds from the naming spec */ + ca_context_play (manager->priv->canberra_context, 0, + CA_PROP_EVENT_ID, "lid-close", +@@ -2309,21 +2296,22 @@ do_lid_closed_action (GsdPowerManager *manager) + CA_PROP_EVENT_DESCRIPTION, _("Lid has been closed"), + NULL); + ++ /* turn the panel off if the lid is closed (mainly for Dells...) */ ++ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, ++ GNOME_RR_DPMS_OFF, ++ &error); ++ if (!ret) { ++ g_warning ("failed to turn the panel off after lid close: %s", ++ error->message); ++ g_error_free (error); ++ } ++ + /* refresh RANDR so we get an accurate view of what monitors are plugged in when the lid is closed */ + gnome_rr_screen_refresh (manager->priv->x11_screen, NULL); /* NULL-GError */ + +- /* perform policy action */ +- if (g_settings_get_boolean (manager->priv->settings, "lid-close-suspend-with-external-monitor") +- || non_laptop_outputs_are_all_off (manager->priv->x11_screen)) { +- g_debug ("lid is closed; suspending or hibernating"); +- suspend_with_lid_closed (manager); +- } else { +- g_debug ("lid is closed; not suspending nor hibernating since some external monitor outputs are still active"); +- setup_lid_close_safety_timer (manager); +- } ++ restart_inhibit_lid_switch_timer (manager); + } + +- + static void + up_client_changed_cb (UpClient *client, GsdPowerManager *manager) + { +@@ -2343,6 +2331,7 @@ up_client_changed_cb (UpClient *client, GsdPowerManager *manager) + if (manager->priv->lid_is_closed == tmp) + return; + manager->priv->lid_is_closed = tmp; ++ g_debug ("up changed: lid is now %s", tmp ? "closed" : "open"); + + /* fake a keypress */ + if (tmp) +@@ -3294,30 +3283,6 @@ gsd_power_manager_class_init (GsdPowerManagerClass *klass) + } + + static void +-sleep_cb_screensaver_proxy_ready_cb (GObject *source_object, +- GAsyncResult *res, +- gpointer user_data) +-{ +- GError *error = NULL; +- GsdPowerManager *manager = GSD_POWER_MANAGER (user_data); +- +- manager->priv->screensaver_proxy = g_dbus_proxy_new_for_bus_finish (res, &error); +- if (manager->priv->screensaver_proxy == NULL) { +- g_warning ("Could not connect to gnome-screensaver: %s", +- error->message); +- g_error_free (error); +- return; +- } +- +- /* Finish the upower_notify_sleep_cb() call by locking the screen */ +- g_debug ("gnome-screensaver activated, doing gnome-screensaver lock"); +- g_dbus_proxy_call (manager->priv->screensaver_proxy, +- "Lock", +- NULL, G_DBUS_CALL_FLAGS_NONE, -1, +- NULL, NULL, NULL); +-} +- +-static void + idle_dbus_signal_cb (GDBusProxy *proxy, + const gchar *sender_name, + const gchar *signal_name, +@@ -3469,75 +3434,38 @@ out: + } + + static void +-lock_screensaver (GsdPowerManager *manager) ++lock_screensaver (GsdPowerManager *manager, ++ GSourceFunc done_cb) + { + gboolean do_lock; + + do_lock = g_settings_get_boolean (manager->priv->settings_screensaver, + "lock-enabled"); +- if (!do_lock) ++ if (!do_lock && done_cb) { ++ done_cb (manager); + return; +- +- if (manager->priv->screensaver_proxy != NULL) { +- g_debug ("doing gnome-screensaver lock"); +- g_dbus_proxy_call (manager->priv->screensaver_proxy, +- "Lock", +- NULL, G_DBUS_CALL_FLAGS_NONE, -1, +- NULL, NULL, NULL); +- } else { +- /* connect to the screensaver first */ +- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, +- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +- NULL, +- GS_DBUS_NAME, +- GS_DBUS_PATH, +- GS_DBUS_INTERFACE, +- NULL, +- sleep_cb_screensaver_proxy_ready_cb, +- manager); + } +-} +- +-static void +-upower_notify_sleep_cb (UpClient *client, +- UpSleepKind sleep_kind, +- GsdPowerManager *manager) +-{ +- lock_screensaver (manager); +-} +- +-static void +-upower_notify_resume_cb (UpClient *client, +- UpSleepKind sleep_kind, +- GsdPowerManager *manager) +-{ +- gboolean ret; +- GError *error = NULL; +- +- /* this displays the unlock dialogue so the user doesn't have +- * to move the mouse or press any key before the window comes up */ +- if (manager->priv->screensaver_proxy != NULL) { +- g_dbus_proxy_call (manager->priv->screensaver_proxy, +- "SimulateUserActivity", +- NULL, +- G_DBUS_CALL_FLAGS_NONE, +- -1, NULL, NULL, NULL); +- } +- +- /* close existing notifications on resume, the system power +- * state is probably different now */ +- notify_close_if_showing (manager->priv->notification_low); +- notify_close_if_showing (manager->priv->notification_discharging); + +- /* ensure we turn the panel back on after resume */ +- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +- GNOME_RR_DPMS_ON, +- &error); +- if (!ret) { +- g_warning ("failed to turn the panel on after resume: %s", +- error->message); +- g_error_free (error); +- } ++ g_dbus_connection_call (manager->priv->connection, ++ GS_DBUS_NAME, ++ GS_DBUS_PATH, ++ GS_DBUS_INTERFACE, ++ "Lock", ++ NULL, NULL, ++ G_DBUS_CALL_FLAGS_NONE, -1, ++ NULL, NULL, NULL); ++ ++ /* Wait until gnome-shell shield animation is done ++ * ++ * FIXME: the shell should mark the lock as active ++ * when the shield is down, then we could wait for ++ * that. This would also fix the problem that we wait ++ * needlessly when the shell has already locked the ++ * screen because it is initiating the suspend. ++ * ++ * https://bugzilla.gnome.org/show_bug.cgi?id=685053 ++ */ ++ g_timeout_add (500, done_cb, manager); + } + + static void +@@ -3696,6 +3624,287 @@ disable_builtin_screensaver (gpointer unused) + return TRUE; + } + ++static void ++inhibit_lid_switch_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit lid switch: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_lid_switch_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_lid_switch_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_lid_switch_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void ++inhibit_lid_switch (GsdPowerManager *manager) ++{ ++ GVariant *params; ++ ++ if (manager->priv->inhibit_lid_switch_taken) { ++ g_debug ("already inhibited lid-switch"); ++ return; ++ } ++ g_debug ("Adding lid switch system inhibitor"); ++ manager->priv->inhibit_lid_switch_taken = TRUE; ++ ++ params = g_variant_new ("(ssss)", ++ "handle-lid-switch", ++ g_get_user_name (), ++ "Multiple displays attached", ++ "block"); ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ params, ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_lid_switch_done, ++ manager); ++} ++ ++static void ++uninhibit_lid_switch (GsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_lid_switch_fd == -1) { ++ g_debug ("no lid-switch inhibitor"); ++ return; ++ } ++ g_debug ("Removing lid switch system inhibitor"); ++ close (manager->priv->inhibit_lid_switch_fd); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_lid_switch_taken = FALSE; ++} ++ ++static void ++inhibit_suspend_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit suspend: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_suspend_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_suspend_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++/* We take a delay inhibitor here, which causes logind to send a ++ * PrepareToSleep signal, which gives us a chance to lock the screen ++ * and do some other preparations. ++ */ ++static void ++inhibit_suspend (GsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_suspend_taken) { ++ g_debug ("already inhibited lid-switch"); ++ return; ++ } ++ g_debug ("Adding suspend delay inhibitor"); ++ manager->priv->inhibit_suspend_taken = TRUE; ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "sleep", ++ g_get_user_name (), ++ "GNOME needs to lock the screen", ++ "delay"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_suspend_done, ++ manager); ++} ++ ++static void ++uninhibit_suspend (GsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_suspend_fd == -1) { ++ g_debug ("no suspend delay inhibitor"); ++ return; ++ } ++ g_debug ("Removing suspend delay inhibitor"); ++ close (manager->priv->inhibit_suspend_fd); ++ manager->priv->inhibit_suspend_fd = -1; ++ manager->priv->inhibit_suspend_taken = TRUE; ++} ++ ++static gboolean ++randr_output_is_on (GnomeRROutput *output) ++{ ++ GnomeRRCrtc *crtc; ++ ++ crtc = gnome_rr_output_get_crtc (output); ++ if (!crtc) ++ return FALSE; ++ return gnome_rr_crtc_get_current_mode (crtc) != NULL; ++} ++ ++static gboolean ++external_monitor_is_connected (GnomeRRScreen *screen) ++{ ++ GnomeRROutput **outputs; ++ guint i; ++ ++ if (g_file_test ("/tmp/external_connected", G_FILE_TEST_EXISTS)) ++ return TRUE; ++ ++ /* see if we have more than one screen plugged in */ ++ outputs = gnome_rr_screen_list_outputs (screen); ++ for (i = 0; outputs[i] != NULL; i++) { ++ if (randr_output_is_on (outputs[i]) && ++ !gnome_rr_output_is_laptop (outputs[i])) ++ return TRUE; ++ } ++ ++ return FALSE; ++} ++ ++static void ++on_randr_event (GnomeRRScreen *screen, gpointer user_data) ++{ ++ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data); ++ ++ /* when a second monitor is plugged in, we take the ++ * handle-lid-switch inhibitor lock of logind to prevent ++ * it from suspending. ++ * ++ * Uninhibiting is done in the inhibit_lid_switch_timer, ++ * since we want to give users a few seconds when unplugging ++ * and replugging an external monitor, not suspend right away. ++ */ ++ if (external_monitor_is_connected (screen) && ++ !g_settings_get_boolean (manager->priv->settings, ++ "lid-close-suspend-with-external-monitor")) { ++ inhibit_lid_switch (manager); ++ setup_inhibit_lid_switch_timer (manager); ++ } ++ else { ++ restart_inhibit_lid_switch_timer (manager); ++ } ++} ++ ++static gboolean ++screen_lock_done_cb (gpointer data) ++{ ++ GsdPowerManager *manager = data; ++ ++ /* lift the delay inhibit, so logind can proceed */ ++ uninhibit_suspend (manager); ++ ++ return FALSE; ++} ++ ++static void ++handle_suspend_actions (GsdPowerManager *manager) ++{ ++ gboolean ret; ++ GError *error = NULL; ++ ++ /* ensure we turn the panel back on after resume */ ++ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, ++ GNOME_RR_DPMS_ON, ++ &error); ++ if (!ret) { ++ g_warning ("failed to turn the panel on after resume: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ lock_screensaver (manager, screen_lock_done_cb); ++} ++ ++static void ++handle_resume_actions (GsdPowerManager *manager) ++{ ++ gboolean ret; ++ GError *error = NULL; ++ ++ /* this displays the unlock dialogue so the user doesn't have ++ * to move the mouse or press any key before the window comes up */ ++ g_dbus_connection_call (manager->priv->connection, ++ GS_DBUS_NAME, ++ GS_DBUS_PATH, ++ GS_DBUS_INTERFACE, ++ "SimulateUserActivity", ++ NULL, NULL, ++ G_DBUS_CALL_FLAGS_NONE, -1, ++ NULL, NULL, NULL); ++ ++ /* close existing notifications on resume, the system power ++ * state is probably different now */ ++ notify_close_if_showing (manager->priv->notification_low); ++ notify_close_if_showing (manager->priv->notification_discharging); ++ ++ /* ensure we turn the panel back on after resume */ ++ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, ++ GNOME_RR_DPMS_ON, ++ &error); ++ if (!ret) { ++ g_warning ("failed to turn the panel on after resume: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ /* set up the delay again */ ++ inhibit_suspend (manager); ++} ++ ++static void ++logind_proxy_signal_cb (GDBusProxy *proxy, ++ const gchar *sender_name, ++ const gchar *signal_name, ++ GVariant *parameters, ++ gpointer user_data) ++{ ++ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data); ++ gboolean is_about_to_suspend; ++ ++ if (g_strcmp0 (signal_name, "PrepareForSleep") != 0) ++ return; ++ g_variant_get (parameters, "(b)", &is_about_to_suspend); ++ if (is_about_to_suspend) { ++ handle_suspend_actions (manager); ++ } else { ++ handle_resume_actions (manager); ++ } ++} ++ + gboolean + gsd_power_manager_start (GsdPowerManager *manager, + GError **error) +@@ -3705,6 +3914,25 @@ gsd_power_manager_start (GsdPowerManager *manager, + g_debug ("Starting power manager"); + gnome_settings_profile_start (NULL); + ++ manager->priv->logind_proxy = ++ g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, ++ 0, ++ NULL, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ NULL, ++ error); ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("no systemd support"); ++ return FALSE; ++ } ++ g_signal_connect (manager->priv->logind_proxy, "g-signal", ++ G_CALLBACK (logind_proxy_signal_cb), ++ manager); ++ /* Set up a delay inhibitor to be informed about suspend attempts */ ++ inhibit_suspend (manager); ++ + /* track the active session */ + manager->priv->session = gnome_settings_session_new (); + g_signal_connect (manager->priv->session, "notify::state", +@@ -3719,10 +3947,6 @@ gsd_power_manager_start (GsdPowerManager *manager, + G_CALLBACK (engine_settings_key_changed_cb), manager); + manager->priv->settings_screensaver = g_settings_new ("org.gnome.desktop.screensaver"); + manager->priv->up_client = up_client_new (); +- g_signal_connect (manager->priv->up_client, "notify-sleep", +- G_CALLBACK (upower_notify_sleep_cb), manager); +- g_signal_connect (manager->priv->up_client, "notify-resume", +- G_CALLBACK (upower_notify_resume_cb), manager); + manager->priv->lid_is_closed = up_client_get_lid_is_closed (manager->priv->up_client); + g_signal_connect (manager->priv->up_client, "device-added", + G_CALLBACK (engine_device_added_cb), manager); +@@ -3836,6 +4060,9 @@ gsd_power_manager_start (GsdPowerManager *manager, + manager->priv->x11_screen = gnome_rr_screen_new (gdk_screen_get_default (), error); + if (manager->priv->x11_screen == NULL) + return FALSE; ++ g_signal_connect (manager->priv->x11_screen, "changed", G_CALLBACK (on_randr_event), manager); ++ /* set up initial state */ ++ on_randr_event (manager->priv->x11_screen, manager); + + /* ensure the default dpms timeouts are cleared */ + ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +@@ -3865,6 +4092,11 @@ gsd_power_manager_stop (GsdPowerManager *manager) + { + g_debug ("Stopping power manager"); + ++ if (manager->priv->inhibit_lid_switch_timer_id != 0) { ++ g_source_remove (manager->priv->inhibit_lid_switch_timer_id); ++ manager->priv->inhibit_lid_switch_timer_id = 0; ++ } ++ + if (manager->priv->bus_cancellable != NULL) { + g_cancellable_cancel (manager->priv->bus_cancellable); + g_object_unref (manager->priv->bus_cancellable); +@@ -3876,8 +4108,6 @@ gsd_power_manager_stop (GsdPowerManager *manager) + manager->priv->introspection_data = NULL; + } + +- kill_lid_close_safety_timer (manager); +- + g_signal_handlers_disconnect_by_data (manager->priv->up_client, manager); + + g_clear_object (&manager->priv->connection); +@@ -3885,6 +4115,19 @@ gsd_power_manager_stop (GsdPowerManager *manager) + g_clear_object (&manager->priv->settings); + g_clear_object (&manager->priv->settings_screensaver); + g_clear_object (&manager->priv->up_client); ++ ++ if (manager->priv->inhibit_lid_switch_fd != -1) { ++ close (manager->priv->inhibit_lid_switch_fd); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_lid_switch_taken = FALSE; ++ } ++ if (manager->priv->inhibit_suspend_fd != -1) { ++ close (manager->priv->inhibit_suspend_fd); ++ manager->priv->inhibit_suspend_fd = -1; ++ manager->priv->inhibit_suspend_taken = FALSE; ++ } ++ ++ g_clear_object (&manager->priv->logind_proxy); + g_clear_object (&manager->priv->x11_screen); + + g_ptr_array_unref (manager->priv->devices_array); +@@ -3918,6 +4161,8 @@ static void + gsd_power_manager_init (GsdPowerManager *manager) + { + manager->priv = GSD_POWER_MANAGER_GET_PRIVATE (manager); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_suspend_fd = -1; + } + + static void +-- +1.7.12.2 + diff --git a/testing/gnome-settings-daemon/PKGBUILD b/testing/gnome-settings-daemon/PKGBUILD new file mode 100644 index 000000000..4e972454a --- /dev/null +++ b/testing/gnome-settings-daemon/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 169291 2012-10-18 21:41:48Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gnome-settings-daemon +pkgver=3.6.1 +pkgrel=2 +pkgdesc="The GNOME Settings daemon" +arch=('i686' 'x86_64') +license=('GPL') +depends=('dconf' 'gnome-desktop' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'libcanberra-pulse' 'libnotify' + 'libsystemd' 'libwacom' 'nss' 'pulseaudio' 'pulseaudio-alsa' 'upower' 'ibus') +makedepends=('intltool' 'xf86-input-wacom' 'libxslt' 'docbook-xsl') +options=('!emptydirs' '!libtool') +install=gnome-settings-daemon.install +url="http://www.gnome.org" +groups=('gnome') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + screensaver.patch + 0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch) +sha256sums=('1fe96e0709d7c618d90cc1bfcddc46eede3c2cdb305f5e7f4cb388d43dd5526a' + 'd2c32fa0262e4d0e97fc07fb631ad2627b4f2ae273e2cb3028236d9725711880' + 'f23db348593f58da755889928d7fa75817479d9ad5be67cc7a2f8cbc5db23632') + +build() { + cd $pkgname-$pkgver + + # Disable X's built-in screensaver + patch -Np1 -i ../screensaver.patch + + # logind key handling FS#31801, patch from Fedora + # rebased onto screensaver.patch + patch -Np1 -i ../0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch + aclocal + automake + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-settings-daemon --disable-static \ + --enable-systemd + + #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-$pkgver + make DESTDIR="$pkgdir" install + + # Plugins that aren't installed still have schema references + # and cause gsettings errors - remove the references we're not using + sed -i '/org\.gnome\.settings-daemon\.plugins\.updates/d' \ + "$pkgdir/usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.gschema.xml" +} diff --git a/testing/gnome-settings-daemon/gnome-settings-daemon.install b/testing/gnome-settings-daemon/gnome-settings-daemon.install new file mode 100644 index 000000000..f7e8c46ac --- /dev/null +++ b/testing/gnome-settings-daemon/gnome-settings-daemon.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-settings-daemon/screensaver.patch b/testing/gnome-settings-daemon/screensaver.patch new file mode 100644 index 000000000..bbcfe3430 --- /dev/null +++ b/testing/gnome-settings-daemon/screensaver.patch @@ -0,0 +1,145 @@ +From b47e4019a12ac84fba31e1c631d878ce03fa3808 Mon Sep 17 00:00:00 2001 +From: Rui Matos <tiagomatos@gmail.com> +Date: Wed, 17 Oct 2012 22:44:54 +0000 +Subject: power: Add a watchdog to keep X's builtin screen saver disabled + +X's builtin screen saver may activate DPMS. Since we want to activate +DPMS ourselves according to our own policy we must make sure that X's +screen saver remains disabled. + +This code is a copy of the original found in gs-watcher-x11.c from +gnome-screensaver which stopped being used in GNOME 3.6. + +https://bugzilla.gnome.org/show_bug.cgi?id=686339 +--- +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c +index 0e06495..070cf32 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -27,6 +27,7 @@ + #include <stdio.h> + #include <sys/wait.h> + #include <glib/gi18n.h> ++#include <gdk/gdkx.h> + #include <gtk/gtk.h> + #include <libupower-glib/upower.h> + #include <libnotify/notify.h> +@@ -80,6 +81,8 @@ + /* Keep this in sync with gnome-shell */ + #define SCREENSAVER_FADE_TIME 10 /* seconds */ + ++#define XSCREENSAVER_WATCHDOG_TIMEOUT 120 /* seconds */ ++ + enum { + GSD_POWER_IDLETIME_NULL_ID, + GSD_POWER_IDLETIME_DIM_ID, +@@ -197,6 +200,7 @@ struct GsdPowerManagerPrivate + GsdPowerIdleMode current_idle_mode; + guint lid_close_safety_timer_id; + GtkStatusIcon *status_icon; ++ guint xscreensaver_watchdog_timer_id; + }; + + enum { +@@ -3621,6 +3625,77 @@ engine_session_active_changed_cb (GnomeSettingsSession *session, + idle_set_mode (manager, GSD_POWER_IDLE_MODE_NORMAL); + } + ++/* This timer goes off every few minutes, whether the user is idle or not, ++ to try and clean up anything that has gone wrong. ++ ++ It calls disable_builtin_screensaver() so that if xset has been used, ++ or some other program (like xlock) has messed with the XSetScreenSaver() ++ settings, they will be set back to sensible values (if a server extension ++ is in use, messing with xlock can cause the screensaver to never get a wakeup ++ event, and could cause monitor power-saving to occur, and all manner of ++ heinousness.) ++ ++ This code was originally part of gnome-screensaver, see ++ http://git.gnome.org/browse/gnome-screensaver/tree/src/gs-watcher-x11.c?id=fec00b12ec46c86334cfd36b37771cc4632f0d4d#n530 ++ */ ++static gboolean ++disable_builtin_screensaver (gpointer unused) ++{ ++ int current_server_timeout, current_server_interval; ++ int current_prefer_blank, current_allow_exp; ++ int desired_server_timeout, desired_server_interval; ++ int desired_prefer_blank, desired_allow_exp; ++ ++ XGetScreenSaver (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), ++ ¤t_server_timeout, ++ ¤t_server_interval, ++ ¤t_prefer_blank, ++ ¤t_allow_exp); ++ ++ desired_server_timeout = current_server_timeout; ++ desired_server_interval = current_server_interval; ++ desired_prefer_blank = current_prefer_blank; ++ desired_allow_exp = current_allow_exp; ++ ++ desired_server_interval = 0; ++ ++ /* I suspect (but am not sure) that DontAllowExposures might have ++ something to do with powering off the monitor as well, at least ++ on some systems that don't support XDPMS? Who know... */ ++ desired_allow_exp = AllowExposures; ++ ++ /* When we're not using an extension, set the server-side timeout to 0, ++ so that the server never gets involved with screen blanking, and we ++ do it all ourselves. (However, when we *are* using an extension, ++ we tell the server when to notify us, and rather than blanking the ++ screen, the server will send us an X event telling us to blank.) ++ */ ++ desired_server_timeout = 0; ++ ++ if (desired_server_timeout != current_server_timeout ++ || desired_server_interval != current_server_interval ++ || desired_prefer_blank != current_prefer_blank ++ || desired_allow_exp != current_allow_exp) { ++ ++ g_debug ("disabling server builtin screensaver:" ++ " (xset s %d %d; xset s %s; xset s %s)", ++ desired_server_timeout, ++ desired_server_interval, ++ (desired_prefer_blank ? "blank" : "noblank"), ++ (desired_allow_exp ? "expose" : "noexpose")); ++ ++ XSetScreenSaver (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), ++ desired_server_timeout, ++ desired_server_interval, ++ desired_prefer_blank, ++ desired_allow_exp); ++ ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ } ++ ++ return TRUE; ++} ++ + gboolean + gsd_power_manager_start (GsdPowerManager *manager, + GError **error) +@@ -3778,6 +3853,9 @@ gsd_power_manager_start (GsdPowerManager *manager, + /* set the initial dim time that can adapt for the user */ + refresh_idle_dim_settings (manager); + ++ manager->priv->xscreensaver_watchdog_timer_id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT, ++ disable_builtin_screensaver, ++ NULL); + gnome_settings_profile_end (NULL); + return TRUE; + } +@@ -3829,6 +3907,11 @@ gsd_power_manager_stop (GsdPowerManager *manager) + + g_clear_object (&manager->priv->idletime); + g_clear_object (&manager->priv->status_icon); ++ ++ if (manager->priv->xscreensaver_watchdog_timer_id > 0) { ++ g_source_remove (manager->priv->xscreensaver_watchdog_timer_id); ++ manager->priv->xscreensaver_watchdog_timer_id = 0; ++ } + } + + static void +-- +cgit v0.9.0.2 diff --git a/testing/gnome-shell/PKGBUILD b/testing/gnome-shell/PKGBUILD new file mode 100644 index 000000000..9ad311911 --- /dev/null +++ b/testing/gnome-shell/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169215 2012-10-18 19:26:02Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Flamelab <panosfilip@gmail.com + +pkgname=gnome-shell +pkgver=3.6.1 +pkgrel=1 +pkgdesc="The next generation GNOME Shell" +arch=('i686' 'x86_64') +url="http://live.gnome.org/GnomeShell" +license=('GPL2') +depends=('caribou' 'folks' 'gcr' 'gjs' 'gnome-bluetooth' 'gnome-desktop' 'gnome-menus' 'libcroco' 'libpulse' 'mutter' 'nautilus' 'networkmanager' 'telepathy-logger' 'telepathy-mission-control' 'unzip') +makedepends=('intltool' 'gnome-doc-utils') +optdepends=('network-manager-applet: shell integration for networkmanager') +options=('!libtool' '!emptydirs') +install=gnome-shell.install +groups=(gnome) +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('566a9d902f85a89c23dc29f1789f859aa2c5a0de7dffa5235bf5a1885c76a3a7') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gnome-shell \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-shell/gnome-shell.install b/testing/gnome-shell/gnome-shell.install new file mode 100644 index 000000000..27d70b19d --- /dev/null +++ b/testing/gnome-shell/gnome-shell.install @@ -0,0 +1,19 @@ +pkgname=gnome-shell + +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then + gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-system-log/PKGBUILD b/testing/gnome-system-log/PKGBUILD new file mode 100644 index 000000000..2b4a08ea1 --- /dev/null +++ b/testing/gnome-system-log/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169214 2012-10-18 19:25:56Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gnome-system-log +pkgver=3.6.0 +pkgrel=1 +pkgdesc="View your system logs" +arch=(i686 x86_64) +url="http://gnome.org" +license=('GPL2') +depends=('dconf' 'gtk3') +makedepends=('intltool' 'itstool' 'docbook-xsl') +groups=('gnome-extra') +install=$pkgname.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('46dea7cb8c63c26578bd0c854aa9143e86b094bc676564400bf4c57fc259369a') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-system-log/gnome-system-log.install b/testing/gnome-system-log/gnome-system-log.install new file mode 100644 index 000000000..847019792 --- /dev/null +++ b/testing/gnome-system-log/gnome-system-log.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-system-monitor/PKGBUILD b/testing/gnome-system-monitor/PKGBUILD new file mode 100644 index 000000000..345898ac4 --- /dev/null +++ b/testing/gnome-system-monitor/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169213 2012-10-18 19:25:52Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-system-monitor +pkgver=3.6.0 +pkgrel=1 +pkgdesc="A system monitor for GNOME" +arch=(i686 x86_64) +license=('GPL') +depends=('libwnck3' 'libgtop' 'gtkmm3' 'librsvg' 'gnome-icon-theme' 'libsystemd') +makedepends=('itstool' 'docbook-xsl' 'intltool') +options=(!emptydirs) +url="http://www.gnome.org" +groups=('gnome-extra') +install=gnome-system-monitor.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('5e427d6c7dbe3cfb87afe3feb93882485f79ce71556e5b855152055d8a6080ab') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gnome-system-monitor/gnome-system-monitor.install b/testing/gnome-system-monitor/gnome-system-monitor.install new file mode 100644 index 000000000..c25dff2d3 --- /dev/null +++ b/testing/gnome-system-monitor/gnome-system-monitor.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-terminal/PKGBUILD b/testing/gnome-terminal/PKGBUILD new file mode 100644 index 000000000..a7cb7d13f --- /dev/null +++ b/testing/gnome-terminal/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169212 2012-10-18 19:25:48Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-terminal +pkgver=3.6.0 +pkgrel=1 +pkgdesc="The GNOME Terminal Emulator" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gconf' 'vte3' 'gsettings-desktop-schemas' 'libsm') +makedepends=('gnome-doc-utils' 'intltool' 'gtk2' 'itstool' 'docbook-xsl') +options=('!emptydirs') +url="http://www.gnome.org" +groups=('gnome') +install=gnome-terminal.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('5ee068ca7f4d0e410aabbddee3937559138163d84c00e5bef1e9050beb7409cd') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-scrollkeeper + make +} + +package() { + cd "$pkgname-$pkgver" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install + + install -m755 -d "$pkgdir/usr/share/gconf/schemas" + gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain gnome-terminal "$pkgdir"/etc/gconf/schemas/*.schemas + rm -f "$pkgdir"/etc/gconf/schemas/*.schemas +} diff --git a/testing/gnome-terminal/gnome-terminal.install b/testing/gnome-terminal/gnome-terminal.install new file mode 100644 index 000000000..1d8510f06 --- /dev/null +++ b/testing/gnome-terminal/gnome-terminal.install @@ -0,0 +1,17 @@ +pkgname=gnome-terminal + +post_install() { + gconfpkg --install $pkgname +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + gconfpkg --uninstall $pkgname +} diff --git a/testing/gnome-themes-standard/PKGBUILD b/testing/gnome-themes-standard/PKGBUILD new file mode 100644 index 000000000..92a3bb730 --- /dev/null +++ b/testing/gnome-themes-standard/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169211 2012-10-18 19:25:43Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gnome-themes-standard +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Default themes for the GNOME desktop" +arch=('i686' 'x86_64') +url="http://www.gnome.org" +license=('GPL2') +depends=('cantarell-fonts' 'ttf-dejavu' 'gtk3' 'gtk-engines' 'librsvg') +makedepends=('intltool') +groups=('gnome') +replaces=('gnome-themes') +conflicts=('gnome-themes') +options=('!libtool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('f56dd1f593b0a853041b54f9167aab0cb3689ced9cd8f8f4d777c3116bb4878a') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/gnome-user-share/PKGBUILD b/testing/gnome-user-share/PKGBUILD new file mode 100644 index 000000000..d5dca3241 --- /dev/null +++ b/testing/gnome-user-share/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169208 2012-10-18 19:25:32Z jgc $ +# Maintainer: Roman Kyrylych <roman@archlinux.org> + +pkgname=gnome-user-share +pkgver=3.0.4 +pkgrel=1 +pkgdesc="Easy to use user-level file sharing for GNOME." +arch=('i686' 'x86_64') +url="http://ftp.gnome.org/pub/GNOME/sources/gnome-user-share/" +license=('GPL') +depends=('mod_dnssd' 'dconf' 'gtk3' 'hicolor-icon-theme' 'libnotify' 'gnome-bluetooth' 'libcanberra') +makedepends=('intltool' 'nautilus' 'itstool' 'docbook-xsl') +options=('!emptydirs' '!libtool') +install=gnome-user-share.install +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('e1c8ca73163bf77ce7ca1b92db94cd9c4680a24b940d620996c9331ab79edeb8') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gnome-user-share \ + --localstatedir=/var + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gnome-user-share/gnome-user-share.install b/testing/gnome-user-share/gnome-user-share.install new file mode 100644 index 000000000..f7e8c46ac --- /dev/null +++ b/testing/gnome-user-share/gnome-user-share.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gobject-introspection/PKGBUILD b/testing/gobject-introspection/PKGBUILD new file mode 100644 index 000000000..f994ade98 --- /dev/null +++ b/testing/gobject-introspection/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169206 2012-10-18 19:25:25Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gobject-introspection +pkgver=1.34.1.1 +pkgrel=1 +pkgdesc="Introspection system for GObject-based libraries" +url="https://live.gnome.org/GObjectIntrospection" +arch=('x86_64' 'i686') +license=('LGPL' 'GPL') +depends=('glib2' 'python2') +makedepends=('cairo') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver::4}/$pkgname-$pkgver.tar.xz) +sha256sums=('85b9ac268d34311138f3c6bf646c07975eebfae6ae67d9239e1066a42c5d525b') + +build() { + cd "$pkgname-$pkgver" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + sed -i '1s|#!/usr/bin/env python$|&2|' \ + "$pkgdir"/usr/lib/gobject-introspection/giscanner/*.py +} diff --git a/testing/grilo-plugins/PKGBUILD b/testing/grilo-plugins/PKGBUILD new file mode 100644 index 000000000..140b89001 --- /dev/null +++ b/testing/grilo-plugins/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 169204 2012-10-18 19:25:16Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=grilo-plugins +pkgver=0.2.2 +pkgrel=1 +pkgdesc="Plugins for Grilo" +url="http://www.gnome.org" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('grilo' 'sqlite' 'libgcrypt') +makedepends=(gupnp-av libgdata libquvi gmime rest libtracker-sparql totem-plparser libdmapsharing + json-glib) +optdepends=('gupnp-av: uPnP plugin' + 'libgdata: Youtube plugin' + 'libquvi: Youtube plugin' + 'sqlite: Podcasts plugin' + 'gmime: Podcasts plugin' + 'rest: Blip.tv plugin' + 'libtracker-sparql: Tracker plugin' + 'totem-plparser: Optical media plugin' + 'libdmapsharing: DMAP sharing plugin' + 'json-glib: TMDb plugin') +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('54e65b734917df74ba5e53d92a3b2e69edd669625820fd0353c22e9b0f61e90d') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr --sysconfdir=/etc --disable-static \ + --enable-shoutcast + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/grilo/PKGBUILD b/testing/grilo/PKGBUILD new file mode 100644 index 000000000..61e5eb7fd --- /dev/null +++ b/testing/grilo/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 169205 2012-10-18 19:25:21Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=grilo +pkgver=0.2.2 +pkgrel=1 +pkgdesc="Framework that provides access to various sources of multimedia content" +url="http://www.gnome.org" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('gtk3' 'libxml2' 'libsoup') +makedepends=('gobject-introspection' 'gtk-doc' 'vala') +optdepends=('grilo-plugins: Plugins for grilo') +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('e98d86e9c26dc444f43782e68f44a90da47f69da8a4ac313da9a3795fb72271f') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --disable-static --disable-debug + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gssdp/PKGBUILD b/testing/gssdp/PKGBUILD new file mode 100644 index 000000000..b9adf6345 --- /dev/null +++ b/testing/gssdp/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169202 2012-10-18 19:25:09Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: György Balló <ballogy@freestart.hu> + +pkgname=gssdp +pkgver=0.12.2.1 +pkgrel=1 +pkgdesc="A GObject-based API for handling resource discovery and announcement over SSDP" +arch=('i686' 'x86_64') +url="http://gupnp.org/" +license=('LGPL') +depends=('libsoup') +makedepends=('gobject-introspection' 'gtk2' 'gtk-doc') +optdepends=('gtk2: gssdp-device-sniffer') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver:0:4}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('928aa257815d044fdbfc740f5799530d41897947b5d7854173f636b36d728414') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gst-libav/PKGBUILD b/testing/gst-libav/PKGBUILD new file mode 100644 index 000000000..9d07843ed --- /dev/null +++ b/testing/gst-libav/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 169201 2012-10-18 19:25:04Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gst-libav +pkgver=1.0.1 +pkgrel=1 +pkgdesc="Gstreamer libav Plugin" +arch=('i686' 'x86_64') +license=('GPL') +url="http://gstreamer.freedesktop.org/" +depends=('gst-plugins-base-libs' 'bzip2') +makedepends=('yasm') +options=(!libtool !emptydirs) +provides=("gst-ffmpeg=$pkgver-pkgrel") +source=(${url}/src/$pkgname/$pkgname-$pkgver.tar.xz) +sha256sums=('7c998468ffa57b5d1c2c76d6857dbc0c4ed87fd207ef71bf96aeaada6a1cfa89') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --with-libav-extra-configure="--enable-runtime-cpudetect" \ + --with-package-name="GStreamer libav Plugin (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gst-plugins-bad/PKGBUILD b/testing/gst-plugins-bad/PKGBUILD new file mode 100644 index 000000000..1326152c6 --- /dev/null +++ b/testing/gst-plugins-bad/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 153258 2012-03-12 16:05:19Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gst-plugins-bad +pkgver=1.0.1 +pkgrel=1 +pkgdesc="GStreamer Multimedia Framework Bad Plugins" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://gstreamer.freedesktop.org/" +depends=('mjpegtools' 'gst-plugins-base-libs' 'curl' 'chromaprint' 'libmms' 'faad2' 'mpg123' 'faac' 'celt' 'libdca' 'soundtouch' 'spandsp' 'libdvdnav' 'libmodplug' 'libgme' 'opus') +makedepends=('gstreamer' 'schroedinger' 'gtk3' 'libexif' 'libdvdread' 'libvdpau' 'libmpeg2') +options=(!libtool !emptydirs) +source=(${url}/src/$pkgname/$pkgname-$pkgver.tar.xz) +sha256sums=('5e3cffcd258c4c722c880a52ebc9920d6b38aa4153bbc49d1b5a9893885d45f3') + +build() { + cd $pkgname-$pkgver + sed -i '/AC_PATH_XTRA/d' configure.ac + autoreconf + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-experimental \ + --with-package-name="GStreamer Bad Plugins (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" \ + --with-gtk=3.0 + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gst-plugins-base/PKGBUILD b/testing/gst-plugins-base/PKGBUILD new file mode 100644 index 000000000..27c9ccd41 --- /dev/null +++ b/testing/gst-plugins-base/PKGBUILD @@ -0,0 +1,50 @@ +# $Id: PKGBUILD 153256 2012-03-12 15:48:30Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgbase=gst-plugins-base +pkgname=('gst-plugins-base-libs' 'gst-plugins-base') +pkgver=1.0.1 +pkgrel=1 +pkgdesc="GStreamer Multimedia Framework Base Plugins" +arch=('i686' 'x86_64') +license=('LGPL') +makedepends=('pkgconfig' 'gstreamer' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection') +options=(!libtool !emptydirs) +url="http://gstreamer.freedesktop.org/" +source=(${url}/src/$pkgbase/$pkgbase-${pkgver}.tar.xz) +sha256sums=('75466452e4267fff86e322bc52ed0c962c6c3785f802230fe898cb09984b8de0') + +build() { + cd $pkgbase-$pkgver + sed -i '/AC_PATH_XTRA/d' configure.ac + autoreconf + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-experimental \ + --with-package-name="GStreamer Base Plugins (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" + make + sed -e 's/^SUBDIRS_EXT =.*/SUBDIRS_EXT =/' -i Makefile +} + +check() { + cd $pkgbase-$pkgver + # Testsuite fails on one test. Some refcount leak + #make check +} + +package_gst-plugins-base-libs() { + pkgdesc="GStreamer Multimedia Framework Base Plugin libraries" + depends=('gstreamer' 'orc' 'libxv') + + cd $pkgbase-$pkgver + make DESTDIR="${pkgdir}" install +} + +package_gst-plugins-base() { + depends=("gst-plugins-base-libs=$pkgver" 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango') + + cd $pkgbase-$pkgver + make -C gst-libs DESTDIR="${pkgdir}" install + make -C ext DESTDIR="${pkgdir}" install + make -C gst-libs DESTDIR="${pkgdir}" uninstall +} diff --git a/testing/gst-plugins-good/PKGBUILD b/testing/gst-plugins-good/PKGBUILD new file mode 100644 index 000000000..8ae52cc53 --- /dev/null +++ b/testing/gst-plugins-good/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 153258 2012-03-12 16:05:19Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gst-plugins-good +pkgver=1.0.1 +pkgrel=2 +pkgdesc="GStreamer Multimedia Framework Good Plugins" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://gstreamer.freedesktop.org/" +depends=('libpulse' 'jack' 'libsoup' 'gst-plugins-base-libs' 'wavpack' 'aalib' 'taglib' 'libdv' 'libshout' 'libvpx' 'gdk-pixbuf2' 'libcaca' 'libavc1394' 'libiec61883' 'libxdamage' 'v4l-utils') +makedepends=('gstreamer' 'speex' 'flac' 'libraw1394') +options=(!libtool !emptydirs) +source=(${url}/src/$pkgname/$pkgname-$pkgver.tar.xz) +md5sums=('30bc72d77d274289844e2138ca79c840') + +build() { + cd $pkgname-$pkgver + sed -i '/AC_PATH_XTRA/d' configure.ac + autoreconf + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-experimental \ + --with-package-name="GStreamer Good Plugins (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install +} diff --git a/testing/gst-plugins-ugly/PKGBUILD b/testing/gst-plugins-ugly/PKGBUILD new file mode 100644 index 000000000..b585e6aaf --- /dev/null +++ b/testing/gst-plugins-ugly/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 169196 2012-10-18 19:24:44Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gst-plugins-ugly +pkgver=1.0.1 +pkgrel=1 +pkgdesc="GStreamer Multimedia Framework Ugly Plugins" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://gstreamer.freedesktop.org/" +depends=('gst-plugins-base-libs' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') +options=(!libtool !emptydirs) +source=(${url}/src/$pkgname/$pkgname-$pkgver.tar.xz) +sha256sums=('378952a36e553f65fc1fcbcb0cc445304337e2e75503fb6b5f0ca2c05405e4f0') + +build() { + cd $pkgname-$pkgver + sed -i '/AC_PATH_XTRA/d' configure.ac + autoreconf + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-experimental \ + --with-package-name="GStreamer Ugly Plugins (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gstreamer/PKGBUILD b/testing/gstreamer/PKGBUILD new file mode 100644 index 000000000..474424f8a --- /dev/null +++ b/testing/gstreamer/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 153251 2012-03-12 14:53:13Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gstreamer +pkgver=1.0.1 +pkgrel=1 +pkgdesc="GStreamer Multimedia Framework" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://gstreamer.freedesktop.org/" +depends=('libxml2' 'glib2') +optdepends=('sh: feedback script') +makedepends=('intltool' 'pkgconfig' 'gtk-doc' 'gobject-introspection') +options=('!libtool') +source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz) +sha256sums=('e0e5478bc81caa7e208b0863419bb98b2fbef281a7c806bea61bd70db8c9d3dc') + +build() { + cd "${srcdir}/gstreamer-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \ + --with-package-name="GStreamer (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" \ + --enable-gtk-doc --disable-static + make +} + +check() { + cd "${srcdir}/gstreamer-${pkgver}" + make check +} + +package() { + cd "${srcdir}/gstreamer-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gthumb/PKGBUILD b/testing/gthumb/PKGBUILD index fdbdf7e3b..8d0b5540e 100644 --- a/testing/gthumb/PKGBUILD +++ b/testing/gthumb/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 164678 2012-08-02 15:21:33Z andrea $ +# $Id: PKGBUILD 169195 2012-10-18 19:24:39Z jgc $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> pkgname=gthumb -pkgver=3.0.1 -pkgrel=2 +pkgver=3.1.1 +pkgrel=1 pkgdesc="Image browser and viewer for the GNOME Desktop" arch=(i686 x86_64) license=('GPL') url="http://live.gnome.org/gthumb" depends=('desktop-file-utils' 'hicolor-icon-theme' 'dconf' 'librsvg' 'clutter-gtk' - 'gstreamer0.10-base' 'gsettings-desktop-schemas') + 'gstreamer0.10-base' 'gsettings-desktop-schemas' 'libwebp') makedepends=('intltool' 'gnome-doc-utils' 'libchamplain' 'libopenraw' 'exiv2' 'libsoup-gnome' 'brasero' 'librsvg' 'libopenraw' 'liboauth') optdepends=('libopenraw: read RAW files' @@ -23,7 +23,7 @@ optdepends=('libopenraw: read RAW files' options=('!libtool' '!emptydirs') install=gthumb.install source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('1fb2939e4896a012c7d0320a31e3c6139214218e9f6ec39c6370febeda94725c') +sha256sums=('7e725ba38d1220ed09d0657dd365982547856aa0d03c775891de33d04c31e332') build() { cd $pkgname-$pkgver diff --git a/testing/gtk3/PKGBUILD b/testing/gtk3/PKGBUILD index 270e6a7aa..16e10043b 100644 --- a/testing/gtk3/PKGBUILD +++ b/testing/gtk3/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 163763 2012-07-19 08:26:23Z heftig $ +# $Id: PKGBUILD 169194 2012-10-18 19:24:35Z jgc $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtk3 -pkgver=3.4.4 +pkgver=3.6.1 pkgrel=1 pkgdesc="GObject-based multi-platform GUI toolkit (v3)" arch=('i686' 'x86_64') url="http://www.gtk.org/" install=gtk3.install -depends=('atk' 'cairo' 'gtk-update-icon-cache' 'libcups' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'pango' 'shared-mime-info' 'colord') +depends=('atk' 'cairo' 'gtk-update-icon-cache' 'libcups' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'pango' 'shared-mime-info' 'colord' 'at-spi2-atk') makedepends=('gobject-introspection') options=('!libtool') backup=(etc/gtk-3.0/settings.ini) license=('LGPL') source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz settings.ini wacom.patch) -sha256sums=('f154e460075034da4c0ce89c320025dcd459da2a1fdf32d92a09522eaca242c7' +sha256sums=('fe6c89ae40145b077d7291105e81d4f876be01bf21ddfb9cba449f6be49d7996' 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621' '86bda95a14a99d0f596c4ecb2ed715689f71c207c65dfc90a39d4ae7f1c0c0f5') build() { diff --git a/testing/gtkhtml4/PKGBUILD b/testing/gtkhtml4/PKGBUILD new file mode 100644 index 000000000..53ca6a982 --- /dev/null +++ b/testing/gtkhtml4/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169193 2012-10-18 19:24:30Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gtkhtml4 +_pkgbasename=gtkhtml +pkgver=4.6.0 +pkgrel=1 +pkgdesc="A lightweight HTML renderer/editor widget for GTK3" +arch=(i686 x86_64) +license=('GPL') +depends=('gtk3' 'enchant' 'iso-codes' 'gnome-icon-theme' 'libsoup') +makedepends=('intltool') +url="http://www.gnome.org" +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz) +sha256sums=('129023d83d5e53f22c7b103ed8668204f78c23837955905315dc95b48618c29e') + +build() { + cd "$_pkgbasename-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gtkhtml4 \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "$_pkgbasename-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gtkmm3/PKGBUILD b/testing/gtkmm3/PKGBUILD new file mode 100644 index 000000000..b1feb945a --- /dev/null +++ b/testing/gtkmm3/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 169192 2012-10-18 19:24:25Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgbase=gtkmm3 +_pkgbasename=gtkmm +pkgname=('gtkmm3' 'gtkmm3-docs') +pkgver=3.5.13 +pkgrel=1 +arch=('i686' 'x86_64') +makedepends=('gtk3' 'pangomm' 'atkmm' 'glibmm-docs' 'mm-common' 'doxygen' 'libxslt') +license=('LGPL') +options=('!libtool' '!emptydirs') +url="http://www.gtkmm.org/" +source=(http://ftp.gnome.org/pub/GNOME/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz) +sha256sums=('2dcd3654f1e88cd80d1641e91bb9bceb10216ee74ec400c14f7bb7c5e4cecbfc') + +build() { + cd "$_pkgbasename-$pkgver" + ./configure --prefix=/usr + make +} + +package_gtkmm3() { + pkgdesc="C++ bindings for gtk3" + depends=('gtk3' 'pangomm' 'atkmm') + cd "$_pkgbasename-$pkgver" + + sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile + + make DESTDIR="$pkgdir" install +} + +package_gtkmm3-docs() { + pkgdesc="Developer documentation for gtkmm v3" + + cd "$_pkgbasename-$pkgver" + make -C docs DESTDIR="$pkgdir" install +} diff --git a/testing/gtksourceview3/PKGBUILD b/testing/gtksourceview3/PKGBUILD new file mode 100644 index 000000000..b8ab610b1 --- /dev/null +++ b/testing/gtksourceview3/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169191 2012-10-18 19:24:22Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=gtksourceview3 +_pkgbasename=gtksourceview +pkgver=3.6.0 +pkgrel=1 +pkgdesc="A text widget adding syntax highlighting and more to GNOME" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gtk3' 'libxml2') +makedepends=('intltool' 'gobject-introspection' 'glade') +options=('!libtool') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz) +sha256sums=('7d268618fbe8c2960300a305d38255294c9f497fcbc0e53a1da1bf9bda0d1c7a') + +build() { + cd "$_pkgbasename-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --enable-glade-catalog + make +} + +package() { + cd "$_pkgbasename-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/gucharmap/PKGBUILD b/testing/gucharmap/PKGBUILD new file mode 100644 index 000000000..b83e71eea --- /dev/null +++ b/testing/gucharmap/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169190 2012-10-18 19:24:18Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan De Groot <jgc@archlinux.org> + +pkgname=gucharmap +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Gnome Unicode Charmap" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnome.org" +depends=('dconf' 'gtk3' 'hicolor-icon-theme') +makedepends=('gtk-doc' 'intltool' 'gobject-introspection' 'itstool' 'docbook-xsl') +options=('!libtool' '!emptydirs') +install=gucharmap.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('778bbc61bedcb6c573800ccebc56d360d988a156727b5a8f8bac9787c1fe7fb4') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile --enable-introspection + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gucharmap/gucharmap.install b/testing/gucharmap/gucharmap.install new file mode 100644 index 000000000..0a9ddf4c2 --- /dev/null +++ b/testing/gucharmap/gucharmap.install @@ -0,0 +1,17 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + (( $(vercmp $2 3.3) < 0 )) && gconfpkg --uninstall gucharmap + return 0 +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gupnp/PKGBUILD b/testing/gupnp/PKGBUILD new file mode 100644 index 000000000..ea140a171 --- /dev/null +++ b/testing/gupnp/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169189 2012-10-18 19:24:14Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: György Balló <ballogy@freestart.hu> + +pkgname=gupnp +pkgver=0.18.4 +pkgrel=1 +pkgdesc="An object-oriented UPNP framework" +arch=('i686' 'x86_64') +url="http://gupnp.org/" +license=('LGPL') +depends=('gssdp' 'util-linux') +makedepends=('gobject-introspection' 'gtk-doc') +optdepends=('python2: gupnp-binding-tool') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('6b437d5711b212292c6080626b97480268310da636a6cf937ad6119291af78a1') + +build() { + cd $pkgname-$pkgver + sed -i '1s|^#!.*python$|&2|' tools/gupnp-binding-tool + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --with-context-manager=linux + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/gvfs/PKGBUILD b/testing/gvfs/PKGBUILD index ab9d29025..98cc2c4f6 100644 --- a/testing/gvfs/PKGBUILD +++ b/testing/gvfs/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 164298 2012-07-29 23:16:11Z tomegun $ +# $Id: PKGBUILD 169188 2012-10-18 19:24:11Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gvfs pkgname=('gvfs' 'gvfs-smb' 'gvfs-afc' 'gvfs-afp' 'gvfs-gphoto2' 'gvfs-obexftp') -pkgver=1.12.3 -pkgrel=3 +pkgver=1.14.0 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('avahi' 'bluez' 'dbus-glib' 'fuse' 'intltool' 'libarchive' 'libcdio' 'libgphoto2' 'libimobiledevice' 'libsoup-gnome' 'smbclient' 'udisks2') +makedepends=('avahi' 'bluez' 'dbus-glib' 'fuse' 'intltool' 'libarchive' 'libcdio' 'libgphoto2' 'libimobiledevice' 'libsoup-gnome' 'smbclient' 'udisks2' 'libsecret' 'docbook-xsl' 'gtk3') url="http://www.gnome.org" options=(!libtool) source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz) -sha256sums=('38f69ec92083f86a51e7814e98d2861151f16dfb3abe4b3b39488408e12fd9c2') +sha256sums=('71ab8cf60070025d1aff9bee1f514fdb45682ffad01b6856cabab1bc3791bfb4') build() { cd "$pkgbase-$pkgver" @@ -24,12 +24,13 @@ build() { package_gvfs() { pkgdesc="Userspace virtual filesystem implemented as a pluggable module for gio" - depends=('avahi' 'dconf' 'fuse' 'libarchive' 'libcdio' 'libsoup-gnome' 'udisks2') + depends=('avahi' 'dconf' 'fuse' 'libarchive' 'libcdio' 'libsoup-gnome' 'udisks2' 'libsecret') optdepends=('gvfs-afc: AFC (mobile devices) support' 'gvfs-smb: SMB/CIFS (Windows client) support' 'gvfs-gphoto2: gphoto2 (PTP camera/MTP media player) support' 'gvfs-obexftp: ObexFTP (bluetooth) support' - 'gvfs-afp: Apple Filing Protocol (AFP) support') + 'gvfs-afp: Apple Filing Protocol (AFP) support' + 'gtk3: Recent files support') install=gvfs.install cd "$pkgbase-$pkgver" @@ -47,7 +48,7 @@ package_gvfs() { package_gvfs-smb() { pkgdesc="SMB/CIFS (Windows client) backend for gvfs" - depends=("gvfs=$pkgver" 'smbclient' 'libgnome-keyring') + depends=("gvfs=$pkgver" 'smbclient') install=gvfs-smb.install cd "$pkgbase-$pkgver/daemon" diff --git a/testing/harfbuzz/PKGBUILD b/testing/harfbuzz/PKGBUILD new file mode 100644 index 000000000..3ceed5738 --- /dev/null +++ b/testing/harfbuzz/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=harfbuzz +pkgver=0.9.4 +pkgrel=1 +pkgdesc="OpenType text shaping engine." +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/HarfBuzz" +license=('MIT') +depends=('icu' 'glib2' 'freetype2') +makedepends=('icu' 'cairo' 'glib2' 'freetype2') +optdepends=('cairo: hb-view program') +options=(!libtool) +source=(http://www.freedesktop.org/software/harfbuzz/release/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('2572f9a810d17a735ef565115463827d075af2371ee5b68e6d77231381f4bddc') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/harfbuzz/COPYING" +} diff --git a/testing/ibus/PKGBUILD b/testing/ibus/PKGBUILD new file mode 100644 index 000000000..79bf2f9b3 --- /dev/null +++ b/testing/ibus/PKGBUILD @@ -0,0 +1,38 @@ +# $Id$ +# Contributor: Rainy <rainylau(at)gmail(dot)com> +# Contributor: Lee.MaRS <leemars at gmail dot com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +# Maintainer: Brad Fanella <bradfanella@archlinux.us> + +pkgname=ibus +pkgver=1.4.99.20120822 +pkgrel=1 +pkgdesc="Next Generation Input Bus for Linux" +arch=('i686' 'x86_64') +url="http://ibus.googlecode.com" +license=('LGPL') +makedepends=('gobject-introspection' 'dconf' 'iso-codes' 'intltool') +depends=('hicolor-icon-theme' 'gtk2' 'gtk3') +options=('!libtool') +install=ibus.install +source=(http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) +sha1sums=('46d836b68733953b443859f47ad6991f4584658d') + +build() { + cd ${pkgname}-${pkgver} + export PYTHON=python2 + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/ibus \ + --sysconfdir=/etc \ + --disable-gconf \ + --enable-dconf \ + --disable-memconf \ + --disable-ui + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/testing/ibus/ibus.install b/testing/ibus/ibus.install new file mode 100644 index 000000000..e4e446693 --- /dev/null +++ b/testing/ibus/ibus.install @@ -0,0 +1,17 @@ +post_install() { + gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules + gtk-query-immodules-3.0 --update-cache + + gtk-update-icon-cache -fq -t usr/share/icons/hicolor + + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_remove() { + gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules + gtk-query-immodules-3.0 --update-cache + + gtk-update-icon-cache -fq -t usr/share/icons/hicolor + + glib-compile-schemas /usr/share/glib-2.0/schemas +} diff --git a/testing/json-glib/PKGBUILD b/testing/json-glib/PKGBUILD new file mode 100644 index 000000000..b1229d31d --- /dev/null +++ b/testing/json-glib/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169184 2012-10-18 19:24:00Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=json-glib +pkgver=0.15.2 +pkgrel=1 +pkgdesc="JSON library built on GLib" +arch=('i686' 'x86_64') +url="http://live.gnome.org/JsonGlib" +license=('GPL') +depends=('glib2') +makedepends=('gobject-introspection') +options=('!libtool') +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.15/${pkgname}-${pkgver}.tar.xz) +sha256sums=('f090cd94acc85989e033d72028fa70863d05092ae5bba6b454e70c132b24cdde') + +build(){ + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +package(){ + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} + +check(){ + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} diff --git a/testing/kdebase-workspace/PKGBUILD b/testing/kdebase-workspace/PKGBUILD index e3384d191..50d2c2724 100644 --- a/testing/kdebase-workspace/PKGBUILD +++ b/testing/kdebase-workspace/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 168549 2012-10-13 11:06:38Z andrea $ +# $Id: PKGBUILD 169286 2012-10-18 19:49:13Z jgc $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdebase-workspace _pkgname=kde-workspace pkgver=4.9.2 -pkgrel=4 +pkgrel=5 pkgdesc="Provides the interface and basic tools for the KDE workspace" arch=('i686' 'x86_64') url='https://projects.kde.org/projects/kde/kde-workspace' @@ -15,22 +15,17 @@ groups=('kde') # not detected by namcap because libgl depends on it # but nvidia providing libgl does not depend on libxdamage depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'libqalculate' - 'qimageblitz' 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' + 'qimageblitz' 'polkit-kde' 'xorg-xprop' 'libxdamage' 'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama' 'xorg-xrdb' 'libgles' 'libegl' 'libxres' 'xorg-xrandr' 'xorg-xmessage' 'libusb-compat' 'kde-base-artwork') -makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager') +makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager' 'mesa') optdepends=('kde-wallpapers: wallpapers for KDE Plasma Workspaces') install="${pkgname}.install" -backup=('usr/share/config/kdm/kdmrc' - 'etc/pam.d/kde' - 'etc/pam.d/kde-np' - 'etc/pam.d/kscreensaver') -options=('emptydirs') +backup=('usr/share/config/kdm/kdmrc') source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz" - 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service' - 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch' - 'kdm.logrotate' + 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service' 'kdm.logrotate' + 'etc-scripts.patch' 'terminate-server.patch' 'kdm-xinitrd.patch' 'logind-support.patch') sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488' '5db3a245201bd4a50e65aa2ef583cf5490e4f646' @@ -38,23 +33,22 @@ sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488' 'b7980f2e199963caf8e92b499042d244ece2fca0' '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8' 'b6f8e8692737b11eec1f8022ce74b5b23e247b1b' - 'd7b5883f7e65c6839b1f65f94d58026673dd0226' + 'bbe55f2000217474ce7246f12ee437ceaaf7e9ae' + 'c079ebd157c836ba996190f0d2bcea1a7828d02c' 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee' 'd509dac592bd8b310df27991b208c95b6d907514' - 'bbe55f2000217474ce7246f12ee437ceaaf7e9ae' 'ccde71c42e19feaf40d3bd76e7396a0cb6df012f') build() { cd ${_pkgname}-${pkgver} + # reads the shell scripts in /etc/kde/ + patch -p0 -i "${srcdir}"/etc-scripts.patch # FS#26120 patch -p1 -i "${srcdir}"/kdm-xinitrd.patch - patch -p0 -i "${srcdir}"/fixpath.patch - # KDEBUG#202629 patch -p0 -i "${srcdir}"/terminate-server.patch - # KDEBUG#307412 (fixed upstream) patch -p1 -i "${srcdir}"/logind-support.patch @@ -69,7 +63,8 @@ build() { -DWITH_Xmms=OFF \ -DWITH_Googlegadgets=OFF \ -DWITH_libgps=OFF \ - -DPYTHON_EXECUTABLE=/usr/bin/python2 + -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + -DWITH_CkConnector=OFF make } diff --git a/testing/kdebase-workspace/etc-scripts.patch b/testing/kdebase-workspace/etc-scripts.patch new file mode 100644 index 000000000..903a90a53 --- /dev/null +++ b/testing/kdebase-workspace/etc-scripts.patch @@ -0,0 +1,11 @@ +--- startkde.cmake.orig 2009-01-15 14:24:44.000000000 +0100 ++++ startkde.cmake 2009-01-15 14:33:08.000000000 +0100 +@@ -206,7 +190,7 @@ + # For anything else (that doesn't set env vars, or that needs a window manager), + # better use the Autostart folder. + +-libpath=`kde4-config --path lib | tr : '\n'` ++libpath=`kde4-config --path lib | tr : '\n'`$(echo -e '\n/etc/kde/lib/') + + for prefix in `echo "$libpath" | sed -n -e 's,/lib[^/]*/,/env/,p'`; do + for file in "$prefix"*.sh; do diff --git a/testing/libcroco/PKGBUILD b/testing/libcroco/PKGBUILD new file mode 100644 index 000000000..87e17f8b5 --- /dev/null +++ b/testing/libcroco/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169176 2012-10-18 19:23:47Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libcroco +pkgver=0.6.7 +pkgrel=1 +pkgdesc="A CSS parsing library" +arch=('x86_64' 'i686') +depends=('glib2' 'libxml2') +makedepends=('intltool') +license=('LGPL') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/0.6/$pkgname-$pkgver.tar.xz) +url="http://www.gnome.org" +sha256sums=('892b8a7e311b80d0a5a633b8204fed5656d7af20e884719e5ec6e340e1f0cd88') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/libgdata/PKGBUILD b/testing/libgdata/PKGBUILD new file mode 100644 index 000000000..7b3ac92be --- /dev/null +++ b/testing/libgdata/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169183 2012-10-18 19:23:59Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libgdata +pkgver=0.13.2 +pkgrel=1 +pkgdesc="GLib-based library for accessing online service APIs using the GData protocol" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libsoup-gnome' 'liboauth' 'gcr' 'gnome-online-accounts') +makedepends=('intltool' 'gobject-introspection') +url="http://www.gnome.org" +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('3dc4e3529b4bf13d4ae4ef7cc4d74c3b5c90bd96e7d9fa83db2066a2b9a36330') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/libgee/PKGBUILD b/testing/libgee/PKGBUILD new file mode 100644 index 000000000..ee1cb1739 --- /dev/null +++ b/testing/libgee/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 169182 2012-10-18 19:23:57Z jgc $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=libgee +pkgver=0.6.6 +pkgrel=1 +pkgdesc="GObject collection library" +url="http://live.gnome.org/Libgee" +license=('LGPL2.1') +arch=('i686' 'x86_64') +depends=('glib2') +makedepends=('gobject-introspection') +options=('!libtool') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz) +sha256sums=('b6b008a6b84332b88f5a12f33d56a3fa3a307946cdd70bc17a403822d4f02e7b') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/libgnome-keyring/PKGBUILD b/testing/libgnome-keyring/PKGBUILD new file mode 100644 index 000000000..a5fec0581 --- /dev/null +++ b/testing/libgnome-keyring/PKGBUILD @@ -0,0 +1,28 @@ +#$Id: PKGBUILD 169181 2012-10-18 19:23:55Z jgc $ +#Maintainer: Jan De Groot <jgc@archlinux.org> + +pkgname=libgnome-keyring +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME keyring client library" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +depends=('dbus-core' 'glib2' 'libgcrypt') +makedepends=('intltool' 'gobject-introspection') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('6dca37fb7b37f800f498031ffe303a567410bec09a9bdd877a18865dafcc9830') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-keyring + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/libgnomekbd/PKGBUILD b/testing/libgnomekbd/PKGBUILD new file mode 100644 index 000000000..d19a2dc26 --- /dev/null +++ b/testing/libgnomekbd/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 169282 2012-10-18 19:45:58Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libgnomekbd +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Gnome keyboard library" +url="http://gswitchit.sourceforge.net" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('libxklavier' 'gtk3' 'dconf') +makedepends=('intltool' 'gobject-introspection') +options=('!libtool' '!emptydirs') +install=libgnomekbd.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) +sha256sums=('c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/libgnomekbd/libgnomekbd.install b/testing/libgnomekbd/libgnomekbd.install new file mode 100644 index 000000000..a3d820459 --- /dev/null +++ b/testing/libgnomekbd/libgnomekbd.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/libgweather/PKGBUILD b/testing/libgweather/PKGBUILD new file mode 100644 index 000000000..420e2b212 --- /dev/null +++ b/testing/libgweather/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 169180 2012-10-18 19:23:54Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libgweather +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Provides access to weather information from the net" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('libsoup-gnome' 'gnome-icon-theme' 'gtk3') +makedepends=('intltool' 'gtk-doc' 'gobject-introspection' 'gnome-common') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org/" +install=libgweather.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + gettext-not-xml.patch + no_external_gettext.patch) +sha256sums=('93c9ef9bba3feb559c02b860909915fa9ffc7c08b4789a825939236e3e84b676' + '40325e0b5464ebb75eaad3c9292c0bab7b15cfefb93011d9ccc0ab82635a9533' + 'f07ac07a70ad4999c3acd5d5b82aabd8831e6a45beb9aaed239f212057ded672') + +build() { + cd "$pkgname-$pkgver" + + patch -Np1 -i "$srcdir/gettext-not-xml.patch" + patch -Np1 -i "$srcdir/no_external_gettext.patch" + gtkdocize + autoreconf -fi + + cd po + intltool-update --pot + cd ../po-locations + intltool-update --gettext-package libgweather-locations --pot + cd .. + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --enable-locations-compression + make +} + +package() { + cd "$pkgname-$pkgver" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install +} diff --git a/testing/libgweather/gettext-not-xml.patch b/testing/libgweather/gettext-not-xml.patch new file mode 100644 index 000000000..b966c5648 --- /dev/null +++ b/testing/libgweather/gettext-not-xml.patch @@ -0,0 +1,551 @@ +Description: Switch to using gettext to find localized names for locations, instead of shipping very large locale-specific XML files with lots of duplicate information. +Author: ? + +only in patch2: +unchanged: +Index: libgweather-3.5.1/configure.ac +=================================================================== +--- libgweather-3.5.1.orig/configure.ac 2012-06-25 03:23:11.000000000 +1200 ++++ libgweather-3.5.1/configure.ac 2012-07-05 10:27:51.457384292 +1200 +@@ -46,6 +46,10 @@ + LT_INIT([dlopen win32-dll disable-static]) + LT_LIB_M + ++dnl IT_PROG_INTLTOOL does this for us in the case of the po/ subdir, but we're on our own for po-locations ++AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po-locations/Makefile.in > po-locations/Makefile]) ++IT_PO_SUBDIR([po-locations]) ++ + PKG_PROG_PKG_CONFIG([0.19]) + + AC_PROG_CC +@@ -53,13 +57,6 @@ + + GLIB_GSETTINGS + +-AC_ARG_ENABLE(all-translations-in-one-xml, +- [AS_HELP_STRING([--enable-all-translations-in-one-xml], +- [Put all translations in a big Locations.xml file (slow to parse)])], +- [enable_big_xml=yes], +- [enable_big_xml=no]) +-AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes") +- + AC_ARG_ENABLE(locations-compression, + [AS_HELP_STRING([--enable-locations-compression], + [Compress Locations.xml files])], +@@ -183,7 +180,7 @@ + Makefile + doc/Makefile + po/Makefile.in +-po-locations/Makefile ++po-locations/Makefile.in + libgweather/Makefile + libgweather/gweather-3.0.pc + libgweather/gweather-3.0-uninstalled.pc +@@ -192,12 +189,6 @@ + ]) + AC_OUTPUT + +-if test "x$enable_big_xml" = "xyes"; then +- LOCATIONS_XML_TRANSLATIONS="one big file" +-else +- LOCATIONS_XML_TRANSLATIONS="one file per translation" +-fi +- + dnl *************************************************************************** + dnl *** Display Summary *** + dnl *************************************************************************** +@@ -208,6 +199,4 @@ + Source code location: ${srcdir} + Compiler: ${CC} + Introspection support: ${found_introspection} +- Locations.xml translations: ${LOCATIONS_XML_TRANSLATIONS} +- Locations.xml compression: ${enable_locations_compression} + " >&2 +Index: libgweather-3.5.1/data/Makefile.am +=================================================================== +--- libgweather-3.5.1.orig/data/Makefile.am 2012-06-06 04:07:53.000000000 +1200 ++++ libgweather-3.5.1/data/Makefile.am 2012-07-05 10:27:51.461384292 +1200 +@@ -4,61 +4,21 @@ + libgweatherlocationsdir = $(pkgdatadir) + libgweatherlocations_in_files = Locations.xml.in + +-if USE_ONE_BIG_XML +- +-LOCATIONS_STAMP = +- +-libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml$(COMPRESS_EXT)) +- +-%.xml$(COMPRESS_EXT): %.xml.in $(wildcard $(top_srcdir)/po-locations/*.po) +- $(AM_V_GEN)LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"` && \ +- if test "x$(COMPRESS_EXT)" = "x.gz"; then \ +- gzip --force `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"`; \ +- fi +- +-else # USE_ONE_BIG_XML +- + LOCATIONS_STAMP = stamp-Locations.xml + +-PO_LOCATIONS = $(shell if test -n "$(LINGUAS)"; then for lang in $(LINGUAS); do if test -f "$(top_srcdir)/po-locations/$$lang.po"; then echo "$(top_srcdir)/po-locations/$$lang.po "; fi; done; else for pofile in $(top_srcdir)/po-locations/*.po; do echo $$pofile; done; fi) +- + # Helper variable +-libgweatherlocations_data = $(libgweatherlocations_in_files:.xml.in=.xml) +- +-libgweatherlocations_DATA = $(shell echo $(PO_LOCATIONS) | sed "s|$(top_srcdir)/po-locations/|Locations.|g;s|\.po|.xml$(COMPRESS_EXT)|g") $(libgweatherlocations_data)$(COMPRESS_EXT) ++libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml) + + # We need this step so that we merge all the make Locations.xy.xml destinations + # into one unique destination. This makes -j2 work. (Else, we end up with + # multiple and conflicting calls to intltool-merge) + $(libgweatherlocations_DATA): $(LOCATIONS_STAMP) + +-$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) $(PO_LOCATIONS) Makefile +- $(AM_V_at)LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< $(libgweatherlocations_data) && \ +- for pofile in $(PO_LOCATIONS); do \ +- locale=`echo $$pofile | sed "s;$(top_srcdir)/po-locations/\(.*\)\.po;\1;"`; \ +- xmllint --noblanks -o Locations.$$locale.xml $$locale/$(libgweatherlocations_data); \ +- rm -f $$locale/$(libgweatherlocations_data); \ +- test -d $$locale && rmdir $$locale; \ +- if test "x$(COMPRESS_EXT)" = "x.gz"; then \ +- gzip --force Locations.$$locale.xml; \ +- fi; \ +- done && \ +- xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_data) && \ +- rm -f C/$(libgweatherlocations_data) && \ +- test -d C && rmdir C && \ +- if test "x$(COMPRESS_EXT)" = "x.gz"; then \ +- gzip --force Locations.xml; \ +- fi && \ +- touch $@ +- +-endif # USE_ONE_BIG_XML +- +-### Locations.xml.in rebuild +-rebuild-locations: locationdb.sqlite update-locations.py +- $(AM_V_GEN)($(srcdir)/update-locations.py > Locations.xml.in.new && mv Locations.xml.in.new Locations.xml.in) || rm -f Locations.xml.in.new +- +-locationdb.sqlite: build-locationdb.pl major-cities.txt sources/nsd_cccc.txt sources/POP_PLACES.txt sources/US_CONCISE.txt sources/geonames_dd_dms_date_*.txt city-fixups.pl station-fixups.pl +- $(AM_V_GEN)$(srcdir)/build-locationdb.pl ++$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) Makefile ++ LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache /dev/null $< $(libgweatherlocations_DATA) && \ ++ xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_DATA) && \ ++ rm -f C/$(libgweatherlocations_DATA) && \ ++ touch $@ + + check: + xmllint --valid --noout $(top_srcdir)/data/Locations.xml.in +Index: libgweather-3.5.1/libgweather/gweather-location.c +=================================================================== +--- libgweather-3.5.1.orig/libgweather/gweather-location.c 2012-06-15 08:15:23.000000000 +1200 ++++ libgweather-3.5.1/libgweather/gweather-location.c 2012-07-05 10:27:51.461384292 +1200 +@@ -22,11 +22,14 @@ + #include <config.h> + #endif + ++#include "config.h" ++ + #include <string.h> + #include <math.h> + #include <locale.h> + #include <gtk/gtk.h> + #include <libxml/xmlreader.h> ++#include <libintl.h> + + #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE + #include "gweather-location.h" +@@ -157,10 +160,20 @@ + + tagname = (const char *) xmlTextReaderConstName (parser->xml); + if (!strcmp (tagname, "name") && !loc->name) { +- value = gweather_parser_get_localized_value (parser); ++ char *context = NULL; ++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); ++ ++ value = gweather_parser_get_value (parser); + if (!value) + goto error_out; +- loc->name = g_strdup (value); ++ ++ if (context != NULL) { ++ loc->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, value)); ++ xmlFree (context); ++ } ++ else ++ loc->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",value)); ++ + xmlFree (value); + normalized = g_utf8_normalize (loc->name, -1, G_NORMALIZE_ALL); + loc->sort_name = g_utf8_casefold (normalized, -1); +Index: libgweather-3.5.1/libgweather/gweather-timezone.c +=================================================================== +--- libgweather-3.5.1.orig/libgweather/gweather-timezone.c 2011-11-16 01:03:32.000000000 +1300 ++++ libgweather-3.5.1/libgweather/gweather-timezone.c 2012-07-05 10:27:51.461384292 +1200 +@@ -23,6 +23,7 @@ + #endif + + #include <string.h> ++#include <libintl.h> + + #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE + #include "gweather-timezone.h" +@@ -154,7 +155,7 @@ + parse_timezone (GWeatherParser *parser) + { + GWeatherTimezone *zone = NULL; +- char *id = NULL, *name = NULL; ++ char *id = NULL, *name = NULL, *context = NULL; + int offset = 0, dst_offset = 0; + gboolean has_dst = FALSE; + +@@ -177,27 +178,34 @@ + continue; + } + +- if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) +- name = gweather_parser_get_localized_value (parser); ++ if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) { ++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); ++ name = gweather_parser_get_value (parser); ++ } + else { + if (xmlTextReaderNext (parser->xml) != 1) + break; + } + } + } +- ++ + if (parse_tzdata (id, parser->year_start, parser->year_end, + &offset, &has_dst, &dst_offset)) { + zone = g_slice_new0 (GWeatherTimezone); + zone->ref_count = 1; + zone->id = g_strdup (id); +- zone->name = g_strdup (name); ++ if (context != NULL) ++ zone->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, name)); ++ else ++ zone->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",name)); + zone->offset = offset; + zone->has_dst = has_dst; + zone->dst_offset = dst_offset; + } + + xmlFree (id); ++ if (context) ++ xmlFree (context); + if (name) + xmlFree (name); + +Index: libgweather-3.5.1/po-locations/LINGUAS +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libgweather-3.5.1/po-locations/LINGUAS 2012-07-05 10:27:51.461384292 +1200 +@@ -0,0 +1,78 @@ ++ang ++ar ++as ++az ++be ++be@latin ++bg ++bn_IN ++bn ++bs ++ca ++cs ++cy ++da ++de ++dz ++el ++en_CA ++en_GB ++es ++et ++eu ++fa ++fi ++fr ++ga ++gl ++gu ++he ++hi ++hr ++hu ++id ++it ++ja ++ka ++kn ++ko ++ku ++ky ++lt ++lv ++mai ++mg ++mk ++ml ++mn ++mr ++ms ++nb ++ne ++nl ++nn ++oc ++or ++pa ++pl ++pt_BR ++pt ++ro ++ru ++rw ++si ++sk ++sl ++sq ++sr@latin ++sr ++sv ++ta ++te ++th ++tr ++uk ++vi ++zh_CN ++zh_HK ++zh_TW +Index: libgweather-3.5.1/po-locations/Makefile.in.in +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libgweather-3.5.1/po-locations/Makefile.in.in 2012-07-05 10:27:51.461384292 +1200 +@@ -0,0 +1,217 @@ ++# Makefile for program source directory in GNU NLS utilities package. ++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> ++# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com> ++# ++# This file may be copied and used freely without restrictions. It may ++# be used in projects which are not available under a GNU Public License, ++# but which still want to provide support for the GNU gettext functionality. ++# ++# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE ++# instead of PACKAGE and to look for po2tbl in ./ not in intl/ ++# ++# - Modified by jacob berkman <jacob@ximian.com> to install ++# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize ++# ++# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool ++# ++# We have the following line for use by intltoolize: ++# INTLTOOL_MAKEFILE ++ ++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-locations ++PACKAGE = @PACKAGE@ ++VERSION = @VERSION@ ++ ++SHELL = /bin/sh ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++top_builddir = @top_builddir@ ++VPATH = @srcdir@ ++ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++libdir = @libdir@ ++DATADIRNAME = @DATADIRNAME@ ++itlocaledir = $(prefix)/$(DATADIRNAME)/locale ++subdir = po-locations ++install_sh = @install_sh@ ++# Automake >= 1.8 provides @mkdir_p@. ++# Until it can be supposed, use the safe fallback: ++mkdir_p = $(install_sh) -d ++ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++ ++GMSGFMT = @GMSGFMT@ ++MSGFMT = @MSGFMT@ ++XGETTEXT = @XGETTEXT@ ++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ ++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ ++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist ++GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ++ ++ALL_LINGUAS = @ALL_LINGUAS@ ++ ++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi) ++ ++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi) ++ ++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) ++ ++POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) ++ ++DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES) ++EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS ++ ++POTFILES = \ ++# This comment gets stripped out ++ ++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) ++ ++.SUFFIXES: ++.SUFFIXES: .po .pox .gmo .mo .msg .cat ++ ++.po.pox: ++ $(MAKE) $(GETTEXT_PACKAGE).pot ++ $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox ++ ++.po.mo: ++ $(MSGFMT) -o $@ $< ++ ++.po.gmo: ++ file=`echo $* | sed 's,.*/,,'`.gmo \ ++ && rm -f $$file && $(GMSGFMT) -o $$file $< ++ ++.po.cat: ++ sed -f ../intl/po2msg.sed < $< > $*.msg \ ++ && rm -f $@ && gencat $@ $*.msg ++ ++ ++all: all-@USE_NLS@ ++ ++all-yes: $(CATALOGS) ++all-no: ++ ++$(GETTEXT_PACKAGE).pot: $(POTFILES) ++ $(GENPOT) ++ ++install: install-data ++install-data: install-data-@USE_NLS@ ++install-data-no: all ++install-data-yes: all ++ linguas="$(USE_LINGUAS)"; \ ++ for lang in $$linguas; do \ ++ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ ++ $(mkdir_p) $$dir; \ ++ if test -r $$lang.gmo; then \ ++ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ ++ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ ++ else \ ++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ ++ echo "installing $(srcdir)/$$lang.gmo as" \ ++ "$$dir/$(GETTEXT_PACKAGE).mo"; \ ++ fi; \ ++ if test -r $$lang.gmo.m; then \ ++ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ ++ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ ++ else \ ++ if test -r $(srcdir)/$$lang.gmo.m ; then \ ++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ ++ $$dir/$(GETTEXT_PACKAGE).mo.m; \ ++ echo "installing $(srcdir)/$$lang.gmo.m as" \ ++ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ ++ else \ ++ true; \ ++ fi; \ ++ fi; \ ++ done ++ ++# Empty stubs to satisfy archaic automake needs ++dvi info tags TAGS ID: ++ ++# Define this as empty until I found a useful application. ++install-exec installcheck: ++ ++uninstall: ++ linguas="$(USE_LINGUAS)"; \ ++ for lang in $$linguas; do \ ++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ ++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ ++ done ++ ++check: all $(GETTEXT_PACKAGE).pot ++ rm -f missing notexist ++ srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m ++ if [ -r missing -o -r notexist ]; then \ ++ exit 1; \ ++ fi ++ ++mostlyclean: ++ rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp ++ rm -f .intltool-merge-cache ++ ++clean: mostlyclean ++ ++distclean: clean ++ rm -f Makefile Makefile.in POTFILES stamp-it ++ rm -f *.mo *.msg *.cat *.cat.m *.gmo ++ ++maintainer-clean: distclean ++ @echo "This command is intended for maintainers to use;" ++ @echo "it deletes files that may require special tools to rebuild." ++ rm -f Makefile.in.in ++ ++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) ++dist distdir: $(DISTFILES) ++ dists="$(DISTFILES)"; \ ++ extra_dists="$(EXTRA_DISTFILES)"; \ ++ for file in $$extra_dists; do \ ++ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ ++ done; \ ++ for file in $$dists; do \ ++ test -f $$file || file="$(srcdir)/$$file"; \ ++ ln $$file $(distdir) 2> /dev/null \ ++ || cp -p $$file $(distdir); \ ++ done ++ ++update-po: Makefile ++ $(MAKE) $(GETTEXT_PACKAGE).pot ++ tmpdir=`pwd`; \ ++ linguas="$(USE_LINGUAS)"; \ ++ for lang in $$linguas; do \ ++ echo "$$lang:"; \ ++ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ ++ if $$result; then \ ++ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ ++ rm -f $$tmpdir/$$lang.new.po; \ ++ else \ ++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ ++ :; \ ++ else \ ++ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ ++ rm -f $$tmpdir/$$lang.new.po; \ ++ exit 1; \ ++ fi; \ ++ fi; \ ++ else \ ++ echo "msgmerge for $$lang.gmo failed!"; \ ++ rm -f $$tmpdir/$$lang.new.po; \ ++ fi; \ ++ done ++ ++Makefile POTFILES: stamp-it ++ @if test ! -f $@; then \ ++ rm -f stamp-it; \ ++ $(MAKE) stamp-it; \ ++ fi ++ ++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in ++ cd $(top_builddir) \ ++ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ ++ $(SHELL) ./config.status ++ ++# Tell versions [3.59,3.63) of GNU make not to export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +Index: libgweather-3.5.1/po-locations/POTFILES.in +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libgweather-3.5.1/po-locations/POTFILES.in 2012-07-05 10:27:51.461384292 +1200 +@@ -0,0 +1,4 @@ ++# This list should contain *only* data/Locations.xml.in. ++# Everything else should be in POTFILES.skip. ++[encoding:UTF-8] ++data/Locations.xml.in diff --git a/testing/libgweather/libgweather.install b/testing/libgweather/libgweather.install new file mode 100644 index 000000000..3ba0d0a48 --- /dev/null +++ b/testing/libgweather/libgweather.install @@ -0,0 +1,18 @@ +post_install() { + gtk-update-icon-cache -q -t -f /usr/share/icons/gnome + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/libgweather.schemas ]; then + gconfpkg --uninstall libgweather + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/libgweather/no_external_gettext.patch b/testing/libgweather/no_external_gettext.patch new file mode 100644 index 000000000..64b3c5ad5 --- /dev/null +++ b/testing/libgweather/no_external_gettext.patch @@ -0,0 +1,14 @@ +Index: libgweather-3.5.1/configure.ac +=================================================================== +--- libgweather-3.5.1.orig/configure.ac 2012-07-05 10:33:10.277373254 +1200 ++++ libgweather-3.5.1/configure.ac 2012-07-05 10:33:44.957372053 +1200 +@@ -97,9 +97,6 @@ + dnl gettext + IT_PROG_INTLTOOL([0.50.0]) + +-AM_GNU_GETTEXT_VERSION([0.18]) +-AM_GNU_GETTEXT([external]) +- + GETTEXT_PACKAGE=libgweather-3.0 + AC_SUBST(GETTEXT_PACKAGE) + AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext Package]) diff --git a/testing/libnice/PKGBUILD b/testing/libnice/PKGBUILD new file mode 100644 index 000000000..05890543b --- /dev/null +++ b/testing/libnice/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 500 2009-08-01 11:44:28Z ibiru $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: William Díaz <wdiaz@archlinux.us> + +pkgname=libnice +pkgver=0.1.3 +pkgrel=1 +pkgdesc="An implementation of the IETF's draft ICE (for p2p UDP data streams)" +arch=('i686' 'x86_64') +url="http://nice.freedesktop.org" +license=('LGPL') +depends=('glib2') +makedepends=('gstreamer' 'gstreamer0.10') +optdepends=('gstreamer' 'gstreamer0.10') +options=('!libtool') +source=(http://nice.freedesktop.org/releases/$pkgname-$pkgver.tar.gz) + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} +md5sums=('1a0907605f852dcda32a3b3daf38d36c') diff --git a/testing/libpeas/PKGBUILD b/testing/libpeas/PKGBUILD new file mode 100644 index 000000000..a226b8b09 --- /dev/null +++ b/testing/libpeas/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 169178 2012-10-18 19:23:50Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=libpeas +pkgver=1.6.1 +pkgrel=1 +pkgdesc="A GObject-based plugins engine" +arch=('i686' 'x86_64') +url="http://www.gtk.org/" +license=('GPL2') +depends=('gtk3' 'hicolor-icon-theme' 'gobject-introspection') +makedepends=('gtk-doc' 'intltool' 'python2-gobject' 'gjs' 'seed' 'glade') +optdepends=('gjs: gobject-based plugin engine - gjs runtime loader' + 'seed: gobject-based plugin engine - seed runtime loader') +options=('!libtool') +install=libpeas.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz) +sha256sums=('7f133f44101594e0f96a0e5fe69c5893cde500f3edf916f680467dfd74de5c39') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/libpeas/libpeas.install b/testing/libpeas/libpeas.install new file mode 100644 index 000000000..1a05f573e --- /dev/null +++ b/testing/libpeas/libpeas.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/libpwquality/PKGBUILD b/testing/libpwquality/PKGBUILD new file mode 100644 index 000000000..b40a35d4b --- /dev/null +++ b/testing/libpwquality/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libpwquality +pkgver=1.2.0 +pkgrel=1 +pkgdesc="Library for password quality checking and generating random passwords" +arch=('i686' 'x86_64') +url="https://fedorahosted.org/libpwquality/" +license=('GPL') +options=('!libtool') +depends=('cracklib') +optdepends=('python2: Python bindings') +makedepends=('python2') +source=(https://fedorahosted.org/releases/l/i/libpwquality/$pkgname-$pkgver.tar.bz2) +md5sums=('8827419118064539db70090cbed5cb21') + +build() { + cd "$pkgname-$pkgver" + sed -i -e 's/python setup.py/python2 setup.py/' python/Makefile.in + + PYTHON=python2 ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/librsvg/PKGBUILD b/testing/librsvg/PKGBUILD new file mode 100644 index 000000000..5389ec8a3 --- /dev/null +++ b/testing/librsvg/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 169175 2012-10-18 19:23:45Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=librsvg +pkgver=2.36.4 +pkgrel=1 +pkgdesc="A SVG viewing library" +arch=(i686 x86_64) +license=('LGPL') +depends=('gdk-pixbuf2' 'pango' 'libcroco') +makedepends=('intltool' 'gtk2' 'gtk3' 'gobject-introspection') +optdepends=('gtk3: for rsvg-view-3' + 'gtk2: gtk2 SVG engine module') +options=('!libtool' '!emptydirs') +url="http://librsvg.sourceforge.net/" +install=librsvg.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('1021935204798f4f0ad3004a09b583668ea94a48593461b147fdcff68a18e6c2') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/librsvg/librsvg.install b/testing/librsvg/librsvg.install new file mode 100644 index 000000000..8852ebf28 --- /dev/null +++ b/testing/librsvg/librsvg.install @@ -0,0 +1,11 @@ +post_install() { + gdk-pixbuf-query-loaders --update-cache +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/libsecret/PKGBUILD b/testing/libsecret/PKGBUILD new file mode 100644 index 000000000..1ec9f5695 --- /dev/null +++ b/testing/libsecret/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 166488 2012-09-08 10:31:44Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libsecret +pkgver=0.10 +pkgrel=1 +pkgdesc='library for storing and retrieving passwords and other secrets.' +arch=('i686' 'x86_64') +license=('LGPL') +url="https://live.gnome.org/Libsecret" +depends=('glib2' 'libgcrypt') +makedepends=('intltool' 'docbook-xsl') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz) +sha256sums=('4015ac83042fa408bf66ca8526709662d194fe566181db6ab3d86a6ea4ab8880') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/libsoup/PKGBUILD b/testing/libsoup/PKGBUILD new file mode 100644 index 000000000..084b15b16 --- /dev/null +++ b/testing/libsoup/PKGBUILD @@ -0,0 +1,49 @@ +# $Id: PKGBUILD 169173 2012-10-18 19:23:38Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgbase=libsoup +pkgname=('libsoup' 'libsoup-gnome') +pkgver=2.40.1 +pkgrel=1 +arch=('i686' 'x86_64') +license=('LGPL') +makedepends=('glib2' 'libxml2' 'sqlite' 'libgnome-keyring' 'intltool' 'gobject-introspection' 'glib-networking' 'python2') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz) +options=('!libtool' '!emptydirs') +sha256sums=('77a55d57e7e8055acd2f44e0cc889b9ba48052e8b7f07e829157d57417ac650a') + +build() { + cd "$pkgbase-$pkgver" + sed -i -e 's/env python/python2/' libsoup/tld-parser.py + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package_libsoup() { + pkgdesc="GNOME HTTP Library - base library" + depends=('glib2' 'libxml2' 'glib-networking') + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + + rm -f "$pkgdir"/usr/lib/libsoup-gnome-2.4.* + rm -f "$pkgdir/usr/lib/pkgconfig/libsoup-gnome-2.4.pc" + rm -rf "$pkgdir/usr/include/libsoup-gnome-2.4" + rm -f "$pkgdir/usr/lib/girepository-1.0/SoupGNOME-2.4.typelib" +} + +package_libsoup-gnome() { + pkgdesc="GNOME HTTP Library - GNOME libraries" + depends=("libsoup=$pkgver" 'libgnome-keyring' 'sqlite') + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + + rm -f "$pkgdir"/usr/lib/libsoup-2.4.* + rm -f "$pkgdir/usr/lib/pkgconfig/libsoup-2.4.pc" + rm -rf "$pkgdir/usr/include/libsoup-2.4" + rm -rf "$pkgdir/usr/share" + rm -f "$pkgdir/usr/lib/girepository-1.0/Soup-2.4.typelib" +} diff --git a/testing/libxklavier/PKGBUILD b/testing/libxklavier/PKGBUILD new file mode 100644 index 000000000..1c8023bd1 --- /dev/null +++ b/testing/libxklavier/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 169172 2012-10-18 19:23:34Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Arjan Timmerman <arjan@archlinux.org> + +pkgname=libxklavier +pkgver=5.3 +pkgrel=1 +pkgdesc="High-level API for X Keyboard Extension" +arch=(i686 x86_64) +license=('LGPL') +depends=('glib2' 'libxkbfile' 'libxml2' 'xkeyboard-config' 'libxi' 'iso-codes') +makedepends=('gobject-introspection') +options=('!libtool' '!emptydirs') +url="http://gswitchit.sourceforge.net" +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz) +sha256sums=('ebec3bc54b5652838502b96223152fb1cd8fcb14ace5cb02d718fc3276bbd404') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --with-xkb-base=/usr/share/X11/xkb --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/libzapojit/PKGBUILD b/testing/libzapojit/PKGBUILD new file mode 100644 index 000000000..d3c5c1690 --- /dev/null +++ b/testing/libzapojit/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169171 2012-10-18 19:23:32Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=libzapojit +pkgver=0.0.2 +pkgrel=1 +pkgdesc="GLib/GObject wrapper for the SkyDrive and Hotmail REST APIs" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libsoup' 'gnome-online-accounts') +makedepends=('intltool' 'gobject-introspection') +url="http://www.gnome.org" +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('7b5a2fcf8e94fa8c869098b8461104633f4b046c471a03e3fea2b1a358574b24') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/libzeitgeist/PKGBUILD b/testing/libzeitgeist/PKGBUILD new file mode 100644 index 000000000..65137cd82 --- /dev/null +++ b/testing/libzeitgeist/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: kiefer <jorgelmadrid@gmail.com> +# Contributor: Alessio Sergi <asergi at archlinux dot us> + +pkgname=libzeitgeist +pkgver=0.3.18 +_pkgmainver=0.3 +pkgrel=3 +pkgdesc="Zeitgeist client library" +arch=('i686' 'x86_64') +url="https://launchpad.net/libzeitgeist" +license=('LGPL2.1') +depends=('glib2') +optdepends=("zeitgeist: zeitgeist framework") +options=('!libtool') +source=(http://launchpad.net/${pkgname}/${_pkgmainver}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz) +md5sums=('d63a37295d01a58086d0d4ae26e604c2') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/mousetweaks/PKGBUILD b/testing/mousetweaks/PKGBUILD new file mode 100644 index 000000000..4dddd4cb5 --- /dev/null +++ b/testing/mousetweaks/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 2392 2008-06-01 19:38:25Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=mousetweaks +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Mouse accessibility enhancements for the GNOME desktop" +arch=(i686 x86_64) +license=('GPL3' 'FDL') +depends=('libxtst' 'gtk3' 'gsettings-desktop-schemas') +makedepends=('gnome-doc-utils' 'intltool') +groups=('gnome-extra') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +install=mousetweaks.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('2c48f655c5b53615270503fd1631e0cf7baa5872b20f75af8608983f039c5cfc') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/testing/mousetweaks/mousetweaks.install b/testing/mousetweaks/mousetweaks.install new file mode 100644 index 000000000..1ae919322 --- /dev/null +++ b/testing/mousetweaks/mousetweaks.install @@ -0,0 +1,17 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if (( $(vercmp $2 2.90.0) < 0 )); then + usr/sbin/gconfpkg --uninstall mousetweaks + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/mutter/PKGBUILD b/testing/mutter/PKGBUILD new file mode 100644 index 000000000..08e3155ac --- /dev/null +++ b/testing/mutter/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169169 2012-10-18 19:23:25Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Michael Kanis <mkanis_at_gmx_dot_de> + +pkgname=mutter +pkgver=3.6.1 +pkgrel=2 +pkgdesc="A window manager for GNOME" +arch=(i686 x86_64) +license=('GPL') +depends=('clutter' 'dconf' 'gobject-introspection' 'gsettings-desktop-schemas' 'libcanberra' 'startup-notification' 'zenity' 'libsm') +makedepends=('intltool' 'gnome-doc-utils') +url="http://www.gnome.org" +groups=('gnome') +options=('!libtool' '!emptydirs') +install=mutter.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('4bec46ceb114a78d5f851823d8966b9b386a9319fbec740ff59bf5eb265d6637') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/mutter \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/mutter/mutter.install b/testing/mutter/mutter.install new file mode 100644 index 000000000..c47f1cef2 --- /dev/null +++ b/testing/mutter/mutter.install @@ -0,0 +1,19 @@ +pkgname=mutter + +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then + /usr/sbin/gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/nautilus-open-terminal/PKGBUILD b/testing/nautilus-open-terminal/PKGBUILD new file mode 100644 index 000000000..a3104098a --- /dev/null +++ b/testing/nautilus-open-terminal/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169167 2012-10-18 19:23:18Z jgc $ +# Maintainer : Biru Ionut <ionut@archlinux.ro> +# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com> +# Contributor: William Rea <sillywilly@gmail.com> +pkgname=nautilus-open-terminal +pkgver=0.19 +pkgrel=3 +pkgdesc="A nautilus plugin for opening terminals in arbitrary local paths" +arch=('i686' 'x86_64') +url="http://ftp.gnome.org/pub/GNOME/sources/nautilus-open-terminal" +license=('GPL') +depends=('nautilus' 'gconf') +makedepends=('pkgconfig' 'gettext' 'intltool') +install=nautilus-open-terminal.install +source=(ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2) +options=('!libtool' '!emptydirs') +sha256sums=('4760f3a5a862ba9239ea92690a42ecee2c68fad413b023dd06505bdb3ee1f6af') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install + + install -dm755 "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain ${pkgname} "${pkgdir}"/etc/gconf/schemas/*.schemas + rm -rf "${pkgdir}"/etc/gconf/schemas +} diff --git a/testing/nautilus-open-terminal/nautilus-open-terminal.install b/testing/nautilus-open-terminal/nautilus-open-terminal.install new file mode 100644 index 000000000..f7cdb9507 --- /dev/null +++ b/testing/nautilus-open-terminal/nautilus-open-terminal.install @@ -0,0 +1,17 @@ +pkgname=nautilus-open-terminal + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} diff --git a/testing/nautilus-sendto/PKGBUILD b/testing/nautilus-sendto/PKGBUILD new file mode 100644 index 000000000..1cf003352 --- /dev/null +++ b/testing/nautilus-sendto/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169166 2012-10-18 19:23:15Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Eduardo Romero <eduardo@archlinux.org> +# Contributor: Tor Krill <tor@krill.nu> + +pkgname=nautilus-sendto +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Nautilus context menu for sending files." +arch=('i686' 'x86_64') +url="http://download.gnome.org/sources/nautilus-sendto/" +license=('GPL') +groups=('gnome-extra') +depends=('evolution-data-server' 'nautilus' 'dconf') +makedepends=('pidgin' 'gajim' 'gettext' 'intltool' 'gupnp') +options=('!libtool' '!emptydirs') +install=nautilus-sendto.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('5f90a1a7b054257545dc72fa3a63de8f5564815576f90a21c320ebb177b9268e') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/nautilus-sendto/nautilus-sendto.install b/testing/nautilus-sendto/nautilus-sendto.install new file mode 100644 index 000000000..d33a1b261 --- /dev/null +++ b/testing/nautilus-sendto/nautilus-sendto.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/nautilus/PKGBUILD b/testing/nautilus/PKGBUILD new file mode 100644 index 000000000..039df8b52 --- /dev/null +++ b/testing/nautilus/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169168 2012-10-18 19:23:22Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=nautilus +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME file manager" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libexif' 'gnome-desktop' 'exempi' 'gvfs' 'desktop-file-utils' 'gnome-icon-theme' 'dconf' 'libtracker-sparql' 'libnotify') +makedepends=('intltool' 'gobject-introspection') +url="http://www.gnome.org" +groups=('gnome') +options=('!libtool' '!emptydirs') +install=nautilus.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('44d9b967d39c6785f077e4a83e61b398d1676742b9795f9e82a645fc20e80d72') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/nautilus \ + --disable-nst-extension \ + --disable-update-mimedb \ + --disable-packagekit \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/nautilus/nautilus.install b/testing/nautilus/nautilus.install new file mode 100644 index 000000000..082126d24 --- /dev/null +++ b/testing/nautilus/nautilus.install @@ -0,0 +1,14 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-mime-database /usr/share/mime > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/networkmanager/PKGBUILD b/testing/networkmanager/PKGBUILD index e4c927db3..9e763f63f 100644 --- a/testing/networkmanager/PKGBUILD +++ b/testing/networkmanager/PKGBUILD @@ -1,4 +1,5 @@ -# $Id: PKGBUILD 164974 2012-08-07 18:07:41Z heftig $ +# $Id: PKGBUILD 169165 2012-10-18 19:23:13Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Maintainer: Jan de Groot <jgc@archlinxu.org> # Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org> # Contributor: Tor Krill <tor@krill.nu> @@ -8,35 +9,43 @@ pkgname=networkmanager _pkgname=NetworkManager pkgver=0.9.6.0 -pkgrel=1 +pkgrel=5 pkgdesc="Network Management daemon" arch=('i686' 'x86_64') license=('GPL') url="http://www.gnome.org/projects/$_pkgname/" -depends=('dbus-glib' 'iproute2' 'libnl' 'nss' 'polkit' 'udev' 'wpa_supplicant' 'ppp' 'dhcpcd' - 'libsoup') -makedepends=('intltool' 'dhclient' 'iptables' 'gobject-introspection') +depends=(dbus-glib iproute2 libnl nss polkit udev wpa_supplicant ppp dhclient + libsoup systemd) +makedepends=(intltool dhcpcd iptables gobject-introspection) optdepends=('modemmanager: for modem management service' - 'dhclient: alternative DHCP/DHCPv6 client' + 'dhcpcd: alternative DHCP client; does not support DHCPv6' 'iptables: Connection sharing' 'dnsmasq: Connection sharing' 'bluez: Bluetooth support' - 'openresolv: openresolv support') + 'openresolv: resolvconf support') options=('!libtool') backup=('etc/NetworkManager/NetworkManager.conf') install=networkmanager.install source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz - NetworkManager.conf disable_set_hostname.patch dnsmasq-path.patch) + NetworkManager.conf disable_set_hostname.patch dnsmasq-path.patch + nm-polkit-permissive.patch repair-signals.patch systemd-sleep.patch) sha256sums=('3982b623b7b199ac99e2ddd0840fe7d088245a49e3f680237e8baebf0cf86d07' '44b048804c7c0b8b3b0c29b8632b6ad613c397d0a1635ec918e10c0fbcdadf21' '25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460' - '65124505048cc8396daf0242c9f5d532fa669b4bbca305998c248ab2329490cb') + '65124505048cc8396daf0242c9f5d532fa669b4bbca305998c248ab2329490cb' + 'e23b651a90ef62d515921953b4c6779538d35a737fb74c266b7fce94d62fdb06' + 'a1c65a09e5e8ecb1004ab7922517aa7fbc9700dc61e3b2fd348d3d7c23808ce6' + '24c181ab69e769e703e45f64a552add5df5de22fbcd8899d588add053674420a') build() { cd $_pkgname-$pkgver patch -Np1 -i ../disable_set_hostname.patch patch -Np1 -i ../dnsmasq-path.patch + patch -Np1 -i ../nm-polkit-permissive.patch + patch -Np1 -i ../repair-signals.patch # FS#31115 + patch -Np1 -i ../systemd-sleep.patch + AUTOPOINT="intltoolize -f -c --automake" autoreconf -fi ./configure \ --prefix=/usr \ @@ -46,12 +55,12 @@ build() { --with-crypto=nss \ --with-distro=arch \ --with-dhclient=/usr/sbin/dhclient \ - --with-dhcpcd=/sbin/dhcpcd \ + --with-dhcpcd=/usr/sbin/dhcpcd \ --with-iptables=/usr/sbin/iptables \ --with-systemdsystemunitdir=/usr/lib/systemd/system \ --with-udev-dir=/usr/lib/udev \ --with-resolvconf=/usr/sbin/resolvconf \ - --with-session-tracking=ck \ + --with-session-tracking=systemd \ --disable-static \ --enable-more-warnings=no \ --disable-wimax @@ -66,7 +75,4 @@ package() { install -m644 ../NetworkManager.conf "$pkgdir/etc/NetworkManager/" rm -r "$pkgdir/var/run" - - # Provide native service for arch-daemons generator - ln -s NetworkManager.service "$pkgdir/usr/lib/systemd/system/networkmanager.service" } diff --git a/testing/networkmanager/nm-polkit-permissive.patch b/testing/networkmanager/nm-polkit-permissive.patch new file mode 100644 index 000000000..1ac406224 --- /dev/null +++ b/testing/networkmanager/nm-polkit-permissive.patch @@ -0,0 +1,12 @@ +diff -up NetworkManager-0.8.997/policy/org.freedesktop.NetworkManager.policy.in.permissive NetworkManager-0.8.997/policy/org.freedesktop.NetworkManager.policy.in +--- NetworkManager-0.8.997/policy/org.freedesktop.NetworkManager.policy.in.permissive 2011-03-24 14:21:35.100912222 -0500 ++++ NetworkManager-0.8.997/policy/org.freedesktop.NetworkManager.policy.in 2011-03-24 14:21:49.916726997 -0500 +@@ -95,7 +95,7 @@ + <_message>System policy prevents modification of network settings for all users</_message> + <defaults> + <allow_inactive>no</allow_inactive> +- <allow_active>auth_admin_keep</allow_active> ++ <allow_active>yes</allow_active> + </defaults> + </action> + diff --git a/testing/networkmanager/repair-signals.patch b/testing/networkmanager/repair-signals.patch new file mode 100644 index 000000000..cf1319dc5 --- /dev/null +++ b/testing/networkmanager/repair-signals.patch @@ -0,0 +1,37 @@ +From 64342a313ef497fca8a4fb7567900d4a1460065f Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Thu, 13 Sep 2012 09:32:53 +0000 +Subject: core: wait until we daemonized before setting up signals (bgo #683932) + +If we mask signals before daemonizing, the daemon process will not be +able to handle them, and thus would be unkillable with anything other +than SIGKILL. +--- +diff --git a/src/main.c b/src/main.c +index 8bc6d3f..5b82cfa 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -401,10 +401,6 @@ main (int argc, char *argv[]) + exit (1); + } + +- /* Set up unix signal handling */ +- if (!setup_signals ()) +- exit (1); +- + /* Set locale to be able to use environment variables */ + setlocale (LC_ALL, ""); + +@@ -501,6 +497,10 @@ main (int argc, char *argv[]) + wrote_pidfile = TRUE; + } + ++ /* Set up unix signal handling - before creating threads, but after daemonizing! */ ++ if (!setup_signals ()) ++ exit (1); ++ + if (g_fatal_warnings) { + GLogLevelFlags fatal_mask; + +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/networkmanager/systemd-sleep.patch b/testing/networkmanager/systemd-sleep.patch new file mode 100644 index 000000000..3470d4654 --- /dev/null +++ b/testing/networkmanager/systemd-sleep.patch @@ -0,0 +1,616 @@ +From b444d31cba5b8ac0c9771cc5a246dfd3af9dfd00 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen <mclasen@redhat.com> +Date: Tue, 9 Oct 2012 00:36:35 -0400 +Subject: [PATCH] core: factor out the upower suspend/resume code (bgo + #677694) + +Factor the code that listens for upower sleeping and resuming +signals out into a class code NMSleepMonitor. + +core: add a systemd suspend/resume monitor (bgo #677694) + +This implementation uses a delay inhibitor to get systemd to +emit PrepareForSleep, and then emits ::Sleeping and ::Resuming +when receiving the before/after PrepareForSleep emissions. + +core: DBusGConnections are not GObjects + +Introduced in 64fd8eea7706038e5d38c8463a1c765ed9331db2. + +core: fix suspend/resume signal names which the manager listens for + +Introduced in 64fd8eea7706038e5d38c8463a1c765ed9331db2; but honestly +I also thought GObject lower-cased signal names since it munges them +for - and _ too. Apparently not. +--- + configure.ac | 2 +- + src/Makefile.am | 9 +- + src/nm-manager.c | 40 +++----- + src/nm-sleep-monitor-systemd.c | 217 +++++++++++++++++++++++++++++++++++++++++ + src/nm-sleep-monitor-upower.c | 151 ++++++++++++++++++++++++++++ + src/nm-sleep-monitor.h | 46 +++++++++ + 6 files changed, 437 insertions(+), 28 deletions(-) + create mode 100644 src/nm-sleep-monitor-systemd.c + create mode 100644 src/nm-sleep-monitor-upower.c + create mode 100644 src/nm-sleep-monitor.h + +diff --git a/configure.ac b/configure.ac +index e76e193..9152c23 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -327,7 +327,7 @@ PKG_CHECK_MODULES(GUDEV, gudev-1.0 >= 147) + AC_SUBST(GUDEV_CFLAGS) + AC_SUBST(GUDEV_LIBS) + +-PKG_CHECK_MODULES(GIO, gio-2.0) ++PKG_CHECK_MODULES(GIO, gio-unix-2.0) + AC_SUBST(GIO_CFLAGS) + AC_SUBST(GIO_LIBS) + +diff --git a/src/Makefile.am b/src/Makefile.am +index b155209..ba7d2d6 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -191,6 +191,7 @@ NetworkManager_SOURCES = \ + nm-session-monitor.h \ + nm-session-utils.c \ + nm-session-utils.h \ ++ nm-sleep-monitor.h \ + nm-connection-provider.h \ + nm-connection-provider.c \ + nm-dispatcher.c \ +@@ -201,13 +202,18 @@ NetworkManager_SOURCES += nm-connectivity.c nm-connectivity.h + endif + + if SESSION_TRACKING_SYSTEMD +-NetworkManager_SOURCES += nm-session-monitor-systemd.c ++NetworkManager_SOURCES += \ ++ nm-session-monitor-systemd.c \ ++ nm-sleep-monitor-systemd.c + else + if SESSION_TRACKING_CK + NetworkManager_SOURCES += nm-session-monitor-ck.c + else + NetworkManager_SOURCES += nm-session-monitor-null.c + endif ++ ++# UPower suspend/resume used whenever systemd is not enabled ++NetworkManager_SOURCES += nm-sleep-monitor-upower.c + endif + + nm-access-point-glue.h: $(top_srcdir)/introspection/nm-access-point.xml +@@ -283,6 +289,7 @@ BUILT_SOURCES = \ + NetworkManager_CPPFLAGS = \ + $(DBUS_CFLAGS) \ + $(GLIB_CFLAGS) \ ++ $(GIO_CFLAGS) \ + $(GUDEV_CFLAGS) \ + $(LIBNL_CFLAGS) \ + $(GMODULE_CFLAGS) \ +diff --git a/src/nm-manager.c b/src/nm-manager.c +index 618c4ed..c8ce115 100644 +--- a/src/nm-manager.c ++++ b/src/nm-manager.c +@@ -69,6 +69,7 @@ + #include "nm-device-factory.h" + #include "wifi-utils.h" + #include "nm-enum-types.h" ++#include "nm-sleep-monitor.h" + + #if WITH_CONCHECK + #include "nm-connectivity.h" +@@ -78,8 +79,6 @@ + #define NM_AUTOIP_DBUS_SERVICE "org.freedesktop.nm_avahi_autoipd" + #define NM_AUTOIP_DBUS_IFACE "org.freedesktop.nm_avahi_autoipd" + +-#define UPOWER_DBUS_SERVICE "org.freedesktop.UPower" +- + static gboolean impl_manager_get_devices (NMManager *manager, + GPtrArray **devices, + GError **err); +@@ -228,7 +227,7 @@ typedef struct { + guint modem_removed_id; + + DBusGProxy *aipd_proxy; +- DBusGProxy *upower_proxy; ++ NMSleepMonitor *sleep_monitor; + + GSList *auth_chains; + +@@ -3288,16 +3287,16 @@ impl_manager_sleep (NMManager *self, + } + + static void +-upower_sleeping_cb (DBusGProxy *proxy, gpointer user_data) ++sleeping_cb (DBusGProxy *proxy, gpointer user_data) + { +- nm_log_dbg (LOGD_SUSPEND, "Received UPower sleeping signal"); ++ nm_log_dbg (LOGD_SUSPEND, "Received sleeping signal"); + _internal_sleep (NM_MANAGER (user_data), TRUE); + } + + static void +-upower_resuming_cb (DBusGProxy *proxy, gpointer user_data) ++resuming_cb (DBusGProxy *proxy, gpointer user_data) + { +- nm_log_dbg (LOGD_SUSPEND, "Received UPower resuming signal"); ++ nm_log_dbg (LOGD_SUSPEND, "Received resuming signal"); + _internal_sleep (NM_MANAGER (user_data), FALSE); + } + +@@ -4049,8 +4048,8 @@ dispose (GObject *object) + if (priv->aipd_proxy) + g_object_unref (priv->aipd_proxy); + +- if (priv->upower_proxy) +- g_object_unref (priv->upower_proxy); ++ if (priv->sleep_monitor) ++ g_object_unref (priv->sleep_monitor); + + if (priv->fw_monitor) { + if (priv->fw_monitor_id) +@@ -4372,23 +4371,12 @@ nm_manager_init (NMManager *manager) + } else + nm_log_warn (LOGD_AUTOIP4, "could not initialize avahi-autoipd D-Bus proxy"); + +- /* upower sleep/wake handling */ +- priv->upower_proxy = dbus_g_proxy_new_for_name (g_connection, +- UPOWER_DBUS_SERVICE, +- "/org/freedesktop/UPower", +- "org.freedesktop.UPower"); +- if (priv->upower_proxy) { +- dbus_g_proxy_add_signal (priv->upower_proxy, "Sleeping", G_TYPE_INVALID); +- dbus_g_proxy_connect_signal (priv->upower_proxy, "Sleeping", +- G_CALLBACK (upower_sleeping_cb), +- manager, NULL); +- +- dbus_g_proxy_add_signal (priv->upower_proxy, "Resuming", G_TYPE_INVALID); +- dbus_g_proxy_connect_signal (priv->upower_proxy, "Resuming", +- G_CALLBACK (upower_resuming_cb), +- manager, NULL); +- } else +- nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy"); ++ /* sleep/wake handling */ ++ priv->sleep_monitor = nm_sleep_monitor_get (); ++ g_signal_connect (priv->sleep_monitor, "sleeping", ++ G_CALLBACK (sleeping_cb), manager); ++ g_signal_connect (priv->sleep_monitor, "resuming", ++ G_CALLBACK (resuming_cb), manager); + + /* Listen for authorization changes */ + nm_auth_changed_func_register (authority_changed_cb, manager); +diff --git a/src/nm-sleep-monitor-systemd.c b/src/nm-sleep-monitor-systemd.c +new file mode 100644 +index 0000000..70adc89 +--- /dev/null ++++ b/src/nm-sleep-monitor-systemd.c +@@ -0,0 +1,217 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * (C) Copyright 2012 Red Hat, Inc. ++ * Author: Matthias Clasen <mclasen@redhat.com> ++ */ ++ ++#include "config.h" ++#include <errno.h> ++#include <string.h> ++#include <sys/stat.h> ++#include <dbus/dbus-glib-lowlevel.h> ++#include <dbus/dbus-glib.h> ++#include <gio/gio.h> ++#include <gio/gunixfdlist.h> ++ ++#include "nm-logging.h" ++#include "nm-dbus-manager.h" ++ ++#include "nm-sleep-monitor.h" ++ ++#define SD_NAME "org.freedesktop.login1" ++#define SD_PATH "/org/freedesktop/login1" ++#define SD_INTERFACE "org.freedesktop.login1.Manager" ++ ++ ++struct _NMSleepMonitor { ++ GObject parent_instance; ++ ++ GDBusProxy *sd_proxy; ++ gint inhibit_fd; ++}; ++ ++struct _NMSleepMonitorClass { ++ GObjectClass parent_class; ++ ++ void (*sleeping) (NMSleepMonitor *monitor); ++ void (*resuming) (NMSleepMonitor *monitor); ++}; ++ ++ ++enum { ++ SLEEPING, ++ RESUMING, ++ LAST_SIGNAL, ++}; ++static guint signals[LAST_SIGNAL] = {0}; ++ ++G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_monitor, G_TYPE_OBJECT); ++ ++/********************************************************************/ ++ ++static void ++inhibit_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *sd_proxy = G_DBUS_PROXY (source); ++ NMSleepMonitor *self = user_data; ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (sd_proxy, &fd_list, result, &error); ++ if (!res) { ++ nm_log_warn (LOGD_SUSPEND, "Inhibit failed: %s", error->message); ++ g_error_free (error); ++ } else { ++ if (!fd_list || g_unix_fd_list_get_length (fd_list) != 1) ++ nm_log_warn (LOGD_SUSPEND, "Didn't get a single fd back"); ++ ++ self->inhibit_fd = g_unix_fd_list_get (fd_list, 0, NULL); ++ ++ nm_log_dbg (LOGD_SUSPEND, "Inhibitor fd is %d", self->inhibit_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void ++take_inhibitor (NMSleepMonitor *self) ++{ ++ g_assert (self->inhibit_fd == -1); ++ ++ nm_log_dbg (LOGD_SUSPEND, "Taking systemd sleep inhibitor"); ++ g_dbus_proxy_call_with_unix_fd_list (self->sd_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "sleep", ++ g_get_user_name (), ++ "inhibited", ++ "delay"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_done, ++ self); ++} ++ ++static gboolean ++drop_inhibitor (NMSleepMonitor *self) ++{ ++ if (self->inhibit_fd >= 0) { ++ nm_log_dbg (LOGD_SUSPEND, "Dropping systemd sleep inhibitor"); ++ close (self->inhibit_fd); ++ self->inhibit_fd = -1; ++ return TRUE; ++ } ++ return FALSE; ++} ++ ++static void ++signal_cb (GDBusProxy *proxy, ++ const gchar *sendername, ++ const gchar *signalname, ++ GVariant *args, ++ gpointer data) ++{ ++ NMSleepMonitor *self = data; ++ gboolean is_about_to_suspend; ++ ++ if (strcmp (signalname, "PrepareForSleep") != 0) ++ return; ++ ++ g_variant_get (args, "(b)", &is_about_to_suspend); ++ nm_log_dbg (LOGD_SUSPEND, "Received PrepareForSleep signal: %d", is_about_to_suspend); ++ ++ if (is_about_to_suspend) { ++ g_signal_emit (self, signals[SLEEPING], 0); ++ drop_inhibitor (self); ++ } else { ++ take_inhibitor (self); ++ g_signal_emit (self, signals[RESUMING], 0); ++ } ++} ++ ++static void ++nm_sleep_monitor_init (NMSleepMonitor *self) ++{ ++ GDBusConnection *bus; ++ ++ self->inhibit_fd = -1; ++ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); ++ self->sd_proxy = g_dbus_proxy_new_sync (bus, 0, NULL, ++ SD_NAME, SD_PATH, SD_INTERFACE, ++ NULL, NULL); ++ g_object_unref (bus); ++ g_signal_connect (self->sd_proxy, "g-signal", G_CALLBACK (signal_cb), self); ++ take_inhibitor (self); ++} ++ ++static void ++finalize (GObject *object) ++{ ++ NMSleepMonitor *self = NM_SLEEP_MONITOR (object); ++ ++ drop_inhibitor (self); ++ if (self->sd_proxy) ++ g_object_unref (self->sd_proxy); ++ ++ if (G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize != NULL) ++ G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object); ++} ++ ++static void ++nm_sleep_monitor_class_init (NMSleepMonitorClass *klass) ++{ ++ GObjectClass *gobject_class; ++ ++ gobject_class = G_OBJECT_CLASS (klass); ++ ++ gobject_class->finalize = finalize; ++ ++ signals[SLEEPING] = g_signal_new (NM_SLEEP_MONITOR_SLEEPING, ++ NM_TYPE_SLEEP_MONITOR, ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (NMSleepMonitorClass, sleeping), ++ NULL, /* accumulator */ ++ NULL, /* accumulator data */ ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++ signals[RESUMING] = g_signal_new (NM_SLEEP_MONITOR_RESUMING, ++ NM_TYPE_SLEEP_MONITOR, ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (NMSleepMonitorClass, resuming), ++ NULL, /* accumulator */ ++ NULL, /* accumulator data */ ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++} ++ ++NMSleepMonitor * ++nm_sleep_monitor_get (void) ++{ ++ static NMSleepMonitor *singleton = NULL; ++ ++ if (singleton) ++ return g_object_ref (singleton); ++ ++ singleton = NM_SLEEP_MONITOR (g_object_new (NM_TYPE_SLEEP_MONITOR, NULL)); ++ return singleton; ++} ++ ++/* ---------------------------------------------------------------------------------------------------- */ +diff --git a/src/nm-sleep-monitor-upower.c b/src/nm-sleep-monitor-upower.c +new file mode 100644 +index 0000000..3c93f66 +--- /dev/null ++++ b/src/nm-sleep-monitor-upower.c +@@ -0,0 +1,151 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * (C) Copyright 2012 Red Hat, Inc. ++ * Author: Matthias Clasen <mclasen@redhat.com> ++ */ ++ ++#include "config.h" ++#include <errno.h> ++#include <string.h> ++#include <sys/stat.h> ++#include <dbus/dbus-glib-lowlevel.h> ++#include <dbus/dbus-glib.h> ++#include <gio/gio.h> ++#include "nm-logging.h" ++#include "nm-dbus-manager.h" ++ ++#include "nm-sleep-monitor.h" ++ ++#define UPOWER_DBUS_SERVICE "org.freedesktop.UPower" ++ ++struct _NMSleepMonitor { ++ GObject parent_instance; ++ ++ DBusGProxy *upower_proxy; ++}; ++ ++struct _NMSleepMonitorClass { ++ GObjectClass parent_class; ++ ++ void (*sleeping) (NMSleepMonitor *monitor); ++ void (*resuming) (NMSleepMonitor *monitor); ++}; ++ ++ ++enum { ++ SLEEPING, ++ RESUMING, ++ LAST_SIGNAL, ++}; ++static guint signals[LAST_SIGNAL] = {0}; ++ ++G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_monitor, G_TYPE_OBJECT); ++ ++/********************************************************************/ ++ ++static void ++upower_sleeping_cb (DBusGProxy *proxy, gpointer user_data) ++{ ++ nm_log_dbg (LOGD_SUSPEND, "Received UPower sleeping signal"); ++ g_signal_emit (user_data, signals[SLEEPING], 0); ++} ++ ++static void ++upower_resuming_cb (DBusGProxy *proxy, gpointer user_data) ++{ ++ nm_log_dbg (LOGD_SUSPEND, "Received UPower resuming signal"); ++ g_signal_emit (user_data, signals[RESUMING], 0); ++} ++ ++static void ++nm_sleep_monitor_init (NMSleepMonitor *self) ++{ ++ NMDBusManager *dbus_mgr; ++ DBusGConnection *bus; ++ ++ dbus_mgr = nm_dbus_manager_get (); ++ bus = nm_dbus_manager_get_connection (dbus_mgr); ++ self->upower_proxy = dbus_g_proxy_new_for_name (bus, ++ UPOWER_DBUS_SERVICE, ++ "/org/freedesktop/UPower", ++ "org.freedesktop.UPower"); ++ if (self->upower_proxy) { ++ dbus_g_proxy_add_signal (self->upower_proxy, "Sleeping", G_TYPE_INVALID); ++ dbus_g_proxy_connect_signal (self->upower_proxy, "Sleeping", ++ G_CALLBACK (upower_sleeping_cb), ++ self, NULL); ++ ++ dbus_g_proxy_add_signal (self->upower_proxy, "Resuming", G_TYPE_INVALID); ++ dbus_g_proxy_connect_signal (self->upower_proxy, "Resuming", ++ G_CALLBACK (upower_resuming_cb), ++ self, NULL); ++ } else ++ nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy"); ++ g_object_unref (dbus_mgr); ++} ++ ++static void ++finalize (GObject *object) ++{ ++ NMSleepMonitor *self = NM_SLEEP_MONITOR (object); ++ ++ if (self->upower_proxy) ++ g_object_unref (self->upower_proxy); ++ ++ if (G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize != NULL) ++ G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object); ++} ++ ++static void ++nm_sleep_monitor_class_init (NMSleepMonitorClass *klass) ++{ ++ GObjectClass *gobject_class; ++ ++ gobject_class = G_OBJECT_CLASS (klass); ++ ++ gobject_class->finalize = finalize; ++ ++ signals[SLEEPING] = g_signal_new (NM_SLEEP_MONITOR_SLEEPING, ++ NM_TYPE_SLEEP_MONITOR, ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (NMSleepMonitorClass, sleeping), ++ NULL, /* accumulator */ ++ NULL, /* accumulator data */ ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++ signals[RESUMING] = g_signal_new (NM_SLEEP_MONITOR_RESUMING, ++ NM_TYPE_SLEEP_MONITOR, ++ G_SIGNAL_RUN_LAST, ++ G_STRUCT_OFFSET (NMSleepMonitorClass, resuming), ++ NULL, /* accumulator */ ++ NULL, /* accumulator data */ ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++} ++ ++NMSleepMonitor * ++nm_sleep_monitor_get (void) ++{ ++ static NMSleepMonitor *singleton = NULL; ++ ++ if (singleton) ++ return g_object_ref (singleton); ++ ++ singleton = NM_SLEEP_MONITOR (g_object_new (NM_TYPE_SLEEP_MONITOR, NULL)); ++ return singleton; ++} ++ ++/* ---------------------------------------------------------------------------------------------------- */ +diff --git a/src/nm-sleep-monitor.h b/src/nm-sleep-monitor.h +new file mode 100644 +index 0000000..173e6a1 +--- /dev/null ++++ b/src/nm-sleep-monitor.h +@@ -0,0 +1,46 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * (C) Copyright 2012 Red Hat, Inc. ++ * Author: Matthias Clasen <mclasen@redhat.com> ++ */ ++ ++#ifndef NM_SLEEP_MONITOR_H ++#define NM_SLEEP_MONITOR_H ++ ++#include <glib-object.h> ++ ++G_BEGIN_DECLS ++ ++#define NM_TYPE_SLEEP_MONITOR (nm_sleep_monitor_get_type ()) ++#define NM_SLEEP_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NM_TYPE_SLEEP_MONITOR, NMSleepMonitor)) ++#define NM_SLEEP_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), NM_TYPE_SLEEP_MONITOR, NMSleepMonitorClass)) ++#define NM_SLEEP_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NM_TYPE_SLEEP_MONITOR, NMSleepMonitorClass)) ++#define NM_IS_SLEEP_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NM_TYPE_SLEEP_MONITOR)) ++#define NM_IS_SLEEP_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NM_TYPE_SLEEP_MONITOR)) ++ ++#define NM_SLEEP_MONITOR_SLEEPING "sleeping" ++#define NM_SLEEP_MONITOR_RESUMING "resuming" ++ ++typedef struct _NMSleepMonitor NMSleepMonitor; ++typedef struct _NMSleepMonitorClass NMSleepMonitorClass; ++ ++GType nm_sleep_monitor_get_type (void) G_GNUC_CONST; ++NMSleepMonitor *nm_sleep_monitor_get (void); ++ ++G_END_DECLS ++ ++#endif /* NM_SLEEP_MONITOR_H */ ++ +-- +1.7.12.2 + diff --git a/testing/pango/PKGBUILD b/testing/pango/PKGBUILD new file mode 100644 index 000000000..1e6d3616c --- /dev/null +++ b/testing/pango/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169163 2012-10-18 19:23:05Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=pango +pkgver=1.32.1 +pkgrel=1 +pkgdesc="A library for layout and rendering of text" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('libthai' 'cairo' 'libxft' 'harfbuzz') +makedepends=('harfbuzz' 'fontconfig' 'cairo' 'libxft' 'libthai' 'gobject-introspection') +options=('!libtool') +install=pango.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver:0:4}/${pkgname}-${pkgver}.tar.xz) +url="http://www.pango.org/" +sha256sums=('484babf7e1ac4bf959a0babe8168f180acb516932d70e2985de5f6e2961fcd82') + +build() { + cd ${pkgname}-${pkgver} + + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --with-included-modules=basic-fc + make +} + +package() { + cd ${pkgname}-${pkgver} + make -j1 DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/etc/pango" +} diff --git a/testing/pango/pango.install b/testing/pango/pango.install new file mode 100644 index 000000000..73b0f5bf1 --- /dev/null +++ b/testing/pango/pango.install @@ -0,0 +1,21 @@ +# arg 1: the new package version +post_install() { + # we need to ldconfig first, in case xfree86's libs aren't + # in ld.so.cache yet + sbin/ldconfig -r . + usr/bin/pango-querymodules >etc/pango/pango.modules +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + if [ -f usr/etc/pango/pango.modules ]; then + rm usr/etc/pango/pango.modules + fi + post_install $1 +} + +# arg 1: the old package version +pre_remove() { + rm etc/pango/pango.modules +} diff --git a/testing/pangox-compat/PKGBUILD b/testing/pangox-compat/PKGBUILD new file mode 100644 index 000000000..13375e949 --- /dev/null +++ b/testing/pangox-compat/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 169162 2012-10-18 19:23:02Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=pangox-compat +pkgver=0.0.2 +pkgrel=1 +pkgdesc="X Window System font support for Pango" +arch=('i686' 'x86_64') +license=('LGPL') +depends=('pango') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver:0:3}/${pkgname}-${pkgver}.tar.xz) +url="http://www.pango.org/" +sha256sums=('552092b3b6c23f47f4beee05495d0f9a153781f62a1c4b7ec53857a37dfce046') + +build() { + cd ${pkgname}-${pkgver} + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static + make +} + +package() { + cd ${pkgname}-${pkgver} + make -j1 DESTDIR="${pkgdir}" install +} diff --git a/testing/pidgin/PKGBUILD b/testing/pidgin/PKGBUILD new file mode 100644 index 000000000..f87f625dd --- /dev/null +++ b/testing/pidgin/PKGBUILD @@ -0,0 +1,100 @@ +# $Id: PKGBUILD 169161 2012-10-18 19:22:57Z jgc $ +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Alexander Fehr <pizzapunk gmail com> +# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl> + +pkgname=('pidgin' 'libpurple' 'finch') +pkgver=2.10.6 +pkgrel=2 +arch=('i686' 'x86_64') +url="http://pidgin.im/" +license=('GPL') +makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm' + 'libidn' 'python2' 'hicolor-icon-theme' 'gstreamer0.10' 'avahi' + 'tk' 'ca-certificates' 'intltool' + 'networkmanager') +options=('!libtool') +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2) +sha256sums=('3e25a633b97cbfa8326999a30282e7a662a9b9bbf2853be84af0b8fb60392c96') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # Use Python 2 + sed -i 's/env python$/&2/' */plugins/*.py \ + libpurple/purple-{remote,notifications-example,url-handler} + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-schemas-install \ + --disable-meanwhile \ + --disable-gnutls \ + --enable-cyrus-sasl \ + --disable-doxygen \ + --enable-nm \ + --disable-vv \ + --with-python=/usr/bin/python2 \ + --with-system-ssl-certs=/etc/ssl/certs + make +} + +package_pidgin(){ + pkgdesc="Multi-protocol instant messaging client" + depends=('libpurple' 'startup-notification' 'gtkspell' 'libxss' 'libsm' + 'hicolor-icon-theme') + optdepends=('aspell: for spelling correction') + install=pidgin.install + + cd "$srcdir/pidgin-$pkgver" + + # For linking + make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES + + make -C pidgin DESTDIR="$pkgdir" install + make -C doc DESTDIR="$pkgdir" install + + # Remove files that are packaged in libpurle + make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES + + install -Dm644 pidgin.desktop "$pkgdir"/usr/share/applications/pidgin.desktop + + rm "$pkgdir/usr/share/man/man1/finch.1" +} + +package_libpurple(){ + pkgdesc="IM library extracted from Pidgin" + depends=('gstreamer0.10' 'libsasl' 'libidn' 'dbus-glib' 'nss') + optdepends=('avahi: Bonjour protocol support' + 'ca-certificates: SSL CA certificates' + 'python2-dbus: for purple-remote and purple-url-handler' + 'tk: Tcl/Tk scripting support') + + cd "$srcdir/pidgin-$pkgver" + + for _dir in libpurple share/sounds share/ca-certs m4macros po; do + make -C "$_dir" DESTDIR="$pkgdir" install + done +} + +package_finch(){ + pkgdesc="A ncurses-based messaging client" + depends=("libpurple=$pkgver-$pkgrel" 'libx11' 'python2') + + cd "$srcdir/pidgin-$pkgver" + + # For linking + make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES + + make -C finch DESTDIR="$pkgdir" install + make -C doc DESTDIR="$pkgdir" install + + # Remove files that are packaged in libpurle + make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES + + rm "$pkgdir"/usr/share/man/man1/pidgin.1 +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/pidgin/pidgin.install b/testing/pidgin/pidgin.install new file mode 100644 index 000000000..1a05f573e --- /dev/null +++ b/testing/pidgin/pidgin.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/polkit/PKGBUILD b/testing/polkit/PKGBUILD index 2bc0b25de..70bb6e4d8 100644 --- a/testing/polkit/PKGBUILD +++ b/testing/polkit/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 166700 2012-09-16 00:09:31Z heftig $ +# $Id: PKGBUILD 169160 2012-10-18 19:22:54Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=polkit pkgver=0.107 -pkgrel=2 +pkgrel=4 pkgdesc="Application development toolkit for controlling system-wide privileges" arch=(i686 x86_64) license=('LGPL') @@ -13,22 +13,19 @@ makedepends=('intltool' 'gtk-doc' 'gobject-introspection') replaces=('policykit') options=('!libtool') install=polkit.install -source=("http://www.freedesktop.org/software/polkit/releases/$pkgname-$pkgver.tar.gz" - 'polkit.pam' - 'logind+ConsoleKit.patch' - 'autogen.sh') +source=(http://www.freedesktop.org/software/polkit/releases/$pkgname-$pkgver.tar.gz + polkit.pam fix-empty-wheel.patch) md5sums=('0e4f9c53f43fd1b25ac3f0d2e09b2ae1' '6564f95878297b954f0572bc1610dd15' - 'fb71d43442dbf24f8760198a9a79c5e7' - '38fe3119284e842e66b330b0f2ba230d') + 'c99ab2a7919ad0b69fde4804c043b07f') build() { cd $pkgname-$pkgver - patch -p1 <../logind+ConsoleKit.patch + # https://bugs.archlinux.org/task/31717 + patch -Np1 -i ../fix-empty-wheel.patch - cp ../autogen.sh . - ./autogen.sh --prefix=/usr --sysconfdir=/etc \ + ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --libexecdir=/usr/lib/polkit-1 \ --with-systemdsystemunitdir=/usr/lib/systemd/system \ --disable-static --enable-gtk-doc diff --git a/testing/polkit/fix-empty-wheel.patch b/testing/polkit/fix-empty-wheel.patch new file mode 100644 index 000000000..d6f99c43d --- /dev/null +++ b/testing/polkit/fix-empty-wheel.patch @@ -0,0 +1,47 @@ +From fa04223240d46641b0773dbf9f7d72f529046bea Mon Sep 17 00:00:00 2001 +From: David Zeuthen <zeuthen@gmail.com> +Date: Tue, 18 Sep 2012 18:47:06 +0000 +Subject: Fall back to authenticating as uid 0 if the list of admin identities is empty + +For example, this can happen if the wheel group has no members. This +was reported in Red Hat bug 834494, see + + https://bugzilla.redhat.com/show_bug.cgi?id=834494 + +Signed-off-by: David Zeuthen <zeuthen@gmail.com> +--- +diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c +index 1d4a555..3bd2f0b 100644 +--- a/src/polkitbackend/polkitbackendinteractiveauthority.c ++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c +@@ -1293,15 +1293,11 @@ polkit_backend_interactive_authority_get_admin_identities (PolkitBackendInteract + PolkitDetails *details) + { + PolkitBackendInteractiveAuthorityClass *klass; +- GList *ret; ++ GList *ret = NULL; + + klass = POLKIT_BACKEND_INTERACTIVE_AUTHORITY_GET_CLASS (authority); + +- if (klass->get_admin_identities == NULL) +- { +- ret = g_list_prepend (NULL, polkit_unix_user_new (0)); +- } +- else ++ if (klass->get_admin_identities != NULL) + { + ret = klass->get_admin_identities (authority, + caller, +@@ -2257,6 +2253,10 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent, + } + } + ++ /* Fall back to uid 0 if no users are available (rhbz #834494) */ ++ if (user_identities == NULL) ++ user_identities = g_list_prepend (NULL, polkit_unix_user_new (0)); ++ + session = authentication_session_new (agent, + cookie, + subject, +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/pygobject/PKGBUILD b/testing/pygobject/PKGBUILD index ba46a1a38..33f064936 100644 --- a/testing/pygobject/PKGBUILD +++ b/testing/pygobject/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 168846 2012-10-16 11:54:03Z allan $ +# $Id: PKGBUILD 169159 2012-10-18 19:22:49Z jgc $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgbase=pygobject pkgname=(python-gobject python2-gobject pygobject-devel) -pkgver=3.2.2 -pkgrel=2 +pkgver=3.4.1.1 +pkgrel=1 arch=('i686' 'x86_64') url="https://live.gnome.org/PyGObject" license=('LGPL') makedepends=('python' 'python2' 'python-cairo' 'python2-cairo' 'gobject-introspection') -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz) +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver::3}/$pkgbase-$pkgver.tar.xz) options=('!libtool') -sha256sums=('4653790baaff0176fd814b88cfb5378c45906a120b25d01be2554f423b726eb0') +sha256sums=('dbcff64a641b4eb251a3ca72c782c8a2318c3bbf4a31bffc40446e15111e6017') build() { cp -a "$pkgbase-$pkgver" python2-build diff --git a/testing/rest/PKGBUILD b/testing/rest/PKGBUILD new file mode 100644 index 000000000..e21b8d110 --- /dev/null +++ b/testing/rest/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169158 2012-10-18 19:22:47Z jgc $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> + +pkgname=rest +pkgver=0.7.90 +pkgrel=1 +pkgdesc="A helper library for RESTful services." +arch=('i686' 'x86_64') +url="http://www.gtk.org/" +license=('GPL2') +depends=('glib2' 'libxml2' 'libsoup-gnome') +makedepends=('gobject-introspection') +options=('!libtool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.xz) +sha256sums=('1d682acaac4d946cc7c98a2dd9d65a8c83a6fdb8ca6759e70b8b5042fe66c022') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="${pkgdir}" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/rhythmbox/PKGBUILD b/testing/rhythmbox/PKGBUILD index bd2a3a62e..2c507c786 100644 --- a/testing/rhythmbox/PKGBUILD +++ b/testing/rhythmbox/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 164297 2012-07-29 23:16:02Z tomegun $ +# $Id: PKGBUILD 169157 2012-10-18 19:22:44Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=rhythmbox -pkgver=2.97 +pkgver=2.98 pkgrel=2 pkgdesc="An iTunes-like music playback and management application" arch=('i686' 'x86_64') license=('GPL') url="http://www.rhythmbox.org" -depends=('clutter' 'clutter-gtk' 'clutter-gst' 'dconf' 'desktop-file-utils' 'grilo' +depends=('dconf' 'desktop-file-utils' 'grilo' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'gvfs-afc' 'json-glib' - 'libdmapsharing' 'libgpod' 'libmtp' 'libmusicbrainz4' 'libnotify' 'libpeas' 'libwebkit3' - 'lirc-utils' 'media-player-info' 'mx' 'python2-gobject' 'python2-mako' 'totem-plparser' + 'libdmapsharing' 'libgpod' 'libmtp' 'libnotify' 'libpeas' + 'lirc-utils' 'media-player-info' 'python2-gobject' 'python2-mako' 'totem-plparser' 'tdb' 'libdiscid') makedepends=('gnome-doc-utils' 'intltool' 'brasero' 'gobject-introspection' 'vala') optdepends=('gstreamer0.10-ugly-plugins: Extra media codecs' @@ -22,20 +22,20 @@ optdepends=('gstreamer0.10-ugly-plugins: Extra media codecs' options=('!libtool' '!emptydirs') install=rhythmbox.install source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz) -sha256sums=('b52567cf45bf13c0452593da7f907920bd4cf31916ca8dcd15d555336b4947e4') +sha256sums=('a5c0a18a7c76133d36c7dcbdc37e304eae8272703985b17b540d68603b0c76d5') build() { cd "$pkgname-$pkgver" PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/rhythmbox \ --localstatedir=/var --disable-static \ - --enable-daap --enable-python --enable-musicbrainz \ - --with-mdns=avahi --disable-scrollkeeper + --enable-daap --enable-python --enable-vala \ + --with-mdns=avahi --disable-scrollkeeper --without-webkit make } package() { cd "$pkgname-$pkgver" - make DESTDIR="$pkgdir" install + rm -r "$pkgdir/usr/lib/rhythmbox/sample-plugins" } diff --git a/testing/seahorse/PKGBUILD b/testing/seahorse/PKGBUILD new file mode 100644 index 000000000..d1591ed7c --- /dev/null +++ b/testing/seahorse/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 169156 2012-10-18 19:22:42Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Michel Brabants <michel.linux@tiscali.be> + +pkgname=seahorse +pkgver=3.6.1 +pkgrel=1 +pkgdesc="GNOME application for managing PGP keys." +arch=(i686 x86_64) +license=(GPL) +url="http://projects.gnome.org/seahorse/" +depends=(gtk3 gcr libsecret libsoup gpgme desktop-file-utils hicolor-icon-theme dconf) +makedepends=(libldap intltool yelp-tools gobject-introspection openssh libsm) +optdepends=('openssh: SSH support') +provides=(x11-ssh-askpass) +options=('!libtool' '!emptydirs') +groups=(gnome-extra) +install=seahorse.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz + seahorse-ssh-askpass.sh) +sha256sums=('dcdd9681a7896a13a597cf02aa2d6718b5f0ab3b50ed81f8d24b8db296a9214b' + '400ea9a6084acc93f1dbd4223b95622bbd48071b763063328efba00de378b68c') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --enable-ldap --enable-hkp \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm755 "$srcdir/seahorse-ssh-askpass.sh" \ + "$pkgdir/etc/profile.d/seahorse-ssh-askpass.sh" +} diff --git a/testing/seahorse/seahorse-ssh-askpass.sh b/testing/seahorse/seahorse-ssh-askpass.sh new file mode 100644 index 000000000..04f79d8f2 --- /dev/null +++ b/testing/seahorse/seahorse-ssh-askpass.sh @@ -0,0 +1,3 @@ +if [ -z "$SSH_ASKPASS" ] && [ -n "$DISPLAY" ]; then + export SSH_ASKPASS=/usr/lib/seahorse/seahorse-ssh-askpass +fi diff --git a/testing/seahorse/seahorse.install b/testing/seahorse/seahorse.install new file mode 100644 index 000000000..1571179ca --- /dev/null +++ b/testing/seahorse/seahorse.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/slim/PKGBUILD b/testing/slim/PKGBUILD new file mode 100644 index 000000000..3aa5a9f1b --- /dev/null +++ b/testing/slim/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 169287 2012-10-18 19:49:16Z jgc $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Thayer Williams <thayer@archlinux.org> +# Contributor: Alexander Fehr <pizzapunk gmail com> +# Contributor: Hugo Ideler <hugoideler@dse.nl> + +pkgname=slim +pkgver=1.3.4 +pkgrel=4 +pkgdesc='Desktop-independent graphical login manager for X11' +arch=('i686' 'x86_64') +url='http://slim.berlios.de/' +license=('GPL2') +depends=('pam' 'libxmu' 'libpng' 'libjpeg' 'libxft') +makedepends=('cmake' 'freeglut') +backup=('etc/slim.conf' 'etc/logrotate.d/slim' 'etc/pam.d/slim') +source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'rc.d' + 'pam.d' + 'logrotate' + 'slim.service' + 'session-name.patch' + 'libpng-1.4+-support.patch' + 'fix-glibc-segfault-1.3.4.patch') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../session-name.patch # FS#26693: fix default session name + patch -Np1 -i ../libpng-1.4+-support.patch # taken from gentoo to build + patch -Np0 -i ../fix-glibc-segfault-1.3.4.patch # FS#30864 + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_PAM=yes -DUSE_CONSOLEKIT=no + make +} + +package() { + cd ${srcdir}/build/ + make DESTDIR="${pkgdir}" install + + install -D -m755 ../rc.d "${pkgdir}"/etc/rc.d/slim + install -D -m644 ../pam.d "${pkgdir}"/etc/pam.d/slim + install -D -m644 ../logrotate "${pkgdir}"/etc/logrotate.d/slim + + # Provide sane defaults + sed -i 's|#xserver_arguments.*|xserver_arguments -nolisten tcp vt07|' "${pkgdir}"/etc/slim.conf + sed -i 's|/var/run/slim.lock|/var/lock/slim.lock|' "${pkgdir}"/etc/slim.conf + # install systemd files + install -D -m644 ${srcdir}/slim.service ${pkgdir}/usr/lib/systemd/system/slim.service +} +md5sums=('51543533e492b41007811f7d880720fa' + 'd8ea9c4dee2811524b67f4f666311a1f' + '37ef35079139544d04b8316c7f66f754' + '43da096480bf72c3ccec8ad8400f34f0' + 'a5d6bde9e63899df7d2081e1585bbe54' + 'ebcb6829028615686de7b64ceeaaf8ed' + '6d19bd7a91592ed2bb902b22b9594565' + '9efc4e0d82d354f0c578be7723870769') diff --git a/testing/slim/fix-glibc-segfault-1.3.4.patch b/testing/slim/fix-glibc-segfault-1.3.4.patch new file mode 100644 index 000000000..b035f8a78 --- /dev/null +++ b/testing/slim/fix-glibc-segfault-1.3.4.patch @@ -0,0 +1,13 @@ +Index: app.cpp +=================================================================== +--- app.cpp (revision 223) ++++ app.cpp (working copy) +@@ -593,7 +593,7 @@ + + n++; + +- child_env = static_cast<char**>(malloc(sizeof(char*)*n)); ++ child_env = static_cast<char**>(malloc(sizeof(char*)*(n+1))); + memcpy(child_env, old_env, sizeof(char*)*n); + child_env[n - 1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie()); + child_env[n] = NULL; diff --git a/testing/slim/libpng-1.4+-support.patch b/testing/slim/libpng-1.4+-support.patch new file mode 100644 index 000000000..57b39272b --- /dev/null +++ b/testing/slim/libpng-1.4+-support.patch @@ -0,0 +1,14 @@ +--- a/image.cpp 2012-06-26 04:20:14.000000000 -0400 ++++ b/image.cpp 2012-06-27 11:41:34.000000000 -0400 +@@ -781,7 +781,11 @@ + (png_infopp) NULL); + } + ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 ++ if (setjmp(png_jmpbuf((png_ptr)))) { ++#else + if (setjmp(png_ptr->jmpbuf)) { ++#endif + goto png_destroy; + } + diff --git a/testing/slim/logrotate b/testing/slim/logrotate new file mode 100644 index 000000000..26ec3b0f4 --- /dev/null +++ b/testing/slim/logrotate @@ -0,0 +1,9 @@ +/var/log/slim.log { + compress + rotate 1 + size 1024k + notifempty + missingok + copytruncate + noolddir +} diff --git a/testing/slim/pam.d b/testing/slim/pam.d new file mode 100644 index 000000000..59db5a8c5 --- /dev/null +++ b/testing/slim/pam.d @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +account required pam_unix.so +password required pam_unix.so +session required pam_limits.so +session required pam_unix.so +session optional pam_loginuid.so +-session optional pam_systemd.so diff --git a/testing/slim/rc.d b/testing/slim/rc.d new file mode 100755 index 000000000..b0be7ffc5 --- /dev/null +++ b/testing/slim/rc.d @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/bin/slim` +case "$1" in + start) + stat_busy "Starting Simple Login Manager" + [ -z "$PID" ] && /usr/bin/slim -d &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon slim + stat_done + fi + ;; + stop) + stat_busy "Stopping Simple Login Manager" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon slim + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/slim/session-name.patch b/testing/slim/session-name.patch new file mode 100644 index 000000000..8211c4f72 --- /dev/null +++ b/testing/slim/session-name.patch @@ -0,0 +1,21 @@ +diff -Naur slim-1.3.2.old/panel.cpp slim-1.3.2.new/panel.cpp +--- slim-1.3.2.old/panel.cpp 2010-10-24 06:01:15.117000019 +0000 ++++ slim-1.3.2.new/panel.cpp 2010-10-24 17:26:30.987999967 +0000 +@@ -23,7 +23,7 @@ + Root = root; + cfg = config; + +- session = ""; ++ session = cfg->nextSession(session); + + // Init GC + XGCValues gcv; +@@ -188,7 +188,7 @@ + } + + void Panel::ClearPanel() { +- session = ""; ++ session = cfg->nextSession(session); + Reset(); + XClearWindow(Dpy, Root); + XClearWindow(Dpy, Win); diff --git a/testing/slim/slim.service b/testing/slim/slim.service new file mode 100644 index 000000000..b894085a0 --- /dev/null +++ b/testing/slim/slim.service @@ -0,0 +1,9 @@ +[Unit] +Description=SLiM Simple Login Manager +After=systemd-user-sessions.service + +[Service] +ExecStart=/usr/bin/slim -nodaemon + +[Install] +Alias=display-manager.service diff --git a/testing/slim/tty-slowness.patch b/testing/slim/tty-slowness.patch new file mode 100644 index 000000000..c590fbed8 --- /dev/null +++ b/testing/slim/tty-slowness.patch @@ -0,0 +1,30 @@ +diff -aur slim-1.3.2.a/app.cpp slim-1.3.2.b/app.cpp +--- slim-1.3.2.a/app.cpp 2010-08-21 15:10:13.702755711 +0200 ++++ slim-1.3.2.b/app.cpp 2010-08-21 15:10:48.579631179 +0200 +@@ -280,21 +280,22 @@ + signal(SIGALRM, AlarmSignal); + + #ifndef XNEST_DEBUG +- OpenLog(); +- + if (!force_nodaemon && cfg->getOption("daemon") == "yes") { + daemonmode = true; + } + + // Daemonize + if (daemonmode) { +- if (daemon(0, 1) == -1) { ++ if (daemon(0, 0) == -1) { + cerr << APPNAME << ": " << strerror(errno) << endl; + exit(ERR_EXIT); + } +- UpdatePid(); + } + ++ OpenLog(); ++ ++ if (daemonmode) UpdatePid(); ++ + CreateServerAuth(); + StartServer(); + alarm(2); diff --git a/testing/sushi/PKGBUILD b/testing/sushi/PKGBUILD new file mode 100644 index 000000000..1e00c9a59 --- /dev/null +++ b/testing/sushi/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169155 2012-10-18 19:22:40Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=sushi +pkgver=3.6.0 +pkgrel=1 +pkgdesc="A quick previewer for Nautilus" +arch=(i686 x86_64) +url="http://www.gnome.org" +license=('GPL2') +groups=(gnome-extra) +depends=('clutter-gtk' 'clutter-gst' 'gjs' 'libmusicbrainz5' 'webkitgtk3' 'gtksourceview3' 'evince') +install=sushi.install +makedepends=('intltool' 'gobject-introspection') +options=(!libtool) +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('506f0f1f934e9e6c0f5584619c3f2ab0d5906248472ca1bf08a159504ad02f78') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --libexecdir=/usr/lib/sushi + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/sushi/sushi.install b/testing/sushi/sushi.install new file mode 100644 index 000000000..c19349f72 --- /dev/null +++ b/testing/sushi/sushi.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/telepathy-farstream/PKGBUILD b/testing/telepathy-farstream/PKGBUILD new file mode 100644 index 000000000..9c0821374 --- /dev/null +++ b/testing/telepathy-farstream/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169154 2012-10-18 19:22:38Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=telepathy-farstream +pkgver=0.6.0 +pkgrel=1 +pkgdesc="A telepathy-backend to use stream engine." +arch=(i686 x86_64) +url="http://telepathy.freedesktop.org" +license=('LGPL2.1') +depends=('telepathy-glib' 'farstream') +makedepends=('dbus-glib' 'gobject-introspection') +conflicts=('telepathy-farsight') +replaces=('telepathy-farsight') +options=('!libtool') +source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('d154350f9f1e3bdba87617c0668481a5') + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/telepathy \ + --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/telepathy-gabble/PKGBUILD b/testing/telepathy-gabble/PKGBUILD new file mode 100644 index 000000000..2ae8c9650 --- /dev/null +++ b/testing/telepathy-gabble/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169153 2012-10-18 19:22:37Z jgc $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: Daniel Balieiro <daniel@balieiro.com> +# Contributor: Rodrigo L. M. Flores <mail@rodrigoflores.org> +pkgname=telepathy-gabble +pkgver=0.17.1 +pkgrel=1 +pkgdesc="A Jabber/XMPP connection manager for Telepathy" +arch=('i686' 'x86_64') +url="http://telepathy.freedesktop.org" +groups=('telepathy') +license=('LGPL2.1') +depends=('telepathy-glib' 'libsoup' 'libnice' 'sqlite') +makedepends=('libxslt' 'python2') +options=('!libtool' '!emptydirs') +source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz) +install=telepathy-gabble.install +md5sums=('42e01fdc4117255080883495411e7318') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --libexecdir=/usr/lib/telepathy --with-tls=openssl + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/telepathy-gabble-xmpp-console" +} diff --git a/testing/telepathy-gabble/telepathy-gabble.install b/testing/telepathy-gabble/telepathy-gabble.install new file mode 100644 index 000000000..87d7838b8 --- /dev/null +++ b/testing/telepathy-gabble/telepathy-gabble.install @@ -0,0 +1,13 @@ +post_install() { + killall -HUP dbus-daemon 2>&1 +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/telepathy-glib/PKGBUILD b/testing/telepathy-glib/PKGBUILD new file mode 100644 index 000000000..29f21ee83 --- /dev/null +++ b/testing/telepathy-glib/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169152 2012-10-18 19:22:35Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com +# Contributor: Bjorn Lindeijer <bjorn lindeijer nl> + +pkgname=telepathy-glib +pkgver=0.20.0 +pkgrel=1 +pkgdesc="GLib bindings for the Telepathy D-Bus protocol" +arch=('i686' 'x86_64') +url="http://telepathy.freedesktop.org" +license=('LGPL2.1') +options=('!libtool' '!emptydirs') +depends=('dbus-glib') +makedepends=('libxslt' 'vala' 'gobject-introspection') +source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('9d7b2bcc2d9f8e0352c8789952717d83') + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --libexecdir=/usr/lib/telepathy \ + --enable-vala-bindings \ + --enable-static=no + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/telepathy-mission-control/PKGBUILD b/testing/telepathy-mission-control/PKGBUILD new file mode 100644 index 000000000..fd9c4ac92 --- /dev/null +++ b/testing/telepathy-mission-control/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 169151 2012-10-18 19:22:33Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Ju Liu <liuju86 at gmail dot com> +# Contributor: Bjorn Lindeijer <bjorn lindeijer nl> +# Contributor: Andreas Zwinkau <beza1e1@web.de> + +pkgname=telepathy-mission-control +pkgver=5.14.0 +pkgrel=1 +pkgdesc="A Telepathy component providing abstraction of some of the details of connection managers." +arch=('i686' 'x86_64') +url="http://telepathy.freedesktop.org/wiki/Mission Control" +license=('LGPL2.1') +depends=('telepathy-glib' 'libgnome-keyring' 'dconf' 'upower' 'networkmanager') +makedepends=('libxslt' 'python2') +install=telepathy-mission-control.install +options=('!libtool') +source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('483fa8860891815a540ecf1bb9155122') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --libexecdir=/usr/lib/telepathy \ + --enable-gnome-keyring \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/testing/telepathy-mission-control/telepathy-mission-control.install b/testing/telepathy-mission-control/telepathy-mission-control.install new file mode 100644 index 000000000..c25dff2d3 --- /dev/null +++ b/testing/telepathy-mission-control/telepathy-mission-control.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/totem-plparser/PKGBUILD b/testing/totem-plparser/PKGBUILD new file mode 100644 index 000000000..22ee81c89 --- /dev/null +++ b/testing/totem-plparser/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 169150 2012-10-18 19:22:31Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=totem-plparser +pkgver=3.4.3 +pkgrel=1 +url="http://www.gnome.org" +pkgdesc="Totem playlist parser library" +license=('LGPL') +arch=(i686 x86_64) +depends=('gmime' 'libsoup-gnome' 'libarchive' 'libquvi') +makedepends=('intltool' 'gobject-introspection') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/${pkgver%.*}/totem-pl-parser-$pkgver.tar.xz) +sha256sums=('ab8beed4dd5d3a5d7ed5dc8b357e94dc03a8553fef6e33c2e7fb63a76e44c42b') + +build() { + cd totem-pl-parser-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static + make +} + +package(){ + cd totem-pl-parser-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/totem/PKGBUILD b/testing/totem/PKGBUILD new file mode 100644 index 000000000..e5f3cf652 --- /dev/null +++ b/testing/totem/PKGBUILD @@ -0,0 +1,70 @@ +# $Id: PKGBUILD 169149 2012-10-18 19:22:29Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgbase=totem +pkgname=('totem' 'totem-plugin') +pkgver=3.6.0 +pkgrel=1 +pkgdesc="GNOME3 movie player based on GStreamer" +url="http://www.gnome.org" +arch=(i686 x86_64) +license=(GPL2 custom) +depends=(gst-plugins-base gst-plugins-good totem-plparser desktop-file-utils iso-codes libpeas + hicolor-icon-theme gnome-icon-theme-symbolic gsettings-desktop-schemas dconf clutter-gst + clutter-gtk mx python2-gobject gst-plugins-bad) +makedepends=(intltool gnome-doc-utils nautilus lirc-utils vala grilo pylint) +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz + browser-plugins.ini) +sha256sums=('e767da34f5212bd9b2d3ea9bc7e3a87b284581ee012214274225dd8decb8fe3e' + 'a50a3bbf35f0535f7e8e20af1893446a2e5711015484f9ae6d1ff91af3b23c4e') + +build() { + cd "$pkgbase-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/totem \ + --localstatedir=/var \ + --disable-static \ + --enable-python \ + --enable-nautilus + make +} + +package_totem() { + groups=(gnome-extra) + install=totem.install + optdepends=('gst-plugins-ugly: Extra media codecs' + 'gst-ffmpeg: Extra media codecs' + 'lirc-utils: Infrared Remote Control plugin' + 'grilo-plugins: Browse sidebar (remote media)' + 'pyxdg: opensubtitles plugin') + + cd "$pkgbase-$pkgver" + make DESTDIR="${pkgdir}" install + + rm -r "$pkgdir/usr/lib/mozilla" + rm "$pkgdir/usr/lib/totem/totem-plugin-viewer" + + sed -i "s|#!/usr/bin/python$|#!/usr/bin/python2|" \ + $pkgdir/usr/lib/totem/totem/totem-bugreport.py + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/totem/COPYING" +} + +package_totem-plugin() { + pkgdesc="Totem plugin for web browsers" + depends=("totem=$pkgver") + backup=(etc/totem/browser-plugins.ini) + + cd "$pkgbase-$pkgver" + make -C browser-plugin \ + plugindir=/usr/lib/mozilla/plugins \ + xptdir=/usr/lib/mozilla/plugins \ + DESTDIR="$pkgdir" install + + install -Dm644 ../browser-plugins.ini "$pkgdir/etc/totem/browser-plugins.ini" + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/totem-plugin/COPYING" +} diff --git a/testing/totem/browser-plugins.ini b/testing/totem/browser-plugins.ini new file mode 100644 index 000000000..cf3014997 --- /dev/null +++ b/testing/totem/browser-plugins.ini @@ -0,0 +1,2 @@ +[Plugins] +application/x-shockwave-flash.disabled=true diff --git a/testing/totem/totem.install b/testing/totem/totem.install new file mode 100644 index 000000000..7f0fc704b --- /dev/null +++ b/testing/totem/totem.install @@ -0,0 +1,13 @@ +post_install() { + /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/tracker/PKGBUILD b/testing/tracker/PKGBUILD new file mode 100644 index 000000000..3c396174c --- /dev/null +++ b/testing/tracker/PKGBUILD @@ -0,0 +1,90 @@ +# $Id: PKGBUILD 169148 2012-10-18 19:22:25Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Alexander Fehr <pizzapunk gmail com> + +pkgbase=tracker +pkgname=(tracker libtracker-sparql) +pkgver=0.14.2 +_tver=${pkgver%.*} +pkgrel=2 +pkgdesc="All-in-one indexer, search tool and metadata database" +arch=('i686' 'x86_64') +license=('GPL') +makedepends=('libgee' 'libgnome-keyring' 'upower' 'libexif' 'exempi' + 'poppler-glib' 'libgsf' 'icu' 'enca' 'networkmanager' 'gtk3' + 'desktop-file-utils' 'hicolor-icon-theme' 'gobject-introspection' + 'intltool' 'giflib' 'gstreamer0.10-base' 'totem-plparser' + 'taglib' 'nautilus' 'gnome-panel' 'libvorbis' 'flac' 'vala') +url="http://www.gnome.org" +options=('!libtool' '!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/$_tver/$pkgbase-$pkgver.tar.xz + bug675660.patch + tracker-extract-pdf-crash-fix.patch) +sha256sums=('9b59330aa2e9e09feee587ded895e9247f71fc25f46b023d616d9969314bc7f1' + '77c1377860f09aba42fc0bb662cb188613d5ed3744f3ffb3a710d1e60499cb8c' + 'afa14805b9a1adb2442dc4a6032b1575a07a87aa969599ca28669a2cf975e772') + +build() { + cd $pkgbase-$pkgver + + patch -Np1 -i "${srcdir}/bug675660.patch" + patch -Np1 -i "${srcdir}/tracker-extract-pdf-crash-fix.patch" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/tracker \ + --disable-unit-tests \ + --enable-libflac \ + --enable-libvorbis + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make +} + +package_tracker() { + depends=("libtracker-sparql=$pkgver-$pkgrel" 'libgee' 'libgnome-keyring' + 'upower' 'libexif' 'exempi' 'poppler-glib' 'libgsf' 'enca' + 'networkmanager' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme') + optdepends=('giflib: extractor for GIF data' + 'gstreamer0.10-base: video extractor' + 'totem-plparser: playlist support' + 'nautilus: nautilus-extension' + 'libvorbis: Vorbis metadata extractor' + 'flac: FLAC metadata extractor' + 'taglib: writeback for audio files' + 'gnome-panel: tracker-search-bar') + groups=('gnome-extra') + install=tracker.install + + cd $pkgbase-$pkgver + make DESTDIR="$pkgdir" install + +### Split libtracker-sparql + + mkdir -p "$srcdir"/sparql/usr/{include,lib}/tracker-$_tver + mkdir -p "$srcdir"/sparql/usr/lib/{girepository-1.0,pkgconfig} + mkdir -p "$srcdir"/sparql/usr/share/{gir-1.0,vala/vapi} + + mv "$pkgdir"/usr/lib/libtracker-sparql-* "$srcdir/sparql/usr/lib" + + mv "$pkgdir"/usr/lib/tracker-$_tver/*.so* \ + "$srcdir/sparql/usr/lib/tracker-$_tver" + + mv "$pkgdir"/usr/share/vala/vapi/tracker-sparql-* \ + "$srcdir/sparql/usr/share/vala/vapi" + + mv {"$pkgdir","$srcdir/sparql"}/usr/include/tracker-$_tver/libtracker-sparql + mv {"$pkgdir","$srcdir/sparql"}/usr/lib/girepository-1.0/Tracker-$_tver.typelib + mv {"$pkgdir","$srcdir/sparql"}/usr/lib/pkgconfig/tracker-sparql-$_tver.pc + mv {"$pkgdir","$srcdir/sparql"}/usr/share/gir-1.0/Tracker-$_tver.gir +} + +package_libtracker-sparql() { + pkgdesc="$pkgdesc (SPARQL library)" + depends=('sqlite' 'icu' 'glib2' 'libffi' 'pcre' 'util-linux') + + mv "$srcdir"/sparql/* "$pkgdir" +} diff --git a/testing/tracker/bug675660.patch b/testing/tracker/bug675660.patch new file mode 100644 index 000000000..5f217d983 --- /dev/null +++ b/testing/tracker/bug675660.patch @@ -0,0 +1,29 @@ +From 48713ba26af38a15a97fc7ebb0828cd287ef2447 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Fri, 20 Jul 2012 14:46:33 +0000 +Subject: libtracker-fts: ICU cannot handle complex locale descriptions + +ubrk_open expects the name of just a single locale (e.g. "en_US.UTF-8"), +not the full definition of your various locale variables and their +values as returned by glibc's setlocale(LC_ALL, NULL). + +Instead, limit ourselves to LC_CTYPE, since after all, that's all we +need to determine word boundaries. + +Fixes GB#675660. +--- +diff --git a/src/libtracker-fts/tracker-parser-libicu.c b/src/libtracker-fts/tracker-parser-libicu.c +index 7388f69..69f75ed 100644 +--- a/src/libtracker-fts/tracker-parser-libicu.c ++++ b/src/libtracker-fts/tracker-parser-libicu.c +@@ -676,7 +676,7 @@ tracker_parser_reset (TrackerParser *parser, + + /* Open word-break iterator */ + parser->bi = ubrk_open(UBRK_WORD, +- setlocale (LC_ALL, NULL), ++ setlocale (LC_CTYPE, NULL), + parser->utxt, + parser->utxt_size, + &error); +-- +cgit v0.9.0.2 diff --git a/testing/tracker/tracker-extract-pdf-crash-fix.patch b/testing/tracker/tracker-extract-pdf-crash-fix.patch new file mode 100644 index 000000000..ac8522f6a --- /dev/null +++ b/testing/tracker/tracker-extract-pdf-crash-fix.patch @@ -0,0 +1,22 @@ +From 008677280d32b6db56483832b143760888c91ad4 Mon Sep 17 00:00:00 2001 +From: Sam Thursfield <sam.thursfield@codethink.co.uk> +Date: Tue, 31 Jul 2012 14:26:53 +0000 +Subject: tracker-extract-pdf: Fix crash if mmap() fails + +Patch from Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=751922 +--- +diff --git a/src/tracker-extract/tracker-extract-pdf.c b/src/tracker-extract/tracker-extract-pdf.c +index caa24c7..85066b3 100644 +--- a/src/tracker-extract/tracker-extract-pdf.c ++++ b/src/tracker-extract/tracker-extract-pdf.c +@@ -451,7 +451,7 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) + len = 0; + } else { + contents = (gchar *) mmap (NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); +- if (contents == NULL) { ++ if (contents == NULL || contents == MAP_FAILED) { + g_warning ("Could not mmap pdf file '%s': %s\n", + filename, + g_strerror (errno)); +-- +cgit v0.9.0.2 diff --git a/testing/tracker/tracker.install b/testing/tracker/tracker.install new file mode 100644 index 000000000..95114273e --- /dev/null +++ b/testing/tracker/tracker.install @@ -0,0 +1,13 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/udisks2/PKGBUILD b/testing/udisks2/PKGBUILD new file mode 100644 index 000000000..263e32349 --- /dev/null +++ b/testing/udisks2/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169147 2012-10-18 19:22:22Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=udisks2 +pkgver=1.99.0 +pkgrel=1 +pkgdesc="Disk Management Service, version 2" +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/udisks" +license=('GPL2') +depends=('glib2' 'udev' 'polkit' 'libatasmart' 'eject') +makedepends=('intltool' 'docbook-xsl' 'gobject-introspection') +optdepends=('parted: partition management' + 'gptfdisk: GUID partition table support') +options=(!libtool) +source=(http://udisks.freedesktop.org/releases/udisks-$pkgver.tar.bz2) +sha256sums=('f06d1947ac3c79f3de85ee17b7046da9d22dd9ab06cc75a985e767161704e176') + +build() { + cd "udisks-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "udisks-$pkgver" + make DESTDIR="$pkgdir" install \ + bash_completiondir=/usr/share/bash-completion/completions +} diff --git a/testing/vala/PKGBUILD b/testing/vala/PKGBUILD new file mode 100644 index 000000000..d31f8101b --- /dev/null +++ b/testing/vala/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 169146 2012-10-18 19:22:19Z jgc $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: Timm Preetz <timm@preetz.us> + +pkgname=vala +pkgver=0.18.0 +pkgrel=1 +pkgdesc="Compiler for the GObject type system" +arch=('i686' 'x86_64') +url="http://live.gnome.org/Vala" +license=('LGPL') +depends=('glib2') +makedepends=('libxslt') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('18cb2220ce7352a9dd71be058530f7d4a6c8215a1d9c471430af60a04496a60b') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --enable-vapigen + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/vinagre/PKGBUILD b/testing/vinagre/PKGBUILD new file mode 100644 index 000000000..1e6a3df88 --- /dev/null +++ b/testing/vinagre/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169145 2012-10-18 19:22:16Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Allan McRae <mcrae_allan@hotmail.com> +# Contributor: lp76 <l.peduto@gmail.com> + +pkgname=vinagre +pkgver=3.6.1 +pkgrel=1 +pkgdesc="A VNC Client for the GNOME Desktop" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnome.org/projects/vinagre/" +install=vinagre.install +depends=('libsecret' 'gtk-vnc' 'vte3' 'telepathy-glib' 'avahi' 'desktop-file-utils' 'dconf' 'shared-mime-info' 'gnome-icon-theme') +optdepends=('openssh: SSH plugin' + 'rdesktop: RDP plugin') +makedepends=('docbook-xsl' 'intltool' 'rdesktop' 'openssh' 'itstool') +groups=('gnome-extra') +options=('!emptydirs' '!libtool') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('768727f9833ba9b9879d72671bc4b10577f4dfe74488cb0cf4c49edfe0165c62') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/vinagre --enable-rdp --disable-spice + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/vinagre/vinagre.install b/testing/vinagre/vinagre.install new file mode 100644 index 000000000..4998e6e8b --- /dev/null +++ b/testing/vinagre/vinagre.install @@ -0,0 +1,14 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-mime-database usr/share/mime > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/vino/PKGBUILD b/testing/vino/PKGBUILD new file mode 100644 index 000000000..282971898 --- /dev/null +++ b/testing/vino/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 169285 2012-10-18 19:46:05Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=vino +pkgver=3.6.1 +pkgrel=1 +pkgdesc="a VNC server for the GNOME desktop" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libnotify' 'libxtst' 'libsm' 'libsoup' 'telepathy-glib' 'gtk3' 'libsecret' 'avahi' 'desktop-file-utils') +makedepends=('intltool' 'networkmanager' 'gnome-common') +groups=('gnome-extra') +url="http://www.gnome.org" +options=(!emptydirs) +install=vino.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('60fdc2271e27c4e10bef40dc2ee836d587930a178c3f189bd975c4d477f32783') + +build() { + cd $pkgname-$pkgver + sed -i -e '/AC_PATH_XTRA/d' configure.ac + autoreconf --force + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/vino \ + --localstatedir=/var \ + --disable-http-server --with-secret + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/vino/vino.install b/testing/vino/vino.install new file mode 100644 index 000000000..fabaa1ed7 --- /dev/null +++ b/testing/vino/vino.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/vte3/PKGBUILD b/testing/vte3/PKGBUILD new file mode 100644 index 000000000..a6eae68f2 --- /dev/null +++ b/testing/vte3/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 169144 2012-10-18 19:22:14Z jgc $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgbase=vte3 +pkgname=(vte3 vte-common) +pkgver=0.34.1 +pkgrel=1 +pkgdesc="Virtual Terminal Emulator widget for use with GTK3" +arch=('i686' 'x86_64') +license=('LGPL') +options=('!libtool' '!emptydirs') +makedepends=('intltool' 'gobject-introspection' 'gtk3') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/GNOME/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz) +sha256sums=('06b78824875545ced8ebaff111b656d0b4ed370f46a4b609f43f88a0ee908f08') + +build() { + cd "vte-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/vte \ + --localstatedir=/var --disable-static \ + --enable-introspection + make +} + +package_vte3(){ + depends=('gtk3' 'vte-common') + cd "vte-$pkgver" + make DESTDIR="$pkgdir" install + + rm "$pkgdir"/usr/lib/vte/gnome-pty-helper +} + +package_vte-common() { + pkgdesc="Common files used by vte and vte3" + depends=('glibc') + cd "vte-$pkgver" + + make -C gnome-pty-helper DESTDIR="$pkgdir" install +} diff --git a/testing/webkitgtk/PKGBUILD b/testing/webkitgtk/PKGBUILD new file mode 100644 index 000000000..d77de3a00 --- /dev/null +++ b/testing/webkitgtk/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 165829 2012-08-31 06:08:20Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +pkgbase=webkitgtk +pkgname=('webkitgtk2' 'webkitgtk3') +pkgver=1.10.1 +pkgrel=1 +arch=('i686' 'x86_64') +url="http://webkitgtk.org/" +license=('custom') +makedepends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gtk3' 'gst-plugins-base-libs' 'gperf' 'gobject-introspection' 'python2' 'mesa' 'ruby' 'gtk-doc') +options=('!libtool' '!emptydirs') +source=(http://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz) +sha1sums=('3a2df2eb42ffdd7f3b39873d5461c347a6330493') + +build() { + cd "$srcdir/webkitgtk-$pkgver" + mkdir build-gtk2 build-gtk3 + + cd build-gtk2 + PYTHON=/usr/bin/python2 ../configure --prefix=/usr \ + --enable-introspection \ + --disable-silent-rules \ + --libexecdir=/usr/lib/webkitgtk2 \ + --with-gstreamer=1.0 \ + --with-gtk=2.0 \ + --disable-webkit2 + make all stamp-po + + cd ../build-gtk3 + PYTHON=/usr/bin/python2 ../configure --prefix=/usr \ + --enable-introspection \ + --disable-silent-rules \ + --libexecdir=/usr/lib/webkitgtk3 \ + --with-gstreamer=1.0 + make all stamp-po +} + +package_webkitgtk3() { + pkgdesc="GTK+ Web content engine library for GTK+ 3.0" + depends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gtk3' 'gst-plugins-base-libs') + conflicts=('libwebkit3') + provides=("libwebkit3=${pkgver}") + replaces=('libwebkit3') + + cd "$srcdir/webkitgtk-$pkgver/build-gtk3" + make -j1 DESTDIR="$pkgdir" install + install -Dm644 ../Source/WebKit/LICENSE "$pkgdir/usr/share/licenses/${pkgname}/LICENSE" +} + +package_webkitgtk2() { + pkgdesc="GTK+ Web content engine library for GTK+ 2.0" + depends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gst-plugins-base-libs') + conflicts=('libwebkit') + provides=("libwebkit=${pkgver}") + replaces=('libwebkit') + + cd "$srcdir/webkitgtk-$pkgver/build-gtk2" + make -j1 DESTDIR="$pkgdir" install + install -Dm644 ../Source/WebKit/LICENSE "$pkgdir/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/xfce4-session/PKGBUILD b/testing/xfce4-session/PKGBUILD new file mode 100644 index 000000000..70e3be6f8 --- /dev/null +++ b/testing/xfce4-session/PKGBUILD @@ -0,0 +1,51 @@ +# $Id: PKGBUILD 169288 2012-10-18 19:49:18Z jgc $ +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> +# Contributor: tobias <tobias funnychar archlinux.org> + +pkgname=xfce4-session +pkgver=4.10.0 +pkgrel=6 +pkgdesc="A session manager for Xfce" +arch=('i686' 'x86_64') +url="http://www.xfce.org/" +license=('GPL2') +groups=('xfce4') +depends=('libxfce4ui' 'libwnck' 'libsm' 'xorg-iceauth' 'upower' 'xorg-xinit' + 'hicolor-icon-theme') +makedepends=('intltool' 'xfce4-dev-tools') +optdepends=('gnome-keyring: for keyring support when GNOME compatibility is enabled' + 'xscreensaver: for locking screen with xflock4' + 'gnome-screensaver: for locking screen with xflock4' + 'xlockmore: for locking screen with xflock4') +replaces=('xfce-utils') +options=('!libtool') +install=$pkgname.install +source=(http://archive.xfce.org/src/xfce/$pkgname/4.10/$pkgname-$pkgver.tar.bz2 + xfce4-session-4.10.0-add-systemd-support.patch) +sha256sums=('bb8aa9a74c3d382840596fb4875144d66c7f3f47c8e9ee81d31e3428a72c46ce' + 'ffae61c48a4bd0cb51d422cb93f2de9567abaf29085370c455ef349b6a10234b') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # https://bugzilla.xfce.org/show_bug.cgi?id=8729 + patch -Np1 -i "$srcdir/xfce4-session-4.10.0-add-systemd-support.patch" + + xdt-autogen + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/xfce4 \ + --localstatedir=/var \ + --disable-static \ + --disable-debug + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/xfce4-session/xfce4-session-4.10.0-add-systemd-support.patch b/testing/xfce4-session/xfce4-session-4.10.0-add-systemd-support.patch new file mode 100644 index 000000000..7ab637b26 --- /dev/null +++ b/testing/xfce4-session/xfce4-session-4.10.0-add-systemd-support.patch @@ -0,0 +1,388 @@ +diff --git a/xfce4-session/xfsm-systemd.c b/xfce4-session/xfsm-systemd.c +index 4076586..90e7873 100644 +--- /dev/null ++++ b/xfce4-session/xfsm-systemd.c +@@ -0,0 +1,123 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2012 Christian Hesse ++ * ++ * Licensed under the GNU General Public License Version 2 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#include <config.h> ++ ++#include <gio/gio.h> ++#include <polkit/polkit.h> ++ ++#include "xfsm-systemd.h" ++ ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++#define SYSTEMD_REBOOT_ACTION "org.freedesktop.login1.reboot" ++#define SYSTEMD_SHUTDOWN_ACTION "org.freedesktop.login1.power-off" ++ ++struct _SystemdProxy { ++ PolkitAuthority *authority; ++ PolkitSubject *subject; ++}; ++ ++SystemdProxy * ++systemd_proxy_new (void) ++{ ++ SystemdProxy *proxy; ++ ++ proxy = g_new0 (SystemdProxy, 1); ++ ++ proxy->authority = polkit_authority_get_sync (NULL, NULL); ++ proxy->subject = polkit_unix_process_new (getpid()); ++ ++ return proxy; ++} ++ ++void ++systemd_proxy_free (SystemdProxy *proxy) ++{ ++ g_object_unref (proxy->authority); ++ g_object_unref (proxy->subject); ++ ++ g_free (proxy); ++} ++ ++gboolean systemd_proxy_can_method (SystemdProxy *proxy, gboolean *can_method, const gchar *method, GError **error) ++{ ++ PolkitAuthorizationResult *res; ++ GError *local_error = NULL; ++ ++ *can_method = FALSE; ++ res = polkit_authority_check_authorization_sync (proxy->authority, ++ proxy->subject, ++ method, ++ NULL, ++ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, ++ NULL, ++ &local_error); ++ if (res == NULL) { ++ g_propagate_error (error, local_error); ++ return FALSE; ++ } ++ ++ *can_method = polkit_authorization_result_get_is_authorized (res) || ++ polkit_authorization_result_get_is_challenge (res); ++ ++ g_object_unref (res); ++ ++ return TRUE; ++} ++ ++gboolean systemd_proxy_can_restart (SystemdProxy *proxy, gboolean *can_restart, GError **error) ++{ ++ return systemd_proxy_can_method(proxy, can_restart, SYSTEMD_REBOOT_ACTION, error); ++} ++ ++gboolean systemd_proxy_can_shutdown (SystemdProxy *proxy, gboolean *can_shutdown, GError **error) ++{ ++ return systemd_proxy_can_method(proxy, can_shutdown, SYSTEMD_SHUTDOWN_ACTION, error); ++} ++ ++gboolean systemd_proxy_method (SystemdProxy *proxy, const gchar *method, GError **error) ++{ ++ GDBusConnection *bus; ++ ++ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); ++ g_dbus_connection_call_sync (bus, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ method, ++ g_variant_new ("(b)", TRUE), ++ NULL, 0, G_MAXINT, NULL, NULL); ++ g_object_unref (bus); ++ ++ return TRUE; ++} ++ ++gboolean systemd_proxy_restart (SystemdProxy *proxy, GError **error) ++{ ++ return systemd_proxy_method(proxy, "Reboot", error); ++} ++ ++gboolean systemd_proxy_shutdown (SystemdProxy *proxy, GError **error) ++{ ++ return systemd_proxy_method(proxy, "PowerOff", error); ++} +diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h +index 3fa8317..2c4d868 100644 +--- /dev/null ++++ b/xfce4-session/xfsm-systemd.h +@@ -0,0 +1,42 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2012 Christian Hesse ++ * ++ * Licensed under the GNU General Public License Version 2 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#ifndef __SYSTEMD_PROXY_H__ ++#define __SYSTEMD_PROXY_H__ ++ ++#include <glib.h> ++ ++G_BEGIN_DECLS ++ ++typedef struct _SystemdProxy SystemdProxy; ++ ++SystemdProxy *systemd_proxy_new (void); ++void systemd_proxy_free (SystemdProxy *proxy); ++gboolean systemd_proxy_can_method (SystemdProxy *proxy, gboolean *can_method, const char *method, GError **error); ++gboolean systemd_proxy_can_restart (SystemdProxy *proxy, gboolean *can_restart, GError **error); ++gboolean systemd_proxy_can_shutdown (SystemdProxy *proxy, gboolean *can_shutdown, GError **error); ++gboolean systemd_proxy_method (SystemdProxy *proxy, const char *method, GError **error); ++gboolean systemd_proxy_restart (SystemdProxy *proxy, GError **error); ++gboolean systemd_proxy_shutdown (SystemdProxy *proxy, GError **error); ++ ++G_END_DECLS ++ ++#endif /* __SYSTEMD_PROXY_H__ */ + +commit 518a28c23f110617aad36e64c02cdab6a36adf37 +Author: Christian Hesse <eworm@leda.eworm.de> +Date: Fri Jul 27 14:21:14 2012 +0200 + + ... + +diff --git a/configure.in.in b/configure.in.in +index 9aa4f8f..aa0b8bb 100644 +--- a/configure.in ++++ b/configure.in +@@ -96,6 +96,33 @@ XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.1.0]) + XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84]) + XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0]) + ++dnl systemd integration ++AC_ARG_ENABLE([systemd], ++ AS_HELP_STRING([--enable-systemd], [Use systemd]), ++ [with_systemd=$enableval], ++ [with_systemd=auto]) ++PKG_CHECK_MODULES(SYSTEMD, ++ [libsystemd-login polkit-gobject-1], ++ [have_systemd=yes], [have_systemd=no]) ++AC_MSG_CHECKING([whether to use systemd]) ++if test x$with_systemd = xauto ; then ++ if test x$have_systemd = xno ; then ++ with_systemd=no ++ else ++ with_systemd=yes ++ fi ++fi ++AC_MSG_RESULT($with_systemd) ++if test x$with_systemd = xyes; then ++ if test x$have_systemd = xno; then ++ AC_MSG_ERROR([Systemd support explicitly required, but systemd not found]) ++ fi ++ AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is used for session tracking]) ++fi ++AC_SUBST(SYSTEMD_CFLAGS) ++AC_SUBST(SYSTEMD_LIBS) ++AM_CONDITIONAL(WITH_SYSTEMD, [test "$with_systemd" = "yes"], [Using systemd]) ++ + dnl Check for debugging support + XDT_FEATURE_DEBUG([xfsm_debug_default]) + + +commit f1279eba9452f027a2037be77388767437161d51 +Author: Christian Hesse <eworm@leda.eworm.de> +Date: Fri Jul 27 14:18:16 2012 +0200 + + ... + +diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c +index 1429abd..077cdf3 100644 +--- a/xfce4-session/xfsm-shutdown.c ++++ b/xfce4-session/xfsm-shutdown.c +@@ -96,7 +96,11 @@ struct _XfsmShutdown + { + GObject __parent__; + ++#ifdef HAVE_SYSTEMD ++ SystemdProxy *systemd_proxy; ++#else + XfsmConsolekit *consolekit; ++#endif + XfsmUPower *upower; + + /* kiosk settings */ +@@ -134,7 +138,11 @@ xfsm_shutdown_init (XfsmShutdown *shutdown) + { + XfceKiosk *kiosk; + ++#ifdef HAVE_SYSTEMD ++ shutdown->systemd_proxy = systemd_proxy_new (); ++#else + shutdown->consolekit = xfsm_consolekit_get (); ++#endif + shutdown->upower = xfsm_upower_get (); + shutdown->helper_state = SUDO_NOT_INITIAZED; + shutdown->helper_require_password = FALSE; +@@ -153,7 +161,11 @@ xfsm_shutdown_finalize (GObject *object) + { + XfsmShutdown *shutdown = XFSM_SHUTDOWN (object); + ++#ifdef HAVE_SYSTEMD ++ systemd_proxy_free (shutdown->systemd_proxy); ++#else + g_object_unref (G_OBJECT (shutdown->consolekit)); ++#endif + g_object_unref (G_OBJECT (shutdown->upower)); + + /* close down helper */ +@@ -644,7 +656,11 @@ xfsm_shutdown_try_restart (XfsmShutdown *shutdown, + if (shutdown->helper_state == SUDO_AVAILABLE) + return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error); + else ++#ifdef HAVE_SYSTEMD ++ return systemd_proxy_restart (shutdown->systemd_proxy, error); ++#else + return xfsm_consolekit_try_restart (shutdown->consolekit, error); ++#endif + } + + +@@ -661,7 +677,11 @@ xfsm_shutdown_try_shutdown (XfsmShutdown *shutdown, + if (shutdown->helper_state == SUDO_AVAILABLE) + return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error); + else ++#ifdef HAVE_SYSTEMD ++ return systemd_proxy_shutdown (shutdown->systemd_proxy, error); ++#else + return xfsm_consolekit_try_shutdown (shutdown->consolekit, error); ++#endif + } + + +@@ -701,7 +721,11 @@ xfsm_shutdown_can_restart (XfsmShutdown *shutdown, + return TRUE; + } + ++#ifdef HAVE_SYSTEMD ++ if (systemd_proxy_can_restart (shutdown->systemd_proxy, can_restart, error)) ++#else + if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error)) ++#endif + return TRUE; + + if (xfsm_shutdown_sudo_init (shutdown, error)) +@@ -728,7 +752,11 @@ xfsm_shutdown_can_shutdown (XfsmShutdown *shutdown, + return TRUE; + } + ++#ifdef HAVE_SYSTEMD ++ if (systemd_proxy_can_shutdown (shutdown->systemd_proxy, can_shutdown, error)) ++#else + if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error)) ++#endif + return TRUE; + + if (xfsm_shutdown_sudo_init (shutdown, error)) + +commit 5aea3fb853683246a537a67423cf5b32076b8dfb +Author: Christian Hesse <eworm@leda.eworm.de> +Date: Fri Jul 27 14:03:27 2012 +0200 + + ... + +diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am +index c015154..7e3b311 100644 +--- a/xfce4-session/Makefile.am ++++ b/xfce4-session/Makefile.am +@@ -38,8 +38,6 @@ xfce4_session_SOURCES = \ + xfsm-compat-gnome.h \ + xfsm-compat-kde.c \ + xfsm-compat-kde.h \ +- xfsm-consolekit.c \ +- xfsm-consolekit.h \ + xfsm-dns.c \ + xfsm-dns.h \ + xfsm-error.c \ +@@ -65,6 +63,16 @@ xfce4_session_SOURCES = \ + xfsm-upower.c \ + xfsm-upower.h + ++if WITH_SYSTEMD ++xfce4_session_SOURCES += \ ++ xfsm-systemd.c \ ++ xfsm-systemd.h ++else ++xfce4_session_SOURCES += \ ++ xfsm-consolekit.c \ ++ xfsm-consolekit.h ++endif ++ + xfce4_session_CFLAGS = \ + $(LIBSM_CFLAGS) \ + $(LIBX11_CFLAGS) \ +@@ -72,6 +80,7 @@ xfce4_session_CFLAGS = \ + $(DBUS_CFLAGS) \ + $(DBUS_GLIB_CFLAGS) \ + $(LIBWNCK_CFLAGS) \ ++ $(SYSTEMD_CFLAGS) \ + $(XFCONF_CFLAGS) \ + $(GMODULE_CFLAGS) \ + $(PLATFORM_CFLAGS) +@@ -91,6 +100,7 @@ xfce4_session_LDADD = \ + $(DBUS_LIBS) \ + $(DBUS_GLIB_LIBS) \ + $(LIBWNCK_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(XFCONF_LIBS) \ + -lm + +diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c +index d8757a8..1429abd 100644 +--- a/xfce4-session/xfsm-shutdown.c ++++ b/xfce4-session/xfsm-shutdown.c +@@ -66,10 +66,13 @@ + #include <xfce4-session/xfsm-fadeout.h> + #include <xfce4-session/xfsm-global.h> + #include <xfce4-session/xfsm-legacy.h> +-#include <xfce4-session/xfsm-consolekit.h> + #include <xfce4-session/xfsm-upower.h> + +- ++#ifdef HAVE_SYSTEMD ++#include <xfce4-session/xfsm-systemd.h> ++#else ++#include <xfce4-session/xfsm-consolekit.h> ++#endif + + static void xfsm_shutdown_finalize (GObject *object); + static void xfsm_shutdown_sudo_free (XfsmShutdown *shutdown); diff --git a/testing/xfce4-session/xfce4-session.install b/testing/xfce4-session/xfce4-session.install new file mode 100644 index 000000000..e4f8fd06c --- /dev/null +++ b/testing/xfce4-session/xfce4-session.install @@ -0,0 +1,13 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/xorg-xdm/PKGBUILD b/testing/xorg-xdm/PKGBUILD index 1bcad22de..5a2ce0012 100644 --- a/testing/xorg-xdm/PKGBUILD +++ b/testing/xorg-xdm/PKGBUILD @@ -1,41 +1,37 @@ -# $Id: PKGBUILD 162974 2012-07-04 13:21:33Z dreisner $ +# $Id: PKGBUILD 169289 2012-10-18 19:49:22Z jgc $ # Maintainer: Alexander Baldeck <alexander@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=xorg-xdm pkgver=1.1.11 -pkgrel=3 +pkgrel=4 pkgdesc="X Display Manager" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') -depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'consolekit') -makedepends=('pkgconfig' 'xorg-util-macros' 'systemd' 'xtrans') +depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'systemd') +makedepends=('pkgconfig' 'xorg-util-macros' 'xtrans') backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession) options=('!libtool') source=(${url}/releases/individual/app/xdm-${pkgver}.tar.bz2 Xsession-loginshell.patch Xsession-xsm.patch - xdm-consolekit.patch xdm-1.0.5-sessreg-utmp-fix-bug177890.patch - xdm.pam) -md5sums=('64a1af1f7eb69feae12e75d4cc3aaf19' - '234ae568e7b22cbc09433bb396ff3d80' - '2c30078c50bc653d72eb5114506eb313' - '25c6d8adeed0796d432b2bbf1d83a7e9' - '13032add23a0a8d48a638418094bfc00' - '6de9362b1bf0835026270b20d8029909') + xdm.pam + git_fixes.diff) sha256sums=('d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47' 'fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff' '77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb' - '10ce850e6a93c6ba68b5d71104b1fd6680ad9760274068512f43a694b1edda76' '5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a' - '7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418') + '7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418' + '781b5577bb070220d018a11832d0d4a65fd16e130730ba26fb055c3aa68156b2') build() { cd "${srcdir}/xdm-${pkgver}" + # upstream commits - Add some missing malloc failure checks 2012-01-07 + patch -Np1 -i "${srcdir}/git_fixes.diff" + patch -Np0 -i "${srcdir}/Xsession-loginshell.patch" patch -Np1 -i "${srcdir}/Xsession-xsm.patch" - patch -Np1 -i "${srcdir}/xdm-consolekit.patch" patch -Np0 -i "${srcdir}/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch" autoreconf -fi diff --git a/testing/xorg-xdm/git_fixes.diff b/testing/xorg-xdm/git_fixes.diff new file mode 100644 index 000000000..69836d488 --- /dev/null +++ b/testing/xorg-xdm/git_fixes.diff @@ -0,0 +1,673 @@ +From 011a2710a69cd345a8ee3a6b2f15407b4c3b355a Mon Sep 17 00:00:00 2001 +From: Jeremy Huddleston <jeremyhu@apple.com> +Date: Sun, 25 Sep 2011 07:56:15 +0000 +Subject: Require xt >= 1.0 for appdefaultdir + +https://bugs.freedesktop.org/show_bug.cgi?id=7237 + +Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> +--- +diff --git a/configure.ac b/configure.ac +index b488f0c..a4222f1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -383,7 +383,7 @@ PKG_CHECK_MODULES(AUTH, xau) + # Greeter + # + +-PKG_CHECK_MODULES(XDMGREET, xt x11 xext) ++PKG_CHECK_MODULES(XDMGREET, xt >= 1.0 x11 xext) + + GREETERLIB="${XDMLIBDIR}/libXdmGreet.so" + AX_DEFINE_DIR(DEF_GREETER_LIB, GREETERLIB, [Location of Xdm Greeter library]) +-- +cgit v0.9.0.2-2-gbebe +From 618039261b0c7f14eb3b32c8f636464369724407 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed, 21 Sep 2011 02:11:20 +0000 +Subject: Mark some chars as const to fix gcc -Wwrite-strings warnings + +Can't fix all the warnings, due to the Xt API, but can fix a bunch. + +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/greeter/greet.c b/greeter/greet.c +index 539ce17..82e2c21 100644 +--- a/greeter/greet.c ++++ b/greeter/greet.c +@@ -110,9 +110,9 @@ void (*__xdm_SessionExit)(struct display *d, int status, int removeAuth) = NU + void (*__xdm_DeleteXloginResources)(struct display *d, Display *dpy) = NULL; + int (*__xdm_source)(char **environ, char *file) = NULL; + char **(*__xdm_defaultEnv)(void) = NULL; +-char **(*__xdm_setEnv)(char **e, char *name, char *value) = NULL; ++char **(*__xdm_setEnv)(char **e, const char *name, const char *value) = NULL; + char **(*__xdm_putEnv)(const char *string, char **env) = NULL; +-char **(*__xdm_parseArgs)(char **argv, char *string) = NULL; ++char **(*__xdm_parseArgs)(char **argv, const char *string) = NULL; + void (*__xdm_printEnv)(char **e) = NULL; + char **(*__xdm_systemEnv)(struct display *d, char *user, char *home) = NULL; + void (*__xdm_LogOutOfMem)(const char * fmt, ...) = NULL; +diff --git a/greeter/verify.c b/greeter/verify.c +index ea62cd2..5d2ad17 100644 +--- a/greeter/verify.c ++++ b/greeter/verify.c +@@ -61,7 +61,7 @@ from The Open Group. + extern char *crypt(const char *, const char *); + #endif + +-static char *envvars[] = { ++static const char *envvars[] = { + "TZ", /* SYSV and SVR4, but never hurts */ + #if defined(sony) && !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV) + "bootdev", +@@ -94,8 +94,8 @@ static char ** + userEnv (struct display *d, int useSystemPath, char *user, char *home, char *shell) + { + char **env; +- char **envvar; +- char *str; ++ const char **envvar; ++ const char *str; + + env = defaultEnv (); + env = setEnv (env, "DISPLAY", d->name); +diff --git a/include/dm.h b/include/dm.h +index 316dd46..4085cae 100644 +--- a/include/dm.h ++++ b/include/dm.h +@@ -443,7 +443,7 @@ extern void UnsecureDisplay (struct display *d, Display *dpy); + extern void execute(char **argv, char **environ); + + /* server.c */ +-extern char *_SysErrorMsg (int n); ++extern const char *_SysErrorMsg (int n); + extern int StartServer (struct display *d); + extern int WaitForServer (struct display *d); + extern void ResetServer (struct display *d); +@@ -462,10 +462,10 @@ extern int Asprintf(char ** ret, const char *restrict format, ...) + _X_ATTRIBUTE_PRINTF(2,3); + # endif + extern char *localHostname (void); +-extern char **parseArgs (char **argv, char *string); +-extern char **setEnv (char **e, char *name, char *value); ++extern char **parseArgs (char **argv, const char *string); ++extern char **setEnv (char **e, const char *name, const char *value); + extern char **putEnv(const char *string, char **env); +-extern char *getEnv (char **e, char *name); ++extern char *getEnv (char **e, const char *name); + extern void CleanUpChild (void); + extern void freeArgs (char **argv); + extern void freeEnv (char **env); +@@ -478,7 +478,7 @@ extern int Verify (struct display *d, struct greet_info *greet, struct verify_in + extern char *NetworkAddressToHostname (CARD16 connectionType, ARRAY8Ptr connectionAddress); + extern int AnyWellKnownSockets (void); + extern void DestroyWellKnownSockets (void); +-extern void SendFailed (struct display *d, char *reason); ++extern void SendFailed (struct display *d, const char *reason); + extern void StopDisplay (struct display *d); + extern void WaitForChild (void); + extern void WaitForSomething (void); +diff --git a/include/greet.h b/include/greet.h +index 6b6689e..0d607ba 100644 +--- a/include/greet.h ++++ b/include/greet.h +@@ -65,9 +65,9 @@ struct dlfuncs { + void (*_DeleteXloginResources)(struct display *d, Display *dpy); + int (*_source)(char **environ, char *file); + char **(*_defaultEnv)(void); +- char **(*_setEnv)(char **e, char *name, char *value); ++ char **(*_setEnv)(char **e, const char *name, const char *value); + char **(*_putEnv)(const char *string, char **env); +- char **(*_parseArgs)(char **argv, char *string); ++ char **(*_parseArgs)(char **argv, const char *string); + void (*_printEnv)(char **e); + char **(*_systemEnv)(struct display *d, char *user, char *home); + void (*_LogOutOfMem)(const char * fmt, ...); +@@ -149,9 +149,9 @@ extern void (*__xdm_SessionExit)(struct display *d, int status, int removeAut + extern void (*__xdm_DeleteXloginResources)(struct display *d, Display *dpy); + extern int (*__xdm_source)(char **environ, char *file); + extern char **(*__xdm_defaultEnv)(void); +-extern char **(*__xdm_setEnv)(char **e, char *name, char *value); ++extern char **(*__xdm_setEnv)(char **e, const char *name, const char *value); + extern char **(*__xdm_putEnv)(const char *string, char **env); +-extern char **(*__xdm_parseArgs)(char **argv, char *string); ++extern char **(*__xdm_parseArgs)(char **argv, const char *string); + extern void (*__xdm_printEnv)(char **e); + extern char **(*__xdm_systemEnv)(struct display *d, char *user, char *home); + extern void (*__xdm_LogOutOfMem)(const char * fmt, ...); +diff --git a/xdm/access.c b/xdm/access.c +index d0850ad..7035375 100644 +--- a/xdm/access.c ++++ b/xdm/access.c +@@ -667,7 +667,7 @@ scanHostlist ( + /* Returns non-0 iff string is matched by pattern. Does case folding. + */ + static int +-patternMatch (char *string, char *pattern) ++patternMatch (const char *string, char *pattern) + { + int p, s; + +diff --git a/xdm/auth.c b/xdm/auth.c +index bbca167..9e5cba2 100644 +--- a/xdm/auth.c ++++ b/xdm/auth.c +@@ -116,7 +116,7 @@ int chown(int a,int b,int c) {} + + struct AuthProtocol { + unsigned short name_length; +- char *name; ++ const char *name; + void (*InitAuth)(unsigned short len, char *name); + Xauth *(*GetAuth)(unsigned short len, char *name); + void (*GetXdmcpAuth)( +diff --git a/xdm/file.c b/xdm/file.c +index 6e929b8..7b7f3d3 100644 +--- a/xdm/file.c ++++ b/xdm/file.c +@@ -225,7 +225,7 @@ ParseDisplay (char *source, DisplayType *acceptableTypes, int numAcceptable) + } + + static struct displayMatch { +- char *name; ++ const char *name; + DisplayType type; + } displayTypes[] = { + { "local", { Local, Permanent, FromFile } }, +diff --git a/xdm/resource.c b/xdm/resource.c +index ece4de3..83901a2 100644 +--- a/xdm/resource.c ++++ b/xdm/resource.c +@@ -145,10 +145,10 @@ int choiceTimeout; /* chooser choice timeout */ + #define DEF_UDP_PORT "177" /* registered XDMCP port, dont change */ + + struct dmResources { +- char *name, *class; +- int type; +- char **dm_value; +- char *default_value; ++ const char *name, *class; ++ int type; ++ char **dm_value; ++ const char *default_value; + } DmResources[] = { + { "servers", "Servers", DM_STRING, &servers, + DEF_SERVER_LINE} , +@@ -203,10 +203,10 @@ struct dmResources { + #define boffset(f) XtOffsetOf(struct display, f) + + struct displayResource { +- char *name, *class; +- int type; +- int offset; +- char *default_value; ++ const char *name, *class; ++ int type; ++ int offset; ++ const char *default_value; + }; + + /* resources for managing the server */ +@@ -289,15 +289,16 @@ XrmDatabase DmResourceDB; + + static void + GetResource ( +- char *name, +- char *class, +- int valueType, +- char **valuep, +- char *default_value) ++ const char *name, ++ const char *class, ++ int valueType, ++ char **valuep, ++ const char *default_value) + { + char *type; + XrmValue value; +- char *string, *new_string; ++ const char *string; ++ char *new_string; + char str_buf[50]; + int len; + +diff --git a/xdm/server.c b/xdm/server.c +index 7fe55e6..1bb8873 100644 +--- a/xdm/server.c ++++ b/xdm/server.c +@@ -62,9 +62,9 @@ CatchUsr1 (int n) + errno = olderrno; + } + +-char *_SysErrorMsg (int n) ++const char *_SysErrorMsg (int n) + { +- char *s = strerror(n); ++ const char *s = strerror(n); + return (s ? s : "unknown error"); + } + +diff --git a/xdm/util.c b/xdm/util.c +index 033633a..60aab21 100644 +--- a/xdm/util.c ++++ b/xdm/util.c +@@ -97,7 +97,7 @@ printEnv (char **e) + } + + static char * +-makeEnv (char *name, char *value) ++makeEnv (const char *name, const char *value) + { + char *result; + +@@ -111,7 +111,7 @@ makeEnv (char *name, char *value) + } + + char * +-getEnv (char **e, char *name) ++getEnv (char **e, const char *name) + { + int l = strlen (name); + +@@ -127,7 +127,7 @@ getEnv (char **e, char *name) + } + + char ** +-setEnv (char **e, char *name, char *value) ++setEnv (char **e, const char *name, const char *value) + { + char **new, **old; + char *newe; +@@ -207,9 +207,9 @@ freeEnv (char **env) + #define isblank(c) ((c) == ' ' || c == '\t') + + char ** +-parseArgs (char **argv, char *string) ++parseArgs (char **argv, const char *string) + { +- char *word; ++ const char *word; + char *save; + char **newargv; + int i; +diff --git a/xdm/xdmauth.c b/xdm/xdmauth.c +index 4b945cf..66804a4 100644 +--- a/xdm/xdmauth.c ++++ b/xdm/xdmauth.c +@@ -44,7 +44,7 @@ static char auth_name[256]; + static int auth_name_len; + + static void +-XdmPrintDataHex (char *s, char *a, int l) ++XdmPrintDataHex (const char *s, const char *a, int l) + { + int i; + +@@ -56,7 +56,7 @@ XdmPrintDataHex (char *s, char *a, int l) + + # ifdef XDMCP + static void +-XdmPrintArray8Hex (char *s, ARRAY8Ptr a) ++XdmPrintArray8Hex (const char *s, ARRAY8Ptr a) + { + XdmPrintDataHex (s, (char *) a->data, a->length); + } +diff --git a/xdm/xdmcp.c b/xdm/xdmcp.c +index 5bc4716..1c34e7c 100644 +--- a/xdm/xdmcp.c ++++ b/xdm/xdmcp.c +@@ -74,7 +74,7 @@ static void request_respond (struct sockaddr *from, int fromlen, int length, int + static void send_accept (struct sockaddr *to, int tolen, CARD32 sessionID, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr authorizationName, ARRAY8Ptr authorizationData, int fd); + static void send_alive (struct sockaddr *from, int fromlen, int length, int fd); + static void send_decline (struct sockaddr *to, int tolen, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr status, int fd); +-static void send_failed (struct sockaddr *from, int fromlen, char *name, CARD32 sessionID, char *reason, int fd); ++static void send_failed (struct sockaddr *from, int fromlen, const char *name, CARD32 sessionID, const char *reason, int fd); + static void send_refuse (struct sockaddr *from, int fromlen, CARD32 sessionID, int fd); + static void send_unwilling (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status, int fd); + static void send_willing (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status, int fd); +@@ -1300,7 +1300,7 @@ abort: + void + SendFailed ( + struct display *d, +- char *reason) ++ const char *reason) + { + Debug ("Display start failed, sending Failed\n"); + send_failed ((struct sockaddr *)(d->from), d->fromlen, d->name, +@@ -1311,9 +1311,9 @@ static void + send_failed ( + struct sockaddr *from, + int fromlen, +- char *name, ++ const char *name, + CARD32 sessionID, +- char *reason, ++ const char *reason, + int fd) + { + static char buf[256]; +@@ -1416,7 +1416,7 @@ NetworkAddressToHostname ( + # else + char dotted[20]; + # endif +- char *local_name = ""; ++ const char *local_name = ""; + int af_type; + + # if defined(IPv6) && defined(AF_INET6) +-- +cgit v0.9.0.2-2-gbebe +From c43eb799774743bc50233eff6643c51a5fbe6899 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Wed, 21 Sep 2011 02:22:48 +0000 +Subject: Fix warnings about printing longs with int type format strings + +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/xdm/dm.c b/xdm/dm.c +index cd0ee25..7bc2605 100644 +--- a/xdm/dm.c ++++ b/xdm/dm.c +@@ -536,7 +536,7 @@ WaitForChild (void) + time(&now); + crash = d->lastReserv && + ((now - d->lastReserv) < XDM_BROKEN_INTERVAL); +- Debug("time %i %i try %i of %i%s\n", now, d->lastReserv, ++ Debug("time %li %li try %i of %i%s\n", now, d->lastReserv, + d->reservTries, d->reservAttempts, + crash ? " crash" : ""); + +diff --git a/xdm/xdmauth.c b/xdm/xdmauth.c +index 66804a4..b3c1c16 100644 +--- a/xdm/xdmauth.c ++++ b/xdm/xdmauth.c +@@ -234,7 +234,7 @@ XdmGetKey(struct protoDisplay *pdpy, ARRAY8Ptr displayID) + if (line[0] == '#' || sscanf (line, "%s %s", id, key) != 2) + continue; + bzero(line, sizeof(line)); +- Debug ("Key entry for \"%s\" %d bytes\n", id, strlen(key)); ++ Debug ("Key entry for \"%s\" %ld bytes\n", id, strlen(key)); + if (strlen (id) == displayID->length && + !strncmp (id, (char *)displayID->data, displayID->length)) + { +-- +cgit v0.9.0.2-2-gbebe +From 8eee942be0db913511b4c53f94829e1201dfdf00 Mon Sep 17 00:00:00 2001 +From: Michał Górny <mgorny@gentoo.org> +Date: Wed, 28 Sep 2011 19:25:17 +0000 +Subject: Support systemd startup notification. + +If libsystemd-daemon support is enabled, xdm uses it to announce its +startup as soon as the session is established. This gives the user +opportunity to delay I/O-intensive operations until the X server is +started so that they would not interfere with its loading while keeping +the machine busy when user types in his/her login. + +Reviewed-by: Jamey Sharp <jamey@minilop.net> +Reviewed-by: Gaetan Nadon <memsize@videotron.ca> +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/Makefile.am b/Makefile.am +index e5f9f5c..bb6b51c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -43,8 +43,13 @@ endif LINT + if HAVE_SYSTEMD + systemdsystemunit_DATA = xdm.service + +-xdm.service: xdm.service.in +- $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < $< > $@ ++xdm.service: xdm.service.in Makefile ++if USE_SYSTEMD_DAEMON ++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < xdm.service.in > $@ ++else !USE_SYSTEMD_DAEMON ++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' -e '/[Nn]otify/d' < xdm.service.in > $@ ++endif !USE_SYSTEMD_DAEMON ++ + endif HAVE_SYSTEMD + CLEANFILES = xdm.service + EXTRA_DIST = xdm.service.in +diff --git a/configure.ac b/configure.ac +index a4222f1..fcb37f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -146,6 +146,7 @@ if test "x$USE_SELINUX" != "xno" ; then + fi + + # Check whether to install systemd unit files, as suggested in daemon(7). ++# When a full path is specified, this does not require systemd installed. + AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR], + [Directory for systemd service files (default from the System and Service Manager)]),, + [with_systemdsystemunitdir=auto]) +@@ -166,6 +167,21 @@ AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ + ]) + AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$with_systemdsystemunitdir" != "xno"]) + ++# Check whether to enable systemd startup notification. ++# This requires libsystemd-daemon. ++AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon], ++ [Add support for systemd startup notification (default is autodetected)]), ++ [USE_SYSTEMD_DAEMON=$withval], [USE_SYSTEMD_DAEMON=auto]) ++AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [ ++ PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon], ++ [AC_DEFINE(USE_SYSTEMD_DAEMON,1,[Use systemd startup notification])], ++ [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"], ++ [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd-daemon not found.])] ++ )] ++ ) ++]) ++AM_CONDITIONAL(USE_SYSTEMD_DAEMON, [test "x$USE_SYSTEMD_DAEMON" != "xno"]) ++ + # FIXME: Find better test for which OS'es use su -m - for now, just try to + # mirror the Imakefile setting of: + # if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) || defined(DarwinArchitecture) +diff --git a/xdm.service.in b/xdm.service.in +index d15e072..e782dd9 100644 +--- a/xdm.service.in ++++ b/xdm.service.in +@@ -4,6 +4,8 @@ After=systemd-user-sessions.service + + [Service] + ExecStart=BINDIR/xdm -nodaemon ++Type=notify ++NotifyAccess=all + + [Install] + Alias=graphical.target.wants/xdm.service +diff --git a/xdm/Makefile.am b/xdm/Makefile.am +index aa9765c..797b5c5 100644 +--- a/xdm/Makefile.am ++++ b/xdm/Makefile.am +@@ -22,11 +22,11 @@ + bin_PROGRAMS = xdm + + AM_CPPFLAGS = -I$(top_srcdir)/include +-AM_CFLAGS = $(CWARNFLAGS) $(XDM_CFLAGS) ++AM_CFLAGS = $(CWARNFLAGS) $(XDM_CFLAGS) $(SYSTEMD_DAEMON_CFLAGS) + + # The xdm binary needs to export symbols so that they can be used from + # libXdmGreet.so loaded through a dlopen call from session.c +-AM_LDFLAGS = $(XDM_LIBS) -export-dynamic ++AM_LDFLAGS = $(XDM_LIBS) $(SYSTEMD_DAEMON_LIBS) -export-dynamic + + xdm_SOURCES = \ + access.c \ +diff --git a/xdm/session.c b/xdm/session.c +index 5fd47f0..573747d 100644 +--- a/xdm/session.c ++++ b/xdm/session.c +@@ -81,6 +81,10 @@ extern int key_setnet(struct key_netstarg *arg); + # define RTLD_NOW 1 + # endif + ++#ifdef USE_SYSTEMD_DAEMON ++#include <systemd/sd-daemon.h> ++#endif ++ + #ifdef USE_SELINUX + /* This should be run just before we exec the user session. */ + static int +@@ -349,6 +353,12 @@ ManageSession (struct display *d) + exit(UNMANAGE_DISPLAY); + } + ++#ifdef USE_SYSTEMD_DAEMON ++ /* Subsequent notifications will be ignored by systemd ++ * and calling this function will clean up the env */ ++ sd_notify(1, "READY=1"); ++#endif ++ + /* tell the possibly dynamically loaded greeter function + * what data structure formats to expect. + * These version numbers are registered with The Open Group. */ +-- +cgit v0.9.0.2-2-gbebe +From 284532c0884893728b75ca37f5d2a9a33f7bc8db Mon Sep 17 00:00:00 2001 +From: Julien Cristau <jcristau@debian.org> +Date: Sat, 22 Oct 2011 15:14:46 +0000 +Subject: greeter: link against -lXrender if xft is enabled + +XmuCvtStringToXftColor uses XRenderParseColor, so require xrender for +the xft option, and link against it. + +Signed-off-by: Julien Cristau <jcristau@debian.org> +Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/configure.ac b/configure.ac +index fcb37f8..d20ae28 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -345,10 +345,10 @@ AC_ARG_WITH(xft, + AS_HELP_STRING([--with-xft], + [Use Xft to draw text (default is YES if installed)]), + [USE_XFT="$withval"], +- PKG_CHECK_EXISTS(xft, [USE_XFT="yes"], [USE_XFT="no"])) ++ PKG_CHECK_EXISTS(xft xrender, [USE_XFT="yes"], [USE_XFT="no"])) + + if test "x$USE_XFT" = "xyes" ; then +- PKG_CHECK_MODULES(XFT, xft) ++ PKG_CHECK_MODULES(XFT, xft xrender) + GREETER_CFLAGS="$GREETER_CFLAGS $XFT_CFLAGS" + GREETER_LIBS="$GREETER_LIBS $XFT_LIBS" + AC_DEFINE([USE_XFT], 1, +diff --git a/greeter/Login.c b/greeter/Login.c +index 99a3932..d899376 100644 +--- a/greeter/Login.c ++++ b/greeter/Login.c +@@ -86,6 +86,10 @@ from The Open Group. + # include <X11/extensions/Xinerama.h> + #endif + ++#ifdef USE_XFT ++# include <X11/extensions/Xrender.h> ++#endif ++ + #ifndef DEBUG + # define XDM_ASSERT(a) /* do nothing */ + #else +-- +cgit v0.9.0.2-2-gbebe +From a02edebf21aae37f8564d7b9fad01d5d2942ad8d Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu.herrb@laas.fr> +Date: Mon, 07 Nov 2011 16:01:44 +0000 +Subject: Fix build outside of source dir. Fixes distcheck too. + +Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr> +Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/Makefile.am b/Makefile.am +index bb6b51c..e9da40f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -45,9 +45,9 @@ systemdsystemunit_DATA = xdm.service + + xdm.service: xdm.service.in Makefile + if USE_SYSTEMD_DAEMON +- $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < xdm.service.in > $@ ++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < ${srcdir}/xdm.service.in > $@ + else !USE_SYSTEMD_DAEMON +- $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' -e '/[Nn]otify/d' < xdm.service.in > $@ ++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' -e '/[Nn]otify/d' < ${srcdir}/xdm.service.in > $@ + endif !USE_SYSTEMD_DAEMON + + endif HAVE_SYSTEMD +-- +cgit v0.9.0.2-2-gbebe +From ad7a54288f62c0266540279dac775ebee68f092e Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu.herrb@laas.fr> +Date: Thu, 15 Dec 2011 21:14:23 +0000 +Subject: replace <varargs.h> by <stdarg.h>. Spotted my Marco Peereboom with clang. + +Reviewed-by: Mark Kettenis <kettenis@openbsd.org> +Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr> +--- +diff --git a/greeter/verify.c b/greeter/verify.c +index 5d2ad17..1221874 100644 +--- a/greeter/verify.c ++++ b/greeter/verify.c +@@ -48,7 +48,7 @@ from The Open Group. + # include <errno.h> + #elif defined(USE_BSDAUTH) + # include <login_cap.h> +-# include <varargs.h> ++# include <stdarg.h> + # include <bsd_auth.h> + #elif defined(USESECUREWARE) + # include <sys/types.h> +-- +cgit v0.9.0.2-2-gbebe +From 78403f6a7420798bf24798811c8c6b936c9ccb34 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sat, 07 Jan 2012 03:34:30 +0000 +Subject: Add some missing malloc failure checks + +Flagged by Solaris Studio 12.3 code analyzer + +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/xdm/access.c b/xdm/access.c +index 7035375..b16a066 100644 +--- a/xdm/access.c ++++ b/xdm/access.c +@@ -304,6 +304,11 @@ tryagain: + if (!hostOrAlias) + return NULL; + h = malloc (sizeof (DisplayEntry)); ++ if (!h) ++ { ++ LogOutOfMem ("ReadHostEntry: DisplayEntry\n"); ++ return NULL; ++ } + h->hopCount = 1; + if (*hostOrAlias == ALIAS_CHARACTER) + { +@@ -423,6 +428,11 @@ tryagain: + if (!displayOrAlias) + return NULL; + d = malloc (sizeof (DisplayEntry)); ++ if (!d) ++ { ++ LogOutOfMem ("ReadDisplayEntry: DisplayEntry\n"); ++ return NULL; ++ } + d->notAllowed = 0; + d->notBroadcast = 0; + d->chooser = 0; +diff --git a/xdm/choose.c b/xdm/choose.c +index 6f077eb..e5e003d 100644 +--- a/xdm/choose.c ++++ b/xdm/choose.c +@@ -128,6 +128,11 @@ RememberIndirectClient ( + connectionType == i->connectionType) + return 1; + i = malloc (sizeof (IndirectUsersRec)); ++ if (!i) ++ { ++ LogOutOfMem ("RememberIndirectClient\n"); ++ return 0; ++ } + if (!XdmcpCopyARRAY8 (clientAddress, &i->client)) + { + free (i); +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/yelp/PKGBUILD b/testing/yelp/PKGBUILD new file mode 100644 index 000000000..af6fb7ae1 --- /dev/null +++ b/testing/yelp/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 169142 2012-10-18 19:22:09Z jgc $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=yelp +pkgver=3.6.0 +pkgrel=1 +pkgdesc="A help browser for GNOME" +arch=('i686' 'x86_64') +depends=('webkitgtk3' 'yelp-xsl' 'libxslt' 'hicolor-icon-theme' 'dbus-glib' 'xz' 'bzip2' + 'desktop-file-utils' 'dconf') +makedepends=('intltool' 'gtk-doc' 'itstool') +groups=('gnome') +license=('GPL') +options=('!emptydirs' '!libtool') +url="http://www.gnome.org" +install=yelp.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('966a513420674c488b18df0ffcf51f8b4687cdba04b1d1d5e76d59c0484ac048') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/yelp/yelp.install b/testing/yelp/yelp.install new file mode 100644 index 000000000..2a1cb91e9 --- /dev/null +++ b/testing/yelp/yelp.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/zenity/PKGBUILD b/testing/zenity/PKGBUILD new file mode 100644 index 000000000..d5dd093fe --- /dev/null +++ b/testing/zenity/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 169139 2012-10-18 19:22:03Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=zenity +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Display graphical dialog boxes from shell scripts" +arch=(i686 x86_64) +license=('LGPL') +depends=('gtk3' 'libnotify') +makedepends=('intltool' 'gtk-doc' 'itstool' 'docbook-xsl') +url="http://www.gnome.org" +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('5de4ebbb6888ad4928fa9eebcd42dbe5bb282bee9dd7dd21475d9eaa854c74be') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} |