diff options
author | root <root@rshg047.dnsready.net> | 2011-04-15 04:55:43 +0000 |
---|---|---|
committer | root <root@rshg047.dnsready.net> | 2011-04-15 04:55:43 +0000 |
commit | 7d13548d48c1e98b9c12201685fd6fef5e9388db (patch) | |
tree | 3aa20fadd718d86194b0e9cd5b4b3aef3b64ada9 | |
parent | 5611a56fd08da4e95cdf8de446dda50d7afa80c8 (diff) |
Fri Apr 15 04:55:43 UTC 2011
47 files changed, 2650 insertions, 119 deletions
diff --git a/community/autocutsel/PKGBUILD b/community/autocutsel/PKGBUILD index 6d0ea71be..452350efe 100644 --- a/community/autocutsel/PKGBUILD +++ b/community/autocutsel/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 44972 2011-04-13 15:14:58Z shusmann $ +# $Id: PKGBUILD 45035 2011-04-14 10:45:17Z shusmann $ # Contributor: Tom Killian <tom@archlinux.org> # Contributor: Nikos Kouremenos (zeppelin) kourem at gmail dot com # Maintainer: Stefan Husmann <stefan-husmann@t-online.de> pkgname=autocutsel pkgver=0.9.0 -pkgrel=5 +pkgrel=6 pkgdesc="synchronizes the two copy/paste buffers mainly used by X applications" arch=('i686' 'x86_64') -depends=('libxaw' 'sh') -source=(http://lepton.fr/tools/$pkgname/$pkgname-$pkgver.tar.gz $pkgname.sh) -md5sums=('ba4a6f632cb4815ae4e5c3027c24cfc5' - '27a15ab10e2988a8a479e3f015cabd00') +depends=('libxaw') +source=(http://lepton.fr/tools/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('ba4a6f632cb4815ae4e5c3027c24cfc5') url="http://lepton.fr/tools/autocutsel/" +install=autocutsel.install license=('GPL') build() { cd $srcdir/$pkgname-$pkgver @@ -22,5 +22,4 @@ build() { package() { cd $srcdir/$pkgname-$pkgver make prefix=$pkgdir/usr install - install -Dm755 $srcdir/$pkgname.sh $pkgdir/etc/X11/xinit/xinitrc.d/40-$pkgname } diff --git a/community/autocutsel/autocutsel.install b/community/autocutsel/autocutsel.install new file mode 100644 index 000000000..56fde35d7 --- /dev/null +++ b/community/autocutsel/autocutsel.install @@ -0,0 +1,20 @@ +post_install() { + cat << EOF + Add the following lines to your ~/.xinitrc or, for + system-wide use, to a new file, named, say, 40-autocutsel + in the directory /etc/X11/xinit/xinitrc.d/ : + +autocutsel -fork & +autocutsel -selection PRIMARY -fork & +EOF +} + +post_upgrade() { + post_install +} +post_remove() { +cat << EOF + you might want to remove autocutsel related files in + /etc/X11/xinit/xinitrc.d now. +EOF +} diff --git a/community/libmediainfo/PKGBUILD b/community/libmediainfo/PKGBUILD index 1da9efc75..8381d697f 100644 --- a/community/libmediainfo/PKGBUILD +++ b/community/libmediainfo/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 41747 2011-03-08 20:14:52Z spupykin $ +# $Id: PKGBUILD 45009 2011-04-14 09:10:11Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: hydro <hydro@freenet.de> pkgname=libmediainfo -pkgver=0.7.42 +pkgver=0.7.43 pkgrel=1 pkgdesc="shared library for mediainfo" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=( 'curl' 'libmms>=0.5-2' 'libzen>=0.4.15') makedepends=('libtool' 'automake' 'autoconf') options=(!libtool) source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2) -md5sums=('68beb24292e9a9d207b8226411af8d17') +md5sums=('4200c44c4f7016145d580757de18f2d4') build() { cd $srcdir/MediaInfoLib/Project/GNU/Library diff --git a/community/libzen/PKGBUILD b/community/libzen/PKGBUILD index 9f18d8ffa..dcbb073b8 100644 --- a/community/libzen/PKGBUILD +++ b/community/libzen/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 41750 2011-03-08 20:15:27Z spupykin $ +# $Id: PKGBUILD 45012 2011-04-14 09:10:57Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: hydro <hydro@freenet.de> pkgname=libzen -pkgver=0.4.18 +pkgver=0.4.19 pkgrel=1 pkgdesc="shared library for libmediainfo and mediainfo" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('gcc-libs') makedepends=('libtool' 'automake' 'autoconf') options=('!libtool') source=(http://downloads.sourceforge.net/zenlib/${pkgname}_${pkgver}.tar.bz2) -md5sums=('418fd69a3351cd406bfb2afe0ce91628') +md5sums=('0deabb701564f2e616a7ee6dd71599a1') build() { cd $srcdir/ZenLib/Project/GNU/Library diff --git a/community/mediainfo-gui/PKGBUILD b/community/mediainfo-gui/PKGBUILD index ad49b277a..a34ce63fa 100644 --- a/community/mediainfo-gui/PKGBUILD +++ b/community/mediainfo-gui/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 41753 2011-03-08 20:16:04Z spupykin $ +# $Id: PKGBUILD 45015 2011-04-14 09:11:31Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: hydro <hydro@freenet.de> pkgname=mediainfo-gui -pkgver=0.7.42 +pkgver=0.7.43 pkgrel=1 pkgdesc="GUI for mediainfo" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('libmediainfo>=0.7.35' 'wxgtk') makedepends=('libtool' 'automake' 'autoconf') install=mediainfo-gui.install source=(http://downloads.sourceforge.net/mediainfo/mediainfo_${pkgver}.tar.bz2) -md5sums=('ee39fda7eee7f1e27e289acc9836439c') +md5sums=('a1c61fb1385e22dc762dad33b7f37681') build() { cd $srcdir/MediaInfo/Project/GNU/GUI diff --git a/community/mediainfo/PKGBUILD b/community/mediainfo/PKGBUILD index 592875e35..d16c32b4f 100644 --- a/community/mediainfo/PKGBUILD +++ b/community/mediainfo/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 41756 2011-03-08 20:16:39Z spupykin $ +# $Id: PKGBUILD 45018 2011-04-14 09:12:10Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: hydro <hydro@freenet.de> pkgname=mediainfo -pkgver=0.7.42 +pkgver=0.7.43 pkgrel=1 pkgdesc="supplies technical and tag information about a video or audio file" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL') depends=('libmediainfo>=0.7.35') makedepends=('libtool' 'automake' 'autoconf') source=(http://downloads.sourceforge.net/mediainfo/${pkgname}_${pkgver}.tar.bz2) -md5sums=('ee39fda7eee7f1e27e289acc9836439c') +md5sums=('a1c61fb1385e22dc762dad33b7f37681') build() { cd $srcdir/MediaInfo/Project/GNU/CLI diff --git a/community/pdf2djvu/PKGBUILD b/community/pdf2djvu/PKGBUILD index 2fdfe1e1b..468fc4c67 100644 --- a/community/pdf2djvu/PKGBUILD +++ b/community/pdf2djvu/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 42182 2011-03-15 10:52:31Z jelle $ +# $Id: PKGBUILD 45044 2011-04-14 15:13:18Z jelle $ # Contributor: Paulo Matias <matiasΘarchlinux-br·org> -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# Maintainer: Jelle van der Waa <jelle@vdwaa.nl> pkgname=pdf2djvu -pkgver=0.7.6 -pkgrel=4 +pkgver=0.7.7 +pkgrel=1 pkgdesc="Creates DjVu files from PDF files" arch=('i686' 'x86_64') url="http://pdf2djvu.googlecode.com" @@ -12,7 +12,7 @@ license=('GPL') depends=('poppler' 'djvulibre' 'libxslt') makedepends=('pstreams') source=("http://pdf2djvu.googlecode.com/files/${pkgname}_${pkgver}.tar.gz") -md5sums=('fde5e9bdae4f8643a3457be5989acc83') +md5sums=('85c594881ff864d5aceaa88e833d3107') build() { cd ${srcdir}/${pkgname}-${pkgver} @@ -25,4 +25,3 @@ package() { make install DESTDIR=${pkgdir} install -Dm644 doc/${pkgname}.1 ${pkgdir}/usr/share/man/man1/${pkgname}.1 } -md5sums=('b6ff549a4fdd0c13897ef3cc37ee3996') diff --git a/community/pigeonhole/PKGBUILD b/community/pigeonhole/PKGBUILD index 79b524035..d4745e301 100644 --- a/community/pigeonhole/PKGBUILD +++ b/community/pigeonhole/PKGBUILD @@ -4,12 +4,12 @@ # This must be built against the version of dovecot being used, # else mail delivery will fail. # Specify the version of dovecot to be used here: -_dcpkgver=2.0.11 +_dcpkgver=2.0.12 # Make sure to bump pkgrel if changing this. pkgname=pigeonhole -pkgver=0.2.2 -pkgrel=3 +pkgver=0.2.3 +pkgrel=1 pkgdesc="Fully rewritten Sieve implementation for Dovecot v2.0" arch=('i686' 'x86_64') url="http://pigeonhole.dovecot.org/" @@ -19,7 +19,7 @@ makedepends=() conflicts=('dovecot-sieve' 'pigeonhole-hg') source=("http://www.rename-it.nl/dovecot/2.0/dovecot-2.0-$pkgname-$pkgver.tar.gz" "dovecot.conf") -md5sums=('23b9be534c62257a0d049b1370f11a99' +md5sums=('336cbb2073b48119d968fad7de89817a' '564b771c339f69a477c06babf53e11c2') options=('!libtool') diff --git a/community/vbindiff/PKGBUILD b/community/vbindiff/PKGBUILD new file mode 100644 index 000000000..12a64d771 --- /dev/null +++ b/community/vbindiff/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 45041 2011-04-14 10:57:46Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: tyr0 <thomas.hoernes@gmx.at> + +pkgname=vbindiff +pkgver=3.0_beta4 +pkgrel=2 +pkgdesc="displays files in hexadecimal and ASCII (or EBCDIC) and highlight the differences between them" +arch=('i686' 'x86_64') +url="http://www.cjmweb.net/vbindiff/" +license=('GPL') +depends=('gcc-libs' 'ncurses') +source=($url/$pkgname-$pkgver.tar.gz) +md5sums=('dbda80ef580e1a0975ef50b9aaa5210e') + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=$pkgdir/usr + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make install +} diff --git a/community/yagf/PKGBUILD b/community/yagf/PKGBUILD new file mode 100644 index 000000000..048e35c59 --- /dev/null +++ b/community/yagf/PKGBUILD @@ -0,0 +1,23 @@ +# $Id: PKGBUILD 45032 2011-04-14 09:33:23Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: das-ich <das-ich@yandex.ru> + +pkgname=yagf +pkgver=0.8.6 +pkgrel=1 +pkgdesc="QT4-based GUI for Cuneiform OCR" +arch=(i686 x86_64) +url="http://symmetrica.net/cuneiform-linux/yagf-en.html" +license=('GPL') +depends=('cuneiform' 'qt>=4.3' 'aspell') +optdepends=('xsane: acquire images from a scanner into YAGF directly') +makedepends=('cmake') +source=(http://symmetrica.net/cuneiform-linux/${pkgname}-${pkgver}-Source.tar.gz) +md5sums=('16582668d9ae34567c4f159c3208bfca') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}-Source" + cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release . + make + make DESTDIR=${pkgdir} install +} diff --git a/extra/dhcp/PKGBUILD b/extra/dhcp/PKGBUILD index 3d157e1d6..34c3e4448 100644 --- a/extra/dhcp/PKGBUILD +++ b/extra/dhcp/PKGBUILD @@ -1,24 +1,25 @@ -# $Id: PKGBUILD 118234 2011-04-06 07:14:19Z jgc $ +# $Id: PKGBUILD 119729 2011-04-14 10:22:18Z daniel $ # Maintainer: Daniel Isenmann <daniel @archlinux.org> pkgbase=dhcp pkgname=('dhcp' 'dhclient') # separate patch levels with a period to maintain proper versioning. -pkgver=4.2.0.2 -_pkgver=4.2.0-P2 +pkgver=4.2.1.1 +_pkgver=4.2.1-P1 pkgrel=1 arch=('i686' 'x86_64') license=('custom:isc-dhcp') url="https://www.isc.org/software/dhcp" source=(http://ftp.isc.org/isc/${pkgbase}/${pkgbase}-${_pkgver}.tar.gz - dhcpd dhcp.conf.d + dhcp4 dhcp6 dhcp dhcp-4.1.1-missing-ipv6-not-fatal.patch dhclient-script-pathFixes.patch) -md5sums=('a98f4ce3ca651e7e28a5a1ae6398689e' - 'df22cffa7d7415ece7bb025b7bf774dd' - '49da3192e5c885e3c7d02f447c2dea5e' +md5sums=('22e6f1eff6d5cfe2621a06cc62ba5b70' + 'c49b1497837ba56c54e401a66e1bab9b' + '12c2f3ae47ed23eb698eb7f1bfd80f20' + '8f357e46e1efcbb746f38737a3f977a2' 'fd64aeb4f399dcc41ea43089a3811094' 'ddcc5cd576ec631ade6c4da21952b50b') @@ -33,11 +34,13 @@ build() { ./configure --prefix=/usr --sysconfdir=/etc \ --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \ - --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases + --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \ + --with-cli-lease-file=/var/state/dhclient/dhclient.leases \ + --with-cli6-lease-file=/var/state/dhclient/dhclient6.leases make - patch -i ${srcdir}/dhclient-script-pathFixes.patch client/scripts/linux + patch -i ${srcdir}/dhclient-script-pathFixes.patch client/scripts/linux || return 1 } package_dhcp(){ @@ -49,8 +52,9 @@ package_dhcp(){ cd ${srcdir}/${pkgbase}-${_pkgver} make DESTDIR=${pkgdir} install - install -D -m755 ${srcdir}/dhcpd ${pkgdir}/etc/rc.d/dhcpd - install -D -m644 ${srcdir}/dhcp.conf.d ${pkgdir}/etc/conf.d/${pkgbase} + install -D -m755 ${srcdir}/dhcp4 ${pkgdir}/etc/rc.d/dhcp4 + install -D -m755 ${srcdir}/dhcp6 ${pkgdir}/etc/rc.d/dhcp6 + install -D -m644 ${srcdir}/dhcp ${pkgdir}/etc/conf.d/${pkgbase} mkdir -p ${pkgdir}/var/state/dhcp # Remove dhclient @@ -62,16 +66,15 @@ package_dhcp(){ package_dhclient(){ pkgdesc="dhclient is standalone client from the dhcp package" - depends=('bash') + depends=('bash' 'iproute2') cd ${srcdir}/${pkgbase}-${_pkgver} make -C client DESTDIR=${pkgdir} install # move dhclient.conf to dhclient.conf.example mv ${pkgdir}/etc/dhclient.conf{,.example} - - # directory needed for leasefiles - mkdir -p ${pkgdir}/var/lib/dhclient + + mkdir -p ${pkgdir}/var/state/dhclient # install dhclient linux script install -m755 -D client/scripts/linux ${pkgdir}/sbin/dhclient-script diff --git a/extra/dhcp/dhcp b/extra/dhcp/dhcp new file mode 100644 index 000000000..d4f228d9c --- /dev/null +++ b/extra/dhcp/dhcp @@ -0,0 +1,10 @@ +# +# Arguments to be passed to the DHCP server daemon +# + +# ipv4 runtime parameters +DHCP4_ARGS="-q" + +# ipv6 runtime parameters +DHCP6_ARGS="-q" + diff --git a/extra/dhcp/dhcp.install b/extra/dhcp/dhcp.install index c0ad39e36..5302be4b5 100644 --- a/extra/dhcp/dhcp.install +++ b/extra/dhcp/dhcp.install @@ -1,7 +1,14 @@ # arg 1: the new package version post_install() { [ -f var/state/dhcp/dhcpd.leases ] || : >var/state/dhcp/dhcpd.leases + [ -f var/state/dhcp/dhcpd6.leases ] || : >var/state/dhcp/dhcpd6.leases #echo "If dhcpd doesn't start, ensure the ipv6 kernel module is loaded." + + echo + echo "==> The dhcp server has now two rc.d scripts." + echo "==> Use '/etc/rc.d/dhcp6' to use IPv6 dhcp server or" + echo "==> '/etc/rc.d/dhcp4' to use IPv4 dhcp server." + echo "==> Make sure that you change your DAEMONS array in '/etc/rc.conf'!" } # arg 1: the new package version diff --git a/extra/dhcp/dhcp4 b/extra/dhcp/dhcp4 new file mode 100644 index 000000000..8e1277a37 --- /dev/null +++ b/extra/dhcp/dhcp4 @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/dhcp + +PIDFILE="/var/run/dhcpd.pid" + +if [[ -f $PIDFILE ]]; then + read -r PID < "$PIDFILE" + + # prevent stale pidfiles from hanging around + if [[ ! -d /proc/$PID ]]; then + echo 'pid not found. deleteing stale pidfile' + unset PID + rm -f "$PIDFILE" + fi +fi + +case "$1" in + start) + stat_busy "Starting DHCPv4 Server" + if [[ $PID ]]; then + stat_fail + exit 1 + fi + if /usr/sbin/dhcpd -4 -pf "$PIDFILE" $DHCP4_ARGS; then + add_daemon dhcp4 + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping DHCPv4 Server" + if [[ ! $PID ]]; then + stat_fail + exit 1 + fi + if { kill $PID && rm -f "$PIDFILE"; } &>/dev/null; then + rm_daemon dhcp4 + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + diff --git a/extra/dhcp/dhcp6 b/extra/dhcp/dhcp6 new file mode 100644 index 000000000..6b4b4d359 --- /dev/null +++ b/extra/dhcp/dhcp6 @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/dhcp + +PIDFILE="/var/run/dhcp6.pid" + +if [[ -f $PIDFILE ]]; then + read -r PID < "$PIDFILE" + + # prevent stale pidfiles from hanging around + if [[ ! -d /proc/$PID ]]; then + echo 'pid not found. deleteing stale pidfile' + unset PID + rm -f "$PIDFILE" + fi +fi + +case "$1" in + start) + stat_busy "Starting DHCPv6 Server" + if [[ $PID ]]; then + stat_fail + exit 1 + fi + if /usr/sbin/dhcpd -6 -pf "$PIDFILE" $DHCP6_ARGS; then + add_daemon dhcp6 + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping DHCPv6 Server" + if [[ ! $PID ]]; then + stat_fail + exit 1 + fi + if { kill $PID && rm -f "$PIDFILE"; } &>/dev/null; then + rm_daemon dhcp6 + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + diff --git a/extra/lv2core/PKGBUILD b/extra/lv2core/PKGBUILD index d483ab952..21cef7c66 100644 --- a/extra/lv2core/PKGBUILD +++ b/extra/lv2core/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 116670 2011-03-24 20:31:38Z schiv $ +# $Id: PKGBUILD 119725 2011-04-14 07:21:19Z schiv $ # Maintainer: Ray Rashif <schiv@archlinux.org> pkgname=lv2core pkgver=4.0 -pkgrel=1 +pkgrel=2 pkgdesc="LV2: Successor to the LADSPA audio plug-in standard" url="http://lv2plug.in/" license=('LGPL' 'custom') @@ -12,7 +12,7 @@ makedepends=('python2') provides=('lv2') changelog=$pkgname.changelog install=$pkgname.install -source=(http://lv2plug.in/spec/$pkgname-$pkgver.tar.bz2) +source=("http://lv2plug.in/spec/$pkgname-$pkgver.tar.bz2") md5sums=('5097d964f3559a1ecec2d2fc822ef53a') build() { @@ -27,7 +27,16 @@ package() { python2 waf install --destdir="$pkgdir" - install -Dm0644 COPYING \ + # do the work of lv2config to own symlinks; + # - generate lv2 headers + # - see FS#23514 + _ns=$(grep '^<http' manifest.ttl | sed 's|<http://\(.*\)>|\1|') + _name=${_ns/*\/} + _path="$pkgdir/usr/include/lv2/${_ns%/*}" + install -d "$_path" + ln -s "/usr/lib/lv2/$_name.lv2" "$_path/$_name" + + install -Dm644 COPYING \ "$pkgdir/usr/share/licenses/$pkgname/COPYING" } diff --git a/extra/lv2core/lv2core.changelog b/extra/lv2core/lv2core.changelog index 618e5921f..415cd0b59 100644 --- a/extra/lv2core/lv2core.changelog +++ b/extra/lv2core/lv2core.changelog @@ -1,7 +1,13 @@ +14 Apr 2011 (GMT+8) Ray Rashif <schiv@archlinux.org> + + * 4.0-2: + Do the work of lv2config in PKGBUILD manually + See https://bugs.archlinux.org/task/23514 + 25 Mar 2011 (GMT+8) Ray Rashif <schiv@archlinux.org> * 4.0-1 : - Upstream release + Upstream release 9 Aug 2010 (GMT+8) Ray Rashif <schiv@archlinux.org> diff --git a/extra/lv2core/lv2core.install b/extra/lv2core/lv2core.install index 6a9fdf33b..dbd9898d3 100644 --- a/extra/lv2core/lv2core.install +++ b/extra/lv2core/lv2core.install @@ -1,6 +1,5 @@ post_install() { \ldconfig - \lv2config } post_upgrade() { @@ -8,7 +7,7 @@ post_upgrade() { } post_remove() { - \ldconfig + post_install } # vim:set ts=2 sw=2 et: diff --git a/extra/python2/PKGBUILD b/extra/python2/PKGBUILD index 50a02686c..2dadb1ec3 100644 --- a/extra/python2/PKGBUILD +++ b/extra/python2/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 110650 2011-02-21 01:06:01Z stephane $ +# $Id: PKGBUILD 119684 2011-04-13 16:35:24Z stephane $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributer: Stéphane Gaudreault <stephane@archlinux.org> # Contributer: Jason Chu <jason@archlinux.org> pkgname=python2 pkgver=2.7.1 -pkgrel=7 +pkgrel=8 _pybasever=2.7 pkgdesc="A high-level scripting language" arch=('i686' 'x86_64') @@ -17,15 +17,21 @@ optdepends=('tk: for IDLE') conflicts=('python<3') options=('!makeflags') source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2 - python-2.7-db51.diff) + python-2.7-db51.diff + python-2.7.1-fix-decimal-in-turkish-locale.patch) md5sums=('aa27bc25725137ba155910bd8e5ddc4f' - 'd9b8161568ce17a305c1b71e61ccd4b5') + 'd9b8161568ce17a305c1b71e61ccd4b5' + '5032449f1ff2abfe18d14cc674165b23') build() { cd "${srcdir}/Python-${pkgver}" patch -Np1 -i ../python-2.7-db51.diff + # Fix "import decimal" in the Turkish locale + # cf : https://bugzilla.redhat.com/show_bug.cgi?id=694928 + patch -Np1 -i ../python-2.7.1-fix-decimal-in-turkish-locale.patch + # Temporary workaround for FS#22322 # See http://bugs.python.org/issue10835 for upstream report sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c diff --git a/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch b/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch new file mode 100644 index 000000000..57f527f40 --- /dev/null +++ b/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch @@ -0,0 +1,48 @@ +diff -up Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale Python-2.7.1/Lib/decimal.py +--- Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale 2010-07-08 17:22:54.000000000 -0400 ++++ Python-2.7.1/Lib/decimal.py 2011-04-12 11:30:40.850350842 -0400 +@@ -1720,8 +1720,6 @@ class Decimal(object): + # here self was representable to begin with; return unchanged + return Decimal(self) + +- _pick_rounding_function = {} +- + # for each of the rounding functions below: + # self is a finite, nonzero Decimal + # prec is an integer satisfying 0 <= prec < len(self._int) +@@ -1788,6 +1786,17 @@ class Decimal(object): + else: + return -self._round_down(prec) + ++ _pick_rounding_function = dict( ++ ROUND_DOWN = '_round_down', ++ ROUND_UP = '_round_up', ++ ROUND_HALF_UP = '_round_half_up', ++ ROUND_HALF_DOWN = '_round_half_down', ++ ROUND_HALF_EVEN = '_round_half_even', ++ ROUND_CEILING = '_round_ceiling', ++ ROUND_FLOOR = '_round_floor', ++ ROUND_05UP = '_round_05up', ++ ) ++ + def fma(self, other, third, context=None): + """Fused multiply-add. + +@@ -3705,18 +3714,6 @@ _numbers.Number.register(Decimal) + + ##### Context class ####################################################### + +- +-# get rounding method function: +-rounding_functions = [name for name in Decimal.__dict__.keys() +- if name.startswith('_round_')] +-for name in rounding_functions: +- # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value. +- globalname = name[1:].upper() +- val = globals()[globalname] +- Decimal._pick_rounding_function[val] = name +- +-del name, val, globalname, rounding_functions +- + class _ContextManager(object): + """Context manager class to support localcontext(). diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD index ba907af2b..333096f8f 100644 --- a/extra/xf86-video-intel/PKGBUILD +++ b/extra/xf86-video-intel/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 119231 2011-04-11 12:45:51Z jgc $ +# $Id: PKGBUILD 119757 2011-04-14 20:01:07Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-intel -pkgver=2.14.903 +pkgver=2.15.0 pkgrel=1 pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers" arch=(i686 x86_64) @@ -14,7 +14,7 @@ conflicts=('xorg-server<1.10.0' 'xf86-video-i810' 'xf86-video-intel-legacy') options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('2c2e0f714fbfa1f3aabcfd3fd667f892996680c8') +sha1sums=('78ec39a4470cfc0bf13d269fb915f6c5a498ee62') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/multilib-testing/lib32-mesa/PKGBUILD b/multilib-testing/lib32-mesa/PKGBUILD index 489fd3703..5bc9b7c23 100644 --- a/multilib-testing/lib32-mesa/PKGBUILD +++ b/multilib-testing/lib32-mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 44674 2011-04-10 20:53:16Z lcarlier $ +# $Id: PKGBUILD 45021 2011-04-14 09:13:42Z lcarlier $ # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> @@ -6,25 +6,25 @@ pkgbase=lib32-mesa pkgname=('lib32-mesa' 'lib32-libgl' 'lib32-libgles' 'lib32-libegl' 'lib32-ati-dri' 'lib32-intel-dri' 'lib32-unichrome-dri' 'lib32-mach64-dri' 'lib32-mga-dri' 'lib32-r128-dri' 'lib32-savage-dri' 'lib32-sis-dri' 'lib32-tdfx-dri' 'lib32-nouveau-dri') -#_git=true -_git=false +_git=true +#_git=false if [ "${_git}" = "true" ]; then - pkgver=7.10.0.git20110215 + pkgver=7.10.99.git20110412 else pkgver=7.10.2 fi -pkgrel=2 +pkgrel=1 arch=(x86_64) -makedepends=('glproto>=1.4.12' 'pkgconfig' 'lib32-libdrm>=2.4.23' 'lib32-libxxf86vm>=1.1.0' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.3.5' 'lib32-libxt>=1.0.8' +makedepends=('glproto>=1.4.12' 'pkgconfig' 'lib32-libdrm>=2.4.25' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.3' 'lib32-libxt>=1.1.1' 'lib32-gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev') url="http://mesa3d.sourceforge.net" license=('custom') if [ "${_git}" = "true" ]; then - # mesa git shot from 7.10 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.10&id=cc1636b6db85604510f97f8a37d7fd0ecf453866 - source=('ftp://ftp.archlinux.org/other/mesa/mesa-cc1636b6db85604510f97f8a37d7fd0ecf453866.tar.bz2') - md5sums=('f0d9daab4aaaacfd3b756dcb23b268af') + # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f05751aa2af1a8ec83c2d110385aab1b7e735238 + source=('ftp://ftp.archlinux.org/other/mesa/mesa-f05751aa2af1a8ec83c2d110385aab1b7e735238.tar.bz2') + md5sums=('56d8862d1155f7e8054f9aa7f93ebebc') else source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2" nouveau-fix-header.patch) md5sums=('f5de82852f1243f42cc004039e10b771' '67c87b77cc2236b52a3b47dad3fbb5d4') @@ -42,7 +42,9 @@ build() { cd "${srcdir}/Mesa-${pkgver}" fi - patch -Np1 -i "${srcdir}/nouveau-fix-header.patch" + if [ "${_git}" != "true" ]; then + patch -Np1 -i "${srcdir}/nouveau-fix-header.patch" + fi if [ "${_git}" = "true" ]; then ./autogen.sh --prefix=/usr \ @@ -86,7 +88,7 @@ build() { } package_lib32-libgl() { - depends=('lib32-libdrm>=2.4.23' 'lib32-libxxf86vm>=1.1.0' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-gcc-libs>=4.5' 'libgl') + depends=('lib32-libdrm>=2.4.25' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-gcc-libs>=4.5' 'libgl') pkgdesc="Mesa 3-D graphics library and DRI software rasterizer (32-bit)" if [ "${_git}" = "true" ]; then @@ -144,10 +146,12 @@ package_lib32-libegl() { fi install -m755 -d "${pkgdir}/usr/lib32" - install -m755 -d "${pkgdir}/usr/lib32/egl" install -m755 -d "${pkgdir}/usr/lib32/pkgconfig" bin/minstall lib32/libEGL.so* "${pkgdir}/usr/lib32/" - bin/minstall lib32/egl/* "${pkgdir}/usr/lib32/egl/" + if [ "${_git}" != "true" ]; then + install -m755 -d "${pkgdir}/usr/lib32/egl" + bin/minstall lib32/egl/* "${pkgdir}/usr/lib32/egl/" + fi bin/minstall src/egl/main/egl.pc "${pkgdir}/usr/lib32/pkgconfig/" install -m755 -d "${pkgdir}/usr/share/licenses/libegl" @@ -155,7 +159,7 @@ package_lib32-libegl() { } package_lib32-mesa() { - depends=('lib32-libgl' 'lib32-libx11>=1.3.5' 'lib32-libxt>=1.0.8' 'mesa') + depends=('lib32-libgl' 'lib32-libx11>=1.4.3' 'lib32-libxt>=1.1.1' 'lib32-libdrm>=2.4.25' 'lib32-gcc-libs>=4.5' 'mesa') pkgdesc="Mesa 3-D graphics libraries and include files (32-bit)" if [ "${_git}" = "true" ]; then diff --git a/multilib/lib32-libdrm/PKGBUILD b/multilib/lib32-libdrm/PKGBUILD index d178f7bb3..b5f53389b 100644 --- a/multilib/lib32-libdrm/PKGBUILD +++ b/multilib/lib32-libdrm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 39076 2011-02-06 10:56:39Z ibiru $ +# $Id: PKGBUILD 45000 2011-04-14 07:44:44Z lcarlier $ # Contributor: Jan de Groot <jgc@archlinux.org> _pkgbasename=libdrm pkgname=lib32-$_pkgbasename -pkgver=2.4.23 +pkgver=2.4.25 pkgrel=1 pkgdesc="Userspace interface to kernel DRM services (32-bit)" arch=(x86_64) @@ -14,8 +14,8 @@ options=('!libtool') url="http://dri.freedesktop.org/" source=(http://dri.freedesktop.org/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.bz2 no-pthread-stubs.patch) -md5sums=('7577ff36ec364d88fae466d4f7fc5fc6' - '9b5ec3bbebe86921e2057694c42f65b8') +sha1sums=('b950f29cd1c4bb9f1c98a926486a47256b0a4194' + 'af2d9871565ea4cf524873f897691a18b2bba944') build() { cd "${srcdir}/${_pkgbasename}-${pkgver}" @@ -25,14 +25,15 @@ build() { export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" patch -Np1 -i "${srcdir}/no-pthread-stubs.patch" - libtoolize --force - aclocal - autoconf - automake + + # libtoolize --force + autoreconf --force --install ./configure --prefix=/usr --libdir=/usr/lib32 \ - --enable-intel --enable-radeon \ - --enable-vmwgfx-experimental-api --enable-nouveau-experimental-api \ - --enable-udev + --enable-udev \ + --enable-intel \ + --enable-radeon \ + --enable-vmwgfx-experimental-api \ + --enable-nouveau-experimental-api make } diff --git a/multilib/lib32-libx11/PKGBUILD b/multilib/lib32-libx11/PKGBUILD index 232afa456..cdd1c285c 100644 --- a/multilib/lib32-libx11/PKGBUILD +++ b/multilib/lib32-libx11/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 35267 2010-12-18 01:14:35Z heftig $ +# $Id: PKGBUILD 45003 2011-04-14 07:54:26Z lcarlier $ # Maintainer: Jan de Groot <jgc@archlinux.org> _pkgbasename=libx11 pkgname=lib32-$_pkgbasename -pkgver=1.4.0 +pkgver=1.4.3 pkgrel=1 pkgdesc="X11 client-side library (32-bit)" arch=(x86_64) @@ -13,7 +13,7 @@ makedepends=('xorg-util-macros' 'xextproto' 'xtrans' 'inputproto' 'gcc-multilib' options=('!libtool') license=('custom:XFREE86') source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2) -sha1sums=('3d198f5578733d6c3d81c005025875f6d084668e') +sha1sums=('174270a0e51614b5077026fc6c20701d4e09aef8') build() { export CC="gcc -m32" diff --git a/multilib/lib32-libxt/PKGBUILD b/multilib/lib32-libxt/PKGBUILD index e1c414ab2..8f592db58 100644 --- a/multilib/lib32-libxt/PKGBUILD +++ b/multilib/lib32-libxt/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 31554 2010-11-02 00:10:38Z heftig $ +# $Id: PKGBUILD 45006 2011-04-14 08:11:26Z lcarlier $ #Maintainer: Jan de Groot <jgc@archlinux.org> _pkgbasename=libxt pkgname=lib32-$_pkgbasename -pkgver=1.0.9 +pkgver=1.1.1 pkgrel=1 pkgdesc="X11 toolkit intrinsics library (32-bit)" arch=(x86_64) @@ -13,7 +13,7 @@ depends=('lib32-libsm' 'lib32-libx11' $_pkgbasename) makedepends=('xorg-util-macros' 'gcc-multilib') options=('!libtool') source=(${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2) -sha1sums=('3222c028b37e70a1d0d88feba5e52c2408e6bd5c') +sha1sums=('a29a97f8521bdc7a95364e163f0ce474de572ae5') build() { cd "${srcdir}/libXt-${pkgver}" diff --git a/multilib/lib32-mesa/PKGBUILD b/multilib/lib32-mesa/PKGBUILD index d6e047987..489fd3703 100644 --- a/multilib/lib32-mesa/PKGBUILD +++ b/multilib/lib32-mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 41096 2011-03-03 18:58:55Z lcarlier $ +# $Id: PKGBUILD 44674 2011-04-10 20:53:16Z lcarlier $ # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> @@ -12,13 +12,13 @@ _git=false if [ "${_git}" = "true" ]; then pkgver=7.10.0.git20110215 else - pkgver=7.10.1 + pkgver=7.10.2 fi -pkgrel=1 +pkgrel=2 arch=(x86_64) makedepends=('glproto>=1.4.12' 'pkgconfig' 'lib32-libdrm>=2.4.23' 'lib32-libxxf86vm>=1.1.0' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.3.5' 'lib32-libxt>=1.0.8' -'lib32-gcc-libs>=4.5' 'dri2proto=2.3' 'lib32-talloc' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev') +'lib32-gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'libxml2' 'gcc-multilib' imake 'lib32-udev') url="http://mesa3d.sourceforge.net" license=('custom') if [ "${_git}" = "true" ]; then @@ -26,8 +26,8 @@ if [ "${_git}" = "true" ]; then source=('ftp://ftp.archlinux.org/other/mesa/mesa-cc1636b6db85604510f97f8a37d7fd0ecf453866.tar.bz2') md5sums=('f0d9daab4aaaacfd3b756dcb23b268af') else - source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2") - md5sums=('efe8da4d80c2a5d32a800770b8ce5dfa') + source=("ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2" nouveau-fix-header.patch) + md5sums=('f5de82852f1243f42cc004039e10b771' '67c87b77cc2236b52a3b47dad3fbb5d4') fi build() { @@ -42,11 +42,7 @@ build() { cd "${srcdir}/Mesa-${pkgver}" fi - # python2 build fixes - sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \ - -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" $(find $srcdir -name '*.py') - sed -i -e "s|PYTHON2 = python|PYTHON2 = python2|" configs/{default,autoconf.in} - sed -i -e "s|python|python2|" src/gallium/auxiliary/Makefile + patch -Np1 -i "${srcdir}/nouveau-fix-header.patch" if [ "${_git}" = "true" ]; then ./autogen.sh --prefix=/usr \ diff --git a/multilib/lib32-mesa/nouveau-fix-header.patch b/multilib/lib32-mesa/nouveau-fix-header.patch new file mode 100644 index 000000000..38aa996f1 --- /dev/null +++ b/multilib/lib32-mesa/nouveau-fix-header.patch @@ -0,0 +1,86 @@ +From 5c102dd94f435e97507213fbd128e50dd15f5f54 Mon Sep 17 00:00:00 2001 +From: Ben Skeggs <bskeggs@redhat.com> +Date: Mon, 20 Dec 2010 03:39:36 +0000 +Subject: nouveau: fix includes for latest libdrm + +Signed-off-by: Ben Skeggs <bskeggs@redhat.com> +--- +diff --git a/src/gallium/drivers/nouveau/nouveau_winsys.h b/src/gallium/drivers/nouveau/nouveau_winsys.h +index ab480ca..747b084 100644 +--- a/src/gallium/drivers/nouveau/nouveau_winsys.h ++++ b/src/gallium/drivers/nouveau/nouveau_winsys.h +@@ -10,7 +10,7 @@ + #include "nouveau/nouveau_grobj.h" + #include "nouveau/nouveau_notifier.h" + #include "nouveau/nouveau_resource.h" +-#include "nouveau/nouveau_pushbuf.h" ++#include "nouveau/nv04_pushbuf.h" + + #ifndef NV04_PFIFO_MAX_PACKET_LEN + #define NV04_PFIFO_MAX_PACKET_LEN 2047 +diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c +index ce48022..a99df76 100644 +--- a/src/gallium/drivers/nv50/nv50_surface.c ++++ b/src/gallium/drivers/nv50/nv50_surface.c +@@ -22,7 +22,7 @@ + + #define __NOUVEAU_PUSH_H__ + #include <stdint.h> +-#include "nouveau/nouveau_pushbuf.h" ++#include "nouveau/nv04_pushbuf.h" + #include "nv50_context.h" + #include "nv50_resource.h" + #include "pipe/p_defines.h" +diff --git a/src/gallium/drivers/nvfx/nv04_2d.c b/src/gallium/drivers/nvfx/nv04_2d.c +index e0e65e7..e2fadd3 100644 +--- a/src/gallium/drivers/nvfx/nv04_2d.c ++++ b/src/gallium/drivers/nvfx/nv04_2d.c +@@ -34,11 +34,11 @@ + #include <stdio.h> + #include <stdint.h> + #include <nouveau/nouveau_device.h> +-#include <nouveau/nouveau_pushbuf.h> + #include <nouveau/nouveau_channel.h> + #include <nouveau/nouveau_bo.h> + #include <nouveau/nouveau_notifier.h> + #include <nouveau/nouveau_grobj.h> ++#include <nouveau/nv04_pushbuf.h> + #include "nv04_2d.h" + + #include "nouveau/nv_object.xml.h" +diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c +index 597664e..339b317 100644 +--- a/src/gallium/drivers/nvfx/nvfx_vbo.c ++++ b/src/gallium/drivers/nvfx/nvfx_vbo.c +@@ -9,8 +9,7 @@ + #include "nvfx_resource.h" + + #include "nouveau/nouveau_channel.h" +- +-#include "nouveau/nouveau_pushbuf.h" ++#include "nouveau/nv04_pushbuf.h" + + static inline unsigned + util_guess_unique_indices_count(unsigned mode, unsigned indices) +diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.h b/src/mesa/drivers/dri/nouveau/nouveau_driver.h +index 8036b18..c5ac128 100644 +--- a/src/mesa/drivers/dri/nouveau/nouveau_driver.h ++++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.h +@@ -38,7 +38,6 @@ + #include <assert.h> + + #include "nouveau_device.h" +-#include "nouveau_pushbuf.h" + #include "nouveau_grobj.h" + #include "nouveau_channel.h" + #include "nouveau_bo.h" +@@ -46,6 +45,7 @@ + #include "nouveau_screen.h" + #include "nouveau_state.h" + #include "nouveau_surface.h" ++#include "nv04_pushbuf.h" + + #define DRIVER_DATE "20091015" + #define DRIVER_AUTHOR "Nouveau" +-- +cgit v0.8.3-6-g21f6 diff --git a/testing/banshee/PKGBUILD b/testing/banshee/PKGBUILD index fd6232dad..77f7f6e86 100644 --- a/testing/banshee/PKGBUILD +++ b/testing/banshee/PKGBUILD @@ -1,16 +1,15 @@ -# $Id: PKGBUILD 119457 2011-04-11 16:52:00Z ibiru $ +# $Id: PKGBUILD 119748 2011-04-14 13:27:14Z jgc $ # Contributor: György Balló <ballogy@freestart.hu> pkgname=banshee pkgver=2.0.0 -pkgrel=2 +pkgrel=3 pkgdesc="Music management and playback for GNOME" arch=('i686' 'x86_64') url="http://banshee.fm/" license=('MIT') -depends=('libxxf86vm' 'mono-addins' 'notify-sharp-svn' 'boo' 'libwebkit' 'gdata-sharp' 'gtk-sharp-beans' 'gudev-sharp' 'gkeyfile-sharp' 'taglib-sharp' - 'libmtp>=0.2.0' 'libgpod' 'mono-zeroconf' 'gstreamer0.10-base-plugins' 'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils') -makedepends=('intltool>=0.35.0' 'gnome-doc-utils>=0.17.3') +depends=('libxxf86vm' 'mono-addins' 'notify-sharp-svn' 'boo' 'libwebkit' 'gdata-sharp' 'gtk-sharp-beans' 'gudev-sharp' 'gkeyfile-sharp' 'taglib-sharp' 'libmtp' 'libgpod' 'mono-zeroconf' 'gstreamer0.10-base-plugins' 'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'gconf-sharp') +makedepends=('intltool' 'gnome-doc-utils') optdepends=('gstreamer0.10-good-plugins: Extra media codecs' 'gstreamer0.10-ugly-plugins: Extra media codecs' 'gstreamer0.10-bad-plugins: Extra media codecs' @@ -32,7 +31,6 @@ build() { --disable-static \ --disable-scrollkeeper \ --disable-ipod --disable-hal \ - --disable-gnome \ --with-vendor-build-id=ArchLinux make } @@ -42,7 +40,7 @@ package() { mkdir -p "$MONO_SHARED_DIR" cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir/" install + make DESTDIR="$pkgdir" install install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } diff --git a/testing/glib2/PKGBUILD b/testing/glib2/PKGBUILD index d066bfaf1..2361a029e 100644 --- a/testing/glib2/PKGBUILD +++ b/testing/glib2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 117426 2011-04-01 22:05:35Z ibiru $ +# $Id: PKGBUILD 119742 2011-04-14 11:29:04Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=glib2 -pkgver=2.28.5 +pkgver=2.28.6 pkgrel=1 pkgdesc="Common C routines used by GTK+ and other libs" url="http://www.gtk.org/" @@ -14,7 +14,7 @@ options=('!libtool' '!docs') source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.28/glib-${pkgver}.tar.bz2 glib2.sh glib2.csh) -sha256sums=('8eb4b56b228c6d0bf5021dd23db5b0084d80cc6d8d89d7863073c2da575ec22a' +sha256sums=('557fb7c39d21b9359fbac51fd6b0b883bc97a2561c0166eef993a4078312f578' '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a' '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3') diff --git a/testing/mail-notification/PKGBUILD b/testing/mail-notification/PKGBUILD new file mode 100644 index 000000000..b5b1deeff --- /dev/null +++ b/testing/mail-notification/PKGBUILD @@ -0,0 +1,82 @@ +# $Id: PKGBUILD 119734 2011-04-14 10:44:43Z jgc $ +# Maintainer: Roman Kyrylych <roman@archlinux.org> + +pkgname=mail-notification +pkgver=5.4 +pkgrel=8 +pkgdesc="Tray icon application that informs you if you have new mail" +arch=('i686' 'x86_64') +url="http://www.nongnu.org/mailnotify/" +license=('GPL3' 'FDL') +depends=('cyrus-sasl-plugins' 'gmime' 'libnotify>=0.7.1' 'gnome-keyring' 'hicolor-icon-theme' 'notification-daemon' 'libgnome') +makedepends=('gob2' 'intltool' 'evolution' 'gnome-doc-utils') +options=('!libtool' '!emptydirs') +install=mail-notification.install +source=(http://savannah.nongnu.org/download/mailnotify/${pkgname}-${pkgver}.tar.bz2 + dont-update-cache.patch + remove-ubuntu-special-case.patch + mail-notification-5.4-evolution.patch + gmime-2.4.patch + mail-notification-5.4-sasl_encode64.patch + mail-notification-5.4-evolution-gtkhtml.patch + mail-notification-5.4-camel_headers.patch + mail-notification-5.4-icons.patch + mail-notification-5.4-weak.patch + mail-notification-5.4-popup-attach.patch + mail-notification-5.4-kde-trayicon.patch + mail-notification-5.4-evolution-3-0-support.patch + mail-notification-5.4-gtk3-support.patch + mail-notification-5.4-add-fallback-icon.patch) +md5sums=('c8dc33a61251acb5474e56eab6b18f43' + '6007bc30e789dab0a8282038e0335eb9' + '9cadd61bbd9c324b2916ec980231e0f2' + 'aa6f80820899f904c25988772f70ade9' + '447cc20f035b9cf1a391027684ce1297' + '125513ed059f62469377eb0ab794dbed' + 'c595a3962ab13a65be24a941e28faa9c' + 'f79939f593b2e8659e302df72c2b54b1' + '244b7ef2aec7656e8df390be87c10e2b' + '31bde95dfd39449959d8b3316f91429c' + 'cdead6a88d1779f69a5f40dc75d5cb84' + 'c7991b831834724eddc1c6802c3e06a6' + '49fe910f68393b0f6a1f1bcb7a8bdcd3' + '55ed1aeb56ca053cc1a0a6062761c2b4' + '09df61b4dc29c676ac81ff9054e840ac') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np0 -i "${srcdir}/dont-update-cache.patch" + patch -Np0 -i "${srcdir}/remove-ubuntu-special-case.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-evolution.patch" + patch -Np1 -i "${srcdir}/gmime-2.4.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-sasl_encode64.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-evolution-gtkhtml.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-camel_headers.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-icons.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-weak.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-popup-attach.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-kde-trayicon.patch" + patch -Np0 -i "${srcdir}/mail-notification-5.4-evolution-3-0-support.patch" + patch -Np0 -i "${srcdir}/mail-notification-5.4-gtk3-support.patch" + patch -Np0 -i "${srcdir}/mail-notification-5.4-add-fallback-icon.patch" + + gtk-builder-convert ui/mailbox-properties-dialog.glade ui/mailbox-properties-dialog.ui + gtk-builder-convert ui/properties-dialog.glade ui/properties-dialog.ui + + ./jb configure prefix=/usr sysconfdir=/etc \ + localstatedir=/var destdir="${pkgdir}" \ + gconf-schemas-dir=/etc/gconf/schemas install-gconf-schemas=no \ + cflags="${CFLAGS}" cppflags="${CXXFLAGS}" ldflags="${LDFLAGS}" \ + library-mode=0755 + ./jb build + GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 ./jb install + + rm -f "${pkgdir}/usr/share/mail-notification/"*.glade + install -m644 ui/mailbox-properties-dialog.ui "${pkgdir}/usr/share/mail-notification/" + install -m644 ui/properties-dialog.ui "${pkgdir}/usr/share/mail-notification/" + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema ${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas --domain mail-notification ${pkgdir}/etc/gconf/schemas/*.schemas + rm -f ${pkgdir}/etc/gconf/schemas/*.schemas +} diff --git a/testing/mail-notification/dont-update-cache.patch b/testing/mail-notification/dont-update-cache.patch new file mode 100644 index 000000000..81216835e --- /dev/null +++ b/testing/mail-notification/dont-update-cache.patch @@ -0,0 +1,22 @@ +--- jbsrc/jb.c.~1~ 2008-03-20 16:53:02.000000000 +0100 ++++ jbsrc/jb.c 2008-03-26 20:51:45.641363619 +0100 +@@ -327,7 +327,6 @@ + jb_package_add_resources (void) + { + JBGroup *group; +- JBRule *rule; + JBObject *object; + + if (jb_variable_get_bool("compile-warnings")) +@@ -362,11 +361,6 @@ + if (jb_variable_get_bool("hotmail")) + jb_group_add_data_file(group, "hotmail.png", "$pkgdatadir"); + +- rule = jb_rule_new(); +- jb_rule_set_install_message(rule, "updating the GTK+ icon cache"); +- jb_rule_add_install_command(rule, "-gtk-update-icon-cache -f -t $datadir/icons/hicolor"); +- jb_group_add_resource(group, JB_GROUP_RESOURCE(rule)); +- + jb_group_add(group); + + /*** data ******************************************************************/ diff --git a/testing/mail-notification/gmime-2.4.patch b/testing/mail-notification/gmime-2.4.patch new file mode 100644 index 000000000..0d16357fb --- /dev/null +++ b/testing/mail-notification/gmime-2.4.patch @@ -0,0 +1,63 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-base-mbox-mailbox-backend.c mail-notification-5.4-OK/build/src/mn-base-mbox-mailbox-backend.c +--- mail-notification-5.4/build/src/mn-base-mbox-mailbox-backend.c 2008-12-23 14:48:49.000000000 +0300 ++++ mail-notification-5.4-OK/build/src/mn-base-mbox-mailbox-backend.c 2008-12-23 14:48:28.000000000 +0300 +@@ -265,7 +265,7 @@ + mime_message = g_mime_parser_construct_message(parser); + if (mime_message) + { +- if (g_mime_message_get_header(mime_message, "X-Mozilla-Status")) ++ if (g_mime_object_get_header(mime_message, "X-Mozilla-Status")) + { + #if WITH_MOZILLA + type = MN_TYPE_MOZILLA_MAILBOX_BACKEND; +diff -Nrbu mail-notification-5.4/build/src/mn-mozilla-mailbox-backend.c mail-notification-5.4-OK/build/src/mn-mozilla-mailbox-backend.c +--- mail-notification-5.4/build/src/mn-mozilla-mailbox-backend.c 2008-12-23 14:48:49.000000000 +0300 ++++ mail-notification-5.4-OK/build/src/mn-mozilla-mailbox-backend.c 2008-12-23 14:46:47.000000000 +0300 +@@ -167,7 +167,7 @@ + + const char *header; + +- header = g_mime_message_get_header(mime_message, header_name); ++ header = g_mime_object_get_header(mime_message, header_name); + if (header && mn_str_ishex(header)) + return strtol(header, NULL, 16); + else +diff -Nrbu mail-notification-5.4/jbsrc/jb.c mail-notification-5.4-OK/jbsrc/jb.c +--- mail-notification-5.4/jbsrc/jb.c 2008-05-22 19:47:04.000000000 +0400 ++++ mail-notification-5.4-OK/jbsrc/jb.c 2008-12-23 14:43:09.000000000 +0300 +@@ -166,7 +166,7 @@ + jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-2.0 >= 2.12 libgnomeui-2.0 >= 2.14.0 gnome-vfs-2.0 libglade-2.0 libxml-2.0 libnotify >= 0.4.1"); + jb_require_packages("D-Bus", "dbus", "dbus-glib-1"); + +- jb_check_packages_for_options("GMime", "gmime", "gmime-2.0 >= 2.2.7", ++ jb_check_packages_for_options("GMime", "gmime", "gmime-2.4", + "hotmail", + "imap", + "maildir", +diff -Nrbu mail-notification-5.4/src/mn-message-mime.c mail-notification-5.4-OK/src/mn-message-mime.c +--- mail-notification-5.4/src/mn-message-mime.c 2008-05-22 19:45:35.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-message-mime.c 2008-12-23 14:46:35.000000000 +0300 +@@ -33,12 +33,12 @@ + g_return_val_if_fail(GMIME_IS_MESSAGE(mime_message), FALSE); + + /* SpamAssassin */ +- spam = g_mime_message_get_header(mime_message, "X-Spam-Status"); ++ spam = g_mime_object_get_header(mime_message, "X-Spam-Status"); + if (spam && mn_ascii_str_case_has_prefix(spam, "yes")) + return TRUE; + + /* bogofilter */ +- spam = g_mime_message_get_header(mime_message, "X-Bogosity"); ++ spam = g_mime_object_get_header(mime_message, "X-Bogosity"); + if (spam && mn_ascii_str_case_has_prefix(spam, "yes")) + return TRUE; + +@@ -89,7 +89,7 @@ + { + const char *status; + +- status = g_mime_message_get_header(mime_message, "Status"); ++ status = g_mime_object_get_header(mime_message, "Status"); + if (status && strchr(status, 'R')) + return NULL; /* the message was read */ + else if (status && strchr(status, 'O')) diff --git a/testing/mail-notification/mail-notification-5.4-add-fallback-icon.patch b/testing/mail-notification/mail-notification-5.4-add-fallback-icon.patch new file mode 100644 index 000000000..41c28e870 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-add-fallback-icon.patch @@ -0,0 +1,16 @@ +--- src/mn-stock.c.orig 2011-02-17 17:42:39.886767087 +0100 ++++ src/mn-stock.c 2011-02-17 17:49:37.415541177 +0100 +@@ -86,6 +86,13 @@ + gtk_icon_source_set_icon_name(icon_source, icons[i].icon_name); + gtk_icon_set_add_source(icon_set, icon_source); + gtk_icon_source_free(icon_source); ++ ++ /* Add a fallback icon */ ++ icon_source = gtk_icon_source_new(); ++ gtk_icon_source_set_icon_name(icon_source, "mail-notification"); ++ gtk_icon_source_set_state_wildcarded(icon_source, TRUE); ++ gtk_icon_set_add_source(icon_set, icon_source); ++ gtk_icon_source_free(icon_source); + } + else if (icons[i].source_stock_id) + { diff --git a/testing/mail-notification/mail-notification-5.4-camel_headers.patch b/testing/mail-notification/mail-notification-5.4-camel_headers.patch new file mode 100644 index 000000000..861e3d215 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-camel_headers.patch @@ -0,0 +1,36 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-message.c mail-notification-5.4-OK/build/src/mn-evolution-message.c +--- mail-notification-5.4/build/src/mn-evolution-message.c 2008-05-22 19:47:51.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-message.c 2010-05-04 18:13:31.000000000 +0400 +@@ -25,7 +25,7 @@ + #line 24 "src/mn-evolution-message.gob" + + #include <glib/gi18n.h> +-#include <camel/camel-folder-summary.h> ++#include <camel/camel.h> + #include "mn-evolution-mailbox.h" + #include "mn-message-private.h" + #include "mn-evolution-client.h" +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-server.c mail-notification-5.4-OK/build/src/mn-evolution-server.c +--- mail-notification-5.4/build/src/mn-evolution-server.c 2010-05-04 18:12:56.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-server.c 2010-05-04 18:13:39.000000000 +0400 +@@ -28,7 +28,7 @@ + #include <libintl.h> + #include <gobject/gvaluecollector.h> + #include <libedataserver/eds-version.h> +-#include <camel/camel-folder.h> ++#include <camel/camel.h> + #if EDS_CHECK_VERSION(2,29,0) + #include <shell/e-shell.h> + #include <mail/e-mail-browser.h> +diff -Nrbu mail-notification-5.4/src/mn-evolution-plugin.c mail-notification-5.4-OK/src/mn-evolution-plugin.c +--- mail-notification-5.4/src/mn-evolution-plugin.c 2010-05-04 18:12:56.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-evolution-plugin.c 2010-05-04 18:13:20.000000000 +0400 +@@ -24,7 +24,7 @@ + #include <dbus/dbus.h> + #include <dbus/dbus-glib-lowlevel.h> + #include <dbus/dbus-glib-bindings.h> +-#include <camel/camel-folder.h> ++#include <camel/camel.h> + #include <mail/em-event.h> + #include <mail/mail-tools.h> + #include "mn-evolution.h" diff --git a/testing/mail-notification/mail-notification-5.4-evolution-3-0-support.patch b/testing/mail-notification/mail-notification-5.4-evolution-3-0-support.patch new file mode 100644 index 000000000..51a0eb519 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-evolution-3-0-support.patch @@ -0,0 +1,70 @@ +--- jbsrc/lib/src/extras/jb-evolution-plugin.c.evolution30 2011-02-02 00:09:33.945696868 +0100 ++++ jbsrc/lib/src/extras/jb-evolution-plugin.c 2011-02-02 00:28:09.096275028 +0100 +@@ -41,7 +41,7 @@ + if (! minversion) + minversion = "2.12"; + +- packages = g_strdup_printf("evolution-plugin >= %s libgtkhtml-3.15 gtkhtml-editor-3.14", minversion); ++ packages = g_strdup_printf("evolution-plugin-3.0 >= %s libgtkhtml-4.0 gtkhtml-editor-4.0", minversion); + result = jb_check_packages("Evolution", "evolution-plugin", packages); + g_free(packages); + +@@ -53,7 +53,7 @@ + char *plugindir; + + jb_message_checking("for the Evolution plugin directory"); +- plugindir = jb_get_package_variable("evolution-plugin", "plugindir"); ++ plugindir = jb_get_package_variable("evolution-plugin-3.0", "plugindir"); + jb_message_result_string(plugindir ? plugindir : "not found"); + + if (! plugindir) +--- src/mn-evolution-plugin.c.orig 2011-02-09 00:07:37.422002566 +0100 ++++ src/mn-evolution-plugin.c 2011-02-09 00:12:43.652678682 +0100 +@@ -25,6 +25,7 @@ + #include <dbus/dbus-glib-lowlevel.h> + #include <dbus/dbus-glib-bindings.h> + #include <camel/camel.h> ++#include <libedataserver/eds-version.h> + #include <mail/em-event.h> + #include <mail/mail-tools.h> + #include "mn-evolution.h" +@@ -249,10 +250,16 @@ + { + if (evo_server) + { +- char *url; ++#if EDS_CHECK_VERSION(2,91,0) ++ const char *url = camel_folder_get_uri(message->folder); ++#else ++ char *url = mail_tools_folder_to_url(message->folder); ++#endif + +- url = mail_tools_folder_to_url(message->folder); + mn_evolution_server_message_reading(evo_server, url); ++ ++#if !EDS_CHECK_VERSION(2,91,0) + g_free(url); ++#endif + } + } +--- build/src/mn-evolution-server.c.orig 2011-02-09 00:17:38.850944227 +0100 ++++ build/src/mn-evolution-server.c 2011-02-09 22:21:54.155346478 +0100 +@@ -496,11 +496,15 @@ + + if (! folder) + { +- folder = mail_tool_uri_to_folder(uri, 0, + #if EDS_CHECK_VERSION(2,91,0) +- NULL, ++ static EMailSession * session = NULL; ++ if (!session) ++ session = e_mail_session_new(); ++ ++ folder = e_mail_session_uri_to_folder_sync(session, uri, 0, NULL, NULL); ++#else ++ folder = mail_tool_uri_to_folder(uri, 0, NULL); + #endif +- NULL); + if (folder) + self_cache_folder(uri, folder); + else diff --git a/testing/mail-notification/mail-notification-5.4-evolution-gtkhtml.patch b/testing/mail-notification/mail-notification-5.4-evolution-gtkhtml.patch new file mode 100644 index 000000000..283ef36d6 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-evolution-gtkhtml.patch @@ -0,0 +1,12 @@ +diff -Nrbu mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c mail-notification-5.4-OK/jbsrc/lib/src/extras/jb-evolution-plugin.c +--- mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c 2008-04-27 18:47:43.000000000 +0400 ++++ mail-notification-5.4-OK/jbsrc/lib/src/extras/jb-evolution-plugin.c 2009-08-21 19:48:22.000000000 +0400 +@@ -41,7 +41,7 @@ + if (! minversion) + minversion = "2.12"; + +- packages = g_strdup_printf("evolution-plugin >= %s", minversion); ++ packages = g_strdup_printf("evolution-plugin >= %s libgtkhtml-3.15 gtkhtml-editor-3.14", minversion); + result = jb_check_packages("Evolution", "evolution-plugin", packages); + g_free(packages); + diff --git a/testing/mail-notification/mail-notification-5.4-evolution.patch b/testing/mail-notification/mail-notification-5.4-evolution.patch new file mode 100644 index 000000000..87514c22d --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-evolution.patch @@ -0,0 +1,244 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-folder-tree-server.c mail-notification-5.4-OK/build/src/mn-evolution-folder-tree-server.c +--- mail-notification-5.4/build/src/mn-evolution-folder-tree-server.c 2008-05-22 19:47:48.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-folder-tree-server.c 2010-10-12 16:50:15.000000000 +0400 +@@ -25,7 +25,10 @@ + #line 24 "src/mn-evolution-folder-tree-server.gob" + + #include <dbus/dbus.h> ++#include <libedataserver/eds-version.h> ++#if !EDS_CHECK_VERSION(2,29,0) + #include <mail/mail-component.h> ++#endif + #include <mail/em-folder-tree.h> + #include "mn-evolution-plugin.h" + #include "mn-evolution.h" +@@ -441,10 +444,17 @@ + { + #line 61 "src/mn-evolution-folder-tree-server.gob" + ++#if EDS_CHECK_VERSION(2,91,0) ++ selfp->session = e_mail_session_new(); ++ selfp->tree = em_folder_tree_new(selfp->session); ++#elif EDS_CHECK_VERSION(2,29,0) ++ selfp->tree = em_folder_tree_new(); ++#else + EMFolderTreeModel *model; + + model = mail_component_peek_tree_model(mail_component_peek()); + selfp->tree = em_folder_tree_new_with_model(model); ++#endif + + selfp->plug = gtk_plug_new((GdkNativeWindow) selfp->id); + gtk_container_add(GTK_CONTAINER(selfp->plug), selfp->tree); +@@ -469,6 +479,10 @@ + { + #line 80 "src/mn-evolution-folder-tree-server.gob" + ++#if EDS_CHECK_VERSION(2,91,0) ++ g_object_unref(selfp->session); ++ selfp->session = NULL; ++#endif + g_signal_handlers_disconnect_by_func(selfp->plug, self_plug_destroy_h, self); + }} + #line 475 "mn-evolution-folder-tree-server.c" +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-server.c mail-notification-5.4-OK/build/src/mn-evolution-server.c +--- mail-notification-5.4/build/src/mn-evolution-server.c 2008-05-22 19:47:48.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-server.c 2010-10-12 16:50:40.000000000 +0400 +@@ -27,12 +27,22 @@ + #include <stdio.h> + #include <libintl.h> + #include <gobject/gvaluecollector.h> ++#include <libedataserver/eds-version.h> + #include <camel/camel-folder.h> ++#if EDS_CHECK_VERSION(2,29,0) ++#include <shell/e-shell.h> ++#include <mail/e-mail-browser.h> ++#else + #include <mail/em-folder-view.h> + #include <mail/em-format.h> + #include <mail/em-message-browser.h> ++#endif + #include <mail/em-utils.h> ++#if EDS_CHECK_VERSION(2,91,0) ++#include <mail/e-mail-session.h> ++#else + #include <mail/mail-session.h> ++#endif + #include <mail/mail-tools.h> + #include "mn-evolution.h" + #include "mn-evolution-folder-tree-server.h" +@@ -391,10 +397,18 @@ + info = g_new0(FolderInfo, 1); + info->uri = g_strdup(uri); + info->folder = folder; ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_ref(folder); ++#else + camel_object_ref(folder); ++#endif + + /* uncache the folder when it is deleted */ ++#if EDS_CHECK_VERSION(2,31,0) ++ g_signal_connect(folder, "deleted", G_CALLBACK(self_folder_deleted_cb), info); ++#else + camel_object_hook_event(folder, "deleted", self_folder_deleted_cb, info); ++#endif + + g_hash_table_replace(folders, info->uri, info); + }} +@@ -413,8 +427,13 @@ + { + #line 105 "src/mn-evolution-server.gob" + ++#if EDS_CHECK_VERSION(2,31,0) ++ g_signal_handlers_disconnect_by_func(info->folder, self_folder_deleted_cb, info); ++ g_object_unref(info->folder); ++#else + camel_object_unhook_event(info->folder, "deleted", self_folder_deleted_cb, info); + camel_object_unref(info->folder); ++#endif + g_free(info->uri); + g_free(info); + }} +@@ -461,7 +480,11 @@ + if (info) + { + folder = info->folder; ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_ref(folder); ++#else + camel_object_ref(folder); ++#endif + } + } + else +@@ -469,7 +492,11 @@ + + if (! folder) + { +- folder = mail_tool_uri_to_folder(uri, 0, NULL); ++ folder = mail_tool_uri_to_folder(uri, 0, ++#if EDS_CHECK_VERSION(2,91,0) ++ NULL, ++#endif ++ NULL); + if (folder) + self_cache_folder(uri, folder); + else +@@ -595,14 +622,23 @@ + + for (i = 0; i < summary->len; i++) + { ++#if EDS_CHECK_VERSION(2,23,5) ++ char *uid = summary->pdata[i]; ++ CamelMessageInfo *info = camel_folder_get_message_info(folder, uid); ++#else + CamelMessageInfo *info = summary->pdata[i]; ++#endif + + if ((camel_message_info_flags(info) & CAMEL_MESSAGE_SEEN) == 0) + g_ptr_array_add(*ret, self_camel_message_info_to_dbus_struct(info)); + } + + camel_folder_free_summary(folder, summary); ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + } + + GDK_THREADS_LEAVE(); +@@ -638,7 +674,11 @@ + if (folder) + { + *ret = g_strdup(camel_folder_get_name(folder)); ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + } + + GDK_THREADS_LEAVE(); +@@ -673,6 +713,19 @@ + folder = self_lookup_folder(folder_uri, err); + if (folder) + { ++#if EDS_CHECK_VERSION(2,29,0) ++ EShell *shell; ++ EShellBackend *shell_backend; ++ GtkWidget *browser; ++ ++ shell = e_shell_get_default (); ++ shell_backend = e_shell_get_backend_by_name (shell, "mail"); ++ ++ browser = e_mail_browser_new (shell_backend); ++ e_mail_reader_set_folder (E_MAIL_READER (browser), folder, folder_uri); ++ e_mail_reader_set_message (E_MAIL_READER (browser), message_uid); ++ gtk_widget_show (browser); ++#else + GtkWidget *browser; + + /* modelled after Evolution's handleuri_got_folder() */ +@@ -683,8 +736,13 @@ + em_folder_view_set_folder((EMFolderView *) browser, folder, folder_uri); + em_folder_view_set_message((EMFolderView *) browser, message_uid, FALSE); + gtk_widget_show(((EMMessageBrowser *) browser)->window); ++#endif + ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + } + + GDK_THREADS_LEAVE(); +@@ -721,7 +779,11 @@ + if (folder) + { + status = camel_folder_set_message_flags(folder, message_uid, flags, flags); ++#if EDS_CHECK_VERSION(2,31,0) ++ g_object_unref(folder); ++#else + camel_object_unref(folder); ++#endif + + if (! status) + g_set_error(err, +diff -Nrbu mail-notification-5.4/src/mn-evolution-plugin.c mail-notification-5.4-OK/src/mn-evolution-plugin.c +--- mail-notification-5.4/src/mn-evolution-plugin.c 2008-05-22 19:45:35.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-evolution-plugin.c 2010-10-12 16:50:15.000000000 +0400 +@@ -204,7 +204,7 @@ + } + + int +-e_plugin_lib_enable (EPluginLib *ep, int enable) ++e_plugin_lib_enable (EPlugin *ep, int enable) + { + static gboolean enabled = FALSE; + GError *err = NULL; +--- mail-notification-5.4/build/src/mn-evolution-folder-tree-server-private.h.orig 2010-11-13 13:55:01.571934066 +0100 ++++ mail-notification-5.4/build/src/mn-evolution-folder-tree-server-private.h 2010-11-13 13:56:07.019487418 +0100 +@@ -4,6 +4,10 @@ + #define __MN_EVOLUTION_FOLDER_TREE_SERVER_PRIVATE_H__ + + #include "mn-evolution-folder-tree-server.h" ++#include <libedataserver/eds-version.h> ++#if EDS_CHECK_VERSION(2,91,0) ++#include <mail/e-mail-session.h> ++#endif + + #ifdef __cplusplus + extern "C" { +@@ -23,6 +23,9 @@ + #line 41 "src/mn-evolution-folder-tree-server.gob" + GtkWidget * tree; + #line 26 "mn-evolution-folder-tree-server-private.h" ++#if EDS_CHECK_VERSION(2,91,0) ++ EMailSession * session; ++#endif + }; + + #ifdef __cplusplus diff --git a/testing/mail-notification/mail-notification-5.4-gtk3-support.patch b/testing/mail-notification/mail-notification-5.4-gtk3-support.patch new file mode 100644 index 000000000..cd19c2e84 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-gtk3-support.patch @@ -0,0 +1,1382 @@ +--- build/src/mn-dialog.c.orig 2011-02-02 23:08:09.816659245 +0100 ++++ build/src/mn-dialog.c 2011-02-02 23:09:16.988113774 +0100 +@@ -106,8 +106,7 @@ + #line 27 "src/mn-dialog.gob" + + gtk_container_set_border_width(GTK_CONTAINER(self), 5); +- gtk_dialog_set_has_separator(GTK_DIALOG(self), FALSE); +- gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(self)->vbox), 2); ++ gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(self))), 2); + + #line 113 "mn-dialog.c" + } +--- jbsrc/jb.c.orig 2011-02-02 23:40:33.567924712 +0100 ++++ jbsrc/jb.c 2011-02-02 23:39:39.680803618 +0100 +@@ -163,7 +163,7 @@ + { + jb_check_glibc(); + +- jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-2.0 >= 2.12 libgnomeui-2.0 >= 2.14.0 gnome-vfs-2.0 libglade-2.0 libxml-2.0 libnotify >= 0.4.1"); ++ jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-3.0 libgnome-2.0 >= 2.14.0 gnome-vfs-2.0 libxml-2.0 libnotify >= 0.4.1"); + jb_require_packages("D-Bus", "dbus", "dbus-glib-1"); + + jb_check_packages_for_options("GMime", "gmime", "gmime-2.4", +--- build/src/mn-file-chooser-button.c.orig 2011-02-02 23:38:01.503049512 +0100 ++++ build/src/mn-file-chooser-button.c 2011-02-02 23:38:16.988222034 +0100 +@@ -358,7 +358,7 @@ + g_signal_connect(selfp->dialog, "response", G_CALLBACK(self_response_h), self); + } + +- if (! GTK_WIDGET_VISIBLE(selfp->dialog)) ++ if (! gtk_widget_get_visible(selfp->dialog)) + { + GtkWindow *parent; + +--- build/src/mn-sound-player.c.orig 2011-02-02 23:55:02.436500397 +0100 ++++ build/src/mn-sound-player.c 2011-02-02 23:55:09.125141055 +0100 +@@ -27,7 +27,7 @@ + #include <sys/types.h> + #include <signal.h> + #include <glib/gi18n.h> +-#include <gnome.h> ++#include <libgnome/libgnome.h> + #include "mn-conf.h" + #include "mn-locked-callback.h" + #include "mn-util.h" +--- build/src/mn-file-chooser-button.c.orig 2011-02-02 23:55:21.857457045 +0100 ++++ build/src/mn-file-chooser-button.c 2011-02-02 23:55:30.422996901 +0100 +@@ -25,7 +25,7 @@ + #line 39 "src/mn-file-chooser-button.gob" + + #include <glib/gi18n.h> +-#include <gnome.h> ++#include <libgnome/libgnome.h> + #include "mn-util.h" + + #line 32 "mn-file-chooser-button.c" +--- build/src/mn-message.c.orig 2011-02-02 23:55:41.160420099 +0100 ++++ build/src/mn-message.c 2011-02-02 23:55:47.755065850 +0100 +@@ -26,7 +26,7 @@ + + #include <errno.h> + #include <glib/gi18n.h> +-#include <gnome.h> ++#include <libgnome/libgnome.h> + #include <libgnomevfs/gnome-vfs.h> + #include "mn-conf.h" + #include "mn-util.h" +--- build/src/mn-file-chooser-button.c.orig 2011-02-03 00:15:16.178407712 +0100 ++++ build/src/mn-file-chooser-button.c 2011-02-03 00:18:17.865681563 +0100 +@@ -463,6 +463,7 @@ + + GDK_THREADS_ENTER(); + ++#if 0 + if (results) + { + GnomeVFSGetFileInfoResult *result = results->data; +@@ -494,6 +495,7 @@ + } + } + } ++#endif + + selfp->async_handle = NULL; + g_object_unref(self); +--- build/src/mn-evolution-folder-tree-server.c.orig 2011-02-07 20:17:09.574274620 +0100 ++++ build/src/mn-evolution-folder-tree-server.c 2011-02-07 20:23:25.196053994 +0100 +@@ -25,6 +25,7 @@ + #line 24 "src/mn-evolution-folder-tree-server.gob" + + #include <dbus/dbus.h> ++#include <gtk/gtkx.h> + #include <libedataserver/eds-version.h> + #if !EDS_CHECK_VERSION(2,29,0) + #include <mail/mail-component.h> +@@ -71,7 +72,7 @@ + static void mn_evolution_folder_tree_server_finalize (MNEvolutionFolderTreeServer * self); + #line 70 "mn-evolution-folder-tree-server.c" + #line 84 "src/mn-evolution-folder-tree-server.gob" +-static void mn_evolution_folder_tree_server_plug_destroy_h (GtkObject * object, gpointer user_data); ++static void mn_evolution_folder_tree_server_plug_destroy_h (GtkWidget * object, gpointer user_data); + #line 73 "mn-evolution-folder-tree-server.c" + #line 104 "src/mn-evolution-folder-tree-server.gob" + static void mn_evolution_folder_tree_server_selected_h (EMFolderTree * tree, const char * full_name, const char * uri, guint32 flags, gpointer user_data); +@@ -456,7 +457,7 @@ + selfp->tree = em_folder_tree_new_with_model(model); + #endif + +- selfp->plug = gtk_plug_new((GdkNativeWindow) selfp->id); ++ selfp->plug = gtk_plug_new((Window) selfp->id); + gtk_container_add(GTK_CONTAINER(selfp->plug), selfp->tree); + gtk_widget_show_all(selfp->plug); + +@@ -490,7 +491,7 @@ + + #line 84 "src/mn-evolution-folder-tree-server.gob" + static void +-mn_evolution_folder_tree_server_plug_destroy_h (GtkObject * object, gpointer user_data) ++mn_evolution_folder_tree_server_plug_destroy_h (GtkWidget * object, gpointer user_data) + { + #line 482 "mn-evolution-folder-tree-server.c" + #define __GOB_FUNCTION__ "MN:Evolution:Folder:Tree:Server::plug_destroy_h" +--- src/eggtrayicon.h.orig 2011-02-07 20:25:26.352057350 +0100 ++++ src/eggtrayicon.h 2011-02-07 20:27:54.495032920 +0100 +@@ -23,10 +23,9 @@ + #ifndef __EGG_TRAY_ICON_H__ + #define __EGG_TRAY_ICON_H__ + +-#include <gtk/gtkplug.h> +-#ifdef GDK_WINDOWING_X11 ++#include <gtk/gtk.h> ++#include <gtk/gtkx.h> + #include <gdk/gdkx.h> +-#endif + + G_BEGIN_DECLS + +--- build/src/mn-mail-icon.c.orig 2011-02-07 20:24:58.971663075 +0100 ++++ build/src/mn-mail-icon.c 2011-02-07 20:30:33.714401306 +0100 +@@ -833,11 +833,13 @@ + #line 239 "src/mn-mail-icon.gob" + + GtkWidget *widget = user_data; ++ GtkAllocation allocation; + +- gdk_window_get_origin(widget->window, x, y); ++ gdk_window_get_origin(gtk_widget_get_window(widget), x, y); ++ gtk_widget_get_allocation(widget, &allocation); + +- *x += widget->allocation.x; +- *y += widget->allocation.y; ++ *x += allocation.x; ++ *y += allocation.y; + + if (*y > gdk_screen_get_height(gtk_widget_get_screen(widget)) / 2) + { +@@ -847,7 +849,7 @@ + *y -= req.height; + } + else +- *y += widget->allocation.height; ++ *y += allocation.height; + + *push_in = TRUE; + }} +--- build/src/mn-mail-icon-widget.c.orig 2011-02-07 20:31:19.475816763 +0100 ++++ build/src/mn-mail-icon-widget.c 2011-02-07 21:53:48.858814715 +0100 +@@ -64,9 +64,13 @@ + #line 65 "mn-mail-icon-widget.c" + #line 110 "src/mn-mail-icon-widget.gob" + static void ___7_mn_mail_icon_widget_size_request (GtkWidget * widget, GtkRequisition * requisition); ++static void ++mn_mail_icon_widget_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width); ++static void ++mn_mail_icon_widget_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height); + #line 68 "mn-mail-icon-widget.c" + #line 132 "src/mn-mail-icon-widget.gob" +-static gboolean ___8_mn_mail_icon_widget_expose_event (GtkWidget * widget, GdkEventExpose * event); ++static gboolean ___8_mn_mail_icon_widget_draw (GtkWidget * widget, cairo_t *cr); + #line 71 "mn-mail-icon-widget.c" + #line 244 "src/mn-mail-icon-widget.gob" + static GdkPixbuf * mn_mail_icon_widget_render_icon (MNMailIconWidget * self); +@@ -187,9 +191,10 @@ + parent_class = g_type_class_ref (GTK_TYPE_WIDGET); + + #line 110 "src/mn-mail-icon-widget.gob" +- gtk_widget_class->size_request = ___7_mn_mail_icon_widget_size_request; ++ gtk_widget_class->get_preferred_width = mn_mail_icon_widget_get_preferred_width; ++ gtk_widget_class->get_preferred_height = mn_mail_icon_widget_get_preferred_height; + #line 132 "src/mn-mail-icon-widget.gob" +- gtk_widget_class->expose_event = ___8_mn_mail_icon_widget_expose_event; ++ gtk_widget_class->draw = ___8_mn_mail_icon_widget_draw; + #line 194 "mn-mail-icon-widget.c" + g_object_class->dispose = ___dispose; + g_object_class->finalize = ___finalize; +@@ -234,7 +239,7 @@ + { + #line 93 "src/mn-mail-icon-widget.gob" + +- GTK_WIDGET_SET_FLAGS(self, GTK_NO_WINDOW); ++ gtk_widget_set_has_window(GTK_WIDGET(self), FALSE); + + gtk_widget_set_name(GTK_WIDGET(self), "mn-mail-icon"); + +@@ -457,9 +462,28 @@ + #undef __GOB_FUNCTION__ + #undef PARENT_HANDLER + ++static void ++mn_mail_icon_widget_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width) ++{ ++ GtkRequisition requisition; ++ ++ ___7_mn_mail_icon_widget_size_request (widget, &requisition); ++ *minimal_width = *natural_width = requisition.width; ++} ++ ++static void ++mn_mail_icon_widget_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height) ++{ ++ GtkRequisition requisition; ++ ++ ___7_mn_mail_icon_widget_size_request (widget, &requisition); ++ ++ *minimal_height = *natural_height = requisition.height; ++} ++ + #line 132 "src/mn-mail-icon-widget.gob" + static gboolean +-___8_mn_mail_icon_widget_expose_event (GtkWidget * widget G_GNUC_UNUSED, GdkEventExpose * event) ++___8_mn_mail_icon_widget_draw (GtkWidget * widget G_GNUC_UNUSED, cairo_t *cr) + #line 464 "mn-mail-icon-widget.c" + #define PARENT_HANDLER(___widget,___event) \ + ((GTK_WIDGET_CLASS(parent_class)->expose_event)? \ +@@ -472,7 +496,7 @@ + + Self *self = SELF(widget); + +- if (! GTK_WIDGET_DRAWABLE(widget) || ! selfp->stock_id) ++ if (! gtk_widget_is_drawable(widget) || ! selfp->stock_id) + return FALSE; + + if (selfp->is_on) +@@ -480,23 +504,34 @@ + int x; + int y; + GdkRectangle image_area; ++ GtkAllocation allocation; ++ GtkRequisition requisition; + + /* note: widget->requisition is the pixbuf size, see size_request() */ + +- x = floor(widget->allocation.x + ((widget->allocation.width - widget->requisition.width) * ICON_XALIGN)); +- y = floor(widget->allocation.y + ((widget->allocation.height - widget->requisition.height) * ICON_YALIGN)); ++ gtk_widget_get_allocation(widget, &allocation); ++ gtk_widget_get_requisition(widget, &requisition); ++ ++ x = floor(allocation.x + ((allocation.width - requisition.width) * ICON_XALIGN)); ++ y = floor(allocation.y + ((allocation.height - requisition.height) * ICON_YALIGN)); + + image_area.x = x; + image_area.y = y; +- image_area.width = widget->requisition.width; +- image_area.height = widget->requisition.height; ++ image_area.width = requisition.width; ++ image_area.height = requisition.height; + ++#if 0 + if (gdk_rectangle_intersect(&event->area, &image_area, &image_area)) ++#endif + { + GdkPixbuf *pixbuf; + + pixbuf = self_render_icon(self); ++ gdk_cairo_set_source_pixbuf(cr, pixbuf, image_area.x, image_area.y); ++ cairo_move_to(cr, image_area.x - x, image_area.y - y); ++ cairo_paint(cr); + ++#if 0 + gdk_draw_pixbuf(widget->window, + NULL, + pixbuf, +@@ -509,6 +544,7 @@ + GDK_RGB_DITHER_NORMAL, + 0, + 0); ++#endif + + g_object_unref(pixbuf); + } +@@ -523,13 +559,16 @@ + int box_y; + int box_width; + int box_height; ++ GtkAllocation allocation; ++ ++ gtk_widget_get_allocation(widget, &allocation); + + if (! selfp->count_layout) + { + const char *size; + char *markup; + +- if (widget->allocation.height < 32) ++ if (allocation.height < 32) + size = "small"; + else + size = "medium"; +@@ -546,17 +585,16 @@ + box_width = count_rect.width + COUNT_BOX_XPAD * 2; + box_height = count_rect.height + COUNT_BOX_YPAD * 2; + +- box_x = widget->allocation.x + widget->allocation.width - box_width - COUNT_BOX_XMARGIN; +- box_y = widget->allocation.y + widget->allocation.height - box_height - COUNT_BOX_YMARGIN; ++ box_x = allocation.x + allocation.width - box_width - COUNT_BOX_XMARGIN; ++ box_y = allocation.y + allocation.height - box_height - COUNT_BOX_YMARGIN; + + count_x = box_x - count_rect.x + COUNT_BOX_XPAD; + count_y = box_y - count_rect.y + COUNT_BOX_YPAD; + +- gtk_paint_box(widget->style, +- widget->window, +- GTK_WIDGET_STATE(widget), ++ gtk_paint_box(gtk_widget_get_style(widget), ++ cr, ++ gtk_widget_get_state_flags(widget), + GTK_SHADOW_OUT, +- &event->area, + widget, + NULL, + box_x, +@@ -564,11 +602,10 @@ + box_width, + box_height); + +- gtk_paint_layout(widget->style, +- widget->window, +- GTK_WIDGET_STATE(widget), ++ gtk_paint_layout(gtk_widget_get_style(widget), ++ cr, ++ gtk_widget_get_state_flags(widget), + FALSE, +- &event->area, + widget, + NULL, + count_x, +--- build/src/mn-mailbox-properties-dialog.c.orig 2011-02-07 21:57:31.257251776 +0100 ++++ build/src/mn-mailbox-properties-dialog.c 2011-02-07 21:56:56.989854854 +0100 +@@ -456,7 +456,7 @@ + MNMailboxProperties *properties; + + mn_container_create_interface(GTK_CONTAINER(self), +- PKGDATADIR G_DIR_SEPARATOR_S "mailbox-properties-dialog.glade", ++ PKGDATADIR G_DIR_SEPARATOR_S "mailbox-properties-dialog.ui", + "notebook", + "mn_mailbox_properties_dialog_", + "notebook", &self->notebook, +@@ -1290,7 +1290,7 @@ + { + #line 686 "src/mn-mailbox-properties-dialog.gob" + +- if (GTK_WIDGET_IS_SENSITIVE(GTK_WINDOW(self)->default_widget)) ++ if (gtk_widget_is_sensitive(gtk_window_get_default_widget(GTK_WINDOW(self)))) + gtk_window_activate_default(GTK_WINDOW(self)); + else + { +@@ -1313,9 +1313,9 @@ + if (elem->data == entry) + break; + +- if (GTK_WIDGET_MAPPED(elem->data) +- && GTK_WIDGET_VISIBLE(elem->data) +- && GTK_WIDGET_SENSITIVE(elem->data)) ++ if (gtk_widget_get_mapped(elem->data) ++ && gtk_widget_get_visible(elem->data) ++ && gtk_widget_get_sensitive(elem->data)) + next = elem->data; + } + while (! next); +--- build/src/mn-mailbox-view.c.orig 2011-02-07 22:18:49.962462920 +0100 ++++ build/src/mn-mailbox-view.c 2011-02-07 23:01:39.990363248 +0100 +@@ -412,23 +412,23 @@ + binding_set = gtk_binding_set_by_class(class); + + /* Delete removes a row */ +- gtk_binding_entry_add_signal(binding_set, GDK_Delete, 0, "activate-remove", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_KP_Delete, 0, "activate-remove", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Delete, 0, "activate-remove", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_KP_Delete, 0, "activate-remove", 0); + + /* HIG 2.0 cut/copy/paste shortcuts */ +- gtk_binding_entry_add_signal(binding_set, GDK_x, GDK_CONTROL_MASK, "activate-cut", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_c, GDK_CONTROL_MASK, "activate-copy", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_v, GDK_CONTROL_MASK, "activate-paste", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_x, GDK_CONTROL_MASK, "activate-cut", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_c, GDK_CONTROL_MASK, "activate-copy", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_v, GDK_CONTROL_MASK, "activate-paste", 0); + + /* cut/copy/paste shortcuts taken from gtkentry.c */ +- gtk_binding_entry_add_signal(binding_set, GDK_Delete, GDK_SHIFT_MASK, "activate-cut", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_CONTROL_MASK, "activate-copy", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_SHIFT_MASK, "activate-paste", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK, "activate-cut", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Insert, GDK_CONTROL_MASK, "activate-copy", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK, "activate-paste", 0); + + /* HIG 2.0 properties */ +- gtk_binding_entry_add_signal(binding_set, GDK_Return, GDK_MOD1_MASK, "activate-properties", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_ISO_Enter, GDK_MOD1_MASK, "activate-properties", 0); +- gtk_binding_entry_add_signal(binding_set, GDK_KP_Enter, GDK_MOD1_MASK, "activate-properties", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_Return, GDK_MOD1_MASK, "activate-properties", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_ISO_Enter, GDK_MOD1_MASK, "activate-properties", 0); ++ gtk_binding_entry_add_signal(binding_set, GDK_KEY_KP_Enter, GDK_MOD1_MASK, "activate-properties", 0); + + #line 434 "mn-mailbox-view.c" + } +@@ -934,14 +934,13 @@ + #line 183 "src/mn-mailbox-view.gob" + + GtkSelectionData *data; +- + data = gtk_clipboard_wait_for_contents(global_clipboard, clipboard_info[TARGET_MAILBOXES].atom); + if (data) + { + GSList *configurations; + GSList *l; + +- memcpy(&configurations, data->data, data->length); ++ memcpy(&configurations, gtk_selection_data_get_data(data), gtk_selection_data_get_length(data)); + + MN_LIST_FOREACH(l, configurations) + { +@@ -962,14 +961,14 @@ + data = gtk_clipboard_wait_for_contents(global_clipboard, clipboard_info[TARGET_GNOME_COPIED_FILES].atom); + if (data) + { +- if (data->format == 8 && data->length > 0) ++ if (gtk_selection_data_get_format(data) == 8 && gtk_selection_data_get_length(data) > 0) + { + char *gnome_copied_files; + gboolean status; + MNGnomeCopiedFilesType type; + GSList *uri_list; + +- gnome_copied_files = g_strndup(data->data, data->length); ++ gnome_copied_files = g_strndup(gtk_selection_data_get_data(data), gtk_selection_data_get_length(data)); + status = mn_parse_gnome_copied_files(gnome_copied_files, &type, &uri_list); + g_free(gnome_copied_files); + +--- build/src/mn-shell.c.orig 2011-02-07 23:02:17.852293679 +0100 ++++ build/src/mn-shell.c 2011-02-07 23:04:39.223548403 +0100 +@@ -158,7 +158,7 @@ + static void mn_shell_icon_activate_about_h (MNMailIcon * icon, gpointer user_data); + #line 160 "mn-shell.c" + #line 499 "src/mn-shell.gob" +-static void mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data); ++static void mn_shell_icon_destroy_h (GtkWidget * object, gpointer user_data); + #line 163 "mn-shell.c" + #line 508 "src/mn-shell.gob" + static void mn_shell_update_sensitivity (MNShell * self); +@@ -1006,7 +1006,7 @@ + + #line 499 "src/mn-shell.gob" + static void +-mn_shell_icon_destroy_h (GtkObject * object, gpointer user_data) ++mn_shell_icon_destroy_h (GtkWidget * object, gpointer user_data) + { + #line 1004 "mn-shell.c" + #define __GOB_FUNCTION__ "MN:Shell::icon_destroy_h" +--- build/src/mn-text-table.c.orig 2011-02-07 23:05:08.799927792 +0100 ++++ build/src/mn-text-table.c 2011-02-07 23:18:06.480056895 +0100 +@@ -69,9 +69,11 @@ + #line 70 "mn-text-table.c" + #line 104 "src/mn-text-table.gob" + static void ___4_mn_text_table_size_request (GtkWidget * widget, GtkRequisition * requisition); ++static void mn_text_table_get_preferred_width (GtkWidget * widget, gint * minimal_width, gint * natural_width); ++static void mn_text_table_get_preferred_height (GtkWidget * widget, gint * minimal_height, gint * natural_height); + #line 73 "mn-text-table.c" + #line 115 "src/mn-text-table.gob" +-static gboolean ___5_mn_text_table_expose_event (GtkWidget * widget, GdkEventExpose * event); ++static gboolean ___5_mn_text_table_draw (GtkWidget * widget, cairo_t *cr); + #line 76 "mn-text-table.c" + #line 165 "src/mn-text-table.gob" + static void mn_text_table_set_dirty (MNTextTable * self); +@@ -188,9 +190,10 @@ + parent_class = g_type_class_ref (GTK_TYPE_WIDGET); + + #line 104 "src/mn-text-table.gob" +- gtk_widget_class->size_request = ___4_mn_text_table_size_request; ++ gtk_widget_class->get_preferred_width = mn_text_table_get_preferred_width; ++ gtk_widget_class->get_preferred_height = mn_text_table_get_preferred_height; + #line 115 "src/mn-text-table.gob" +- gtk_widget_class->expose_event = ___5_mn_text_table_expose_event; ++ gtk_widget_class->draw = ___5_mn_text_table_draw; + #line 257 "src/mn-text-table.gob" + c->clear = ___real_mn_text_table_clear; + #line 197 "mn-text-table.c" +@@ -216,7 +219,7 @@ + { + #line 80 "src/mn-text-table.gob" + +- GTK_WIDGET_SET_FLAGS(self, GTK_NO_WINDOW); ++ gtk_widget_set_has_window(GTK_WIDGET(self), FALSE); + + g_object_connect(self, + "swapped-signal::style-set", self_context_changed, self, +@@ -290,9 +293,29 @@ + #undef __GOB_FUNCTION__ + #undef PARENT_HANDLER + ++static void ++mn_text_table_get_preferred_width (GtkWidget * widget, gint * minimal_width, gint * natural_width) ++{ ++ GtkRequisition requisition; ++ ++ ___4_mn_text_table_size_request (widget, &requisition); ++ ++ *minimal_width = *natural_width = requisition.width; ++} ++ ++static void ++mn_text_table_get_preferred_height (GtkWidget * widget, gint * minimal_height, gint * natural_height) ++{ ++ GtkRequisition requisition; ++ ++ ___4_mn_text_table_size_request (widget, &requisition); ++ ++ *minimal_height = *natural_height = requisition.height; ++} ++ + #line 115 "src/mn-text-table.gob" + static gboolean +-___5_mn_text_table_expose_event (GtkWidget * widget G_GNUC_UNUSED, GdkEventExpose * event) ++___5_mn_text_table_draw (GtkWidget * widget G_GNUC_UNUSED, cairo_t *cr) + #line 297 "mn-text-table.c" + #define PARENT_HANDLER(___widget,___event) \ + ((GTK_WIDGET_CLASS(parent_class)->expose_event)? \ +@@ -304,10 +327,14 @@ + #line 117 "src/mn-text-table.gob" + + Self *self = SELF(widget); ++ GtkAllocation allocation; + int i; +- int y = widget->allocation.y; ++ int y; ++ ++ gtk_widget_get_allocation(widget, &allocation); ++ y = allocation.y; + +- if (! GTK_WIDGET_DRAWABLE(widget)) ++ if (! gtk_widget_is_drawable(widget)) + return FALSE; + + self_relayout(self); +@@ -316,7 +343,7 @@ + { + Row *row = g_ptr_array_index(selfp->rows, i); + int j; +- int x = widget->allocation.x; ++ int x = allocation.x; + int column = 0; + + MN_ARRAY_FOREACH(j, row->cells) +@@ -324,11 +351,10 @@ + MNTextTableCell *cell = g_ptr_array_index(row->cells, j); + + if (cell->layout) +- gtk_paint_layout(widget->style, +- widget->window, +- GTK_WIDGET_STATE(widget), ++ gtk_paint_layout(gtk_widget_get_style(widget), ++ cr, ++ gtk_widget_get_state_flags(widget), + FALSE, +- &event->area, + widget, + NULL, + x, +--- build/src/mn-tooltips.c.orig 2011-02-07 23:19:05.903761972 +0100 ++++ build/src/mn-tooltips.c 2011-02-07 23:41:19.368621912 +0100 +@@ -104,7 +104,7 @@ + static void mn_tooltips_set_tip_widget_real (MNTooltips * self, GtkWidget * widget, GtkWidget * tip_widget, int border_width); + #line 106 "mn-tooltips.c" + #line 287 "src/mn-tooltips.gob" +-static gboolean mn_tooltips_paint_window (MNTooltips * self); ++static gboolean mn_tooltips_paint_window (MNTooltips * self, cairo_t *cr); + #line 109 "mn-tooltips.c" + #line 308 "src/mn-tooltips.gob" + static void mn_tooltips_draw_tips (MNTooltips * self); +@@ -430,7 +430,7 @@ + gtk_container_set_border_width(GTK_CONTAINER(selfp->window), selfp->border_width); + + g_signal_connect_swapped(selfp->window, +- "expose-event", ++ "draw", + G_CALLBACK(self_paint_window), + self); + +@@ -490,7 +490,7 @@ + + if (selfp->active_data + && selfp->active_data->widget == widget +- && GTK_WIDGET_DRAWABLE(selfp->active_data->widget)) ++ && gtk_widget_is_drawable(selfp->active_data->widget)) + { + if (data->tip_widget) + g_object_unref(data->tip_widget); +@@ -594,7 +594,7 @@ + + #line 287 "src/mn-tooltips.gob" + static gboolean +-mn_tooltips_paint_window (MNTooltips * self) ++mn_tooltips_paint_window (MNTooltips * self, cairo_t *cr) + { + #line 600 "mn-tooltips.c" + #define __GOB_FUNCTION__ "MN:Tooltips::paint_window" +@@ -608,13 +608,12 @@ + + GtkRequisition req; + +- gtk_widget_size_request(selfp->window, &req); +- gtk_paint_flat_box(selfp->window->style, +- selfp->window->window, ++ gtk_widget_size_request(GTK_WIDGET(selfp), &req); ++ gtk_paint_flat_box(gtk_widget_get_style(GTK_WIDGET(selfp)), ++ cr, + GTK_STATE_NORMAL, + GTK_SHADOW_OUT, + NULL, +- selfp->window, + "tooltip", + 0, + 0, +@@ -651,10 +650,11 @@ + gint monitor_num, px, py; + GdkRectangle monitor; + int screen_width; ++ GtkAllocation allocation; + + if (! selfp->window) + self_force_window(self); +- else if (GTK_WIDGET_VISIBLE(selfp->window)) ++ else if (gtk_widget_get_visible(selfp->window)) + g_get_current_time(&selfp->last_popdown); + + gtk_widget_ensure_style(selfp->window); +@@ -670,7 +670,7 @@ + + data = selfp->active_data; + +- child = GTK_BIN(selfp->window)->child; ++ child = gtk_bin_get_child(GTK_BIN(selfp->window)); + if (child) + gtk_container_remove(GTK_CONTAINER(selfp->window), child); + +@@ -684,14 +684,16 @@ + w = requisition.width; + h = requisition.height; + +- gdk_window_get_origin(widget->window, &x, &y); +- if (GTK_WIDGET_NO_WINDOW(widget)) ++ gtk_widget_get_allocation(selfp->window, &allocation); ++ ++ gdk_window_get_origin(gtk_widget_get_window(widget), &x, &y); ++ if (! gtk_widget_get_has_window(widget)) + { +- x += widget->allocation.x; +- y += widget->allocation.y; ++ x += allocation.x; ++ y += allocation.y; + } + +- x += widget->allocation.width / 2; ++ x += allocation.width / 2; + + if (! keyboard_mode) + gdk_window_get_pointer(gdk_screen_get_root_window(screen), &x, NULL, NULL); +@@ -712,11 +714,11 @@ + else if (x < monitor.x) + x = monitor.x; + +- if ((y + h + widget->allocation.height + 4) > monitor.y + monitor.height ++ if ((y + h + allocation.height + 4) > monitor.y + monitor.height + && (y - 4) > monitor.y) + y = y - h - 4; + else +- y = y + widget->allocation.height + 4; ++ y = y + allocation.height + 4; + + /* + * The following block is not part of GTK+ and has been added to +@@ -760,7 +762,7 @@ + + Self *self = SELF(data); + +- if (selfp->active_data && GTK_WIDGET_DRAWABLE(selfp->active_data->widget)) ++ if (selfp->active_data && gtk_widget_is_drawable(selfp->active_data->widget)) + self_draw_tips(self); + + selfp->timeout_id = 0; +@@ -785,7 +787,7 @@ + + if (selfp->window) + { +- if (GTK_WIDGET_VISIBLE(selfp->window)) ++ if (gtk_widget_get_visible(selfp->window)) + g_get_current_time(&selfp->last_popdown); + gtk_widget_hide(selfp->window); + } +@@ -802,7 +804,7 @@ + { + TooltipsData *data = l->data; + +- if (data->widget == widget && GTK_WIDGET_DRAWABLE(widget)) ++ if (data->widget == widget && gtk_widget_is_drawable(widget)) + { + selfp->active_data = data; + break; +@@ -937,7 +939,7 @@ + + if (GTK_IS_WINDOW(toplevel)) + { +- GtkWidget *focus = GTK_WINDOW(toplevel)->focus_widget; ++ GtkWidget *focus = gtk_window_get_focus(GTK_WINDOW(toplevel)); + + g_object_set_data(G_OBJECT(toplevel), TOOLTIPS_KEYBOARD_MODE, GINT_TO_POINTER(TRUE)); + +@@ -966,7 +968,7 @@ + + if (GTK_IS_WINDOW(toplevel)) + { +- GtkWidget *focus = GTK_WINDOW(toplevel)->focus_widget; ++ GtkWidget *focus = gtk_window_get_focus(GTK_WINDOW(toplevel)); + + if (focus) + self_hide_tip(focus); +@@ -1057,24 +1059,24 @@ + break; + + case GDK_ENTER_NOTIFY: +- if (! (GTK_IS_MENU_ITEM(widget) && GTK_MENU_ITEM(widget)->submenu)) ++ if (! (GTK_IS_MENU_ITEM(widget) && gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)))) + self_start_delay(self, widget); + break; + + case GDK_LEAVE_NOTIFY: + self_set_active_widget(self, NULL); +- selfp->use_sticky_delay = selfp->window && GTK_WIDGET_VISIBLE(selfp->window); ++ selfp->use_sticky_delay = selfp->window && gtk_widget_get_visible(selfp->window); + break; + + case GDK_MOTION_NOTIFY: + /* Handle menu items specially ... pend popup for each motion + * on other widgets, we ignore motion. + */ +- if (GTK_IS_MENU_ITEM(widget) && ! GTK_MENU_ITEM(widget)->submenu) ++ if (GTK_IS_MENU_ITEM(widget) && ! gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget))) + { + /* Completely evil hack to make sure we get the LEAVE_NOTIFY + */ +- GTK_PRIVATE_SET_FLAG(widget, GTK_LEAVE_PENDING); ++ //GTK_PRIVATE_SET_FLAG(widget, GTK_LEAVE_PENDING); + self_set_active_widget(self, NULL); + self_start_delay(self, widget); + break; +--- src/nautilus-cell-renderer-pixbuf-emblem.c.orig 2011-02-08 00:16:43.847831409 +0100 ++++ src/nautilus-cell-renderer-pixbuf-emblem.c 2011-02-08 00:32:59.128682767 +0100 +@@ -39,17 +39,16 @@ + GtkWidget *widget); + static void nautilus_cell_renderer_pixbuf_emblem_get_size (GtkCellRenderer *cell, + GtkWidget *widget, +- GdkRectangle *rectangle, ++ const GdkRectangle *rectangle, + gint *x_offset, + gint *y_offset, + gint *width, + gint *height); + static void nautilus_cell_renderer_pixbuf_emblem_render (GtkCellRenderer *cell, +- GdkWindow *window, ++ cairo_t *cr, + GtkWidget *widget, +- GdkRectangle *background_area, +- GdkRectangle *cell_area, +- GdkRectangle *expose_area, ++ const GdkRectangle *background_area, ++ const GdkRectangle *cell_area, + GtkCellRendererState flags); + + enum { +@@ -356,7 +355,7 @@ + static void + nautilus_cell_renderer_pixbuf_emblem_get_size (GtkCellRenderer *cell, + GtkWidget *widget, +- GdkRectangle *cell_area, ++ const GdkRectangle *cell_area, + gint *x_offset, + gint *y_offset, + gint *width, +@@ -368,6 +367,10 @@ + gint pixbuf_height = 0; + gint calc_width; + gint calc_height; ++ int xpad; ++ int ypad; ++ gfloat xalign; ++ gfloat yalign; + + if (!cellpixbuf->pixbuf && cellinfo->stock_id) + nautilus_cell_renderer_pixbuf_emblem_create_stock_pixbuf (cellpixbuf, widget); +@@ -385,8 +388,11 @@ + pixbuf_height = MAX (pixbuf_height, gdk_pixbuf_get_height (cellpixbuf->pixbuf_expander_closed)); + } + +- calc_width = (gint) cell->xpad * 2 + pixbuf_width; +- calc_height = (gint) cell->ypad * 2 + pixbuf_height; ++ gtk_cell_renderer_get_padding(cell, &xpad, &ypad); ++ gtk_cell_renderer_get_alignment(cell, &xalign, &yalign); ++ ++ calc_width = (gint) xpad * 2 + pixbuf_width; ++ calc_height = (gint) ypad * 2 + pixbuf_height; + + if (x_offset) *x_offset = 0; + if (y_offset) *y_offset = 0; +@@ -394,14 +400,14 @@ + if (cell_area && pixbuf_width > 0 && pixbuf_height > 0) { + if (x_offset) { + *x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? +- 1.0 - cell->xalign : cell->xalign) * +- (cell_area->width - calc_width - 2 * cell->xpad)); +- *x_offset = MAX (*x_offset, 0) + cell->xpad; ++ 1.0 - xalign : xalign) * ++ (cell_area->width - calc_width - 2 * xpad)); ++ *x_offset = MAX (*x_offset, 0) + xpad; + } + if (y_offset) { +- *y_offset = (cell->yalign * +- (cell_area->height - calc_height - 2 * cell->ypad)); +- *y_offset = MAX (*y_offset, 0) + cell->ypad; ++ *y_offset = (yalign * ++ (cell_area->height - calc_height - 2 * ypad)); ++ *y_offset = MAX (*y_offset, 0) + ypad; + } + } + +@@ -414,11 +420,10 @@ + + static void + nautilus_cell_renderer_pixbuf_emblem_render (GtkCellRenderer *cell, +- GdkWindow *window, ++ cairo_t *cr, + GtkWidget *widget, +- GdkRectangle *background_area, +- GdkRectangle *cell_area, +- GdkRectangle *expose_area, ++ const GdkRectangle *background_area, ++ const GdkRectangle *cell_area, + GtkCellRendererState flags) + + { +@@ -429,13 +434,19 @@ + GdkRectangle pix_emblem_rect; + GdkRectangle draw_rect; + gboolean stock_pixbuf = FALSE; ++ gboolean is_expander = FALSE; ++ gboolean is_expanded = FALSE; ++ int xpad; ++ int ypad; ++ ++ g_object_get(cell, "is-expander", &is_expander, "is-expanded", &is_expanded, NULL); + + pixbuf = cellpixbuf->pixbuf; +- if (cell->is_expander) { +- if (cell->is_expanded && ++ if (is_expander) { ++ if (is_expanded && + cellpixbuf->pixbuf_expander_open != NULL) { + pixbuf = cellpixbuf->pixbuf_expander_open; +- } else if (!cell->is_expanded && ++ } else if (!is_expanded && + cellpixbuf->pixbuf_expander_closed != NULL) { + pixbuf = cellpixbuf->pixbuf_expander_closed; + } +@@ -456,15 +467,20 @@ + if (stock_pixbuf) + pixbuf = cellpixbuf->pixbuf; + ++ gtk_cell_renderer_get_padding(cell, &xpad, &ypad); ++ + pix_rect.x += cell_area->x; + pix_rect.y += cell_area->y; +- pix_rect.width -= cell->xpad * 2; +- pix_rect.height -= cell->ypad * 2; ++ pix_rect.width -= xpad * 2; ++ pix_rect.height -= ypad * 2; + ++ if (gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect)) { ++#if 0 + if (gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect) && + gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect)) { ++ + gdk_draw_pixbuf (window, +- widget->style->black_gc, ++ gtk_widget_get_style(widget)->black_gc, + pixbuf, + /* pixbuf 0, 0 is at pix_rect.x, pix_rect.y */ + draw_rect.x - pix_rect.x, +@@ -475,6 +491,11 @@ + draw_rect.height, + GDK_RGB_DITHER_NORMAL, + 0, 0); ++#endif ++ ++ cairo_move_to (cr, draw_rect.x - pix_rect.x, draw_rect.y - pix_rect.y); ++ gdk_cairo_set_source_pixbuf (cr, pixbuf, draw_rect.x, draw_rect.y); ++ cairo_paint (cr); + } + + if (cellpixbuf->pixbuf_emblem) { +@@ -482,8 +503,11 @@ + pix_emblem_rect.height = gdk_pixbuf_get_height (cellpixbuf->pixbuf_emblem); + pix_emblem_rect.x = pix_rect.x; + pix_emblem_rect.y = pix_rect.y + pix_rect.height - pix_emblem_rect.height; ++ if (gdk_rectangle_intersect (cell_area, &pix_emblem_rect, &draw_rect)) { ++#if 0 + if (gdk_rectangle_intersect (cell_area, &pix_emblem_rect, &draw_rect) && + gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect)) { ++ + gdk_draw_pixbuf (window, + widget->style->black_gc, + cellpixbuf->pixbuf_emblem, +@@ -496,6 +520,11 @@ + draw_rect.height, + GDK_RGB_DITHER_NORMAL, + 0, 0); ++#endif ++ ++ cairo_move_to (cr, draw_rect.x - pix_emblem_rect.x, draw_rect.y - pix_emblem_rect.y); ++ gdk_cairo_set_source_pixbuf (cr, cellpixbuf->pixbuf_emblem, draw_rect.x, draw_rect.y); ++ cairo_paint (cr); + } + } + } +--- src/nautilus-cell-renderer-pixbuf-emblem.h.orig 2011-02-07 22:18:12.336471764 +0100 ++++ src/nautilus-cell-renderer-pixbuf-emblem.h 2011-02-08 00:20:30.461758697 +0100 +@@ -25,18 +25,18 @@ + #ifndef NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM_H + #define NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM_H + +-#include <gtk/gtkcellrenderer.h> ++#include <gtk/gtk.h> + + #define NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM \ + (nautilus_cell_renderer_pixbuf_emblem_get_type ()) + #define NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM(obj) \ +- (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblem)) ++ (G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblem)) + #define NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM_CLASS(klass) \ +- (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblemClass)) ++ (G_TYPE_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM, NautilusCellRendererPixbufEmblemClass)) + #define NAUTILUS_IS_CELL_RENDERER_PIXBUF_EMBLEM(obj) \ +- (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) ++ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) + #define NAUTILUS_IS_CELL_RENDERER_PIXBUF_EMBLEM_CLASS(klass) \ +- (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) ++ (G_TYPE_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_CELL_RENDERER_PIXBUF_EMBLEM)) + + typedef struct _NautilusCellRendererPixbufEmblem NautilusCellRendererPixbufEmblem; + typedef struct _NautilusCellRendererPixbufEmblemClass NautilusCellRendererPixbufEmblemClass; +--- build/src/mn-authenticated-mailbox.c.orig 2011-02-08 00:34:16.332610802 +0100 ++++ build/src/mn-authenticated-mailbox.c 2011-02-08 00:36:23.706936717 +0100 +@@ -25,7 +25,7 @@ + #line 29 "src/mn-authenticated-mailbox.gob" + + #include <glib/gi18n.h> +-#include <gnome.h> ++#include <libgnome/libgnome.h> + #include "mn-mailbox-private.h" + #include "mn-shell.h" + #include "mn-util.h" +@@ -859,6 +859,7 @@ + + /* keep the title in sync with gnome-authentication-manager */ + ++#if 0 + /* translators: header capitalization */ + selfp->auth_dialog = gnome_password_dialog_new(_("Authentication Required"), + message, +@@ -891,6 +892,9 @@ + gtk_widget_destroy(selfp->auth_dialog); + + return ok; ++#else ++ return FALSE; ++#endif + }} + #line 896 "mn-authenticated-mailbox.c" + #undef __GOB_FUNCTION__ +--- build/src/mn-about-dialog.c.orig 2011-02-08 22:20:54.469841262 +0100 ++++ build/src/mn-about-dialog.c 2011-02-08 22:21:13.309839037 +0100 +@@ -111,9 +111,11 @@ + { + #line 32 "src/mn-about-dialog.gob" + ++#if 0 + gtk_about_dialog_set_email_hook(self_activate_link_cb, "mailto:", NULL); + gtk_about_dialog_set_url_hook(self_activate_link_cb, NULL, NULL); +- ++#endif ++ + #line 118 "mn-about-dialog.c" + } + } +--- build/src/mn-autodetect-mailbox-properties.c.orig 2011-02-08 22:21:58.639427345 +0100 ++++ build/src/mn-autodetect-mailbox-properties.c 2011-02-08 22:22:43.564035901 +0100 +@@ -355,10 +355,9 @@ + + toplevel = gtk_widget_get_toplevel(GTK_WIDGET(button)); + /* translators: header capitalization */ +- selfp->chooser = gtk_file_chooser_dialog_new_with_backend(_("Select a File or Folder"), ++ selfp->chooser = gtk_file_chooser_dialog_new(_("Select a File or Folder"), + GTK_WINDOW(toplevel), + GTK_FILE_CHOOSER_ACTION_OPEN, +- "gnome-vfs", + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, 1, + NULL); +--- build/src/mn-pi-mailbox-properties.c.orig 2011-02-08 22:30:08.051375715 +0100 ++++ build/src/mn-pi-mailbox-properties.c 2011-02-08 22:30:21.398665261 +0100 +@@ -415,7 +415,7 @@ + int i; + + for (i = 0; i < MN_PI_MAILBOX_N_CONNECTION_TYPES; i++) +- gtk_widget_set_sensitive(self->port_spin[i], GTK_WIDGET_SENSITIVE(self->conn_radio[i]) && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->conn_radio[i]))); ++ gtk_widget_set_sensitive(self->port_spin[i], gtk_widget_get_sensitive(self->conn_radio[i]) && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->conn_radio[i]))); + + g_object_notify(G_OBJECT(self), "complete"); + }} +--- src/eggtrayicon.c.orig 2011-02-07 23:42:30.405791829 +0100 ++++ src/eggtrayicon.c 2011-02-08 23:06:16.092968325 +0100 +@@ -25,7 +25,7 @@ + + #include "eggtrayicon.h" + +-#include <gdkconfig.h> ++#include <gdk/gdk.h> + #if defined (GDK_WINDOWING_X11) + #include <gdk/gdkx.h> + #include <X11/Xatom.h> +@@ -258,7 +258,7 @@ + { + GdkWindow *gdkwin; + +- gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (widget), ++ gdkwin = gdk_x11_window_lookup_for_display (gtk_widget_get_display (widget), + icon->manager_window); + + gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); +@@ -290,7 +290,7 @@ + ev.window = window; + ev.message_type = icon->system_tray_opcode_atom; + ev.format = 32; +- ev.data.l[0] = gdk_x11_get_server_time (GTK_WIDGET (icon)->window); ++ ev.data.l[0] = gdk_x11_get_server_time (gtk_widget_get_window(GTK_WIDGET (icon))); + ev.data.l[1] = message; + ev.data.l[2] = data1; + ev.data.l[3] = data2; +@@ -342,12 +342,12 @@ + { + GdkWindow *gdkwin; + +- gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), ++ gdkwin = gdk_x11_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), + icon->manager_window); + + gdk_window_add_filter (gdkwin, egg_tray_icon_manager_filter, icon); + +- if (dock_if_realized && GTK_WIDGET_REALIZED (icon)) ++ if (dock_if_realized && gtk_widget_get_realized (GTK_WIDGET(icon))) + egg_tray_icon_send_dock_request (icon); + + egg_tray_icon_get_orientation_property (icon); +@@ -355,10 +355,16 @@ + } + + static gboolean +-transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) ++transparent_draw (GtkWidget *widget, cairo_t *cr, gpointer user_data) + { +- gdk_window_clear_area (widget->window, event->area.x, event->area.y, ++#if 0 ++ gdk_window_clear_area (gtk_widget_get_window(widget), event->area.x, event->area.y, + event->area.width, event->area.height); ++#endif ++ cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); ++ //gdk_cairo_region (cr, event->region); ++ cairo_fill (cr); ++ + return FALSE; + } + +@@ -366,20 +372,20 @@ + make_transparent_again (GtkWidget *widget, GtkStyle *previous_style, + gpointer user_data) + { +- gdk_window_set_back_pixmap (widget->window, NULL, TRUE); ++ //gdk_window_set_back_pixmap (gtk_widget_get_window(widget), NULL, TRUE); + } + + static void + make_transparent (GtkWidget *widget, gpointer user_data) + { +- if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget)) ++ if (! gtk_widget_get_has_window (widget) || gtk_widget_get_app_paintable (widget)) + return; + + gtk_widget_set_app_paintable (widget, TRUE); + gtk_widget_set_double_buffered (widget, FALSE); +- gdk_window_set_back_pixmap (widget->window, NULL, TRUE); +- g_signal_connect (widget, "expose_event", +- G_CALLBACK (transparent_expose_event), NULL); ++ //gdk_window_set_back_pixmap (gtk_widget_get_window(widget), NULL, TRUE); ++ g_signal_connect (widget, "draw", ++ G_CALLBACK (transparent_draw), NULL); + g_signal_connect_after (widget, "style_set", + G_CALLBACK (make_transparent_again), NULL); + } +@@ -391,7 +397,7 @@ + + g_return_if_fail (icon->manager_window != None); + +- gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), ++ gdkwin = gdk_x11_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), + icon->manager_window); + + gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); +--- build/src/mn-properties-dialog.c.orig 2011-02-08 23:37:12.605200174 +0100 ++++ build/src/mn-properties-dialog.c 2011-02-08 23:37:18.601881191 +0100 +@@ -183,7 +183,7 @@ + GtkTreeSelection *selection; + + mn_container_create_interface(GTK_CONTAINER(self), +- PKGDATADIR G_DIR_SEPARATOR_S "properties-dialog.glade", ++ PKGDATADIR G_DIR_SEPARATOR_S "properties-dialog.ui", + "main_vbox", + "mn_properties_dialog_", + "notebook", &selfp->notebook, +--- src/mn-util.c.orig 2011-02-08 00:01:25.167207512 +0100 ++++ src/mn-util.c 2011-02-09 00:01:35.718285446 +0100 +@@ -26,8 +26,7 @@ + #include <gmodule.h> + #include <glib/gi18n.h> + #include <gobject/gvaluecollector.h> +-#include <gnome.h> +-#include <glade/glade.h> ++#include <libgnome/libgnome.h> + #include "mn-util.h" + #include "mn-mailboxes.h" + #include "mn-shell.h" +@@ -303,49 +302,55 @@ + return pixbuf; + } + +-static GladeXML * ++static GtkBuilder * + mn_glade_xml_new (const char *filename, const char *root, const char *domain) + { +- GladeXML *xml; ++ GtkBuilder *builder; ++ GError *err = NULL; + + g_return_val_if_fail(filename != NULL, NULL); + +- xml = glade_xml_new(filename, root, domain); +- if (! xml) +- mn_show_fatal_error_dialog(NULL, "Unable to load interface \"%s\".", filename); ++ builder = gtk_builder_new(); ++ gtk_builder_set_translation_domain(builder, domain); ++ if (! gtk_builder_add_from_file(builder, filename, &err)) { ++ mn_show_fatal_error_dialog(NULL, "Unable to load interface \"%s\": %s.", filename, err->message); ++ g_error_free(err); ++ g_object_unref(builder); ++ return NULL; ++ } + +- return xml; ++ return builder; + } + + static GtkWidget * +-mn_glade_xml_get_widget (GladeXML *xml, const char *widget_name) ++mn_glade_xml_get_widget (GtkBuilder *builder, const char *widget_name) + { + GtkWidget *widget; + +- g_return_val_if_fail(GLADE_IS_XML(xml), NULL); ++ g_return_val_if_fail(GTK_IS_BUILDER(builder), NULL); + g_return_val_if_fail(widget_name != NULL, NULL); + +- widget = glade_xml_get_widget(xml, widget_name); ++ widget = GTK_WIDGET(gtk_builder_get_object(builder, widget_name)); + if (! widget) +- mn_show_fatal_error_dialog(NULL, "Widget \"%s\" not found in interface \"%s\".", widget_name, xml->filename); ++ mn_show_fatal_error_dialog(NULL, "Widget \"%s\" not found in interface.", widget_name); + + return widget; + } + + static void +-create_interface_connect_cb (const char *handler_name, ++create_interface_connect_cb (GtkBuilder *builder, + GObject *object, + const char *signal_name, +- const char *signal_data, ++ const char *handler_name, + GObject *connect_object, +- gboolean after, ++ GConnectFlags flags, + gpointer user_data) + { + static GModule *module = NULL; + ContainerCreateInterfaceConnectInfo *info = user_data; + char *cb_name; + GCallback cb; +- GConnectFlags flags; ++ GConnectFlags cflags; + + if (! module) + { +@@ -359,11 +364,9 @@ + mn_show_fatal_error_dialog(NULL, "Signal handler \"%s\" not found.", cb_name); + g_free(cb_name); + +- flags = G_CONNECT_SWAPPED; +- if (after) +- flags |= G_CONNECT_AFTER; ++ cflags = G_CONNECT_SWAPPED; + +- g_signal_connect_data(object, signal_name, cb, info->container, NULL, flags); ++ g_signal_connect_data(object, signal_name, cb, info->container, NULL, cflags); + } + + void +@@ -373,7 +376,7 @@ + const char *callback_prefix, + ...) + { +- GladeXML *xml; ++ GtkBuilder *xml; + GtkWidget *child; + ContainerCreateInterfaceConnectInfo info; + va_list args; +@@ -387,14 +390,16 @@ + xml = mn_glade_xml_new(filename, child_name, NULL); + child = mn_glade_xml_get_widget(xml, child_name); + +- if (GTK_IS_DIALOG(container)) +- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(container)->vbox), child, TRUE, TRUE, 0); +- else ++ if (GTK_IS_DIALOG(container)) { ++ gtk_widget_unparent(child); ++ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(container))), child, TRUE, TRUE, 0); ++ } else { + gtk_container_add(container, child); ++ } + + info.container = container; + info.callback_prefix = callback_prefix; +- glade_xml_signal_autoconnect_full(xml, create_interface_connect_cb, &info); ++ gtk_builder_connect_signals_full(xml, create_interface_connect_cb, &info); + + va_start(args, callback_prefix); + +@@ -422,7 +427,7 @@ + + toplevel = gtk_widget_get_toplevel(widget); + +- return GTK_WIDGET_TOPLEVEL(toplevel) ? GTK_WINDOW(toplevel) : NULL; ++ return gtk_widget_get_toplevel(toplevel) ? GTK_WINDOW(toplevel) : NULL; + } + + static void +@@ -493,9 +498,11 @@ + gpointer user_data) + { + GtkAdjustment *adjustment; ++ GtkAllocation allocation; + ++ gtk_widget_get_allocation(widget, &allocation); + adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(widget)); +- gtk_adjustment_set_value(adjustment, (double) y / (widget->allocation.height - 2) * (adjustment->upper - adjustment->page_size)); ++ gtk_adjustment_set_value(adjustment, (double) y / (allocation.height - 2) * (gtk_adjustment_get_upper(adjustment) - gtk_adjustment_get_page_size(adjustment))); + + return TRUE; /* we're forcibly in a drop zone */ + } +@@ -562,7 +569,7 @@ + MNMailbox *mailbox; + + /* text/x-moz-url is encoded in UCS-2 but in format 8: broken */ +- if (selection_data->format != 8 || selection_data->length <= 0 || (selection_data->length % 2) != 0) ++ if (gtk_selection_data_get_format(selection_data) != 8 || gtk_selection_data_get_length(selection_data) <= 0 || (gtk_selection_data_get_length(selection_data) % 2) != 0) + { + mn_show_error_dialog(mn_widget_get_parent_window(widget), + _("A drag and drop error has occurred"), +@@ -570,8 +577,8 @@ + return; + } + +- char_data = (const guint16 *) selection_data->data; +- char_len = selection_data->length / 2; ++ char_data = (const guint16 *) gtk_selection_data_get_data(selection_data); ++ char_len = gtk_selection_data_get_length(selection_data) / 2; + + url = g_string_new(NULL); + for (i = 0; i < char_len && char_data[i] != '\n'; i++) +@@ -1322,7 +1329,7 @@ + } + + static void +-dialog_run_nonmodal_destroy_h (GtkObject *object, gpointer user_data) ++dialog_run_nonmodal_destroy_h (GtkWidget *object, gpointer user_data) + { + RunNonmodalInfo *info = user_data; + +@@ -1375,7 +1382,7 @@ + + g_object_ref(dialog); + +- if (! GTK_WIDGET_VISIBLE(dialog)) ++ if (! gtk_widget_get_visible(dialog)) + gtk_widget_show(GTK_WIDGET(dialog)); + + g_object_connect(dialog, +--- src/mn-main.c.gtk3 2008-05-22 17:45:35.000000000 +0200 ++++ src/mn-main.c 2011-02-08 23:32:33.800030659 +0100 +@@ -21,7 +21,7 @@ + #include <stdlib.h> + #include <signal.h> + #include <glib/gi18n.h> +-#include <gnome.h> ++#include <libgnome/libgnome.h> + #include <libgnomevfs/gnome-vfs.h> + #include <libnotify/notify.h> + #include <dbus/dbus-glib-lowlevel.h> +@@ -452,7 +452,7 @@ + + gnome_program_init(PACKAGE, + VERSION, +- LIBGNOMEUI_MODULE, ++ LIBGNOME_MODULE, + argc, + argv, + GNOME_PARAM_HUMAN_READABLE_NAME, _("Mail Notification"), +@@ -460,6 +460,8 @@ + GNOME_PARAM_GOPTION_CONTEXT, option_context, + NULL); + ++ gtk_init(&argc, &argv); ++ + if (arg_version) + { + print_version(); +@@ -497,7 +499,9 @@ + if (! gnome_vfs_init()) + mn_show_fatal_error_dialog(NULL, _("Unable to initialize the GnomeVFS library.")); + ++#if 0 + gnome_authentication_manager_init(); ++#endif + + /* must be called before init_gmime() */ + mn_conf_init(); +--- src/mn-conf.c.gtk3 2008-05-22 17:45:35.000000000 +0200 ++++ src/mn-conf.c 2011-02-07 20:07:01.630580132 +0100 +@@ -23,7 +23,7 @@ + #include <errno.h> + #include <stdarg.h> + #include <glib/gi18n.h> +-#include <gnome.h> ++#include <libgnome/libgnome.h> + #include "mn-util.h" + #include "mn-conf.h" + #include "mn-shell.h" diff --git a/testing/mail-notification/mail-notification-5.4-icons.patch b/testing/mail-notification/mail-notification-5.4-icons.patch new file mode 100644 index 000000000..48d54742a --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-icons.patch @@ -0,0 +1,39 @@ +diff -Nrbu mail-notification-5.4/src/mn-stock.c mail-notification-5.4-OK/src/mn-stock.c +--- mail-notification-5.4/src/mn-stock.c 2008-05-22 19:45:35.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-stock.c 2010-05-24 19:36:03.000000000 +0400 +@@ -32,11 +32,11 @@ + const char *icon_name; + const char *source_stock_id; + } icons[] = { +- { MN_STOCK_MAIL, NULL, "stock_mail" }, +- { MN_STOCK_NO_MAIL, NULL, "stock_inbox" }, +- { MN_STOCK_LOCAL, NULL, "stock_folder" }, +- { MN_STOCK_REMOTE, NULL, "stock_internet" }, +- { MN_STOCK_UNKNOWN, NULL, "stock_unknown" }, ++ { MN_STOCK_MAIL, NULL, "mail-message-new" }, ++ { MN_STOCK_NO_MAIL, NULL, "mail-notification" }, ++ { MN_STOCK_LOCAL, NULL, "folder" }, ++ { MN_STOCK_REMOTE, NULL, "applications-internet" }, ++ { MN_STOCK_UNKNOWN, NULL, "dialog-question" }, + { MN_STOCK_ERROR, NULL, NULL, GTK_STOCK_DIALOG_ERROR }, + #if WITH_GMAIL + { MN_STOCK_GMAIL, PKGDATADIR G_DIR_SEPARATOR_S "gmail.png" }, +@@ -48,14 +48,14 @@ + { MN_STOCK_HOTMAIL, PKGDATADIR G_DIR_SEPARATOR_S "hotmail.png" }, + #endif + #if WITH_MBOX || WITH_MOZILLA || WITH_MH || WITH_MAILDIR || WITH_SYLPHEED +- { MN_STOCK_SYSTEM_MAILBOX, NULL, "system" }, ++ { MN_STOCK_SYSTEM_MAILBOX, NULL, "applications-system" }, + #endif + #if WITH_EVOLUTION + { MN_STOCK_EVOLUTION_MAILBOX, NULL, "evolution" }, + #endif +- { MN_STOCK_MAIL_READER, NULL, "stock_mail-handling" }, +- { MN_STOCK_OPEN_MESSAGE, NULL, "stock_mail-open" }, +- { MN_STOCK_CONSIDER_NEW_MAIL_AS_READ, NULL, "stock_mark" } ++ { MN_STOCK_MAIL_READER, NULL, "mail-unread" }, ++ { MN_STOCK_OPEN_MESSAGE, NULL, "mail-read" }, ++ { MN_STOCK_CONSIDER_NEW_MAIL_AS_READ, NULL, "mail-mark-read" } + }; + GtkIconFactory *factory; + GtkIconTheme *icon_theme; diff --git a/testing/mail-notification/mail-notification-5.4-kde-trayicon.patch b/testing/mail-notification/mail-notification-5.4-kde-trayicon.patch new file mode 100644 index 000000000..a3bdc8372 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-kde-trayicon.patch @@ -0,0 +1,72 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-shell.c mail-notification-5.4-OK/build/src/mn-shell.c +--- mail-notification-5.4/build/src/mn-shell.c 2010-10-11 17:45:23.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-shell.c 2010-10-11 17:45:48.000000000 +0400 +@@ -313,6 +313,29 @@ + #undef __GOB_FUNCTION__ + + static void ++mn_shell_init_icon_base (MNShell * self) ++{ ++ g_return_if_fail (self != NULL); ++ g_return_if_fail (MN_IS_SHELL (self)); ++ ++ self->icon = MN_MAIL_ICON(mn_mail_icon_new()); ++ mn_add_weak_pointer(&self->icon); ++ ++ g_object_connect(self->icon, ++ "signal::activate", self_icon_activate_h, self, ++ "signal::activate-mail-reader", self_icon_activate_mail_reader_h, self, ++ "signal::activate-open-latest-message", self_icon_activate_open_latest_message_h, self, ++ "swapped-signal::activate-consider-new-mail-as-read", self_consider_new_mail_as_read, self, ++ "swapped-signal::activate-update", self_update, self, ++ "signal::activate-properties", self_icon_activate_properties_h, self, ++ "signal::activate-help", self_icon_activate_help_h, self, ++ "signal::activate-about", self_icon_activate_about_h, self, ++ "swapped-signal::activate-remove", self_quit, self, ++ "signal::destroy", self_icon_destroy_h, self, ++ NULL); ++} ++ ++static void + mn_shell_init (MNShell * o G_GNUC_UNUSED) + { + #define __GOB_FUNCTION__ "MN:Shell::init" +@@ -793,22 +816,7 @@ + { + #line 360 "src/mn-shell.gob" + +- self->icon = MN_MAIL_ICON(mn_mail_icon_new()); +- mn_add_weak_pointer(&self->icon); +- +- g_object_connect(self->icon, +- "signal::activate", self_icon_activate_h, self, +- "signal::activate-mail-reader", self_icon_activate_mail_reader_h, self, +- "signal::activate-open-latest-message", self_icon_activate_open_latest_message_h, self, +- "swapped-signal::activate-consider-new-mail-as-read", self_consider_new_mail_as_read, self, +- "swapped-signal::activate-update", self_update, self, +- "signal::activate-properties", self_icon_activate_properties_h, self, +- "signal::activate-help", self_icon_activate_help_h, self, +- "signal::activate-about", self_icon_activate_about_h, self, +- "swapped-signal::activate-remove", self_quit, self, +- "signal::destroy", self_icon_destroy_h, self, +- NULL); +- ++ mn_shell_init_icon_base(self); + self_update_sensitivity(self); + self_update_tooltip(self); + self_update_icon(self); +@@ -1094,7 +1102,13 @@ + } + else + { +- gtk_widget_hide(GTK_WIDGET(self->icon)); ++ /* Re-create the icon as a regular gtk_widget_hide causes the ++ * icon to remain visible on non-GNOME environments. We can't ++ * use the callback self_icon_destroy_h here as it can cause an ++ * endless recursion */ ++ g_signal_handlers_disconnect_by_func(self->icon, self_icon_destroy_h, self); ++ gtk_widget_destroy(GTK_WIDGET(self->icon)); ++ mn_shell_init_icon_base(self); + mn_mail_icon_set_blinking(self->icon, FALSE); + } + }} diff --git a/testing/mail-notification/mail-notification-5.4-popup-attach.patch b/testing/mail-notification/mail-notification-5.4-popup-attach.patch new file mode 100644 index 000000000..b8d5f6a09 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-popup-attach.patch @@ -0,0 +1,45 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-popup.c mail-notification-5.4-OK/build/src/mn-popup.c +--- mail-notification-5.4/build/src/mn-popup.c 2008-05-22 19:47:49.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-popup.c 2010-10-11 17:42:32.000000000 +0400 +@@ -177,6 +177,29 @@ + #undef __GOB_FUNCTION__ + + static void ++mn_popup_wait_for_icon_to_become_ready (void) ++{ ++ int x, y; ++ int count = 0; ++ ++ /* When the tray icon is created, it can still take some time before ++ * it has arrived at the correct position. This is especially the case ++ * on KDE environments. To work around this, add a little delay of at ++ * most 2 seconds before showing a popup which is attached to the notification */ ++ do { ++ gdk_window_get_origin (gtk_widget_get_window (mn_shell->icon), &x, &y); ++ ++ if (x != 0 || y != 0) { ++ break; ++ } ++ ++ g_usleep(G_USEC_PER_SEC / 10); ++ count++; ++ } while (count < 20); ++} ++ ++ ++static void + mn_popup_init (MNPopup * o G_GNUC_UNUSED) + { + #define __GOB_FUNCTION__ "MN:Popup::init" +@@ -299,8 +322,10 @@ + "icon-name", "stock_mail", + NULL); + +- if (mn_conf_get_enum_value(MN_TYPE_POPUP_POSITION, MN_CONF_POPUPS_POSITION) == MN_POPUP_POSITION_ATTACHED) ++ if (mn_conf_get_enum_value(MN_TYPE_POPUP_POSITION, MN_CONF_POPUPS_POSITION) == MN_POPUP_POSITION_ATTACHED) { ++ mn_popup_wait_for_icon_to_become_ready(); + g_object_set(self, "attach-widget", mn_shell->icon, NULL); ++ } + + g_string_free(body, TRUE); + diff --git a/testing/mail-notification/mail-notification-5.4-sasl_encode64.patch b/testing/mail-notification/mail-notification-5.4-sasl_encode64.patch new file mode 100644 index 000000000..80a7304d1 --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-sasl_encode64.patch @@ -0,0 +1,24 @@ +diff -up mail-notification-5.4/build/src/mn-pop3-mailbox.c mail-notification-5.4-OK/build/src/mn-pop3-mailbox.c +--- mail-notification-5.4/build/src/mn-pop3-mailbox.c 2009-05-19 10:29:58.448201837 +0200 ++++ mail-notification-5.4-OK/build/src/mn-pop3-mailbox.c 2009-05-19 10:23:29.356204287 +0200 +@@ -619,7 +619,7 @@ mn_pop3_mailbox_enter_auth_cb (MNClientS + + if (initial_clientoutlen > 0) + { +- char buf64[initial_clientoutlen * 2]; /* Base64 is 33% larger than the data it encodes */ ++ char buf64[initial_clientoutlen * 2 + 1]; /* Base64 is 33% larger than the data it encodes */ + unsigned int outlen; + int result; + char *str; +diff -up mail-notification-5.4/src/mn-client-session.c mail-notification-5.4-OK/src/mn-client-session.c +--- mail-notification-5.4/src/mn-client-session.c 2008-05-22 17:45:35.000000000 +0200 ++++ mail-notification-5.4-OK/src/mn-client-session.c 2009-05-19 10:29:09.112211055 +0200 +@@ -1030,7 +1030,7 @@ mn_client_session_write (MNClientSession + static int + write_base64 (MNClientSession *session, const char *buf, unsigned int len) + { +- char buf64[len * 2]; /* Base64 is 33% larger than the data it encodes */ ++ char buf64[len * 2 + 1]; /* Base64 is 33% larger than the data it encodes */ + unsigned int outlen; + int result; + char *str; diff --git a/testing/mail-notification/mail-notification-5.4-weak.patch b/testing/mail-notification/mail-notification-5.4-weak.patch new file mode 100644 index 000000000..2e2a233aa --- /dev/null +++ b/testing/mail-notification/mail-notification-5.4-weak.patch @@ -0,0 +1,11 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-shell.c mail-notification-5.4-OK/build/src/mn-shell.c +--- mail-notification-5.4/build/src/mn-shell.c 2008-05-22 19:47:49.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-shell.c 2010-05-24 19:39:48.000000000 +0400 +@@ -1008,6 +1008,7 @@ + Self *self = user_data; + + /* The Notification Area applet has been terminated. Recreate the icon. */ ++ mn_remove_weak_pointer(&self->icon); + self_init_icon(self); + }} + #line 1014 "mn-shell.c" diff --git a/testing/mail-notification/mail-notification.install b/testing/mail-notification/mail-notification.install new file mode 100644 index 000000000..21cd94399 --- /dev/null +++ b/testing/mail-notification/mail-notification.install @@ -0,0 +1,24 @@ +pkgname=mail-notification + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + kill -s HUP `pidof bonobo-activation-server` > /dev/null 2>&1 + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +post_remove() { + kill -s HUP `pidof bonobo-activation-server` > /dev/null 2>&1 + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/testing/mail-notification/remove-ubuntu-special-case.patch b/testing/mail-notification/remove-ubuntu-special-case.patch new file mode 100644 index 000000000..4516f32c6 --- /dev/null +++ b/testing/mail-notification/remove-ubuntu-special-case.patch @@ -0,0 +1,33 @@ +--- jbsrc/lib/src/core/jb-feature.c.~1~ 2008-04-27 16:47:27.000000000 +0200 ++++ jbsrc/lib/src/core/jb-feature.c 2008-07-22 11:40:50.856886210 +0200 +@@ -164,8 +164,6 @@ + static void + gconf_configure (void) + { +- JBVariable *variable; +- + jb_require_program("gconftool-2"); + + if (! strcmp(jb_variable_get_string("gconf-config-source"), "autodetect")) +@@ -178,21 +176,6 @@ + jb_variable_set_string("gconf-config-source", config_source); + g_free(config_source); + } +- +- /* fix the default schemas dir on Ubuntu */ +- variable = jb_variable_get_variable_or_error("gconf-schemas-dir"); +- if (! variable->user_set) +- { +- static const char *ubuntu_dir = "$datadir/gconf/schemas"; +- char *expanded; +- +- expanded = jb_variable_expand(ubuntu_dir, NULL); +- +- if (g_file_test(expanded, G_FILE_TEST_IS_DIR)) +- jb_variable_set_string("gconf-schemas-dir", ubuntu_dir); +- +- g_free(expanded); +- } + } + + static void diff --git a/testing/mpd/PKGBUILD b/testing/mpd/PKGBUILD index 1ef47737e..57ce12fce 100644 --- a/testing/mpd/PKGBUILD +++ b/testing/mpd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 119708 2011-04-13 22:45:29Z schiv $ +# $Id: PKGBUILD 119766 2011-04-14 20:23:04Z schiv $ # Maintainer: Angel Velasquez <angvp@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> @@ -6,15 +6,15 @@ pkgname=mpd pkgver=0.16.2 -pkgrel=2 +pkgrel=3 pkgdesc="Music daemon that plays MP3, FLAC, and Ogg Vorbis files" arch=('i686' 'x86_64') license=('GPL') url="http://mpd.wikia.com/wiki/Server" depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2' - 'sqlite3' 'libsamplerate' 'libmms' 'wavpack' 'libmpcdec' 'avahi' 'libid3tag' + 'sqlite3' 'jack' 'libmms' 'wavpack' 'libmpcdec' 'avahi' 'libid3tag' 'libpulse') -makedepends=('pkgconfig' 'doxygen' 'jack') +makedepends=('pkgconfig' 'doxygen') install=${pkgname}.install source=("http://downloads.sourceforge.net/musicpd/${pkgname}-${pkgver}.tar.bz2" 'mpd') diff --git a/testing/sqlite3/PKGBUILD b/testing/sqlite3/PKGBUILD index 3a3002598..c1dbbcd93 100644 --- a/testing/sqlite3/PKGBUILD +++ b/testing/sqlite3/PKGBUILD @@ -1,11 +1,12 @@ -# $Id: PKGBUILD 119626 2011-04-12 20:36:36Z andyrtr $ +# $Id: PKGBUILD 119736 2011-04-14 10:45:02Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgbase="sqlite3" pkgname=('sqlite3' 'sqlite3-tcl' 'sqlite3-doc') -_amalgamationver=3070600 +_amalgamationver=3070601 _amalgamationver2=${_amalgamationver/00/} +_docver=3070600 pkgver=${_amalgamationver2//0/.} pkgrel=1 pkgdesc="A C library that implements an SQL database engine" @@ -15,10 +16,11 @@ url="http://www.sqlite.org/" makedepends=('tcl' 'readline>=6.0.00') source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a configure script and makefile for building it; includes now also the Tcl Extension Architecture (TEA) http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz - http://www.sqlite.org/sqlite-doc-${_amalgamationver}.zip + #http://www.sqlite.org/sqlite-doc-${_amalgamationver}.zip + http://www.sqlite.org/sqlite-doc-${_docver}.zip license.txt) options=('!libtool' '!emptydirs') -md5sums=('8e1764574dbddb6be675c79bcfcc304d' +md5sums=('a9b7327d6762652fe19caf68fb50849d' '1c9b9da6f98f1da2d8958254662c393c' 'c1cdbc5544034d9012e421e75a5e4890') @@ -66,7 +68,8 @@ package_sqlite3-doc() { pkgdesc="most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation" #arch=('any') - not yet supported - cd ${srcdir}/sqlite-doc-${_amalgamationver} + #cd ${srcdir}/sqlite-doc-${_amalgamationver} + cd ${srcdir}/sqlite-doc-${_docver} mkdir -p ${pkgdir}/usr/share/doc/${pkgbase} cp -R * ${pkgdir}/usr/share/doc/${pkgbase}/ } |