diff options
32 files changed, 1894 insertions, 164 deletions
diff --git a/community/galculator/PKGBUILD b/community/galculator/PKGBUILD new file mode 100644 index 000000000..58a85a7e7 --- /dev/null +++ b/community/galculator/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> +# Contributor: SpepS <dreamspepser at yahoo dot it> +# Contributor: Alexander Fehr <pizzapunk gmail com> + +pkgname=galculator +pkgver=1.3.4 +pkgrel=1 +pkgdesc="GTK+ based scientific calculator" +arch=('i686' 'x86_64') +url="http://galculator.sourceforge.net/" +license=('GPL') +depends=('libglade') +makedepends=('intltool') +install="$pkgname.install" +source=("http://downloads.sourceforge.net/galculator/galculator-$pkgver.tar.bz2") +md5sums=('d30e6fbf5947bb1c873bc9d5a21046f1') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install +} diff --git a/community/galculator/galculator.install b/community/galculator/galculator.install new file mode 100644 index 000000000..a852f0449 --- /dev/null +++ b/community/galculator/galculator.install @@ -0,0 +1,10 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} +post_remove() { + post_install +} diff --git a/community/ncmpcpp/PKGBUILD b/community/ncmpcpp/PKGBUILD index 5b75c04df..6c44f2274 100644 --- a/community/ncmpcpp/PKGBUILD +++ b/community/ncmpcpp/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 45584 2011-04-24 17:56:50Z mherych $ +# $Id: PKGBUILD 56861 2011-10-15 07:25:39Z bpiotrowski $ # Maintainer: Mateusz Herych <heniekk@gmail.com> # Contributor: Army <uli[dot]armbruster[at]gmail[dot]com> pkgname=ncmpcpp -pkgver=0.5.7 +pkgver=0.5.8 pkgrel=1 pkgdesc="An almost exact clone of ncmpc with some new features." arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL') depends=('curl' 'libmpdclient' 'taglib' 'ncurses') install=ncmpcpp.install source=(http://unkart.ovh.org/ncmpcpp/${pkgname}-${pkgver}.tar.bz2) -md5sums=('6632c76f2f0836c5aa5a1a2fbb1c921c') +md5sums=('288952c6b4cf4fa3683f3f83a58da37c') build() { cd "$srcdir/${pkgname}-${pkgver}" diff --git a/community/rekonq/PKGBUILD b/community/rekonq/PKGBUILD index 388001cf4..3cb1483ee 100644 --- a/community/rekonq/PKGBUILD +++ b/community/rekonq/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 44632 2011-04-09 15:53:51Z andrea $ +# $Id: PKGBUILD 56868 2011-10-15 11:22:09Z plewis $ # Maintainer: Peter Lewis <plewis@aur.archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Panagiotis Papadopoulos <pano_90 AT gmx DOT net> pkgname=rekonq -pkgver=0.7.0 +pkgver=0.8.0 pkgrel=1 pkgdesc='A WebKit based web browser for KDE' arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ depends=('kdebase-keditbookmarks') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('73de712f71ea4caf2e66a92c77505da8') +md5sums=('b11003fa833317e5948aa1491e230806') build(){ cd ${srcdir} diff --git a/community/rekonq/rekonq.install b/community/rekonq/rekonq.install index e70c054ec..f80ffb217 100644 --- a/community/rekonq/rekonq.install +++ b/community/rekonq/rekonq.install @@ -1,11 +1,12 @@ post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q + xdg-icon-resource forceupdate --theme hicolor &> /dev/null } post_upgrade() { - post_install + post_install $1 } post_remove() { - post_install + post_install $1 } diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD index f235c872d..06412266b 100644 --- a/community/shotwell/PKGBUILD +++ b/community/shotwell/PKGBUILD @@ -1,27 +1,32 @@ -# $Id: PKGBUILD 56349 2011-10-05 19:08:41Z andrea $ +# $Id: PKGBUILD 56880 2011-10-15 22:25:22Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com> pkgname=shotwell -pkgver=0.11.2 +pkgver=0.11.4 pkgrel=2 pkgdesc="A digital photo organizer designed for the GNOME desktop environment" arch=('i686' 'x86_64') url="http://yorba.org/shotwell/" license=('LGPL2.1') -depends=('gconf' 'libgee' 'libgphoto2' 'libunique3' 'libwebkit3' 'libgexiv2' 'libraw' +depends=('gconf' 'libgee' 'libgphoto2' 'libunique' 'libwebkit' 'libgexiv2' 'libraw' 'librsvg' 'json-glib' 'desktop-file-utils' 'dconf') makedepends=('intltool' 'vala') install=shotwell.install source=("http://yorba.org/download/shotwell/0.11/shotwell-${pkgver}.tar.bz2" - "http://arch.p5n.pp.ru/~sergej/dl/shotwell-gtk3.patch.gz") -md5sums=('bbb479eaa4bbcf67d8ff454b406ed249' - 'e9ac0d9d818242220f0f788c493e453d') + "http://ftp.gnome.org/pub/gnome/sources/vala/0.12/vala-0.12.1.tar.bz2") +md5sums=('150899574f8fd96b6a5b87173a6ef3e0' + 'bf35262cc611de447147d01cbac33767') build() { + cd "${srcdir}/vala-0.12.1" + ./configure --prefix=$srcdir/vala --enable-vapigen + make + make install + export PATH=$srcdir/vala/bin:$PATH + cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 <$srcdir/shotwell-gtk3.patch ./configure --prefix=/usr \ --with-gconf-schema-file-dir=/usr/share/gconf/schemas \ --disable-schemas-install \ diff --git a/community/wavegain/PKGBUILD b/community/wavegain/PKGBUILD index 8811cbd61..6962ab2e5 100644 --- a/community/wavegain/PKGBUILD +++ b/community/wavegain/PKGBUILD @@ -1,27 +1,30 @@ -# $Id: PKGBUILD 22383 2010-07-21 16:08:04Z lcarlier $ -# Maintainer: Corrado Primier <bardo@aur.archlinux.org> +# $Id: PKGBUILD 56863 2011-10-15 08:48:28Z schiv $ +# Maintainer: Ray Rashif <schiv@archlinux.org> +# Contributor: Corrado Primier <bardo@aur.archlinux.org> pkgname=wavegain -pkgver=1.2.8 -pkgrel=2 +_realname=WaveGain +pkgver=1.3.0 +pkgrel=1 pkgdesc="A command line tool to normalize sound files" arch=('i686' 'x86_64') url="http://rarewares.org/others.php" license=('LGPL') -depends=('glibc' 'libsndfile') -source=(http://www.rarewares.org/files/others/${pkgname}-${pkgver}srcs.zip) -md5sums=('bc9b412400dbfb69bcbf961ed4e6eb06') +depends=('libsndfile') +source=(http://www.rarewares.org/files/others/$pkgname-${pkgver}srcs.zip) +md5sums=('6f4bc4f5fc7387db34e04f80fdf74dd2') build() { - cd ${srcdir}/WaveGain-${pkgver} + cd "$srcdir/$_realname-$pkgver" make -f Makefile.linux } package() { - cd ${srcdir}/WaveGain-${pkgver} + cd "$srcdir/$_realname-$pkgver" - install -Dm755 ${srcdir}/WaveGain-${pkgver}/wavegain ${pkgdir}/usr/bin/wavegain + install -Dm755 "$srcdir/$_realname-$pkgver/wavegain" \ + "$pkgdir/usr/bin/wavegain" } # vim:set ts=2 sw=2 et: diff --git a/core/syslog-ng/PKGBUILD b/core/syslog-ng/PKGBUILD index 3c4bc0767..e27aaa126 100644 --- a/core/syslog-ng/PKGBUILD +++ b/core/syslog-ng/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 131638 2011-07-13 03:09:27Z dreisner $ +# $Id: PKGBUILD 140503 2011-10-15 23:07:16Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Aaron Griffin <aaron@archlinux.org> pkgname=syslog-ng -pkgver=3.2.4 -pkgrel=3 +pkgver=3.3.1 +pkgrel=1 pkgdesc="Next-generation syslogd with advanced networking and filtering capabilities" arch=('i686' 'x86_64') license=('GPL2') @@ -18,49 +18,38 @@ provides=('logger') options=('!libtool') backup=('etc/syslog-ng/modules.conf' 'etc/syslog-ng/scl.conf' \ 'etc/syslog-ng/syslog-ng.conf' 'etc/logrotate.d/syslog-ng') -source=(http://www.balabit.com/downloads/files/syslog-ng/sources/${pkgver}/source/${pkgname}_${pkgver}.tar.gz - non-blocking-systemd-fds.patch - syslog-ng.conf syslog-ng.logrotate syslog-ng.rc cap_syslog.patch) -md5sums=('5995f7dad0053a478b60a63f6f754203' - '25e43afe51eb2223c25168e3c3e7aaf6' - '344dddfff946300f5576b13a7e8ea19f' - '735636090be4582885974542d2a75855' - '8b4441343d859c2f01c2cf799a7e6f98' - '46e5dcff71f820d497898331a3f608fe') -sha1sums=('ff732f7223bd2bd0424d4b9028b523cf62133af1' - '73b83deae9a8b945dfb13adf331e6bf6f119b83e' - 'b9eb8c61f7cccda543fc5c97fe1d40a8d15e713f' +source=("http://www.balabit.com/downloads/files/syslog-ng/sources/$pkgver/source/${pkgname}_$pkgver.tar.gz" + syslog-ng.conf + syslog-ng.logrotate + syslog-ng.rc) +sha1sums=('f084d66754c7fa1eada56946f77ef3066faa27a1' + '98074e0facfc6ef036202662cc86d04b38a2c142' 'ac997b25d7d8e69e66782d3771a0e12aff55ae7f' - '4481819762fd1b6f25903016a8878e63c0058fcb' - 'f093a09626a528d23f0f2aeece018cab15a735a9') + 'a6ad26912b5bcbe1b47b003309945d733613b98f') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" - # fix #22555 for kernels >=2.6.38 - patch -p1 -i ../cap_syslog.patch - - # fix systemd blocking FD bug - # https://bugzilla.balabit.com/show_bug.cgi?id=125 - patch -Np1 < "$srcdir/non-blocking-systemd-fds.patch" - - ./configure --prefix=/usr --sysconfdir=/etc/syslog-ng \ - --libexecdir=/usr/lib --localstatedir=/var/lib/syslog-ng \ - --enable-tcp-wrapper \ - --with-pidfile-dir=/var/run \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/syslog-ng \ + --libexecdir=/usr/lib \ + --localstatedir=/var/lib/syslog-ng \ + --with-pidfile-dir=/run \ --disable-spoof-source \ - --disable-tcp-wrapper \ - --enable-systemd + --enable-systemd \ + --with-systemdsystemunitdir=/lib/systemd/system make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - install -dm755 "${pkgdir}/var/lib/syslog-ng" "${pkgdir}/etc/syslog-ng/patterndb.d" - install -Dm644 "${srcdir}/syslog-ng.conf" "${pkgdir}/etc/syslog-ng/syslog-ng.conf" - install -Dm644 "${srcdir}/syslog-ng.logrotate" "${pkgdir}/etc/logrotate.d/syslog-ng" - install -Dm755 "${srcdir}/syslog-ng.rc" "${pkgdir}/etc/rc.d/syslog-ng" - install -Dm644 "doc/examples/syslog-ng.service" "$pkgdir/lib/systemd/system/syslog-ng.service" + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + + install -dm755 "$pkgdir/var/lib/syslog-ng" "$pkgdir/etc/syslog-ng/patterndb.d" + install -Dm644 "$srcdir/syslog-ng.conf" "$pkgdir/etc/syslog-ng/syslog-ng.conf" + install -Dm644 "$srcdir/syslog-ng.logrotate" "$pkgdir/etc/logrotate.d/syslog-ng" + install -Dm755 "$srcdir/syslog-ng.rc" "$pkgdir/etc/rc.d/syslog-ng" } diff --git a/core/syslog-ng/syslog-ng.conf b/core/syslog-ng/syslog-ng.conf index 6e3362681..8f86eac2f 100644 --- a/core/syslog-ng/syslog-ng.conf +++ b/core/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.2 +@version: 3.3 # # /etc/syslog-ng/syslog-ng.conf # @@ -7,8 +7,8 @@ options { stats_freq (0); flush_lines (0); time_reopen (10); - log_fifo_size (1000); - long_hostnames(off); + log_fifo_size (10000); + chain_hostnames (off); use_dns (no); use_fqdn (no); create_dirs (no); diff --git a/core/syslog-ng/syslog-ng.rc b/core/syslog-ng/syslog-ng.rc index bb5320b2c..516b03da3 100755 --- a/core/syslog-ng/syslog-ng.rc +++ b/core/syslog-ng/syslog-ng.rc @@ -4,51 +4,55 @@ . /etc/rc.d/functions checkconfig() { - syslog-ng -s -f /etc/syslog-ng/syslog-ng.conf - if [ $? -gt 0 ]; then - stat_busy "Configuration error. Please fix your config file (/etc/syslog-ng/syslog-ng.conf)." - stat_fail - exit 0 - fi + if ! syslog-ng -s -f /etc/syslog-ng/syslog-ng.conf; then + stat_fail + exit 1 + fi } -PID=`pidof -o %PPID /usr/sbin/syslog-ng` -case "$1" in +pidfile=/run/syslog-ng.pid +if [[ -r $pidfile ]]; then + read -r PID < "$pidfile" + if [[ $PID && ! -d /proc/$PID ]]; then + # stale pidfile + unset PID + rm -f "$pidfile" + fi +fi + +case $1 in start) stat_busy "Starting Syslog-NG" checkconfig - [ -z "$PID" ] && /usr/sbin/syslog-ng - if [ $? -gt 0 ]; then - stat_fail - else + if [[ -z $PID ]] && /usr/sbin/syslog-ng; then add_daemon syslog-ng stat_done + else + stat_fail + exit 1 fi ;; stop) stat_busy "Stopping Syslog-NG" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm -f /var/run/syslog-ng.pid -# Removing stale syslog-ng.persist file. Its new location, as of 2.0.6-1, is /var/lib/syslog-ng/ - rm -f /var/syslog-ng.persist + if [[ $PID ]] && kill $PID &>/dev/null; then rm_daemon syslog-ng stat_done + else + stat_fail + exit 1 fi ;; reload) stat_busy "Reloading Syslog-NG configuration and re-opening log files" - if [ -z "$PID" ]; then + if [[ -z $PID ]]; then stat_fail else checkconfig - kill -HUP $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else + if kill -HUP $PID &>/dev/null; then stat_done + else + stat_fail + exit 1 fi fi ;; @@ -58,6 +62,5 @@ case "$1" in $0 start ;; *) - echo "usage: $0 {start|stop|restart|reload}" + echo "usage: $0 {start|stop|restart|reload}" esac -exit 0 diff --git a/extra/eclipse/PKGBUILD b/extra/eclipse/PKGBUILD index 658b3e79c..3d1f631f8 100644 --- a/extra/eclipse/PKGBUILD +++ b/extra/eclipse/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 140450 2011-10-14 19:01:32Z ibiru $ +# $Id: PKGBUILD 140489 2011-10-15 15:29:09Z ibiru $ # Maintainer: Paul Mattal <paul@archlinux.org> # Contributor: Andrew Wright <andreww@photism.org> # Contributor: Andreas W. Hauser <andy-aur@splashground.de> @@ -7,7 +7,7 @@ pkgname=eclipse pkgver=3.7.1 _internal_pkgver=3.7.1 -pkgrel=1 +pkgrel=2 _date=201109091335 pkgdesc="An IDE for Java and other languages" arch=('i686' 'x86_64') @@ -16,7 +16,6 @@ depends=('java-environment' 'gtk2' 'unzip' 'libwebkit') install=${pkgname}.install makedepends=('zip') license=("EPL/1.1") -backup=('usr/share/eclipse/configuration/config.ini') source=("ftp://ftp.osuosl.org/pub/eclipse/eclipse/downloads/drops/R-${pkgver}-${_date}/${pkgname}-SDK-${pkgver}-linux-gtk.tar.gz" 'eclipse.svg' 'eclipse.sh' 'eclipse.desktop' 'eclipse.ini.patch') diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index 45e6987be..221a1c59a 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,23 +1,25 @@ -# $Id: PKGBUILD 138216 2011-09-19 03:13:19Z andyrtr $ +# $Id: PKGBUILD 140493 2011-10-15 19:34:21Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnutls -pkgver=3.0.3 -pkgrel=1 +pkgver=3.0.4 +pkgrel=2 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64') license=('GPL3' 'LGPL') url="http://www.gnu.org/software/gnutls/" install=gnutls.install options=('!libtool' '!zipman') -depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.2' 'p11-kit') +depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit') makedepends=('valgrind') -source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz) -md5sums=('7b45b99cb6d314c452f8c0f1c7a736dd') -sha1sums=('0e6c325ae12cf1a4bd7d25125b8d58d51472fc14') +source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz + addGNU-stack.diff) +md5sums=('748d537027978abcb7dd33ec396dc511' + '19b92429e8d1639cfc4dfad0883298cb') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/addGNU-stack.diff ./configure --prefix=/usr \ --with-zlib \ --disable-static \ diff --git a/extra/gnutls/addGNU-stack.diff b/extra/gnutls/addGNU-stack.diff new file mode 100644 index 000000000..8324b5a58 --- /dev/null +++ b/extra/gnutls/addGNU-stack.diff @@ -0,0 +1,13 @@ +Description: Prevent executable stack +Author: Andreas Metzler <ametzler@debian.org> + +--- gnutls28-3.0.4.orig/lib/accelerated/x86/asm/padlock-common.s ++++ gnutls28-3.0.4/lib/accelerated/x86/asm/padlock-common.s +@@ -38,3 +38,7 @@ is_padlock_nano: + xorl %eax,%eax + ret + .size is_padlock_nano,.-is_padlock_nano ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/extra/hyphen/PKGBUILD b/extra/hyphen/PKGBUILD index c50ecd886..feee6e8ff 100644 --- a/extra/hyphen/PKGBUILD +++ b/extra/hyphen/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 104194 2010-12-30 18:07:33Z andyrtr $ +# $Id: PKGBUILD 140476 2011-10-15 10:01:23Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> pkgbase=hyphen pkgname=('hyphen' 'hyphen-en') -pkgver=2.7.1 -pkgrel=2 +pkgver=2.8.3 +pkgrel=1 arch=('i686' 'x86_64') url="http://hunspell.sf.net" license=('GPL' 'LGPL' 'MPL') @@ -12,7 +12,7 @@ groups=() makedepends=('glibc' 'perl') options=('!libtool') source=(http://downloads.sourceforge.net/hunspell/${pkgname}-${pkgver}.tar.gz) -md5sums=('48a9f787f43a09c0a9b7b00cd1fddbbf') +md5sums=('86261f06c097d3e425a2f6d0b0635380') build() { cd "$srcdir/$pkgname-$pkgver" @@ -27,7 +27,7 @@ package_hyphen() { pkgdesc="library for high quality hyphenation and justification" depends=('glibc' 'perl') - cd "$srcdir/$pkgname-$pkgver" + cd "$srcdir/$pkgbase-$pkgver" make DESTDIR="$pkgdir/" install-libLTLIBRARIES make DESTDIR="$pkgdir/" install-binSCRIPTS make DESTDIR="$pkgdir/" install-includeHEADERS @@ -41,7 +41,7 @@ package_hyphen-en() { # arch=('any') optdepends=('hyphen: offers hyphenation library functions') - cd "$srcdir/$pkgname-$pkgver" + cd "$srcdir/$pkgbase-$pkgver" make DESTDIR="$pkgdir/" install-hyphDATA pushd ${pkgdir}/usr/share/hyphen/ diff --git a/extra/libburn/PKGBUILD b/extra/libburn/PKGBUILD index d48f1c5a0..e8fbd4cba 100644 --- a/extra/libburn/PKGBUILD +++ b/extra/libburn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 135153 2011-08-10 16:27:10Z andyrtr $ +# $Id: PKGBUILD 140467 2011-10-15 09:28:22Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: William Rea <sillywilly@gmail.com> pkgname=libburn -pkgver=1.1.4 #.pl01 +pkgver=1.1.6 #.pl01 pkgrel=1 pkgdesc="Library for reading, mastering and writing optical discs" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL') depends=('glibc') source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz) options=('!libtool' '!emptydirs') -md5sums=('a337cf8bf044a1bbc367ff35b9bc6a8b') +md5sums=('741604c3d4064502f06bae20293c508c') build() { cd ${srcdir}/${pkgname}-${pkgver} #/.pl??/} diff --git a/extra/libisoburn/PKGBUILD b/extra/libisoburn/PKGBUILD index 75361f813..a48ca5a20 100644 --- a/extra/libisoburn/PKGBUILD +++ b/extra/libisoburn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 135163 2011-08-10 16:43:11Z andyrtr $ +# $Id: PKGBUILD 140472 2011-10-15 09:35:02Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Gour <Gour <gour@mail.inet.hr> pkgname=libisoburn -pkgver=1.1.4 +pkgver=1.1.6 pkgrel=1 pkgdesc="frontend for libraries libburn and libisofs" url="http://libburnia.pykix.org/wiki/Libisoburn" @@ -13,7 +13,7 @@ depends=('libburn' 'libisofs' 'readline') options=('!libtool') install=${pkgname}.install source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz) -md5sums=('db79a0f0622077bb1a901f57cc1e2b67') +md5sums=('132746d3662005fd4dd462fc5d80d588') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/extra/libisofs/PKGBUILD b/extra/libisofs/PKGBUILD index 7bbee2367..c3cfed509 100644 --- a/extra/libisofs/PKGBUILD +++ b/extra/libisofs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 135158 2011-08-10 16:31:59Z andyrtr $ +# $Id: PKGBUILD 140469 2011-10-15 09:31:03Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Hugo Doria <hugodoria@gmail.com> # Contributor: Bjorn Martensen pkgname=libisofs -pkgver=1.1.4 +pkgver=1.1.6 pkgrel=1 pkgdesc="Library to pack up hard disk files and directories into a ISO 9660 disk image" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ license=('GPL') depends=('acl' 'zlib') source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz) options=('!libtool') -md5sums=('2bdfda5f47fc986230efe8d05c463d52') +md5sums=('2f6088ba9ae7ed6cc91a51d2b6f2dfa0') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/extra/midori/PKGBUILD b/extra/midori/PKGBUILD index e517de22b..85094853c 100644 --- a/extra/midori/PKGBUILD +++ b/extra/midori/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 139590 2011-10-03 14:23:27Z andyrtr $ +# $Id: PKGBUILD 140480 2011-10-15 10:32:49Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: rabyte <rabyte.at.gmail.dot.com> # Contributor: Johannes Krampf <wuischke.at.amule.dot.org> pkgname=midori -pkgver=0.4.0 -pkgrel=2 +pkgver=0.4.1 +pkgrel=1 pkgdesc="A lightweight web browser based on Gtk WebKit" arch=('i686' 'x86_64') url="http://www.twotoasts.de/index.php?/pages/midori_summary.html" @@ -14,19 +14,12 @@ install=midori.install depends=('libwebkit>=1.3.13' 'libunique' 'hicolor-icon-theme' 'desktop-file-utils' 'libnotify>=0.7.1' 'libxss' 'sqlite3' 'glib2') makedepends=('libxml2' 'intltool' 'gtk-doc' 'librsvg' 'python2>=2.7.1' 'vala') # 'git' optdepends=('vala: for use in extensions') -source=(http://archive.xfce.org/src/apps/$pkgname/0.4/$pkgname-$pkgver.tar.bz2 - webkit_search.diff) -md5sums=('14aa14ccabf3d003903f1584dab15d7a' - '293c026e1875145e0df9584e1ff2a70e') -sha1sums=('c6d1d41f4e3c97bd2839235bd9d7b2a8a408c585' - '82bba447bc1aaeabf0ec95f3ddaf5c24dd27474c') +source=(http://archive.xfce.org/src/apps/$pkgname/0.4/$pkgname-$pkgver.tar.bz2) +md5sums=('33dde203cd71ae2b1d2adcc7f5739f65') build() { cd ${srcdir}/${pkgname}-${pkgver} - # FS#26207 - patch -Np1 -i ${srcdir}/webkit_search.diff - # python2 export PYTHON=/usr/bin/python2 sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" wscript waf diff --git a/extra/nettle/PKGBUILD b/extra/nettle/PKGBUILD index 47e32f558..2509d8bb0 100644 --- a/extra/nettle/PKGBUILD +++ b/extra/nettle/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 135770 2011-08-18 15:03:50Z andyrtr $ +# $Id: PKGBUILD 140462 2011-10-15 08:19:09Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: bender02 at gmx dot com pkgname=nettle -pkgver=2.2 +pkgver=2.4 pkgrel=1 pkgdesc="A low-level cryptographic library" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ license=('GPL2') install=$pkgname.install depends=('gmp') source=(ftp://ftp.lysator.liu.se/pub/security/lsh/$pkgname-$pkgver.tar.gz) -md5sums=('9a9c6102eb9909019f8a13b67578cdfe') +md5sums=(''450be8c4886d46c09f49f568ad6fa013'') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/ristretto/PKGBUILD b/extra/ristretto/PKGBUILD index 604cf20c1..24dda5eea 100644 --- a/extra/ristretto/PKGBUILD +++ b/extra/ristretto/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 112061 2011-03-03 17:24:57Z andyrtr $ +# $Id: PKGBUILD 140478 2011-10-15 10:11:04Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=ristretto -pkgver=0.0.93 +pkgver=0.1.1 pkgrel=1 pkgdesc="Ristretto is a image viewer for Xfce" arch=('i686' 'x86_64') @@ -13,9 +13,9 @@ depends=('libxfce4ui' 'libexif' 'desktop-file-utils' 'hicolor-icon-theme') makedepends=('intltool') options=('!libtool') groups=('xfce4-goodies') -source=(http://archive.xfce.org/src/apps/$pkgname/0.0/$pkgname-$pkgver.tar.bz2) +source=(http://archive.xfce.org/src/apps/$pkgname/0.1/$pkgname-$pkgver.tar.bz2) install=ristretto.install -md5sums=('74dcdf0fcbf7039852b817732a91fb6c') +md5sums=('4b0f58c00ef99f13ebf134979ee76980') build() { cd ${srcdir}/$pkgname-$pkgver diff --git a/extra/squid/PKGBUILD b/extra/squid/PKGBUILD index 3a2dff799..47f2bf91a 100644 --- a/extra/squid/PKGBUILD +++ b/extra/squid/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 135984 2011-08-21 04:56:14Z eric $ +# $Id: PKGBUILD 140501 2011-10-15 22:54:05Z kevin $ # Maintainer: Kevin Piche <kevin@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=squid -pkgver=3.1.14 -pkgrel=2 +pkgver=3.1.16 +pkgrel=1 pkgdesc="A full-featured Web proxy cache server." arch=(i686 x86_64) url="http://www.squid-cache.org" @@ -14,22 +14,18 @@ license=('GPL') backup=(etc/squid/squid.conf etc/squid/mime.conf etc/conf.d/squid) install=squid.install source=(http://www.squid-cache.org/Versions/v3/3.1/${pkgname}-${pkgver}.tar.bz2 - squid squid.conf.d squid.pam squid.cron squid-3.1.11-unused.patch) -md5sums=('8f82a451b04c3bf3c29202c548d2f2dd' + squid squid.conf.d squid.pam squid.cron) +md5sums=('675aef4411d41f5b55b15a29ad6e5261' 'd213b0cc1db72b749bb8c88716fdab39' '2383772ef94efddc7b920628bc7ac5b0' '270977cdd9b47ef44c0c427ab9034777' - '5e17df989e2a74e869790c066f61225b' - '8e59089e4a8556fc18df51979f1cfbff') + '5e17df989e2a74e869790c066f61225b') build() { cd "${srcdir}"/${pkgname}-${pkgver} # gcc 4.6 doesn't support -fhuge-objects. sed '/^ HUGE_OBJECT_FLAG=/ s/"-fhuge-objects"//' -i configure - # fix compile errors with gcc 4.6 - # http://bugs.squid-cache.org/show_bug.cgi?id=3178 - #patch -Np1 -i "${srcdir}"/squid-3.1.11-unused.patch # fix cache_dir, cache_dir size, and effective group. sed '/^DEFAULT_SWAP_DIR/ s@/cache@/cache/squid@' -i src/Makefile.in diff --git a/extra/squid/squid.install b/extra/squid/squid.install index 44c9130bf..e7aa5ff68 100644 --- a/extra/squid/squid.install +++ b/extra/squid/squid.install @@ -8,9 +8,9 @@ post_install() { chown proxy.proxy var/{cache,log}/squid - cat << EOF -Release notes: http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html -EOF +# cat << EOF +#Release notes: http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html +#EOF } post_upgrade() { diff --git a/extra/zile/PKGBUILD b/extra/zile/PKGBUILD index e1457b41b..960b19cbf 100644 --- a/extra/zile/PKGBUILD +++ b/extra/zile/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 135981 2011-08-21 03:51:34Z eric $ +# $Id: PKGBUILD 140498 2011-10-15 20:33:55Z kevin $ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> # Maintainer: Kevin Piche <kevin@archlinux.org> pkgname=zile -pkgver=2.3.24 +pkgver=2.4.2 pkgrel=1 pkgdesc="A small, fast, and powerful Emacs clone" arch=(i686 x86_64) url="http://www.gnu.org/software/zile/" # Lua is not required, the author uses it to generate some source files. -depends=('ncurses') +depends=('gc' 'ncurses') license=('GPL') source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('fe77d801ba69e0fb9b4914a04b9ff506') +md5sums=('2a68ac77cebbeca1eacf170ba9072dbe') build() { cd "${srcdir}"/${pkgname}-${pkgver} diff --git a/staging/koffice/PKGBUILD b/staging/koffice/PKGBUILD new file mode 100644 index 000000000..218ad08bc --- /dev/null +++ b/staging/koffice/PKGBUILD @@ -0,0 +1,305 @@ +# $Id: PKGBUILD 140460 2011-10-15 07:51:52Z eric $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > + +pkgbase=koffice +pkgname=( + 'koffice-filters' + 'koffice-interfaces' + 'koffice-libs' + 'koffice-plugins' + 'koffice-pics' + 'koffice-servicetypes' + 'koffice-templates' + 'koffice-tools' + 'koffice-karbon' + 'koffice-karbon-doc' +# 'koffice-kchart' +# 'koffice-kchart-doc' + 'koffice-kexi' + 'koffice-kexi-doc' + 'koffice-kformula' + 'koffice-kformula-doc' + 'koffice-kounavail' + 'koffice-kplato' +# 'koffice-kplato-doc' + 'koffice-kpresenter' + 'koffice-kpresenter-doc' + 'koffice-krita' +# 'koffice-krita-doc' # no krita-doc anymore upstream + 'koffice-kspread' + 'koffice-kspread-doc' + 'koffice-kword' +# 'koffice-kword-doc' # see http://userbase.kde.org/KWord/Manual for documentation (not supplied by upstream anymore in the sources) + 'koffice-handbook' + 'koffice-thesaurus-doc' +# 'koffice-kdgantt' # still an empty package +) +pkgver=2.3.3 +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' 'oxygen-icons') +groups=('koffice') +source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2" + 'kde4-koffice-libwpg02.patch' 'gcc46.patch') +sha256sums=('31ba0d98c0d29c7b8ab97efdeb6c618b82177b2b0ec85da088178254da43c099' + '69106deb4081d71b5bd8f2e4f5af67ca689e4ce9f2bb49c11dbce5fb3409d612' + 'e095c0b2bbedf41da6535a68b2275464dafd3f194566028d0135322f596e4739') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -p1 -i "${srcdir}/kde4-koffice-libwpg02.patch" + patch -p1 -i "${srcdir}"/gcc46.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +##### 1st package common files, depends, optdepends of the koffice applications ##### + +package_koffice-filters(){ + pkgdesc="Filters for the KDE office suite" + 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 +} + +package_koffice-interfaces(){ + pkgdesc="Interfaces for the KDE office suite" + depends=('koffice-libs') + cd "${srcdir}/build/interfaces" + make DESTDIR="${pkgdir}" install +} + +package_koffice-libs(){ + pkgdesc="Libs for the KDE office suite" + depends=('kdepimlibs' 'lcms' 'koffice-servicetypes') + cd "${srcdir}/build/libs" + make DESTDIR="${pkgdir}" install +} + +package_koffice-plugins(){ + pkgdesc="Plugins for the KDE office suite" + depends=('koffice-libs') + replaces=('koffice-kchart') + conflicts=('koffice-kchart') + cd "${srcdir}/build/plugins" + make DESTDIR="${pkgdir}" install +} + +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 +} + +package_koffice-servicetypes(){ + pkgdesc="Servicetypes for the KDE office suite" + cd "${srcdir}/build/servicetypes" + make DESTDIR="${pkgdir}" install +} + +package_koffice-templates(){ + pkgdesc="Templates for the KDE office suite" + cd "${srcdir}/build/templates" + make DESTDIR="${pkgdir}" install +} + +package_koffice-tools(){ + pkgdesc="Tools for the KDE office suite" + depends=('koffice-libs' 'oxygen-icons') + cd "${srcdir}/build/tools" + make DESTDIR="${pkgdir}" install +} + +#### package common files done ##### + +#### package apps and their docs ##### + +package_koffice-karbon(){ + pkgdesc="Vector drawing application for KDE" + depends=('koffice-libs' 'koffice-templates' 'oxygen-icons') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/karbon" + make DESTDIR="${pkgdir}" install +} + +package_koffice-karbon-doc(){ + pkgdesc="Documentation for karbon" + cd "${srcdir}/build/doc/karbon" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kexi(){ + pkgdesc="Integrated data management application for the KDE office suite" + depends=('koffice-kspread' 'oxygen-icons') + install=koffice.install + cd "${srcdir}/build/kexi" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kexi-doc(){ + pkgdesc="Documentation for kexi" + cd "${srcdir}/build/doc/kexi" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kformula(){ + pkgdesc="Formula editor for the KDE office suite" + depends=('koffice-libs') + install=koffice.install + cd "${srcdir}/build/kformula" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kformula-doc() { + pkgdesc="Documentation for koffice-kformula" + cd "${srcdir}/build/doc/kformula" + make DESTDIR="${pkgdir}" install +} + + +package_koffice-kounavail(){ + pkgdesc="Kounavail for the KDE office suite" + depends=('koffice-libs') + cd "${srcdir}/build/kounavail" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kplato(){ + pkgdesc="Project management application for KDE" + depends=('koffice-kword' 'oxygen-icons') + install=koffice.install + cd "${srcdir}/build/kplato" + make DESTDIR="${pkgdir}" install +} + +#package_koffice-kplato-doc(){ +# pkgdesc="Documentation for kplato" +# cd ${srcdir}/build/doc/kplato +# make DESTDIR="${pkgdir}" install +#} + +package_koffice-kpresenter(){ + pkgdesc="Presentation tool for KDE" + depends=('koffice-libs' 'koffice-templates' 'oxygen-icons') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/kpresenter" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kpresenter-doc(){ + pkgdesc="Documentation for kpresenter" + cd "${srcdir}/build/doc/kpresenter" + make DESTDIR="${pkgdir}" install +} + +package_koffice-krita(){ + pkgdesc="Graphics editor for KDE" + 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 +} + +#package_koffice-krita-doc(){ +# pkgdesc="Documentation for krita" +# cd ${srcdir}/build/doc/krita +# make DESTDIR="${pkgdir}" install +#} + + +package_koffice-kspread(){ + pkgdesc="Spreadsheet application for KDE" + depends=('gsl' 'koffice-templates' 'koffice-plugins' 'oxygen-icons') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/kspread" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kspread-doc(){ + pkgdesc="Documentation for kspread" + cd "${srcdir}/build/doc/kspread" + make DESTDIR="${pkgdir}" install +} + +package_koffice-kword(){ + pkgdesc="Wordprocessor for KDE" + depends=('koffice-templates' 'koffice-pics' 'oxygen-icons' \ + 'koffice-kounavail' 'koffice-plugins') + optdepends=('koffice-filters: import/export filters') + install=koffice.install + cd "${srcdir}/build/kword" + make DESTDIR="${pkgdir}" install + + # some sed lines to have python2 in extension scripts + sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/oouno.py" + sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/importdoxyxml.py" + sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/onlinehelp.py" +} + +#package_koffice-kword-doc(){ +# pkgdesc="Documentation for kword" +# cd ${srcdir}/build/doc/kword +# make DESTDIR="${pkgdir}" install +#} + +##### package apps done ##### + +#package_koffice-kchart(){ +# pkgdesc="Charting tool for KDE" +# depends=('hicolor-icon-theme' 'koffice-interfaces' 'koffice-templates') +# optdepends=('koffice-filters: import/export filters') +# install=koffice.install +# cd "${srcdir}/build/kchart" +# make DESTDIR="${pkgdir}" install +#} + +#package_koffice-kchart-doc(){ +# pkgdesc="Documentation for kchart" +# cd "${srcdir}/build/doc/kchart" +# make DESTDIR="${pkgdir}" install +#} + +#package_koffice-kdgantt(){ +# pkgdesc="Gantt for KDE" +# cd "${srcdir}/build/kdgantt" +# make DESTDIR="${pkgdir}" install +#} + +package_koffice-handbook() { + pkgdesc="Documentation for koffice" + cd "${srcdir}/build/doc/koffice" + make DESTDIR="${pkgdir}" install +} + +package_koffice-thesaurus-doc(){ + pkgdesc="Documentation for koffice-thesaurus" + cd "${srcdir}/build/doc/thesaurus" + make DESTDIR="${pkgdir}" install +} diff --git a/staging/koffice/filters.install b/staging/koffice/filters.install new file mode 100644 index 000000000..7c8a8bd2b --- /dev/null +++ b/staging/koffice/filters.install @@ -0,0 +1,11 @@ +post_install() { + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/koffice/gcc46.patch b/staging/koffice/gcc46.patch new file mode 100644 index 000000000..dcf8a4f85 --- /dev/null +++ b/staging/koffice/gcc46.patch @@ -0,0 +1,23 @@ +diff -up koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc.gcc46 koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc +--- koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc.gcc46 2011-02-17 06:13:40.000000000 -0600 ++++ koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc 2011-02-19 21:15:56.597142885 -0600 +@@ -80,6 +80,9 @@ ImageType imfTypeToKisType(Imf::PixelTyp + return IT_FLOAT16; + case Imf::FLOAT: + return IT_FLOAT32; ++ default: ++ // shouldn't reach here ++ return IT_UNSUPPORTED; + } + } + +@@ -93,6 +96,9 @@ const KoColorSpace* kisTypeToColorSpace( + case IT_UNKNOWN: + case IT_UNSUPPORTED: + return 0; ++ default: ++ // shouldn't reach here ++ return 0; + } + } + diff --git a/staging/koffice/kde4-koffice-libwpg02.patch b/staging/koffice/kde4-koffice-libwpg02.patch new file mode 100644 index 000000000..e2a55a216 --- /dev/null +++ b/staging/koffice/kde4-koffice-libwpg02.patch @@ -0,0 +1,1323 @@ +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/CMakeLists.txt koffice-2.3.1-libwpg02/filters/karbon/wpg/import/CMakeLists.txt +--- koffice-2.3.1/filters/karbon/wpg/import/CMakeLists.txt 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/CMakeLists.txt 2011-01-18 07:40:25.000000000 +0100 +@@ -1,16 +1,11 @@ + +- + include_directories(${CMAKE_BINARY_DIR}/filters/ ${WPD_INCLUDE_DIR} ${LIBWPG_INCLUDE_DIR}/) + +-set(wpgimport_PART_SRCS +-WPGImport.cpp +-OdgExporter.cxx +-FileOutputHandler.cxx +-GraphicsElement.cxx) ++set(wpgimport_PART_SRCS WPGImport.cpp) + + kde4_add_plugin(wpgimport ${wpgimport_PART_SRCS}) + +-target_link_libraries(wpgimport komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES}) ++target_link_libraries(wpgimport komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES} ${WPD_LIBRARIES}) + + install(TARGETS wpgimport DESTINATION ${PLUGIN_INSTALL_DIR}) + install(FILES karbon_wpg_import.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.cxx +--- koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.cxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.cxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,95 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library 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 +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#include "FileOutputHandler.hxx" +- +-FileOutputHandler::FileOutputHandler(std::ostringstream &contentStream) : +- mbIsTagOpened(false), +- mContentStream(contentStream) +-{ +-} +- +-void FileOutputHandler::startDocument() +-{ +-} +- +-void FileOutputHandler::startElement(const char *psName, const std::vector<std::pair<std::string, std::string> > &xPropList) +-{ +- if (mbIsTagOpened) +- { +- mContentStream << ">"; +- mbIsTagOpened = false; +- } +- mContentStream << "<" << psName; +- +- for (std::vector<std::pair<std::string, std::string> >::const_iterator i = xPropList.begin(); i != xPropList.end(); i++) +- { +- mContentStream << " " << (*i).first.c_str() << "=\"" << (*i).second.c_str() << "\""; +- } +- mbIsTagOpened = true; +- msOpenedTagName = psName; +-} +- +-void FileOutputHandler::endElement(const char *psName) +-{ +- if (mbIsTagOpened) +- { +- if( msOpenedTagName == psName ) +- { +- mContentStream << "/>"; +- mbIsTagOpened = false; +- } +- else // should not happen, but handle it +- { +- mContentStream << ">"; +- mContentStream << "</" << psName << ">"; +- mbIsTagOpened = false; +- } +- } +- else +- { +- mContentStream << "</" << psName << ">"; +- mbIsTagOpened = false; +- } +-} +- +-void FileOutputHandler::characters(const std::string &sCharacters) +-{ +- if (mbIsTagOpened) +- { +- mContentStream << ">"; +- mbIsTagOpened = false; +- } +- mContentStream << sCharacters.c_str(); +-} +- +-void FileOutputHandler::endDocument() +-{ +- if (mbIsTagOpened) +- { +- mContentStream << ">"; +- mbIsTagOpened = false; +- } +-} +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,49 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library 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 +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#ifndef FILEOUTPUTHANDLER_H +-#define FILEOUTPUTHANDLER_H +- +-#include <iostream> +-#include <sstream> +-#include <string> +-#include "GraphicsHandler.hxx" +- +-class FileOutputHandler : public GraphicsHandler +-{ +- public: +- explicit FileOutputHandler(std::ostringstream &contentStream); +- virtual void startDocument(); +- virtual void endDocument(); +- virtual void startElement(const char *psName, const std::vector<std::pair<std::string, std::string> > &xPropList); +- virtual void endElement(const char *psName); +- virtual void characters(const std::string &sCharacters); +- +- private: +- bool mbIsTagOpened; +- std::string msOpenedTagName; +- std::ostringstream &mContentStream; +-}; +-#endif +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.cxx +--- koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.cxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.cxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,66 +0,0 @@ +-/* GraphicsElement: The items we are collecting to be put into the Writer +- * document: paragraph and spans of text, as well as section breaks. +- * +- * Copyright (C) 2002-2003 William Lachance (william.lachance@sympatico.ca) +- * +- * 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) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- * +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#include "GraphicsElement.hxx" +-#include "GraphicsHandler.hxx" +-#include <string.h> +- +-#define ASCII_SPACE 0x0020 +- +-void TagGraphicsElement::print() const +-{ +-} +- +-void OpenTagGraphicsElement::write(GraphicsHandler *pHandler) const +-{ +- pHandler->startElement(getTagName().c_str(), maAttrList); +-} +- +-void OpenTagGraphicsElement::print() const +-{ +- TagGraphicsElement::print(); +-} +- +-void OpenTagGraphicsElement::addAttribute(const std::string &szAttributeName, const std::string &sAttributeValue) +-{ +- std::pair<std::string, std::string> tmpAttribute; +- tmpAttribute.first = szAttributeName; +- tmpAttribute.second = sAttributeValue; +- maAttrList.push_back(tmpAttribute); +-} +- +-void CloseTagGraphicsElement::write(GraphicsHandler *pHandler) const +-{ +- +- pHandler->endElement(getTagName().c_str()); +-} +- +-void CharDataGraphicsElement::write(GraphicsHandler *pHandler) const +-{ +- pHandler->characters(msData); +-} +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,84 +0,0 @@ +-/* GraphicsElement: The items we are collecting to be put into the Writer +- * document: paragraph and spans of text, as well as section breaks. +- * +- * Copyright (C) 2002-2003 William Lachance (william.lachance@sympatico.ca) +- * +- * 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) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpd.sourceforge.net +- * +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#ifndef _GRAPHICSELEMENT_H +-#define _GRAPHICSELEMENT_H +-#include <string> +-#include <map> +-#include <vector> +- +-#include "GraphicsHandler.hxx" +- +-class GraphicsElement +-{ +-public: +- virtual ~GraphicsElement() {} +- virtual void write(GraphicsHandler *pHandler) const = 0; +- virtual void print() const {} +-}; +- +-class TagGraphicsElement : public GraphicsElement +-{ +-public: +- explicit TagGraphicsElement(const char *szTagName) : msTagName(szTagName) {} +- const std::string &getTagName() const { return msTagName; } +- virtual void print() const; +-private: +- const std::string msTagName; +-}; +- +-class OpenTagGraphicsElement : public TagGraphicsElement +-{ +-public: +- explicit OpenTagGraphicsElement(const char *szTagName) : TagGraphicsElement(szTagName) {} +- ~OpenTagGraphicsElement() {} +- void addAttribute(const std::string &szAttributeName, const std::string &sAttributeValue); +- virtual void write(GraphicsHandler *pHandler) const; +- virtual void print () const; +-private: +- std::vector<std::pair<std::string, std::string> > maAttrList; +-}; +- +-class CloseTagGraphicsElement : public TagGraphicsElement +-{ +-public: +- explicit CloseTagGraphicsElement(const char *szTagName) : TagGraphicsElement(szTagName) {} +- virtual void write(GraphicsHandler *pHandler) const; +-}; +- +-class CharDataGraphicsElement : public GraphicsElement +-{ +-public: +- CharDataGraphicsElement(const char *sData) : GraphicsElement(), msData(sData) {} +- virtual void write(GraphicsHandler *pHandler) const; +-private: +- std::string msData; +-}; +- +- +-#endif +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsHandler.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsHandler.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/GraphicsHandler.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsHandler.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,43 +0,0 @@ +-/* +- * Copyright (C) 2004 William Lachance (wlach@interlog.com) +- * Copyright (C) 2004 Net Integration Technologies (http://www.net-itech.com) +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License +- * as published by the Free Software Foundation; either version 2 +- * of the License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * Contributor(s): Martin Gallwey (gallwey@sun.com) +- * +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +-#ifndef _GRAPHICSHANDLER_H +-#define _GRAPHICSHANDLER_H +-#include <string> +-#include <map> +-#include <vector> +- +-class GraphicsHandler +-{ +-public: +- virtual ~GraphicsHandler() {} +- virtual void startDocument() = 0; +- virtual void endDocument() = 0; +- virtual void startElement(const char *psName, const std::vector< std::pair <std::string, std::string> > &xPropList) = 0; +- virtual void endElement(const char *psName) = 0; +- virtual void characters(const std::string &sCharacters) = 0; +-}; +-#endif +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.cxx +--- koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.cxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.cxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,662 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org) +- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library 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 +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#include "OdgExporter.hxx" +-#include "GraphicsElement.hxx" +-#include "GraphicsHandler.hxx" +-#include <locale.h> +- +-static std::string doubleToString(const double value) +-{ +- std::ostringstream tempStream; +- tempStream << value; +- std::string decimalPoint(localeconv()->decimal_point); +- if ((decimalPoint.size() == 0) || (decimalPoint == ".")) +- return tempStream.str(); +- std::string stringValue(tempStream.str()); +- if (!stringValue.empty()) +- { +- std::string::size_type pos; +- while ((pos = stringValue.find(decimalPoint)) != std::string::npos) +- stringValue.replace(pos,decimalPoint.size(),"."); +- } +- return stringValue; +-} +- +- +-OdgExporter::OdgExporter(GraphicsHandler *pHandler, const bool isFlatXML): +- mpHandler(pHandler), +- m_fillRule(AlternatingFill), +- m_gradientIndex(1), +- m_dashIndex(1), +- m_styleIndex(1), +- m_width(0.0f), +- m_height(0.0f), +- m_isFlatXML(isFlatXML) +-{ +-} +- +-OdgExporter::~OdgExporter() +-{ +- for (std::vector <GraphicsElement *>::iterator iterStroke = mStrokeDashElements.begin(); +- iterStroke != mStrokeDashElements.end(); iterStroke++) +- delete (*iterStroke); +- +- for (std::vector <GraphicsElement *>::iterator iterGradient = mGradientElements.begin(); +- iterGradient != mGradientElements.end(); iterGradient++) +- delete (*iterGradient); +- +- for (std::vector <GraphicsElement *>::iterator iterAutomaticStyles = mAutomaticStylesElements.begin(); +- iterAutomaticStyles != mAutomaticStylesElements.end(); iterAutomaticStyles++) +- delete (*iterAutomaticStyles); +- +- for (std::vector<GraphicsElement *>::iterator bodyIter = mBodyElements.begin(); +- bodyIter != mBodyElements.end(); bodyIter++) +- delete (*bodyIter); +-} +- +-void OdgExporter::startGraphics(double width, double height) +-{ +- m_gradientIndex = 1; +- m_dashIndex = 1; +- m_styleIndex = 1; +- m_width = width; +- m_height = height; +- +- +- mpHandler->startDocument(); +- OpenTagGraphicsElement tmpOfficeDocumentContent("office:document"); +- tmpOfficeDocumentContent.addAttribute("xmlns:office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:draw", "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:dc", "http://purl.org/dc/elements/1.1/"); +- tmpOfficeDocumentContent.addAttribute("xmlns:svg", "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:config", "urn:oasis:names:tc:opendocument:xmlns:config:1.0"); +- tmpOfficeDocumentContent.addAttribute("xmlns:ooo", "http://openoffice.org/2004/office"); +- tmpOfficeDocumentContent.addAttribute("office:version", "1.0"); +- if (m_isFlatXML) +- tmpOfficeDocumentContent.addAttribute("office:mimetype", "application/x-vnd.oasis.openoffice.drawing"); +- tmpOfficeDocumentContent.write(mpHandler); +- +- OpenTagGraphicsElement("office:settings").write(mpHandler); +- +- OpenTagGraphicsElement configItemSetOpenElement("config:config-item-set"); +- configItemSetOpenElement.addAttribute("config:name", "ooo:view-settings"); +- configItemSetOpenElement.write(mpHandler); +- +- OpenTagGraphicsElement configItemOpenElement1("config:config-item"); +- configItemOpenElement1.addAttribute("config:name", "VisibleAreaTop"); +- configItemOpenElement1.addAttribute("config:type", "int"); +- configItemOpenElement1.write(mpHandler); +- mpHandler->characters("0"); +- mpHandler->endElement("config:config-item"); +- +- OpenTagGraphicsElement configItemOpenElement2("config:config-item"); +- configItemOpenElement2.addAttribute("config:name", "VisibleAreaLeft"); +- configItemOpenElement2.addAttribute("config:type", "int"); +- configItemOpenElement2.write(mpHandler); +- mpHandler->characters("0"); +- mpHandler->endElement("config:config-item"); +- +- OpenTagGraphicsElement configItemOpenElement3("config:config-item"); +- configItemOpenElement3.addAttribute("config:name", "VisibleAreaWidth"); +- configItemOpenElement3.addAttribute("config:type", "int"); +- configItemOpenElement3.write(mpHandler); +- m_value.str(""); +- m_value << (unsigned)(2540 * width); +- mpHandler->characters(m_value.str()); +- mpHandler->endElement("config:config-item"); +- +- OpenTagGraphicsElement configItemOpenElement4("config:config-item"); +- configItemOpenElement4.addAttribute("config:name", "VisibleAreaHeight"); +- configItemOpenElement4.addAttribute("config:type", "int"); +- configItemOpenElement4.write(mpHandler); +- m_value.str(""); +- m_value << (unsigned)(2540 * height); +- mpHandler->characters(m_value.str()); +- mpHandler->endElement("config:config-item"); +- +- mpHandler->endElement("config:config-item-set"); +- +- mpHandler->endElement("office:settings"); +- +-} +- +-void OdgExporter::endGraphics() +-{ +- OpenTagGraphicsElement("office:styles").write(mpHandler); +- +- for (std::vector <GraphicsElement *>::const_iterator iterStroke = mStrokeDashElements.begin(); +- iterStroke != mStrokeDashElements.end(); iterStroke++) +- (*iterStroke)->write(mpHandler); +- +- for (std::vector <GraphicsElement *>::const_iterator iterGradient = mGradientElements.begin(); +- iterGradient != mGradientElements.end(); iterGradient++) +- (*iterGradient)->write(mpHandler); +- +- mpHandler->endElement("office:styles"); +- +- OpenTagGraphicsElement("office:automatic-styles").write(mpHandler); +- +- for (std::vector <GraphicsElement *>::const_iterator iterAutomaticStyles = mAutomaticStylesElements.begin(); +- iterAutomaticStyles != mAutomaticStylesElements.end(); iterAutomaticStyles++) +- (*iterAutomaticStyles)->write(mpHandler); +- +- OpenTagGraphicsElement tmpStylePageLayoutOpenElement("style:page-layout"); +- tmpStylePageLayoutOpenElement.addAttribute("style:name", "PM0"); +- tmpStylePageLayoutOpenElement.write(mpHandler); +- +- OpenTagGraphicsElement tmpStylePageLayoutPropertiesOpenElement("style:page-layout-properties"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-top", "0in"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-bottom", "0in"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-left", "0in"); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-right", "0in"); +- m_value.str(""); +- m_value << doubleToString(m_width) << "in"; +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:page-width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(m_height) << "in"; +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:page-height", m_value.str()); +- m_value.str(""); +- tmpStylePageLayoutPropertiesOpenElement.addAttribute("style:print-orientation", "portrait"); +- tmpStylePageLayoutPropertiesOpenElement.write(mpHandler); +- +- mpHandler->endElement("style:page-layout-properties"); +- +- mpHandler->endElement("style:page-layout"); +- +- OpenTagGraphicsElement tmpStyleStyleOpenElement("style:style"); +- tmpStyleStyleOpenElement.addAttribute("style:name", "dp1"); +- tmpStyleStyleOpenElement.addAttribute("style:family", "drawing-page"); +- tmpStyleStyleOpenElement.write(mpHandler); +- +- OpenTagGraphicsElement tmpStyleDrawingPagePropertiesOpenElement("style:drawing-page-properties"); +- // tmpStyleDrawingPagePropertiesOpenElement.addAttribute("draw:background-size", "border"); +- tmpStyleDrawingPagePropertiesOpenElement.addAttribute("draw:fill", "none"); +- tmpStyleDrawingPagePropertiesOpenElement.write(mpHandler); +- +- mpHandler->endElement("style:drawing-page-properties"); +- +- mpHandler->endElement("style:style"); +- +- mpHandler->endElement("office:automatic-styles"); +- +- OpenTagGraphicsElement("office:master-styles").write(mpHandler); +- +- OpenTagGraphicsElement tmpStyleMasterPageOpenElement("style:master-page"); +- tmpStyleMasterPageOpenElement.addAttribute("style:name", "Default"); +- tmpStyleMasterPageOpenElement.addAttribute("style:page-layout-name", "PM0"); +- tmpStyleMasterPageOpenElement.addAttribute("draw:style-name", "dp1"); +- tmpStyleMasterPageOpenElement.write(mpHandler); +- +- mpHandler->endElement("style:master-page"); +- +- mpHandler->endElement("office:master-styles"); +- +- OpenTagGraphicsElement("office:body").write(mpHandler); +- +- OpenTagGraphicsElement("office:drawing").write(mpHandler); +- +- OpenTagGraphicsElement tmpDrawPageOpenElement("draw:page"); +- tmpDrawPageOpenElement.addAttribute("draw:name", "page1"); +- tmpDrawPageOpenElement.addAttribute("draw:style-name", "dp1"); +- tmpDrawPageOpenElement.addAttribute("draw:master-page-name", "Default"); +- tmpDrawPageOpenElement.write(mpHandler); +- +- for (std::vector<GraphicsElement *>::const_iterator bodyIter = mBodyElements.begin(); +- bodyIter != mBodyElements.end(); bodyIter++) +- { +- (*bodyIter)->write(mpHandler); +- } +- +- mpHandler->endElement("draw:page"); +- mpHandler->endElement("office:drawing"); +- mpHandler->endElement("office:body"); +- mpHandler->endElement("office:document"); +- +- mpHandler->endDocument(); +-} +- +-void OdgExporter::setPen(const libwpg::WPGPen& pen) +-{ +- m_pen = pen; +-} +- +-void OdgExporter::setBrush(const libwpg::WPGBrush& brush) +-{ +- m_brush = brush; +-} +- +-void OdgExporter::setFillRule(FillRule rule) +-{ +- m_fillRule = rule; +-} +- +-void OdgExporter::startLayer(unsigned int) +-{ +-} +- +-void OdgExporter::endLayer(unsigned int) +-{ +-} +- +-void OdgExporter::drawRectangle(const libwpg::WPGRect& rect, double rx, double ) +-{ +- writeStyle(); +- OpenTagGraphicsElement *pDrawRectElement = new OpenTagGraphicsElement("draw:rect"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawRectElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.x1) << "in"; +- pDrawRectElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.y1) << "in"; +- pDrawRectElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.x2-rect.x1) << "in"; +- pDrawRectElement->addAttribute("svg:width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rect.y2-rect.y1) << "in"; +- pDrawRectElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(rx) << "in"; +- // FIXME: what to do when rx != ry ? +- pDrawRectElement->addAttribute("draw:corner-radius", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawRectElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:rect"))); +-} +- +-void OdgExporter::drawEllipse(const libwpg::WPGPoint& center, double rx, double ry) +-{ +- writeStyle(); +- OpenTagGraphicsElement *pDrawEllipseElement = new OpenTagGraphicsElement("draw:ellipse"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawEllipseElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(center.x - rx) << "in"; +- pDrawEllipseElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(center.y - ry) << "in"; +- pDrawEllipseElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(2 * rx) << "in"; +- pDrawEllipseElement->addAttribute("svg:width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(2 * ry) << "in"; +- pDrawEllipseElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawEllipseElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:ellipse"))); +-} +- +-void OdgExporter::drawPolygon(const libwpg::WPGPointArray& vertices) +-{ +- if(vertices.count() < 2) +- return; +- +- if(vertices.count() == 2) +- { +- const libwpg::WPGPoint& p1 = vertices[0]; +- const libwpg::WPGPoint& p2 = vertices[1]; +- +- writeStyle(); +- OpenTagGraphicsElement *pDrawLineElement = new OpenTagGraphicsElement("draw:line"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawLineElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- pDrawLineElement->addAttribute("draw:text-style-name", "P1"); +- pDrawLineElement->addAttribute("draw:layer", "layout"); +- m_value << doubleToString(p1.x) << "in"; +- pDrawLineElement->addAttribute("svg:x1", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p1.y) << "in"; +- pDrawLineElement->addAttribute("svg:y1", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p2.x) << "in"; +- pDrawLineElement->addAttribute("svg:x2", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p2.y) << "in"; +- pDrawLineElement->addAttribute("svg:y2", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawLineElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:line"))); +- } +- else +- { +- // draw as path +- libwpg::WPGPath path; +- path.moveTo(vertices[0]); +- for(unsigned long ii = 1; ii < vertices.count(); ii++) +- path.lineTo(vertices[ii]); +- path.closed = true; +- drawPath(path); +- } +-} +- +-void OdgExporter::drawPath(const libwpg::WPGPath& path) +-{ +- if(path.count() == 0) +- return; +- +- // try to find the bounding box +- // this is simple convex hull technique, the bounding box might not be +- // accurate but that should be enough for this purpose +- libwpg::WPGPoint p = path.element(0).point; +- libwpg::WPGPoint q = path.element(0).point; +- for(unsigned k = 0; k < path.count(); k++) +- { +- libwpg::WPGPathElement element = path.element(k); +- p.x = (p.x > element.point.x) ? element.point.x : p.x; +- p.y = (p.y > element.point.y) ? element.point.y : p.y; +- q.x = (q.x < element.point.x) ? element.point.x : q.x; +- q.y = (q.y < element.point.y) ? element.point.y : q.y; +- if(element.type == libwpg::WPGPathElement::CurveToElement) +- { +- p.x = (p.x > element.extra1.x) ? element.extra1.x : p.x; +- p.y = (p.y > element.extra1.y) ? element.extra1.y : p.y; +- q.x = (q.x < element.extra1.x) ? element.extra1.x : q.x; +- q.y = (q.y < element.extra1.y) ? element.extra1.y : q.y; +- p.x = (p.x > element.extra2.x) ? element.extra2.x : p.x; +- p.y = (p.y > element.extra2.y) ? element.extra2.y : p.y; +- q.x = (q.x < element.extra2.x) ? element.extra2.x : q.x; +- q.y = (q.y < element.extra2.y) ? element.extra2.y : q.y; +- } +- } +- double vw = q.x - p.x; +- double vh = q.y - p.y; +- +- writeStyle(); +- +- OpenTagGraphicsElement *pDrawPathElement = new OpenTagGraphicsElement("draw:path"); +- m_value.str(""); +- m_value << "gr" << m_styleIndex-1; +- pDrawPathElement->addAttribute("draw:style-name", m_value.str()); +- m_value.str(""); +- pDrawPathElement->addAttribute("draw:text-style-name", "P1"); +- pDrawPathElement->addAttribute("draw:layer", "layout"); +- m_value << doubleToString(p.x) << "in"; +- pDrawPathElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(p.y) << "in"; +- pDrawPathElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(vw) << "in"; +- pDrawPathElement->addAttribute("svg:width", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(vh) << "in"; +- pDrawPathElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << "0 0 " << (int)(vw*2540) << " " << (int)(vh*2540); +- pDrawPathElement->addAttribute("svg:viewBox", m_value.str()); +- m_value.str(""); +- +- for(unsigned i = 0; i < path.count(); i++) +- { +- libwpg::WPGPathElement element = path.element(i); +- libwpg::WPGPoint point = element.point; +- switch(element.type) +- { +- // 2540 is 2.54*1000, 2.54 in = 1 in +- case libwpg::WPGPathElement::MoveToElement: +- m_value << "M" << (int)((point.x-p.x)*2540) << " "; +- m_value << (int)((point.y-p.y)*2540); +- break; +- +- case libwpg::WPGPathElement::LineToElement: +- m_value << "L" << (int)((point.x-p.x)*2540) << " "; +- m_value << (int)((point.y-p.y)*2540); +- break; +- +- case libwpg::WPGPathElement::CurveToElement: +- m_value << "C" << (int)((element.extra1.x-p.x)*2540) << " "; +- m_value << (int)((element.extra1.y-p.y)*2540) << " "; +- m_value << (int)((element.extra2.x-p.x)*2540) << " "; +- m_value << (int)((element.extra2.y-p.y)*2540) << " "; +- m_value << (int)((point.x-p.x)*2540) << " "; +- m_value << (int)((point.y-p.y)*2540); +- break; +- +- default: +- break; +- } +- } +- if(path.closed) +- m_value << " Z"; +- pDrawPathElement->addAttribute("svg:d", m_value.str()); +- m_value.str(""); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawPathElement)); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:path"))); +-} +- +- +-void OdgExporter::drawBitmap(const libwpg::WPGBitmap& bitmap) +-{ +- OpenTagGraphicsElement *pDrawFrameElement = new OpenTagGraphicsElement("draw:frame"); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.x1) << "in"; +- pDrawFrameElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.y1) << "in"; +- pDrawFrameElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.height()) << "in"; +- pDrawFrameElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(bitmap.rect.width()) << "in"; +- pDrawFrameElement->addAttribute("svg:width", m_value.str()); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawFrameElement)); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("office:binary-data"))); +- +- libwpg::WPGString base64Binary; +- bitmap.generateBase64DIB(base64Binary); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CharDataGraphicsElement(base64Binary.cstr()))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("office:binary-data"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:frame"))); +-} +- +-void OdgExporter::drawImageObject(const libwpg::WPGBinaryData& binaryData) +-{ +- if (binaryData.mimeType.length() <= 0) +- return; +- OpenTagGraphicsElement *pDrawFrameElement = new OpenTagGraphicsElement("draw:frame"); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.x1) << "in"; +- pDrawFrameElement->addAttribute("svg:x", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.y1) << "in"; +- pDrawFrameElement->addAttribute("svg:y", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.height()) << "in"; +- pDrawFrameElement->addAttribute("svg:height", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(binaryData.rect.width()) << "in"; +- pDrawFrameElement->addAttribute("svg:width", m_value.str()); +- mBodyElements.push_back(static_cast<GraphicsElement *>(pDrawFrameElement)); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new OpenTagGraphicsElement("office:binary-data"))); +- +- libwpg::WPGString base64Binary = binaryData.getBase64Data(); +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CharDataGraphicsElement(base64Binary.cstr()))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("office:binary-data"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:image"))); +- +- mBodyElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:frame"))); +-} +- +- +-static std::string colorToHex(const libwpg::WPGColor& color) +-{ +- char hexdigits[] = "0123456789abcdef"; +- char buffer[] = "123456"; +- buffer[0] = hexdigits[(color.red >> 4) & 15]; +- buffer[1] = hexdigits[color.red & 15]; +- buffer[2] = hexdigits[(color.green >> 4) & 15]; +- buffer[3] = hexdigits[color.green & 15]; +- buffer[4] = hexdigits[(color.blue >> 4) & 15]; +- buffer[5] = hexdigits[color.blue & 15]; +- return std::string(buffer); +-} +- +-void OdgExporter::writeStyle() +-{ +- m_value.str(""); +- m_name.str(""); +- +- if(!m_pen.solid && (m_pen.dashArray.count() >=2 ) ) +- { +- // ODG only supports dashes with the same length of spaces inbetween +- // here we take the first space and assume everything else the same +- // note that dash length is written in percentage +- double distance = m_pen.dashArray.at(1); +- OpenTagGraphicsElement *tmpDrawStrokeDashElement = new OpenTagGraphicsElement("draw:stroke-dash"); +- tmpDrawStrokeDashElement->addAttribute("draw:style", "rect"); +- m_value << "Dash_" << m_dashIndex++; +- tmpDrawStrokeDashElement->addAttribute("draw:name", m_value.str()); +- m_value.str(""); +- m_value << doubleToString(distance*100) << "%"; +- tmpDrawStrokeDashElement->addAttribute("draw:distance", m_value.str()); +- m_value.str(""); +- for(unsigned i = 0; i < m_pen.dashArray.count()/2; i++) +- { +- m_name << "draw:dots" << i+1; +- tmpDrawStrokeDashElement->addAttribute(m_name.str(), "1"); +- m_name.str(""); +- m_name << "draw:dots" << i+1 << "-length"; +- m_value << doubleToString(100*m_pen.dashArray.at(i*2)) << "%"; +- tmpDrawStrokeDashElement->addAttribute(m_name.str(), m_value.str()); +- m_name.str(""); +- m_value.str(""); +- } +- mStrokeDashElements.push_back(static_cast<GraphicsElement *>(tmpDrawStrokeDashElement)); +- mStrokeDashElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:stroke-dash"))); +- } +- +- if(m_brush.style == libwpg::WPGBrush::Gradient) +- { +- OpenTagGraphicsElement *tmpDrawGradientElement = new OpenTagGraphicsElement("draw:gradient"); +- tmpDrawGradientElement->addAttribute("draw:style", "linear"); +- m_value << "Gradient_" << m_gradientIndex++; +- tmpDrawGradientElement->addAttribute("draw:name", m_value.str()); +- m_value.str(""); +- +- // ODG angle unit is 0.1 degree +- double angle = -m_brush.gradient.angle(); +- while(angle < 0) +- angle += 360; +- while(angle > 360) +- angle -= 360; +- +- m_value << (unsigned)(angle*10); +- tmpDrawGradientElement->addAttribute("draw:angle", m_value.str()); +- m_value.str(""); +- +- libwpg::WPGColor startColor = m_brush.gradient.stopColor(0); +- libwpg::WPGColor stopColor = m_brush.gradient.stopColor(1); +- m_value << "#" << colorToHex(startColor); +- tmpDrawGradientElement->addAttribute("draw:start-color", m_value.str()); +- m_value.str(""); +- m_value << "#" << colorToHex(stopColor); +- tmpDrawGradientElement->addAttribute("draw:end-color", m_value.str()); +- m_value.str(""); +- tmpDrawGradientElement->addAttribute("draw:start-intensity", "100%"); +- tmpDrawGradientElement->addAttribute("draw:end-intensity", "100%"); +- tmpDrawGradientElement->addAttribute("draw:border", "0%"); +- mGradientElements.push_back(static_cast<GraphicsElement *>(tmpDrawGradientElement)); +- mGradientElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("draw:gradient"))); +- } +- +- OpenTagGraphicsElement *tmpStyleStyleElement = new OpenTagGraphicsElement("style:style"); +- m_value << "gr" << m_styleIndex; +- tmpStyleStyleElement->addAttribute("style:name", m_value.str()); +- m_value.str(""); +- tmpStyleStyleElement->addAttribute("style:family", "graphic"); +- tmpStyleStyleElement->addAttribute("style:parent-style-name", "standard"); +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(tmpStyleStyleElement)); +- +- OpenTagGraphicsElement *tmpStyleGraphicPropertiesElement = new OpenTagGraphicsElement("style:graphic-properties"); +- +- if(m_pen.width > 0.0) +- { +- m_value << doubleToString(m_pen.width) << "in"; +- tmpStyleGraphicPropertiesElement->addAttribute("svg:stroke-width", m_value.str()); +- m_value.str(""); +- m_value << "#" << colorToHex(m_pen.foreColor); +- tmpStyleGraphicPropertiesElement->addAttribute("svg:stroke-color", m_value.str()); +- m_value.str(""); +- +- if(!m_pen.solid) +- { +- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke", "dash"); +- m_value << "Dash_" << m_dashIndex-1; +- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke-dash", m_value.str()); +- m_value.str(""); +- } +- } +- else +- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke", "none"); +- +- if(m_brush.style == libwpg::WPGBrush::NoBrush) +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "none"); +- +- if(m_brush.style == libwpg::WPGBrush::Solid) +- { +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "solid"); +- m_value << "#" << colorToHex(m_brush.foreColor); +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill-color", m_value.str()); +- m_value.str(""); +- } +- +- if(m_brush.style == libwpg::WPGBrush::Gradient) +- { +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "gradient"); +- m_value << "Gradient_" << m_gradientIndex-1; +- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill-gradient-name", m_value.str()); +- m_value.str(""); +- } +- +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(tmpStyleGraphicPropertiesElement)); +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("style:graphic-properties"))); +- +- mAutomaticStylesElements.push_back(static_cast<GraphicsElement *>(new CloseTagGraphicsElement("style:style"))); +- m_styleIndex++; +-} +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.hxx +--- koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.hxx 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.hxx 1970-01-01 01:00:00.000000000 +0100 +@@ -1,116 +0,0 @@ +-/* libwpg +- * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org) +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Library General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library 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 +- * Library General Public License for more details. +- * +- * You should have received a copy of the GNU Library General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- * Boston, MA 02111-1301 USA +- * +- * For further information visit http://libwpg.sourceforge.net +- */ +- +-/* "This product is not manufactured, approved, or supported by +- * Corel Corporation or Corel Corporation Limited." +- */ +- +-#ifndef __ODGEXPORTER_H__ +-#define __ODGEXPORTER_H__ +- +-#include <iostream> +-#include <sstream> +-#include <string> +- +-#include <libwpg/libwpg.h> +-#include "GraphicsElement.hxx" +- +-class OdgExporter : public libwpg::WPGPaintInterface { +-public: +- explicit OdgExporter(GraphicsHandler *pHandler, +- const bool isFlatXML = false); +- ~OdgExporter(); +- +-#if LIBWPG_VERSION_MINOR<2 +- void startGraphics(double imageWidth, double imageHeight); +- void endGraphics(); +- void startLayer(unsigned int id); +- void endLayer(unsigned int id); +- +- void setPen(const libwpg::WPGPen& pen); +- void setBrush(const libwpg::WPGBrush& brush); +- void setFillRule(FillRule rule); +- +- void drawRectangle(const libwpg::WPGRect& rect, double rx, double ry); +- void drawEllipse(const libwpg::WPGPoint& center, double rx, double ry); +- void drawPolygon(const libwpg::WPGPointArray& vertices); +- void drawPath(const libwpg::WPGPath& path); +- void drawBitmap(const libwpg::WPGBitmap& bitmap); +- void drawImageObject(const libwpg::WPGBinaryData& binaryData); +- +-private: +- std::vector <GraphicsElement *> mBodyElements; +- std::vector <GraphicsElement *> mAutomaticStylesElements; +- std::vector <GraphicsElement *> mStrokeDashElements; +- std::vector <GraphicsElement *> mGradientElements; +- GraphicsHandler *mpHandler; +- +- libwpg::WPGPen m_pen; +- libwpg::WPGBrush m_brush; +- FillRule m_fillRule; +- int m_gradientIndex; +- int m_dashIndex; +- int m_styleIndex; +- void writeStyle(); +- std::ostringstream m_value, m_name; +- double m_width, m_height; +- const bool m_isFlatXML; +-#else +- virtual void startGraphics(const ::WPXPropertyList &propList); +- virtual void endGraphics(); +- virtual void setStyle(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &gradient); +- virtual void startLayer(const ::WPXPropertyList &propList); +- virtual void endLayer(); +- virtual void drawRectangle(const ::WPXPropertyList& propList); +- virtual void drawEllipse(const ::WPXPropertyList& propList); +- virtual void drawPolygon(const ::WPXPropertyListVector &vertices); +- virtual void drawPath(const ::WPXPropertyListVector &path); +- virtual void drawGraphicObject(const ::WPXPropertyList &propList, const ::WPXBinaryData &binaryData); +- virtual void startEmbeddedGraphics(const ::WPXPropertyList &propList); +- virtual void endEmbeddedGraphics(); +- virtual void drawPolyline(const ::WPXPropertyListVector &vertices); +- virtual void startTextObject(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path); +- virtual void endTextObject(); +- virtual void startTextLine(const ::WPXPropertyList &propList); +- virtual void endTextLine(); +- virtual void startTextSpan(const ::WPXPropertyList &propList); +- virtual void endTextSpan(); +- virtual void insertText(const ::WPXString &str); +- +- +-private: +- std::vector <GraphicsElement *> mBodyElements; +- std::vector <GraphicsElement *> mAutomaticStylesElements; +- std::vector <GraphicsElement *> mStrokeDashElements; +- std::vector <GraphicsElement *> mGradientElements; +- GraphicsHandler *mpHandler; +- +- int m_gradientIndex; +- int m_dashIndex; +- int m_styleIndex; +- void writeStyle(); +- std::ostringstream m_value, m_name; +- double m_width, m_height; +- const bool m_isFlatXML; +-#endif +-}; +- +-#endif // __ODGEXPORTER_H__ +diff -Nur koffice-2.3.1/filters/karbon/wpg/import/WPGImport.cpp koffice-2.3.1-libwpg02/filters/karbon/wpg/import/WPGImport.cpp +--- koffice-2.3.1/filters/karbon/wpg/import/WPGImport.cpp 2011-01-15 21:05:35.000000000 +0100 ++++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/WPGImport.cpp 2011-01-02 17:46:15.000000000 +0100 +@@ -20,28 +20,26 @@ + #include <WPGImport.h> + #include <WPGImport.moc> + +-#include <QBuffer> +-#include <QByteArray> +-#include <QString> +- +-#include <kdebug.h> + #include <KoFilterChain.h> + #include <KoGlobal.h> + #include <KoUnit.h> ++#include <KoXmlWriter.h> ++ + #include <kpluginfactory.h> ++#include <KDebug> + +-#include <KoXmlWriter.h> ++ ++#include <QtCore/QString> ++#include <QtCore/QFile> + + #include <libwpg/libwpg.h> + #if LIBWPG_VERSION_MINOR<2 + #include <libwpg/WPGStreamImplementation.h> + #else + #include <libwpd-stream/libwpd-stream.h> ++#include <libwpd/libwpd.h> + #endif + +-#include "FileOutputHandler.hxx" +-#include "OdgExporter.hxx" +- + #include <iostream> + + K_PLUGIN_FACTORY(WPGImportFactory, registerPlugin<WPGImport>();) +@@ -56,35 +54,13 @@ + { + } + +-static QByteArray createManifest() +-{ +- KoXmlWriter* manifestWriter; +- QByteArray manifestData; +- QBuffer manifestBuffer(&manifestData); +- +- manifestBuffer.open(QIODevice::WriteOnly); +- manifestWriter = new KoXmlWriter(&manifestBuffer); +- +- manifestWriter->startDocument("manifest:manifest"); +- manifestWriter->startElement("manifest:manifest"); +- manifestWriter->addAttribute("xmlns:manifest", "urn:oasis:names:tc:openoffice:xmlns:manifest:1.0"); +- manifestWriter->addManifestEntry("/", "application/vnd.oasis.opendocument.graphics"); +- //manifestWriter->addManifestEntry( "styles.xml", "text/xml" ); +- manifestWriter->addManifestEntry("content.xml", "text/xml"); +- manifestWriter->endElement(); +- manifestWriter->endDocument(); +- delete manifestWriter; +- +- return manifestData; +-} +- + + KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByteArray& to) + { + if (from != "application/x-wpg") + return KoFilter::NotImplemented; + +- if (to != "application/vnd.oasis.opendocument.graphics") ++ if (to != "image/svg+xml") + return KoFilter::NotImplemented; + + #if LIBWPG_VERSION_MINOR<2 +@@ -96,6 +72,7 @@ + input = olestream; + } + } ++ libwpg::WPGString output; + #else + WPXInputStream* input = new WPXFileStream(m_chain->inputFile().toLocal8Bit()); + if (input->isOLEStream()) { +@@ -105,59 +82,31 @@ + input = olestream; + } + } ++ ::WPXString output; + #endif + + if (!libwpg::WPGraphics::isSupported(input)) { +- std::cerr << "ERROR: Unsupported file format (unsupported version) or file is encrypted!" << std::endl; ++ kWarning() << "ERROR: Unsupported file format (unsupported version) or file is encrypted!"; + delete input; + return KoFilter::NotImplemented; + } + +- // do the conversion +- std::ostringstream tmpStringStream; +- FileOutputHandler tmpHandler(tmpStringStream); +- OdgExporter exporter(&tmpHandler); +- libwpg::WPGraphics::parse(input, &exporter); +- delete input; +- +- +- // create output store +- KoStore* storeout; +- storeout = KoStore::createStore(m_chain->outputFile(), KoStore::Write, +- "application/vnd.oasis.opendocument.graphics", KoStore::Zip); +- +- if (!storeout) { +- kWarning() << "Couldn't open the requested file."; +- return KoFilter::FileNotFound; +- } +- +-#if 0 +- if (!storeout->open("styles.xml")) { +- kWarning() << "Couldn't open the file 'styles.xml'."; +- return KoFilter::CreationError; ++ if (!libwpg::WPGraphics::generateSVG(input, output)) { ++ kWarning() << "ERROR: SVG Generation failed!"; ++ delete input; ++ return KoFilter::ParsingError; + } +- //storeout->write( createStyles() ); +- storeout->close(); +-#endif + +- if (!storeout->open("content.xml")) { +- kWarning() << "Couldn't open the file 'content.xml'."; +- return KoFilter::CreationError; +- } +- storeout->write(tmpStringStream.str().c_str()); +- storeout->close(); ++ delete input; + +- // store document manifest +- storeout->enterDirectory("META-INF"); +- if (!storeout->open("manifest.xml")) { +- kWarning() << "Couldn't open the file 'META-INF/manifest.xml'."; +- return KoFilter::CreationError; ++ QFile outputFile(m_chain->outputFile()); ++ if(!outputFile.open(QIODevice::WriteOnly | QIODevice::Text)) { ++ kWarning() << "ERROR: Could not open output file" << m_chain->outputFile(); ++ return KoFilter::InternalError; + } +- storeout->write(createManifest()); +- storeout->close(); + +- // we are done! +- delete storeout; ++ outputFile.write(output.cstr()); ++ outputFile.close(); + + return KoFilter::OK; + } + diff --git a/staging/koffice/koffice.install b/staging/koffice/koffice.install new file mode 100644 index 000000000..6c87527e2 --- /dev/null +++ b/staging/koffice/koffice.install @@ -0,0 +1,12 @@ +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/staging/koffice/krita.install b/staging/koffice/krita.install new file mode 100644 index 000000000..5d458de55 --- /dev/null +++ b/staging/koffice/krita.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/glib2/PKGBUILD b/testing/glib2/PKGBUILD index 45cf9ed28..6548be4af 100644 --- a/testing/glib2/PKGBUILD +++ b/testing/glib2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 139086 2011-09-28 19:42:05Z ibiru $ +# $Id: PKGBUILD 140483 2011-10-15 14:04:54Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=glib2 -pkgver=2.30.0 +pkgver=2.30.1 pkgrel=1 pkgdesc="Common C routines used by GTK+ and other libs" url="http://www.gtk.org/" @@ -15,13 +15,13 @@ options=('!libtool' '!docs' '!emptydirs') source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.30/glib-${pkgver}.tar.xz glib2.sh glib2.csh) -sha256sums=('d64c00b43409eabb89aad78501fcb1a992b002b314a4414a9bd069585cb7cdc1' +sha256sums=('82fde222ea33a0faac88e9b50f5b1f7fcfc235c861a9371e8fe47ec12c1e27f9' '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a' '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3') build() { cd "${srcdir}/glib-${pkgver}" - ./configure --prefix=/usr \ + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-pcre=system \ --disable-fam diff --git a/testing/gtk3/PKGBUILD b/testing/gtk3/PKGBUILD index 40d16098f..0cad4b6e2 100644 --- a/testing/gtk3/PKGBUILD +++ b/testing/gtk3/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 138966 2011-09-28 19:31:47Z ibiru $ +# $Id: PKGBUILD 140485 2011-10-15 14:42:15Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gtk3 -pkgver=3.2.0 +pkgver=3.2.1 pkgrel=1 -pkgdesc="The GTK+ Toolkit (v3)" +pkgdesc="GTK+ is a multi-platform toolkit (v3)" arch=('i686' 'x86_64') url="http://www.gtk.org/" install=gtk3.install @@ -15,7 +15,7 @@ backup=(etc/gtk-3.0/settings.ini) license=('LGPL') source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.2/gtk+-${pkgver}.tar.xz settings.ini) -sha256sums=('bce3c1a9be6afd7552c795268656d8fdd09c299765a7faaf5a76498bb82ed44c' +sha256sums=('f1989f183700cd5f46681cfabc2253e2f526b19b56e4b631dcee2594dddb0ef3' 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621') build() { diff --git a/testing/pyalpm/PKGBUILD b/testing/pyalpm/PKGBUILD index ae6b07d79..6053b3214 100644 --- a/testing/pyalpm/PKGBUILD +++ b/testing/pyalpm/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer : Rémy Oudompheng <remy@archlinux.org> pkgname=pyalpm -pkgver=0.5.1 +pkgver=0.5.3 pkgrel=1 pkgdesc="Libalpm bindings for Python 3" arch=('i686' 'x86_64') @@ -9,7 +9,7 @@ url="http://projects.archlinux.org/users/remy/pyalpm.git/" license=('GPL') depends=('python>=3.2' 'pacman>=4') source=("ftp://ftp.archlinux.org/other/pyalpm/$pkgname-$pkgver.tar.gz") -md5sums=('dc59883d19306e89d99e15d820a877e6') +md5sums=('a76019106d17de3a5933c773013a63d1') build() { cd ${srcdir}/${pkgname}-${pkgver} |