From a2fb8ff517d83749ec3b5543aeba805f07ea257d Mon Sep 17 00:00:00 2001 From: root Date: Tue, 6 Aug 2013 01:53:55 -0700 Subject: Tue Aug 6 01:53:08 PDT 2013 --- extra/bzr/PKGBUILD | 20 +- extra/calligra/PKGBUILD | 54 +-- extra/calligra/calligra-extras.install | 11 + extra/calligra/calligra-tools.install | 12 - extra/evas_generic_loaders/PKGBUILD | 4 +- extra/evolution-data-server/PKGBUILD | 28 +- extra/evolution-data-server/fix-google-2fa-1.patch | 402 +++++++++++++++++++++ extra/evolution-data-server/fix-google-2fa-2.patch | 86 +++++ extra/evolution-data-server/fix-google-2fa-3.patch | 48 +++ extra/evolution-data-server/fix-google-2fa-4.patch | 159 ++++++++ extra/gnome-online-accounts/PKGBUILD | 30 +- .../drop-google-password-interface-1.patch | 39 ++ .../drop-google-password-interface-2.patch | 74 ++++ .../drop-google-password-interface-3.patch | 296 +++++++++++++++ extra/gnome-online-accounts/imap-smtp.patch | 20 + extra/gnome-online-accounts/smtp-auth-plain.patch | 88 +++++ extra/inkscape/PKGBUILD | 6 +- extra/libdiscid/PKGBUILD | 12 +- extra/libgdata/PKGBUILD | 6 +- extra/libreoffice/PKGBUILD | 22 +- extra/libreoffice/PKGBUILD.41 | 43 +-- extra/libreoffice/poppler_buildfix.diff | 50 +++ extra/libvdpau/PKGBUILD | 8 +- extra/nasm/PKGBUILD | 14 +- extra/perl-dbd-sqlite/PKGBUILD | 6 +- extra/poppler/PKGBUILD | 46 ++- extra/swt/PKGBUILD | 16 +- extra/xf86-input-wacom/PKGBUILD | 6 +- extra/xf86-video-intel/PKGBUILD | 9 +- extra/xf86-video-intel/xf86-video-intel.install | 8 +- 30 files changed, 1476 insertions(+), 147 deletions(-) create mode 100644 extra/calligra/calligra-extras.install delete mode 100644 extra/calligra/calligra-tools.install create mode 100644 extra/evolution-data-server/fix-google-2fa-1.patch create mode 100644 extra/evolution-data-server/fix-google-2fa-2.patch create mode 100644 extra/evolution-data-server/fix-google-2fa-3.patch create mode 100644 extra/evolution-data-server/fix-google-2fa-4.patch create mode 100644 extra/gnome-online-accounts/drop-google-password-interface-1.patch create mode 100644 extra/gnome-online-accounts/drop-google-password-interface-2.patch create mode 100644 extra/gnome-online-accounts/drop-google-password-interface-3.patch create mode 100644 extra/gnome-online-accounts/imap-smtp.patch create mode 100644 extra/gnome-online-accounts/smtp-auth-plain.patch create mode 100644 extra/libreoffice/poppler_buildfix.diff (limited to 'extra') 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 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 # Maintainer: Andrea Scarpino 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-extras.install b/extra/calligra/calligra-extras.install new file mode 100644 index 000000000..b8c7ebf27 --- /dev/null +++ b/extra/calligra/calligra-extras.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/extra/calligra/calligra-tools.install b/extra/calligra/calligra-tools.install deleted file mode 100644 index 6c87527e2..000000000 --- a/extra/calligra/calligra-tools.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} 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 # Contributor: Gustavo Sverzut Barbieri 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 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 +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 @@ + Miscellaneous Utilities + + ++ + + + +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 + + +
++e-soup-auth-bearer ++ESoupAuthBearer ++ESoupAuthBearer ++e_soup_auth_bearer_set_access_token ++ ++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 ++ ++ESoupAuthBearerPrivate ++
++ ++
+ e-source-registry-server + ESourceRegistryServer + 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 ++ * ++ */ ++ ++/** ++ * 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 ++ * RFC 6750. ++ * ++ * 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 ++ ++#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 ++ * ++ */ ++ ++#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION) ++#error "Only should be included directly." ++#endif ++ ++#ifndef E_SOUP_AUTH_BEARER_H ++#define E_SOUP_AUTH_BEARER_H ++ ++#include ++ ++/* 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 + #include + #include ++#include + #include + #include + #include + 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 +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 +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 +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 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 +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 +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 +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 +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 +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 # Contributor: Tobias Kieslich # Contributor: tobias 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 # Contributor: Eric Gillingham 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 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 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 +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 +Tested-by: Andras Timar +--- +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 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 # Contributor: Aaron Griffin 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 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 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) # Contributor: Jan de Groot # Contributor: M Rawash 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 # Maintainer: Jan de Groot 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\"" } -- cgit v1.2.3-54-g00ecf