diff options
author | root <root@rshg054.dnsready.net> | 2013-08-06 01:53:55 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-08-06 01:53:55 -0700 |
commit | a2fb8ff517d83749ec3b5543aeba805f07ea257d (patch) | |
tree | 87eac8f03f062c2c5ab3ff3dd92e04c07fb4e896 | |
parent | b3923b26c3d37257246fea13bdb1151c96cb2fe4 (diff) |
Tue Aug 6 01:53:08 PDT 2013
46 files changed, 1694 insertions, 179 deletions
diff --git a/community/freeorion/PKGBUILD b/community/freeorion/PKGBUILD index 64f5ab5b8..75c60bedd 100644 --- a/community/freeorion/PKGBUILD +++ b/community/freeorion/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 95055 2013-08-04 21:38:58Z arodseth $ +# $Id: PKGBUILD 95098 2013-08-05 17:01:03Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Elmo Todurov <todurov@gmail.com> # Contributor: guini <sidtrun@googlemail.com> @@ -9,6 +9,8 @@ pkgname=freeorion pkgver=0.4.3 pkgrel=1 +_svnrev=6281 +_pyversion=2.7 pkgdesc='Turn-based galactic conquest game inspired by Master of Orion' arch=('x86_64' 'i686') url='http://www.freeorion.org/' @@ -27,30 +29,26 @@ install=$pkgname.install source=("$pkgname.sh" "$pkgname.png::https://a.fsdn.com/con/icons/fr/freeorion@sf.net/FO_Icon_256x256.png" "cmake_python.patch" - "$pkgname::svn+https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/#revision=6281") + "$pkgname::svn+https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/#revision=$_svnrev") sha256sums=('25b574af5397226373e24510ce59de94c5df5b31d94562fc0de387fd70731707' 'a6a253eed31b77b00bf4f721f4b1c6bbd95505b9e4b38b736101e551dd12ff5f' '3dbe8df9c3a4a0d6451f42727ebf9bcb21fed41a08d1181d1cf77ef4ab5ee81a' 'SKIP') -_pyversion=2.7 pkgver() { + svn upgrade + svn up -r "$_svnrev" echo "$pkgver" } prepare() { - cd "$pkgname" + #msg2 'Looking up revision from version number...' + #_releaserevision=`curl --progress-bar -o- ${url}index.php/Compile | grep "$pkgver" | cut -d':' -f2 | cut -d' ' -f10 | tail -1` - svn upgrade + gendesk -n --pkgname "$pkgname" --pkgdesc "$pkgdesc" } build() { - cd "$srcdir" - gendesk -n --pkgname "$pkgname" --pkgdesc "$pkgdesc" - - #msg2 'Looking up revision from version number...' - #_releaserevision=`curl --progress-bar -o- ${url}index.php/Compile | grep "$pkgver" | cut -d':' -f2 | cut -d' ' -f10 | tail -1` - cd "$srcdir/$pkgname" msg2 'CMake/Python fix...' diff --git a/community/gambas3/PKGBUILD b/community/gambas3/PKGBUILD index 2137d08c1..7b5647b76 100644 --- a/community/gambas3/PKGBUILD +++ b/community/gambas3/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 94882 2013-08-01 06:54:58Z bpiotrowski $ +# $Id: PKGBUILD 95094 2013-08-05 14:15:46Z andyrtr $ # Maintainer: Laurent Carlier <lordheavym@gmail.com> # Contributor : sebikul <sebikul@gmail.com> @@ -16,7 +16,7 @@ _components=('gambas3-gb-args' 'gambas3-gb-cairo' 'gambas3-gb-chart' 'gambas3-gb 'gambas3-gb-xml-html' 'gambas3-gb-xml-rpc' 'gambas3-gb-xml-xslt' 'gambas3-gb-xml' 'gambas3-gb-web') pkgname=(${_components[@]} 'gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gambas3-examples') pkgver=3.4.2 -pkgrel=1 +pkgrel=2 pkgdesc="A free development environment based on a Basic interpreter." arch=('i686' 'x86_64') url="http://gambas.sourceforge.net/" diff --git a/community/gnubg/PKGBUILD b/community/gnubg/PKGBUILD index 5ad5b0c0b..8b113c594 100644 --- a/community/gnubg/PKGBUILD +++ b/community/gnubg/PKGBUILD @@ -3,18 +3,17 @@ # Contributor: Stefan Clarke <fm0nk3y@yahoo.co.uk> pkgname=gnubg -pkgver=1.01.003 +pkgver=1.02.000 pkgrel=1 pkgdesc="A world class backgammon application" arch=('i686' 'x86_64') url="http://www.gnubg.org" license=('GPL') depends=('python2' 'gtkglext' 'hicolor-icon-theme') -conflicts=('gnubg-cli' 'gnubg-cvs') install=$pkgname.install source=($url/media/sources/$pkgname-release-$pkgver-sources.tar.gz $pkgname.desktop) -md5sums=('5b03cf8634abe2822eee4db1317f0754' +md5sums=('eef4d08e20f1de40336de1bb3c9cb9ca' '965f5c7c25f60b27d06cc6fef7befd30') build() { diff --git a/community/ophcrack/PKGBUILD b/community/ophcrack/PKGBUILD index f89079136..64ae92553 100644 --- a/community/ophcrack/PKGBUILD +++ b/community/ophcrack/PKGBUILD @@ -5,7 +5,7 @@ # Contributor: Matthew Sharpe <matt.sharpe@gmail.com> pkgname=ophcrack -pkgver=3.5.0 +pkgver=3.6.0 pkgrel=1 pkgdesc="A free Windows password cracker based on rainbow tables" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ depends=('qt4') optdepends=('qwt: enable graph') source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2 ophcrack.desktop) -md5sums=('1c61adde21c5dc226515cbd1dc654c60' +md5sums=('93347fac9fee385b40d4f486680dfba9' '664599c4fd7fd210e6c421459f60e20d') build() { @@ -27,10 +27,10 @@ build() { } package() { - cd "$srcdir"/$pkgname-$pkgver + cd "$srcdir"/$pkgname-$pkgver - make DESTDIR="$pkgdir"/ install + make DESTDIR="$pkgdir"/ install - install -Dm644 "$srcdir"/ophcrack.desktop "$pkgdir"/usr/share/applications/ophcrack.desktop - install -Dm644 src/gui/pixmaps/os.xpm "$pkgdir"/usr/share/$pkgname/pixmaps/os.xpm + install -Dm644 "$srcdir"/ophcrack.desktop "$pkgdir"/usr/share/applications/ophcrack.desktop + install -Dm644 src/gui/pixmaps/os.xpm "$pkgdir"/usr/share/$pkgname/pixmaps/os.xpm } diff --git a/community/parcellite/PKGBUILD b/community/parcellite/PKGBUILD index 41cbda7bb..78ec29e5d 100644 --- a/community/parcellite/PKGBUILD +++ b/community/parcellite/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 94305 2013-07-19 15:21:24Z spupykin $ +# $Id: PKGBUILD 95071 2013-08-05 10:50:54Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Alexander Fehr <pizzapunk gmail com> pkgname=parcellite -pkgver=1.1.5 +pkgver=1.1.6 pkgrel=1 pkgdesc="Lightweight GTK+ clipboard manager" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL3') depends=('gtk2') makedepends=('intltool') source=(http://downloads.sourceforge.net/parcellite/parcellite-$pkgver.tar.gz) -md5sums=('62f96188afc1cc2fe5b48f334bd4c99f') +md5sums=('4b0a89aeb885a2f7d2ace3e4ea7e153e') build() { cd "$srcdir/parcellite-$pkgver" diff --git a/community/pdf2djvu/PKGBUILD b/community/pdf2djvu/PKGBUILD index fa3389e11..f5ca0f6d8 100644 --- a/community/pdf2djvu/PKGBUILD +++ b/community/pdf2djvu/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 91593 2013-05-25 02:56:18Z foutrelis $ +# $Id: PKGBUILD 95095 2013-08-05 14:15:47Z andyrtr $ # Contributor: Paulo Matias <matiasΘarchlinux-br·org> # Maintainer: Jelle van der Waa <jelle@vdwaa.nl> pkgname=pdf2djvu -pkgver=0.7.16 -pkgrel=6 +pkgver=0.7.17 +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' 'gcc-libs' 'graphicsmagick') makedepends=('pstreams' 'python2-nose' 'ttf-liberation') source=("http://pdf2djvu.googlecode.com/files/${pkgname}_${pkgver}.tar.gz") -md5sums=('6ba1e576212e129111518a8c4afd1092') +md5sums=('fedec591afb14b144808d1a4facab174') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/community/pypy3/PKGBUILD b/community/pypy3/PKGBUILD new file mode 100644 index 000000000..16e7e1a33 --- /dev/null +++ b/community/pypy3/PKGBUILD @@ -0,0 +1,47 @@ +# $Id: PKGBUILD 95035 2013-08-04 09:44:24Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> + +#_hgrev=63547 + +pkgname=pypy3 +pkgver=2.1beta1 +_pkgver=2.1-beta1 +#[[ -n $_hgrev ]] && pkgver=2.0beta2.$_hgrev +pkgrel=1 +pkgdesc="A Python3 implementation written in Python, JIT enabled" +url="http://pypy.org" +arch=('i686' 'x86_64') +depends=('libffi') +provides=('python') +options=(!buildflags) +makedepends=('python' 'mercurial' 'python2') +optdepends=('openssl: openssl module' + 'expat: pyexpat module' + 'ncurses: ncurses module' + 'zlib: zlib module' + 'bzip2: bz2 module') +license=('custom:MIT') +#source=("hg+https://bitbucket.org/pypy/pypy#revision=$_hgrev") +source=("https://bitbucket.org/pypy/pypy/downloads/$pkgname-$_pkgver-src.tar.bz2") +md5sums=('bc2013d1927dc1c0c91228e566abd8da') + +build() { + cd "${srcdir}"/${pkgname}-${_pkgver}-src/pypy/goal + + python2 ../../rpython/bin/rpython -Ojit targetpypystandalone +} + +package() { + cd "${srcdir}"/${pkgname}-${_pkgver}-src/pypy/tool/release + + python2 package.py --without-tk ../../../ pypy3 pypy-c "${srcdir}"/${pkgname}.tar.bz2 + + mkdir -p "${pkgdir}"/opt + tar x -C "${pkgdir}"/opt -f "${srcdir}"/${pkgname}.tar.bz2 + + mkdir -p "${pkgdir}"/usr/bin + ln -s /opt/pypy3/bin/pypy-c "${pkgdir}"/usr/bin/pypy3 + + install -Dm644 "${pkgdir}"/opt/pypy3/LICENSE "${pkgdir}"/usr/share/licenses/pypy3/LICENSE +} +# vim: ts=2 sw=2 et: diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD index f4c813590..34b769bce 100644 --- a/community/redis/PKGBUILD +++ b/community/redis/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 92955 2013-06-20 12:43:06Z spupykin $ +# $Id: PKGBUILD 95069 2013-08-05 10:49:57Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jan-Erik Rediger <badboy at archlinux dot us> # Contributor: nofxx <x@<nick>.com> pkgname=redis pkgver=2.6.14 -pkgrel=1 +pkgrel=2 pkgdesc="Advanced key-value store" arch=('i686' 'x86_64') url="http://redis.io/" @@ -14,17 +14,25 @@ depends=('bash') makedepends=('gcc>=3.1' 'make' 'pkgconfig') backup=("etc/redis.conf" "etc/logrotate.d/redis") +install=redis.install source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz" "redis.service" - "redis.logrotate") + "redis.logrotate" + "redis.tmpfiles.d") md5sums=('02e0c06e953413017ff64862953e2756' - '5ab9fdb200e15c13b450fda77fa030b6' - '9e2d75b7a9dc421122d673fe520ef17f') + '5320aa6d0f31aadc1d6202ca40425aea' + '9e2d75b7a9dc421122d673fe520ef17f' + 'dd9ab8022b4d963b2e5899170dfff490') + +prepare() { + cd "$srcdir/${pkgname}-${pkgver}" + sed -i 's|# bind 127.0.0.1|bind 127.0.0.1|' redis.conf + sed -i 's|pidfile .*|pidfile /run/redis/redis.pid|' redis.conf +} build() { cd "$srcdir/${pkgname}-${pkgver}" make MALLOC=libc - sed -i 's|# bind 127.0.0.1|bind 127.0.0.1|' redis.conf } package() { @@ -37,4 +45,5 @@ package() { install -Dm644 "$srcdir/redis.logrotate" "$pkgdir/etc/logrotate.d/redis" sed -i 's|daemonize no|daemonize yes|;s|dir \./|dir /var/lib/redis/|;s|logfile stdout|logfile /var/log/redis.log| ' $srcdir/${pkgname}-${pkgver}/redis.conf install -D -m644 "$srcdir/${pkgname}-${pkgver}/redis.conf" "$pkgdir/etc/redis.conf" + install -Dm644 "$srcdir/redis.tmpfiles.d" "$pkgdir/usr/lib/tmpfiles.d/redis.conf" } diff --git a/community/redis/redis.install b/community/redis/redis.install new file mode 100644 index 000000000..058a68f80 --- /dev/null +++ b/community/redis/redis.install @@ -0,0 +1,14 @@ +post_install() { + grep -E "^redis:" etc/group >/dev/null || groupadd --system redis + grep -E "^redis:" etc/passwd >/dev/null || useradd --system -g redis -d /var/lib/redis -s /bin/false redis + touch var/log/redis.log + chown redis:redis var/log/redis.log + systemd-tmpfiles --create redis.conf + install -dm0700 var/lib/redis + chown -R redis:redis var/lib/redis +} + +post_upgrade() { + post_install + echo "Redis starts from redis user by default. Check redis.service file" +} diff --git a/community/redis/redis.service b/community/redis/redis.service index 7596b4bda..bb364f749 100644 --- a/community/redis/redis.service +++ b/community/redis/redis.service @@ -4,7 +4,8 @@ After=network.target [Service] Type=forking -PIDFile=/run/redis.pid +User=redis +PIDFile=/run/redis/redis.pid ExecStartPre=/bin/mkdir -p /var/lib/redis ExecStart=/usr/bin/redis-server /etc/redis.conf ExecStop=/usr/bin/redis-cli shutdown diff --git a/community/redis/redis.tmpfiles.d b/community/redis/redis.tmpfiles.d new file mode 100644 index 000000000..773b8eac4 --- /dev/null +++ b/community/redis/redis.tmpfiles.d @@ -0,0 +1 @@ +d /run/redis 0755 redis redis - diff --git a/community/siege/PKGBUILD b/community/siege/PKGBUILD index 77369aeeb..551c6846a 100644 --- a/community/siege/PKGBUILD +++ b/community/siege/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 91394 2013-05-21 16:28:38Z bluewind $ +# $Id: PKGBUILD 95093 2013-08-05 14:00:41Z bluewind $ # Maintainer: Florian Pritz <flo@xinu.at> # Contributor: Sven Kauber <celeon@gmail.com> pkgname=siege -pkgver=3.0.1 +pkgver=3.0.2 pkgrel=1 arch=('i686' 'x86_64') license=('GPL') @@ -29,4 +29,4 @@ package() { sed -i 's/^# file =$/file = \/etc\/urls.txt/' "$pkgdir/etc/siegerc" } -md5sums=('3401d9c8a02f227b63a0d10e2718ab37') +md5sums=('116bcedf8a6663c1d42ce958e2cdd3ca') diff --git a/community/ucblogo/PKGBUILD b/community/ucblogo/PKGBUILD new file mode 100644 index 000000000..8be6e3ce8 --- /dev/null +++ b/community/ucblogo/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 95120 2013-08-05 21:00:30Z arodseth $ +# Maintainer: Alexander Rødseth <rodseth@gmail.com> +# Contributor: chiku <chirantan DOT mitra AT gmail DOT com> + +pkgname=ucblogo +pkgver=6.0 +pkgrel=5 +pkgdesc='Portable interpreter for the Logo programming language' +url='http://www.cs.berkeley.edu/~bh/logo.html' +arch=('x86_64' 'i686') +license=('GPL') +depends=('libx11' 'ncurses' 'bash' 'libsm') +source=("http://www.cs.berkeley.edu/~bh/downloads/$pkgname.tar.gz" + "$pkgname-$pkgver-no-wxWidgets.patch" + "$pkgname-$pkgver-no-texinfo.patch" + 'logo.sh') +sha256sums=('c659e989e9284efc0f904ebd7de24b559c2d7434a98bb9c92c23e6c11b49cef3' + 'e360ac71ac785fa8b00b89ff0c5bf8ed738114013143245d3bc0e62eb7d0333d' + 'e83fb9d656a9064685cde5ebc0ee36242ac848228380b0567fe683901435707c' + '3dcf0a5472acda2343ff7d4942ff6589149929a50af92b0994fbb0520d2a3849') + +prepare() { + patch -Np1 -i "$pkgname-$pkgver-no-wxWidgets.patch" + patch -Np1 -i "$pkgname-$pkgver-no-texinfo.patch" +} + +build() { + cd "$pkgname-$pkgver" + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + # csls/CVS interferes with make + rm -r "$srcdir/$pkgname-$pkgver/csls/CVS" + make prefix="$pkgdir/usr" INFODIR="$pkgdir/usr/share/info" install + mv "$pkgdir/usr/bin/logo" "$pkgdir/usr/bin/logo.elf" + install -Dm755 "$srcdir/logo.sh" "$pkgdir/usr/bin/logo" + install -d "$pkgdir/usr/share/doc" + mv "$pkgdir/usr/lib/logo/docs" "$pkgdir/usr/share/doc/$pkgname" + rm "$pkgdir/usr/share/doc/$pkgname/usermanual.ps" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/ucblogo/logo.sh b/community/ucblogo/logo.sh new file mode 100644 index 000000000..4f80180c0 --- /dev/null +++ b/community/ucblogo/logo.sh @@ -0,0 +1,7 @@ +#!/bin/sh +export LOGOLIB=/usr/lib/logo/logolib +if [[ -f "$1" ]]; then + cat "$1" | /usr/bin/logo.elf "$*" | head -n-2 +else + /usr/bin/logo.elf "$@" +fi diff --git a/community/ucblogo/ucblogo-6.0-no-texinfo.patch b/community/ucblogo/ucblogo-6.0-no-texinfo.patch new file mode 100644 index 000000000..eaf983603 --- /dev/null +++ b/community/ucblogo/ucblogo-6.0-no-texinfo.patch @@ -0,0 +1,12 @@ +diff -ENwbur ucblogo-6.0-no-wxWidgets/docs/makefile ucblogo-6.0-no-texinfo/docs/makefile +--- src/ucblogo-6.0/docs/makefile 2013-03-19 07:18:52.000000000 +0530 ++++ src/ucblogo-6.0-b/docs/makefile 2013-03-21 06:21:03.000000000 +0530 +@@ -30,7 +30,7 @@ + ship: + -rm -f *.{aux,cp,cps,dvi,fn,ky,log,pg,toc,tp,vr} + +-install: all ++install: + for d in $(INFODIR) $(DOCSDIR) $(HTMLDIR); do [ -d $$d ] || mkdir -p $$d || exit 1; done + -cp -f *.info* $(INFODIR)/. + -cp -f html/*.html $(HTMLDIR)/. diff --git a/community/ucblogo/ucblogo-6.0-no-wxWidgets.patch b/community/ucblogo/ucblogo-6.0-no-wxWidgets.patch new file mode 100644 index 000000000..164895392 --- /dev/null +++ b/community/ucblogo/ucblogo-6.0-no-wxWidgets.patch @@ -0,0 +1,52 @@ +diff -ENwbur ucblogo-6.0/config.h ucblogo-6.0-no-wxWidgets/config.h +--- src/ucblogo-6.0/config.h 2007-11-27 00:42:40.000000000 +0530 ++++ src/ucblogo-6.0-b/config.h 2013-03-19 07:19:15.000000000 +0530 +@@ -74,4 +74,4 @@ + /* #undef HAVE_LIBTERMLIB */ + + /* Define if you have the wx library. */ +-#define HAVE_WX 1 ++/* #undef HAVE_WX */ +Binary files ucblogo-6.0/logo and ucblogo-6.0-no-wxWidgets/logo differ +diff -ENwbur ucblogo-6.0/makefile ucblogo-6.0-no-wxWidgets/makefile +--- src/ucblogo-6.0/makefile 2008-09-14 02:51:18.000000000 +0530 ++++ src/ucblogo-6.0-b/makefile 2013-03-19 07:25:44.000000000 +0530 +@@ -1,23 +1,23 @@ + CC = gcc +-CFLAGS = -g -O -DHAVE_WX -O0 ++CFLAGS = -g -O2 + CXX = g++ +-CXXFLAGS = -g -DHAVE_WX -I/usr/local/lib/wx/include/gtk2-ansi-release-static-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread + LDFLAGS = +-LIBS = -lbsd -lm -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk2_richtext-2.8.a /usr/local/lib/libwx_gtk2_aui-2.8.a /usr/local/lib/libwx_gtk2_xrc-2.8.a /usr/local/lib/libwx_gtk2_qa-2.8.a /usr/local/lib/libwx_gtk2_html-2.8.a /usr/local/lib/libwx_gtk2_adv-2.8.a /usr/local/lib/libwx_gtk2_core-2.8.a /usr/local/lib/libwx_base_xml-2.8.a /usr/local/lib/libwx_base_net-2.8.a /usr/local/lib/libwx_base-2.8.a -pthread -L/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lXinerama -lXxf86vm -lSM -lpng -ljpeg -ltiff -lexpat -lz -ldl -lm -ltermcap -lX11 ++LIBS = -lSM -lICE -lm -lcurses -lX11 + prefix = /usr/local + BINDIR = $(prefix)/bin + LIBLOC = $(prefix)/lib/logo +-LINKER = $(CXX) ++LINKER = $(CC) ++ + + # LIBLOC = `pwd` + + OBJS = coms.o error.o eval.o files.o graphics.o init.o intern.o \ + libloc.o lists.o logodata.o main.o math.o mem.o paren.o parse.o \ +- print.o wrksp.o nographics.o svn.o wxMain.o wxTerminal.o wxTurtleGraphics.o TextEditor.o wxterm.o ++ print.o wrksp.o nographics.o svn.o term.o xgraphics.o + + SRCS = coms.c error.c eval.c files.c graphics.c init.c intern.c \ + libloc.c lists.c logodata.c main.c math.c mem.c paren.c parse.c \ +- print.c wrksp.c nographics.c wxMain.cpp wxTerminal.cpp wxTurtleGraphics.cpp TextEditor.cpp wxterm.c ++ print.c wrksp.c nographics.c term.c xgraphics.c + + HDRS = globals.h logo.h xgraphics.h + +@@ -70,7 +70,7 @@ + # cd emacs; $(MAKE) ship + cd docs; $(MAKE) ship + +-install: all ++install: + for d in $(BINDIR) $(LIBLOC) $(LIBLOC)/logolib $(LIBLOC)/helpfiles $(LIBLOC)/csls; do [ -d $$d ] || mkdir -p $$d || exit 1; done + cp logo $(BINDIR)/. + cp -f logolib/* $(LIBLOC)/logolib/. diff --git a/community/xjadeo/PKGBUILD b/community/xjadeo/PKGBUILD index 1aa5cfc70..24e1d1919 100644 --- a/community/xjadeo/PKGBUILD +++ b/community/xjadeo/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 94915 2013-08-01 06:55:57Z bpiotrowski $ +# $Id: PKGBUILD 95059 2013-08-04 22:37:03Z speps $ # Maintainer : speps <speps at aur dot archlinux dot org> pkgname=xjadeo -pkgver=0.7.4 -pkgrel=2 +pkgver=0.7.5 +pkgrel=1 pkgdesc="A simple video player that is synchronized to jack transport." arch=('i686' 'x86_64') url="http://xjadeo.sourceforge.net" @@ -14,7 +14,7 @@ optdepends=('qt4: for the GUI (qjadeo)') source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" "qjadeo.desktop") install="$pkgname.install" -md5sums=('6ca2ad15d61d12e2483589f64ace3983' +md5sums=('477e1140f1f3c4a89243bf7310aa9907' '315e2ab44ce3edf4068ff6db48942908') build() { diff --git a/extra/bzr/PKGBUILD b/extra/bzr/PKGBUILD index beef24350..dce1e73c0 100644 --- a/extra/bzr/PKGBUILD +++ b/extra/bzr/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 168990 2012-10-17 10:19:13Z allan $ +# $Id: PKGBUILD 192090 2013-08-05 19:19:16Z eric $ # Maintainer : # Contributor: Hugo Doria <hugo@archlinux.org> pkgname=bzr -pkgver=2.5.1 -pkgrel=2 +pkgver=2.6.0 +pkgrel=1 pkgdesc="A decentralized revision control system (bazaar)" arch=('i686' 'x86_64') url="http://bazaar.canonical.com/en/" @@ -12,19 +12,23 @@ license=('GPL') depends=('python2') optdepends=('python2-paramiko: for sftp support') source=("http://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz"{,.sig}) -md5sums=('ac5079858364a046071000d5cdccb67b' - 'c83dd08dd2c3e27edbab873500d7d6eb') +sha1sums=('5eb4d0367c6d83396250165da5bb2c8a9f378293' + 'SKIP') -build() { - cd "${srcdir}/${pkgname}-${pkgver}" +prepare() { + cd ${pkgname}-${pkgver} sed -i 's|man/man1|share/man/man1|' setup.py sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \ bzrlib/{plugins/bash_completion/bashcomp.py,tests/ssl_certs/create_ssls.py,patiencediff.py,_patiencediff_py.py} +} + +build() { + cd ${pkgname}-${pkgver} python2 setup.py build } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 # bash-completion diff --git a/extra/calligra/PKGBUILD b/extra/calligra/PKGBUILD index 2026b56cb..220bd1a35 100644 --- a/extra/calligra/PKGBUILD +++ b/extra/calligra/PKGBUILD @@ -1,24 +1,24 @@ -# $Id: PKGBUILD 192008 2013-08-04 04:49:59Z lcarlier $ +# $Id: PKGBUILD 192059 2013-08-05 14:17:28Z andyrtr $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgbase=calligra -pkgname=('calligra-filters' - 'calligra-libs' - 'calligra-plugins' - 'calligra-tools' +pkgname=('calligra-braindump' + 'calligra-extras' + 'calligra-filters' + 'calligra-flow' + 'calligra-handbook' 'calligra-karbon' 'calligra-kexi' - 'calligra-plan' - 'calligra-stage' 'calligra-krita' + 'calligra-libs' + 'calligra-plan' + 'calligra-plugins' 'calligra-sheets' - 'calligra-words' - 'calligra-handbook' - 'calligra-braindump' - 'calligra-flow') -pkgver=2.6.4 -pkgrel=2 + 'calligra-stage' + 'calligra-words') +pkgver=2.7.1 +pkgrel=1 arch=('i686' 'x86_64') url='http://www.calligra-suite.org/' license=('FDL1.2' 'GPL2' 'LGPL') @@ -27,8 +27,8 @@ makedepends=('cmake' 'automoc4' 'boost' 'kdepimlibs' 'eigen2' 'kdeedu-marble' 'libwps' 'gsl' 'glew' 'fftw' 'opengtl' 'poppler-qt' 'libkdcraw' 'openjpeg' 'kdegraphics-okular' 'pstoedit' 'vc') groups=('calligra') -source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2") -md5sums=('a38fdc882888469ea8b0dea949c05dda') +source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.xz") +md5sums=('9cf909ddf57ecb16d4370cc1062d0f7f') prepare() { mkdir build @@ -81,16 +81,8 @@ package_calligra-plugins() { cd "${srcdir}"/build/plugins make DESTDIR="${pkgdir}" install -} - -package_calligra-tools() { - pkgdesc="Tools for the Calligra office suite" - depends=('calligra-libs') - conflicts=('koffice-tools') - replaces=('koffice-tools') - install=calligra-tools.install - - cd "${srcdir}"/build/tools + + cd "${srcdir}"/build/3rdparty/kdchart make DESTDIR="${pkgdir}" install } @@ -223,3 +215,15 @@ package_calligra-flow() { cd "${srcdir}"/build/flow make DESTDIR="${pkgdir}" install } + +package_calligra-extras() { + pkgdesc="Calligra suite extras" + depends=('calligra-libs') + optdepends=('kdegraphics-okular') + conflicts=('calligra-tools') + replaces=('calligra-tools') + install=calligra-extras.install + + cd "${srcdir}"/build/extras + make DESTDIR="${pkgdir}" install +} diff --git a/extra/calligra/calligra-tools.install b/extra/calligra/calligra-extras.install index 6c87527e2..b8c7ebf27 100644 --- a/extra/calligra/calligra-tools.install +++ b/extra/calligra/calligra-extras.install @@ -1,5 +1,4 @@ post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null update-desktop-database -q } diff --git a/extra/evas_generic_loaders/PKGBUILD b/extra/evas_generic_loaders/PKGBUILD index dc786ca1e..8d034297b 100644 --- a/extra/evas_generic_loaders/PKGBUILD +++ b/extra/evas_generic_loaders/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 188785 2013-06-20 07:31:01Z bpiotrowski $ +# $Id: PKGBUILD 192061 2013-08-05 14:17:30Z andyrtr $ # Maintainer: Ronald van Haren <ronald@archlinux.org> # Contributor: Gustavo Sverzut Barbieri <barbieri@gmail.com> pkgname=evas_generic_loaders pkgver=1.7.7 -pkgrel=3 +pkgrel=4 pkgdesc="Additional generic loaders for Evas" arch=('i686' 'x86_64') url="http://www.enlightenment.org" diff --git a/extra/evolution-data-server/PKGBUILD b/extra/evolution-data-server/PKGBUILD index 78291d153..fcfc6df67 100644 --- a/extra/evolution-data-server/PKGBUILD +++ b/extra/evolution-data-server/PKGBUILD @@ -1,22 +1,40 @@ -# $Id: PKGBUILD 191340 2013-07-23 17:20:12Z jgc $ +# $Id: PKGBUILD 192047 2013-08-05 10:37:46Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evolution-data-server pkgver=3.8.4 -pkgrel=1 +pkgrel=2 pkgdesc="Centralized access to appointments and contacts" arch=(i686 x86_64) depends=(gnome-online-accounts nss krb5 libgweather libical db libgdata) -makedepends=(intltool gperf gobject-introspection vala python2) +makedepends=(intltool gperf gobject-introspection vala python2 gnome-common) options=('!libtool') install=$pkgname.install url="http://www.gnome.org" license=(GPL) -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('0b9e725d36a4c63ccb15b4e0f92932764c9a335e84af2ebeeb4c182760ef3f6e') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz +fix-google-2fa-1.patch +fix-google-2fa-2.patch +fix-google-2fa-3.patch +fix-google-2fa-4.patch) +sha256sums=('0b9e725d36a4c63ccb15b4e0f92932764c9a335e84af2ebeeb4c182760ef3f6e' + 'c1de9fe146f0512cf6c0219341c8409a9e4d955c3eb6a85f7d07183972b9328e' + '3e1c83dd00f01dfa0f9d67d2327de110b3e232a5f9a882ccce09a02392df7de6' + '9da8cccf504f40b8ee9e068b465cdf0a1a858999dd88d8e8e96f1e4cdffbf1e2' + '27022d00575ba1b9283d9420aa231c2770ff403b0b6c0442b6d679faefdbe00e') + + +prepare() { + cd "$pkgname-$pkgver" + patch -Np1 -i ../fix-google-2fa-1.patch + patch -Np1 -i ../fix-google-2fa-2.patch + patch -Np1 -i ../fix-google-2fa-3.patch + patch -Np1 -i ../fix-google-2fa-4.patch +} build() { cd "$pkgname-$pkgver" + autoreconf -fi ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --with-openldap=yes \ --libexecdir=/usr/lib/evolution-data-server \ diff --git a/extra/evolution-data-server/fix-google-2fa-1.patch b/extra/evolution-data-server/fix-google-2fa-1.patch new file mode 100644 index 000000000..530996898 --- /dev/null +++ b/extra/evolution-data-server/fix-google-2fa-1.patch @@ -0,0 +1,402 @@ +From fa0d18fcf2d8084d2a41f24f50f689eed8e3e241 Mon Sep 17 00:00:00 2001 +From: Matthew Barnes <mbarnes@redhat.com> +Date: Tue, 09 Jul 2013 18:23:04 +0000 +Subject: Add ESoupAuthBearer. + +SoupAuth subclass for use with OAuth 2.0 HTTP authentication. + +See http://tools.ietf.org/html/rfc6750 + +EBackends should use e_source_get_oauth2_access_token() to obtain +the access token and token expiry for an ESource, then pass them to +e_soup_auth_bearer_set_access_token(). +--- +diff --git a/docs/reference/libebackend/libebackend-docs.xml b/docs/reference/libebackend/libebackend-docs.xml +index fa9ab92..f54d3d6 100644 +--- a/docs/reference/libebackend/libebackend-docs.xml ++++ b/docs/reference/libebackend/libebackend-docs.xml +@@ -34,6 +34,7 @@ + <title>Miscellaneous Utilities</title> + <xi:include href="xml/e-file-cache.xml"/> + <xi:include href="xml/e-db3-utils.xml"/> ++ <xi:include href="xml/e-soup-auth-bearer.xml"/> + <xi:include href="xml/e-sqlite3-vfs.xml"/> + <xi:include href="xml/e-user-prompter.xml"/> + <xi:include href="xml/e-user-prompter-server.xml"/> +diff --git a/docs/reference/libebackend/libebackend-sections.txt b/docs/reference/libebackend/libebackend-sections.txt +index 6c604bf..189f002 100644 +--- a/docs/reference/libebackend/libebackend-sections.txt ++++ b/docs/reference/libebackend/libebackend-sections.txt +@@ -397,6 +397,24 @@ EServerSideSourcePrivate + </SECTION> + + <SECTION> ++<FILE>e-soup-auth-bearer</FILE> ++<TITLE>ESoupAuthBearer</TITLE> ++ESoupAuthBearer ++e_soup_auth_bearer_set_access_token ++<SUBSECTION Standard> ++E_SOUP_AUTH_BEARER ++E_IS_SOUP_AUTH_BEARER ++E_TYPE_SOUP_AUTH_BEARER ++E_SOUP_AUTH_BEARER_CLASS ++E_IS_SOUP_AUTH_BEARER_CLASS ++E_SOUP_AUTH_BEARER_GET_CLASS ++ESoupAuthBearerClass ++e_soup_auth_bearer_get_type ++<SUBSECTION Private> ++ESoupAuthBearerPrivate ++</SECTION> ++ ++<SECTION> + <FILE>e-source-registry-server</FILE> + <TITLE>ESourceRegistryServer</TITLE> + E_SOURCE_REGISTRY_SERVER_OBJECT_PATH +diff --git a/docs/reference/libebackend/libebackend.types b/docs/reference/libebackend/libebackend.types +index aeb38dc..1d7fe96 100644 +--- a/docs/reference/libebackend/libebackend.types ++++ b/docs/reference/libebackend/libebackend.types +@@ -15,6 +15,7 @@ e_module_get_type + e_oauth2_support_get_type + e_offline_listener_get_type + e_server_side_source_get_type ++e_soup_auth_bearer_get_type + e_source_registry_server_get_type + e_user_prompter_get_type + e_user_prompter_server_get_type +diff --git a/libebackend/Makefile.am b/libebackend/Makefile.am +index c77b470..783732e 100644 +--- a/libebackend/Makefile.am ++++ b/libebackend/Makefile.am +@@ -35,6 +35,7 @@ libebackend_1_2_la_CPPFLAGS = \ + $(E_BACKEND_CFLAGS) \ + $(GCR_BASE_CFLAGS) \ + $(GIO_UNIX_CFLAGS) \ ++ $(SOUP_CFLAGS) \ + $(CODE_COVERAGE_CFLAGS) \ + $(NULL) + +@@ -56,6 +57,7 @@ libebackend_1_2_la_SOURCES = \ + e-db3-utils.c \ + e-module.c \ + e-server-side-source.c \ ++ e-soup-auth-bearer.c \ + e-source-registry-server.c \ + e-sqlite3-vfs.c \ + e-user-prompter.c \ +@@ -71,6 +73,7 @@ libebackend_1_2_la_LIBADD = \ + $(SQLITE3_LIBS) \ + $(GCR_BASE_LIBS) \ + $(GIO_UNIX_LIBS) \ ++ $(SOUP_LIBS) \ + $(DB_LIBS) + + libebackend_1_2_la_LDFLAGS = \ +@@ -100,6 +103,7 @@ libebackendinclude_HEADERS = \ + e-dbhash.h \ + e-module.h \ + e-server-side-source.h \ ++ e-soup-auth-bearer.h \ + e-source-registry-server.h \ + e-sqlite3-vfs.h \ + e-user-prompter.h \ +diff --git a/libebackend/e-soup-auth-bearer.c b/libebackend/e-soup-auth-bearer.c +new file mode 100644 +index 0000000..1d5f804 +--- /dev/null ++++ b/libebackend/e-soup-auth-bearer.c +@@ -0,0 +1,196 @@ ++/* ++ * e-soup-auth-bearer.c ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) version 3. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with the program; if not, see <http://www.gnu.org/licenses/> ++ * ++ */ ++ ++/** ++ * SECTION: e-soup-auth-bearer ++ * @include: libebackend/libebackend.h ++ * @short_description: OAuth 2.0 support for libsoup ++ * ++ * #ESoupAuthBearer adds libsoup support for the use of bearer tokens in ++ * HTTP requests to access OAuth 2.0 protected resources, as defined in ++ * <ulink url="http://tools.ietf.org/html/rfc6750">RFC 6750</ulink>. ++ * ++ * An #EBackend should integrate #ESoupAuthBearer first by adding it as a ++ * feature to a #SoupSession's #SoupAuthManager, then from a #SoupSession ++ * #SoupSession::authenticate handler call e_source_get_oauth2_access_token() ++ * and pass the results to e_soup_auth_bearer_set_access_token(). ++ **/ ++ ++#include "e-soup-auth-bearer.h" ++ ++#include <time.h> ++ ++#define E_SOUP_AUTH_BEARER_GET_PRIVATE(obj) \ ++ (G_TYPE_INSTANCE_GET_PRIVATE \ ++ ((obj), E_TYPE_SOUP_AUTH_BEARER, ESoupAuthBearerPrivate)) ++ ++#define AUTH_STRENGTH 1 ++ ++#define EXPIRY_INVALID ((time_t) -1) ++ ++struct _ESoupAuthBearerPrivate { ++ gchar *access_token; ++ time_t expiry; ++}; ++ ++G_DEFINE_TYPE ( ++ ESoupAuthBearer, ++ e_soup_auth_bearer, ++ SOUP_TYPE_AUTH) ++ ++static gboolean ++e_soup_auth_bearer_is_expired (ESoupAuthBearer *bearer) ++{ ++ gboolean expired = FALSE; ++ ++ if (bearer->priv->expiry != EXPIRY_INVALID) ++ expired = (bearer->priv->expiry < time (NULL)); ++ ++ return expired; ++} ++ ++static void ++e_soup_auth_bearer_finalize (GObject *object) ++{ ++ ESoupAuthBearerPrivate *priv; ++ ++ priv = E_SOUP_AUTH_BEARER_GET_PRIVATE (object); ++ ++ g_free (priv->access_token); ++ ++ /* Chain up to parent's finalize() method. */ ++ G_OBJECT_CLASS (e_soup_auth_bearer_parent_class)->finalize (object); ++} ++ ++static gboolean ++e_soup_auth_bearer_update (SoupAuth *auth, ++ SoupMessage *message, ++ GHashTable *auth_header) ++{ ++ /* XXX Not sure what to do here. Discard the access token? */ ++ ++ return TRUE; ++} ++ ++static GSList * ++e_soup_auth_bearer_get_protection_space (SoupAuth *auth, ++ SoupURI *source_uri) ++{ ++ /* XXX Not sure what to do here. Need to return something. */ ++ ++ return g_slist_prepend (NULL, g_strdup ("")); ++} ++ ++static gboolean ++e_soup_auth_bearer_is_authenticated (SoupAuth *auth) ++{ ++ ESoupAuthBearer *bearer; ++ gboolean authenticated = FALSE; ++ ++ bearer = E_SOUP_AUTH_BEARER (auth); ++ ++ if (!e_soup_auth_bearer_is_expired (bearer)) ++ authenticated = (bearer->priv->access_token != NULL); ++ ++ return authenticated; ++} ++ ++static gchar * ++e_soup_auth_bearer_get_authorization (SoupAuth *auth, ++ SoupMessage *message) ++{ ++ ESoupAuthBearer *bearer; ++ ++ bearer = E_SOUP_AUTH_BEARER (auth); ++ ++ return g_strdup_printf ("Bearer %s", bearer->priv->access_token); ++} ++ ++static void ++e_soup_auth_bearer_class_init (ESoupAuthBearerClass *class) ++{ ++ GObjectClass *object_class; ++ SoupAuthClass *auth_class; ++ ++ g_type_class_add_private (class, sizeof (ESoupAuthBearerPrivate)); ++ ++ /* Keep the "e" prefix on private methods ++ * so we don't step on libsoup's namespace. */ ++ ++ object_class = G_OBJECT_CLASS (class); ++ object_class->finalize = e_soup_auth_bearer_finalize; ++ ++ auth_class = SOUP_AUTH_CLASS (class); ++ auth_class->scheme_name = "Bearer"; ++ auth_class->strength = AUTH_STRENGTH; ++ auth_class->update = e_soup_auth_bearer_update; ++ auth_class->get_protection_space = e_soup_auth_bearer_get_protection_space; ++ auth_class->is_authenticated = e_soup_auth_bearer_is_authenticated; ++ auth_class->get_authorization = e_soup_auth_bearer_get_authorization; ++} ++ ++static void ++e_soup_auth_bearer_init (ESoupAuthBearer *bearer) ++{ ++ bearer->priv = E_SOUP_AUTH_BEARER_GET_PRIVATE (bearer); ++ bearer->priv->expiry = EXPIRY_INVALID; ++} ++ ++/** ++ * e_soup_auth_bearer_set_access_token: ++ * @bearer: an #ESoupAuthBearer ++ * @access_token: an OAuth 2.0 access token ++ * @expires_in_seconds: expiry for @access_token, or 0 if unknown ++ * ++ * This function is analogous to soup_auth_authenticate() for "Basic" HTTP ++ * authentication, except it takes an OAuth 2.0 access token instead of a ++ * username and password. ++ * ++ * If @expires_in_seconds is greater than zero, soup_auth_is_authenticated() ++ * will return %FALSE after the given number of seconds have elapsed. ++ * ++ * Since: 3.10 ++ **/ ++void ++e_soup_auth_bearer_set_access_token (ESoupAuthBearer *bearer, ++ const gchar *access_token, ++ gint expires_in_seconds) ++{ ++ gboolean was_authenticated; ++ gboolean now_authenticated; ++ ++ g_return_if_fail (E_IS_SOUP_AUTH_BEARER (bearer)); ++ ++ was_authenticated = soup_auth_is_authenticated (SOUP_AUTH (bearer)); ++ ++ g_free (bearer->priv->access_token); ++ bearer->priv->access_token = g_strdup (access_token); ++ ++ if (expires_in_seconds > 0) ++ bearer->priv->expiry = time (NULL) + expires_in_seconds; ++ else ++ bearer->priv->expiry = EXPIRY_INVALID; ++ ++ now_authenticated = soup_auth_is_authenticated (SOUP_AUTH (bearer)); ++ ++ if (was_authenticated != now_authenticated) ++ g_object_notify ( ++ G_OBJECT (bearer), ++ SOUP_AUTH_IS_AUTHENTICATED); ++} ++ +diff --git a/libebackend/e-soup-auth-bearer.h b/libebackend/e-soup-auth-bearer.h +new file mode 100644 +index 0000000..83746a4 +--- /dev/null ++++ b/libebackend/e-soup-auth-bearer.h +@@ -0,0 +1,79 @@ ++/* ++ * e-soup-auth-bearer.h ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) version 3. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with the program; if not, see <http://www.gnu.org/licenses/> ++ * ++ */ ++ ++#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION) ++#error "Only <libebackend/libebackend.h> should be included directly." ++#endif ++ ++#ifndef E_SOUP_AUTH_BEARER_H ++#define E_SOUP_AUTH_BEARER_H ++ ++#include <libsoup/soup.h> ++ ++/* Standard GObject macros */ ++#define E_TYPE_SOUP_AUTH_BEARER \ ++ (e_soup_auth_bearer_get_type ()) ++#define E_SOUP_AUTH_BEARER(obj) \ ++ (G_TYPE_CHECK_INSTANCE_CAST \ ++ ((obj), E_TYPE_SOUP_AUTH_BEARER, ESoupAuthBearer)) ++#define E_SOUP_AUTH_BEARER_CLASS(cls) \ ++ (G_TYPE_CHECK_CLASS_CAST \ ++ ((cls), E_TYPE_SOUP_AUTH_BEARER, ESoupAuthBearerClass)) ++#define E_IS_SOUP_AUTH_BEARER(obj) \ ++ (G_TYPE_CHECK_INSTANCE_TYPE \ ++ ((obj), E_TYPE_SOUP_AUTH_BEARER)) ++#define E_IS_SOUP_AUTH_BEARER_CLASS(cls) \ ++ (G_TYPE_CHECK_CLASS_TYPE \ ++ ((cls), E_TYPE_SOUP_AUTH_BEARER)) ++#define E_SOUP_AUTH_BEARER_GET_CLASS(obj) \ ++ (G_TYPE_INSTANCE_GET_CLASS \ ++ ((obj), E_TYPE_SOUP_AUTH_BEARER, ESoupAuthBearerClass)) ++ ++G_BEGIN_DECLS ++ ++typedef struct _ESoupAuthBearer ESoupAuthBearer; ++typedef struct _ESoupAuthBearerClass ESoupAuthBearerClass; ++typedef struct _ESoupAuthBearerPrivate ESoupAuthBearerPrivate; ++ ++/** ++ * ESoupAuthBearer: ++ * ++ * Contains only private data that should be read and manipulated using the ++ * functions below. ++ * ++ * Since: 3.10 ++ **/ ++struct _ESoupAuthBearer { ++ SoupAuth parent; ++ ESoupAuthBearerPrivate *priv; ++}; ++ ++struct _ESoupAuthBearerClass { ++ SoupAuthClass parent_class; ++}; ++ ++GType e_soup_auth_bearer_get_type (void) G_GNUC_CONST; ++void e_soup_auth_bearer_set_access_token ++ (ESoupAuthBearer *bearer, ++ const gchar *access_token, ++ gint expires_in_seconds); ++ ++G_END_DECLS ++ ++#endif /* E_SOUP_AUTH_BEARER_H */ ++ +diff --git a/libebackend/libebackend.h b/libebackend/libebackend.h +index f7f0157..0aac5d4 100644 +--- a/libebackend/libebackend.h ++++ b/libebackend/libebackend.h +@@ -42,6 +42,7 @@ + #include <libebackend/e-oauth2-support.h> + #include <libebackend/e-offline-listener.h> + #include <libebackend/e-server-side-source.h> ++#include <libebackend/e-soup-auth-bearer.h> + #include <libebackend/e-source-registry-server.h> + #include <libebackend/e-sqlite3-vfs.h> + #include <libebackend/e-user-prompter.h> + diff --git a/extra/evolution-data-server/fix-google-2fa-2.patch b/extra/evolution-data-server/fix-google-2fa-2.patch new file mode 100644 index 000000000..d178cd0af --- /dev/null +++ b/extra/evolution-data-server/fix-google-2fa-2.patch @@ -0,0 +1,86 @@ +From 54e876d3fc25ec59c58beda915a8c9d1f8d5f101 Mon Sep 17 00:00:00 2001 +From: Matthew Barnes <mbarnes@redhat.com> +Date: Tue, 09 Jul 2013 21:06:16 +0000 +Subject: CalDAV: Add support for OAuth 2.0 authentication. + +--- +diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c +index 58c70b6..58f0654 100644 +--- a/calendar/backends/caldav/e-cal-backend-caldav.c ++++ b/calendar/backends/caldav/e-cal-backend-caldav.c +@@ -968,6 +968,32 @@ parse_propfind_response (SoupMessage *message, + /* Authentication helpers for libsoup */ + + static void ++soup_authenticate_bearer (SoupSession *session, ++ SoupMessage *message, ++ SoupAuth *auth, ++ ESource *source) ++{ ++ gchar *access_token = NULL; ++ gint expires_in_seconds = -1; ++ GError *local_error = NULL; ++ ++ e_source_get_oauth2_access_token_sync ( ++ source, NULL, &access_token, ++ &expires_in_seconds, &local_error); ++ ++ e_soup_auth_bearer_set_access_token ( ++ E_SOUP_AUTH_BEARER (auth), ++ access_token, expires_in_seconds); ++ ++ if (local_error != NULL) { ++ g_warning ("%s: %s", G_STRFUNC, local_error->message); ++ g_error_free (local_error); ++ } ++ ++ g_free (access_token); ++} ++ ++static void + soup_authenticate (SoupSession *session, + SoupMessage *msg, + SoupAuth *auth, +@@ -985,8 +1011,14 @@ soup_authenticate (SoupSession *session, + extension_name = E_SOURCE_EXTENSION_AUTHENTICATION; + auth_extension = e_source_get_extension (source, extension_name); + ++ if (retrying) ++ return; ++ ++ if (E_IS_SOUP_AUTH_BEARER (auth)) { ++ soup_authenticate_bearer (session, msg, auth, source); ++ + /* do not send same password twice, but keep it for later use */ +- if (!retrying && cbdav->priv->password != NULL) { ++ } else if (cbdav->priv->password != NULL) { + gchar *user; + + user = e_source_authentication_dup_user (auth_extension); +@@ -5194,6 +5226,8 @@ cal_backend_caldav_constructed (GObject *object) + static void + e_cal_backend_caldav_init (ECalBackendCalDAV *cbdav) + { ++ SoupSessionFeature *feature; ++ + cbdav->priv = E_CAL_BACKEND_CALDAV_GET_PRIVATE (cbdav); + cbdav->priv->session = soup_session_sync_new (); + g_object_set ( +@@ -5203,6 +5237,16 @@ e_cal_backend_caldav_init (ECalBackendCalDAV *cbdav) + SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, + NULL); + ++ /* XXX SoupAuthManager is public API as of libsoup 2.42, but ++ * this isn't worth bumping our libsoup requirement over. ++ * So get the SoupAuthManager GType by its type name. */ ++ feature = soup_session_get_feature ( ++ cbdav->priv->session, ++ g_type_from_name ("SoupAuthManager")); ++ ++ /* Add the "Bearer" auth type to support OAuth 2.0. */ ++ soup_session_feature_add_feature (feature, E_TYPE_SOUP_AUTH_BEARER); ++ + cbdav->priv->proxy = e_proxy_new (); + e_proxy_setup_proxy (cbdav->priv->proxy); + g_signal_connect (cbdav->priv->proxy, "changed", G_CALLBACK (proxy_settings_changed), cbdav->priv); + diff --git a/extra/evolution-data-server/fix-google-2fa-3.patch b/extra/evolution-data-server/fix-google-2fa-3.patch new file mode 100644 index 000000000..a5c6ca324 --- /dev/null +++ b/extra/evolution-data-server/fix-google-2fa-3.patch @@ -0,0 +1,48 @@ +From cc9fb7d15ce3983fc36487d2856e5fd14b341725 Mon Sep 17 00:00:00 2001 +From: Matthew Barnes <mbarnes@redhat.com> +Date: Tue, 09 Jul 2013 15:49:09 +0000 +Subject: google: Minor module cleanups. + +--- +diff --git a/modules/google-backend/module-google-backend.c b/modules/google-backend/module-google-backend.c +index d5684bb..cbd7bd2 100644 +--- a/modules/google-backend/module-google-backend.c ++++ b/modules/google-backend/module-google-backend.c +@@ -100,19 +100,17 @@ google_backend_contacts_update_auth_method (ESource *source) + EOAuth2Support *oauth2_support; + ESourceAuthentication *extension; + const gchar *extension_name; +- +- extension_name = E_SOURCE_EXTENSION_AUTHENTICATION; +- extension = e_source_get_extension (source, extension_name); ++ const gchar *method; + + oauth2_support = e_server_side_source_ref_oauth2_support ( + E_SERVER_SIDE_SOURCE (source)); +- if (oauth2_support != NULL) { +- e_source_authentication_set_method (extension, "OAuth2"); +- g_object_unref (oauth2_support); +- return; +- } + +- e_source_authentication_set_method (extension, "ClientLogin"); ++ extension_name = E_SOURCE_EXTENSION_AUTHENTICATION; ++ extension = e_source_get_extension (source, extension_name); ++ method = (oauth2_support != NULL) ? "OAuth2" : "ClientLogin"; ++ e_source_authentication_set_method (extension, method); ++ ++ g_clear_object (&oauth2_support); + } + + static void +@@ -178,7 +176,8 @@ google_backend_add_calendar (ECollectionBackend *backend) + + g_get_current_time (&today_tv); + today = g_time_val_to_iso8601 (&today_tv); +- e_source_alarms_set_last_notified (E_SOURCE_ALARMS (extension), today); ++ e_source_alarms_set_last_notified ( ++ E_SOURCE_ALARMS (extension), today); + g_free (today); + } + + diff --git a/extra/evolution-data-server/fix-google-2fa-4.patch b/extra/evolution-data-server/fix-google-2fa-4.patch new file mode 100644 index 000000000..26b64763e --- /dev/null +++ b/extra/evolution-data-server/fix-google-2fa-4.patch @@ -0,0 +1,159 @@ +From 13afda757c4ba8d558eaa64853849f2ad00a9806 Mon Sep 17 00:00:00 2001 +From: Matthew Barnes <mbarnes@redhat.com> +Date: Tue, 09 Jul 2013 15:42:17 +0000 +Subject: google: Use CalDAV v2 if OAuth 2.0 support is available. + +--- +diff --git a/modules/google-backend/module-google-backend.c b/modules/google-backend/module-google-backend.c +index cbd7bd2..4ded74d 100644 +--- a/modules/google-backend/module-google-backend.c ++++ b/modules/google-backend/module-google-backend.c +@@ -45,10 +45,16 @@ + + /* Calendar Configuration Details */ + #define GOOGLE_CALENDAR_BACKEND_NAME "caldav" +-#define GOOGLE_CALENDAR_HOST "www.google.com" +-#define GOOGLE_CALENDAR_CALDAV_PATH "/calendar/dav/%s/events" + #define GOOGLE_CALENDAR_RESOURCE_ID "Calendar" + ++/* CalDAV v1 Configuration Details */ ++#define GOOGLE_CALDAV_V1_HOST "www.google.com" ++#define GOOGLE_CALDAV_V1_PATH "/calendar/dav/%s/events" ++ ++/* CalDAV v2 Configuration Details */ ++#define GOOGLE_CALDAV_V2_HOST "apidata.googleusercontent.com" ++#define GOOGLE_CALDAV_V2_PATH "/caldav/v2/%s/events" ++ + /* Contacts Configuration Details */ + #define GOOGLE_CONTACTS_BACKEND_NAME "google" + #define GOOGLE_CONTACTS_HOST "www.google.com" +@@ -95,6 +101,52 @@ G_DEFINE_DYNAMIC_TYPE ( + E_TYPE_COLLECTION_BACKEND_FACTORY) + + static void ++google_backend_calendar_update_auth_method (ESource *source) ++{ ++ EOAuth2Support *oauth2_support; ++ ESourceAuthentication *auth_extension; ++ ESourceWebdav *webdav_extension; ++ const gchar *extension_name; ++ const gchar *host; ++ const gchar *method; ++ const gchar *path_format; ++ gchar *path; ++ gchar *user; ++ ++ oauth2_support = e_server_side_source_ref_oauth2_support ( ++ E_SERVER_SIDE_SOURCE (source)); ++ ++ /* The host name and WebDAV resource path depend on the ++ * authentication method used, so update those here too. */ ++ ++ if (oauth2_support != NULL) { ++ method = "OAuth2"; ++ host = GOOGLE_CALDAV_V2_HOST; ++ path_format = GOOGLE_CALDAV_V2_PATH; ++ } else { ++ method = "plain/password"; ++ host = GOOGLE_CALDAV_V1_HOST; ++ path_format = GOOGLE_CALDAV_V1_PATH; ++ } ++ ++ extension_name = E_SOURCE_EXTENSION_AUTHENTICATION; ++ auth_extension = e_source_get_extension (source, extension_name); ++ e_source_authentication_set_host (auth_extension, host); ++ e_source_authentication_set_method (auth_extension, method); ++ ++ extension_name = E_SOURCE_EXTENSION_WEBDAV_BACKEND; ++ webdav_extension = e_source_get_extension (source, extension_name); ++ ++ user = e_source_authentication_dup_user (auth_extension); ++ path = g_strdup_printf (path_format, (user != NULL) ? user : ""); ++ e_source_webdav_set_resource_path (webdav_extension, path); ++ g_free (path); ++ g_free (user); ++ ++ g_clear_object (&oauth2_support); ++} ++ ++static void + google_backend_contacts_update_auth_method (ESource *source) + { + EOAuth2Support *oauth2_support; +@@ -123,14 +175,16 @@ google_backend_add_calendar (ECollectionBackend *backend) + ESourceCollection *collection_extension; + const gchar *backend_name; + const gchar *extension_name; +- const gchar *identity; + const gchar *resource_id; +- gchar *path; + + /* FIXME As a future enhancement, we should query Google + * for a list of user calendars and add them to the + * collection with matching display names and colors. */ + ++ /* NOTE: Host name and WebDAV resource path are set in ++ * google_backend_calendar_update_auth_method(), ++ * since they depend on the auth method used. */ ++ + collection_source = e_backend_get_source (E_BACKEND (backend)); + + resource_id = GOOGLE_CALENDAR_RESOURCE_ID; +@@ -153,15 +207,15 @@ google_backend_add_calendar (ECollectionBackend *backend) + extension_name = E_SOURCE_EXTENSION_AUTHENTICATION; + extension = e_source_get_extension (source, extension_name); + +- e_source_authentication_set_host ( +- E_SOURCE_AUTHENTICATION (extension), +- GOOGLE_CALENDAR_HOST); +- + g_object_bind_property ( + collection_extension, "identity", + extension, "user", + G_BINDING_SYNC_CREATE); + ++ /* Make sure the WebDAV resource path is up-to-date, since ++ * it's built from the "user" property that we just set. */ ++ google_backend_calendar_update_auth_method (source); ++ + extension_name = E_SOURCE_EXTENSION_SECURITY; + extension = e_source_get_extension (source, extension_name); + +@@ -181,15 +235,6 @@ google_backend_add_calendar (ECollectionBackend *backend) + g_free (today); + } + +- extension_name = E_SOURCE_EXTENSION_WEBDAV_BACKEND; +- extension = e_source_get_extension (source, extension_name); +- +- identity = e_source_collection_get_identity (collection_extension); +- path = g_strdup_printf (GOOGLE_CALENDAR_CALDAV_PATH, identity); +- e_source_webdav_set_resource_path ( +- E_SOURCE_WEBDAV (extension), path); +- g_free (path); +- + server = e_collection_backend_ref_server (backend); + e_source_registry_server_add_source (server, source); + g_object_unref (server); +@@ -336,6 +381,20 @@ google_backend_child_added (ECollectionBackend *backend, + collection_identity); + } + ++ /* Keep the calendar authentication method up-to-date. ++ * ++ * XXX Not using a property binding here in case I end up adding ++ * other "support" interfaces which influence authentication. ++ * Many-to-one property bindinds tend not to work so well. */ ++ extension_name = E_SOURCE_EXTENSION_CALENDAR; ++ if (e_source_has_extension (child_source, extension_name)) { ++ google_backend_calendar_update_auth_method (child_source); ++ g_signal_connect ( ++ child_source, "notify::oauth2-support", ++ G_CALLBACK (google_backend_calendar_update_auth_method), ++ NULL); ++ } ++ + /* Keep the contacts authentication method up-to-date. + * + * XXX Not using a property binding here in case I end up adding + diff --git a/extra/gnome-online-accounts/PKGBUILD b/extra/gnome-online-accounts/PKGBUILD index de0c9fc8b..881b9f3b6 100644 --- a/extra/gnome-online-accounts/PKGBUILD +++ b/extra/gnome-online-accounts/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 185462 2013-05-14 10:31:45Z heftig $ +# $Id: PKGBUILD 192045 2013-08-05 10:07:57Z jgc $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gnome-online-accounts pkgver=3.8.2 -pkgrel=1 +pkgrel=2 pkgdesc="GNOME service to access online accounts" arch=(i686 x86_64) url="http://www.gnome.org" @@ -12,9 +12,31 @@ depends=('webkitgtk3' 'json-glib' 'libnotify' 'rest' 'hicolor-icon-theme' 'libse makedepends=('intltool' 'libxslt' 'gobject-introspection' 'docbook-xsl') options=(!libtool) install=$pkgname.install -source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) -sha256sums=('12611a002043c8acc29e9800ec009e3e19736bdb6237d246e848d7c7909fe826') +source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz + imap-smtp.patch + smtp-auth-plain.patch + drop-google-password-interface-1.patch + drop-google-password-interface-2.patch + drop-google-password-interface-3.patch) +sha256sums=('12611a002043c8acc29e9800ec009e3e19736bdb6237d246e848d7c7909fe826' + '2b413d1f401647bd143b7dc6dd4b6d6660ff47ef9a11ccbc691b7c13de5cba69' + 'e7250be7c078053345699250433b7164751d3e457155bd35508c7d1660f459be' + '33435c10aa1ba3fbb6fd633dc098cd1da50629f1d602521ca83be5379f2ebe48' + 'c837f9be4e5e072a06ea44076e6b9a1519c66c95b16d7a55b1dba105fded317f' + '18dfad8ed978af1068fd057bbe323006c349ac4ea77c742aa06f1011dc92326e') +prepare() { + cd $pkgname-$pkgver + # Upstream 3.8 branch + patch -Np1 -i ../imap-smtp.patch + patch -Np1 -i ../smtp-auth-plain.patch + + # Backport from Ubuntu + patch -Np1 -i ../drop-google-password-interface-1.patch + patch -Np1 -i ../drop-google-password-interface-2.patch + patch -Np1 -i ../drop-google-password-interface-3.patch +} + build() { cd $pkgname-$pkgver ./configure --prefix=/usr --libexec=/usr/lib/gnome-online-accounts diff --git a/extra/gnome-online-accounts/drop-google-password-interface-1.patch b/extra/gnome-online-accounts/drop-google-password-interface-1.patch new file mode 100644 index 000000000..1bd5c8c0f --- /dev/null +++ b/extra/gnome-online-accounts/drop-google-password-interface-1.patch @@ -0,0 +1,39 @@ +From 9182fb378614abb2ff0245fe71a753f22eaaa906 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@gnome.org> +Date: Tue, 11 Jun 2013 14:58:21 +0000 +Subject: google: Bump credentials generation + +Access to the following were turned on in the Google APIs Console: + - Calendar API + - Google Calendar CalDAV API + - Google Contacts CardDAV API + +Of these, only the last two are new. We were already requesting the +scope for Calendar API, but looks like the APIs Console is the way +to go now. Interestingly the APIs Console does not list all the other +services that we are interested in, or it is does but is not obvious +to me. + +In any case we need access to their new CalDAV API which works with +OAuth2 because that would let us work with 2-factor authenticated +accounts again. + +See: https://bugzilla.gnome.org/show_bug.cgi?id=686804 + https://bugzilla.gnome.org/show_bug.cgi?id=688364 +--- +(limited to 'src/goabackend/goagoogleprovider.c') + +diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c +index 8271711..79f5f73 100644 +--- a/src/goabackend/goagoogleprovider.c ++++ b/src/goabackend/goagoogleprovider.c +@@ -148,7 +148,7 @@ get_scope (GoaOAuth2Provider *provider) + static guint + get_credentials_generation (GoaProvider *provider) + { +- return 3; ++ return 4; + } + + static const gchar * + diff --git a/extra/gnome-online-accounts/drop-google-password-interface-2.patch b/extra/gnome-online-accounts/drop-google-password-interface-2.patch new file mode 100644 index 000000000..9aa1ce28e --- /dev/null +++ b/extra/gnome-online-accounts/drop-google-password-interface-2.patch @@ -0,0 +1,74 @@ +From a0fd4cd595bd0fe6eb4015ea9050170319b16546 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@gnome.org> +Date: Wed, 19 Jun 2013 15:04:38 +0000 +Subject: google: Export CalDAV and CardDAV endpoints + +According to: +https://developers.google.com/google-apps/calendar/caldav/v2/guide/ +https://developers.google.com/google-apps/carddav/ + +See: https://bugzilla.gnome.org/show_bug.cgi?id=686804 + https://bugzilla.gnome.org/show_bug.cgi?id=688364 +--- +(limited to 'src/goabackend/goagoogleprovider.c') + +diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c +index 79f5f73..740c08e 100644 +--- a/src/goabackend/goagoogleprovider.c ++++ b/src/goabackend/goagoogleprovider.c +@@ -385,6 +385,7 @@ build_object (GoaProvider *provider, + gboolean contacts_enabled; + gboolean chat_enabled; + gboolean documents_enabled; ++ const gchar *email_address; + + account = NULL; + mail = NULL; +@@ -419,6 +420,7 @@ build_object (GoaProvider *provider, + } + + account = goa_object_get_account (GOA_OBJECT (object)); ++ email_address = goa_account_get_identity (account); + + /* Email */ + mail = goa_object_get_mail (GOA_OBJECT (object)); +@@ -427,8 +429,6 @@ build_object (GoaProvider *provider, + { + if (mail == NULL) + { +- const gchar *email_address; +- email_address = goa_account_get_identity (account); + mail = goa_mail_skeleton_new (); + g_object_set (G_OBJECT (mail), + "email-address", email_address, +@@ -457,8 +457,19 @@ build_object (GoaProvider *provider, + { + if (calendar == NULL) + { ++ gchar *uri_caldav; ++ ++ uri_caldav = g_strconcat ("https://apidata.googleusercontent.com/caldav/v2/", ++ email_address, ++ "/user", ++ NULL); ++ + calendar = goa_calendar_skeleton_new (); ++ g_object_set (G_OBJECT (calendar), ++ "uri", uri_caldav, ++ NULL); + goa_object_skeleton_set_calendar (object, calendar); ++ g_free (uri_caldav); + } + } + else +@@ -475,6 +486,9 @@ build_object (GoaProvider *provider, + if (contacts == NULL) + { + contacts = goa_contacts_skeleton_new (); ++ g_object_set (G_OBJECT (contacts), ++ "uri", "https://www.googleapis.com/.well-known/carddav", ++ NULL); + goa_object_skeleton_set_contacts (object, contacts); + } + } + diff --git a/extra/gnome-online-accounts/drop-google-password-interface-3.patch b/extra/gnome-online-accounts/drop-google-password-interface-3.patch new file mode 100644 index 000000000..487132b32 --- /dev/null +++ b/extra/gnome-online-accounts/drop-google-password-interface-3.patch @@ -0,0 +1,296 @@ +From 365a5a92909fce8dcdd851b5a2b9caf34e0da926 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@gnome.org> +Date: Fri, 28 Jun 2013 12:22:07 +0000 +Subject: google: Don't offer a PasswordBased interface + +This was a temporary measure back when Google did not support OAuth2 +for CalDAV. Now that they do, we can drop this. + +In any case, the workaround didn't work with accounts using 2-factor +authentication. This will make those people happy. + +This reverts 89c335479c1bb8409af8296c99ffea602a28b71f + +See: https://bugzilla.gnome.org/show_bug.cgi?id=686804 + https://bugzilla.gnome.org/show_bug.cgi?id=688364 +--- +(limited to 'src/goabackend/goagoogleprovider.c') + +Index: gnome-online-accounts-3.8.2/src/goabackend/goagoogleprovider.c +=================================================================== +--- gnome-online-accounts-3.8.2.orig/src/goabackend/goagoogleprovider.c 2013-07-10 13:29:35.381448621 -0400 ++++ gnome-online-accounts-3.8.2/src/goabackend/goagoogleprovider.c 2013-07-10 13:29:35.377448621 -0400 +@@ -32,8 +32,6 @@ + #include "goaprovider-priv.h" + #include "goaoauth2provider.h" + #include "goagoogleprovider.h" +-#include "goahttpclient.h" +-#include "goautils.h" + + /** + * GoaGoogleProvider: +@@ -71,8 +69,6 @@ + + /* ---------------------------------------------------------------------------------------------------- */ + +-static const gchar *CALDAV_ENDPOINT = "https://www.google.com/calendar/dav/%s/events/"; +- + static const gchar * + get_provider_type (GoaProvider *_provider) + { +@@ -310,48 +306,8 @@ + return ret; + } + +-static gboolean +-is_password_node (GoaOAuth2Provider *provider, WebKitDOMHTMLInputElement *element) +-{ +- gboolean ret; +- gchar *element_type; +- gchar *id; +- gchar *name; +- +- element_type = NULL; +- id = NULL; +- name = NULL; +- +- ret = FALSE; +- +- g_object_get (element, "type", &element_type, NULL); +- if (g_strcmp0 (element_type, "password") != 0) +- goto out; +- +- id = webkit_dom_html_element_get_id (WEBKIT_DOM_HTML_ELEMENT (element)); +- if (g_strcmp0 (id, "Passwd") != 0) +- goto out; +- +- name = webkit_dom_html_input_element_get_name (element); +- if (g_strcmp0 (name, "Passwd") != 0) +- goto out; +- +- ret = TRUE; +- +- out: +- g_free (element_type); +- g_free (id); +- g_free (name); +- return ret; +-} +- + /* ---------------------------------------------------------------------------------------------------- */ + +-static gboolean on_handle_get_password (GoaPasswordBased *interface, +- GDBusMethodInvocation *invocation, +- const gchar *id, +- gpointer user_data); +- + static gboolean + build_object (GoaProvider *provider, + GoaObjectSkeleton *object, +@@ -367,7 +323,6 @@ + GoaContacts *contacts; + GoaChat *chat; + GoaDocuments *documents; +- GoaPasswordBased *password_based; + gboolean ret; + gboolean mail_enabled; + gboolean calendar_enabled; +@@ -394,20 +349,6 @@ + error)) + goto out; + +- password_based = goa_object_get_password_based (GOA_OBJECT (object)); +- if (password_based == NULL) +- { +- password_based = goa_password_based_skeleton_new (); +- /* Ensure D-Bus method invocations run in their own thread */ +- g_dbus_interface_skeleton_set_flags (G_DBUS_INTERFACE_SKELETON (password_based), +- G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD); +- goa_object_skeleton_set_password_based (object, password_based); +- g_signal_connect (password_based, +- "handle-get-password", +- G_CALLBACK (on_handle_get_password), +- NULL); +- } +- + account = goa_object_get_account (GOA_OBJECT (object)); + email_address = goa_account_get_identity (account); + +@@ -567,103 +508,6 @@ + /* ---------------------------------------------------------------------------------------------------- */ + + static gboolean +-ensure_credentials_sync (GoaProvider *provider, +- GoaObject *object, +- gint *out_expires_in, +- GCancellable *cancellable, +- GError **error) +-{ +- GVariant *credentials; +- GoaAccount *account; +- GoaHttpClient *http_client; +- gboolean ret; +- const gchar *username; +- gchar *password; +- gchar *uri_caldav; +- +- credentials = NULL; +- http_client = NULL; +- password = NULL; +- uri_caldav = NULL; +- +- ret = FALSE; +- +- /* Chain up */ +- if (!GOA_PROVIDER_CLASS (goa_google_provider_parent_class)->ensure_credentials_sync (provider, +- object, +- out_expires_in, +- cancellable, +- error)) +- goto out; +- +- credentials = goa_utils_lookup_credentials_sync (provider, +- object, +- cancellable, +- error); +- if (credentials == NULL) +- { +- if (error != NULL) +- { +- (*error)->domain = GOA_ERROR; +- (*error)->code = GOA_ERROR_NOT_AUTHORIZED; +- } +- goto out; +- } +- +- account = goa_object_peek_account (object); +- username = goa_account_get_presentation_identity (account); +- uri_caldav = g_strdup_printf (CALDAV_ENDPOINT, username); +- +- if (!g_variant_lookup (credentials, "password", "s", &password)) +- { +- if (error != NULL) +- { +- *error = g_error_new (GOA_ERROR, +- GOA_ERROR_NOT_AUTHORIZED, +- _("Did not find password with identity `%s' in credentials"), +- username); +- } +- goto out; +- } +- +- http_client = goa_http_client_new (); +- ret = goa_http_client_check_sync (http_client, +- uri_caldav, +- username, +- password, +- FALSE, +- cancellable, +- error); +- if (!ret) +- { +- if (error != NULL) +- { +- g_prefix_error (error, +- /* Translators: the first %s is the username +- * (eg., debarshi.ray@gmail.com or rishi), and the +- * (%s, %d) is the error domain and code. +- */ +- _("Invalid password with username `%s' (%s, %d): "), +- username, +- g_quark_to_string ((*error)->domain), +- (*error)->code); +- (*error)->domain = GOA_ERROR; +- (*error)->code = GOA_ERROR_NOT_AUTHORIZED; +- } +- goto out; +- } +- +- out: +- g_clear_object (&http_client); +- g_free (password); +- g_free (uri_caldav); +- g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref); +- return ret; +-} +- +-/* ---------------------------------------------------------------------------------------------------- */ +- +-static gboolean + get_use_mobile_browser (GoaOAuth2Provider *provider) + { + return TRUE; +@@ -744,7 +588,6 @@ + provider_class->get_provider_name = get_provider_name; + provider_class->get_provider_group = get_provider_group; + provider_class->build_object = build_object; +- provider_class->ensure_credentials_sync = ensure_credentials_sync; + provider_class->show_account = show_account; + provider_class->get_credentials_generation = get_credentials_generation; + +@@ -758,65 +601,7 @@ + oauth2_class->get_scope = get_scope; + oauth2_class->is_deny_node = is_deny_node; + oauth2_class->is_identity_node = is_identity_node; +- oauth2_class->is_password_node = is_password_node; + oauth2_class->get_token_uri = get_token_uri; + oauth2_class->get_use_mobile_browser = get_use_mobile_browser; + oauth2_class->add_account_key_values = add_account_key_values; + } +- +-/* ---------------------------------------------------------------------------------------------------- */ +- +-/* runs in a thread dedicated to handling @invocation */ +-static gboolean +-on_handle_get_password (GoaPasswordBased *interface, +- GDBusMethodInvocation *invocation, +- const gchar *id, /* unused */ +- gpointer user_data) +-{ +- GoaObject *object; +- GoaAccount *account; +- GoaProvider *provider; +- GError *error; +- GVariant *credentials; +- const gchar *identity; +- gchar *password; +- +- /* TODO: maybe log what app is requesting access */ +- +- password = NULL; +- credentials = NULL; +- +- object = GOA_OBJECT (g_dbus_interface_get_object (G_DBUS_INTERFACE (interface))); +- account = goa_object_peek_account (object); +- identity = goa_account_get_identity (account); +- provider = goa_provider_get_for_provider_type (goa_account_get_provider_type (account)); +- +- error = NULL; +- credentials = goa_utils_lookup_credentials_sync (provider, +- object, +- NULL, /* GCancellable* */ +- &error); +- if (credentials == NULL) +- { +- g_dbus_method_invocation_take_error (invocation, error); +- goto out; +- } +- +- if (!g_variant_lookup (credentials, "password", "s", &password)) +- { +- g_dbus_method_invocation_return_error (invocation, +- GOA_ERROR, +- GOA_ERROR_FAILED, /* TODO: more specific */ +- _("Did not find password with identity `%s' in credentials"), +- identity); +- goto out; +- } +- +- goa_password_based_complete_get_password (interface, invocation, password); +- +- out: +- g_free (password); +- g_clear_pointer (&credentials, (GDestroyNotify) g_variant_unref); +- g_object_unref (provider); +- return TRUE; /* invocation was handled */ +-} diff --git a/extra/gnome-online-accounts/imap-smtp.patch b/extra/gnome-online-accounts/imap-smtp.patch new file mode 100644 index 000000000..7213c8d1e --- /dev/null +++ b/extra/gnome-online-accounts/imap-smtp.patch @@ -0,0 +1,20 @@ +From 034da0871ad78629f9d0df618be494dbb19157e4 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@gnome.org> +Date: Tue, 18 Jun 2013 10:35:42 +0000 +Subject: imap-smtp: Prevent error messages from expanding the dialog + +--- +diff --git a/src/goabackend/goaimapsmtpprovider.c b/src/goabackend/goaimapsmtpprovider.c +index d10a9d8..841327d 100644 +--- a/src/goabackend/goaimapsmtpprovider.c ++++ b/src/goabackend/goaimapsmtpprovider.c +@@ -669,6 +669,7 @@ create_account_details_ui (GoaProvider *provider, + + data->cluebar_label = gtk_label_new (""); + gtk_label_set_line_wrap (GTK_LABEL (data->cluebar_label), TRUE); ++ gtk_label_set_max_width_chars (GTK_LABEL (data->cluebar_label), 36); + gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (data->cluebar))), + data->cluebar_label); + +-- +cgit v0.9.2 diff --git a/extra/gnome-online-accounts/smtp-auth-plain.patch b/extra/gnome-online-accounts/smtp-auth-plain.patch new file mode 100644 index 000000000..c6782d0f6 --- /dev/null +++ b/extra/gnome-online-accounts/smtp-auth-plain.patch @@ -0,0 +1,88 @@ +From 2210bf547dc35adacbc95c0dcf4abe75a73a8368 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@gnome.org> +Date: Tue, 18 Jun 2013 15:27:55 +0000 +Subject: smtp-auth-plain: Handle multiline SMTP greetings + +Fixes: https://bugzilla.gnome.org/702263 +--- +diff --git a/src/goabackend/goasmtpauthplain.c b/src/goabackend/goasmtpauthplain.c +index bb783bd..77324cf 100644 +--- a/src/goabackend/goasmtpauthplain.c ++++ b/src/goabackend/goasmtpauthplain.c +@@ -167,6 +167,40 @@ smtp_auth_plain_check_454 (const gchar *response, GError **error) + + /* ---------------------------------------------------------------------------------------------------- */ + ++static gboolean ++smtp_auth_plain_check_greeting (GDataInputStream *input, GCancellable *cancellable, GError **error) ++{ ++ gboolean ret; ++ gchar *response; ++ ++ response = NULL; ++ ret = FALSE; ++ ++ greeting_again: ++ response = g_data_input_stream_read_line (input, NULL, cancellable, error); ++ if (response == NULL) ++ goto out; ++ g_debug ("< %s", response); ++ if (smtp_auth_plain_check_421 (response, error)) ++ goto out; ++ if (smtp_auth_plain_check_not_220 (response, error)) ++ goto out; ++ ++ if (response[3] == '-') ++ { ++ g_clear_pointer (&response, g_free); ++ goto greeting_again; ++ } ++ ++ ret = TRUE; ++ ++ out: ++ g_free (response); ++ return ret; ++} ++ ++/* ---------------------------------------------------------------------------------------------------- */ ++ + static gchar * + smtp_auth_plain_get_domain (GoaSmtpAuthPlain *auth, + GError **error) +@@ -563,15 +597,8 @@ goa_smtp_auth_plain_run_sync (GoaMailAuth *_auth, + + if (!auth->greeting_absent) + { +- response = g_data_input_stream_read_line (input, NULL, cancellable, error); +- if (response == NULL) +- goto out; +- g_debug ("< %s", response); +- if (smtp_auth_plain_check_421 (response, error)) ++ if (!smtp_auth_plain_check_greeting (input, cancellable, error)) + goto out; +- if (smtp_auth_plain_check_not_220 (response, error)) +- goto out; +- g_clear_pointer (&response, g_free); + } + + /* Send EHLO */ +@@ -685,15 +712,8 @@ goa_smtp_auth_plain_starttls_sync (GoaMailAuth *_auth, + + /* Check the greeting */ + +- response = g_data_input_stream_read_line (input, NULL, cancellable, error); +- if (response == NULL) +- goto out; +- g_debug ("< %s", response); +- if (smtp_auth_plain_check_421 (response, error)) ++ if (!smtp_auth_plain_check_greeting (input, cancellable, error)) + goto out; +- if (smtp_auth_plain_check_not_220 (response, error)) +- goto out; +- g_clear_pointer (&response, g_free); + + /* Send EHLO */ + +-- +cgit v0.9.2 diff --git a/extra/inkscape/PKGBUILD b/extra/inkscape/PKGBUILD index 3caa509f1..cf7f9f5e4 100644 --- a/extra/inkscape/PKGBUILD +++ b/extra/inkscape/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 186340 2013-05-25 02:56:30Z foutrelis $ +# $Id: PKGBUILD 192062 2013-08-05 14:17:31Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> # Contributor: tobias <tobias@archlinux.org> pkgname=inkscape pkgver=0.48.4 -pkgrel=8 +pkgrel=9 pkgdesc='Vector graphics editor using the SVG file format' url='http://inkscape.sourceforge.net/' license=('GPL' 'LGPL') @@ -19,12 +19,12 @@ optdepends=('pstoedit: latex formulas' 'python2-lxml: some extensions and filters' 'pyxml: some extensions' 'uniconvertor: reading/writing to some proprietary formats') -options=('!libtool') source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2" 'spuriouscomma.patch') sha1sums=('5f26f6ad191d1e7c2a9fb69a438722beb172224c' '7d1d5a6d1d2b0926721a994d5889c52890fc57c1') +options=('!libtool') install=install prepare() { diff --git a/extra/libdiscid/PKGBUILD b/extra/libdiscid/PKGBUILD index 3c50ea92a..da9201f54 100644 --- a/extra/libdiscid/PKGBUILD +++ b/extra/libdiscid/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 188777 2013-06-20 04:15:31Z eric $ +# $Id: PKGBUILD 192092 2013-08-05 19:32:28Z eric $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Eric Gillingham <sysrq@sysrq.tk> pkgname=libdiscid -pkgver=0.5.1 +pkgver=0.5.2 pkgrel=1 pkgdesc="A Library for creating MusicBrainz DiscIDs" arch=('i686' 'x86_64') @@ -12,20 +12,20 @@ license=('LGPL') depends=('glibc') options=('!libtool') source=("http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/${pkgname}-${pkgver}.tar.gz") -md5sums=('7770e649929b378d4758f97f9937a3d5') +md5sums=('ce5141be6082cf2f8a31f624ce8510c9') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } check() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make check } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install } diff --git a/extra/libgdata/PKGBUILD b/extra/libgdata/PKGBUILD index d1a42f932..9fe966072 100644 --- a/extra/libgdata/PKGBUILD +++ b/extra/libgdata/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 183428 2013-04-21 22:11:14Z heftig $ +# $Id: PKGBUILD 192056 2013-08-05 13:43:53Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libgdata -pkgver=0.13.3 +pkgver=0.13.4 pkgrel=1 pkgdesc="GLib-based library for accessing online service APIs using the GData protocol" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ makedepends=('intltool' 'gobject-introspection') url="http://www.gnome.org" options=('!libtool') source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('4bf52706b2ab404f8b128e000509acd9937facf26916d3e907a3db8653f73637') +sha256sums=('ae405145bb6a2109488b7123206b469b141f17317066471dd485b4ea50499c83') build() { cd "$pkgname-$pkgver" diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index eb350d700..6ba2ea184 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 188760 2013-06-19 19:35:08Z andyrtr $ +# $Id: PKGBUILD 192063 2013-08-05 14:17:33Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> pkgbase="libreoffice" @@ -21,7 +21,7 @@ pkgname=('libreoffice-common' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built) _LOver=4.0.4.2 pkgver=4.0.4 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -33,7 +33,7 @@ makedepends=( # makedepends # the runtime dependencies "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.3" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'librsvg' "icu>=51.1" - 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite' 'lcms2' 'poppler>=0.22.4' + 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite' 'lcms2' 'poppler>=0.24.0' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils' 'ttf-dejavu') # to satisfy regression tests @@ -78,6 +78,7 @@ source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz ${_additional_source_url}/libmspub-0.0.6.tar.bz2 ${_additional_source_url}/libvisio-0.0.28.tar.bz2 make-pyuno-work-with-system-wide-module-install.diff + poppler_buildfix.diff libreoffice-common.sh libreoffice-common.csh) noextract=(f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll @@ -147,12 +148,13 @@ md5sums=('19462798bbf6e1dc75a8b12bd1775ea2' '1120705cd0f0d9bd5506360bf57b6c2e' '05574c2ec54dd0c29d75cacdf9419f44' '07d2bf5ad839a394cca008b3ec6e7bb1' + '092939d16adbb006780c68040192f8ce' '4195735a80876ae812fca5736b50192a' 'e7e4b3e70e99e5cba8f8dfcacf3b0d87') -build() { +prepare() { - cd ${srcdir}/libreoffice-$_LOver + cd libreoffice-$_LOver # fix exttextcat build error # /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] @@ -164,6 +166,9 @@ build() { ln -s ${srcdir}/$source . done popd + + # fix build with poppler 0.24.0 + patch -Np1 -i ${srcdir}/poppler_buildfix.diff # fix not upstreamable pyuno paths - patch taken from Debian patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff @@ -179,6 +184,11 @@ build() { # qt4 fix sed -i "s:qmake:qmake-qt4:g" configure.ac +} + +build() { + + cd libreoffice-$_LOver #autoconf -f @@ -275,7 +285,7 @@ package_libreoffice-common() { pkgdesc="common files for LibreOffice - a productivity suite that is compatible with other major office suites" install=libreoffice-common.install depends=('libreoffice-langpack' "hunspell>=1.2.8" "python>=3.3" "neon>=0.28.6" 'dbus-glib' 'librsvg' - 'nss' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=51.1" 'clucene' 'lcms2' "poppler>=0.22.4" + 'nss' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=51.1" 'clucene' 'lcms2' "poppler>=0.24.0" 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils') optdepends=('libreoffice-langpack: additional language support' 'java-runtime: adds java support' diff --git a/extra/libreoffice/PKGBUILD.41 b/extra/libreoffice/PKGBUILD.41 index 30930fce4..c73d74627 100644 --- a/extra/libreoffice/PKGBUILD.41 +++ b/extra/libreoffice/PKGBUILD.41 @@ -18,9 +18,9 @@ pkgname=('libreoffice-common' 'libreoffice-extension-presentation-minimizer' 'libreoffice-extension-wiki-publisher' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built) -_LOver=4.1.0.0.beta2 +_LOver=4.1.0.4 pkgver=4.1.0 -pkgrel=0.2 #beta2 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -29,7 +29,7 @@ makedepends=( # makedepends 'apache-ant' 'gperf' 'kdelibs' 'gconf' 'cppunit' 'beanshell' 'vigra' 'clucene' 'junit' 'libmythes' 'libwpg' 'imagemagick' 'glu' 'mesa' 'gst-plugins-base-libs' 'java-environment' 'postgresql-libs' 'doxygen' - 'clucene' 'bluez-libs' # 'harfbuzz' + 'clucene' 'bluez-libs' 'harfbuzz-icu' # the runtime dependencies "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.3" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'librsvg' "icu>=51.1" @@ -75,14 +75,12 @@ source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz ${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll ${_additional_source_url}/8473296c671b6e3dd8197f4145e0854b-libodfgen-0.0.2.tar.bz2 - ${_additional_source_url}/c48827713e93539dc7285f9e86ffbdc5-harfbuzz-0.9.17.tar.bz2 ${_additional_source_url}/libcdr-0.0.14.tar.bz2 ${_additional_source_url}/libmspub-0.0.6.tar.bz2 - ${_additional_source_url}/libmwaw-0.1.9.tar.bz2 - ${_additional_source_url}/libvisio-0.0.28.tar.bz2 + ${_additional_source_url}/libmwaw-0.1.10.tar.bz2 + ${_additional_source_url}/libvisio-0.0.30.tar.bz2 make-pyuno-work-with-system-wide-module-install.diff - libreoffice-common.sh libreoffice-common.csh - fix_install.diff) + libreoffice-common.sh libreoffice-common.csh) noextract=(f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll 08c85a6d6d793daee14e10e22eefdc4b-mdds_0.8.1.tar.bz2 @@ -113,14 +111,13 @@ noextract=(f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip 8473296c671b6e3dd8197f4145e0854b-libodfgen-0.0.2.tar.bz2 - c48827713e93539dc7285f9e86ffbdc5-harfbuzz-0.9.17.tar.bz2 libcdr-0.0.14.tar.bz2 libmspub-0.0.6.tar.bz2 - libmwaw-0.1.9.tar.bz2 - libvisio-0.0.28.tar.bz2 ) -md5sums=('a785e1ed4809246edc39d0b55a807cdd' - '96ea39853d9058cb9e98749539827187' - '6ecbe09a87d5c2c1a186671d24643111' + libmwaw-0.1.10.tar.bz2 + libvisio-0.0.30.tar.bz2 ) +md5sums=('5311656e1b54eadd4b93f948dfd5e68e' + 'e2cd3b63e3050771a1330fc98e41a701' + '1f4438828cbcf83c257742482dade3ef' 'f02578f5218f217a9f20e9c30e119c6a' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' @@ -151,15 +148,13 @@ md5sums=('a785e1ed4809246edc39d0b55a807cdd' '17410483b5b5f267aa18b7e00b65e6e0' '185d60944ea767075d27247c3162b3bc' '8473296c671b6e3dd8197f4145e0854b' - 'c48827713e93539dc7285f9e86ffbdc5' 'd88f9b94df880d2c05be943b000ca112' '1120705cd0f0d9bd5506360bf57b6c2e' - '2090daf6e8a27b52e8c5f26c915bd7c5' - '05574c2ec54dd0c29d75cacdf9419f44' + '2289bb137bbba9b473ce60168895c036' + '9d9eb3ae6bee763c161228b2b12e25f8' '07d2bf5ad839a394cca008b3ec6e7bb1' '4195735a80876ae812fca5736b50192a' - 'e7e4b3e70e99e5cba8f8dfcacf3b0d87' - 'd1fa6b1b1820cc5a7154720a1dcb0a4a') + 'e7e4b3e70e99e5cba8f8dfcacf3b0d87') prepare() { @@ -179,10 +174,6 @@ prepare() { # fix not upstreamable pyuno paths - patch taken from Debian patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff - # fix file-lists - # http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-4-1&id=8ce82f83fb8146b684bec5d903d76f034ba37d4a - patch -Np1 -i ${srcdir}/fix_install.diff - #use the CFLAGS but remove the LibO overridden ones for i in $CFLAGS; do case "$i" in @@ -246,7 +237,6 @@ build() { --without-system-apache-commons \ --without-system-libodfgen \ --without-system-libmwaw \ - --without-system-harfbuzz \ --with-system-dicts \ --with-external-dict-dir=/usr/share/hunspell \ --with-external-hyph-dir=/usr/share/hyphen \ @@ -294,7 +284,7 @@ package_libreoffice-common() { install=libreoffice-common.install depends=('libreoffice-langpack' "hunspell>=1.2.8" "python>=3.3" "neon>=0.28.6" 'dbus-glib' 'librsvg' 'nss' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=51.1" 'clucene' 'lcms2' "poppler>=0.22.4" - 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils') + 'harfbuzz-icu' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils') optdepends=('libreoffice-langpack: additional language support' 'java-runtime: adds java support' 'libcups: adds printing support' @@ -556,7 +546,8 @@ package_libreoffice-sdk() { done # fix environment path to keep compatibility with other java-environments - sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.{sh,csh} +# sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.{sh,csh} + sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.sh } package_libreoffice-sdk-doc() { diff --git a/extra/libreoffice/poppler_buildfix.diff b/extra/libreoffice/poppler_buildfix.diff new file mode 100644 index 000000000..ae11d8b1f --- /dev/null +++ b/extra/libreoffice/poppler_buildfix.diff @@ -0,0 +1,50 @@ +From a7688eff345133147984507c35bf444131cc3d63 Mon Sep 17 00:00:00 2001 +From: Petr Mladek <pmladek@suse.cz> +Date: Tue, 16 Jul 2013 14:45:31 +0000 +Subject: fix build with system poppler-0.23.0 + +XRef *xref parameter has been added to the OutputDev::startPage method, see +http://cgit.freedesktop.org/poppler/poppler/commit/?id=8eb489c355d734a72e140ce7e32470d048362499 + +Change-Id: I7ad875bf58f6998e639c740f0dac3795738cd1db +Reviewed-on: https://gerrit.libreoffice.org/4940 +Reviewed-by: Andras Timar <atimar@suse.com> +Tested-by: Andras Timar <atimar@suse.com> +--- +diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +index 03adf89..53a77d3 100644 +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +@@ -481,7 +481,11 @@ PDFOutDev::PDFOutDev( PDFDoc* pDoc ) : + { + } + +-void PDFOutDev::startPage(int /*pageNum*/, GfxState* state) ++void PDFOutDev::startPage(int /*pageNum*/, GfxState* state ++#if POPPLER_CHECK_VERSION(0, 23, 0) ++ , XRef* /*xref*/ ++#endif ++) + { + assert(state); + printf("startPage %f %f\n", +diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +index c0977cb7..4f3d3a9 100644 +--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx ++++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +@@ -181,7 +181,11 @@ namespace pdfi + virtual void setDefaultCTM(double *ctm) SAL_OVERRIDE; + + // Start a page. +- virtual void startPage(int pageNum, GfxState *state) SAL_OVERRIDE; ++ virtual void startPage(int pageNum, GfxState *state ++#if POPPLER_CHECK_VERSION(0, 23, 0) ++ , XRef *xref ++#endif ++ ) SAL_OVERRIDE; + + // End a page. + virtual void endPage() SAL_OVERRIDE; +-- +cgit v0.9.0.2-2-gbebe + diff --git a/extra/libvdpau/PKGBUILD b/extra/libvdpau/PKGBUILD index 7924af4d0..3287faccf 100644 --- a/extra/libvdpau/PKGBUILD +++ b/extra/libvdpau/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 189278 2013-07-02 07:41:51Z jgc $ +# $Id: PKGBUILD 192069 2013-08-05 15:40:48Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libvdpau -pkgver=0.6 -pkgrel=2 +pkgver=0.7 +pkgrel=1 pkgdesc="Nvidia VDPAU library" arch=(i686 x86_64) url='http://cgit.freedesktop.org/~aplattner/libvdpau' @@ -13,7 +13,7 @@ options=('!libtool') license=('custom') source=(http://people.freedesktop.org/~aplattner/vdpau/${pkgname}-${pkgver}.tar.gz) makedepends=('dri2proto') -sha256sums=('9b55beec9d8b01bbf89229b7d075ceee870f4e1830523c11f29a46c07fe72d75') +sha256sums=('24dc08467ce8c59d6cfbf0d34d2dd1f86b4ff62e90777e0a8f513c5c9de9bce0') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/nasm/PKGBUILD b/extra/nasm/PKGBUILD index 0ab75e7e6..8ef22a31f 100644 --- a/extra/nasm/PKGBUILD +++ b/extra/nasm/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 174748 2013-01-06 01:52:18Z stephane $ +# $Id: PKGBUILD 192097 2013-08-05 20:37:17Z eric $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Aaron Griffin <aaron@archlinux.org> pkgname=nasm -pkgver=2.10.07 +pkgver=2.10.09 pkgrel=1 pkgdesc="An 80x86 assembler designed for portability and modularity" +arch=('i686' 'x86_64') url="http://www.nasm.us" license=('BSD') -arch=('i686' 'x86_64') depends=('glibc') -source=(http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('2eb839c25ad0aa43a0d2d48146fd8ac708d9aabf') install=nasm.install +source=(http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.xz) +sha1sums=('062dd7315b307870917e708a96b6862481cefc54') build() { - cd "${srcdir}/${pkgbase}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make make -C doc info } package() { - cd "${srcdir}/${pkgbase}-${pkgver}" + cd ${pkgname}-${pkgver} make INSTALLROOT="${pkgdir}" install install_rdf install -dm755 "${pkgdir}"/usr/share/info install -m644 doc/info/* "${pkgdir}"/usr/share/info/ diff --git a/extra/perl-dbd-sqlite/PKGBUILD b/extra/perl-dbd-sqlite/PKGBUILD index 61d0d5996..70f9ee742 100644 --- a/extra/perl-dbd-sqlite/PKGBUILD +++ b/extra/perl-dbd-sqlite/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 188483 2013-06-14 22:43:41Z eric $ +# $Id: PKGBUILD 192099 2013-08-05 20:52:00Z eric $ # Maintainer: pkgname=perl-dbd-sqlite -pkgver=1.39 +pkgver=1.40 pkgrel=1 pkgdesc="Self-contained RDBMS in a DBI driver" arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ license=('GPL' 'PerlArtistic') depends=('perl-dbi' 'sqlite') options=('!emptydirs') source=(http://www.cpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${pkgver}.tar.gz) -md5sums=('8ca0719852fcbcbbee470c705eeff24a') +md5sums=('b9876882186499583428b14cf5c0e29c') build() { cd DBD-SQLite-${pkgver} diff --git a/extra/poppler/PKGBUILD b/extra/poppler/PKGBUILD index 8e412251f..046d092d9 100644 --- a/extra/poppler/PKGBUILD +++ b/extra/poppler/PKGBUILD @@ -1,37 +1,38 @@ -# $Id: PKGBUILD 188733 2013-06-18 15:55:17Z andyrtr $ +# $Id: PKGBUILD 192058 2013-08-05 14:17:25Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=poppler -pkgname=('poppler' 'poppler-glib' 'poppler-qt') -pkgver=0.22.5 +pkgname=('poppler' 'poppler-glib' 'poppler-qt4' 'poppler-qt5') +pkgver=0.24.0 pkgrel=1 arch=(i686 x86_64) license=('GPL') -makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt4' 'pkgconfig' 'lcms2' 'gobject-introspection' 'icu') +makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt4' 'pkgconfig' 'lcms2' 'gobject-introspection' 'icu' 'qt5-base') options=('!libtool' '!emptydirs') url="http://poppler.freedesktop.org/" _testtag=0d2bfd4af4c76a3bac27ccaff793d9129df7b57a -source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz +source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.xz http://cgit.freedesktop.org/poppler/test/snapshot/test-${_testtag}.tar.bz2) -md5sums=('1cd27460f7e3379d1eb109cfd7bcdb39' +md5sums=('891000481f639e996d000d767d953a7f' '9dc64c254a31e570507bdd4ad4ba629a') -build() { - - cd "${srcdir}" +prepare() { ln -sf test-${_testtag} test cd ${pkgbase}-${pkgver} sed -i -e '/AC_PATH_XTRA/d' configure.ac sed -i "s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:" configure.ac +} +build() { + cd ${pkgbase}-${pkgver} autoreconf -fi - ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ --enable-cairo-output \ --enable-xpdf-headers \ --enable-libjpeg --enable-zlib \ --enable-poppler-qt4 \ + --enable-poppler-qt5 \ --enable-poppler-glib make } @@ -49,10 +50,11 @@ package_poppler() { cd "${srcdir}/${pkgbase}-${pkgver}" sed -e 's/^glib_subdir =.*/glib_subdir =/' \ - -e 's/^qt4_subdir =.*/qt4_subdir =/' -i Makefile + -e 's/^qt4_subdir =.*/qt4_subdir =/' \ + -e 's/^qt5_subdir =.*/qt5_subdir =/' -i Makefile make DESTDIR="${pkgdir}" install - rm -f "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt4}.pc + rm -f "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt4,qt5}.pc } package_poppler-glib() { @@ -69,8 +71,11 @@ package_poppler-glib() { rm -f "${pkgdir}/usr/bin/poppler-glib-demo" } -package_poppler-qt() { - pkgdesc="Poppler Qt bindings" +package_poppler-qt4() { + pkgdesc="Poppler Qt4 bindings" + provides=("poppler-qt=${pkgver}") + replaces=('poppler-qt') + conflicts=('poppler-qt') depends=("poppler=${pkgver}" 'qt4') cd "${srcdir}/${pkgbase}-${pkgver}/poppler" @@ -81,3 +86,16 @@ package_poppler-qt() { install -m644 ../poppler-qt4.pc "${pkgdir}/usr/lib/pkgconfig/" rm -f "${pkgdir}"/usr/lib/libpoppler.* } + +package_poppler-qt5() { + pkgdesc="Poppler Qt5 bindings" + depends=("poppler=${pkgver}" 'qt5-base') + + cd "${srcdir}/${pkgbase}-${pkgver}/poppler" + make DESTDIR="${pkgdir}" install-libLTLIBRARIES + cd "${srcdir}/${pkgbase}-${pkgver}/qt5" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m644 ../poppler-qt5.pc "${pkgdir}/usr/lib/pkgconfig/" + rm -f "${pkgdir}"/usr/lib/libpoppler.* +} diff --git a/extra/swt/PKGBUILD b/extra/swt/PKGBUILD index 117266eec..13cc00f19 100644 --- a/extra/swt/PKGBUILD +++ b/extra/swt/PKGBUILD @@ -1,24 +1,24 @@ -# $Id: PKGBUILD 178694 2013-02-26 10:20:09Z guillaume $ +# $Id: PKGBUILD 192094 2013-08-05 19:35:39Z guillaume $ # Maintainer: Guillaume ALAUX <guillaume@archlinux.org> pkgname=swt -pkgver=4.2.1 -pkgrel=2 -_date=201209141800 +pkgver=4.3 +pkgrel=1 +_date=201306052000 pkgdesc='An open source widget toolkit for Java' arch=('i686' 'x86_64') url='http://www.eclipse.org/swt/' license=('EPL') depends=('java-runtime>=6' 'gtk2>=2.20.1' 'libxtst') -optdepends=('libgnomeui' 'mesa' 'glu' 'libwebkit') -makedepends=('java-environment' 'libxtst' 'mesa' 'glu' 'libgnomeui' 'unzip' 'pkgconfig' 'libwebkit' 'apache-ant') +optdepends=('libgnomeui' 'mesa' 'glu' 'webkitgtk2') +makedepends=('java-environment' 'libxtst' 'mesa' 'glu' 'libgnomeui' 'unzip' 'pkgconfig' 'webkitgtk2' 'apache-ant') if [ "${CARCH}" = "i686" ]; then _carch=x86 - sha256sums=('6198cd749ec25303a8c3a044e7680d643209862d2947f9efdda20bf7467575ba' + sha256sums=('d15fd80dd1d73f915879e08d53b535c781d589195eba0d011c307912514aa965' '6bb48007a95e3d8c6b577cc9cc4b61a51ce928b04f4fcd393cf72f8f727fe923') fi if [ "${CARCH}" = "x86_64" ]; then _carch=x86_64 - sha256sums=('e89e330df24ca72c57a381e81590293ce3f475d855258183179436bd5dcd85c8' + sha256sums=('0da9ce9fc30de90a45054df6d28c7092705707abcde9cc923a2601d1dd237707' '6bb48007a95e3d8c6b577cc9cc4b61a51ce928b04f4fcd393cf72f8f727fe923') fi source=(http://download.eclipse.org/eclipse/downloads/drops4/R-${pkgver}-${_date}/swt-${pkgver}-gtk-linux-${_carch}.zip diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD index b9f0ace75..33e2fddba 100644 --- a/extra/xf86-input-wacom/PKGBUILD +++ b/extra/xf86-input-wacom/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 189910 2013-07-11 09:04:39Z heftig $ +# $Id: PKGBUILD 192066 2013-08-05 14:20:19Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: M Rawash <mrawash@gmail.com> pkgname=xf86-input-wacom -pkgver=0.22.0 +pkgver=0.22.1 pkgrel=1 pkgdesc="X.Org Wacom tablet driver" arch=(i686 x86_64) @@ -18,7 +18,7 @@ optdepends=('inputattach: support for serial tablets') options=(!libtool) source=(http://downloads.sourceforge.net/project/linuxwacom/$pkgname/$pkgname-$pkgver.tar.bz2 70-wacom.rules) -md5sums=('cb709fb69a62d0eee9e80a3e0c090234' +md5sums=('dba80caac08145a907fc7f7796f3aea7' 'cc46dcb399d5ee62c9feb610c60d1270') build() { diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD index eeb25cf03..dc485493d 100644 --- a/extra/xf86-video-intel/PKGBUILD +++ b/extra/xf86-video-intel/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 191785 2013-07-30 19:12:09Z andyrtr $ +# $Id: PKGBUILD 192082 2013-08-05 18:18:25Z lcarlier $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-intel -pkgver=2.21.13 +pkgver=2.21.14 pkgrel=1 arch=(i686 x86_64) url="http://xorg.freedesktop.org/" @@ -19,13 +19,14 @@ conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERS options=('!libtool') groups=('xorg-drivers' 'xorg') source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('76e17cebf79d3c3c98af246fcfb55018aa12e2d56fe5f3b6d54b93e90837efa8') +sha256sums=('cc74d482dfd1f6b87773233a6d5c36118039b42fe7f8d99ee28bda7b78aa3b49') build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr \ - --enable-dri + --enable-dri \ + --with-default-accel=sna make } diff --git a/extra/xf86-video-intel/xf86-video-intel.install b/extra/xf86-video-intel/xf86-video-intel.install index d523eb61a..5b4df39da 100644 --- a/extra/xf86-video-intel/xf86-video-intel.install +++ b/extra/xf86-video-intel/xf86-video-intel.install @@ -1,8 +1,8 @@ post_install() { - echo ">>> This driver now allows to switch" - echo ">>> between sna/uxa acceleration methods." + echo ">>> This driver now uses sna as the default" + echo ">>> acceleration methods." + echo ">>> You can Use uxa method if you run into trouble." echo ">>> Add to the device section in /etc/X11/xorg.conf" - echo ">>> Option \"AccelMethod\" \"sna\"" - echo ">>> use uxa method if you run into trouble with sna." + echo ">>> Option \"AccelMethod\" \"uxa\"" } |