diff options
Diffstat (limited to 'extra')
37 files changed, 1410 insertions, 183 deletions
diff --git a/extra/allegro/PKGBUILD b/extra/allegro/PKGBUILD index 582e292cc..5ea51ee5d 100644 --- a/extra/allegro/PKGBUILD +++ b/extra/allegro/PKGBUILD @@ -1,21 +1,19 @@ -# $Id: PKGBUILD 125663 2011-05-27 21:50:52Z ibiru $ +# $Id: PKGBUILD 140688 2011-10-18 03:46:08Z eric $ # Maintainer: Ionut Biru <ibiru@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> # Contributor: arjan <arjan@archlinux.org> pkgname=allegro -pkgver=4.4.2 +pkgver=5.0.4 pkgrel=1 pkgdesc="Portable library mainly aimed at video game and multimedia programming" arch=('i686' 'x86_64') url="http://alleg.sourceforge.net/" license=('custom') -depends=('jack' 'libxpm' 'libxxf86vm' 'libxxf86dga' 'libxcursor' 'libpng') -makedepends=('cmake') -source=(http://downloads.sourceforge.net/alleg/${pkgname}-${pkgver}.tar.gz - LICENSE) -md5sums=('4db71b0460fc99926ae91d223199c2e6' - 'cd97e2992e8e66b9e6a449d832dc9c7a') +depends=('jack' 'libxpm' 'libxxf86vm' 'libxxf86dga' 'libxcursor' 'libpng' 'libgl' 'libjpeg') +makedepends=('cmake' 'mesa') +source=(http://downloads.sourceforge.net/alleg/${pkgname}-${pkgver}.tar.gz) +md5sums=('e2e314ee7116c7efddd0497d6c885e46') build() { cd "${srcdir}" @@ -34,6 +32,5 @@ package() { make DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" + install -D -m644 ../${pkgname}-${pkgver}/LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/extra/allegro4/LICENSE b/extra/allegro4/LICENSE new file mode 100644 index 000000000..497c56a8f --- /dev/null +++ b/extra/allegro4/LICENSE @@ -0,0 +1,26 @@ +=================================== +============ Copyright ============ +=================================== + + Allegro is gift-ware. It was created by a number of people working in + cooperation, and is given to you freely as a gift. You may use, modify, + redistribute, and generally hack it about in any way you like, and you do + not have to give us anything in return. However, if you like this product + you are encouraged to thank us by making a return gift to the Allegro + community. This could be by writing an add-on package, providing a useful + bug report, making an improvement to the library, or perhaps just + releasing the sources of your program so that other people can learn from + them. If you redistribute parts of this code or make a game using it, it + would be nice if you mentioned Allegro somewhere in the credits, but you + are not required to do this. We trust you not to abuse our generosity. + + Disclaimer: + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + diff --git a/extra/allegro4/PKGBUILD b/extra/allegro4/PKGBUILD new file mode 100644 index 000000000..eae85013f --- /dev/null +++ b/extra/allegro4/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 140690 2011-10-18 03:46:10Z eric $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# Contributor: arjan <arjan@archlinux.org> + +pkgname=allegro4 +pkgver=4.4.2 +pkgrel=1 +pkgdesc="Portable library mainly aimed at video game and multimedia programming (legacy version)" +arch=('i686' 'x86_64') +url="http://alleg.sourceforge.net/" +license=('custom') +depends=('sh' 'jack' 'libxpm' 'libxxf86vm' 'libxxf86dga' 'libxcursor') +makedepends=('cmake' 'libpng') +source=(http://downloads.sourceforge.net/alleg/allegro-${pkgver}.tar.gz + LICENSE) +md5sums=('4db71b0460fc99926ae91d223199c2e6' + 'cd97e2992e8e66b9e6a449d832dc9c7a') + +build() { + cd "${srcdir}" + mkdir build && cd build + + cmake "../allegro-${pkgver}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWANT_DOCS=OFF + + make +} + +package() { + cd "${srcdir}"/build + + make DESTDIR="${pkgdir}" install + + install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/extra/clamav/PKGBUILD b/extra/clamav/PKGBUILD index ab6daca4f..cee554750 100644 --- a/extra/clamav/PKGBUILD +++ b/extra/clamav/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 132770 2011-07-26 00:09:35Z bisson $ +# $Id: PKGBUILD 140665 2011-10-17 22:40:35Z bisson $ # Contributor: Dale Blount <dale@archlinux.org> # Contributor: Gregor Ibic <gregor.ibic@intelicom.si> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=clamav -pkgver=0.97.2 +pkgver=0.97.3 pkgrel=1 pkgdesc='Anti-virus toolkit for Unix' arch=('i686' 'x86_64') @@ -18,7 +18,7 @@ source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pk 'conf.d' 'logrotate' 'config.patch') -sha1sums=('27d47c6ad22edc87c030f6d483fab1e13320cbf7' +sha1sums=('263c7b8b7dc1536652ab64e32263d1c60e138655' '7f15f0b13a1c11235bc99ef0add01efd8a442f07' 'cb116cdab49a810381a515cbcfb6a6c148547f07' 'be3310d2b41a68ce06e33c84ab68ffe59fdce104' @@ -28,7 +28,7 @@ install=install build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 < ../config.patch + patch -p1 -i ../config.patch ./configure \ --prefix=/usr \ --sysconfdir=/etc/clamav \ diff --git a/extra/evince/PKGBUILD b/extra/evince/PKGBUILD index 77581bd96..77fa0bb66 100644 --- a/extra/evince/PKGBUILD +++ b/extra/evince/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 139253 2011-10-01 18:56:43Z ibiru $ +# $Id: PKGBUILD 140567 2011-10-17 08:14:39Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evince pkgver=3.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="Simply a document viewer" url="http://projects.gnome.org/evince/" arch=('i686' 'x86_64') diff --git a/extra/gcin/PKGBUILD b/extra/gcin/PKGBUILD index 74172e954..65c57d064 100644 --- a/extra/gcin/PKGBUILD +++ b/extra/gcin/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 137498 2011-09-07 18:03:42Z bisson $ +# $Id: PKGBUILD 140668 2011-10-18 00:42:56Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> # Contributor: damir <damir@archlinux.org> pkgname=gcin -pkgver=1.6.8 -pkgrel=2 +pkgver=1.7.0 +pkgrel=1 pkgdesc='Input method server supporting various input methods' arch=('i686' 'x86_64') license=('LGPL') @@ -17,18 +17,15 @@ optdepends=('qt: support for qt4 input method' 'anthy: support for anthy input method' 'libchewing: support for chewing input method') source=("http://www.csie.nctu.edu.tw/~cp76/gcin/download/${pkgname}-${pkgver}.tar.xz" - 'qt4-lib64.patch' - 'missing.patch') -sha1sums=('c400924a8827723d7d69183bbafae13ae9e1949d' - '4307b0d7d6dc10f15909c94973c4357caf31de7e' - '791c190c8b0db2e70b0099d4d03a32417497d065') + 'qt4-lib64.patch') +sha1sums=('151d1286dc54d7f7fa230d37e89d3d0fe0845258' + '4307b0d7d6dc10f15909c94973c4357caf31de7e') install=install build() { cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 -i ../missing.patch patch -p1 -i ../qt4-lib64.patch sed '/include suffixes-rule/a \ CFLAGS+='"${CFLAGS}"' \ diff --git a/extra/gimp-devel/PKGBUILD b/extra/gimp-devel/PKGBUILD index ac2617bac..7069a1ee7 100644 --- a/extra/gimp-devel/PKGBUILD +++ b/extra/gimp-devel/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136060 2011-08-22 10:24:51Z eric $ +# $Id: PKGBUILD 140571 2011-10-17 08:14:44Z jgc $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=gimp-devel pkgver=2.7.3 -pkgrel=1 +pkgrel=2 pkgdesc="GNU Image Manipulation Program (Development Version)" arch=('i686' 'x86_64') url="http://www.gimp.org/" diff --git a/extra/gimp/PKGBUILD b/extra/gimp/PKGBUILD index a04de0a07..c083eb449 100644 --- a/extra/gimp/PKGBUILD +++ b/extra/gimp/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 130354 2011-07-05 17:55:54Z eric $ +# $Id: PKGBUILD 140569 2011-10-17 08:14:42Z jgc $ # Maintainer: tobias <tobias@archlinux.org> pkgname=gimp pkgver=2.6.11 -pkgrel=6 +pkgrel=7 pkgdesc="GNU Image Manipulation Program" arch=('i686' 'x86_64') url="http://www.gimp.org/" @@ -19,18 +19,22 @@ optdepends=('gutenprint: for sophisticated printing only as gimp has built-in cu options=('!libtool' '!makeflags') conflicts=('gimp-devel') install=gimp.install -source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 linux.gpl - uri-backend-libcurl.patch) +#source=(ftp://ftp.gimp.org/pub/gimp/v${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 linux.gpl +source=(http://mirror.umoss.org/gimp/gimp/v${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 linux.gpl + uri-backend-libcurl.patch gimp-poppler-0.18.patch) md5sums=('bb2939fe13e54fc7255cef5d097bb5dd' 'bb27bc214261d36484093e857f015f38' - 'e894f4b2ffa92c71448fdd350e9b78c6') + 'e894f4b2ffa92c71448fdd350e9b78c6' + 'bfc73f80e911ed7a7d500d80973469f1') sha1sums=('2f9d596e727bdbf304fa78257c1731d9faf3934c' '110ce9798173b19a662d086ed7b882b4729f06cf' - 'a65b0ee6cd1b4345065b7b98c07f2fed15f844f4') + 'a65b0ee6cd1b4345065b7b98c07f2fed15f844f4' + '1479a6d80be7adf74f66a3b88057a5029fe892e8') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -p1 < ../uri-backend-libcurl.patch + patch -p1 < ../gimp-poppler-0.18.patch PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --enable-mp --enable-gimp-console --enable-gimp-remote \ --enable-python --with-gif-compression=lzw --with-libcurl \ diff --git a/extra/gimp/gimp-poppler-0.18.patch b/extra/gimp/gimp-poppler-0.18.patch new file mode 100644 index 000000000..0715460bc --- /dev/null +++ b/extra/gimp/gimp-poppler-0.18.patch @@ -0,0 +1,476 @@ +From 69f69eed816b89be9a01a48a1f0643d1fd496118 Mon Sep 17 00:00:00 2001 +From: Nils Philippsen <nils@redhat.com> +Date: Fri, 6 May 2011 11:58:44 +0200 +Subject: [PATCH] patch: poppler-0.17 + +Squashed commit of the following: + +commit 529d940222dfc352d41fbf72de29134421aa4002 +Author: Nils Philippsen <nils@redhat.com> +Date: Fri May 6 11:50:30 2011 +0200 + + use code based on pixbufs instead of cairo surfaces + + this is done to avoid adding to libgimp, thanks to Mukund Sivaraman for + hints how to do this + +commit f8671d8767d4cdab830dc06310e96c63a88ec0fd +Author: Mukund Sivaraman <muks@banu.com> +Date: Thu Apr 21 13:57:13 2011 +0530 + + file-pdf-load: Update attribution, removing bogus copyright + (cherry picked from commit e999122e0b20b6ccd6bde3ce039bb64068fc0019) + +commit 89a78f2590d298dac2f42e6d9a3016fc5d672c70 +Author: Nils Philippsen <nils@redhat.com> +Date: Thu Apr 21 13:52:18 2011 +0200 + + file-pdf-load: Use better API + cleanups + + * fixes issues with poppler 0.17 completely + * uses new libgimp API to pass surfaces instead of pixbufs + * uses GTK+ 3 API to convert surfaces to pixbufs where available + (backported from commit 7bdadd80ba479d6ff904e276d805e16f6b940ee2) + +commit 4e92302c4a14a961f112587a0ad86696c88da2f8 +Author: Nils Philippsen <nils@redhat.com> +Date: Thu Apr 21 13:38:08 2011 +0200 + + file-pdf-load: Don't use deprecated API (bug #646947) + + (cherry picked from commit 9b3e1c91fd2eac69da6947ec9c7fbf10096ba237) + + Conflicts: + + plug-ins/common/file-pdf.c +--- + plug-ins/common/file-pdf.c | 323 ++++++++++++++++++++++++++++++++++++++------ + 1 files changed, 283 insertions(+), 40 deletions(-) + +diff --git a/plug-ins/common/file-pdf.c b/plug-ins/common/file-pdf.c +index a43b459..43c2b7d 100644 +--- a/plug-ins/common/file-pdf.c ++++ b/plug-ins/common/file-pdf.c +@@ -4,6 +4,9 @@ + * + * Copyright (C) 2005 Nathan Summers + * ++ * Some code in render_page_to_surface() borrowed from ++ * poppler.git/glib/poppler-page.cc. ++ * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or +@@ -80,16 +83,20 @@ static gboolean load_dialog (PopplerDocument *doc, + static PopplerDocument * open_document (const gchar *filename, + GError **error); + +-static GdkPixbuf * get_thumbnail (PopplerDocument *doc, ++static cairo_surface_t * get_thumb_surface (PopplerDocument *doc, ++ gint page, ++ gint preferred_size); ++ ++static GdkPixbuf * get_thumb_pixbuf (PopplerDocument *doc, + gint page, + gint preferred_size); + + static gint32 layer_from_pixbuf (gint32 image, +- const gchar *layer_name, +- gint position, +- GdkPixbuf *buf, +- gdouble progress_start, +- gdouble progress_scale); ++ const gchar *layer_name, ++ gint position, ++ GdkPixbuf *pixbuf, ++ gdouble progress_start, ++ gdouble progress_scale); + + /** + ** the following was formerly part of +@@ -433,11 +440,12 @@ run (const gchar *name, + } + else + { +- gdouble width = 0; +- gdouble height = 0; +- gdouble scale; +- gint32 image = -1; +- GdkPixbuf *pixbuf = NULL; ++ gdouble width = 0; ++ gdouble height = 0; ++ gdouble scale; ++ gint32 image = -1; ++ gint num_pages = 0; ++ GdkPixbuf *pixbuf = NULL; + + /* Possibly retrieve last settings */ + gimp_get_data (LOAD_PROC, &loadvals); +@@ -455,7 +463,10 @@ run (const gchar *name, + g_object_unref (page); + } + +- pixbuf = get_thumbnail (doc, 0, param[1].data.d_int32); ++ num_pages = poppler_document_get_n_pages (doc); ++ ++ pixbuf = get_thumb_pixbuf (doc, 0, param[1].data.d_int32); ++ + g_object_unref (doc); + } + +@@ -548,6 +559,187 @@ open_document (const gchar *filename, + return doc; + } + ++/* FIXME: Remove this someday when we depend fully on GTK+ >= 3 */ ++ ++#if (!GTK_CHECK_VERSION (3, 0, 0)) ++ ++static cairo_format_t ++gdk_cairo_format_for_content (cairo_content_t content) ++{ ++ switch (content) ++ { ++ case CAIRO_CONTENT_COLOR: ++ return CAIRO_FORMAT_RGB24; ++ case CAIRO_CONTENT_ALPHA: ++ return CAIRO_FORMAT_A8; ++ case CAIRO_CONTENT_COLOR_ALPHA: ++ default: ++ return CAIRO_FORMAT_ARGB32; ++ } ++} ++ ++static cairo_surface_t * ++gdk_cairo_surface_coerce_to_image (cairo_surface_t *surface, ++ cairo_content_t content, ++ int src_x, ++ int src_y, ++ int width, ++ int height) ++{ ++ cairo_surface_t *copy; ++ cairo_t *cr; ++ ++ copy = cairo_image_surface_create (gdk_cairo_format_for_content (content), ++ width, ++ height); ++ ++ cr = cairo_create (copy); ++ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); ++ cairo_set_source_surface (cr, surface, -src_x, -src_y); ++ cairo_paint (cr); ++ cairo_destroy (cr); ++ ++ return copy; ++} ++ ++static void ++convert_alpha (guchar *dest_data, ++ int dest_stride, ++ guchar *src_data, ++ int src_stride, ++ int src_x, ++ int src_y, ++ int width, ++ int height) ++{ ++ int x, y; ++ ++ src_data += src_stride * src_y + src_x * 4; ++ ++ for (y = 0; y < height; y++) { ++ guint32 *src = (guint32 *) src_data; ++ ++ for (x = 0; x < width; x++) { ++ guint alpha = src[x] >> 24; ++ ++ if (alpha == 0) ++ { ++ dest_data[x * 4 + 0] = 0; ++ dest_data[x * 4 + 1] = 0; ++ dest_data[x * 4 + 2] = 0; ++ } ++ else ++ { ++ dest_data[x * 4 + 0] = (((src[x] & 0xff0000) >> 16) * 255 + alpha / 2) / alpha; ++ dest_data[x * 4 + 1] = (((src[x] & 0x00ff00) >> 8) * 255 + alpha / 2) / alpha; ++ dest_data[x * 4 + 2] = (((src[x] & 0x0000ff) >> 0) * 255 + alpha / 2) / alpha; ++ } ++ dest_data[x * 4 + 3] = alpha; ++ } ++ ++ src_data += src_stride; ++ dest_data += dest_stride; ++ } ++} ++ ++static void ++convert_no_alpha (guchar *dest_data, ++ int dest_stride, ++ guchar *src_data, ++ int src_stride, ++ int src_x, ++ int src_y, ++ int width, ++ int height) ++{ ++ int x, y; ++ ++ src_data += src_stride * src_y + src_x * 4; ++ ++ for (y = 0; y < height; y++) { ++ guint32 *src = (guint32 *) src_data; ++ ++ for (x = 0; x < width; x++) { ++ dest_data[x * 3 + 0] = src[x] >> 16; ++ dest_data[x * 3 + 1] = src[x] >> 8; ++ dest_data[x * 3 + 2] = src[x]; ++ } ++ ++ src_data += src_stride; ++ dest_data += dest_stride; ++ } ++} ++ ++/** ++ * gdk_pixbuf_get_from_surface: ++ * @surface: surface to copy from ++ * @src_x: Source X coordinate within @surface ++ * @src_y: Source Y coordinate within @surface ++ * @width: Width in pixels of region to get ++ * @height: Height in pixels of region to get ++ * ++ * Transfers image data from a #cairo_surface_t and converts it to an RGB(A) ++ * representation inside a #GdkPixbuf. This allows you to efficiently read ++ * individual pixels from cairo surfaces. For #GdkWindows, use ++ * gdk_pixbuf_get_from_window() instead. ++ * ++ * This function will create an RGB pixbuf with 8 bits per channel. ++ * The pixbuf will contain an alpha channel if the @surface contains one. ++ * ++ * Return value: (transfer full): A newly-created pixbuf with a reference ++ * count of 1, or %NULL on error ++ */ ++static GdkPixbuf * ++gdk_pixbuf_get_from_surface (cairo_surface_t *surface, ++ gint src_x, ++ gint src_y, ++ gint width, ++ gint height) ++{ ++ cairo_content_t content; ++ GdkPixbuf *dest; ++ ++ /* General sanity checks */ ++ g_return_val_if_fail (surface != NULL, NULL); ++ g_return_val_if_fail (width > 0 && height > 0, NULL); ++ ++ content = cairo_surface_get_content (surface) | CAIRO_CONTENT_COLOR; ++ dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, ++ !!(content & CAIRO_CONTENT_ALPHA), ++ 8, ++ width, height); ++ ++ surface = gdk_cairo_surface_coerce_to_image (surface, content, ++ src_x, src_y, ++ width, height); ++ cairo_surface_flush (surface); ++ if (cairo_surface_status (surface) || dest == NULL) ++ { ++ cairo_surface_destroy (surface); ++ return NULL; ++ } ++ ++ if (gdk_pixbuf_get_has_alpha (dest)) ++ convert_alpha (gdk_pixbuf_get_pixels (dest), ++ gdk_pixbuf_get_rowstride (dest), ++ cairo_image_surface_get_data (surface), ++ cairo_image_surface_get_stride (surface), ++ 0, 0, ++ width, height); ++ else ++ convert_no_alpha (gdk_pixbuf_get_pixels (dest), ++ gdk_pixbuf_get_rowstride (dest), ++ cairo_image_surface_get_data (surface), ++ cairo_image_surface_get_stride (surface), ++ 0, 0, ++ width, height); ++ ++ cairo_surface_destroy (surface); ++ return dest; ++} ++ ++#endif ++ + static gint32 + layer_from_pixbuf (gint32 image, + const gchar *layer_name, +@@ -566,6 +758,54 @@ layer_from_pixbuf (gint32 image, + return layer; + } + ++static cairo_surface_t * ++render_page_to_surface (PopplerPage *page, ++ int width, ++ int height, ++ double scale) ++{ ++ cairo_surface_t *surface; ++ cairo_t *cr; ++ ++ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); ++ cr = cairo_create (surface); ++ ++ cairo_save (cr); ++ cairo_translate (cr, 0.0, 0.0); ++ ++ if (scale != 1.0) ++ cairo_scale (cr, scale, scale); ++ ++ poppler_page_render (page, cr); ++ cairo_restore (cr); ++ ++ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER); ++ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); ++ cairo_paint (cr); ++ ++ cairo_destroy (cr); ++ ++ return surface; ++} ++ ++static GdkPixbuf * ++render_page_to_pixbuf (PopplerPage *page, ++ int width, ++ int height, ++ double scale) ++{ ++ GdkPixbuf *pixbuf; ++ cairo_surface_t *surface; ++ ++ surface = render_page_to_surface (page, width, height, scale); ++ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, ++ cairo_image_surface_get_width (surface), ++ cairo_image_surface_get_height (surface)); ++ cairo_surface_destroy (surface); ++ ++ return pixbuf; ++} ++ + static gint32 + load_image (PopplerDocument *doc, + const gchar *filename, +@@ -597,7 +837,7 @@ load_image (PopplerDocument *doc, + gdouble page_width; + gdouble page_height; + +- GdkPixbuf *buf; ++ GdkPixbuf *pixbuf; + gint width; + gint height; + +@@ -627,15 +867,13 @@ load_image (PopplerDocument *doc, + gimp_image_set_resolution (image_ID, resolution, resolution); + } + +- buf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height); +- +- poppler_page_render_to_pixbuf (page, 0, 0, width, height, scale, 0, buf); ++ pixbuf = render_page_to_pixbuf (page, width, height, scale); + +- layer_from_pixbuf (image_ID, page_label, i, buf, ++ layer_from_pixbuf (image_ID, page_label, i, pixbuf, + doc_progress, 1.0 / pages->n_pages); + + g_free (page_label); +- g_object_unref (buf); ++ g_object_unref(pixbuf); + + doc_progress = (double) (i + 1) / pages->n_pages; + gimp_progress_update (doc_progress); +@@ -676,30 +914,22 @@ load_image (PopplerDocument *doc, + return image_ID; + } + +-static GdkPixbuf * +-get_thumbnail (PopplerDocument *doc, +- gint page_num, +- gint preferred_size) ++static cairo_surface_t * ++get_thumb_surface (PopplerDocument *doc, ++ gint page_num, ++ gint preferred_size) + { + PopplerPage *page; +- GdkPixbuf *pixbuf; ++ cairo_surface_t *surface; + + page = poppler_document_get_page (doc, page_num); + + if (! page) + return NULL; + +- /* XXX: Remove conditional when we depend on poppler 0.8.0, but also +- * add configure check to make sure POPPLER_WITH_GDK is enabled! +- */ +-#ifdef POPPLER_WITH_GDK +- pixbuf = poppler_page_get_thumbnail_pixbuf (page); +-#else +- pixbuf = poppler_page_get_thumbnail (page); +-#endif +- ++ surface = poppler_page_get_thumbnail (page); + +- if (! pixbuf) ++ if (! surface) + { + gdouble width; + gdouble height; +@@ -712,15 +942,28 @@ get_thumbnail (PopplerDocument *doc, + width *= scale; + height *= scale; + +- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, +- width, height); +- +- poppler_page_render_to_pixbuf (page, +- 0, 0, width, height, scale, 0, pixbuf); ++ surface = render_page_to_surface (page, width, height, scale); + } + + g_object_unref (page); + ++ return surface; ++} ++ ++static GdkPixbuf * ++get_thumb_pixbuf (PopplerDocument *doc, ++ gint page_num, ++ gint preferred_size) ++{ ++ cairo_surface_t *surface; ++ GdkPixbuf *pixbuf; ++ ++ surface = get_thumb_surface (doc, page_num, preferred_size); ++ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, ++ cairo_image_surface_get_width (surface), ++ cairo_image_surface_get_height (surface)); ++ cairo_surface_destroy (surface); ++ + return pixbuf; + } + +@@ -769,8 +1012,8 @@ thumbnail_thread (gpointer data) + idle_data->page_no = i; + + /* FIXME get preferred size from somewhere? */ +- idle_data->pixbuf = get_thumbnail (thread_data->document, i, +- THUMBNAIL_SIZE); ++ idle_data->pixbuf = get_thumb_pixbuf (thread_data->document, i, ++ THUMBNAIL_SIZE); + + g_idle_add (idle_set_thumbnail, idle_data); + +-- +1.7.5 diff --git a/extra/gnome-phone-manager/PKGBUILD b/extra/gnome-phone-manager/PKGBUILD index 30b0619c1..4bce16951 100644 --- a/extra/gnome-phone-manager/PKGBUILD +++ b/extra/gnome-phone-manager/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 139309 2011-10-01 18:58:06Z ibiru $ +# $Id: PKGBUILD 140561 2011-10-17 08:06:31Z heftig $ # Maintainer: Roman Kyrylych <roman@archlinux.org> pkgname=gnome-phone-manager -pkgver=0.67 +pkgver=0.68 pkgrel=1 pkgdesc="Control your mobile phone from your GNOME desktop." arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ makedepends=('intltool' 'gnome-common') options=('!emptydirs' '!libtool') install=gnome-phone-manager.install source=(http://ftp.gnome.org/pub/GNOME/sources/gnome-phone-manager/${pkgver}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('bb21c57b8bbe0481bccb373765f9d42f260f6005f2d9c55878bfc511a5541caf') +sha256sums=('3777b62ee36492274532ece965f4688600457014f17a6f21dd01fb63bbb77f8f') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/gperf/PKGBUILD b/extra/gperf/PKGBUILD index fa560e23b..7c3ec52bc 100644 --- a/extra/gperf/PKGBUILD +++ b/extra/gperf/PKGBUILD @@ -1,18 +1,20 @@ -# $Id: PKGBUILD 125923 2011-05-31 21:45:14Z andrea $ +# $Id: PKGBUILD 140657 2011-10-17 19:09:57Z andrea $ # Maintainer: # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=gperf pkgver=3.0.4 -pkgrel=3 +pkgrel=4 pkgdesc="Perfect hash function generator" arch=('x86_64' 'i686') url="http://www.gnu.org/software/gperf/" license=('GPL3') depends=('gcc-libs' 'texinfo') install=gperf.install -source=("http://ftp.gnu.org/pub/gnu/gperf/${pkgname}-${pkgver}.tar.gz") -md5sums=('c1f1db32fb6598d6a93e6e88796a8632') +source=("http://ftp.gnu.org/pub/gnu/gperf/${pkgname}-${pkgver}.tar.gz"{,.sig}) +sha1sums=('e32d4aff8f0c730c9a56554377b2c6d82d0951b8' + '85b8c44964a70a63d751afa5906796a0417e64ce') +options=('!makeflags') build() { cd "${srcdir}"/${pkgname}-${pkgver} @@ -21,8 +23,12 @@ build() { make } +check() { + cd "${srcdir}"/${pkgname}-${pkgver} + make check +} + package() { cd "${srcdir}"/${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install - gzip "${pkgdir}"/usr/share/info/gperf.info } diff --git a/extra/gperf/gperf.install b/extra/gperf/gperf.install index cdb8f9de8..90ac2a86d 100644 --- a/extra/gperf/gperf.install +++ b/extra/gperf/gperf.install @@ -1,4 +1,4 @@ -infodir=/usr/share/info +infodir=usr/share/info file=gperf.info.gz post_install() { diff --git a/extra/inkscape/PKGBUILD b/extra/inkscape/PKGBUILD index abb468e30..19bb5fbef 100644 --- a/extra/inkscape/PKGBUILD +++ b/extra/inkscape/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 137989 2011-09-13 21:30:09Z eric $ +# $Id: PKGBUILD 140573 2011-10-17 08:14:49Z jgc $ # Contributor: tobias <tobias@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=inkscape pkgver=0.48.2 -pkgrel=2 +pkgrel=3 pkgdesc='Vector graphics editor using the SVG file format' url='http://inkscape.sourceforge.net/' arch=('i686' 'x86_64') diff --git a/extra/koffice/PKGBUILD b/extra/koffice/PKGBUILD index e901013ce..2425f5077 100644 --- a/extra/koffice/PKGBUILD +++ b/extra/koffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 139889 2011-10-05 19:06:53Z andrea $ +# $Id: PKGBUILD 140575 2011-10-17 08:14:55Z jgc $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > @@ -37,13 +37,13 @@ pkgname=( # 'koffice-kdgantt' # still an empty package ) pkgver=2.3.3 -pkgrel=8 +pkgrel=9 arch=('i686' 'x86_64') url='http://koffice.kde.org' license=('GPL' 'LGPL' 'FDL') makedepends=('pkg-config' 'cmake' 'automoc4' 'boost' 'eigen' 'gsl' 'lcms' 'glew' 'qimageblitz' 'kdepimlibs' 'pstoedit' 'poppler-qt' 'libwpd' - 'libwpg' 'opengtl' 'libkdcraw') + 'libwpg' 'opengtl' 'libkdcraw' 'oxygen-icons') groups=('koffice') source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2" 'kde4-koffice-libwpg02.patch' 'gcc46.patch') @@ -55,7 +55,7 @@ build() { cd "${srcdir}/${pkgbase}-${pkgver}" patch -p1 -i "${srcdir}/kde4-koffice-libwpg02.patch" - patch -p1 -i "${srcdir}"/gcc46.patch + patch -p1 -i "${srcdir}"/gcc46.patch cd "${srcdir}" mkdir build @@ -71,9 +71,12 @@ build() { package_koffice-filters(){ pkgdesc="Filters for the KDE office suite" - optdepends=('libgsf: Microsoft Word document importer' 'libwpd: WordPerfect document importer' - 'libwpg: Corel WordPerfect Graphics image importer' 'pstoedit: Karbon EPS import filter' - 'libkdcraw: support for raw images') + depends=('shared-mime-info') + optdepends=('libgsf: Microsoft Word document importer' 'libwpd: WordPerfect document importer' + 'libwpg: Corel WordPerfect Graphics image importer' 'pstoedit: Karbon EPS import filter' + 'libkdcraw: support for raw images' 'poppler: support for pdf' + 'koffice-kspread: Kspread filters' 'koffice-karbon: Karbon filters' + 'koffice-kplato: Kplato filters') install=filters.install cd "${srcdir}/build/filters" make DESTDIR="${pkgdir}" install @@ -81,14 +84,14 @@ package_koffice-filters(){ package_koffice-interfaces(){ pkgdesc="Interfaces for the KDE office suite" - depends=('kdelibs' 'koffice-libs') + depends=('koffice-libs') cd "${srcdir}/build/interfaces" make DESTDIR="${pkgdir}" install } package_koffice-libs(){ pkgdesc="Libs for the KDE office suite" - depends=('kdepimlibs' 'qca' 'lcms' 'koffice-servicetypes') + depends=('kdepimlibs' 'lcms' 'koffice-servicetypes') cd "${srcdir}/build/libs" make DESTDIR="${pkgdir}" install } @@ -104,6 +107,7 @@ package_koffice-plugins(){ package_koffice-pics(){ pkgdesc="Icons for the KDE office suite" + depends=('desktop-file-utils' 'xdg-utils') install=koffice.install cd "${srcdir}/build/pics" make DESTDIR="${pkgdir}" install @@ -123,7 +127,7 @@ package_koffice-templates(){ package_koffice-tools(){ pkgdesc="Tools for the KDE office suite" - depends=('koffice-libs') + depends=('koffice-libs' 'oxygen-icons') cd "${srcdir}/build/tools" make DESTDIR="${pkgdir}" install } @@ -134,7 +138,7 @@ package_koffice-tools(){ package_koffice-karbon(){ pkgdesc="Vector drawing application for KDE" - depends=('hicolor-icon-theme' 'koffice-libs' 'koffice-templates') + depends=('koffice-libs' 'koffice-templates' 'oxygen-icons') optdepends=('koffice-filters: import/export filters') install=koffice.install cd "${srcdir}/build/karbon" @@ -149,7 +153,8 @@ package_koffice-karbon-doc(){ package_koffice-kexi(){ pkgdesc="Integrated data management application for the KDE office suite" - depends=('kdelibs' 'koffice-libs' 'koffice-kspread' 'sqlite3') + depends=('koffice-kspread' 'oxygen-icons') + install=koffice.install cd "${srcdir}/build/kexi" make DESTDIR="${pkgdir}" install } @@ -162,7 +167,8 @@ package_koffice-kexi-doc(){ package_koffice-kformula(){ pkgdesc="Formula editor for the KDE office suite" - depends=('kdelibs' 'koffice-libs') + depends=('koffice-libs') + install=koffice.install cd "${srcdir}/build/kformula" make DESTDIR="${pkgdir}" install } @@ -176,15 +182,14 @@ package_koffice-kformula-doc() { package_koffice-kounavail(){ pkgdesc="Kounavail for the KDE office suite" - depends=('kdelibs' 'koffice-libs') + depends=('koffice-libs') cd "${srcdir}/build/kounavail" make DESTDIR="${pkgdir}" install } package_koffice-kplato(){ pkgdesc="Project management application for KDE" - depends=('hicolor-icon-theme' 'koffice-libs' 'kdepimlibs' 'koffice-templates' \ - 'koffice-plugins' 'koffice-kword') + depends=('koffice-kword' 'oxygen-icons') install=koffice.install cd "${srcdir}/build/kplato" make DESTDIR="${pkgdir}" install @@ -198,7 +203,7 @@ package_koffice-kplato(){ package_koffice-kpresenter(){ pkgdesc="Presentation tool for KDE" - depends=('hicolor-icon-theme' 'koffice-libs' 'koffice-templates') + depends=('koffice-libs' 'koffice-templates' 'oxygen-icons') optdepends=('koffice-filters: import/export filters') install=koffice.install cd "${srcdir}/build/kpresenter" @@ -213,10 +218,9 @@ package_koffice-kpresenter-doc(){ package_koffice-krita(){ pkgdesc="Graphics editor for KDE" - depends=('hicolor-icon-theme' 'glew' 'qimageblitz' 'koffice-libs' \ - 'koffice-templates' 'koffice-plugins' 'poppler-qt' 'shared-mime-info' \ - 'openexr' 'opengtl') - optdepends=('koffice-filters: import/export filters') + depends=('glew' 'qimageblitz' 'oxygen-icons' 'koffice-templates' \ + 'koffice-plugins' 'poppler-qt' 'opengtl') + optdepends=('koffice-filters: import/export filters' 'libkdcraw: support for raw images') install=krita.install cd "${srcdir}/build/krita" make DESTDIR="${pkgdir}" install @@ -231,7 +235,7 @@ package_koffice-krita(){ package_koffice-kspread(){ pkgdesc="Spreadsheet application for KDE" - depends=('hicolor-icon-theme' 'gsl' 'koffice-libs' 'koffice-templates' 'koffice-plugins') + depends=('gsl' 'koffice-templates' 'koffice-plugins' 'oxygen-icons') optdepends=('koffice-filters: import/export filters') install=koffice.install cd "${srcdir}/build/kspread" @@ -246,7 +250,7 @@ package_koffice-kspread-doc(){ package_koffice-kword(){ pkgdesc="Wordprocessor for KDE" - depends=('hicolor-icon-theme' 'koffice-libs' 'koffice-templates' 'koffice-pics' \ + depends=('koffice-templates' 'koffice-pics' 'oxygen-icons' \ 'koffice-kounavail' 'koffice-plugins') optdepends=('koffice-filters: import/export filters') install=koffice.install diff --git a/extra/koffice/koffice.install b/extra/koffice/koffice.install index e70c054ec..6c87527e2 100644 --- a/extra/koffice/koffice.install +++ b/extra/koffice/koffice.install @@ -1,5 +1,6 @@ post_install() { xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q } post_upgrade() { diff --git a/extra/koffice/krita.install b/extra/koffice/krita.install index ce5c32e1b..5d458de55 100644 --- a/extra/koffice/krita.install +++ b/extra/koffice/krita.install @@ -1,6 +1,7 @@ post_install() { xdg-icon-resource forceupdate --theme hicolor &> /dev/null update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q } post_upgrade() { @@ -9,4 +10,4 @@ post_upgrade() { post_remove() { post_install -}
\ No newline at end of file +} diff --git a/extra/libhangul/PKGBUILD b/extra/libhangul/PKGBUILD index fb65acc74..b5dd98216 100644 --- a/extra/libhangul/PKGBUILD +++ b/extra/libhangul/PKGBUILD @@ -1,18 +1,19 @@ -# $Id: PKGBUILD 110870 2011-02-22 20:13:14Z bisson $ +# $Id: PKGBUILD 140549 2011-10-17 07:24:10Z bisson $ # Contributor: damir <damir@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=libhangul -pkgver=0.0.12 -pkgrel=2 -_filecode=5855 +pkgver=0.1.0 +pkgrel=1 +_filecode=6000 pkgdesc='Input method library for Korean' arch=('i686' 'x86_64') url='http://kldp.net/projects/hangul/' license=('LGPL') options=('!libtool') -source=("http://kldp.net/frs/download.php/${_filecode}/${pkgname}-${pkgver}.tgz") -sha1sums=('5e02fe61c8f51ace03bebb1ec75875a2262e3cd5') +DLAGENTS=("http::/usr/bin/curl -A '' -fLC - --retry 3 --retry-delay 3 -o %o %u") # moronic httpd bans curl's user-agent +source=("http://kldp.net/frs/download.php/${_filecode}/${pkgname}-${pkgver}.tar.gz") +sha1sums=('9c6f3a82f2d4068771215f1b9f13a0d4bdbbfc77') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index 92f5cb6d6..15b67b82a 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 138502 2011-09-25 14:55:46Z andyrtr $ +# $Id: PKGBUILD 140577 2011-10-17 08:15:00Z jgc $ # Maintainer: AndyRTR <andyrtr@archlinux.org> pkgbase="libreoffice" @@ -37,7 +37,7 @@ pkgname=('libreoffice-common' 'libreoffice-extension-wiki-publisher') _LOver=3.4.3.2 pkgver=3.4.3 -pkgrel=2 +pkgrel=4 arch=('i686' 'x86_64') #_LO_tree="3.4" _OFFICEUPD="340" @@ -45,7 +45,7 @@ license=('LGPL3') url="http://www.libreoffice.org/" makedepends=( # makedepends 'sane' 'perl-archive-zip' 'zip' 'unzip' 'xulrunner' 'unixodbc' 'hsqldb-java' #'boost' - we use internal one for now that has some gcc4.6 fixes. - 'apache-ant' 'gperf' 'poppler' 'kdelibs' 'gconf' 'cppunit' #'libmysqlclient' + 'apache-ant' 'gperf' 'poppler>=0.18.0' 'kdelibs' 'gconf' 'cppunit' #'libmysqlclient' 'beanshell' 'vigra' 'libldap' 'lucene' 'libmythes' 'junit' 'libwpg' 'imagemagick' 'mesa' 'gstreamer0.10-base' 'java-environment' #'saxon' - currently broken @@ -53,7 +53,7 @@ makedepends=( # makedepends "curl>=7.20.0" "hunspell>=1.2.8" "python2>=2.7" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' "icu>=4.6" 'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' #'libgraphite' - 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' # keep gtk2 for install script + 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'orbit2' # keep gtk2 for install script 'ttf-dejavu') # to satisfy regression tests # translate-toolkit - todo move them to extra to allow --with-system-foo builds # http://download.documentfoundation.org/mirrors/all.html @@ -105,7 +105,13 @@ source=(${_mirror}/${pkgbase}-{artwork,base,bootstrap,calc,components,extensions buildfix_boost.diff buildfix_ct2n.diff vbahelper.visibility.patch - scp2-more-reasonable-file-access-rights.diff) + scp2-more-reasonable-file-access-rights.diff + java-detection.diff::http://cgit.freedesktop.org/libreoffice/libs-core/patch/?id=14bc9100d36eae3999f1623efce8ee84091da842 + oracle-recognition.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=549e54fb2f8113502743c443d6deadfe648dede1 + poppler-check.diff::http://cgit.freedesktop.org/libreoffice/bootstrap/patch/?id=72a5f87cb3f0a367f1cd6a5cc15101acc83396fe + pdfimport.diff::http://cgit.freedesktop.org/libreoffice/extensions/patch/?id=53e66aea4c1b3617363fd138a7903190d964da6b + poppler-buildfix.diff::http://cgit.freedesktop.org/libreoffice/extensions/patch/?id=9540db43f3f1b11d3407a45aefda235d7e78f76b + build-without-glib-poppler-bindings.diff::http://cgit.freedesktop.org/libreoffice/extensions/patch/?id=a9cc06fa45d4cd9547f40a9869c64c912b821b42) noextract=(185d60944ea767075d27247c3162b3bc-unowinreg.dll b4cae0700aa1c2aef7eb7f345365e6f1-translate-toolkit-1.8.1.tar.bz2 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2 @@ -206,7 +212,13 @@ md5sums=('7c2e73f1197d169519f86efe422e5df9' 'bc228237108cab7745897a9f466b6d39' 'eee273f501ff45dc5f1365e78c6d57c0' '43b145db28e6c0d73578ae6fd35e510d' - '37638431e7e40baf2e47966ebb9bc0e9') + '37638431e7e40baf2e47966ebb9bc0e9' + 'ca6032e86229ae798f3744ae244f5bfe' + '3c6c62e77c30649a3dfe73512947cc9a' + '64497be966802e62ffe3282d3facf7b7' + '89ff871e77e10357a976fe9d1ab3a65a' + 'c4cb0d7f2602396a3f4cac55b8a4e308' + 'b8f1fb7f3902d22aeaa2575c6b08a62c') build() { @@ -236,6 +248,12 @@ build() { patch -Np1 -i ${srcdir}/buildfix_ct2n.diff patch -Np0 -i ${srcdir}/vbahelper.visibility.patch patch -Np0 -i ${srcdir}/scp2-more-reasonable-file-access-rights.diff + patch -Np1 -i ${srcdir}/java-detection.diff + patch -Np1 -i ${srcdir}/oracle-recognition.diff + patch -Np1 -i ${srcdir}/poppler-check.diff + patch -Np1 -i ${srcdir}/pdfimport.diff + patch -Np1 -i ${srcdir}/poppler-buildfix.diff + patch -Np1 -i ${srcdir}/build-without-glib-poppler-bindings.diff # unset C(XX)FLAGS # http://www.openoffice.org/issues/show_bug.cgi?id=103205 @@ -376,7 +394,7 @@ package_libreoffice-common() { depends=('libreoffice-langpack' "curl>=7.20.0" "hunspell>=1.2.8" "python2>=2.7" 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'libxslt' "icu>=4.6" 'redland' 'hyphen' 'gcc-libs' 'sh' 'libtextcat' #'libgraphite' - 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2') # keep gtk2 for install script + 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'orbit2') # keep gtk2 for install script #'java-runtime' #'saxon' optdepends=('libreoffice-langpack: additional language support' diff --git a/extra/liquidwar/PKGBUILD b/extra/liquidwar/PKGBUILD index accbd157d..21c1c51b8 100644 --- a/extra/liquidwar/PKGBUILD +++ b/extra/liquidwar/PKGBUILD @@ -1,29 +1,30 @@ -# $Id: PKGBUILD 63784 2010-01-18 15:14:56Z ibiru $ -# Contributor: Tom Newsom <Jeepster@gmx.co.uk> -# Maintainer: Jason Chu <jason@archlinux.org> +# $Id: PKGBUILD 140692 2011-10-18 03:46:14Z eric $ # Maintainer: Jeff Mickey <jeff@archlinux.org> pkgname=liquidwar pkgver=5.6.4 -pkgrel=4 +pkgrel=5 pkgdesc="A unique multiplayer wargame" arch=('i686' 'x86_64') url="http://www.ufoot.org/liquidwar/" license=('GPL') -depends=('allegro>=4.4.0.1') -makedepends=('python') +depends=('allegro4') +makedepends=('python2') install=liquidwar.install -source=(http://www.ufoot.org/download/$pkgname/v5/$pkgver/$pkgname-$pkgver.tar.gz) -md5sums=('6917dd1026e6685404ffbd086f8ba374') -sha1sums=('a3006c4da9517c3af3b7bf165b2c86fa369a71c6') +source=(http://www.ufoot.org/download/$pkgname/v5/$pkgver/$pkgname-$pkgver.tar.gz + http://www.ufoot.org/sig/$pkgname-$pkgver.tar.gz.sig) +sha1sums=('a3006c4da9517c3af3b7bf165b2c86fa369a71c6' + 'a262967d60e0f04ac5b99693144ef6b0038bb6c4') build() { cd "$srcdir/$pkgname-$pkgver" + sed -i 's/python/python2/' doc/Makefile.in [ "$CARCH" == "x86_64" ] && EXTRAOPTS="--disable-asm" - ./configure --prefix=/usr --disable-doc-ps --disable-doc-pdf --disable-doc-php3 $EXTRAOPTS || return 1 - sed -i 's|$(EXTERN_LIBS)|$(EXTERN_LIBS) -lm|' src/Makefile || return 1 - make GAMEDIR=/usr/bin DATADIR=/usr/share/$pkgname || return 1 - make DESTDIR="$pkgdir" DATADIR=/usr/share/$pkgname install || return 1 - mv "$pkgdir"/usr/games/* "$pkgdir/usr/bin/" - rmdir "${pkgdir}/usr/games" + LIBS='-lm' PYTHON=yes ./configure --prefix=/usr $EXTRAOPTS + make GAMEDIR=/usr/bin DATADIR=/usr/share/liquidwar +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" GAMEDIR=/usr/bin DATADIR=/usr/share/liquidwar install_nolink } diff --git a/extra/liquidwar/liquidwar.install b/extra/liquidwar/liquidwar.install index e864e83ea..9c98acbc7 100644 --- a/extra/liquidwar/liquidwar.install +++ b/extra/liquidwar/liquidwar.install @@ -1,4 +1,4 @@ -infodir=/usr/share/info +infodir=usr/share/info file=(liquidwar.info.gz) post_install() { diff --git a/extra/m17n-lib/PKGBUILD b/extra/m17n-lib/PKGBUILD index 103eae831..79f265f48 100644 --- a/extra/m17n-lib/PKGBUILD +++ b/extra/m17n-lib/PKGBUILD @@ -1,29 +1,27 @@ -# $Id: PKGBUILD 106797 2011-01-19 09:42:18Z bisson $ +# $Id: PKGBUILD 140555 2011-10-17 07:25:46Z bisson $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Camille Moncelier <pix@devlife.org> pkgname=m17n-lib -pkgver=1.6.2 -pkgrel=2 -pkgdesc='A multilingual text processing library (runtimes)' +pkgver=1.6.3 +pkgrel=1 +pkgdesc='Multilingual text processing library (runtimes)' arch=('i686' 'x86_64') url='http://www.m17n.org/m17n-lib/' license=('GPL') -depends=('libxft' 'm17n-db' 'fribidi' 'libxml2' 'gd' 'libotf>=0.9.11') +depends=('libxft' 'm17n-db' 'fribidi' 'libxml2' 'gd' 'libotf') optdepends=('anthy: to use the anthy input method') -options=('!libtool' '!makeflags') -source=("http://www.m17n.org/m17n-lib-download/$pkgname-$pkgver.tar.gz" - 'locale.patch') -sha1sums=('9b9ada79357dd56c90c64cd36845c5537c363d79' - '55a09b9d8e6ea590d5c8f06d1397bfa0b00c1697') +options=('!libtool' '!emptydirs') +source=("http://www.m17n.org/m17n-lib-download/${pkgname}-${pkgver}.tar.gz") +sha1sums=('b3a725b1c417f167f6b2c6b7889b7d728a1e6b8f') build() { - cd "$srcdir/$pkgname-$pkgver" - patch -p1 -i ../locale.patch # cf. FS#20482 - ./configure --prefix=/usr - make + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --enable-static=no + make } package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/extra/msmtp/PKGBUILD b/extra/msmtp/PKGBUILD index 13a4df9e5..3aad52a3b 100644 --- a/extra/msmtp/PKGBUILD +++ b/extra/msmtp/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 135802 2011-08-18 15:04:35Z andyrtr $ +# $Id: PKGBUILD 140559 2011-10-17 07:57:05Z eric $ # Maintainer: tobias <tobias@archlinux.org> # Contributor: Ben Mazer <blm@groknil.org> pkgname=msmtp -pkgver=1.4.24 -pkgrel=3 +pkgver=1.4.25 +pkgrel=1 pkgdesc="A mini smtp client" arch=('i686' 'x86_64') license=('GPL3') @@ -14,7 +14,7 @@ makedepends=('texlive-core') provides=('smtp-forwarder') install=msmtp.install source=(http://download.sourceforge.net/sourceforge/msmtp/${pkgname}-${pkgver}.tar.bz2) -md5sums=('3ed704fbd3e7419cab5c65bb7928d9ba') +md5sums=('2d9603a7b5c1ebd83ea289ac2aa3a634') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/openbabel/PKGBUILD b/extra/openbabel/PKGBUILD index a265af7a1..95e04efaa 100644 --- a/extra/openbabel/PKGBUILD +++ b/extra/openbabel/PKGBUILD @@ -1,12 +1,11 @@ -# $Id: PKGBUILD 99851 2010-11-18 20:52:23Z andrea $ +# $Id: PKGBUILD 140672 2011-10-18 02:34:13Z eric $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> pkgname=openbabel -pkgver=2.3.0 -pkgrel=3 -pkgdesc="A library designed to interconvert between many file formats used in \ -molecular modeling and computational chemistry" +pkgver=2.3.1 +pkgrel=1 +pkgdesc="A library designed to interconvert between many file formats used in molecular modeling and computational chemistry" arch=('i686' 'x86_64') url="http://openbabel.org/wiki/Main_Page" license=('GPL') @@ -16,10 +15,10 @@ optdepends=('eigen: to use bindings' 'wxgtk: GUI interface') options=('!libtool') source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz") -md5sums=('effda01ed4a31d18d8e3d08191799608') +md5sums=('1f029b0add12a3b55582dc2c832b04f8') build() { - cd ${srcdir} + cd "${srcdir}" mkdir build cd build cmake ../${pkgname}-${pkgver} \ @@ -29,6 +28,6 @@ build() { } package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install } diff --git a/extra/poppler/PKGBUILD b/extra/poppler/PKGBUILD index acb5e1164..6c9dd0e62 100644 --- a/extra/poppler/PKGBUILD +++ b/extra/poppler/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 137658 2011-09-10 10:56:37Z pierre $ +# $Id: PKGBUILD 140587 2011-10-17 08:15:19Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=poppler pkgname=('poppler' 'poppler-glib' 'poppler-qt') -pkgver=0.16.7 -pkgrel=2 +pkgver=0.18.0 +pkgrel=1 arch=(i686 x86_64) license=('GPL') -makedepends=('libjpeg' 'gcc-libs' 'cairo' 'libxml2' 'fontconfig' 'openjpeg' 'gtk2' 'qt' 'pkgconfig' 'lcms' 'gobject-introspection') -options=('!libtool') +makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt' 'pkgconfig' 'lcms' 'gobject-introspection') +options=('!libtool' '!emptydirs') url="http://poppler.freedesktop.org/" source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz) -md5sums=('3afa28e3c8c4f06b0fbca3c91e06394e') +md5sums=('4cd3bf2a0a13fa8eaf00d31368915f77') build() { cd "${srcdir}/${pkgbase}-${pkgver}" @@ -29,7 +29,7 @@ build() { package_poppler() { pkgdesc="PDF rendering library based on xpdf 3.0" - depends=('libjpeg' 'gcc-libs' 'cairo' 'libxml2' 'fontconfig' 'openjpeg' 'lcms' 'poppler-data') + depends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'lcms' 'poppler-data') conflicts=("poppler-qt3<${pkgver}") cd "${srcdir}/${pkgbase}-${pkgver}" @@ -42,7 +42,7 @@ package_poppler() { package_poppler-glib() { pkgdesc="Poppler glib bindings" - depends=("poppler=${pkgver}" 'gtk2') + depends=("poppler=${pkgver}" 'glib2') cd "${srcdir}/${pkgbase}-${pkgver}/poppler" make DESTDIR="${pkgdir}" install-libLTLIBRARIES @@ -51,6 +51,7 @@ package_poppler-glib() { install -m755 -d "${pkgdir}/usr/lib/pkgconfig" install -m644 ../poppler-glib.pc "${pkgdir}/usr/lib/pkgconfig/" rm -f "${pkgdir}"/usr/lib/libpoppler.* + rm -f "${pkgdir}/usr/bin/poppler-glib-demo" } package_poppler-qt() { diff --git a/extra/qtcurve-gtk2/PKGBUILD b/extra/qtcurve-gtk2/PKGBUILD index 61497abd3..37376fedd 100644 --- a/extra/qtcurve-gtk2/PKGBUILD +++ b/extra/qtcurve-gtk2/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 130208 2011-07-04 08:59:54Z andrea $ +# $Id: PKGBUILD 140659 2011-10-17 19:15:55Z ronald $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=qtcurve-gtk2 -pkgver=1.8.9 +pkgver=1.8.11 pkgrel=1 arch=('i686' 'x86_64') groups=('qtcurve') @@ -14,7 +14,7 @@ depends=('gtk2') makedepends=('pkgconfig' 'cmake') options=('!libtool') source=("http://craigd.wikispaces.com/file/view/QtCurve-Gtk2-${pkgver}.tar.bz2") -md5sums=('e3248bd1b926f250b3a6ff9699134abd') +sha1sums=('113f2e7f5925323acbcf63977e4c71e60678b69c') build() { cd "${srcdir}" diff --git a/extra/qtcurve-kde4/PKGBUILD b/extra/qtcurve-kde4/PKGBUILD index 05191b22b..cf5716603 100644 --- a/extra/qtcurve-kde4/PKGBUILD +++ b/extra/qtcurve-kde4/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 130203 2011-07-04 08:57:57Z andrea $ +# $Id: PKGBUILD 140653 2011-10-17 18:59:52Z ronald $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=qtcurve-kde4 -pkgver=1.8.8 +pkgver=1.8.9 pkgrel=1 arch=('i686' 'x86_64') groups=('qtcurve') @@ -14,9 +14,8 @@ depends=('kdebase-workspace') makedepends=('cmake' 'automoc4') source=("http://craigd.wikispaces.com/file/view/QtCurve-KDE4-${pkgver}.tar.bz2" 'bypass-kde-config.patch') -md5sums=('b264d80b4c1e0e8d59e91d571cb639e4' - '3f6681147cc361bd2bfd4d7477f2a8d0') - +sha1sums=('93bc8ce3e5bed506521a8839a254f7076b4bc988' + '8005c8bf0e9c5d75e80b417a01513bd45853274c') build() { cd "${srcdir}"/QtCurve-KDE4-${pkgver} # Bypass KDE prefix detection by kde4-config, see: diff --git a/extra/scim-hangul/PKGBUILD b/extra/scim-hangul/PKGBUILD index ee612c62e..527151486 100644 --- a/extra/scim-hangul/PKGBUILD +++ b/extra/scim-hangul/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 111080 2011-02-23 22:13:26Z bisson $ +# $Id: PKGBUILD 140551 2011-10-17 07:24:46Z bisson $ # Contributor: damir <damir@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=scim-hangul pkgver=0.3.2 -pkgrel=3 +pkgrel=4 pkgdesc='Korean input method module for SCIM' arch=('i686' 'x86_64') url='http://www.scim-im.org/' diff --git a/extra/seahorse/PKGBUILD b/extra/seahorse/PKGBUILD index 66873bff2..7c87faf38 100644 --- a/extra/seahorse/PKGBUILD +++ b/extra/seahorse/PKGBUILD @@ -1,24 +1,28 @@ -# $Id: PKGBUILD 139427 2011-10-01 19:01:16Z ibiru $ +# $Id: PKGBUILD 140590 2011-10-17 08:52:42Z heftig $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Michel Brabants <michel.linux@tiscali.be> pkgname=seahorse pkgver=3.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="GNOME application for managing PGP keys." arch=(i686 x86_64) license=('GPL') url="http://projects.gnome.org/seahorse/" depends=('gtk3' 'libgnome-keyring' 'gnome-keyring' 'libsoup' 'gpgme' 'desktop-file-utils' 'hicolor-icon-theme' 'dconf') makedepends=('gettext' 'libldap' 'intltool' 'pkgconfig' 'gnome-doc-utils' 'gobject-introspection' 'openssh' 'libsm') +optdepends=('openssh: SSH support') +provides=('x11-ssh-askpass') options=('!libtool' '!emptydirs') groups=('gnome-extra') install=seahorse.install -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('ef76aed10bac519fa854a869dc713cd7b49a41fbd2085647067444595302b6f7') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + seahorse-ssh-askpass.sh) +sha256sums=('ef76aed10bac519fa854a869dc713cd7b49a41fbd2085647067444595302b6f7' + '1792ab2c0bbad446b8fad0a0c9008a75f60a9666c895d37d2adcd827e49fafbb') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ --enable-ldap --enable-hkp \ @@ -29,6 +33,8 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm755 "$srcdir/seahorse-ssh-askpass.sh" \ + "$pkgdir/etc/profile.d/seahorse-ssh-askpass.sh" } diff --git a/extra/seahorse/seahorse-ssh-askpass.sh b/extra/seahorse/seahorse-ssh-askpass.sh new file mode 100644 index 000000000..44281ac2b --- /dev/null +++ b/extra/seahorse/seahorse-ssh-askpass.sh @@ -0,0 +1,3 @@ +if [ -z "$SSH_ASKPASS" ]; then + export SSH_ASKPASS=/usr/lib/seahorse/seahorse-ssh-askpass +fi diff --git a/extra/tracker/PKGBUILD b/extra/tracker/PKGBUILD index 0130a76a8..d9b62ca2d 100644 --- a/extra/tracker/PKGBUILD +++ b/extra/tracker/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 139445 2011-10-01 19:01:47Z ibiru $ +# $Id: PKGBUILD 140581 2011-10-17 08:15:06Z jgc $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Alexander Fehr <pizzapunk gmail com> pkgbase=tracker pkgname=(tracker libtracker-sparql) -pkgver=0.12.3 +pkgver=0.12.5 _tver=${pkgver%.*} pkgrel=1 pkgdesc="All-in-one indexer, search tool and metadata database" @@ -15,12 +15,11 @@ makedepends=('libgee' 'libgnome-keyring' 'upower' 'libexif' 'exempi' 'poppler-glib' 'libgsf' 'icu' 'enca' 'networkmanager' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme' 'gobject-introspection' 'intltool' 'giflib' 'gstreamer0.10-base' 'totem-plparser' - 'evolution' 'taglib' 'nautilus' 'gnome-panel' 'libvorbis' 'flac' - 'vala') + 'taglib' 'nautilus' 'gnome-panel' 'libvorbis' 'flac' 'vala') url="http://www.gnome.org" options=('!libtool' '!emptydirs') source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/$_tver/$pkgbase-$pkgver.tar.xz) -sha256sums=('97c9e151d48878409129eeeea2da0716f14a52d6097d8db3b304c6af0b7ae187') +sha256sums=('5fddbda9df10fada07f335751370e46b5e2b5ef971d4da8efd47ea795d7b5c5b') build() { cd "$srcdir/$pkgbase-$pkgver" @@ -44,7 +43,6 @@ package_tracker() { optdepends=('giflib: extractor for GIF data' 'gstreamer0.10-base: video extractor' 'totem-plparser: playlist support' - 'evolution: Evolution email data miner' 'nautilus: nautilus-extension' 'libvorbis: Vorbis metadata extractor' 'flac: FLAC metadata extractor' diff --git a/extra/tumbler/PKGBUILD b/extra/tumbler/PKGBUILD index ffefa7234..b18e5e01d 100644 --- a/extra/tumbler/PKGBUILD +++ b/extra/tumbler/PKGBUILD @@ -1,25 +1,27 @@ -# $Id: PKGBUILD 138679 2011-09-27 15:18:13Z tpowa $ +# $Id: PKGBUILD 140583 2011-10-17 08:15:09Z jgc $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Jan Jezek <honzin.jezek@gmail.com> pkgname=tumbler pkgver=0.1.22 -pkgrel=2 +pkgrel=3 pkgdesc="D-Bus service for applications to request thumbnails" url="http://git.xfce.org/xfce/tumbler/" license=('GPL2' 'LGPL') arch=('i686' 'x86_64') groups=('xfce4') -depends=('poppler-glib' 'dbus-glib') -makedepends=('intltool' 'ffmpegthumbnailer') +depends=('poppler-glib' 'dbus-glib' 'bzip2' 'gdk-pixbuf2') +makedepends=('intltool' 'ffmpegthumbnailer' 'gstreamer0.10') optdepends=('ffmpegthumbnailer: for video thumbnails' 'gstreamer0.10: for video thumbnails') options=('!libtool') source=(http://archive.xfce.org/src/apps/${pkgname}/0.1/${pkgname}-${pkgver}.tar.bz2 fix-video-image.patch) +md5sums=('e7ba3b8f21f8f7e736f1e214906b4ca9' + 'be9b0f1c3a4b0be102774c84d5ac29e6') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i ../fix-video-image.patch ./configure --prefix=/usr \ --sysconfdir=/etc \ @@ -30,8 +32,6 @@ build() { } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=$pkgdir install + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } -md5sums=('e7ba3b8f21f8f7e736f1e214906b4ca9' - 'be9b0f1c3a4b0be102774c84d5ac29e6') diff --git a/extra/xf86-video-vesa/PKGBUILD b/extra/xf86-video-vesa/PKGBUILD index 480cdcaa7..91d85103c 100644 --- a/extra/xf86-video-vesa/PKGBUILD +++ b/extra/xf86-video-vesa/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 140288 2011-10-11 21:28:18Z jgc $ +# $Id: PKGBUILD 140592 2011-10-17 09:55:09Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-vesa pkgver=2.3.0 -pkgrel=6 +pkgrel=7 pkgdesc="X.org vesa video driver" arch=(i686 x86_64) license=('custom') @@ -14,13 +14,16 @@ conflicts=('xorg-server<1.10.99.902') groups=('xorg-drivers' 'xorg') options=('!libtool') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 - git-fixes.patch) + git-fixes.patch + revert-kernelcheck.patch) sha1sums=('4689b7c295d7a8d7326302dafecb812739617134' - '1e54ae50daa796ab0c29c8088f25e522dc6faa4a') + '1e54ae50daa796ab0c29c8088f25e522dc6faa4a' + 'c14454521ac91aaa08aad8a6025d7720a613d54b') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/git-fixes.patch" + patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch" autoreconf -fi ./configure --prefix=/usr make diff --git a/extra/xf86-video-vesa/git-fixes.patch b/extra/xf86-video-vesa/git-fixes.patch new file mode 100644 index 000000000..c4f442265 --- /dev/null +++ b/extra/xf86-video-vesa/git-fixes.patch @@ -0,0 +1,444 @@ +diff --git a/COPYING b/COPYING +index 22b4b13..f101fb8 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,4 +1,5 @@ + Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) ++Copyright 2008 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), +diff --git a/configure.ac b/configure.ac +index ff4713d..2e4f542 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,45 +20,44 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-vesa], +- 2.3.0, ++ [2.3.0], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-vesa) +- ++ [xf86-video-vesa]) + AC_CONFIG_SRCDIR([Makefile.am]) +-AM_CONFIG_HEADER([config.h]) ++AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR(.) + ++# Initialize Automake + AM_INIT_AUTOMAKE([foreign dist-bzip2]) +- + AM_MAINTAINER_MODE + +-# Require xorg-macros: XORG_DEFAULT_OPTIONS ++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS + m4_ifndef([XORG_MACROS_VERSION], +- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +-XORG_MACROS_VERSION(1.3) ++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) ++XORG_MACROS_VERSION(1.8) + XORG_DEFAULT_OPTIONS + +-# Checks for programs. ++# Initialize libtool + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-AC_PROG_CC + + AH_TOP([#include "xorg-server.h"]) + ++# Define a configure option for an alternate module directory + AC_ARG_WITH(xorg-module-dir, [ --with-xorg-module-dir=DIR ], + [ moduledir="$withval" ], + [ moduledir="$libdir/xorg/modules" ]) + AC_SUBST(moduledir) + +- +-# Checks for extensions ++# Store the list of server defined optional extensions in REQUIRED_MODULES + XORG_DRIVER_CHECK_EXT(RANDR, randrproto) + XORG_DRIVER_CHECK_EXT(RENDER, renderproto) + XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) + +-# Checks for pkg-config packages ++# Obtain compiler/linker options for the driver dependencies + PKG_CHECK_MODULES(XORG, xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), +@@ -93,21 +92,14 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then + fi + AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) + +-CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src' +-INCLUDES="$XORG_INCS "'-I$(top_srcdir)/src' +-AC_SUBST([CFLAGS]) +-AC_SUBST([INCLUDES]) +- + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- + DRIVER_NAME=vesa + AC_SUBST([DRIVER_NAME]) + +-AC_OUTPUT([ +- Makefile +- src/Makefile +- man/Makefile ++AC_CONFIG_FILES([ ++ Makefile ++ src/Makefile ++ man/Makefile + ]) ++AC_OUTPUT +diff --git a/man/Makefile.am b/man/Makefile.am +index f0eb29b..b3688ce 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,27 +1,24 @@ + # + # Copyright 2005 Sun Microsystems, Inc. All rights reserved. +-# +-# Permission to use, copy, modify, distribute, and sell this software and its +-# documentation for any purpose is hereby granted without fee, provided that +-# the above copyright notice appear in all copies and that both that +-# copyright notice and this permission notice appear in supporting +-# documentation. +-# +-# The above copyright notice and this permission notice shall be included +-# in all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +-# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +-# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +-# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +-# OTHER DEALINGS IN THE SOFTWARE. +-# +-# Except as contained in this notice, the name of the copyright holders shall +-# not be used in advertising or otherwise to promote the sale, use or +-# other dealings in this Software without prior written authorization +-# from the copyright holders. ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. + # + + drivermandir = $(DRIVER_MAN_DIR) +@@ -34,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man + + CLEANFILES = $(driverman_DATA) + +-SED = sed + +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + +-MAN_SUBSTS = \ +- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ +- -e 's|__xservername__|Xorg|g' \ +- -e 's|__xconfigfile__|xorg.conf|g' \ +- -e 's|__projectroot__|$(prefix)|g' \ +- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ +- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \ +- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ +- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ +- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' + + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + + .man.$(DRIVER_MAN_SUFFIX): +- sed $(MAN_SUBSTS) < $< > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ +diff --git a/man/vesa.man b/man/vesa.man +index 19cb766..ce4b369 100644 +--- a/man/vesa.man ++++ b/man/vesa.man +@@ -1,4 +1,3 @@ +-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.man,v 1.2 2001/01/27 18:20:56 dawes Exp $ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' + .TH VESA __drivermansuffix__ __vendorversion__ +diff --git a/src/Makefile.am b/src/Makefile.am +index 88da8a2..dc702f0 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -24,6 +24,9 @@ + # -avoid-version prevents gratuitous .0.0.0 version numbers on the end + # _ladir passes a dummy rpath to libtool so the thing will actually link + # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. ++ ++AM_CFLAGS = $(XORG_CFLAGS) $(PCIACCESS_CFLAGS) ++ + vesa_drv_la_LTLIBRARIES = vesa_drv.la + vesa_drv_la_LDFLAGS = -module -avoid-version + vesa_drv_ladir = @moduledir@/drivers +diff --git a/src/vesa.c b/src/vesa.c +index 034a019..61d3550 100644 +--- a/src/vesa.c ++++ b/src/vesa.c +@@ -281,7 +281,7 @@ static VESAPtr + VESAGetRec(ScrnInfoPtr pScrn) + { + if (!pScrn->driverPrivate) +- pScrn->driverPrivate = xcalloc(sizeof(VESARec), 1); ++ pScrn->driverPrivate = calloc(sizeof(VESARec), 1); + + return ((VESAPtr)pScrn->driverPrivate); + } +@@ -296,7 +296,7 @@ VESASetModeParameters(vbeInfoPtr pVbe, DisplayModePtr vbemode, + + data = (VbeModeInfoData *)vbemode->Private; + +- data->block = xcalloc(sizeof(VbeCRTCInfoBlock), 1); ++ data->block = calloc(sizeof(VbeCRTCInfoBlock), 1); + data->block->HorizontalTotal = ddcmode->HTotal; + data->block->HorizontalSyncStart = ddcmode->HSyncStart; + data->block->HorizontalSyncEnd = ddcmode->HSyncEnd; +@@ -317,6 +317,30 @@ VESASetModeParameters(vbeInfoPtr pVbe, DisplayModePtr vbemode, + (double)(ddcmode->HTotal * ddcmode->VTotal)); + } + ++/* ++ * Despite that VBE gives you pixel granularity for mode sizes, some BIOSes ++ * think they can only give sizes in multiples of character cells; and ++ * indeed, the reference CVT and GTF formulae only give results where ++ * (h % 8) == 0. Whatever, let's just try to cope. What we're looking for ++ * here is cases where the display says 1366x768 and the BIOS says 1360x768. ++ */ ++static Bool ++vesaModesCloseEnough(DisplayModePtr edid, DisplayModePtr vbe) ++{ ++ if (!(edid->type & M_T_DRIVER)) ++ return FALSE; ++ ++ /* never seen a height granularity... */ ++ if (edid->VDisplay != vbe->VDisplay) ++ return FALSE; ++ ++ if (edid->HDisplay >= vbe->HDisplay && ++ (edid->HDisplay & ~7) == (vbe->HDisplay & ~7)) ++ return TRUE; ++ ++ return FALSE; ++} ++ + static ModeStatus + VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) + { +@@ -358,9 +382,7 @@ VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) + */ + if (pScrn->monitor->DDC) { + for (mode = pScrn->monitor->Modes; mode; mode = mode->next) { +- if (mode->type & M_T_DRIVER && +- mode->HDisplay == p->HDisplay && +- mode->VDisplay == p->VDisplay) { ++ if (vesaModesCloseEnough(mode, p)) { + if (xf86CheckModeForMonitor(mode, mon) == MODE_OK) { + found = 1; + break; +@@ -391,7 +413,8 @@ VESAValidMode(int scrn, DisplayModePtr p, Bool flag, int pass) + for (v = mon->vrefresh[0].lo; v <= mon->vrefresh[0].hi; v++) { + mode = xf86GTFMode(p->HDisplay, p->VDisplay, v, 0, 0); + ret = xf86CheckModeForMonitor(mode, mon); +- xfree(mode); ++ free(mode->name); ++ free(mode); + if (ret == MODE_OK) + break; + } +@@ -431,8 +454,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev, + pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, + NULL, NULL, NULL, NULL, NULL); + if (pScrn != NULL) { +- VESAPtr pVesa = VESAGetRec(pScrn); ++ VESAPtr pVesa; ++ ++ if (pci_device_has_kernel_driver(dev)) { ++ ErrorF("vesa: Ignoring device with a bound kernel driver\n"); ++ return FALSE; ++ } + ++ pVesa = VESAGetRec(pScrn); + VESAInitScrn(pScrn); + pVesa->pciInfo = dev; + } +@@ -480,7 +509,7 @@ VESAProbe(DriverPtr drv, int flags) + } + } + } +- xfree(usedChips); ++ free(usedChips); + } + } + #endif +@@ -503,11 +532,11 @@ VESAProbe(DriverPtr drv, int flags) + foundScreen = TRUE; + } + } +- xfree(usedChips); ++ free(usedChips); + } + #endif + +- xfree(devSections); ++ free(devSections); + + return (foundScreen); + } +@@ -554,9 +583,9 @@ VESAFreeRec(ScrnInfoPtr pScrn) + VbeModeInfoData *data = (VbeModeInfoData*)mode->Private; + + if (data->block) +- xfree(data->block); ++ free(data->block); + +- xfree(data); ++ free(data); + + mode->Private = NULL; + } +@@ -564,12 +593,12 @@ VESAFreeRec(ScrnInfoPtr pScrn) + } while (mode && mode != pScrn->modes); + } + #endif +- xfree(pVesa->monitor); +- xfree(pVesa->vbeInfo); +- xfree(pVesa->pal); +- xfree(pVesa->savedPal); +- xfree(pVesa->fonts); +- xfree(pScrn->driverPrivate); ++ free(pVesa->monitor); ++ free(pVesa->vbeInfo); ++ free(pVesa->pal); ++ free(pVesa->savedPal); ++ free(pVesa->fonts); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -712,7 +741,7 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags) + else { + void *panelid = VBEReadPanelID(pVesa->pVbe); + VBEInterpretPanelID(pScrn->scrnIndex, panelid); +- xfree(panelid); ++ free(panelid); + } + #endif + +@@ -805,7 +834,7 @@ VESAPreInit(ScrnInfoPtr pScrn, int flags) + + /* options */ + xf86CollectOptions(pScrn, NULL); +- if (!(pVesa->Options = xalloc(sizeof(VESAOptions)))) { ++ if (!(pVesa->Options = malloc(sizeof(VESAOptions)))) { + vbeFree(pVesa->pVbe); + return FALSE; + } +@@ -940,7 +969,7 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + pScrn->bitsPerPixel = 8; + + if (pVesa->shadowFB) { +- pVesa->shadow = xcalloc(1, pScrn->displayWidth * pScrn->virtualY * ++ pVesa->shadow = calloc(1, pScrn->displayWidth * pScrn->virtualY * + ((pScrn->bitsPerPixel + 7) / 8)); + if (!pVesa->shadow) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, +@@ -1119,10 +1148,10 @@ VESACloseScreen(int scrnIndex, ScreenPtr pScreen) + } + if (pVesa->shadowFB && pVesa->shadow) { + shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen)); +- xfree(pVesa->shadow); ++ free(pVesa->shadow); + } + if (pVesa->pDGAMode) { +- xfree(pVesa->pDGAMode); ++ free(pVesa->pDGAMode); + pVesa->pDGAMode = NULL; + pVesa->nDGAMode = 0; + } +@@ -1180,7 +1209,7 @@ VESASetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode) + * Free it as it will not be any longer useful + */ + xf86ErrorF(", mode set without customized refresh.\n"); +- xfree(data->block); ++ free(data->block); + data->block = NULL; + data->mode &= ~(1 << 11); + } +@@ -1315,7 +1344,7 @@ VESALoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, + int base; + + if (pVesa->pal == NULL) +- pVesa->pal = xcalloc(1, sizeof(CARD32) * 256); ++ pVesa->pal = calloc(1, sizeof(CARD32) * 256); + + for (i = 0, base = idx = indices[i]; i < numColors; i++, idx++) { + int j = indices[i]; +@@ -1414,7 +1443,7 @@ SaveFonts(ScrnInfoPtr pScrn) + if (attr10 & 0x01) + return; + +- pVesa->fonts = xalloc(16384); ++ pVesa->fonts = malloc(16384); + + /* save the registers that are needed here */ + miscOut = ReadMiscOut(); +@@ -1622,7 +1651,7 @@ VESASaveRestore(ScrnInfoPtr pScrn, vbeSaveRestoreFunction function) + && function == MODE_SAVE) { + /* don't rely on the memory not being touched */ + if (pVesa->pstate == NULL) +- pVesa->pstate = xalloc(pVesa->stateSize); ++ pVesa->pstate = malloc(pVesa->stateSize); + memcpy(pVesa->pstate, pVesa->state, pVesa->stateSize); + } + } +@@ -1737,7 +1766,7 @@ VESADGAAddModes(ScrnInfoPtr pScrn) + DGAModePtr pDGAMode; + + do { +- pDGAMode = xrealloc(pVesa->pDGAMode, ++ pDGAMode = realloc(pVesa->pDGAMode, + (pVesa->nDGAMode + 1) * sizeof(DGAModeRec)); + if (!pDGAMode) + break; +diff --git a/src/vesa.h b/src/vesa.h +index 4656e4c..89245b9 100644 +--- a/src/vesa.h ++++ b/src/vesa.h +@@ -25,8 +25,6 @@ + * Conectiva Linux. + * + * Authors: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> +- * +- * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h,v 1.12 2002/08/06 13:46:27 dawes Exp $ + */ + + #ifndef _VESA_H_ diff --git a/extra/xf86-video-vesa/revert-kernelcheck.patch b/extra/xf86-video-vesa/revert-kernelcheck.patch new file mode 100644 index 000000000..37418cc3f --- /dev/null +++ b/extra/xf86-video-vesa/revert-kernelcheck.patch @@ -0,0 +1,31 @@ +From b1f7f190f9d4f2ab63d3e9ade3e7e04bb4b1f89f Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 08 Dec 2010 18:45:32 +0000 +Subject: Refuse to load if there's a kernel driver bound to the device + +Ported from the equivalent check in nv. + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- +diff --git a/src/vesa.c b/src/vesa.c +index 168fde1..2523d76 100644 +--- a/src/vesa.c ++++ b/src/vesa.c +@@ -431,8 +431,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev, + pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, + NULL, NULL, NULL, NULL, NULL); + if (pScrn != NULL) { +- VESAPtr pVesa = VESAGetRec(pScrn); ++ VESAPtr pVesa; + ++ if (pci_device_has_kernel_driver(dev)) { ++ ErrorF("vesa: Ignoring device with a bound kernel driver\n"); ++ return FALSE; ++ } ++ ++ pVesa = VESAGetRec(pScrn); + VESAInitScrn(pScrn); + pVesa->pciInfo = dev; + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/extra/xournal/PKGBUILD b/extra/xournal/PKGBUILD index e9c825e26..79f6f7c93 100644 --- a/extra/xournal/PKGBUILD +++ b/extra/xournal/PKGBUILD @@ -1,31 +1,35 @@ -# $Id: PKGBUILD 108182 2011-01-30 14:22:10Z ibiru $ -# Contributor: -# Maintainer: +# $Id: PKGBUILD 140585 2011-10-17 08:15:15Z jgc $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=xournal pkgver=0.4.5 -pkgrel=4 +pkgrel=5 pkgdesc='Notetaking and sketching application' arch=('i686' 'x86_64') url='http://xournal.sourceforge.net/' license=('GPL') depends=('libgnomecanvas' 'poppler-glib' 'shared-mime-info' 'desktop-file-utils' 'hicolor-icon-theme') optdepends=('ghostscript: import PS/PDF files as bitmap backgrounds') -install=xournal.install source=("http://downloads.sourceforge.net/xournal/xournal-${pkgver}.tar.gz" - 'pdf-export-64.patch') + 'pdf-export-64.patch' + 'poppler-api.patch') sha1sums=('390cb275774469ed1b04b7268dd625bd456c895e' - 'f23f53b9f69ba8a5773c53d7bca99abf9d8504f8') + 'f23f53b9f69ba8a5773c53d7bca99abf9d8504f8' + '5aedd5610b42df96e964bb889d4bf0831c2080bc') +install=install build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 < ../pdf-export-64.patch # from xournal CVS, see FS#21693 - ./configure --prefix=/usr - make + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ../pdf-export-64.patch # from xournal CVS, see FS#21693 + patch -p1 -i ../poppler-api.patch + + ./configure --prefix=/usr + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install desktop-install + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install desktop-install } diff --git a/extra/xournal/install b/extra/xournal/install new file mode 100644 index 000000000..dfcb68374 --- /dev/null +++ b/extra/xournal/install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-mime-database usr/share/mime &>/dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/extra/xournal/poppler-api.patch b/extra/xournal/poppler-api.patch new file mode 100644 index 000000000..9e33c7feb --- /dev/null +++ b/extra/xournal/poppler-api.patch @@ -0,0 +1,158 @@ +diff -aur old/src/xo-file.c new/src/xo-file.c +--- old/src/xo-file.c 2009-09-29 09:36:05.000000000 +1000 ++++ new/src/xo-file.c 2011-10-06 03:11:17.307822836 +1100 +@@ -975,6 +975,140 @@ + g_free(req); + } + ++/* ++ * Copied from http://cgit.freedesktop.org/poppler/poppler/tree/glib/poppler-page.cc?h=poppler-0.16#n617 ++ * as a temporary workaround to poppler removing depreciated functions while we wait for ++ * upstream to rewrite against cairo ++ */ ++static void ++copy_cairo_surface_to_pixbuf (cairo_surface_t *surface, GdkPixbuf *pixbuf) ++{ ++ int cairo_width, cairo_height, cairo_rowstride; ++ unsigned char *pixbuf_data, *dst, *cairo_data; ++ int pixbuf_rowstride, pixbuf_n_channels; ++ unsigned int *src; ++ int x, y; ++ ++ cairo_width = cairo_image_surface_get_width (surface); ++ cairo_height = cairo_image_surface_get_height (surface); ++ cairo_rowstride = cairo_image_surface_get_stride (surface); ++ cairo_data = cairo_image_surface_get_data (surface); ++ ++ pixbuf_data = gdk_pixbuf_get_pixels (pixbuf); ++ pixbuf_rowstride = gdk_pixbuf_get_rowstride (pixbuf); ++ pixbuf_n_channels = gdk_pixbuf_get_n_channels (pixbuf); ++ ++ if (cairo_width > gdk_pixbuf_get_width (pixbuf)) ++ cairo_width = gdk_pixbuf_get_width (pixbuf); ++ if (cairo_height > gdk_pixbuf_get_height (pixbuf)) ++ cairo_height = gdk_pixbuf_get_height (pixbuf); ++ for (y = 0; y < cairo_height; y++) ++ { ++ src = (unsigned int *) (cairo_data + y * cairo_rowstride); ++ dst = pixbuf_data + y * pixbuf_rowstride; ++ for (x = 0; x < cairo_width; x++) ++ { ++ dst[0] = (*src >> 16) & 0xff; ++ dst[1] = (*src >> 8) & 0xff; ++ dst[2] = (*src >> 0) & 0xff; ++ if (pixbuf_n_channels == 4) ++ dst[3] = (*src >> 24) & 0xff; ++ dst += pixbuf_n_channels; ++ src++; ++ } ++ } ++} ++ ++static void ++_poppler_page_render_to_pixbuf (PopplerPage *page, ++ int src_x, int src_y, ++ int src_width, int src_height, ++ double scale, ++ int rotation, ++ gboolean printing, ++ GdkPixbuf *pixbuf) ++{ ++ cairo_t *cr; ++ cairo_surface_t *surface; ++ ++ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, ++ src_width, src_height); ++ cr = cairo_create (surface); ++ cairo_save (cr); ++ switch (rotation) { ++ case 90: ++ cairo_translate (cr, src_x + src_width, -src_y); ++ break; ++ case 180: ++ cairo_translate (cr, src_x + src_width, src_y + src_height); ++ break; ++ case 270: ++ cairo_translate (cr, -src_x, src_y + src_height); ++ break; ++ default: ++ cairo_translate (cr, -src_x, -src_y); ++ } ++ ++ if (scale != 1.0) ++ cairo_scale (cr, scale, scale); ++ ++ if (rotation != 0) ++ cairo_rotate (cr, rotation * G_PI / 180.0); ++ ++ if (printing) ++ poppler_page_render_for_printing (page, cr); ++ else ++ poppler_page_render (page, cr); ++ cairo_restore (cr); ++ ++ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER); ++ cairo_set_source_rgb (cr, 1., 1., 1.); ++ cairo_paint (cr); ++ ++ cairo_destroy (cr); ++ ++ copy_cairo_surface_to_pixbuf (surface, pixbuf); ++ cairo_surface_destroy (surface); ++} ++ ++/** ++ * poppler_page_render_to_pixbuf: ++ * @page: the page to render from ++ * @src_x: x coordinate of upper left corner ++ * @src_y: y coordinate of upper left corner ++ * @src_width: width of rectangle to render ++ * @src_height: height of rectangle to render ++ * @scale: scale specified as pixels per point ++ * @rotation: rotate the document by the specified degree ++ * @pixbuf: pixbuf to render into ++ * ++ * First scale the document to match the specified pixels per point, ++ * then render the rectangle given by the upper left corner at ++ * (src_x, src_y) and src_width and src_height. ++ * This function is for rendering a page that will be displayed. ++ * If you want to render a page that will be printed use ++ * poppler_page_render_to_pixbuf_for_printing() instead ++ * ++ * Deprecated: 0.16 ++ **/ ++void ++poppler_page_render_to_pixbuf (PopplerPage *page, ++ int src_x, int src_y, ++ int src_width, int src_height, ++ double scale, ++ int rotation, ++ GdkPixbuf *pixbuf) ++{ ++ g_return_if_fail (POPPLER_IS_PAGE (page)); ++ g_return_if_fail (scale > 0.0); ++ g_return_if_fail (pixbuf != NULL); ++ ++ _poppler_page_render_to_pixbuf (page, src_x, src_y, ++ src_width, src_height, ++ scale, rotation, ++ FALSE, ++ pixbuf); ++} + /* process a bg PDF request from the queue, and recurse */ + + gboolean bgpdf_scheduler_callback(gpointer data) +diff -aur old/src/xo-file.h new/src/xo-file.h +--- old/src/xo-file.h 2009-09-28 08:45:53.000000000 +1000 ++++ new/src/xo-file.h 2011-10-06 03:11:17.311156160 +1100 +@@ -36,3 +36,10 @@ + void init_config_default(void); + void load_config_from_file(void); + void save_config_to_file(void); ++ ++void poppler_page_render_to_pixbuf (PopplerPage *page, ++ int src_x, int src_y, ++ int src_width, int src_height, ++ double scale, ++ int rotation, ++ GdkPixbuf *pixbuf); |