diff options
75 files changed, 3361 insertions, 105 deletions
diff --git a/community-staging/ario/PKGBUILD b/community-staging/ario/PKGBUILD new file mode 100644 index 000000000..69a889d9f --- /dev/null +++ b/community-staging/ario/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 62788 2012-01-26 21:41:05Z ebelanger $ +# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + +pkgname=ario +pkgver=1.5.1 +pkgrel=2 +pkgdesc="A GTK client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster" +arch=('i686' 'x86_64') +url="http://ario-player.sourceforge.net/" +license=('GPL') +depends=('avahi' 'curl' 'dbus-glib' 'gnutls' 'hicolor-icon-theme' 'libglade' 'libmpdclient' 'libnotify' 'libsoup' 'libunique' 'taglib' 'xdg-utils') +makedepends=('intltool' 'perl-xml-parser') +options=('!libtool') +install=$pkgname.install +changelog=$pkgname.changelog +source=(http://downloads.sourceforge.net/sourceforge/$pkgname-player/$pkgname-$pkgver.tar.gz) +sha256sums=('0831281ab8634eb92424b61230eee035822f7f92d8b0526da7316c898239c91e') + +build() { + cd "${srcdir}/$pkgname-$pkgver" + + ./configure --prefix=/usr --sysconfdir=/etc + make + } + +package () { + cd "${srcdir}/$pkgname-$pkgver" + + make DESTDIR="${pkgdir}" install +} diff --git a/community-staging/ario/ario.changelog b/community-staging/ario/ario.changelog new file mode 100644 index 000000000..baca8a7b1 --- /dev/null +++ b/community-staging/ario/ario.changelog @@ -0,0 +1,36 @@ +2012-01-26 Eric Belanger <eric@archlinux.org> + * Rebuild against libpng 1.5 and libtiff 4.0 + +2011-07-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 1.5.1 + +2010-08-11 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 1.5 + +2010-02-14 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 1.4.4 + +2010-01-23 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 1.4.3 + +2009-12-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * updated to major version 1.4.2 + +2009-12-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * updated to major version 1.4.1 + +2009-12-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * updated to major version 1.4 + +2009-05-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * 'taglib' dependency added - version 1.3-2 + +2009-05-24 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * updated to major version 1.3 + +2009-03-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * updated to major version 1.2.2 + +2009-01-22 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * adopted in [community] + * updated to major version 1.2.1 diff --git a/community-staging/ario/ario.install b/community-staging/ario/ario.install new file mode 100644 index 000000000..b711352cb --- /dev/null +++ b/community-staging/ario/ario.install @@ -0,0 +1,11 @@ +post_install() { + which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/community-staging/dosbox/PKGBUILD b/community-staging/dosbox/PKGBUILD new file mode 100644 index 000000000..7c8e8f2b1 --- /dev/null +++ b/community-staging/dosbox/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 62786 2012-01-26 20:55:35Z ebelanger $ +# Maintainer : +# Contribute : Jelle van der Waa <jelle@vdwaa.nl> +# Contributor: James Rayner <james@archlinux.org> +# Contributor: Ben <ben@benmazer.net> + +pkgname=dosbox +pkgver=0.74 +pkgrel=3 +pkgdesc="An emulator with builtin DOS for running DOS Games" +arch=('i686' 'x86_64') +url="http://dosbox.sourceforge.net/" +license=('GPL') +depends=('sdl_net' 'zlib' 'sdl_sound' 'libgl' 'libpng' 'alsa-lib' 'gcc-libs') +makedepends=('mesa') +source=("http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz" + 'dosbox.png' 'dosbox.desktop' 'gcc46.patch') + +build(){ + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "$srcdir/gcc46.patch" + sed -i 's/png_check_sig/png_sig_cmp/' configure + ./configure --prefix=/usr \ + --sysconfdir=/etc/dosbox + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + + # install docs, make does not install them + install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README + install -Dm644 docs/README.video "$pkgdir"/usr/share/doc/$pkgname/README.video + + install -Dm644 "${srcdir}/${pkgname}.png" \ + "${pkgdir}/usr/share/pixmaps/${pkgname}.png" + install -Dm644 "${srcdir}/${pkgname}.desktop" \ + "${pkgdir}/usr/share/applications/${pkgname}.desktop" +} +md5sums=('b9b240fa87104421962d14eee71351e8' + '2aac25fc06979e375953fcc36824dc5e' + '85169ca599028bee8e29e0b3b7b34dd8' + '3fba2e3c7c43290319b2928f40ed30e5') diff --git a/community-staging/dosbox/dosbox.desktop b/community-staging/dosbox/dosbox.desktop new file mode 100644 index 000000000..dbaf05ced --- /dev/null +++ b/community-staging/dosbox/dosbox.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Encoding=UTF-8 +Name=dosbox Emulator +GenericName=Emulator +Comment=An emulator to run old DOS games +Icon=dosbox +Exec=dosbox +Terminal=false +Categories=Emulator;Application; diff --git a/community-staging/dosbox/dosbox.png b/community-staging/dosbox/dosbox.png Binary files differnew file mode 100644 index 000000000..b8a917986 --- /dev/null +++ b/community-staging/dosbox/dosbox.png diff --git a/community-staging/dosbox/gcc46.patch b/community-staging/dosbox/gcc46.patch new file mode 100644 index 000000000..eae9ae63e --- /dev/null +++ b/community-staging/dosbox/gcc46.patch @@ -0,0 +1,12 @@ +diff -aur dosbox-0.74/include/dos_inc.h dosbox-0.74.new//include/dos_inc.h +--- dosbox-0.74/include/dos_inc.h 2010-05-10 17:43:54.000000000 +0000 ++++ dosbox-0.74.new//include/dos_inc.h 2011-06-17 20:42:43.982548979 +0000 +@@ -28,6 +28,8 @@ + #include "mem.h" + #endif + ++#include <stddef.h> //for offsetof ++ + #ifdef _MSC_VER + #pragma pack (1) + #endif diff --git a/community-staging/extremetuxracer/PKGBUILD b/community-staging/extremetuxracer/PKGBUILD new file mode 100644 index 000000000..5bf9f56b3 --- /dev/null +++ b/community-staging/extremetuxracer/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 62790 2012-01-26 23:54:14Z arodseth $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Eric Belanger <eric.archlinux.org> +# Contributor: Fabio Scotoni <CCuleX.gmail.com> +# Contributor: Alexander Rødseth <rodseth@gmail.com> +pkgname=extremetuxracer +pkgver=0.4 +pkgrel=3 +pkgdesc="Downhill racing game starring Tux" +arch=('x86_64' 'i686') +url="http://www.extremetuxracer.com" +license=('GPL') +depends=('sdl_mixer' 'tcl>=8.5.0' 'mesa' 'libpng>=1.4.0' 'freetype2' 'libxi' 'libxmu') +conflicts=('ppracer' 'etracer') +replaces=('ppracer' 'etracer') +source=("http://downloads.sourceforge.net/extremetuxracer/extremetuxracer-$pkgver.tar.gz" + "$pkgname.png" + "$pkgname.desktop" + "libpng15.patch") +sha256sums=('5e4057f90e6854e774f251f189b0e676cfd7e2f15779c75544c9ac5b8e30273d' + 'ec1426171fc80b07b702e373bf9528244a3b224e887ab24b52f90740691e92fb' + '349448e8be522bbbe9fd896e875a4add7e02c35d0fafa46c5b10582562da3ca8' + '2b693eaf421d56887615fc02d40f742e9b8bf817ae36be1f1f9e33a52719eea8') + +build() { + cd "$srcdir/extremetuxracer-$pkgver" + + patch -Np1 -i ${srcdir}/libpng15.patch + sed -i -e 's/libpng12/libpng15/g' configure + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/extremetuxracer-$pkgver" + make DESTDIR="$pkgdir" install + + # Install icon and desktop file + install -Dm644 "$srcdir/$pkgname.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" + install -Dm644 "$srcdir/$pkgname.png" \ + "$pkgdir/usr/share/pixmaps/$pkgname.png" +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/extremetuxracer/extremetuxracer.desktop b/community-staging/extremetuxracer/extremetuxracer.desktop new file mode 100644 index 000000000..6593607b8 --- /dev/null +++ b/community-staging/extremetuxracer/extremetuxracer.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Encoding=UTF-8 +Name=Extreme Tux Racer +Comment=Open source racing game featuring Tux the Linux Penguin. +Icon=/usr/share/pixmaps/extremetuxracer.png +Exec=etracer +Terminal=false +StartupNotify=true +Categories=Application;Game;ArcadeGame + diff --git a/community-staging/extremetuxracer/extremetuxracer.png b/community-staging/extremetuxracer/extremetuxracer.png Binary files differnew file mode 100644 index 000000000..6c4aec00b --- /dev/null +++ b/community-staging/extremetuxracer/extremetuxracer.png diff --git a/community-staging/extremetuxracer/libpng15.patch b/community-staging/extremetuxracer/libpng15.patch new file mode 100644 index 000000000..5c9999857 --- /dev/null +++ b/community-staging/extremetuxracer/libpng15.patch @@ -0,0 +1,57 @@ +diff -Nur extremetuxracer-0.4.orig/src/ppgltk/images/png_reader.cpp extremetuxracer-0.4/src/ppgltk/images/png_reader.cpp +--- extremetuxracer-0.4.orig/src/ppgltk/images/png_reader.cpp 2007-09-01 19:38:12.000000000 +0300 ++++ extremetuxracer-0.4/src/ppgltk/images/png_reader.cpp 2010-01-25 03:47:21.000000000 +0200 +@@ -53,7 +53,7 @@ + if (!info_ptr) + { + png_destroy_read_struct(&png_ptr, +- (png_infopp)NULL, (png_infopp)NULL); ++ NULL, NULL); + fclose(fp); + return; + } +@@ -62,7 +62,7 @@ + if (!end_info) + { + png_destroy_read_struct(&png_ptr, &info_ptr, +- (png_infopp)NULL); ++ NULL); + fclose(fp); + return; + } +@@ -77,7 +77,7 @@ + + + png_get_IHDR(png_ptr, info_ptr, &width, &height, +- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL); ++ &bit_depth, &color_type, &interlace_type, NULL, NULL); + + if(bit_depth == 16) + png_set_strip_16(png_ptr); +@@ -88,7 +88,7 @@ + png_set_expand(png_ptr); + png_read_update_info(png_ptr, info_ptr); + png_get_IHDR(png_ptr, info_ptr, &width, &height, +- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL); ++ &bit_depth, &color_type, &interlace_type, NULL, NULL); + } + + if( color_type == PNG_COLOR_TYPE_GRAY || +@@ -96,7 +96,7 @@ + png_set_gray_to_rgb(png_ptr); + png_read_update_info(png_ptr, info_ptr); + png_get_IHDR(png_ptr, info_ptr, &width, &height, +- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL); ++ &bit_depth, &color_type, &interlace_type, NULL, NULL); + } + + this->width=width; +@@ -114,7 +114,7 @@ + } + + png_read_end(png_ptr, info_ptr); +- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL); ++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + fclose(fp); + } + diff --git a/community-staging/gmic/PKGBUILD b/community-staging/gmic/PKGBUILD new file mode 100644 index 000000000..5166bd65d --- /dev/null +++ b/community-staging/gmic/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 62764 2012-01-26 14:17:03Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: farid <farid at archlinuc-br.org> +# Contributor: Archie <Mymaud@gmail.com> + +pkgbase=gmic +pkgname=('gmic' 'gimp-plugin-gmic') +pkgver=1.5.0.8 +pkgrel=2 +pkgdesc="image procession framework" +arch=('i686' 'x86_64') +license=('custom:CeCILL') +url="http://gmic.sourceforge.net" +makedepends=('gimp' 'fftw' 'lapack' 'opencv' 'graphicsmagick' 'openexr' 'imagemagick') +options=('docs' '!emptydirs') +source=("http://downloads.sourceforge.net/sourceforge/gmic/gmic_$pkgver.tar.gz" + opencv-buildfix.patch) +md5sums=('530e733b81e3c1cca7f17bfad4a56821' + 'f135182ced743c296e08ddd560fa6be9') + +build() { + cd "$srcdir/gmic-$pkgver" + CFLAGS+=" -Dcimg_use_lapack" + LDFLAGS="-llapack" + sed -i "s#-lhighgui#-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann#" configure + sed -i "s#-lcv#-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann#" configure + ./configure --prefix=/usr + sed -i 's|OPENCV_CFLAGS = .*|OPENCV_CFLAGS = -Dcimg_use_opencv -I$(USR)/include/opencv `pkg-config --cflags opencv`|' src/Makefile + sed -i 's|OPENCV_LDFLAGS = .*|OPENCV_LDFLAGS = `pkg-config --libs opencv`|' src/Makefile + sed -i 's|cp -f gmic_gimp.*||' src/Makefile + sed -i 's|ln -s $(DESTDIR)$(USR)|ln -s $(USR)|' src/Makefile + patch -p1 <$srcdir/opencv-buildfix.patch + make -C src all +} + +package_gmic() { + depends=('fftw' 'lapack' 'opencv' 'graphicsmagick' 'openexr') + replaces=('greycstoration') + + cd "$srcdir/gmic-$pkgver" + make -C src install DESTDIR="$pkgdir" USR=/usr + install -Dm644 COPYING "$pkgdir/usr/share/licenses/gmic/LICENSE" +} + +package_gimp-plugin-gmic() { + pkgdesc="Gimp plugin for the GMIC image procession framework" + depends=('gimp' 'fftw' 'lapack') + replaces=('gimp-plugin-greycstoration' 'gimp-plugin-gmic4gimp') + + cd "$srcdir/gmic-$pkgver" + install -Dm755 src/gmic_gimp "$pkgdir/usr/lib/gimp/2.0/plug-ins/gmic_gimp" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/gimp-plugin-gmic/LICENSE" +} diff --git a/community-staging/gmic/opencv-buildfix.patch b/community-staging/gmic/opencv-buildfix.patch new file mode 100644 index 000000000..7fda2ea54 --- /dev/null +++ b/community-staging/gmic/opencv-buildfix.patch @@ -0,0 +1,15 @@ +diff -wbBur gmic-1.5.0.3.org/src/CImg.h gmic-1.5.0.3/src/CImg.h +--- gmic-1.5.0.3.org/src/CImg.h 2011-09-22 18:37:54.000000000 +0400 ++++ gmic-1.5.0.3/src/CImg.h 2011-10-05 18:03:25.000000000 +0400 +@@ -234,7 +234,11 @@ + // Using OpenCV is not mandatory. + #ifdef cimg_use_opencv + #include <cstddef> ++#undef True ++#undef False + #include "cv.h" ++#define True 1 ++#define False 0 + #include "highgui.h" + #endif + diff --git a/community-staging/ogmrip/PKGBUILD b/community-staging/ogmrip/PKGBUILD new file mode 100644 index 000000000..f2ba757c7 --- /dev/null +++ b/community-staging/ogmrip/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 62805 2012-01-27 04:23:37Z ebelanger $ +# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> +# Contributor: Daenyth +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: Vrob (Markus Heuser) mheuser@mi.fu-berlin.de + +pkgname=ogmrip +pkgver=0.13.7 +pkgrel=3 +pkgdesc="Libraries and GTK2 interface for DVD ripping using mencoder" +arch=('i686' 'x86_64') +url="http://ogmrip.sourceforge.net/" +license=('GPL') +depends=('libdvdread>=4.1.3' 'mplayer' 'mencoder' 'enca' 'pkg-config' 'gconf' 'libglade' 'libnotify' 'enchant') +makedepends=('patch' 'intltool' 'perl-xml-parser' 'faac' 'lame' 'mkvtoolnix' 'libtheora' 'ogmtools' 'gpac' 'vorbis-tools' 'tesseract') +optdepends=('faac: support for the AAC audio codec' + 'lame: support for the MP3 audio codec' + 'mkvtoolnix: create, alter, and inspect Matroska files' + 'libtheora: decode and encode Ogg Theora files' + 'ogmtools: support for the Ogg Media container' + 'gpac: support for the MP4 container' + 'vorbis-tools: support for the Ogg Vorbis audio codec' + 'gocr: support for the SRT subtitle format' + 'ocrad: support for the SRT subtitle format' + 'tesseract: support for the SRT subtitle format') +options=('!libtool' '!makeflags') +changelog=$pkgname.changelog +install=ogmrip.install +source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz) +sha256sums=('362060e4c1944f020f9a491d9a8af53cd3bf4f94d4f5beb8d3d855ebf17d9c2a') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr --sysconfdir=/usr/share + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install +} diff --git a/community-staging/ogmrip/ogmrip.changelog b/community-staging/ogmrip/ogmrip.changelog new file mode 100644 index 000000000..1bd5c70ae --- /dev/null +++ b/community-staging/ogmrip/ogmrip.changelog @@ -0,0 +1,21 @@ +2012-01-26 Eric Belanger <eric@archlinux.org> + * Rebuild against libpng 1.5 and libtiff 4.0 + * Add .install file + +2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * ogmrip O.13.7-1 + +2010-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * ogmrip O.13.6-1 + +2010-06-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release O.13.5 + +2010-04-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release O.13.4 + +2010-01-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * FS#17517 fixed in minor release O.13.3-2 + +2010-01-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release O.13.3 diff --git a/community-staging/ogmrip/ogmrip.install b/community-staging/ogmrip/ogmrip.install new file mode 100644 index 000000000..660593cf5 --- /dev/null +++ b/community-staging/ogmrip/ogmrip.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community-staging/root/PKGBUILD b/community-staging/root/PKGBUILD new file mode 100644 index 000000000..d277db4ec --- /dev/null +++ b/community-staging/root/PKGBUILD @@ -0,0 +1,102 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Sebastian Voecking <voeck@web.de> + +pkgname=root +pkgver=5.32.00 +pkgrel=3 +pkgdesc='C++ data analysis framework and interpreter from CERN.' +arch=('i686' 'x86_64') +url='http://root.cern.ch' +license=('LGPL2.1') +depends=('avahi' 'desktop-file-utils' 'ftgl' 'giflib' 'glew' 'graphviz' 'gsl' 'libldap' 'libmysqlclient' + 'libxft' 'postgresql-libs' 'python2' 'unixodbc' 'shared-mime-info' 'xmlrpc-c' 'xorg-fonts-75dpi' 'mesa' 'gcc-fortran' 'hicolor-icon-theme') +makedepends=('fftw') +install='root.install' +options=('!emptydirs') +source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz" + 'root.sh' + 'rootd' + 'root.xml' + 'fix-mathcore-generation-r42566.diff') +md5sums=('1c30e4e6eeae62ff1ad5118cd1309679' + '0e883ad44f99da9bc7c23bc102800b62' + 'efd06bfa230cc2194b38e0c8939e72af' + 'e2cf69b204192b5889ceb5b4dedc66f7' + '12877cabd620284f50ea16ef97a54aac') + +build() { + cd root + + # temporary workaround: remove on next patch release after 5.32.00 + # bug reported at: https://savannah.cern.ch/bugs/?90906 + patch -Np0 -i ${srcdir}/fix-mathcore-generation-r42566.diff + + if [ ${CARCH} == 'i686' ]; then + TARGET=linux; + else + TARGET=linuxx8664gcc; + fi + + msg 'python2 switch' + find . -type f -exec sed -e 's_#!/usr/bin/env python_&2_' \ + -e 's/python -O/python2 -O/g' \ + -e 's/python -c/python2 -c/g' -i {} \; + sed \ + -e 's/python 2/python2 2/g' \ + -i configure + sed \ + -e 's/python $(pkgpyexecdir)/python2 $(pkgpyexecdir)/g' \ + -i cint/reflex/python/genreflex/Makefile.am + sed \ + -e 's/python /python2 /' \ + -i config/genreflex.in config/genreflex-rootcint.in + + local sys_libs="" + for sys_lib in ftgl freetype glew pcre zlib lzma; do + sys_libs+="--disable-builtin-${sys_lib} " + done + # move from aur if possible + #--disable-builtin-afterimage \ + + ./configure \ + ${TARGET} \ + --prefix=/usr \ + --enable-gdml \ + --enable-gsl-shared \ + --enable-minuit2 \ + --enable-soversion \ + --enable-roofit \ + --enable-python \ + --with-python-incdir=/usr/include/python2.7 \ + --with-python-libdir=/usr/lib \ + ${sys_libs} + + make +} + +package() { + cd root + + make DESTDIR=${pkgdir} install + + install -D ${srcdir}/root.sh \ + ${pkgdir}/etc/profile.d/root.sh + install -D ${srcdir}/rootd \ + ${pkgdir}/etc/rc.d/rootd + install -D -m644 ${srcdir}/root.xml \ + ${pkgdir}/usr/share/mime/packages/root.xml + + install -D -m644 ${srcdir}/root/build/package/debian/root-system-bin.desktop.in \ + ${pkgdir}/usr/share/applications/root-system-bin.desktop + # replace @prefix@ with /usr for the desktop + sed -e 's_@prefix@_/usr_' -i ${pkgdir}/usr/share/applications/root-system-bin.desktop + + install -D -m644 ${srcdir}/root/build/package/debian/root-system-bin.png \ + ${pkgdir}/usr/share/icons/hicolor/48x48/apps/root-system-bin.png + + # use a file that pacman can track instead of adding directly to ld.so.conf + install -d ${pkgdir}/etc/ld.so.conf.d + echo '/usr/lib/root' > ${pkgdir}/etc/ld.so.conf.d/root.conf + + rm -rf ${pkgdir}/etc/root/daemons +} diff --git a/community-staging/root/fix-mathcore-generation-r42566.diff b/community-staging/root/fix-mathcore-generation-r42566.diff new file mode 100644 index 000000000..ae22c23c0 --- /dev/null +++ b/community-staging/root/fix-mathcore-generation-r42566.diff @@ -0,0 +1,40 @@ +Index: cint/cint/src/typedef.cxx +=================================================================== +--- cint/cint/src/typedef.cxx (revision 42564) ++++ cint/cint/src/typedef.cxx (revision 42566) +@@ -297,18 +297,27 @@ + } + c = G__fgetname_template(type1, 0, "{"); + } +- if (!strcmp(type1, "::")) { // FIXME: This makes no sense, there cannot be typedef ::{...}; ++ if (!strcmp(type1, "::")) { + // skip a :: without a namespace in front of it (i.e. global namespace!) + c = G__fgetspace(); // skip the next ':' + c = G__fgetname_template(type1, 0, "{"); + } +- if (!strncmp(type1, "::", 2)) { // Strip a leading :: (global namespace operator) +- // A leading '::' causes other typename matching functions to fail so +- // we remove it. This is not the ideal solution (neither was the one +- // above since it does not allow for distinction between global +- // namespace and local namespace) ... but at least it is an improvement +- // over the current behavior. +- strcpy((char*)type1, type1 + 2); // Okay since we reduce the size ... ++ if (!strncmp(type1, "::", 2)) { ++ // Strip a leading :: (global namespace operator). ++ // A leading '::' causes other typename matching ++ // functions to fail so we remove it. This is not ++ // the ideal solution (neither is the one above) ++ // since it does not allow for decriminating between ++ // global namespace and local namespace, but at ++ // least it is an improvement over the current ++ // behavior. ++ // ++ // Note: We must use memmove because the source ++ // and destination strings overlap! ++ // ++ int t1len = strlen(type1); ++ memmove(type1, type1 + 2, t1len - 2); ++ type1.Set(t1len - 2, '\0'); + } + while (isspace(c)) { + len = strlen(type1); diff --git a/community-staging/root/root.install b/community-staging/root/root.install new file mode 100644 index 000000000..afabb7aea --- /dev/null +++ b/community-staging/root/root.install @@ -0,0 +1,25 @@ +post_install() { + update-desktop-database >/dev/null + + update-mime-database /usr/share/mime >/dev/null + + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_remove() { + # leave for pre 5.30.03-3 + if [[ $(vercmp $1 5.30.03-3) == -1 ]]; then + cat etc/ld.so.conf | grep -v '/usr/lib/root' >/tmp/.pacroot + mv /tmp/.pacroot etc/ld.so.conf + chmod 644 etc/ld.so.conf + sbin/ldconfig -r . + fi +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/community-staging/root/root.sh b/community-staging/root/root.sh new file mode 100644 index 000000000..685e6036b --- /dev/null +++ b/community-staging/root/root.sh @@ -0,0 +1,5 @@ +if [ $PYTHONPATH ]; then + export PYTHONPATH=$PYTHONPATH:/usr/lib/root; +else + export PYTHONPATH=/usr/lib/root; +fi diff --git a/community-staging/root/root.xml b/community-staging/root/root.xml new file mode 100644 index 000000000..af8dd69c5 --- /dev/null +++ b/community-staging/root/root.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> + <mime-type type="application/x-root"> + <comment>ROOT file</comment> + <comment xml:lang="de">ROOT-Datei</comment> + <glob pattern="*.root"/> + <magic priority="80"> + <match value="root" type="string" offset="0:64"/> + </magic> + </mime-type> +</mime-info> diff --git a/community-staging/root/rootd b/community-staging/root/rootd new file mode 100644 index 000000000..fb2c3388c --- /dev/null +++ b/community-staging/root/rootd @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/rootd` +case "$1" in + start) + stat_busy "Starting ROOT file server daemon" + [ -z "$PID" ] && /usr/bin/rootd >>/var/log/root.log 2>&1 + if [ $? -gt 0 ]; then + stat_fail + else + PID=`pidof -o %PPID /usr/sbin/rootd` + echo $PID >/var/run/rootd.pid + add_daemon rootd + stat_done + fi + ;; + stop) + stat_busy "Stopping ROOT file server daemon" + [ ! -z "$PID" ] && kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon rootd + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-staging/xautomation/PKGBUILD b/community-staging/xautomation/PKGBUILD new file mode 100644 index 000000000..9804e1f69 --- /dev/null +++ b/community-staging/xautomation/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 62796 2012-01-27 01:27:49Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: raubkopierer <mail[dot]sensenmann[at]gmail[dot]com> + +pkgname=xautomation +pkgver=1.05 +pkgrel=2 +pkgdesc='Controls X from the command line and does "visual scraping".' +url='http://hoopajoo.net/projects/xautomation.html' +arch=('i686' 'x86_64') +license=('GPL') +depends=('libpng' 'libxtst') +source=("http://hoopajoo.net/static/projects/${pkgname}-${pkgver}.tar.gz" + 'xautomation-1.05-fix-libs.patch') +md5sums=('4526ea5085a680a3ae8629af1731e5fa' + 'a8d8b12ed180ce9693f706d0f75d97fe') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ../xautomation-1.05-fix-libs.patch + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/community-staging/xautomation/xautomation-1.05-fix-libs.patch b/community-staging/xautomation/xautomation-1.05-fix-libs.patch new file mode 100644 index 000000000..ee3f9247a --- /dev/null +++ b/community-staging/xautomation/xautomation-1.05-fix-libs.patch @@ -0,0 +1,24 @@ +diff -rup xautomation-1.05.orig/Makefile.am xautomation-1.05/Makefile.am +--- xautomation-1.05.orig/Makefile.am 2009-04-14 18:06:23.000000000 +0200 ++++ xautomation-1.05/Makefile.am 2012-01-27 02:06:44.016492587 +0100 +@@ -1,7 +1,7 @@ + bin_PROGRAMS = xte rgb2pat png2pat visgrep pat2ppm patextract xmousepos + man_MANS = pat2ppm.1 patextract.1 png2pat.1 rgb2pat.1 visgrep.1 xautomation.7 xmousepos.1 xte.1 + xte_SOURCES = xte.c debug.c kbd.h keysym_map.h multikey_map.h +-xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst ++xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst -lX11 + rgb2pat_SOURCES = rgb2pat.c image.c image.h debug.c debug.h + rgb2pat_LDADD = -lpng + png2pat_SOURCES = png2pat.c image.c image.h debug.c debug.h +diff -rup xautomation-1.05.orig/Makefile.in xautomation-1.05/Makefile.in +--- xautomation-1.05.orig/Makefile.in 2011-09-07 00:48:19.000000000 +0200 ++++ xautomation-1.05/Makefile.in 2012-01-27 02:14:02.010831581 +0100 +@@ -220,7 +220,7 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + man_MANS = pat2ppm.1 patextract.1 png2pat.1 rgb2pat.1 visgrep.1 xautomation.7 xmousepos.1 xte.1 + xte_SOURCES = xte.c debug.c kbd.h keysym_map.h multikey_map.h +-xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst ++xte_LDADD = $(X_LIBS) $(X_EXTRALIBS) -lXtst -lX11 + rgb2pat_SOURCES = rgb2pat.c image.c image.h debug.c debug.h + rgb2pat_LDADD = -lpng + png2pat_SOURCES = png2pat.c image.c image.h debug.c debug.h diff --git a/community-staging/xemacs/PKGBUILD b/community-staging/xemacs/PKGBUILD index 0eebf8f46..d2e6986ae 100644 --- a/community-staging/xemacs/PKGBUILD +++ b/community-staging/xemacs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 61591 2012-01-04 01:08:46Z stephane $ +# $Id: PKGBUILD 62802 2012-01-27 02:53:33Z ebelanger $ # Maintainer: juergen <juergen@archlinux.org> # Contributor : Stéphane Gaudreault <stephane@archlinux.org> pkgname=xemacs pkgver=21.5.31 -pkgrel=4 +pkgrel=5 pkgdesc="An highly customizable open source text editor and application development system forked from GNU Emacs" arch=('i686' 'x86_64') url="http://www.xemacs.org/" diff --git a/community/ejabberd/PKGBUILD b/community/ejabberd/PKGBUILD index 8b49698f2..02ffa16a7 100644 --- a/community/ejabberd/PKGBUILD +++ b/community/ejabberd/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 61453 2011-12-31 18:08:55Z spupykin $ +# $Id: PKGBUILD 62769 2012-01-26 14:42:40Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jeff 'codemac' Mickey <jeff@archlinux.org> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=ejabberd pkgver=2.1.10 -pkgrel=1 +pkgrel=2 pkgdesc="An erlang jabber server" arch=(i686 x86_64) url="http://www.ejabberd.im/" diff --git a/community/ejabberd/ejabberd.install b/community/ejabberd/ejabberd.install index 579be7ed3..eceb73592 100644 --- a/community/ejabberd/ejabberd.install +++ b/community/ejabberd/ejabberd.install @@ -1,6 +1,6 @@ post_install() { - groupadd jabber - useradd -G jabber -d /var/lib/ejabberd ejabberd + groupadd -r jabber + useradd -r -G jabber -d /var/lib/ejabberd ejabberd chown -R ejabberd.jabber /var/log/ejabberd chown -R ejabberd.jabber /var/spool/ejabberd chown -R ejabberd.jabber /var/lib/ejabberd diff --git a/community/gkrellm/PKGBUILD b/community/gkrellm/PKGBUILD index 332336010..6adcdcf98 100644 --- a/community/gkrellm/PKGBUILD +++ b/community/gkrellm/PKGBUILD @@ -1,25 +1,37 @@ -# $Id: PKGBUILD 31931 2010-11-07 23:10:53Z lcarlier $ +# $Id: PKGBUILD 62784 2012-01-26 17:53:09Z arodseth $ +# Maintainer: dorphell <dorphell@archlinux.org> # Contributor: Matt Smith (Majik) <darkknight@helpdesk.zaz.net> # Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> -# Maintainer: dorphell <dorphell@archlinux.org> - +# Contributor: Jozef Riha <jose1711@gmail.com> +# Contributor: Alexander Rødseth <rodseth@gmail.com> pkgname=gkrellm pkgver=2.3.5 -pkgrel=1 +pkgrel=2 pkgdesc="System monitor package for GTK2" -arch=('i686' 'x86_64') +arch=('x86_64' 'i686') url="http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html" license=('GPL3') -depends=('gtk2' 'openssl' 'libsm' 'lm_sensors') +depends=('gtk2' 'libsm' 'lm_sensors') makedepends=('gettext') backup=('etc/gkrellmd.conf') -source=(http://members.dslextreme.com/users/billw/$pkgname/$pkgname-$pkgver.tar.bz2) -md5sums=('e43a9416a6975e3be63d591bdeb33b04') +source=("http://members.dslextreme.com/users/billw/$pkgname/$pkgname-$pkgver.tar.bz2" + "gkrellmd") +sha256sums=('702b5b0e9c040eb3af8e157453f38dd6f53e1dcd8b1272d20266cda3d4372c8b' + 'c6d532dd7a706891aed92d750bceda74d4618e86ad82feadc0503214de904360') build() { - cd ${srcdir}/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" make LOCALEDIR=/usr/share/locale - make DESTDIR=${pkgdir} PREFIX=/usr install - install -D -m644 "${srcdir}/${pkgname}-${pkgver}/server/gkrellmd.conf" "${pkgdir}/etc/gkrellmd.conf" } + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" PREFIX=/usr install + install -Dm644 "server/gkrellmd.conf" "$pkgdir/etc/gkrellmd.conf" + install -Dm755 "../gkrellmd" "$pkgdir/etc/rc.d/gkrellmd" + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/gkrellm/gkrellmd b/community/gkrellm/gkrellmd new file mode 100644 index 000000000..1f255e755 --- /dev/null +++ b/community/gkrellm/gkrellmd @@ -0,0 +1,40 @@ +#!/bin/bash + +# source application-specific settings +GKRELLMD_ARGS='-d' + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof -o %PPID /usr/bin/gkrellmd) +case "$1" in + start) + stat_busy "Starting GKrellM Daemon" + [ -z "$PID" ] && /usr/bin/gkrellmd ${GKRELLMD_ARGS} + PID=$(pidof -o %PPID /usr/bin/gkrellmd) + if [ -z "$PID" ]; then + stat_fail + else + add_daemon gkrellmd + stat_done + fi + ;; + stop) + stat_busy "Stopping GKrellM Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon gkrellmd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/ldns/Makefile.patch b/community/ldns/Makefile.patch new file mode 100644 index 000000000..d98291ac9 --- /dev/null +++ b/community/ldns/Makefile.patch @@ -0,0 +1,20 @@ +--- old/Makefile.in 2012-01-12 00:11:36.000000000 +1100 ++++ new/Makefile.in 2012-01-27 11:36:16.110154453 +1100 +@@ -130,7 +130,7 @@ + exit -1 ; \ + fi + drill/drill: $(DRILL_LOBJS) $(LIB) +- $(LINK_EXE) $(DRILL_LOBJS) $(LIBS) -lldns -o drill/drill ++ $(LINK_EXE) $(DRILL_LOBJS) $(LIBS) $(LIBSSL_LIBS) -lldns -o drill/drill + + install-drill: drill/drill + $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) +@@ -157,7 +157,7 @@ + exit -1 ; \ + fi + $(EXAMPLE_PROGS): $(EXAMPLE_LOBJS) $(LIB) +- $(LINK_EXE) $@.lo $(LIBS) -lldns -o $@ ++ $(LINK_EXE) $@.lo $(LIBS) $(LIBSSL_LIBS) -lldns -o $@ + + $(TESTNS): $(TESTNS_LOBJS) $(LIB) + $(LINK_EXE) $(TESTNS_LOBJS) $(LIBS) -lldns -o $(TESTNS) diff --git a/community/ldns/PKGBUILD b/community/ldns/PKGBUILD index 6e28bc429..a7c1a0b30 100644 --- a/community/ldns/PKGBUILD +++ b/community/ldns/PKGBUILD @@ -1,39 +1,38 @@ -# $Id: PKGBUILD 56190 2011-10-03 10:19:02Z bisson $ - +# $Id: PKGBUILD 62792 2012-01-27 01:01:36Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> -# Contributor: jiribb <jiribb@gmail.com> and <mathieui> <mathieui@mathieui.net> # Contributor: mathieui <mathieui@mathieui.net> +# Contributor: jiribb <jiribb@gmail.com> pkgname=ldns -pkgver=1.6.11 +pkgver=1.6.12 pkgrel=1 -pkgdesc='Fast DNS library with DNSSEC support, including tools such as Drill' -arch=('i686' 'x86_64') +pkgdesc='Fast DNS library supporting recent RFCs, including Drill and other tools' url='http://www.nlnetlabs.nl/projects/ldns/' license=('custom:BSD') +arch=('i686' 'x86_64') +options=('!libtool') depends=('openssl') makedepends=('libpcap') optdepends=('libpcap: ldns-dpa tool') -options=('!libtool') -source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz") -sha1sums=('2c4537eee39a1af63e8dde4f35498ce78c968c1f') +source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'Makefile.patch') +sha1sums=('1d61df0f666908551d5a62768f77d63e727810aa' + '01bce260e9639d9cd26109a689dddf2498e5026a') build() { cd "${srcdir}/${pkgname}-${pkgver}" - _conf='--prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static=no --disable-rpath' - _tmp="$(mktemp -d)" + patch -p1 -i ../Makefile.patch - ./configure ${_conf} - make - make DESTDIR="${_tmp}" install + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-static=no \ + --disable-rpath \ + --with-drill \ + --with-examples \ - cd drill - ./configure ${_conf} --with-ldns="${_tmp}" - make - - cd ../examples - ./configure ${_conf} --with-ldns="${_tmp}" make } @@ -41,11 +40,6 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - - cd drill - make DESTDIR="${pkgdir}" install - cd ../examples - make DESTDIR="${pkgdir}" install + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/community/mythplugins/PKGBUILD b/community/mythplugins/PKGBUILD index 7d6bbfc3d..5e3d59988 100644 --- a/community/mythplugins/PKGBUILD +++ b/community/mythplugins/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 48174 2011-05-29 12:47:11Z jconder $ +# $Id: PKGBUILD 62800 2012-01-27 02:41:18Z jconder $ # Maintainer: Jonathan Conder <jonno.conder@gmail.com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> @@ -14,21 +14,21 @@ pkgname=('mythplugins-mytharchive' 'mythplugins-mythweather' 'mythplugins-mythweb' 'mythplugins-mythzoneminder') -pkgver=0.24.1 -pkgrel=4 +pkgver=0.24.2 +pkgrel=2 epoch=1 arch=('i686' 'x86_64') url="http://www.mythtv.org" license=('GPL') makedepends=('cdparanoia' 'cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'flac' 'libcdaudio' 'libexif' 'libvisual' 'libvorbis' 'mplayer' 'mythtv' - 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size' - 'perl-libwww' 'perl-soap-lite' 'perl-xml-sax' 'perl-xml-simple' - 'perl-xml-xpath' 'python2-oauth' 'python-imaging' 'python-pycurl' - 'sdl' 'taglib' 'zlib') + 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size' + 'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-sax' + 'perl-xml-simple' 'perl-xml-xpath' 'python2-oauth' 'python-imaging' + 'python-pycurl' 'sdl' 'taglib' 'zlib') source=("ftp://ftp.osuosl.org/pub/mythtv/$pkgbase-$pkgver.tar.bz2" 'mtd.rc') -md5sums=('76aeefeff70b550b2d35c2d9d751df18' +md5sums=('471836d48657afc488d560aee624931e' '476c12ba074794ad7f4ae092bdf949d6') build() { @@ -112,9 +112,9 @@ package_mythplugins-mythvideo() { package_mythplugins-mythweather() { pkgdesc="Weather checking plugin for MythTV" - depends=('mythtv' 'perl-date-manip' 'perl-libwww' - 'perl-soap-lite' 'perl-xml-sax' 'perl-xml-simple' 'perl-xml-xpath' - 'perl-image-size' 'perl-datetime-format-iso8601') + depends=('mythtv' 'perl-date-manip' 'perl-json' 'perl-libwww' 'perl-soap-lite' + 'perl-xml-sax' 'perl-xml-simple' 'perl-xml-xpath' 'perl-image-size' + 'perl-datetime-format-iso8601') cd "$srcdir/$pkgbase-$pkgver/mythweather" make INSTALL_ROOT="$pkgdir" install diff --git a/community/open-vm-tools/PKGBUILD b/community/open-vm-tools/PKGBUILD index 4c2d56970..8f9711567 100644 --- a/community/open-vm-tools/PKGBUILD +++ b/community/open-vm-tools/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 61569 2012-01-03 12:06:41Z spupykin $ +# $Id: PKGBUILD 62772 2012-01-26 14:44:28Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Krzysztof Raczkowski <raczkow@gmail.com> pkgname=open-vm-tools pkgver=2011.12.20 _pkgsubver=562307 -pkgrel=1 +pkgrel=2 pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools." arch=('i686' 'x86_64') url="http://open-vm-tools.sourceforge.net/" @@ -29,7 +29,7 @@ md5sums=('529c15cb6cfa2972a96664c504dee560' '199508b0d3fe6fa9b726d09170bf51f1' '8c333a979578bdc0c3134c1dd6bb7353' '79b0a14d86191fee70a4639da8bd7785' - '136ff53d0d3a303d09266a407fd2d215' + '67cb83a9e5a4dd016c1a1da2863ca36d' 'b55d15e2c4be396aad709aeca91033d3' '73cc1a2665b0dd62427733d62ead8b9a' '75a25d83417e683957321f97a00f8465') diff --git a/community/open-vm-tools/open-vm-tools.rc.d b/community/open-vm-tools/open-vm-tools.rc.d index 555fa1535..0c9221489 100644 --- a/community/open-vm-tools/open-vm-tools.rc.d +++ b/community/open-vm-tools/open-vm-tools.rc.d @@ -13,7 +13,7 @@ case "$1" in if [ "$VM_DRAG_AND_DROP" == "yes" ]; then VMBLOCK=`grep -w vmblock /proc/modules` - [ -z "$VMBLOCK" ] && modprobe -f vmblock + [ -z "$VMBLOCK" ] && modprobe vmblock if [ $? -gt 0 ]; then stat_fail exit 1 @@ -36,7 +36,7 @@ case "$1" in for m in vmhgfs vmsync; do VMMOD=`grep -w $m /proc/modules` [ -z "$VMMOD" ] && \ - { modprobe -f $m + { modprobe $m if [ $? -gt 0 ]; then stat_fail exit 1 diff --git a/community/perl-datetime/PKGBUILD b/community/perl-datetime/PKGBUILD index c4e8f7235..95623b3a5 100644 --- a/community/perl-datetime/PKGBUILD +++ b/community/perl-datetime/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 55077 2011-09-02 08:37:50Z andrea $ +# $Id: PKGBUILD 62774 2012-01-26 14:45:14Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: François Charette <firmicus ατ gmx δοτ net> pkgname=perl-datetime -pkgver=0.70 -pkgrel=3 +pkgver=0.72 +pkgrel=1 pkgdesc="A complete, easy to use date and time object" arch=('i686' 'x86_64') url="http://search.cpan.org/dist/DateTime" @@ -15,7 +15,7 @@ LC_NUMERIC=C provides=("perl-datetime=`printf %.4f $pkgver`") options=('!emptydirs') source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-$pkgver.tar.gz) -md5sums=('228a3ca93b49e308fc7a3b7a47341ab3') +md5sums=('f50b328919fe8bf2d2b16ca0df35c3f3') build() { cd $srcdir/DateTime-$pkgver diff --git a/community/tomoyo-tools/PKGBUILD b/community/tomoyo-tools/PKGBUILD index 0532eff09..3d9a68a18 100644 --- a/community/tomoyo-tools/PKGBUILD +++ b/community/tomoyo-tools/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 62318 2012-01-19 08:04:12Z spupykin $ +# $Id: PKGBUILD 62767 2012-01-26 14:20:03Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jamie Nguyen <jamie AT tomoyolinux.co.uk> @@ -8,7 +8,7 @@ _timestamp=20111025 _file=53357 pkgver=${_basever}.${_timestamp} pkgrel=1 -pkgdesc='TOMOYO Linux 2.3.x userspace tools for Linux kernels 2.6.36 - 3.0' +pkgdesc='TOMOYO Linux userspace tools for Linux kernels >=3.2' arch=('i686' 'x86_64') url='http://tomoyo.sourceforge.jp' #url='http://sourceforge.jp/projects/tomoyo/releases/?package_id=9818' diff --git a/community/ulogd/PKGBUILD b/community/ulogd/PKGBUILD index c4ea91a7c..b002d8e49 100644 --- a/community/ulogd/PKGBUILD +++ b/community/ulogd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 55184 2011-09-05 09:03:02Z spupykin $ +# $Id: PKGBUILD 62776 2012-01-26 14:46:13Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Sebastien Luttringer <seblu+arch@seblu.net> # Contributor: Dale Blount <dale@archlinux.org> @@ -6,7 +6,7 @@ pkgname=ulogd pkgver=1.24 -pkgrel=7 +pkgrel=8 pkgdesc='Userspace Packet Logging for netfilter' arch=('i686' 'x86_64') url='http://www.netfilter.org/projects/ulogd/index.html' @@ -19,14 +19,17 @@ optdepends=('postgresql-libs' backup=('etc/ulogd.conf') source=("ftp://ftp.netfilter.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2" 'rc' - 'logrotate') + 'logrotate' + 'mac-addr.patch') md5sums=('05b4ed2926b9a22aaeaf642917bbf8ff' 'c42230c1cabf5dd9b80bf9a0fd87ca7e' - 'fe40b3073b7474a77e0b8b0bfd19ab63') + 'fe40b3073b7474a77e0b8b0bfd19ab63' + 'ca41a10a9f230614cd15e2bb037e057d') build() { cd $pkgname-$pkgver export MAKEFLAGS="-j1" + patch -p0 extensions/ulogd_BASE.c <$srcdir/mac-addr.patch ./configure --prefix=/usr --sysconfdir=/etc --with-mysql --with-pgsql --with-sqlite3 make || true (cd mysql && ld -shared -L/usr/lib -L/usr/lib -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -o ulogd_MYSQL.so ulogd_MYSQL_sh.o -lc) diff --git a/community/ulogd/mac-addr.patch b/community/ulogd/mac-addr.patch new file mode 100644 index 000000000..87a76a22b --- /dev/null +++ b/community/ulogd/mac-addr.patch @@ -0,0 +1,22 @@ +--- ulogd_BASE.c-save 2007-08-06 11:23:53.000000000 +0200 ++++ ulogd_BASE.c 2007-08-06 11:28:47.000000000 +0200 +@@ -63,7 +63,7 @@ static ulog_iret_t *_interp_raw(ulog_int + { + unsigned char *p; + int i; +- char *buf, *oldbuf = NULL; ++ char *buf = NULL; + ulog_iret_t *ret = ip->result; + + if (pkt->mac_len) { +@@ -75,9 +75,8 @@ static ulog_iret_t *_interp_raw(ulog_int + *buf = '\0'; + + p = pkt->mac; +- oldbuf = buf; + for (i = 0; i < pkt->mac_len; i++, p++) +- sprintf(buf, "%s%02x%c", oldbuf, *p, i==pkt->mac_len-1 ? ' ':':'); ++ sprintf(buf + (i*3), "%02x%c", *p, i==pkt->mac_len-1 ? ' ':':'); + ret[0].value.ptr = buf; + ret[0].flags |= ULOGD_RETF_VALID; + } diff --git a/community/unbound/PKGBUILD b/community/unbound/PKGBUILD index 8f0ff6668..3696fde67 100644 --- a/community/unbound/PKGBUILD +++ b/community/unbound/PKGBUILD @@ -1,16 +1,15 @@ -# $Id: PKGBUILD 60976 2011-12-19 22:59:53Z bisson $ - +# $Id: PKGBUILD 62794 2012-01-27 01:24:10Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Hisato Tatekura <hisato_tatekura@excentrics.net> # Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service> pkgname=unbound -pkgver=1.4.14 +pkgver=1.4.15 pkgrel=1 pkgdesc='Validating, recursive, and caching DNS resolver' -arch=('i686' 'x86_64') url='http://unbound.net/' license=('custom:BSD') +arch=('i686' 'x86_64') options=('!libtool') depends=('openssl' 'ldns') makedepends=('expat') @@ -19,7 +18,7 @@ backup=('etc/unbound/unbound.conf') source=("http://unbound.net/downloads/${pkgname}-${pkgver}.tar.gz" 'unbound.conf' 'rc.d') -sha1sums=('1435029abe63d0106213acb9f173b885183cf1d7' +sha1sums=('bbda46664ea8391ca7986300ce98a79787c0e322' '5d473ec2943fd85367cdb653fcd58e186f07383f' 'dc96e772f467b32555df21d16fdb15e98194c228') diff --git a/core/nilfs-utils/PKGBUILD b/core/nilfs-utils/PKGBUILD index 4624df060..81e8305f0 100644 --- a/core/nilfs-utils/PKGBUILD +++ b/core/nilfs-utils/PKGBUILD @@ -1,9 +1,10 @@ -# $Id: PKGBUILD 145721 2011-12-28 18:28:07Z ibiru $ +# $Id: PKGBUILD 147682 2012-01-26 19:27:33Z ibiru $ # Maintainer : Ionut Biru <ibiru@archlinux.org> -# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> +# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> + pkgname=nilfs-utils -pkgver=2.1.0 -pkgrel=2 +pkgver=2.1.1 +pkgrel=1 pkgdesc="A log-structured file system supporting continuous snapshotting (userspace utils)" arch=('i686' 'x86_64') url="http://www.nilfs.org/" @@ -12,7 +13,7 @@ backup=('etc/nilfs_cleanerd.conf') depends=('util-linux') options=(!libtool) source=(http://www.nilfs.org/download/$pkgname-$pkgver.tar.bz2) -md5sums=('738f7bee062051c14dcff444bb17ada7') +md5sums=('caa7d8b7121311bd978120e2f0c45d81') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/samba/PKGBUILD b/extra/samba/PKGBUILD index cdaaf6e14..a50f2b475 100644 --- a/extra/samba/PKGBUILD +++ b/extra/samba/PKGBUILD @@ -1,13 +1,13 @@ -# $Id: PKGBUILD 141291 2011-10-28 08:03:24Z tpowa $ +# $Id: PKGBUILD 147668 2012-01-26 08:10:51Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgbase=samba pkgname=('smbclient' 'samba') -pkgver=3.6.1 +pkgver=3.6.2 # We use the 'A' to fake out pacman's version comparators. Samba chooses # to append 'a','b',etc to their subsequent releases, which pamcan # misconstrues as alpha, beta, etc. Bad samba! -_realver=3.6.1 +_realver=3.6.2 pkgrel=1 arch=(i686 x86_64) url="http://www.samba.org" @@ -38,7 +38,6 @@ build() { --with-quotas \ --with-ads \ --with-acl-support \ - --with-cifsmount \ --with-libsmbclient \ --with-syslog \ --enable-external-libtalloc \ @@ -137,7 +136,7 @@ depends=('db' 'popt' 'libcups' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap' 'kr # copy ldap example install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('5291717be0734e07dc07b6110e162e87' +md5sums=('bd2bb63b1c90161b88262f813bd1ce8b' 'a3da19515a234c703876cf850c44e996' '5697da77590ec092cc8a883bae06093c' 'a4bbfa39fee95bba2e7ad6b535fae7e6' diff --git a/staging/gnome-color-manager/PKGBUILD b/staging/gnome-color-manager/PKGBUILD new file mode 100644 index 000000000..3fcef2e0e --- /dev/null +++ b/staging/gnome-color-manager/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 147672 2012-01-26 09:42:51Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=gnome-color-manager +pkgver=3.2.2 +pkgrel=2 +pkgdesc="Color profile manager for the GNOME desktop" +arch=(i686 x86_64) +url="http://projects.gnome.org/gnome-color-manager/" +license=(GPL2) +depends=('libcanberra' 'vte3' 'exiv2' 'hicolor-icon-theme' 'desktop-file-utils' 'clutter-gtk' 'mash' 'shared-color-profiles' 'shared-color-targets') +makedepends=('intltool' 'gtk-doc') +install=gnome-color-manager.install +options=('!libtool' '!emptydirs') +groups=('gnome-extra') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('4898fe8c29761d8dc0859c4a3a1bf725d3b80d552caab1225202f6030a118d9a') + +build(){ + cd "$srcdir/$pkgname-$pkgver" + + # man pages need docbook-sgml, which we don't have + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/gnome-color-manager \ + --disable-static --disable-man-pages + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/staging/gnome-color-manager/gnome-color-manager.install b/staging/gnome-color-manager/gnome-color-manager.install new file mode 100644 index 000000000..04fda0ddc --- /dev/null +++ b/staging/gnome-color-manager/gnome-color-manager.install @@ -0,0 +1,19 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + if (( $(vercmp $2 2.90.0) < 0 )); then + usr/sbin/gconfpkg --uninstall gnome-color-manager + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/staging/kdelibs/PKGBUILD b/staging/kdelibs/PKGBUILD index ddb31c773..36452a1cb 100644 --- a/staging/kdelibs/PKGBUILD +++ b/staging/kdelibs/PKGBUILD @@ -1,30 +1,28 @@ -# $Id: PKGBUILD 145730 2011-12-29 13:52:20Z andrea $ +# $Id: PKGBUILD 147665 2012-01-26 07:10:36Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdelibs -pkgver=4.7.4 -pkgrel=6 +pkgver=4.8.0 +pkgrel=2 pkgdesc="KDE Core Libraries" arch=('i686' 'x86_64') url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') -depends=('strigi' 'attica' 'libxss' 'xz' 'openssl' 'soprano' 'krb5' - 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' 'grantlee' - 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'xdg-utils' - 'phonon' 'hicolor-icon-theme' 'upower' 'udisks' 'libxcursor' - 'docbook-xsl' 'qtwebkit') -makedepends=('pkgconfig' 'cmake' 'automoc4' 'avahi' 'libgl' 'hspell') +depends=('strigi' 'attica' 'libxss' 'xz' 'soprano' 'krb5' 'grantlee' + 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' + 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'docbook-xsl' + 'upower' 'udisks' 'libxcursor' 'phonon' 'qtwebkit') +makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell') replaces=('kdelibs-experimental') -install='kdelibs.install' +install=${pkgname}.install source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" 'kde-applications-menu.patch' 'archlinux-menu.patch' - 'fix-knotify-filepath.patch' 'kdelibs-4.7.4-xinelib12x.patch') -sha1sums=('78b25e93a8c70ccc1e0f117cce960fe4e1deb8d8' + 'fix-knotify-filepath.patch') +sha1sums=('5e4744405734e6c3ce572ef7d16054390692b38a' '86ee8c8660f19de8141ac99cd6943964d97a1ed7' '63a850ab4196b9d06934f2b4a13acd9f7739bc67' - '3312f6005aa56a9b992c74008fe5b314f1c8ffba' - '9cb83cb7f6394549354c6837977f9e9529127041') + '3312f6005aa56a9b992c74008fe5b314f1c8ffba') build() { cd "${srcdir}"/${pkgname}-${pkgver} @@ -37,8 +35,6 @@ build() { # https://bugs.kde.org/show_bug.cgi?id=285028 patch -p1 -i "${srcdir}"/fix-knotify-filepath.patch - patch -p1 -i "${srcdir}"/kdelibs-4.7.4-xinelib12x.patch - cd "${srcdir}" mkdir build cd build diff --git a/staging/koffice/PKGBUILD b/staging/koffice/PKGBUILD new file mode 100644 index 000000000..3206bc566 --- /dev/null +++ b/staging/koffice/PKGBUILD @@ -0,0 +1,306 @@ +# $Id: PKGBUILD 147690 2012-01-27 04:08:22Z 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=12 +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' 'libgsf') +groups=('koffice') +source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2" + 'kde4-koffice-libwpg02.patch' 'gcc46.patch' 'qt48fix.patch') +sha256sums=('31ba0d98c0d29c7b8ab97efdeb6c618b82177b2b0ec85da088178254da43c099' + '69106deb4081d71b5bd8f2e4f5af67ca689e4ce9f2bb49c11dbce5fb3409d612' + 'e095c0b2bbedf41da6535a68b2275464dafd3f194566028d0135322f596e4739' + 'a20d7412ceeefdf7987b1c5179a740c7ee188e314ffb94cc226967ee194bc2aa') +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -p1 -i "${srcdir}/kde4-koffice-libwpg02.patch" + patch -p1 -i "${srcdir}"/gcc46.patch + patch -p1 -i "${srcdir}"/qt48fix.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' 'libgsf') + optdepends=('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/staging/koffice/qt48fix.patch b/staging/koffice/qt48fix.patch new file mode 100644 index 000000000..de72926d5 --- /dev/null +++ b/staging/koffice/qt48fix.patch @@ -0,0 +1,10 @@ +--- koffice-2.3.3/plugins/chartshape/kdchart/src/KDChartBackgroundAttributes.cpp 2011-02-17 13:10:38.000000000 +0100 ++++ koffice-2.3.3/plugins/chartshape/kdchart/src/KDChartBackgroundAttributes.cpp 2011-09-08 15:03:31.932039128 +0200 +@@ -150,7 +150,6 @@ QDebug operator<<(QDebug dbg, const KDCh + << "visible="<<ba.isVisible() + << "brush="<<ba.brush() + << "pixmapmode="<<ba.pixmapMode() +- << "pixmap="<<ba.pixmap() + << ")"; + return dbg; + } diff --git a/staging/libgnome-media-profiles/PKGBUILD b/staging/libgnome-media-profiles/PKGBUILD new file mode 100644 index 000000000..7844a833a --- /dev/null +++ b/staging/libgnome-media-profiles/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 147671 2012-01-26 09:41:28Z heftig $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +pkgname=libgnome-media-profiles +pkgver=3.0.0 +pkgrel=3 +pkgdesc="Library for management of audio recording profiles" +arch=(i686 x86_64) +url="http://www.gnome.org" +license=('GPL2') +depends=('gconf' 'gtk3' 'gstreamer0.10-base-plugins') +makedepends=('intltool' 'gnome-doc-utils') +options=('!emptydirs' '!libtool') +install=libgnome-media-profiles.install +source=(http://download.gnome.org/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('ab1288e53a8fccca3e8fa59757ef586901e236e09a737a1178eeb8d74428c061') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr --sysconfdir=/etc \ + --disable-static -disable-scrollkeeper \ + --disable-schemas-install + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-audio-profiles "${pkgdir}"/etc/gconf/schemas/*.schemas + rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas +} + +# vim:set ts=2 sw=2 et: diff --git a/staging/libgnome-media-profiles/libgnome-media-profiles.install b/staging/libgnome-media-profiles/libgnome-media-profiles.install new file mode 100644 index 000000000..22b4c8f12 --- /dev/null +++ b/staging/libgnome-media-profiles/libgnome-media-profiles.install @@ -0,0 +1,17 @@ +pkgname=libgnome-media-profiles + +post_install(){ + usr/sbin/gconfpkg --install ${pkgname} +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} diff --git a/staging/opencv/PKGBUILD b/staging/opencv/PKGBUILD index 8829b6e70..be1122504 100644 --- a/staging/opencv/PKGBUILD +++ b/staging/opencv/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 147051 2012-01-21 05:36:50Z schiv $ +# $Id: PKGBUILD 147678 2012-01-26 14:03:05Z schiv $ # Maintainer: Ray Rashif <schiv@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> diff --git a/staging/plotutils/PKGBUILD b/staging/plotutils/PKGBUILD new file mode 100644 index 000000000..14d4c736e --- /dev/null +++ b/staging/plotutils/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 147686 2012-01-27 01:31:15Z eric $ +# Maintainer: damir <damir@archlinux.org> +# Packager: Maksim Sipos (maxsipos at gmail dot com) + +pkgname=plotutils +pkgver=2.6 +pkgrel=2 +arch=('x86_64' 'i686') +pkgdesc="Set of utilities and libraries for plotting." +url="http://directory.fsf.org/graphics/plotutils.html" +license=("GPL") +depends=("libpng" "gcc-libs" "libxaw>=1.0.5") +options=('!libtool') +install=plotutils.install +source=(http://ftp.gnu.org/pub/gnu/plotutils/$pkgname-$pkgver.tar.gz plotutils-2.6-libpng-1.5.patch) +sha1sums=('7921301d9dfe8991e3df2829bd733df6b2a70838' + '426f6ee04186af5059ab54322efaf0a6a976682b') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p0 -i ../plotutils-2.6-libpng-1.5.patch + ./configure --prefix=/usr \ + --with-gnu-ld \ + --with-x \ + --enable-libplotter + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/staging/plotutils/plotutils-2.6-libpng-1.5.patch b/staging/plotutils/plotutils-2.6-libpng-1.5.patch new file mode 100644 index 000000000..b86d9f457 --- /dev/null +++ b/staging/plotutils/plotutils-2.6-libpng-1.5.patch @@ -0,0 +1,31 @@ +fix building with libpng-1.5 + +--- libplot/z_write.c ++++ libplot/z_write.c +@@ -164,7 +164,7 @@ + } + + /* cleanup after libpng errors (error handler does a longjmp) */ +- if (setjmp (png_ptr->jmpbuf)) ++ if (png_jmpbuf (png_ptr)) + { + png_destroy_write_struct (&png_ptr, (png_info **)NULL); + return -1; +@@ -444,7 +444,7 @@ + #endif + } + +- longjmp (png_ptr->jmpbuf, 1); ++ longjmp (png_jmpbuf (png_ptr), 1); + } + + static void +@@ -515,7 +515,7 @@ + #endif + } + +- longjmp (png_ptr->jmpbuf, 1); ++ longjmp (png_jmpbuf (png_ptr), 1); + } + + static void diff --git a/staging/plotutils/plotutils.install b/staging/plotutils/plotutils.install new file mode 100644 index 000000000..d3d033e0c --- /dev/null +++ b/staging/plotutils/plotutils.install @@ -0,0 +1,15 @@ +infodir=usr/share/info + +post_install() { + [[ -x usr/bin/install-info ]] || return 0 + install-info $infodir/plotutils.info.gz $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [[ -x usr/bin/install-info ]] || return 0 + install-info --delete $infodir/plotutils.info.gz $infodir/dir 2> /dev/null +} diff --git a/staging/r/PKGBUILD b/staging/r/PKGBUILD new file mode 100644 index 000000000..835723982 --- /dev/null +++ b/staging/r/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 147684 2012-01-27 00:28:38Z eric $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Damir Perisa <damir.perisa@bluewin.ch> +# Contributor: K. Piche <kpiche@rogers.com> + +pkgname=r +pkgver=2.14.0 +pkgrel=2 +pkgdesc="Language and environment for statistical computing and graphics" +arch=('i686' 'x86_64') +license=('GPL') +url=('http://www.r-project.org/') +depends=('blas' 'lapack' 'bzip2' 'libpng' 'libjpeg' 'libtiff' + 'ncurses' 'pcre' 'readline' 'zlib' 'perl' 'gcc-libs' + 'tk' 'libxt' 'libxmu' 'pango' 'xz') +makedepends=('openjdk6' 'gcc-fortran') +backup=('etc/R/Makeconf' 'etc/R/Renviron' 'etc/R/ldpaths' 'etc/R/repositories') +options=('!makeflags') +source=("http://cran.r-project.org/src/base/R-2/R-${pkgver}.tar.gz" + 'r.desktop' + 'r.png') +install=r.install +sha1sums=('0f46bf75a7c150350b1142c29a98e7994d2b4bef' + '13aa29219bcaa102e575de8c1c8e0833d233e836' + 'a69a07ec363440efc18ce0a7f2af103375dea978') + +build() { + cd "${srcdir}/R-${pkgver}" + sed -i 's|#define NeedFunctionPrototypes 0|#define NeedFunctionPrototypes 1|g' src/modules/X11/dataentry.c + ./configure --prefix=/usr \ + --libdir=/usr/lib \ + --sysconfdir=/etc/R \ + --datarootdir=/usr/share \ + rsharedir=/usr/share/R/ \ + rincludedir=/usr/include/R/ \ + rdocdir=/usr/share/doc/R/ \ + --with-x \ + --enable-R-shlib \ + --with-lapack \ + --with-blas \ + F77=gfortran \ + LIBnn=lib + make +} + +package() { + cd "${srcdir}/R-${pkgver}" + make -j1 DESTDIR="${pkgdir}" install + + # Fixup R wrapper scripts. + sed -i "s|${pkgdir} ||" "${pkgdir}/usr/bin/R" + rm "${pkgdir}/usr/lib/R/bin/R" + cd "${pkgdir}/usr/lib/R/bin" + ln -s ../../../bin/R + + # install some freedesktop.org compatibility + install -Dm644 "${srcdir}/r.desktop" \ + "${pkgdir}/usr/share/applications/r.desktop" + install -Dm644 "${srcdir}/r.png" \ + "${pkgdir}/usr/share/pixmaps/r.png" + + # move the config directory to /etc and create symlinks + install -d "${pkgdir}/etc/R" + cd "${pkgdir}/usr/lib/R/etc" + for i in *; do + mv -f ${i} "${pkgdir}/etc/R" + ln -s /etc/R/${i} ${i} + done +} diff --git a/staging/r/r.desktop b/staging/r/r.desktop new file mode 100644 index 000000000..68b49c447 --- /dev/null +++ b/staging/r/r.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=R +GenericName=environment for statistical computing +Comment=language and environment for statistical computing and graphics +Exec=R +Icon=/usr/share/pixmaps/r.png +DocPath=/usr/lib/R/doc/html/index.html +StartupNotify=true +Terminal=true +Type=Application +Categories=Education;Science;Math; diff --git a/staging/r/r.install b/staging/r/r.install new file mode 100644 index 000000000..d3289ab64 --- /dev/null +++ b/staging/r/r.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + diff --git a/staging/r/r.png b/staging/r/r.png Binary files differnew file mode 100644 index 000000000..1303ccdb9 --- /dev/null +++ b/staging/r/r.png diff --git a/staging/slim/PKGBUILD b/staging/slim/PKGBUILD new file mode 100644 index 000000000..f7f5406c1 --- /dev/null +++ b/staging/slim/PKGBUILD @@ -0,0 +1,68 @@ +# $Id: PKGBUILD 147688 2012-01-27 02:04:48Z eric $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Thayer Williams <thayer@archlinux.org> +# Contributor: Alexander Fehr <pizzapunk gmail com> +# Contributor: Hugo Ideler <hugoideler@dse.nl> + +pkgname=slim +pkgver=1.3.2 +pkgrel=7 +pkgdesc='Desktop-independent graphical login manager for X11' +arch=('i686' 'x86_64') +url='http://slim.berlios.de/' +license=('GPL2') +depends=('pam' 'libxmu' 'libpng' 'libjpeg' 'libxft') +backup=('etc/slim.conf' 'etc/logrotate.d/slim' 'etc/pam.d/slim') +source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'rc.d' + 'pam.d' + 'logrotate' + 'ptr_pam.patch' + 'no-host.patch' + 'restart.patch' + 'sigterm.patch' + 'session-name.patch' + 'tty-slowness.patch' + 'slim-1.3.2-libpng15.patch') +sha1sums=('e421d5487732c8317f8f591906661e014b036358' + '6fe0ba83509af634bce47be34e30995965bffc79' + 'a0e991ef0ac5120465a3be014a26e70ba073b6ae' + 'b969cc902c1d9915a5609141a652c77b2732407b' + '640668c984a13593a1bfba8d3b503c005d5f401e' + 'b86eddd083fb9f6259e46c735f55ebe76c655bd3' + '2d526bc0c498bf307ee50e2d22b4f53ffa0c4435' + '0b35048723c527fb824c5e0f9b9064f751871785' + 'fdd35562ce010babaeb793f92f9906fdcdaf3f9f' + '213fefe8533c845ea8c40585b6a8097820d5e5d2' + '3cd674e548f4e0aadbbd32a67b4efd1ed263afef') + +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i -e 's/png12/png15/g' Makefile + patch -p1 -i ../ptr_pam.patch # FS#23995: pointer mishandling confuses PAM + patch -p1 -i ../no-host.patch # cf patch: do not set PAM host + patch -p1 -i ../restart.patch # cf patch: restart X server if killed + patch -p1 -i ../sigterm.patch # FS#23984: do not wait for input when SIGTERM'd + patch -p1 -i ../session-name.patch # FS#26693: fix default session name + patch -p1 -i ../tty-slowness.patch # FS#18313: fix sluggish TTY after slim start + patch -p0 -i ../slim-1.3.2-libpng15.patch + + make USE_PAM=1 +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" MANDIR=/usr/share/man install + + install -D -m755 ../rc.d "${pkgdir}"/etc/rc.d/slim + install -D -m644 ../pam.d "${pkgdir}"/etc/pam.d/slim + install -D -m644 ../logrotate "${pkgdir}"/etc/logrotate.d/slim + + # Provide sane defaults + sed -i 's|#xserver_arguments.*|xserver_arguments -nolisten tcp vt07|' "${pkgdir}"/etc/slim.conf + sed -i 's|/var/run/slim.lock|/var/lock/slim.lock|' "${pkgdir}"/etc/slim.conf +} diff --git a/staging/slim/install b/staging/slim/install new file mode 100644 index 000000000..65aa77d72 --- /dev/null +++ b/staging/slim/install @@ -0,0 +1,7 @@ +post_install() { + cat <<EOF + +==> Add slim to the DAEMONS array in /etc/rc.conf or update /etc/inittab. + +EOF +} diff --git a/staging/slim/logrotate b/staging/slim/logrotate new file mode 100644 index 000000000..26ec3b0f4 --- /dev/null +++ b/staging/slim/logrotate @@ -0,0 +1,9 @@ +/var/log/slim.log { + compress + rotate 1 + size 1024k + notifempty + missingok + copytruncate + noolddir +} diff --git a/staging/slim/no-host.patch b/staging/slim/no-host.patch new file mode 100644 index 000000000..c40f25bca --- /dev/null +++ b/staging/slim/no-host.patch @@ -0,0 +1,29 @@ +Datum: Sun, 30 Jan 2011 12:49:00 +0200 +Von: Samuli Suominen <ssuominen@gentoo.org> +An: jgc@archlinux.org, andyrtr@archlinux.org, thayer@archlinux.org +Betreff: SLIM and ConsoleKit 0.4.2 (and up) + +People have been coming to #xfce after Arch's ConsoleKit 0.4.3 upgrade +to ask for help why Suspend / Hibernate / and such doesn't work. + +It's because SLIM is using pam_ck_connector.so and SLIM sets Host to localhost +and makes pam_ck_connector.so believe it's actually a *remote host* called +localhost and will refuse access. + +http://bugs.gentoo.org/346037 +https://developer.berlios.de/bugs/?func=detailbug&bug_id=17757&group_id=2663 +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-misc/slim/files/346037-stop_setting_host_for_pam_ck_connector_so.patch?view=log + + +diff -aur old/app.cpp new/app.cpp +--- old/app.cpp 2011-01-30 12:39:34.033337944 +0100 ++++ new/app.cpp 2011-01-30 12:40:25.843337943 +0100 +@@ -228,8 +228,6 @@ + pam.start("slim"); + pam.set_item(PAM::Authenticator::TTY, DisplayName); + pam.set_item(PAM::Authenticator::Requestor, "root"); +- pam.set_item(PAM::Authenticator::Host, "localhost"); +- + } + catch(PAM::Exception& e){ + cerr << APPNAME << ": " << e << endl; diff --git a/staging/slim/pam.d b/staging/slim/pam.d new file mode 100644 index 000000000..78a981f74 --- /dev/null +++ b/staging/slim/pam.d @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +account required pam_unix.so +password required pam_unix.so +session required pam_limits.so +session required pam_unix.so +session optional pam_loginuid.so +session optional pam_ck_connector.so diff --git a/staging/slim/ptr_pam.patch b/staging/slim/ptr_pam.patch new file mode 100644 index 000000000..3a3fbcdb7 --- /dev/null +++ b/staging/slim/ptr_pam.patch @@ -0,0 +1,52 @@ +diff -aur old/app.cpp new/app.cpp +--- old/app.cpp 2010-07-08 07:04:10.000000000 +0200 ++++ new/app.cpp 2011-05-01 18:30:52.933844872 +0200 +@@ -43,8 +43,8 @@ + Panel* panel = *static_cast<Panel**>(appdata_ptr); + int result = PAM_SUCCESS; + for (int i=0; i<num_msg; i++){ +- resp[i]->resp=0; +- resp[i]->resp_retcode=0; ++ (*resp)[i].resp=0; ++ (*resp)[i].resp_retcode=0; + switch(msg[i]->msg_style){ + case PAM_PROMPT_ECHO_ON: + // We assume PAM is asking for the username +@@ -53,13 +53,13 @@ + case Panel::Suspend: + case Panel::Halt: + case Panel::Reboot: +- resp[i]->resp=strdup("root"); ++ (*resp)[i].resp=strdup("root"); + break; + + case Panel::Console: + case Panel::Exit: + case Panel::Login: +- resp[i]->resp=strdup(panel->GetName().c_str()); ++ (*resp)[i].resp=strdup(panel->GetName().c_str()); + break; + } + break; +@@ -75,7 +75,7 @@ + + default: + panel->EventHandler(Panel::Get_Passwd); +- resp[i]->resp=strdup(panel->GetPasswd().c_str()); ++ (*resp)[i].resp=strdup(panel->GetPasswd().c_str()); + break; + } + break; +@@ -91,9 +91,9 @@ + } + if (result!=PAM_SUCCESS){ + for (int i=0; i<num_msg; i++){ +- if (resp[i]->resp==0) continue; +- free(resp[i]->resp); +- resp[i]->resp=0; ++ if ((*resp)[i].resp==0) continue; ++ free((*resp)[i].resp); ++ (*resp)[i].resp=0; + }; + free(*resp); + *resp=0; diff --git a/staging/slim/rc.d b/staging/slim/rc.d new file mode 100755 index 000000000..b0be7ffc5 --- /dev/null +++ b/staging/slim/rc.d @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/bin/slim` +case "$1" in + start) + stat_busy "Starting Simple Login Manager" + [ -z "$PID" ] && /usr/bin/slim -d &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon slim + stat_done + fi + ;; + stop) + stat_busy "Stopping Simple Login Manager" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon slim + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/staging/slim/restart.patch b/staging/slim/restart.patch new file mode 100644 index 000000000..4e5049000 --- /dev/null +++ b/staging/slim/restart.patch @@ -0,0 +1,144 @@ +http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663 + + +diff -aur slim-1.3.2.b/app.cpp slim-1.3.2.c/app.cpp +--- slim-1.3.2.b/app.cpp 2010-08-21 15:10:48.579631179 +0200 ++++ slim-1.3.2.c/app.cpp 2010-08-21 15:11:03.946389843 +0200 +@@ -104,6 +104,11 @@ + + extern App* LoginApp; + ++int xioerror(Display *disp) { ++ LoginApp->RestartServer(); ++ return 0; ++} ++ + void CatchSignal(int sig) { + cerr << APPNAME << ": unexpected signal " << sig << endl; + +@@ -114,19 +119,6 @@ + exit(ERR_EXIT); + } + +- +-void AlarmSignal(int sig) { +- int pid = LoginApp->GetServerPID(); +- if(waitpid(pid, NULL, WNOHANG) == pid) { +- LoginApp->StopServer(); +- LoginApp->RemoveLock(); +- exit(OK_EXIT); +- } +- signal(sig, AlarmSignal); +- alarm(2); +-} +- +- + void User1Signal(int sig) { + signal(sig, User1Signal); + } +@@ -277,7 +269,6 @@ + signal(SIGHUP, CatchSignal); + signal(SIGPIPE, CatchSignal); + signal(SIGUSR1, User1Signal); +- signal(SIGALRM, AlarmSignal); + + #ifndef XNEST_DEBUG + if (!force_nodaemon && cfg->getOption("daemon") == "yes") { +@@ -298,7 +289,6 @@ + + CreateServerAuth(); + StartServer(); +- alarm(2); + #endif + + } +@@ -614,6 +604,8 @@ + int status; + while (wpid != pid) { + wpid = wait(&status); ++ if (wpid == ServerPID) ++ xioerror(Dpy); // Server died, simulate IO error + } + if (WIFEXITED(status) && WEXITSTATUS(status)) { + LoginPanel->Message("Failed to execute login command"); +@@ -659,9 +651,6 @@ + + + void App::Reboot() { +- // Stop alarm clock +- alarm(0); +- + #ifdef USE_PAM + try{ + pam.end(); +@@ -684,9 +673,6 @@ + + + void App::Halt() { +- // Stop alarm clock +- alarm(0); +- + #ifdef USE_PAM + try{ + pam.end(); +@@ -772,6 +758,7 @@ + + StopServer(); + RemoveLock(); ++ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens + Run(); + } + +@@ -842,6 +829,7 @@ + + for(cycles = 0; cycles < ncycles; cycles++) { + if((Dpy = XOpenDisplay(DisplayName))) { ++ XSetIOErrorHandler(xioerror); + return 1; + } else { + if(!ServerTimeout(1, (char *) "X server to begin accepting connections")) +@@ -926,9 +914,6 @@ + ServerPID = -1; + break; + } +- alarm(15); +- pause(); +- alarm(0); + + // Wait for server to start up + if(WaitForServer() == 0) { +@@ -963,15 +948,12 @@ + + + void App::StopServer() { +- // Stop alars clock and ignore signals +- alarm(0); + signal(SIGQUIT, SIG_IGN); + signal(SIGINT, SIG_IGN); + signal(SIGHUP, SIG_IGN); + signal(SIGPIPE, SIG_IGN); + signal(SIGTERM, SIG_DFL); + signal(SIGKILL, SIG_DFL); +- signal(SIGALRM, SIG_DFL); + + // Catch X error + XSetIOErrorHandler(IgnoreXIO); +diff -aur slim-1.3.2.b/app.h slim-1.3.2.c/app.h +--- slim-1.3.2.b/app.h 2010-08-21 15:10:40.499582804 +0200 ++++ slim-1.3.2.c/app.h 2010-08-21 15:11:03.946389843 +0200 +@@ -34,6 +34,7 @@ + ~App(); + void Run(); + int GetServerPID(); ++ void RestartServer(); + void StopServer(); + + bool serverStarted; +@@ -49,7 +50,6 @@ + void Console(); + void Exit(); + void KillAllClients(Bool top); +- void RestartServer(); + void ReadConfig(); + void OpenLog(); + void CloseLog(); diff --git a/staging/slim/session-name.patch b/staging/slim/session-name.patch new file mode 100644 index 000000000..8211c4f72 --- /dev/null +++ b/staging/slim/session-name.patch @@ -0,0 +1,21 @@ +diff -Naur slim-1.3.2.old/panel.cpp slim-1.3.2.new/panel.cpp +--- slim-1.3.2.old/panel.cpp 2010-10-24 06:01:15.117000019 +0000 ++++ slim-1.3.2.new/panel.cpp 2010-10-24 17:26:30.987999967 +0000 +@@ -23,7 +23,7 @@ + Root = root; + cfg = config; + +- session = ""; ++ session = cfg->nextSession(session); + + // Init GC + XGCValues gcv; +@@ -188,7 +188,7 @@ + } + + void Panel::ClearPanel() { +- session = ""; ++ session = cfg->nextSession(session); + Reset(); + XClearWindow(Dpy, Root); + XClearWindow(Dpy, Win); diff --git a/staging/slim/sigterm.patch b/staging/slim/sigterm.patch new file mode 100644 index 000000000..fbaeb7116 --- /dev/null +++ b/staging/slim/sigterm.patch @@ -0,0 +1,45 @@ +diff -aur old/panel.cpp new/panel.cpp +--- old/panel.cpp 2011-04-29 15:15:57.210134850 +0200 ++++ new/panel.cpp 2011-04-29 15:16:17.260285407 +0200 +@@ -10,6 +10,7 @@ + */ + + #include <sstream> ++#include <poll.h> + #include "panel.h" + + using namespace std; +@@ -288,16 +289,24 @@ + field=curfield; + bool loop = true; + OnExpose(); ++ ++ struct pollfd x11_pfd = {0}; ++ x11_pfd.fd = ConnectionNumber(Dpy); ++ x11_pfd.events = POLLIN; + while(loop) { +- XNextEvent(Dpy, &event); +- switch(event.type) { +- case Expose: +- OnExpose(); +- break; +- +- case KeyPress: +- loop=OnKeyPress(event); +- break; ++ if(XPending(Dpy) || poll(&x11_pfd, 1, -1) > 0) { ++ while(XPending(Dpy)) { ++ XNextEvent(Dpy, &event); ++ switch(event.type) { ++ case Expose: ++ OnExpose(); ++ break; ++ ++ case KeyPress: ++ loop=OnKeyPress(event); ++ break; ++ } ++ } + } + } + diff --git a/staging/slim/slim-1.3.2-libpng15.patch b/staging/slim/slim-1.3.2-libpng15.patch new file mode 100644 index 000000000..720608567 --- /dev/null +++ b/staging/slim/slim-1.3.2-libpng15.patch @@ -0,0 +1,11 @@ +--- png.c ++++ png.c +@@ -57,7 +57,7 @@ + return(0); + } + +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); + fclose(infile); diff --git a/staging/slim/tty-slowness.patch b/staging/slim/tty-slowness.patch new file mode 100644 index 000000000..c590fbed8 --- /dev/null +++ b/staging/slim/tty-slowness.patch @@ -0,0 +1,30 @@ +diff -aur slim-1.3.2.a/app.cpp slim-1.3.2.b/app.cpp +--- slim-1.3.2.a/app.cpp 2010-08-21 15:10:13.702755711 +0200 ++++ slim-1.3.2.b/app.cpp 2010-08-21 15:10:48.579631179 +0200 +@@ -280,21 +280,22 @@ + signal(SIGALRM, AlarmSignal); + + #ifndef XNEST_DEBUG +- OpenLog(); +- + if (!force_nodaemon && cfg->getOption("daemon") == "yes") { + daemonmode = true; + } + + // Daemonize + if (daemonmode) { +- if (daemon(0, 1) == -1) { ++ if (daemon(0, 0) == -1) { + cerr << APPNAME << ": " << strerror(errno) << endl; + exit(ERR_EXIT); + } +- UpdatePid(); + } + ++ OpenLog(); ++ ++ if (daemonmode) UpdatePid(); ++ + CreateServerAuth(); + StartServer(); + alarm(2); diff --git a/testing/systemd/0001-mount-fix-automount-regression.patch b/testing/systemd/0001-mount-fix-automount-regression.patch new file mode 100644 index 000000000..a064f20cf --- /dev/null +++ b/testing/systemd/0001-mount-fix-automount-regression.patch @@ -0,0 +1,45 @@ +From da375869ff31f83938123dc0d2a8d5c0f0845a0c Mon Sep 17 00:00:00 2001 +From: Michal Schmidt <mschmidt@redhat.com> +Date: Thu, 26 Jan 2012 01:19:19 +0100 +Subject: [PATCH] mount: fix automount regression + +Tom Gundersen noticed a regression where comment=systemd.automount in +fstab no longer prevented the adding of the After=foo.mount dependency +into local-fs.target. He bisected it to commit 9ddc4a26. + +It turns out that clearing the default_dependencies flag is necessary +after all, in order to avoid complementing of Wants= with After= in the +target unit. We still want to add the dependencies on quota units and +umount.target though. +--- + src/mount.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/src/mount.c b/src/mount.c +index 6d0af4e..965f705 100644 +--- a/src/mount.c ++++ b/src/mount.c +@@ -583,6 +583,11 @@ static int mount_load(Unit *u) { + + if (UNIT(m)->fragment_path) + m->from_fragment = true; ++ else if (m->from_etc_fstab) ++ /* We always add several default dependencies to fstab mounts, ++ * but we do not want the implicit complementing of Wants= with After= ++ * in the target unit that this mount unit will be hooked into. */ ++ UNIT(m)->default_dependencies = false; + + if (!m->where) + if (!(m->where = unit_name_to_path(u->id))) +@@ -615,7 +620,7 @@ static int mount_load(Unit *u) { + if ((r = mount_add_fstab_links(m)) < 0) + return r; + +- if (UNIT(m)->default_dependencies) ++ if (UNIT(m)->default_dependencies || m->from_etc_fstab) + if ((r = mount_add_default_dependencies(m)) < 0) + return r; + +-- +1.7.8.4 + diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD index 4e1d95a74..a1f555c57 100644 --- a/testing/systemd/PKGBUILD +++ b/testing/systemd/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 147240 2012-01-25 01:22:21Z dreisner $ +# $Id: PKGBUILD 147677 2012-01-26 13:47:39Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgname=systemd pkgver=39 -pkgrel=1 +pkgrel=2 pkgdesc="Session and Startup manager" arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" @@ -27,9 +27,11 @@ backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf etc/systemd/systemd-logind.conf) install=systemd.install source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" - "os-release") + "os-release" + "0001-mount-fix-automount-regression.patch") md5sums=('7179b34f6f6553d2a36551ac1dec5f0d' - '752636def0db3c03f121f8b4f44a63cd') + '752636def0db3c03f121f8b4f44a63cd' + '6e42637c1b1d4589909329dab777631b') build() { cd "$pkgname-$pkgver" @@ -39,6 +41,9 @@ build() { sed -i -e '/^Environ.*LANG/s/^/#/' \ -e '/^ExecStart/s/agetty/& -8/' units/getty@.service.m4 + # fix default dependencies for automounts in /etc/fstab + patch -Np1 < "$srcdir/0001-mount-fix-automount-regression.patch" + ./configure --sysconfdir=/etc \ --libexecdir=/usr/lib \ --libdir=/usr/lib \ @@ -58,6 +63,9 @@ package() { make DESTDIR="$pkgdir" install + # needed by systemd-loginctl for enable-linger + install -dm755 "$pkgdir/var/lib/systemd" + install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release" printf "d /run/console 755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf" |