summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-04-06 00:05:46 -0700
committerroot <root@rshg054.dnsready.net>2013-04-06 00:05:46 -0700
commitfd8249d016683ade99a23251d6ffdf5d5a3e76a4 (patch)
treede9e45e44e9a8ffb85bd8895dcec0ebcd34d17e3 /community
parent3c7a59bfd2b8340068df7dc196e0c9b612b9ef31 (diff)
Sat Apr 6 00:05:46 PDT 2013
Diffstat (limited to 'community')
-rw-r--r--community/bumblebee/PKGBUILD52
-rw-r--r--community/bumblebee/bumblebee.install16
-rw-r--r--community/expac/PKGBUILD11
-rw-r--r--community/haskell-base64-bytestring/PKGBUILD41
-rw-r--r--community/haskell-base64-bytestring/haskell-base64-bytestring.install23
-rw-r--r--community/haskell-blaze-builder/PKGBUILD42
-rw-r--r--community/haskell-blaze-builder/haskell-blaze-builder.install24
-rw-r--r--community/haskell-blaze-html/PKGBUILD37
-rw-r--r--community/haskell-blaze-html/haskell-blaze-html.install23
-rw-r--r--community/haskell-blaze-markup/PKGBUILD38
-rw-r--r--community/haskell-blaze-markup/haskell-blaze-markup.install22
-rw-r--r--community/haskell-citeproc-hs/PKGBUILD43
-rw-r--r--community/haskell-citeproc-hs/haskell-citeproc-hs.install23
-rw-r--r--community/haskell-digest/PKGBUILD40
-rw-r--r--community/haskell-digest/haskell-digest.install23
-rw-r--r--community/haskell-highlighting-kate/PKGBUILD37
-rw-r--r--community/haskell-highlighting-kate/haskell-highlighting-kate.install23
-rw-r--r--community/haskell-json/PKGBUILD39
-rw-r--r--community/haskell-json/haskell-json.install24
-rw-r--r--community/haskell-pandoc-types/PKGBUILD40
-rw-r--r--community/haskell-pandoc-types/haskell-pandoc-types.install23
-rw-r--r--community/haskell-pandoc/PKGBUILD37
-rw-r--r--community/haskell-pandoc/haskell-pandoc.install23
-rw-r--r--community/haskell-pcre-light/PKGBUILD42
-rw-r--r--community/haskell-pcre-light/haskell-pcre-light.install23
-rw-r--r--community/haskell-tagsoup/PKGBUILD36
-rw-r--r--community/haskell-tagsoup/haskell-tagsoup.install23
-rw-r--r--community/haskell-temporary/PKGBUILD36
-rw-r--r--community/haskell-temporary/haskell-temporary.install23
-rw-r--r--community/haskell-texmath/PKGBUILD40
-rw-r--r--community/haskell-texmath/haskell-texmath.install23
-rw-r--r--community/haskell-xml/PKGBUILD41
-rw-r--r--community/haskell-xml/haskell-xml.install23
-rw-r--r--community/haskell-zip-archive/PKGBUILD43
-rw-r--r--community/haskell-zip-archive/haskell-zip-archive.install23
-rw-r--r--community/iasl/PKGBUILD8
-rwxr-xr-xcommunity/lightdm/PKGBUILD19
-rw-r--r--community/llvm-amdgpu-snapshot/PKGBUILD10
-rw-r--r--community/lshw/PKGBUILD7
-rw-r--r--community/meteorjs/PKGBUILD68
-rw-r--r--community/meteorjs/meteor13
-rw-r--r--community/meteorjs/node010.patch11
-rw-r--r--community/mupdf/PKGBUILD5
-rw-r--r--community/openttd/PKGBUILD8
-rw-r--r--community/packagekit/PKGBUILD19
-rw-r--r--community/packagekit/alpm.patch1611
-rw-r--r--community/parrot/PKGBUILD8
-rw-r--r--community/pokerth/PKGBUILD13
-rw-r--r--community/pokerth/pokerth_game.pro.patch18
-rw-r--r--community/rust/PKGBUILD57
-rw-r--r--community/shotwell/PKGBUILD8
-rw-r--r--community/tiled-qt/PKGBUILD6
-rw-r--r--community/tomoyo-tools/PKGBUILD2
-rw-r--r--community/tomoyo-tools/tomoyo-tools.install2
54 files changed, 2700 insertions, 273 deletions
diff --git a/community/bumblebee/PKGBUILD b/community/bumblebee/PKGBUILD
deleted file mode 100644
index ce7c6231b..000000000
--- a/community/bumblebee/PKGBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
-
-pkgname=bumblebee
-pkgver=3.1
-pkgrel=5
-pkgdesc="NVIDIA Optimus support for Linux through VirtualGL"
-arch=('i686' 'x86_64')
-depends=('virtualgl' 'libbsd' 'glib2' 'mesa-libgl')
-optdepends=('xf86-video-nouveau: nouveau driver'
- 'nouveau-dri: 3D acceleration features fo nouveau'
- 'bbswitch: switch on/off discrete card'
- 'nvidia: NVIDIA kernel driver'
- 'primus: faster back-end for optirun')
-if [ "$CARCH" = "x86_64" ]; then
- optdepends[${#optdepends[@]}]='lib32-virtualgl: run 32bit applications with optirun'
- optdepends[${#optdepends[@]}]='lib32-primus: faster back-end for optirun'
-fi
-conflicts=('nvidia-libgl')
-provides=('nvidia-libgl')
-url="http://www.bumblebee-project.org"
-license=("GPL3")
-install='bumblebee.install'
-backup=('etc/bumblebee/bumblebee.conf'
- 'etc/bumblebee/xorg.conf.nouveau'
- 'etc/bumblebee/xorg.conf.nvidia')
-source=("http://www.bumblebee-project.org/${pkgname}-${pkgver}.tar.gz")
-md5sums=('de515ef51b1e0714c2f1b2a95f83e77e')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure \
- CONF_DRIVER_MODULE_NVIDIA=nvidia \
- CONF_LDPATH_NVIDIA=/usr/lib/nvidia:/usr/lib32/nvidia \
- CONF_MODPATH_NVIDIA=/usr/lib/nvidia/xorg/,/usr/lib/xorg/modules \
- --prefix=/usr \
- --sysconfdir=/etc
-
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make install DESTDIR="$pkgdir"
-
- # Install systemd unit
- install -D -m644 "scripts/systemd/bumblebeed.service" "${pkgdir}/usr/lib/systemd/system/bumblebeed.service"
-
- # Make bash_completion work
- mv -v "${pkgdir}/etc/bash_completion.d/bumblebee" "${pkgdir}/etc/bash_completion.d/optirun"
-}
diff --git a/community/bumblebee/bumblebee.install b/community/bumblebee/bumblebee.install
deleted file mode 100644
index 57aed6cc5..000000000
--- a/community/bumblebee/bumblebee.install
+++ /dev/null
@@ -1,16 +0,0 @@
-_notice() {
- echo "Don't forget to add yourself to the 'bumblebee' group to use Bumblebee"
-}
-
-post_upgrade() {
- getent group "bumblebee" &>/dev/null || groupadd -r bumblebee
-}
-
-post_remove() {
- getent group "bumblebee" &>/dev/null && groupdel bumblebee 1>/dev/null
-}
-
-post_install() {
- post_upgrade
- _notice
-}
diff --git a/community/expac/PKGBUILD b/community/expac/PKGBUILD
index 1bd7be9ad..cf31567ba 100644
--- a/community/expac/PKGBUILD
+++ b/community/expac/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 80201 2012-11-17 15:05:30Z dreisner $
+# $Id: PKGBUILD 87648 2013-04-05 00:19:21Z dreisner $
# Maintainer: Dave Reisner <d@falconindy.com>
pkgname=expac
-pkgver=1
-pkgrel=2
+pkgver=2
+pkgrel=1
pkgdesc="pacman database extraction utility"
arch=('i686' 'x86_64')
url="http://github.com/falconindy/expac"
license=('GPL')
depends=('pacman')
makedepends=('perl')
-source=("https://github.com/downloads/falconindy/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('be8348f18e6af9db250437b14a91e443')
+source=("http://code.falconindy.com/archive/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig})
+md5sums=('41a65f51009e44689bd5320f5c3aa7d4'
+ 'SKIP')
build() {
make -C "$pkgname-$pkgver"
diff --git a/community/haskell-base64-bytestring/PKGBUILD b/community/haskell-base64-bytestring/PKGBUILD
new file mode 100644
index 000000000..88c840a5f
--- /dev/null
+++ b/community/haskell-base64-bytestring/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=base64-bytestring
+pkgname=haskell-base64-bytestring
+pkgver=1.0.0.1
+pkgrel=1
+pkgdesc="Fast base64 encoding and deconding for ByteStrings"
+url="https://github.com/bos/base64-bytestring"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-bytestring')
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install="$pkgname.install"
+sha256sums=('ab25abf4b00a2f52b270bc3ed43f1d59f16c8eec9d7dffb14df1e9265b233b50')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-base64-bytestring/haskell-base64-bytestring.install b/community/haskell-base64-bytestring/haskell-base64-bytestring.install
new file mode 100644
index 000000000..434874e99
--- /dev/null
+++ b/community/haskell-base64-bytestring/haskell-base64-bytestring.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-base64-bytestring
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-blaze-builder/PKGBUILD b/community/haskell-blaze-builder/PKGBUILD
new file mode 100644
index 000000000..c7267423b
--- /dev/null
+++ b/community/haskell-blaze-builder/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-blaze-builder
+_hkgname=blaze-builder
+pkgver=0.3.1.1
+pkgrel=1
+pkgdesc="Efficient buffered output."
+url="http://github.com/meiersi/blaze-builder"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-bytestring' 'haskell-text')
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install="$pkgname.install"
+sha256sums=('a12506f8afd650e4ed90e1e2379750035f8e83032a2d260eacc3757fe52cdcde')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-blaze-builder/haskell-blaze-builder.install b/community/haskell-blaze-builder/haskell-blaze-builder.install
new file mode 100644
index 000000000..1f2b9ed67
--- /dev/null
+++ b/community/haskell-blaze-builder/haskell-blaze-builder.install
@@ -0,0 +1,24 @@
+HS_DIR=usr/share/haskell/haskell-blaze-builder
+
+# functions
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-blaze-html/PKGBUILD b/community/haskell-blaze-html/PKGBUILD
new file mode 100644
index 000000000..6fbe14cf7
--- /dev/null
+++ b/community/haskell-blaze-html/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Aleksandar Micovic <metaleks@gmail.com>
+_hkgname=blaze-html
+pkgname=haskell-blaze-html
+pkgver=0.6.1.1
+pkgrel=1
+pkgdesc="A blazingly fast HTML combinator library for Haskell"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc' 'haskell-blaze-builder<0.4' 'haskell-blaze-markup<0.6' 'haskell-bytestring-show' 'haskell-text>=0.11.0.5')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('f9eda0a990cda190538b9e6ff73b05f3')
+
+build() {
+ cd "${srcdir}/${_hkgname}-${pkgver}"
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd "${srcdir}/${_hkgname}-${pkgver}"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-blaze-html/haskell-blaze-html.install b/community/haskell-blaze-html/haskell-blaze-html.install
new file mode 100644
index 000000000..9887d3a8d
--- /dev/null
+++ b/community/haskell-blaze-html/haskell-blaze-html.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-blaze-html
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-blaze-markup/PKGBUILD b/community/haskell-blaze-markup/PKGBUILD
new file mode 100644
index 000000000..f4e5d1352
--- /dev/null
+++ b/community/haskell-blaze-markup/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=blaze-markup
+pkgname=haskell-blaze-markup
+pkgver=0.5.1.5
+pkgrel=1
+pkgdesc="Core modules of a blazingly fast markup combinator library for the Haskell programming language"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-blaze-builder' 'haskell-bytestring-show' 'haskell-text')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('faf0c80851b34987e74541b23cef3218')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-blaze-markup/haskell-blaze-markup.install b/community/haskell-blaze-markup/haskell-blaze-markup.install
new file mode 100644
index 000000000..fa5fb8064
--- /dev/null
+++ b/community/haskell-blaze-markup/haskell-blaze-markup.install
@@ -0,0 +1,22 @@
+HS_DIR=usr/share/haskell/haskell-blaze-markup
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-citeproc-hs/PKGBUILD b/community/haskell-citeproc-hs/PKGBUILD
new file mode 100644
index 000000000..935e0dccd
--- /dev/null
+++ b/community/haskell-citeproc-hs/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=citeproc-hs
+pkgname=haskell-citeproc-hs
+pkgver=0.3.8
+pkgrel=1
+pkgdesc="A Citation Style Language implementation in Haskell"
+url="http://gorgias.mine.nu/repos/citeproc-hs/"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=(haskell-http haskell-bytestring haskell-containers haskell-directory
+ haskell-filepath haskell-json haskell-mtl haskell-old-locale
+ haskell-pandoc-types haskell-parsec haskell-syb haskell-time haskell-utf8-string haskell-xml)
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('e873673b2960d0eebbcede9d8c18e2acea0e4fed295552fa635814f4bae48e72')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid -f generic
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -D -m744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-citeproc-hs/haskell-citeproc-hs.install b/community/haskell-citeproc-hs/haskell-citeproc-hs.install
new file mode 100644
index 000000000..b2c962877
--- /dev/null
+++ b/community/haskell-citeproc-hs/haskell-citeproc-hs.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-citeproc-hs
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-digest/PKGBUILD b/community/haskell-digest/PKGBUILD
new file mode 100644
index 000000000..29374ef30
--- /dev/null
+++ b/community/haskell-digest/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=digest
+pkgname=haskell-digest
+pkgver=0.0.1.1
+pkgrel=2
+pkgdesc='Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now.'
+url="http://hackage.haskell.org/package/$_hkgname"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-bytestring')
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('7bb8b85959cfb3c6539aa2f2104c14aec9758a3a5d6039aba975299fdcd704d4')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-digest/haskell-digest.install b/community/haskell-digest/haskell-digest.install
new file mode 100644
index 000000000..d0637a0cb
--- /dev/null
+++ b/community/haskell-digest/haskell-digest.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-digest
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-highlighting-kate/PKGBUILD b/community/haskell-highlighting-kate/PKGBUILD
new file mode 100644
index 000000000..fc7a8dd0e
--- /dev/null
+++ b/community/haskell-highlighting-kate/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <arch-haskell@haskell.org>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=highlighting-kate
+pkgname=haskell-highlighting-kate
+pkgver=0.5.3.8
+pkgrel=1
+pkgdesc="Syntax highlighting"
+url="http://hackage.haskell.org/package/$_hkgname"
+license=('GPL')
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-blaze-html>=0.4.2' 'haskell-containers' 'haskell-filepath' 'haskell-mtl' 'haskell-parsec' 'haskell-pcre-light')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('c3fdfadddfdf198af6192b9bf437a422')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+}
diff --git a/community/haskell-highlighting-kate/haskell-highlighting-kate.install b/community/haskell-highlighting-kate/haskell-highlighting-kate.install
new file mode 100644
index 000000000..c03138b71
--- /dev/null
+++ b/community/haskell-highlighting-kate/haskell-highlighting-kate.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-highlighting-kate
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-json/PKGBUILD b/community/haskell-json/PKGBUILD
new file mode 100644
index 000000000..4677e1f77
--- /dev/null
+++ b/community/haskell-json/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+
+_hkgname=json
+pkgname=haskell-json
+pkgver=0.7
+pkgrel=4
+pkgdesc="Support for serialising Haskell to and from JSON"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+depends=(ghc haskell-array 'haskell-base>=4' haskell-bytestring
+ haskell-containers haskell-text haskell-mtl 'haskell-syb>=0.3.3')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=("d3654272caa269bc65f6f2af82b583ef05434613fe5272d57053fb3bfada68a3")
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -D -m744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-json/haskell-json.install b/community/haskell-json/haskell-json.install
new file mode 100644
index 000000000..a57cdb69e
--- /dev/null
+++ b/community/haskell-json/haskell-json.install
@@ -0,0 +1,24 @@
+HS_DIR=usr/share/haskell/haskell-json
+
+# functions
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pandoc-types/PKGBUILD b/community/haskell-pandoc-types/PKGBUILD
new file mode 100644
index 000000000..dccee9b44
--- /dev/null
+++ b/community/haskell-pandoc-types/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=pandoc-types
+pkgname=haskell-pandoc-types
+pkgver=1.10
+pkgrel=1
+pkgdesc="Types for representing a structured document"
+url="http://johnmacfarlane.net/pandoc"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-containers' 'haskell-syb')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('e65b983aece74d57db53c6f611f92b9df9dd876e5f022f3a8612c092d6db78f5')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -D -m744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -d -m755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/COPYING"
+}
diff --git a/community/haskell-pandoc-types/haskell-pandoc-types.install b/community/haskell-pandoc-types/haskell-pandoc-types.install
new file mode 100644
index 000000000..72e17a9e2
--- /dev/null
+++ b/community/haskell-pandoc-types/haskell-pandoc-types.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-pandoc-types
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pandoc/PKGBUILD b/community/haskell-pandoc/PKGBUILD
new file mode 100644
index 000000000..d4c54b3fe
--- /dev/null
+++ b/community/haskell-pandoc/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Aleksandar Micovic <metaleks@gmail.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=pandoc
+pkgname=haskell-pandoc
+pkgver=1.11.1
+pkgrel=1
+pkgdesc="Conversion between markup formats"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('GPL')
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=('haskell-base64-bytestring' 'haskell-blaze-html' 'haskell-blaze-markup' 'haskell-bytestring' 'haskell-citeproc-hs' 'haskell-containers' 'haskell-directory' 'haskell-extensible-exceptions' 'haskell-filepath' 'haskell-highlighting-kate' 'haskell-http' 'haskell-json' 'haskell-mtl' 'haskell-network' 'haskell-old-locale' 'haskell-pandoc-types' 'haskell-parsec' 'haskell-process' 'haskell-random' 'haskell-syb' 'haskell-tagsoup' 'haskell-temporary' 'haskell-texmath' 'haskell-time' 'haskell-utf8-string' 'haskell-xml' 'haskell-zip-archive' 'haskell-zlib' haskell-data-default)
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+md5sums=('e895b22745affba37c0ba5e6e6d0f17c')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh $pkgdir/usr/share/haskell/$pkgname/register.sh
+ install -m744 unregister.sh $pkgdir/usr/share/haskell/$pkgname/unregister.sh
+ install -d -m755 $pkgdir/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/$pkgname/html $pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=$pkgdir
+}
diff --git a/community/haskell-pandoc/haskell-pandoc.install b/community/haskell-pandoc/haskell-pandoc.install
new file mode 100644
index 000000000..24a22db9c
--- /dev/null
+++ b/community/haskell-pandoc/haskell-pandoc.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-pandoc
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-pcre-light/PKGBUILD b/community/haskell-pcre-light/PKGBUILD
new file mode 100644
index 000000000..7dcd58e6d
--- /dev/null
+++ b/community/haskell-pcre-light/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+
+_hkgname=pcre-light
+pkgname=haskell-pcre-light
+pkgver=0.4
+pkgrel=19
+pkgdesc="A small, efficient and portable regex library for Perl 5 compatible regular expressions"
+url="http://code.haskell.org/~dons/code/pcre-light"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=()
+depends=("ghc>=7.0.3-2"
+ "sh"
+ "haskell-bytestring-show"
+ "pcre")
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install="$pkgname.install"
+sha256sums=("b37f6ffab07b56540ba4cc410f3ad3c4e0e6e226c610c33f4b7daf70559c31f6")
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-pcre-light/haskell-pcre-light.install b/community/haskell-pcre-light/haskell-pcre-light.install
new file mode 100644
index 000000000..0a9d80b19
--- /dev/null
+++ b/community/haskell-pcre-light/haskell-pcre-light.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-pcre-light
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-tagsoup/PKGBUILD b/community/haskell-tagsoup/PKGBUILD
new file mode 100644
index 000000000..f8a7e1d5d
--- /dev/null
+++ b/community/haskell-tagsoup/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+_hkgname=tagsoup
+pkgname=haskell-tagsoup
+pkgver=0.12.8
+pkgrel=2
+pkgdesc="Parsing and extracting information from (possibly malformed) HTML/XML documents"
+url="http://community.haskell.org/~ndm/tagsoup/"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+depends=("ghc" "haskell-text")
+source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('a31e49133690b546a6b948a9ab9f924aaf5bd94f9e3e0afb99bb570c104c9515')
+
+build() {
+ cd $srcdir/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd $srcdir/${_hkgname}-${pkgver}
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-tagsoup/haskell-tagsoup.install b/community/haskell-tagsoup/haskell-tagsoup.install
new file mode 100644
index 000000000..2e0c845a5
--- /dev/null
+++ b/community/haskell-tagsoup/haskell-tagsoup.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-tagsoup
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-temporary/PKGBUILD b/community/haskell-temporary/PKGBUILD
new file mode 100644
index 000000000..eff2bcf57
--- /dev/null
+++ b/community/haskell-temporary/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+_hkgname=temporary
+pkgname=haskell-temporary
+pkgver=1.1.2.4
+pkgrel=2
+pkgdesc="Portable temporary file and directory support for Windows and Unix, based on code from Cabal"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('custom:BSD3')
+arch=('i686' 'x86_64')
+makedepends=()
+depends=('ghc' 'haskell-directory' 'haskell-filepath' 'haskell-unix')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=$pkgname.install
+sha1sums=('310b6d07014064b2ecafb794393c1bba76286a33')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/${_hkgname}"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-temporary/haskell-temporary.install b/community/haskell-temporary/haskell-temporary.install
new file mode 100644
index 000000000..39a0a49ff
--- /dev/null
+++ b/community/haskell-temporary/haskell-temporary.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-temporary
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-texmath/PKGBUILD b/community/haskell-texmath/PKGBUILD
new file mode 100644
index 000000000..7be6b094c
--- /dev/null
+++ b/community/haskell-texmath/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-texmath
+_hkgname=texmath
+pkgver=0.6.1.3
+pkgrel=1
+pkgdesc="Conversion of LaTeX math formulas to MathML."
+url="https://github.com/jgm/texmath"
+license=("GPL")
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=(haskell-containers haskell-parsec haskell-syb haskell-xml)
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-${pkgver}.tar.gz")
+install=$pkgname.install
+md5sums=('6737a06392f51886e8b1ca8aa6dc2168')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-texmath/haskell-texmath.install b/community/haskell-texmath/haskell-texmath.install
new file mode 100644
index 000000000..a442219ec
--- /dev/null
+++ b/community/haskell-texmath/haskell-texmath.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-texmath
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-xml/PKGBUILD b/community/haskell-xml/PKGBUILD
new file mode 100644
index 000000000..64a08da12
--- /dev/null
+++ b/community/haskell-xml/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Don Stewart <dons@galois.com>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+_hkgname=xml
+pkgname=haskell-xml
+pkgver=1.3.13
+pkgrel=1
+pkgdesc="A simple XML library."
+url="http://code.galois.com"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=()
+depends=("ghc" "haskell-bytestring" "haskell-text")
+options=('strip')
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/$_hkgname-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('c33607cef8a48d878b0e617e115135fc6f025fe43dcb65c2c7afb8285415b813')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd "$srcdir/$_hkgname-$pkgver"
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-xml/haskell-xml.install b/community/haskell-xml/haskell-xml.install
new file mode 100644
index 000000000..8ab99b5b7
--- /dev/null
+++ b/community/haskell-xml/haskell-xml.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-xml
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/haskell-zip-archive/PKGBUILD b/community/haskell-zip-archive/PKGBUILD
new file mode 100644
index 000000000..8b81e9fd4
--- /dev/null
+++ b/community/haskell-zip-archive/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Arch Haskell Team <>
+# Contributor: Lex Black <autumn-wind at web dot de>
+
+pkgname=haskell-zip-archive
+_hkgname=zip-archive
+pkgver=0.1.3.4
+pkgrel=2
+pkgdesc="Library for creating and modifying zip archives."
+url="http://github.com/jgm/zip-archive"
+license=(custom:BSD3)
+arch=('i686' 'x86_64')
+makedepends=('ghc')
+depends=(haskell-array haskell-binary haskell-bytestring haskell-containers
+ haskell-digest haskell-directory haskell-filepath haskell-mtl
+ haskell-old-time haskell-pretty haskell-utf8-string haskell-zlib)
+source=("http://hackage.haskell.org/packages/archive/$_hkgname/$pkgver/${_hkgname}-${pkgver}.tar.gz")
+install=$pkgname.install
+sha256sums=('cbef41120d995a87702f7bb0c1ed8107f3f36a61714b2e31d9d19df5466e7643')
+
+build() {
+ cd "$srcdir/$_hkgname-$pkgver"
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/$pkgname \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -Dm744 register.sh "$pkgdir/usr/share/haskell/$pkgname/register.sh"
+ install -m744 unregister.sh "$pkgdir/usr/share/haskell/$pkgname/unregister.sh"
+ install -dm755 "$pkgdir/usr/share/doc/ghc/html/libraries"
+ ln -s /usr/share/doc/$pkgname/html "$pkgdir/usr/share/doc/ghc/html/libraries/$_hkgname"
+ runhaskell Setup copy --destdir="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ rm -f "$pkgdir/usr/share/doc/$pkgname/LICENSE"
+}
diff --git a/community/haskell-zip-archive/haskell-zip-archive.install b/community/haskell-zip-archive/haskell-zip-archive.install
new file mode 100644
index 000000000..3fc2845ef
--- /dev/null
+++ b/community/haskell-zip-archive/haskell-zip-archive.install
@@ -0,0 +1,23 @@
+HS_DIR=usr/share/haskell/haskell-zip-archive
+
+post_install() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_upgrade() {
+ $HS_DIR/unregister.sh
+}
+
+post_upgrade() {
+ $HS_DIR/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+
+pre_remove() {
+ $HS_DIR/unregister.sh
+}
+
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/iasl/PKGBUILD b/community/iasl/PKGBUILD
index 2095a37d2..7b3d9b054 100644
--- a/community/iasl/PKGBUILD
+++ b/community/iasl/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 78869 2012-10-26 09:53:06Z lcarlier $
+# $Id: PKGBUILD 87689 2013-04-05 09:27:30Z lcarlier $
# Maintainer : Laurent Carlier <lordheavym@gmail.com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Alessio 'mOlOk' Bolognino <themolok@gmail.com>
pkgname=iasl
-pkgver=20121018
+pkgver=20130328
pkgrel=1
pkgdesc="Intel ACPI Source Language compiler"
arch=('i686' 'x86_64')
@@ -14,9 +14,9 @@ depends=('glibc')
makedepends=('flex' 'bison')
options=('!makeflags')
#install=iasl.install
-source=(http://acpica.org/download/acpica-unix-${pkgver}.tar.gz
+source=(http://acpica.org/sites/acpica/files/acpica-unix-${pkgver}.tar.gz
LICENSE)
-md5sums=('07b8137a6870e3dad862e5752c87de75'
+md5sums=('99fa19c67c8fa95f90cb7ec0f29d6242'
'8615526144f69ea4e870d9bc37df9b29')
build() {
diff --git a/community/lightdm/PKGBUILD b/community/lightdm/PKGBUILD
index 9ad4762cc..c77836982 100755
--- a/community/lightdm/PKGBUILD
+++ b/community/lightdm/PKGBUILD
@@ -1,16 +1,17 @@
-# $Id: PKGBUILD 86471 2013-03-17 21:36:08Z alucryd $
+# $Id: PKGBUILD 87736 2013-04-05 17:29:45Z alucryd $
# Maintainer: Maxime Gauduin <alucryd@gmail.com>
# Contributor: Morfeo <morfeo89@hotmail.it>
pkgbase=lightdm
pkgname=('lightdm' 'liblightdm-qt4')
-pkgver=1.4.0
-pkgrel=3
+pkgver=1.4.1
+pkgrel=1
epoch=1
pkgdesc="A lightweight display manager"
arch=('i686' 'x86_64')
url="https://launchpad.net/lightdm"
license=('GPL3' 'LGPL3')
+groups=('lightdm')
makedepends=('gobject-introspection' 'gtk-doc' 'intltool' 'itstool' 'libxklavier' 'qt4')
options=('!emptydirs' '!libtool')
source=("https://launchpad.net/lightdm/1.4/${pkgver}/+download/${pkgbase}-${pkgver}.tar.gz"
@@ -22,7 +23,7 @@ source=("https://launchpad.net/lightdm/1.4/${pkgver}/+download/${pkgbase}-${pkgv
'lightdm-default-config.patch'
'lightdm-lock-screen-before-switch.patch'
'xsession')
-sha256sums=('3486a9f828864a78d452696cf6fef6e1dec2f4ef92a72e90ab37edf9a0824c43'
+sha256sums=('f9ca1c03c3330b6265d03048f1ebafda596c436f279b5382bda656ab3a619439'
'2e03423cbe88c9fdc3a9684d6d14221aa6e92d105f9d1d53b08747d966c45125'
'b29521fbd7a48a8f60b93ecca3b30c30bcb71560de8033c8d39b25c22c6f696f'
'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0'
@@ -32,14 +33,16 @@ sha256sums=('3486a9f828864a78d452696cf6fef6e1dec2f4ef92a72e90ab37edf9a0824c43'
'4793eaee5915f5c519f569a4cd9158822d4c57c8b6e405895d2eddf82fa00822'
'7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4')
-build() {
+prepare() {
cd "${srcdir}"/${pkgbase}-${pkgver}
-# Patch
patch -Np1 -i ../lightdm-default-config.patch
patch -Np1 -i ../lightdm-lock-screen-before-switch.patch
+}
+
+build() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
-# Build
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/${pkgbase} --with-greeter-user=lightdm --with-greeter-session=lightdm-gtk-greeter --disable-{static,tests}
make
}
@@ -56,7 +59,6 @@ install=${pkgbase}.install
cd "${srcdir}"/${pkgbase}-${pkgver}
-# Install
make DESTDIR="${pkgdir}" install
make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall
rm -rf "${pkgdir}"/etc/init
@@ -90,7 +92,6 @@ depends=('lightdm' 'qt4')
cd "${srcdir}"/${pkgbase}-${pkgver}
-# Install
make DESTDIR="${pkgdir}" -C liblightdm-gobject install
make DESTDIR="${pkgdir}" -C liblightdm-qt install
make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
diff --git a/community/llvm-amdgpu-snapshot/PKGBUILD b/community/llvm-amdgpu-snapshot/PKGBUILD
index 229057db1..65dd5a138 100644
--- a/community/llvm-amdgpu-snapshot/PKGBUILD
+++ b/community/llvm-amdgpu-snapshot/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 85846 2013-03-07 17:52:47Z lcarlier $
+# $Id: PKGBUILD 87738 2013-04-05 20:58:51Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Roberto Alsina <ralsina@kde.org>
@@ -7,7 +7,7 @@
# Contributor: Tomas Wilhelmsson <tomas.wilhelmsson@gmail.com>
pkgname=llvm-amdgpu-snapshot
-pkgver=20130307
+pkgver=20130403
pkgrel=1
pkgdesc='Low Level Virtual Machine with AMDGPU enabled to build r600g shader llvm support'
arch=('i686' 'x86_64')
@@ -16,10 +16,10 @@ license=('custom:University of Illinois/NCSA Open Source License')
depends=('libffi' 'python2' 'ocaml')
conflicts=('llvm')
source=(ftp://ftp.archlinux.org/other/community/llvm-amdgpu/llvm-amdgpu-master.${pkgver}.tar.gz)
-md5sums=('6aa900855eea11b6dce86fb04d813d75')
+md5sums=('4baa7b8da9eff4811952b6f855c141ca')
build() {
- cd "$srcdir"/llvm-*
+ cd "$srcdir"/llvm-c*
sed -i 's/python$/python2/' utils/llvm-build/llvm-build
@@ -48,7 +48,7 @@ build() {
}
package() {
- cd "$srcdir"/llvm-*
+ cd "$srcdir"/llvm-c*
make DESTDIR="$pkgdir" install
diff --git a/community/lshw/PKGBUILD b/community/lshw/PKGBUILD
index 9f7e91070..1ff8a5cc3 100644
--- a/community/lshw/PKGBUILD
+++ b/community/lshw/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 80847 2012-12-04 12:38:54Z spupykin $
+# $Id: PKGBUILD 87709 2013-04-05 10:27:37Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Stefano Zamprogno <stefano dot zamprogno at gmail dot com>
# Contributor: Chuck Yang <Chuck.Yang@gmail.com>
pkgname=lshw
pkgver=B.02.16
-pkgrel=2
+pkgrel=3
pkgdesc="A small tool to provide detailed information on the hardware configuration of the machine."
url="http://ezix.org/project/wiki/HardwareLiSter"
license=('GPL')
@@ -26,5 +26,8 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir/ install
make DESTDIR=$pkgdir/ install-gui
+ install -Dm0644 src/gui/integration/gtk-lshw.desktop $pkgdir/usr/share/applications/gtk-lshw.desktop
+ install -Dm0644 src/gui/integration/gtk-lshw.pam $pkgdir/usr/share/doc/$pkgname/gtk-lshw.pam
+ install -Dm0644 src/gui/integration/console.apps $pkgdir/usr/share/doc/$pkgname/console.apps
rm -f $pkgdir/usr/share/lshw/{pci,usb}.ids
}
diff --git a/community/meteorjs/PKGBUILD b/community/meteorjs/PKGBUILD
deleted file mode 100644
index 26ec54615..000000000
--- a/community/meteorjs/PKGBUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# $Id: PKGBUILD 86868 2013-03-23 12:46:57Z mtorromeo $
-# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
-# Contributor: Parth Buch <parthbuch115 at gmail dot com>
-# Contributor: Tom Vincent <http://tlvince.com/contact/>
-
-pkgname=meteorjs
-pkgver=0.5.9
-pkgrel=2
-pkgdesc="Open-source platform for building top-quality web apps in a fraction of the time."
-arch=('i686' 'x86_64')
-url="https://github.com/meteor/meteor"
-license=('MIT')
-depends=('nodejs' 'mongodb')
-options=('!strip')
-
-sha256sums=('43e228e09c66bc167108c2a8375e23e472d19e82b216ad0875efed94073ef5ba'
- 'a3ac659c52b652676da0530f2148025e0f8bfa84bccf63431c20eb72d3bc5cb7'
- 'af74a9bd6fa7c8c556f7ed17e76983ff416309b02c0e86c97d1606236f2dd39e')
-
-if [ "$CARCH" = "x86_64" ]; then
- _arch="amd64"
-else
- _arch="i386"
- sha256sums[0]='f28ca14d923e19e1035adff506cac8f839c1ec97410d4617a2c2a20cc733d879'
-fi
-
-source=("http://d3sqy0vbqsdhku.cloudfront.net/meteor_$pkgver-1_$_arch.deb" meteor node010.patch)
-
-build() {
- [ -d build ] && rm -rf build
- mkdir build
- tar xf data.tar.gz -C build ./usr/lib/meteor
- cd build/usr/lib/meteor
-
- patch -p0 -i "$srcdir/node010.patch"
-
- # rebuild fibers
- cd lib/node_modules/fibers/
- rm -rf bin/*
- PATH="/usr/lib/node_modules/npm/bin/node-gyp-bin:$PATH" node build.js
- rm -rf build
-}
-
-package() {
- cp -a "$srcdir/build/"* "$pkgdir"
- cd "$pkgdir/usr/lib/meteor"
-
- install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
- install -Dm755 "$srcdir/meteor" "$pkgdir/usr/bin/meteor"
-
- rm -rf LICENSE.txt lib/node lib/dtrace lib/node_modules/npm share include
-
- # mongodb links
- rm -rf mongodb
- install -dm755 mongodb/bin
- ln -s /usr/bin/mongod mongodb/bin/mongod
- ln -s /usr/bin/mongo mongodb/bin/mongo
-
- # node links
- rm -rf bin
- install -dm755 bin
- ln -s /usr/bin/node bin/node
- ln -s /usr/bin/node-waf bin/node-waf
- ln -s /usr/bin/npm bin/npm
-
- # remove build dirs
- find -type d -name build -exec rm -rf {} +
-}
diff --git a/community/meteorjs/meteor b/community/meteorjs/meteor
deleted file mode 100644
index 252f4afe3..000000000
--- a/community/meteorjs/meteor
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-if [ "$(ulimit -n)" != "unlimited" ] ; then
- ulimit -n 16384 > /dev/null 2>&1 || \
- ulimit -n 8192 > /dev/null 2>&1 || \
- ulimit -n 4096 > /dev/null 2>&1 || \
- ulimit -n 2048 > /dev/null 2>&1 || \
- ulimit -n 1024 > /dev/null 2>&1 || \
- ulimit -n 512 > /dev/null 2>&1
-fi
-
-METEORDIR=/usr/lib/meteor
-export NODE_PATH=$METEORDIR/lib/node_modules
-exec /usr/bin/node $METEORDIR/app/meteor/meteor.js "$@"
diff --git a/community/meteorjs/node010.patch b/community/meteorjs/node010.patch
deleted file mode 100644
index 8b252399d..000000000
--- a/community/meteorjs/node010.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/node_modules/connect/lib/middleware/static.js.orig 2013-03-23 13:30:36.479309260 +0100
-+++ lib/node_modules/connect/lib/middleware/static.js 2013-03-23 13:30:13.661917828 +0100
-@@ -126,7 +126,7 @@
- if (!root && ~path.indexOf('..')) return utils.forbidden(res);
-
- // join / normalize from optional root dir
-- path = normalize(join(root, path));
-+ path = normalize(join(root || '', path));
-
- // malicious path
- if (root && 0 != path.indexOf(root)) return fn
diff --git a/community/mupdf/PKGBUILD b/community/mupdf/PKGBUILD
index 52e6ed643..5763c57a1 100644
--- a/community/mupdf/PKGBUILD
+++ b/community/mupdf/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 85309 2013-02-28 20:50:02Z bpiotrowski $
+# $Id: PKGBUILD 87740 2013-04-05 21:06:47Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
@@ -7,7 +7,7 @@
pkgname=mupdf
pkgver=1.2
-pkgrel=1
+pkgrel=2
pkgdesc='Lightweight PDF and XPS viewer'
arch=('i686' 'x86_64')
url='http://mupdf.com'
@@ -22,6 +22,7 @@ build() {
CXXFLAGS+=' -fPIC'
cd "$srcdir"/$pkgname-$pkgver-source
+ rm -rf thirdparty
make build=release prefix=/usr
}
diff --git a/community/openttd/PKGBUILD b/community/openttd/PKGBUILD
index f0d00684f..a46fb0fe4 100644
--- a/community/openttd/PKGBUILD
+++ b/community/openttd/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 87050 2013-03-26 11:49:43Z foutrelis $
+# $Id: PKGBUILD 87676 2013-04-05 09:01:28Z lcarlier $
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
pkgname=openttd
-pkgver=1.2.3
-pkgrel=5
+pkgver=1.3.0
+pkgrel=1
pkgdesc='An engine for running Transport Tycoon Deluxe.'
arch=('i686' 'x86_64')
url='http://www.openttd.org'
@@ -13,7 +13,7 @@ install=openttd.install
optdepends=('openttd-opengfx: free graphics'
'openttd-opensfx: free soundset')
source=("http://binaries.openttd.org/releases/${pkgver}/${pkgname}-${pkgver}-source.tar.xz")
-sha256sums=('d228798f7d4804b7ead186ec19082f0e6c83cfc2dbf625ddab1d22048117fd08')
+sha256sums=('1a3525186f4486de8193992426690a1fd8c7e4d376a328056b0464a1a5d32080')
package() {
cd ${pkgname}-${pkgver}
diff --git a/community/packagekit/PKGBUILD b/community/packagekit/PKGBUILD
index 65e8fb431..3e2c73040 100644
--- a/community/packagekit/PKGBUILD
+++ b/community/packagekit/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 85588 2013-03-03 17:28:55Z dreisner $
+# $Id: PKGBUILD 87649 2013-04-05 01:44:23Z allan $
# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
pkgbase='packagekit'
-pkgname=('packagekit' 'packagekit-qt2' 'packagekit-python')
+pkgname=('packagekit' 'packagekit-qt2' 'python2-packagekit')
pkgver=0.7.6
-pkgrel=5
+pkgrel=6
pkgdesc="A system designed to make installation and updates of packages easier."
arch=('i686' 'x86_64')
url="http://www.packagekit.org"
@@ -14,9 +14,11 @@ makedepends=('dbus-glib' 'gobject-introspection' 'gtk-doc' 'intltool'
options=('!libtool')
source=("http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz"
'adopt.patch'
+ 'alpm.patch'
'libarchive.patch')
sha256sums=('82c0a553075d49add3c4f58e6e93f7f3613938809a4b8e36f46476e86981b45d'
'd0ee8580202a878571dddd470017731299c63e5c5120afe881bb41b9544322b8'
+ '067f39917f5442b8146c793b62f86f66fc8a4c7e391c0f3219d13f98d45ba630'
'0d3798c8992afdc0930aa271b3e44deb55c046ab4adee25b4ec4c33bcdd950e2')
build() {
@@ -27,10 +29,11 @@ build() {
sed -i 's@bin/python@bin/python2@' 'lib/python/packagekit/'*.py
patch -Np1 -i "$srcdir/adopt.patch"
+ patch -Np1 -i "$srcdir/alpm.patch"
patch -Np1 -i "$srcdir/libarchive.patch"
export PYTHON=/usr/bin/python2
- ./configure --prefix=/usr \
+ ./autogen.sh --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib/PackageKit \
@@ -49,14 +52,14 @@ build() {
--disable-dummy \
--enable-alpm \
--with-default-backend=alpm
- make -s CFLAGS='-D_FILE_OFFSET_BITS=64'
+ make -s CFLAGS='-D_FILE_OFFSET_BITS=64 -O2 -Wno-unused-local-typedefs'
}
package_packagekit() {
backup=('var/lib/PackageKit/transactions.db'
'etc/PackageKit/alpm.d/pacman.conf'
'etc/PackageKit/alpm.d/repos.list')
- depends=('dbus-glib' 'pacman>=4.0.0' 'pacman<4.1.0' 'polkit'
+ depends=('dbus-glib' 'pacman>=4.1.0' 'pacman<4.2.0' 'polkit'
'shared-mime-info' 'sqlite' 'udev')
optdepends=('networkmanager')
install='packagekit.install'
@@ -89,9 +92,11 @@ package_packagekit-qt2() {
make DESTDIR="$pkgdir" install
}
-package_packagekit-python() {
+package_python2-packagekit() {
depends=('packagekit' 'python2')
pkgdesc=('Python bindings for PackageKit')
+ conflicts=('packagekit-python')
+ replaces=('packagekit-python')
cd "$srcdir/PackageKit-$pkgver/lib/python"
diff --git a/community/packagekit/alpm.patch b/community/packagekit/alpm.patch
new file mode 100644
index 000000000..aeba9c347
--- /dev/null
+++ b/community/packagekit/alpm.patch
@@ -0,0 +1,1611 @@
+diff --git a/backends/alpm/Makefile.am b/backends/alpm/Makefile.am
+index d8c3dfc..8e14790 100644
+--- a/backends/alpm/Makefile.am
++++ b/backends/alpm/Makefile.am
+@@ -23,6 +23,7 @@ DEFS = -DPK_BACKEND_CONFIG_FILE=\"$(PK_BACKEND_CONFIG_FILE)\" \
+ -DPK_BACKEND_DEFAULT_LOGFILE=\"$(PK_BACKEND_DEFAULT_LOGFILE)\" \
+ -DALPM_CACHE_PATH=\"$(ALPM_CACHE_PATH)\" \
+ -DALPM_PACKAGE_URL=\"$(ALPM_PACKAGE_URL)\" \
++ -DPK_LOG_PREFIX=\"PACKAGEKIT\" \
+ -DG_LOG_DOMAIN=\"PackageKit-alpm\"
+
+ confdir = $(PK_CONF_DIR)/alpm.d
+@@ -47,10 +48,11 @@ libpk_backend_alpm_la_SOURCES = pk-backend-alpm.c \
+ pk-backend-transaction.c \
+ pk-backend-update.c
+ libpk_backend_alpm_la_LIBADD = $(PK_PLUGIN_LIBS) \
+- -lalpm
++ $(ALPM_LIBS)
+ libpk_backend_alpm_la_LDFLAGS = -module \
+ -avoid-version
+ libpk_backend_alpm_la_CFLAGS = $(PK_PLUGIN_CFLAGS) \
++ $(ALPM_CFLAGS) \
+ $(WARNINGFLAGS_C)
+
+ EXTRA_DIST = $(conf_DATA) $(libpk_backend_alpm_la_SOURCES:.c=.h)
+diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
+index 5c6b629..a4cd197 100644
+--- a/backends/alpm/pk-backend-alpm.c
++++ b/backends/alpm/pk-backend-alpm.c
+@@ -284,9 +284,9 @@ pk_backend_initialize_alpm (PkBackend *self, GError **error)
+ backend = self;
+ alpm_option_set_logcb (alpm, pk_backend_logcb);
+
+- localdb = alpm_option_get_localdb (alpm);
++ localdb = alpm_get_localdb (alpm);
+ if (localdb == NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s", "local",
+ alpm_strerror (errno));
+ }
+diff --git a/backends/alpm/pk-backend-config.c b/backends/alpm/pk-backend-config.c
+index c8fd13b..1a82637 100644
+--- a/backends/alpm/pk-backend-config.c
++++ b/backends/alpm/pk-backend-config.c
+@@ -33,35 +33,32 @@
+
+ typedef struct
+ {
+- gboolean checkspace, ilovecandy, totaldl, usedelta, usesyslog,
+- verbosepkglists;
++ gboolean checkspace, color, ilovecandy, totaldl,
++ usesyslog, verbosepkglists;
++ gdouble deltaratio;
+
+- gchar *arch, *cleanmethod, *dbpath, *gpgdir, *logfile, *root,
+- *xfercmd;
++ gchar *arch, *cleanmethod, *dbpath, *gpgdir, *logfile,
++ *root, *xfercmd;
+
+- alpm_list_t *cachedirs, *holdpkgs, *ignoregroups, *ignorepkgs,
+- *noextracts, *noupgrades, *syncfirsts;
++ alpm_list_t *cachedirs, *holdpkgs, *ignoregroups,
++ *ignorepkgs, *localfilesiglevels, *noextracts,
++ *noupgrades, *remotefilesiglevels;
+
+- alpm_list_t *repos;
+- GHashTable *servers;
+- GHashTable *levels;
+- GRegex *xrepo, *xarch;
++ alpm_list_t *sections;
++ GRegex *xrepo, *xarch;
+ } PkBackendConfig;
+
++typedef struct
++{
++ gchar *name;
++ alpm_list_t *servers, *siglevels;
++} PkBackendConfigSection;
++
+ static PkBackendConfig *
+ pk_backend_config_new (void)
+ {
+ PkBackendConfig *config = g_new0 (PkBackendConfig, 1);
+- alpm_siglevel_t *level = g_new0 (alpm_siglevel_t, 1);
+-
+- config->servers = g_hash_table_new_full (g_str_hash, g_str_equal,
+- g_free, NULL);
+- config->levels = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
+- g_free);
+-
+- *level |= ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL;
+- *level |= ALPM_SIG_DATABASE | ALPM_SIG_DATABASE_OPTIONAL;
+- g_hash_table_insert (config->levels, g_strdup ("options"), level);
++ config->deltaratio = 0.0;
+
+ config->xrepo = g_regex_new ("\\$repo", 0, 0, NULL);
+ config->xarch = g_regex_new ("\\$arch", 0, 0, NULL);
+@@ -70,17 +67,17 @@ pk_backend_config_new (void)
+ }
+
+ static void
+-pk_backend_config_list_free (alpm_list_t *list)
++pk_backend_config_section_free (gpointer data)
+ {
+- alpm_list_free_inner (list, g_free);
+- alpm_list_free (list);
+-}
++ PkBackendConfigSection *section = data;
+
+-static gboolean
+-pk_backend_config_servers_free (gpointer repo, gpointer list, gpointer data)
+-{
+- pk_backend_config_list_free ((alpm_list_t *) list);
+- return TRUE;
++ if (section != NULL) {
++ g_free (section->name);
++ alpm_list_free_inner (section->servers, g_free);
++ alpm_list_free (section->servers);
++ FREELIST (section->siglevels);
++ g_free (section);
++ }
+ }
+
+ static void
+@@ -100,15 +97,13 @@ pk_backend_config_free (PkBackendConfig *config)
+ FREELIST (config->holdpkgs);
+ FREELIST (config->ignoregroups);
+ FREELIST (config->ignorepkgs);
++ FREELIST (config->localfilesiglevels);
+ FREELIST (config->noextracts);
+ FREELIST (config->noupgrades);
+- FREELIST (config->syncfirsts);
++ FREELIST (config->remotefilesiglevels);
+
+- pk_backend_config_list_free (config->repos);
+- g_hash_table_foreach_remove (config->servers,
+- pk_backend_config_servers_free, NULL);
+- g_hash_table_unref (config->servers);
+- g_hash_table_unref (config->levels);
++ alpm_list_free_inner (config->sections, pk_backend_config_section_free);
++ alpm_list_free (config->sections);
+
+ g_regex_unref (config->xrepo);
+ g_regex_unref (config->xarch);
+@@ -123,6 +118,14 @@ pk_backend_config_set_checkspace (PkBackendConfig *config)
+ }
+
+ static void
++pk_backend_config_set_color (PkBackendConfig *config)
++{
++ g_return_if_fail (config != NULL);
++
++ config->color = TRUE;
++}
++
++static void
+ pk_backend_config_set_ilovecandy (PkBackendConfig *config)
+ {
+ g_return_if_fail (config != NULL);
+@@ -143,7 +146,7 @@ pk_backend_config_set_usedelta (PkBackendConfig *config)
+ {
+ g_return_if_fail (config != NULL);
+
+- config->usedelta = TRUE;
++ config->deltaratio = 0.7;
+ }
+
+ static void
+@@ -171,6 +174,7 @@ typedef struct
+ /* keep this in alphabetical order */
+ static const PkBackendConfigBoolean pk_backend_config_boolean_options[] = {
+ { "CheckSpace", pk_backend_config_set_checkspace },
++ { "Color", pk_backend_config_set_color },
+ { "ILoveCandy", pk_backend_config_set_ilovecandy },
+ { "TotalDownload", pk_backend_config_set_totaldl },
+ { "UseDelta", pk_backend_config_set_usedelta },
+@@ -284,6 +288,22 @@ pk_backend_config_set_root (PkBackendConfig *config, const gchar *path)
+ }
+
+ static void
++pk_backend_config_set_deltaratio (PkBackendConfig *config, const gchar *number)
++{
++ gdouble ratio;
++ gchar *endptr;
++
++ g_return_if_fail (config != NULL);
++ g_return_if_fail (number != NULL);
++
++ ratio = g_ascii_strtod (number, &endptr);
++ /* this ignores invalid values whereas pacman reports an error */
++ if (*endptr == '\0' && 0.0 <= ratio && ratio <= 2.0) {
++ config->deltaratio = ratio;
++ }
++}
++
++static void
+ pk_backend_config_set_xfercmd (PkBackendConfig *config, const gchar *command)
+ {
+ g_return_if_fail (config != NULL);
+@@ -308,6 +328,7 @@ static const PkBackendConfigString pk_backend_config_string_options[] = {
+ { "GPGDir", pk_backend_config_set_gpgdir },
+ { "LogFile", pk_backend_config_set_logfile },
+ { "RootDir", pk_backend_config_set_root },
++ { "UseDelta", pk_backend_config_set_deltaratio },
+ { "XferCommand", pk_backend_config_set_xfercmd },
+ { NULL, NULL }
+ };
+@@ -335,102 +356,51 @@ pk_backend_config_set_string (PkBackendConfig *config, const gchar *option,
+ }
+ }
+
+-static void
+-pk_backend_config_add_holdpkg (PkBackendConfig *config, gchar *package)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (package != NULL);
+-
+- config->holdpkgs = alpm_list_add (config->holdpkgs, package);
+-}
+-
+-static void
+-pk_backend_config_add_ignoregroup (PkBackendConfig *config, gchar *group)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (group != NULL);
+-
+- config->ignoregroups = alpm_list_add (config->ignoregroups, group);
+-}
+-
+-static void
+-pk_backend_config_add_ignorepkg (PkBackendConfig *config, gchar *package)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (package != NULL);
+-
+- config->ignorepkgs = alpm_list_add (config->ignorepkgs, package);
+-}
+-
+-static void
+-pk_backend_config_add_noextract (PkBackendConfig *config, gchar *filename)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (filename != NULL);
+-
+- config->noextracts = alpm_list_add (config->noextracts, filename);
+-}
+-
+-static void
+-pk_backend_config_add_noupgrade (PkBackendConfig *config, gchar *filename)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (filename != NULL);
+-
+- config->noupgrades = alpm_list_add (config->noupgrades, filename);
+-}
+-
+-static void
+-pk_backend_config_add_syncfirst (PkBackendConfig *config, gchar *package)
+-{
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (package != NULL);
+-
+- config->syncfirsts = alpm_list_add (config->syncfirsts, package);
+-}
+-
+ typedef struct
+ {
+ const gchar *name;
+- void (*func) (PkBackendConfig *config, gchar *value);
++ glong offset;
+ } PkBackendConfigList;
+
+ /* keep this in alphabetical order */
+ static const PkBackendConfigList pk_backend_config_list_options[] = {
+- { "HoldPkg", pk_backend_config_add_holdpkg },
+- { "IgnoreGroup", pk_backend_config_add_ignoregroup },
+- { "IgnorePkg", pk_backend_config_add_ignorepkg },
+- { "NoExtract", pk_backend_config_add_noextract },
+- { "NoUpgrade", pk_backend_config_add_noupgrade },
+- { "SyncFirst", pk_backend_config_add_syncfirst },
+- { NULL, NULL }
++ { "HoldPkg", G_STRUCT_OFFSET (PkBackendConfig, holdpkgs) },
++ { "IgnoreGroup", G_STRUCT_OFFSET (PkBackendConfig, ignoregroups) },
++ { "IgnorePkg", G_STRUCT_OFFSET (PkBackendConfig, ignorepkgs) },
++ { "LocalFileSigLevel", G_STRUCT_OFFSET (PkBackendConfig,
++ localfilesiglevels) },
++ { "NoExtract", G_STRUCT_OFFSET (PkBackendConfig, noextracts) },
++ { "NoUpgrade", G_STRUCT_OFFSET (PkBackendConfig, noupgrades) },
++ { "RemoteFileSigLevel", G_STRUCT_OFFSET (PkBackendConfig,
++ remotefilesiglevels) },
++ { NULL, 0 }
+ };
+
+-static void
+-pk_backend_config_list_add (PkBackendConfig *config, gsize option,
+- const gchar *list)
++static alpm_list_t *
++alpm_list_add_words (alpm_list_t *list, const gchar *words)
+ {
+ gchar *str;
+
+- for (str = strchr (list, ' '); str != NULL; str = strchr (list, ' ')) {
++ while ((str = strchr (words, ' ')) != NULL) {
+ /* allocate normally */
+- gchar *value = malloc ((++str - list) * sizeof (gchar));
+- g_strlcpy (value, list, str - list);
+- pk_backend_config_list_options[option].func (config, value);
+- list = str;
++ gchar *word = malloc ((++str - words) * sizeof (gchar));
++ g_strlcpy (word, words, str - words);
++ list = alpm_list_add (list, word);
++ words = str;
+ }
+- pk_backend_config_list_options[option].func (config, strdup (list));
++
++ return alpm_list_add (list, strdup (words));
+ }
+
+ static gboolean
+ pk_backend_config_set_list (PkBackendConfig *config, const gchar *option,
+- const gchar *list)
++ const gchar *words)
+ {
+ gsize i;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+ g_return_val_if_fail (option != NULL, FALSE);
+- g_return_val_if_fail (list != NULL, FALSE);
++ g_return_val_if_fail (words != NULL, FALSE);
+
+ for (i = 0;; ++i) {
+ const gchar *name = pk_backend_config_list_options[i].name;
+@@ -439,37 +409,57 @@ pk_backend_config_set_list (PkBackendConfig *config, const gchar *option,
+ if (name == NULL || cmp < 0) {
+ return FALSE;
+ } else if (cmp == 0) {
+- pk_backend_config_list_add (config, i, list);
++ glong offset = pk_backend_config_list_options[i].offset;
++ alpm_list_t **list = G_STRUCT_MEMBER_P (config, offset);
++ *list = alpm_list_add_words (*list, words);
+ return TRUE;
+ }
+ }
+ }
+
+-static void
+-pk_backend_config_add_repo (PkBackendConfig *config, const gchar *repo)
++static gint
++pk_backend_config_section_match (gconstpointer element, gconstpointer name)
+ {
+- g_return_if_fail (config != NULL);
+- g_return_if_fail (repo != NULL);
++ const PkBackendConfigSection *section = element;
++
++ g_return_val_if_fail (section != NULL, -1);
++
++ return g_strcmp0 (section->name, name);
++}
++
++static PkBackendConfigSection *
++pk_backend_config_enter_section (PkBackendConfig *config, const gchar *name)
++{
++ PkBackendConfigSection *section;
+
+- if (alpm_list_find_str (config->repos, repo) == NULL) {
+- config->repos = alpm_list_add (config->repos, g_strdup (repo));
++ g_return_val_if_fail (config != NULL, NULL);
++ g_return_val_if_fail (name != NULL, NULL);
++
++ section = alpm_list_find (config->sections, name,
++ pk_backend_config_section_match);
++ if (section != NULL) {
++ return section;
+ }
++
++ section = g_new0 (PkBackendConfigSection, 1);
++ section->name = g_strdup (name);
++ config->sections = alpm_list_add (config->sections, section);
++ return section;
+ }
+
+ static gboolean
+-pk_backend_config_repo_add_server (PkBackendConfig *config, const gchar *repo,
+- const gchar *value, GError **e)
++pk_backend_config_add_server (PkBackendConfig *config,
++ PkBackendConfigSection *section,
++ const gchar *address, GError **e)
+ {
+- alpm_list_t *list;
+ gchar *url;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+- g_return_val_if_fail (repo != NULL, FALSE);
+- g_return_val_if_fail (alpm_list_find_str (config->repos, repo) != NULL,
+- FALSE);
+- g_return_val_if_fail (value != NULL, FALSE);
++ g_return_val_if_fail (section != NULL, FALSE);
++ g_return_val_if_fail (address != NULL, FALSE);
+
+- url = g_regex_replace_literal (config->xrepo, value, -1, 0, repo, 0, e);
++ url = g_regex_replace_literal (config->xrepo, address, -1, 0,
++ section->name, 0, e);
+ if (url == NULL) {
+ return FALSE;
+ }
+@@ -488,105 +478,26 @@ pk_backend_config_repo_add_server (PkBackendConfig *config, const gchar *repo,
+ "url contained $arch, which is not set");
+ }
+
+- list = (alpm_list_t *) g_hash_table_lookup (config->servers, repo);
+- list = alpm_list_add (list, url);
+- g_hash_table_insert (config->servers, g_strdup (repo), list);
++ section->servers = alpm_list_add (section->servers, url);
+
+ return TRUE;
+ }
+
+-static gboolean
+-pk_backend_config_set_siglevel (PkBackendConfig *config, const gchar *section,
+- const gchar *list, GError **error)
++static void
++pk_backend_config_add_siglevel (PkBackendConfig *config,
++ PkBackendConfigSection *section,
++ const gchar *words)
+ {
+- alpm_siglevel_t *level;
+-
+ g_return_val_if_fail (config != NULL, FALSE);
+ g_return_val_if_fail (section != NULL, FALSE);
+- g_return_val_if_fail (list != NULL, FALSE);
+-
+- level = g_hash_table_lookup (config->levels, section);
+- if (level == NULL) {
+- level = g_hash_table_lookup (config->levels, "options");
+- level = g_memdup (level, sizeof (alpm_siglevel_t));
+- g_hash_table_insert (config->levels, g_strdup (section), level);
+- }
+-
+- while (TRUE) {
+- gboolean package = TRUE, database = TRUE;
++ g_return_val_if_fail (words != NULL, FALSE);
+
+- if (g_str_has_prefix (list, "Package")) {
+- database = FALSE;
+- list += 7;
+- } else if (g_str_has_prefix (list, "Database")) {
+- package = FALSE;
+- list += 8;
+- }
+-
+- /* this also allows e.g. NeverEver, so put prefixes last */
+- if (g_str_has_prefix (list, "Never")) {
+- if (package) {
+- *level &= ~ALPM_SIG_PACKAGE;
+- }
+- if (database) {
+- *level &= ~ALPM_SIG_DATABASE;
+- }
+- } else if (g_str_has_prefix (list, "Optional")) {
+- if (package) {
+- *level |= ALPM_SIG_PACKAGE;
+- *level |= ALPM_SIG_PACKAGE_OPTIONAL;
+- }
+- if (database) {
+- *level |= ALPM_SIG_DATABASE;
+- *level |= ALPM_SIG_DATABASE_OPTIONAL;
+- }
+- } else if (g_str_has_prefix (list, "Required")) {
+- if (package) {
+- *level |= ALPM_SIG_PACKAGE;
+- *level &= ~ALPM_SIG_PACKAGE_OPTIONAL;
+- }
+- if (database) {
+- *level |= ALPM_SIG_DATABASE;
+- *level &= ~ALPM_SIG_DATABASE_OPTIONAL;
+- }
+- } else if (g_str_has_prefix (list, "TrustedOnly")) {
+- if (package) {
+- *level &= ~ALPM_SIG_PACKAGE_MARGINAL_OK;
+- *level &= ~ALPM_SIG_PACKAGE_UNKNOWN_OK;
+- }
+- if (database) {
+- *level &= ~ALPM_SIG_DATABASE_MARGINAL_OK;
+- *level &= ~ALPM_SIG_DATABASE_UNKNOWN_OK;
+- }
+- } else if (g_str_has_prefix (list, "TrustAll")) {
+- if (package) {
+- *level |= ALPM_SIG_PACKAGE_MARGINAL_OK;
+- *level |= ALPM_SIG_PACKAGE_UNKNOWN_OK;
+- }
+- if (database) {
+- *level |= ALPM_SIG_DATABASE_MARGINAL_OK;
+- *level |= ALPM_SIG_DATABASE_UNKNOWN_OK;
+- }
+- } else {
+- g_set_error (error, ALPM_ERROR, ALPM_ERR_CONFIG_INVALID,
+- "invalid SigLevel value: %s", list);
+- return FALSE;
+- }
+-
+- list = strchr (list, ' ');
+- if (list == NULL) {
+- break;
+- } else {
+- ++list;
+- }
+- }
+-
+- return TRUE;
++ section->siglevels = alpm_list_add_words (section->siglevels, words);
+ }
+
+ static gboolean
+ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+- gchar *section, GError **error)
++ PkBackendConfigSection *section, GError **error)
+ {
+ GFile *file;
+ GFileInputStream *is;
+@@ -610,7 +521,6 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ }
+
+ input = g_data_input_stream_new (G_INPUT_STREAM (is));
+- section = g_strdup (section);
+
+ for (;; g_free (line), ++num) {
+ line = g_data_input_stream_read_line (input, NULL, NULL, &e);
+@@ -642,13 +552,7 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ break;
+ }
+
+- g_free (section);
+- section = g_strdup (str);
+-
+- if (g_strcmp0 (section, "options") != 0) {
+- pk_backend_config_add_repo (config, section);
+- }
+-
++ section = pk_backend_config_enter_section (config, str);
+ continue;
+ }
+
+@@ -668,7 +572,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+
+ if (str == NULL) {
+ /* set a boolean directive */
+- if (g_strcmp0 (section, "options") == 0 &&
++ if (pk_backend_config_section_match (section,
++ "options") == 0 &&
+ pk_backend_config_set_boolean (config, key)) {
+ continue;
+ }
+@@ -697,7 +602,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ } else {
+ continue;
+ }
+- } else if (g_strcmp0 (section, "options") == 0) {
++ } else if (pk_backend_config_section_match (section,
++ "options") == 0) {
+ /* set a string or list directive */
+ if (pk_backend_config_set_string (config, key, str) ||
+ pk_backend_config_set_list (config, key, str)) {
+@@ -705,8 +611,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ }
+ /* report error below */
+ } else if (g_strcmp0 (key, "Server") == 0) {
+- if (!pk_backend_config_repo_add_server (config, section,
+- str, &e)) {
++ if (!pk_backend_config_add_server (config, section,
++ str, &e)) {
+ break;
+ } else {
+ continue;
+@@ -714,12 +620,8 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ }
+
+ if (g_strcmp0 (key, "SigLevel") == 0 && str != NULL) {
+- if (!pk_backend_config_set_siglevel (config, section,
+- str, &e)) {
+- break;
+- } else {
+- continue;
+- }
++ pk_backend_config_add_siglevel (config, section, str);
++ continue;
+ }
+
+ /* report errors from above */
+@@ -728,8 +630,6 @@ pk_backend_config_parse (PkBackendConfig *config, const gchar *filename,
+ break;
+ }
+
+- g_free (section);
+-
+ g_object_unref (input);
+ g_object_unref (is);
+ g_object_unref (file);
+@@ -746,7 +646,7 @@ static alpm_handle_t *
+ pk_backend_config_initialize_alpm (PkBackendConfig *config, GError **error)
+ {
+ alpm_handle_t *handle;
+- enum _alpm_errno_t errno;
++ alpm_errno_t errno;
+ gsize dir = 1;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+@@ -817,11 +717,160 @@ pk_backend_config_initialize_alpm (PkBackendConfig *config, GError **error)
+ return handle;
+ }
+
++static alpm_siglevel_t
++alpm_siglevel_parse (alpm_siglevel_t base, const alpm_list_t *list,
++ GError **error)
++{
++ for (; list != NULL; list = list->next) {
++ gboolean package = TRUE, database = TRUE;
++ const gchar *level = (const gchar *) list->data;
++
++ if (g_str_has_prefix (level, "Package")) {
++ database = FALSE;
++ level += 7;
++ } else if (g_str_has_prefix (level, "Database")) {
++ package = FALSE;
++ level += 8;
++ }
++
++ if (g_strcmp0 (level, "Never") == 0) {
++ if (package) {
++ base &= ~ALPM_SIG_PACKAGE;
++ base |= ALPM_SIG_PACKAGE_SET;
++ }
++ if (database) {
++ base &= ~ALPM_SIG_DATABASE;
++ }
++ } else if (g_strcmp0 (level, "Optional") == 0) {
++ if (package) {
++ base |= ALPM_SIG_PACKAGE;
++ base |= ALPM_SIG_PACKAGE_OPTIONAL;
++ base |= ALPM_SIG_PACKAGE_SET;
++ }
++ if (database) {
++ base |= ALPM_SIG_DATABASE;
++ base |= ALPM_SIG_DATABASE_OPTIONAL;
++ }
++ } else if (g_strcmp0 (level, "Required") == 0) {
++ if (package) {
++ base |= ALPM_SIG_PACKAGE;
++ base &= ~ALPM_SIG_PACKAGE_OPTIONAL;
++ base |= ALPM_SIG_PACKAGE_SET;
++ }
++ if (database) {
++ base |= ALPM_SIG_DATABASE;
++ base &= ~ALPM_SIG_DATABASE_OPTIONAL;
++ }
++ } else if (g_strcmp0 (level, "TrustedOnly") == 0) {
++ if (package) {
++ base &= ~ALPM_SIG_PACKAGE_MARGINAL_OK;
++ base &= ~ALPM_SIG_PACKAGE_UNKNOWN_OK;
++ base |= ALPM_SIG_PACKAGE_TRUST_SET;
++ }
++ if (database) {
++ base &= ~ALPM_SIG_DATABASE_MARGINAL_OK;
++ base &= ~ALPM_SIG_DATABASE_UNKNOWN_OK;
++ }
++ } else if (g_strcmp0 (level, "TrustAll") == 0) {
++ if (package) {
++ base |= ALPM_SIG_PACKAGE_MARGINAL_OK;
++ base |= ALPM_SIG_PACKAGE_UNKNOWN_OK;
++ base |= ALPM_SIG_PACKAGE_TRUST_SET;
++ }
++ if (database) {
++ base |= ALPM_SIG_DATABASE_MARGINAL_OK;
++ base |= ALPM_SIG_DATABASE_UNKNOWN_OK;
++ }
++ } else {
++ g_set_error (error, ALPM_ERROR, ALPM_ERR_CONFIG_INVALID,
++ "invalid SigLevel value: %s", level);
++ return ALPM_SIG_USE_DEFAULT;
++ }
++ }
++
++ return base;
++}
++
++static alpm_siglevel_t
++alpm_siglevel_cross (alpm_siglevel_t base, const alpm_list_t *list,
++ GError **error)
++{
++ alpm_siglevel_t level;
++
++ if (list == NULL) {
++ return base;
++ }
++
++ level = alpm_siglevel_parse (0, list, error);
++ if (level == ALPM_SIG_USE_DEFAULT) {
++ return level;
++ }
++
++ /* based on unexplained code in pacman */
++ if ((level & ALPM_SIG_PACKAGE_SET) == 0) {
++ level |= base & (ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL);
++ }
++ if ((level & ALPM_SIG_PACKAGE_TRUST_SET) == 0) {
++ level |= base & (ALPM_SIG_PACKAGE_MARGINAL_OK |
++ ALPM_SIG_PACKAGE_UNKNOWN_OK);
++ }
++
++ return level;
++}
++
++static gboolean
++pk_backend_config_configure_repos (PkBackendConfig *config,
++ alpm_handle_t *handle, GError **error)
++{
++ alpm_siglevel_t base, local, remote;
++ const alpm_list_t *i;
++ PkBackendConfigSection *options;
++
++ g_return_val_if_fail (config != NULL, FALSE);
++
++ base = ALPM_SIG_PACKAGE | ALPM_SIG_PACKAGE_OPTIONAL |
++ ALPM_SIG_DATABASE | ALPM_SIG_DATABASE_OPTIONAL;
++
++ i = config->sections;
++ options = i->data;
++
++ base = alpm_siglevel_parse (base, options->siglevels, error);
++ if (base == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++
++ local = alpm_siglevel_cross (base, config->localfilesiglevels, error);
++ if (local == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++
++ remote = alpm_siglevel_cross (base, config->remotefilesiglevels, error);
++ if (remote == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++
++ alpm_option_set_default_siglevel (handle, base);
++ alpm_option_set_local_file_siglevel (handle, local);
++ alpm_option_set_remote_file_siglevel (handle, remote);
++
++ while ((i = i->next) != NULL) {
++ PkBackendConfigSection *repo = i->data;
++ alpm_siglevel_t level;
++
++ level = alpm_siglevel_parse (base, repo->siglevels, error);
++ if (level == ALPM_SIG_USE_DEFAULT) {
++ return FALSE;
++ }
++ pk_backend_add_database (repo->name, repo->servers, level);
++ }
++
++ return TRUE;
++}
++
+ static alpm_handle_t *
+ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ {
+ alpm_handle_t *handle;
+- alpm_siglevel_t *level;
+
+ g_return_val_if_fail (config != NULL, FALSE);
+
+@@ -831,12 +880,9 @@ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ }
+
+ alpm_option_set_checkspace (handle, config->checkspace);
+- alpm_option_set_usedelta (handle, config->usedelta);
+ alpm_option_set_usesyslog (handle, config->usesyslog);
+ alpm_option_set_arch (handle, config->arch);
+-
+- level = g_hash_table_lookup (config->levels, "options");
+- alpm_option_set_default_siglevel (handle, *level);
++ alpm_option_set_deltaratio (handle, config->deltaratio);
+
+ /* backend takes ownership */
+ g_free (xfercmd);
+@@ -854,11 +900,6 @@ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ holdpkgs = config->holdpkgs;
+ config->holdpkgs = NULL;
+
+- /* backend takes ownership */
+- FREELIST (syncfirsts);
+- syncfirsts = config->syncfirsts;
+- config->syncfirsts = NULL;
+-
+ /* alpm takes ownership */
+ alpm_option_set_ignoregroups (handle, config->ignoregroups);
+ config->ignoregroups = NULL;
+@@ -875,8 +916,7 @@ pk_backend_config_configure_alpm (PkBackendConfig *config, GError **error)
+ alpm_option_set_noupgrades (handle, config->noupgrades);
+ config->noupgrades = NULL;
+
+- pk_backend_configure_repos (config->repos, config->servers,
+- config->levels);
++ pk_backend_config_configure_repos (config, handle, error);
+
+ return handle;
+ }
+@@ -892,6 +932,7 @@ pk_backend_configure (const gchar *filename, GError **error)
+
+ g_debug ("reading config from %s", filename);
+ config = pk_backend_config_new ();
++ pk_backend_config_enter_section (config, "options");
+
+ if (pk_backend_config_parse (config, filename, NULL, &e)) {
+ handle = pk_backend_config_configure_alpm (config, &e);
+diff --git a/backends/alpm/pk-backend-databases.c b/backends/alpm/pk-backend-databases.c
+index a123297..09d5a73 100644
+--- a/backends/alpm/pk-backend-databases.c
++++ b/backends/alpm/pk-backend-databases.c
+@@ -140,8 +140,8 @@ disabled_repos_configure (GHashTable *table, gboolean only_trusted,
+ g_return_val_if_fail (table != NULL, FALSE);
+ g_return_val_if_fail (alpm != NULL, FALSE);
+
+- if (alpm_db_unregister_all (alpm) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ if (alpm_unregister_all_syncdbs (alpm) < 0) {
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ return FALSE;
+@@ -161,9 +161,9 @@ disabled_repos_configure (GHashTable *table, gboolean only_trusted,
+ level &= ~ALPM_SIG_USE_DEFAULT;
+ }
+
+- db = alpm_db_register_sync (alpm, repo->name, level);
++ db = alpm_register_syncdb (alpm, repo->name, level);
+ if (db == NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s",
+ repo->name, alpm_strerror (errno));
+ return FALSE;
+@@ -176,29 +176,18 @@ disabled_repos_configure (GHashTable *table, gboolean only_trusted,
+ }
+
+ void
+-pk_backend_configure_repos (alpm_list_t *repos, GHashTable *servers,
+- GHashTable *levels)
++pk_backend_add_database (const gchar *name, alpm_list_t *servers,
++ alpm_siglevel_t level)
+ {
+- alpm_list_t *i;
+-
+- g_return_if_fail (servers != NULL);
+-
+- for (i = repos; i != NULL; i = i->next) {
+- PkBackendRepo *repo = g_new (PkBackendRepo, 1);
+- gpointer value = g_hash_table_lookup (servers, i->data);
++ PkBackendRepo *repo = g_new (PkBackendRepo, 1);
+
+- repo->name = g_strdup ((const gchar *) i->data);
+- repo->servers = alpm_list_strdup ((alpm_list_t *) value);
++ g_return_if_fail (name != NULL);
+
+- value = g_hash_table_lookup (levels, i->data);
+- if (value != NULL) {
+- repo->level = *(alpm_siglevel_t *) value;
+- } else {
+- repo->level = ALPM_SIG_USE_DEFAULT;
+- }
++ repo->name = g_strdup (name);
++ repo->servers = alpm_list_strdup (servers);
++ repo->level = level;
+
+- configured = alpm_list_add (configured, repo);
+- }
++ configured = alpm_list_add (configured, repo);
+ }
+
+ gboolean
+@@ -282,7 +271,7 @@ pk_backend_get_repo_list_thread (PkBackend *self)
+ g_return_val_if_fail (disabled != NULL, FALSE);
+
+ /* emit enabled repos */
+- for (i = alpm_option_get_syncdbs (alpm); i != NULL; i = i->next) {
++ for (i = alpm_get_syncdbs (alpm); i != NULL; i = i->next) {
+ alpm_db_t *db = (alpm_db_t *) i->data;
+ const gchar *repo = alpm_db_get_name (db);
+
+@@ -368,13 +357,13 @@ pk_backend_repo_disable_thread (PkBackend *self)
+
+ g_return_val_if_fail (repo != NULL, FALSE);
+
+- for (i = alpm_option_get_syncdbs (alpm); i != NULL; i = i->next) {
++ for (i = alpm_get_syncdbs (alpm); i != NULL; i = i->next) {
+ alpm_db_t *db = (alpm_db_t *) i->data;
+ const gchar *name = alpm_db_get_name (db);
+
+ if (g_strcmp0 (repo, name) == 0) {
+ if (alpm_db_unregister (db) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (&error, ALPM_ERROR, errno,
+ "[%s]: %s", repo,
+ alpm_strerror (errno));
+diff --git a/backends/alpm/pk-backend-databases.h b/backends/alpm/pk-backend-databases.h
+index d9b9e78..d0dbb7c 100644
+--- a/backends/alpm/pk-backend-databases.h
++++ b/backends/alpm/pk-backend-databases.h
+@@ -24,9 +24,9 @@
+ #include <alpm.h>
+ #include <pk-backend.h>
+
+-void pk_backend_configure_repos (alpm_list_t *repos,
+- GHashTable *servers,
+- GHashTable *levels);
++void pk_backend_add_database (const gchar *name,
++ alpm_list_t *servers,
++ alpm_siglevel_t level);
+
+ gboolean pk_backend_disable_signatures (PkBackend *self,
+ GError **error);
+diff --git a/backends/alpm/pk-backend-depends.c b/backends/alpm/pk-backend-depends.c
+index 7c7b45a..c3d82a0 100644
+--- a/backends/alpm/pk-backend-depends.c
++++ b/backends/alpm/pk-backend-depends.c
+@@ -85,7 +85,7 @@ pk_backend_find_provider (PkBackend *self, alpm_list_t *pkgs,
+ }
+
+ /* look for remote dependencies */
+- syncdbs = alpm_option_get_syncdbs (alpm);
++ syncdbs = alpm_get_syncdbs (alpm);
+ provider = alpm_find_dbs_satisfier (alpm, syncdbs, depend);
+
+ if (provider != NULL) {
+@@ -184,7 +184,7 @@ pk_backend_get_depends_thread (PkBackend *self)
+ depend = alpm_dep_compute_string (depends->data);
+ pkgs = pk_backend_find_provider (self, pkgs, depend,
+ &error);
+- g_free (depend);
++ free (depend);
+ }
+ }
+
+diff --git a/backends/alpm/pk-backend-install.c b/backends/alpm/pk-backend-install.c
+index d0cbca2..0b036f3 100644
+--- a/backends/alpm/pk-backend-install.c
++++ b/backends/alpm/pk-backend-install.c
+@@ -39,7 +39,7 @@ alpm_add_file (const gchar *filename)
+ g_return_val_if_fail (filename != NULL, -1);
+ g_return_val_if_fail (alpm != NULL, -1);
+
+- level = alpm_option_get_default_siglevel (alpm);
++ level = alpm_option_get_local_file_siglevel (alpm);
+
+ if (alpm_pkg_load (alpm, filename, 1, level, &pkg) < 0) {
+ return -1;
+@@ -66,7 +66,7 @@ pk_backend_transaction_add_targets (PkBackend *self, GError **error)
+
+ for (; *paths != NULL; ++paths) {
+ if (alpm_add_file (*paths) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s",
+ *paths, alpm_strerror (errno));
+ return FALSE;
+diff --git a/backends/alpm/pk-backend-packages.c b/backends/alpm/pk-backend-packages.c
+index c90cd7d..86b1ef7 100644
+--- a/backends/alpm/pk-backend-packages.c
++++ b/backends/alpm/pk-backend-packages.c
+@@ -42,7 +42,7 @@ alpm_pkg_build_id (alpm_pkg_t *pkg)
+ }
+
+ /* TODO: check correctness */
+- if (alpm_pkg_get_origin (pkg) == PKG_FROM_SYNCDB) {
++ if (alpm_pkg_get_origin (pkg) == ALPM_PKG_FROM_SYNCDB) {
+ repo = alpm_db_get_name (alpm_pkg_get_db (pkg));
+ } else {
+ repo = "installed";
+@@ -84,7 +84,7 @@ pk_backend_find_pkg (PkBackend *self, const gchar *package_id, GError **error)
+ if (g_strcmp0 (repo_id, "installed") == 0) {
+ db = localdb;
+ } else {
+- const alpm_list_t *i = alpm_option_get_syncdbs (alpm);
++ const alpm_list_t *i = alpm_get_syncdbs (alpm);
+ for (; i != NULL; i = i->next) {
+ const gchar *repo = alpm_db_get_name (i->data);
+
+@@ -140,7 +140,7 @@ pk_backend_resolve_package (PkBackend *self, const gchar *package,
+ PK_FILTER_ENUM_NOT_INSTALLED);
+ skip_remote = pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED);
+
+- if (alpm_pkg_get_origin (pkg) == PKG_FROM_LOCALDB) {
++ if (alpm_pkg_get_origin (pkg) == ALPM_PKG_FROM_LOCALDB) {
+ if (!skip_local) {
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_INSTALLED);
+ }
+@@ -179,7 +179,7 @@ pk_backend_resolve_name (PkBackend *self, const gchar *name, GError **error)
+ return TRUE;
+ }
+ } else if (!skip_remote) {
+- const alpm_list_t *i = alpm_option_get_syncdbs (alpm);
++ const alpm_list_t *i = alpm_get_syncdbs (alpm);
+ for (; i != NULL; i = i->next) {
+ pkg = alpm_db_get_pkg (i->data, name);
+ if (pkg != NULL) {
+@@ -287,7 +287,7 @@ pk_backend_get_details_thread (PkBackend *self)
+ desc = alpm_pkg_get_desc (pkg);
+ url = alpm_pkg_get_url (pkg);
+
+- if (alpm_pkg_get_origin (pkg) == PKG_FROM_LOCALDB) {
++ if (alpm_pkg_get_origin (pkg) == ALPM_PKG_FROM_LOCALDB) {
+ size = alpm_pkg_get_isize (pkg);
+ } else {
+ size = alpm_pkg_download_size (pkg);
+diff --git a/backends/alpm/pk-backend-remove.c b/backends/alpm/pk-backend-remove.c
+index 1993061..331684f 100644
+--- a/backends/alpm/pk-backend-remove.c
++++ b/backends/alpm/pk-backend-remove.c
+@@ -48,7 +48,7 @@ pk_backend_transaction_remove_targets (PkBackend *self, GError **error)
+
+ alpm_pkg_t *pkg = alpm_db_get_pkg (localdb, name);
+ if (pkg == NULL || alpm_remove_pkg (alpm, pkg) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s", name,
+ alpm_strerror (errno));
+ g_strfreev (package);
+diff --git a/backends/alpm/pk-backend-search.c b/backends/alpm/pk-backend-search.c
+index c4e80ae..4cfeeb2 100644
+--- a/backends/alpm/pk-backend-search.c
++++ b/backends/alpm/pk-backend-search.c
+@@ -374,7 +374,7 @@ pk_backend_search_thread (PkBackend *self)
+ goto out;
+ }
+
+- for (i = alpm_option_get_syncdbs (alpm); i != NULL; i = i->next) {
++ for (i = alpm_get_syncdbs (alpm); i != NULL; i = i->next) {
+ if (pk_backend_cancelled (self)) {
+ break;
+ }
+diff --git a/backends/alpm/pk-backend-sync.c b/backends/alpm/pk-backend-sync.c
+index d2f363b..80d5ae0 100644
+--- a/backends/alpm/pk-backend-sync.c
++++ b/backends/alpm/pk-backend-sync.c
+@@ -48,7 +48,7 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+ gchar *repo = package[PK_PACKAGE_ID_DATA];
+ gchar *name = package[PK_PACKAGE_ID_NAME];
+
+- const alpm_list_t *i = alpm_option_get_syncdbs (alpm);
++ const alpm_list_t *i = alpm_get_syncdbs (alpm);
+ alpm_pkg_t *pkg;
+
+ for (; i != NULL; i = i->next) {
+@@ -58,7 +58,7 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+ }
+
+ if (i == NULL) {
+- enum _alpm_errno_t errno = ALPM_ERR_DB_NOT_FOUND;
++ alpm_errno_t errno = ALPM_ERR_DB_NOT_FOUND;
+ g_set_error (error, ALPM_ERROR, errno, "%s/%s: %s",
+ repo, name, alpm_strerror (errno));
+ g_strfreev (package);
+@@ -67,7 +67,7 @@ pk_backend_transaction_sync_targets (PkBackend *self, GError **error)
+
+ pkg = alpm_db_get_pkg (i->data, name);
+ if (pkg == NULL || alpm_add_pkg (alpm, pkg) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s/%s: %s",
+ repo, name, alpm_strerror (errno));
+ g_strfreev (package);
+@@ -274,7 +274,7 @@ pk_backend_update_packages_thread (PkBackend *self)
+ for (i = asdeps; i != NULL; i = i->next) {
+ const gchar *name = (const gchar *) i->data;
+ alpm_pkg_t *pkg = alpm_db_get_pkg (localdb, name);
+- alpm_db_set_pkgreason (alpm, pkg, ALPM_PKG_REASON_DEPEND);
++ alpm_pkg_set_reason (pkg, ALPM_PKG_REASON_DEPEND);
+ }
+
+ out:
+diff --git a/backends/alpm/pk-backend-transaction.c b/backends/alpm/pk-backend-transaction.c
+index 76402f0..5e32151 100644
+--- a/backends/alpm/pk-backend-transaction.c
++++ b/backends/alpm/pk-backend-transaction.c
+@@ -63,7 +63,7 @@ alpm_pkg_has_basename (alpm_pkg_t *pkg, const gchar *basename)
+ return TRUE;
+ }
+
+- if (alpm_option_get_usedelta (alpm) == 0) {
++ if (alpm_option_get_deltaratio (alpm) == 0.0) {
+ return FALSE;
+ }
+
+@@ -210,16 +210,18 @@ pk_backend_transaction_progress_cb (alpm_progress_t type, const gchar *target,
+ static gint recent = 101;
+ gsize overall = percent + (current - 1) * 100;
+
+- /* TODO: revert when fixed upstream */
++ /* TODO: remove block if/when this is made consistent upstream */
+ if (type == ALPM_PROGRESS_CONFLICTS_START ||
+ type == ALPM_PROGRESS_DISKSPACE_START ||
+ type == ALPM_PROGRESS_INTEGRITY_START ||
+- type == ALPM_PROGRESS_LOAD_START) {
++ type == ALPM_PROGRESS_LOAD_START ||
++ type == ALPM_PROGRESS_KEYRING_START) {
+ if (current < targets) {
+- overall = percent + current++ * 100;
++ ++current;
++ overall += 100;
+ }
+ }
+-
++
+ if (current < 1 || targets < current) {
+ g_warning ("TODO: CURRENT/TARGETS FAILED for %d", type);
+ }
+@@ -233,11 +235,14 @@ pk_backend_transaction_progress_cb (alpm_progress_t type, const gchar *target,
+ switch (type) {
+ case ALPM_PROGRESS_ADD_START:
+ case ALPM_PROGRESS_UPGRADE_START:
++ case ALPM_PROGRESS_DOWNGRADE_START:
++ case ALPM_PROGRESS_REINSTALL_START:
+ case ALPM_PROGRESS_REMOVE_START:
+ case ALPM_PROGRESS_CONFLICTS_START:
+ case ALPM_PROGRESS_DISKSPACE_START:
+ case ALPM_PROGRESS_INTEGRITY_START:
+ case ALPM_PROGRESS_LOAD_START:
++ case ALPM_PROGRESS_KEYRING_START:
+ if (percent == recent) {
+ break;
+ }
+@@ -388,6 +393,17 @@ pk_backend_output (PkBackend *self, const gchar *output)
+ }
+
+ static void
++pk_backend_output_once (PkBackend *self, alpm_pkg_t *pkg, const gchar *output)
++{
++ g_return_if_fail (self != NULL);
++ g_return_if_fail (pkg != NULL);
++ g_return_if_fail (output != NULL);
++
++ pk_backend_message (self, PK_MESSAGE_ENUM_UNKNOWN, "<b>%s</b>\n%s",
++ alpm_pkg_get_name (pkg), output);
++}
++
++static void
+ pk_backend_transaction_dep_resolve (PkBackend *self)
+ {
+ g_return_if_fail (self != NULL);
+@@ -427,7 +443,8 @@ pk_backend_transaction_add_done (PkBackend *self, alpm_pkg_t *pkg)
+ name = alpm_pkg_get_name (pkg);
+ version = alpm_pkg_get_version (pkg);
+
+- alpm_logaction (alpm, "installed %s (%s)\n", name, version);
++ alpm_logaction (alpm, PK_LOG_PREFIX, "installed %s (%s)\n", name,
++ version);
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED);
+
+ optdepends = alpm_pkg_get_optdepends (pkg);
+@@ -435,8 +452,10 @@ pk_backend_transaction_add_done (PkBackend *self, alpm_pkg_t *pkg)
+ pk_backend_output (self, "Optional dependencies:\n");
+
+ for (i = optdepends; i != NULL; i = i->next) {
+- const gchar *depend = i->data;
++ gchar *depend = alpm_dep_compute_string (i->data);
+ gchar *output = g_strdup_printf ("%s\n", depend);
++ free (depend);
++
+ pk_backend_output (self, output);
+ g_free (output);
+ }
+@@ -467,7 +486,8 @@ pk_backend_transaction_remove_done (PkBackend *self, alpm_pkg_t *pkg)
+ name = alpm_pkg_get_name (pkg);
+ version = alpm_pkg_get_version (pkg);
+
+- alpm_logaction (alpm, "removed %s (%s)\n", name, version);
++ alpm_logaction (alpm, PK_LOG_PREFIX, "removed %s (%s)\n", name,
++ version);
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED);
+ pk_backend_output_end (self);
+ }
+@@ -498,45 +518,106 @@ pk_backend_transaction_upgrade_start (PkBackend *self, alpm_pkg_t *pkg,
+ pk_backend_output_start (self, pkg);
+ }
+
++static gint
++alpm_depend_compare (gconstpointer a, gconstpointer b)
++{
++ const alpm_depend_t *first = a;
++ const alpm_depend_t *second = b;
++ gint result;
++
++ g_return_val_if_fail (first != NULL, 0);
++ g_return_val_if_fail (second != NULL, 0);
++
++ result = g_strcmp0 (first->name, second->name);
++ if (result == 0) {
++ result = first->mod - second->mod;
++ if (result == 0) {
++ result = g_strcmp0 (first->version, second->version);
++ if (result == 0) {
++ result = g_strcmp0 (first->desc, second->desc);
++ }
++ }
++ }
++
++ return result;
++}
++
+ static void
+-pk_backend_transaction_upgrade_done (PkBackend *self, alpm_pkg_t *pkg,
+- alpm_pkg_t *old)
++pk_backend_transaction_process_new_optdepends (PkBackend *self, alpm_pkg_t *pkg,
++ alpm_pkg_t *old)
+ {
+- const gchar *name, *pre, *post;
+- const alpm_list_t *i;
+ alpm_list_t *optdepends;
++ const alpm_list_t *i;
+
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (pkg != NULL);
+ g_return_if_fail (old != NULL);
++
++ optdepends = alpm_list_diff (alpm_pkg_get_optdepends (pkg),
++ alpm_pkg_get_optdepends (old),
++ alpm_depend_compare);
++ if (optdepends == NULL) {
++ return;
++ }
++
++ pk_backend_output (self, "New optional dependencies:\n");
++
++ for (i = optdepends; i != NULL; i = i->next) {
++ gchar *depend = alpm_dep_compute_string (i->data);
++ gchar *output = g_strdup_printf ("%s\n", depend);
++ free (depend);
++
++ pk_backend_output (self, output);
++ g_free (output);
++ }
++
++ alpm_list_free (optdepends);
++}
++
++static void
++pk_backend_transaction_upgrade_done (PkBackend *self, alpm_pkg_t *pkg,
++ alpm_pkg_t *old, gint direction)
++{
++ const gchar *name, *pre, *post;
++
++ g_return_if_fail (self != NULL);
++ g_return_if_fail (pkg != NULL);
++ g_return_if_fail (old != NULL || direction == 0);
+ g_return_if_fail (alpm != NULL);
+
+ name = alpm_pkg_get_name (pkg);
+- pre = alpm_pkg_get_version (old);
++ if (direction != 0) {
++ pre = alpm_pkg_get_version (old);
++ }
+ post = alpm_pkg_get_version (pkg);
+
+- alpm_logaction (alpm, "upgraded %s (%s -> %s)\n", name, pre, post);
++ if (direction > 0) {
++ alpm_logaction (alpm, PK_LOG_PREFIX, "upgraded %s (%s -> %s)\n",
++ name, pre, post);
++ } else if (direction < 0) {
++ alpm_logaction (alpm, PK_LOG_PREFIX,
++ "downgraded %s (%s -> %s)\n", name, pre, post);
++ } else {
++ alpm_logaction (alpm, PK_LOG_PREFIX, "reinstalled %s (%s)\n",
++ name, post);
++ }
+ pk_backend_pkg (self, pkg, PK_INFO_ENUM_FINISHED);
+
+- optdepends = alpm_list_diff (alpm_pkg_get_optdepends (pkg),
+- alpm_pkg_get_optdepends (old),
+- (alpm_list_fn_cmp) g_strcmp0);
+- if (optdepends != NULL) {
+- pk_backend_output (self, "New optional dependencies:\n");
+-
+- for (i = optdepends; i != NULL; i = i->next) {
+- const gchar *depend = i->data;
+- gchar *output = g_strdup_printf ("%s\n", depend);
+- pk_backend_output (self, output);
+- g_free (output);
+- }
+-
+- alpm_list_free (optdepends);
++ if (direction != 0) {
++ pk_backend_transaction_process_new_optdepends (self, pkg, old);
+ }
+ pk_backend_output_end (self);
+ }
+
+ static void
++pk_backend_transaction_sig_check (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_set_status (self, PK_STATUS_ENUM_SIG_CHECK);
++}
++
++static void
+ pk_backend_transaction_setup (PkBackend *self)
+ {
+ g_return_if_fail (self != NULL);
+@@ -545,12 +626,46 @@ pk_backend_transaction_setup (PkBackend *self)
+ }
+
+ static void
++pk_backend_transaction_repackaging (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_set_status (self, PK_STATUS_ENUM_REPACKAGING);
++}
++
++static void
++pk_backend_transaction_download (PkBackend *self)
++{
++ g_return_if_fail (self != NULL);
++
++ pk_backend_set_status (self, PK_STATUS_ENUM_DOWNLOAD);
++}
++
++static void
++pk_backend_transaction_optdepend_required (PkBackend *self, alpm_pkg_t *pkg,
++ alpm_depend_t *optdepend)
++{
++ gchar *depend, *output;
++
++ g_return_if_fail (self != NULL);
++ g_return_if_fail (pkg != NULL);
++ g_return_if_fail (optdepend != NULL);
++
++ depend = alpm_dep_compute_string (optdepend);
++ output = g_strdup_printf ("optionally requires %s\n", depend);
++ free (depend);
++
++ pk_backend_output_once (self, pkg, output);
++ g_free (output);
++}
++
++static void
+ pk_backend_transaction_event_cb (alpm_event_t event, gpointer data,
+ gpointer old)
+ {
+ g_return_if_fail (backend != NULL);
+
+- /* figure out the backend status and package info */
++ /* figure out backend status and process package changes */
+ switch (event) {
+ case ALPM_EVENT_CHECKDEPS_START:
+ case ALPM_EVENT_RESOLVEDEPS_START:
+@@ -559,7 +674,6 @@ pk_backend_transaction_event_cb (alpm_event_t event, gpointer data,
+
+ case ALPM_EVENT_FILECONFLICTS_START:
+ case ALPM_EVENT_INTERCONFLICTS_START:
+- case ALPM_EVENT_INTEGRITY_START:
+ case ALPM_EVENT_DELTA_INTEGRITY_START:
+ case ALPM_EVENT_DISKSPACE_START:
+ pk_backend_transaction_test_commit (backend);
+@@ -582,23 +696,73 @@ pk_backend_transaction_event_cb (alpm_event_t event, gpointer data,
+ break;
+
+ case ALPM_EVENT_UPGRADE_START:
++ case ALPM_EVENT_DOWNGRADE_START:
++ case ALPM_EVENT_REINSTALL_START:
+ pk_backend_transaction_upgrade_start (backend, data,
+ old);
+ break;
+
+ case ALPM_EVENT_UPGRADE_DONE:
+ pk_backend_transaction_upgrade_done (backend, data,
+- old);
++ old, 1);
++ break;
++
++ case ALPM_EVENT_DOWNGRADE_DONE:
++ pk_backend_transaction_upgrade_done (backend, data,
++ old, -1);
++ break;
++
++ case ALPM_EVENT_REINSTALL_DONE:
++ pk_backend_transaction_upgrade_done (backend, data,
++ old, 0);
++ break;
++
++ case ALPM_EVENT_INTEGRITY_START:
++ case ALPM_EVENT_KEYRING_START:
++ pk_backend_transaction_sig_check (backend);
+ break;
+
+ case ALPM_EVENT_LOAD_START:
+ pk_backend_transaction_setup (backend);
+ break;
+
++ case ALPM_EVENT_DELTA_PATCHES_START:
++ case ALPM_EVENT_DELTA_PATCH_START:
++ pk_backend_transaction_repackaging (backend);
++ break;
++
+ case ALPM_EVENT_SCRIPTLET_INFO:
+ pk_backend_output (backend, data);
+ break;
+
++ case ALPM_EVENT_RETRIEVE_START:
++ pk_backend_transaction_download (backend);
++ break;
++
++ case ALPM_EVENT_OPTDEP_REQUIRED:
++ /* TODO: remove if this results in notification spam */
++ pk_backend_transaction_optdepend_required (backend,
++ data, old);
++ break;
++
++ case ALPM_EVENT_CHECKDEPS_DONE:
++ case ALPM_EVENT_FILECONFLICTS_DONE:
++ case ALPM_EVENT_RESOLVEDEPS_DONE:
++ case ALPM_EVENT_INTERCONFLICTS_DONE:
++ case ALPM_EVENT_INTEGRITY_DONE:
++ case ALPM_EVENT_LOAD_DONE:
++ case ALPM_EVENT_DELTA_INTEGRITY_DONE:
++ case ALPM_EVENT_DELTA_PATCHES_DONE:
++ case ALPM_EVENT_DELTA_PATCH_DONE:
++ case ALPM_EVENT_DELTA_PATCH_FAILED:
++ case ALPM_EVENT_DISKSPACE_DONE:
++ case ALPM_EVENT_DATABASE_MISSING:
++ case ALPM_EVENT_KEYRING_DONE:
++ case ALPM_EVENT_KEY_DOWNLOAD_START:
++ case ALPM_EVENT_KEY_DOWNLOAD_DONE:
++ /* ignored */
++ break;
++
+ default:
+ g_debug ("unhandled event %d", event);
+ break;
+@@ -623,7 +787,7 @@ pk_backend_transaction_initialize (PkBackend *self, alpm_transflag_t flags,
+ g_return_val_if_fail (cancellable != NULL, FALSE);
+
+ if (alpm_trans_init (alpm, flags) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ return FALSE;
+@@ -692,6 +856,7 @@ alpm_depend_free (alpm_depend_t *depend)
+ {
+ free (depend->name);
+ free (depend->version);
++ free (depend->desc);
+ free (depend);
+ }
+
+@@ -731,7 +896,7 @@ alpm_conflict_build_list (const alpm_list_t *i)
+ g_string_append_printf (list, "%s <-> %s (%s), ",
+ conflict->package1,
+ conflict->package2, reason);
+- g_free (reason);
++ free (reason);
+ }
+ }
+
+@@ -837,12 +1002,12 @@ pk_backend_transaction_simulate (PkBackend *self, GError **error)
+ }
+
+ if (prefix != NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s", prefix,
+ alpm_strerror (errno));
+ g_free (prefix);
+ } else {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ }
+@@ -959,12 +1124,12 @@ pk_backend_transaction_commit (PkBackend *self, GError **error)
+ }
+
+ if (prefix != NULL) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "%s: %s", prefix,
+ alpm_strerror (errno));
+ g_free (prefix);
+ } else {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ }
+@@ -993,7 +1158,7 @@ pk_backend_transaction_end (PkBackend *self, GError **error)
+ }
+
+ if (alpm_trans_release (alpm) < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error_literal (error, ALPM_ERROR, errno,
+ alpm_strerror (errno));
+ return FALSE;
+diff --git a/backends/alpm/pk-backend-update.c b/backends/alpm/pk-backend-update.c
+index 37ade1e..ff83b5e 100644
+--- a/backends/alpm/pk-backend-update.c
++++ b/backends/alpm/pk-backend-update.c
+@@ -130,6 +130,20 @@ alpm_pkg_same_pkgver (alpm_pkg_t *a, alpm_pkg_t *b)
+ }
+ }
+
++static gchar *
++alpm_time_to_iso8601 (alpm_time_t time)
++{
++ GDateTime *date = g_date_time_new_from_unix_utc (time);
++
++ if (date != NULL) {
++ gchar *result = g_date_time_format (date, "%FT%TZ");
++ g_date_time_unref (date);
++ return result;
++ } else {
++ return NULL;
++ }
++}
++
+ static gboolean
+ pk_backend_get_update_detail_thread (PkBackend *self)
+ {
+@@ -154,7 +168,7 @@ pk_backend_get_update_detail_thread (PkBackend *self)
+ PkRestartEnum restart;
+ PkUpdateStateEnum state;
+
+- GTimeVal built = { 0 }, installed = { 0 };
++ alpm_time_t built, installed;
+ gchar *issued, *updated;
+
+ if (pk_backend_cancelled (self)) {
+@@ -195,17 +209,17 @@ pk_backend_get_update_detail_thread (PkBackend *self)
+ state = PK_UPDATE_STATE_ENUM_STABLE;
+ }
+
+- built.tv_sec = alpm_pkg_get_builddate (pkg);
+- if (built.tv_sec > 0) {
+- issued = g_time_val_to_iso8601 (&built);
++ built = alpm_pkg_get_builddate (pkg);
++ if (built > 0) {
++ issued = alpm_time_to_iso8601 (built);
+ } else {
+ issued = NULL;
+ }
+
+ if (upgrades != NULL) {
+- installed.tv_sec = alpm_pkg_get_installdate (old);
+- if (installed.tv_sec > 0) {
+- updated = g_time_val_to_iso8601 (&installed);
++ installed = alpm_pkg_get_installdate (old);
++ if (installed > 0) {
++ updated = alpm_time_to_iso8601 (installed);
+ } else {
+ updated = NULL;
+ }
+@@ -251,13 +265,14 @@ pk_backend_update_databases (PkBackend *self, gint force, GError **error) {
+ return FALSE;
+ }
+
+- alpm_logaction (alpm, "synchronizing package lists\n");
++ alpm_logaction (alpm, PK_LOG_PREFIX, "synchronizing package lists\n");
++ pk_backend_set_status (self, PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST);
+
+ dlcb = alpm_option_get_dlcb (alpm);
+ totaldlcb = alpm_option_get_totaldlcb (alpm);
+
+ /* set total size to minus the number of databases */
+- i = alpm_option_get_syncdbs (alpm);
++ i = alpm_get_syncdbs (alpm);
+ totaldlcb (-alpm_list_count (i));
+
+ for (; i != NULL; i = i->next) {
+@@ -275,7 +290,7 @@ pk_backend_update_databases (PkBackend *self, gint force, GError **error) {
+ /* fake the download when already up to date */
+ dlcb ("", 1, 1);
+ } else if (result < 0) {
+- enum _alpm_errno_t errno = alpm_errno (alpm);
++ alpm_errno_t errno = alpm_errno (alpm);
+ g_set_error (error, ALPM_ERROR, errno, "[%s]: %s",
+ alpm_db_get_name (i->data),
+ alpm_strerror (errno));
+@@ -398,7 +413,7 @@ pk_backend_get_updates_thread (PkBackend *self)
+ }
+
+ /* find outdated and replacement packages */
+- syncdbs = alpm_option_get_syncdbs (alpm);
++ syncdbs = alpm_get_syncdbs (alpm);
+ for (i = alpm_db_get_pkgcache (localdb); i != NULL; i = i->next) {
+ alpm_pkg_t *upgrade = alpm_pkg_find_update (i->data, syncdbs);
+
+diff --git a/configure.ac b/configure.ac
+index 37e8a64..2e85f6f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -707,9 +707,7 @@ if test x$enable_opkg = xyes; then
+ fi
+
+ if test x$enable_alpm = xyes; then
+- AC_CHECK_HEADER([alpm.h],
+- [],
+- [AC_MSG_ERROR([No ALPM headers found])])
++ PKG_CHECK_MODULES(ALPM, libalpm >= 4.1.0)
+ fi
+
+ if test x$enable_poldek = xyes; then
diff --git a/community/parrot/PKGBUILD b/community/parrot/PKGBUILD
index 4c8555fc6..0c44e3358 100644
--- a/community/parrot/PKGBUILD
+++ b/community/parrot/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 87052 2013-03-26 11:49:46Z foutrelis $
+# $Id: PKGBUILD 87711 2013-04-05 10:27:59Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: mpie <michael.kyne-phillips1@ntlworld.com>
pkgname=parrot
-pkgver=5.1.0
+pkgver=5.2.0
#_rel=stable
_rel=devel
-pkgrel=4
+pkgrel=1
pkgdesc="Standalone VM that can execute bytecode compiled dynamic languages"
arch=('x86_64' 'i686')
url="http://www.parrotcode.org/"
@@ -16,7 +16,7 @@ makedepends=('perl-json')
optdepends=('freeglut')
options=('!makeflags')
source=(ftp://ftp.parrot.org/pub/parrot/releases/$_rel/$pkgver/$pkgname-$pkgver.tar.bz2)
-md5sums=('cf879f76d56f007107c143a1b63037c9')
+md5sums=('ed8e30dda7439f44d6cbf5b3ab40bc28')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD
index 1c85368b1..3b544b250 100644
--- a/community/pokerth/PKGBUILD
+++ b/community/pokerth/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 87277 2013-03-29 18:53:13Z cinelli $
+# $Id: PKGBUILD 87656 2013-04-05 07:06:16Z cinelli $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
# Contributor: Vasco Costa <vasco.costa@meiodigital.com>
@@ -7,7 +7,7 @@
pkgname=pokerth
_realname=PokerTH
pkgver=1.0
-pkgrel=5
+pkgrel=6
pkgdesc="Poker game written in C++/QT4"
arch=('i686' 'x86_64')
url="http://www.pokerth.net/"
@@ -15,14 +15,17 @@ license=('GPL' 'custom')
depends=('curl' 'boost-libs' 'gsasl' 'gnutls' 'protobuf'
'qt4' 'sdl_mixer' 'libircclient' 'tinyxml')
makedepends=('boost')
-source=(http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2)
-md5sums=('1d8686b8968475cfc76e873a17a53efc')
+source=("http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2"
+ "pokerth_game.pro.patch")
+md5sums=('1d8686b8968475cfc76e873a17a53efc'
+ '967b79b37407be5a68e6a864c2b7828a')
build() {
cd "$srcdir/$_realname-$pkgver-src"
sed -i '31 i #include <libircclient/libirc_rfcnumeric.h>' src/net/common/ircthread.cpp
-
+
+ patch -Np2 < "$srcdir/pokerth_game.pro.patch"
qmake-qt4 "$pkgname.pro"
make
}
diff --git a/community/pokerth/pokerth_game.pro.patch b/community/pokerth/pokerth_game.pro.patch
new file mode 100644
index 000000000..e19ba3bcb
--- /dev/null
+++ b/community/pokerth/pokerth_game.pro.patch
@@ -0,0 +1,18 @@
+--- src/PokerTH-1.0-src/pokerth_game.pro 2013-01-01 07:23:55.596627882 -0800
++++ pokerth_game.pro 2013-04-04 11:14:16.583877931 -0700
+@@ -3,7 +3,6 @@
+ isEmpty( PREFIX ){
+ PREFIX =/usr
+ }
+-
+ TEMPLATE = app
+ CODECFORSRC = UTF-8
+ CONFIG += qt \
+@@ -21,6 +20,7 @@
+ DEFINES += ENABLE_IPV6 TIXML_USE_STL BOOST_FILESYSTEM_DEPRECATED
+ DEFINES += PREFIX=\"$${PREFIX}\"
+ TARGET = pokerth
++QMAKE_MOC = $$QMAKE_MOC -DBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+ # PRECOMPILED_HEADER = src/pch_game.h
+
diff --git a/community/rust/PKGBUILD b/community/rust/PKGBUILD
deleted file mode 100644
index 294b128c0..000000000
--- a/community/rust/PKGBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id: PKGBUILD 87570 2013-04-03 09:53:17Z thestinger $
-# Maintainer: Daniel Micay <danielmicay@gmail.com>
-pkgname=rust
-pkgver=0.6
-pkgrel=2
-arch=('i686' 'x86_64')
-pkgdesc='A safe, concurrent, practical language'
-url='http://www.rust-lang.org/'
-license=('MIT' 'Apache')
-depends=(gcc-libs shared-mime-info)
-makedepends=(libffi perl python2 curl chrpath emacs)
-source=("http://static.rust-lang.org/dist/rust-${pkgver}.tar.gz")
-sha256sums=('e11cb529a1e20f27d99033181a9e0e131817136b46d2742f0fa1afa1210053e5')
-install=rust.install
-
-build() {
- cd rust-$pkgver
-
- ./configure --prefix=/usr --disable-docs
-
- # avoid python makedepend (force fallback to python2)
- sed -i 's/^PYTHONVERSION.*/PYTHONVERSION := 3/' src/llvm/Makefile.rules
-
- make
-}
-
-package() {
- cd rust-$pkgver
- make DESTDIR="$pkgdir" install
-
- mkdir -p "$pkgdir/usr/share/vim" "$pkgdir/usr/share/licenses/rust"
-
- cp -a src/etc/vim "$pkgdir/usr/share/vim/vimfiles"
- find "$pkgdir/usr/share/vim" -type f -exec chmod 644 {} +
- find "$pkgdir/usr/share/vim" -type d -exec chmod 755 {} +
-
- install -Dm644 src/etc/kate/rust.xml "$pkgdir/usr/share/apps/katepart/syntax/rust.xml"
- install -Dm644 src/etc/gedit/share/mime/packages/rust.xml \
- "$pkgdir/usr/share/mime/packages/rust.xml"
- install -Dm644 src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang \
- "$pkgdir/usr/share/gtksourceview-3.0/language-specs/rust.lang"
-
- install -m644 LICENSE-APACHE "$pkgdir/usr/share/licenses/rust"
- install -m644 LICENSE-MIT "$pkgdir/usr/share/licenses/rust"
-
- cd src/etc/emacs
- make
- mkdir -p "$pkgdir/usr/share/emacs/site-lisp/"
- install -Dm644 cm-mode.el{,c} rust-mode.el{,c} "$pkgdir/usr/share/emacs/site-lisp/"
-
- cd "$pkgdir/usr"
-
- # https://github.com/mozilla/rust/issues/5219
- chrpath -d bin/* lib/*.so lib/rustc/*/lib/*.so
-
- cp lib/rustc/*/lib/{librustdoc-*-0.6.so,librustpkg-*-0.6.so} lib/
-}
diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD
index fbbb8de5c..c196db66f 100644
--- a/community/shotwell/PKGBUILD
+++ b/community/shotwell/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 87399 2013-03-31 09:37:31Z bpiotrowski $
+# $Id: PKGBUILD 87716 2013-04-05 10:40:18Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
pkgname=shotwell
-pkgver=0.14.0
-pkgrel=2
+pkgver=0.14.1
+pkgrel=1
pkgdesc="A digital photo organizer designed for the GNOME desktop environment"
arch=('i686' 'x86_64')
url="http://yorba.org/shotwell/"
@@ -17,7 +17,7 @@ makedepends=('intltool' 'vala>=0.17.2' 'libunique3')
install=shotwell.install
source=("http://yorba.org/download/shotwell/stable/shotwell-$pkgver.tar.xz"
"no-libexec.patch")
-md5sums=('14b8e02091376fa69ac0a04ba61ea608'
+md5sums=('bb5783f9265e1ce2d4c9f354987c3ab1'
'b4124e022c98b4382530e6fbcef965e2')
build() {
diff --git a/community/tiled-qt/PKGBUILD b/community/tiled-qt/PKGBUILD
index 56b0dd385..c26c18726 100644
--- a/community/tiled-qt/PKGBUILD
+++ b/community/tiled-qt/PKGBUILD
@@ -2,13 +2,13 @@
# Collaborator: Jonathan Fine (were.Vire AT gmail DOT com)
pkgname=tiled-qt
pkgver=0.9.0
-pkgrel=5
+pkgrel=6
pkgdesc='A general purpose tile map editor, built to be flexible and easy to use'
arch=('i686' 'x86_64')
url='http://mapeditor.org'
license=('GPL')
-depends=('qt5-base' 'qt5-tools' 'libgl' 'gtk-update-icon-cache')
-makedepends=('mesa')
+depends=('qt5-base' 'libgl' 'gtk-update-icon-cache')
+makedepends=('mesa' 'qt5-tools')
install=${pkgname}.install
source=(http://sourceforge.net/projects/tiled/files/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz)
md5sums=('e2e21a54ff17e34b49b8a330cc8b657e')
diff --git a/community/tomoyo-tools/PKGBUILD b/community/tomoyo-tools/PKGBUILD
index 19fb16884..c24b015e8 100644
--- a/community/tomoyo-tools/PKGBUILD
+++ b/community/tomoyo-tools/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 87482 2013-04-01 11:32:19Z spupykin $
+# $Id: PKGBUILD 87706 2013-04-05 10:24:39Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Jamie Nguyen <jamie AT tomoyolinux.co.uk>
diff --git a/community/tomoyo-tools/tomoyo-tools.install b/community/tomoyo-tools/tomoyo-tools.install
index 695a53f19..8f769d0db 100644
--- a/community/tomoyo-tools/tomoyo-tools.install
+++ b/community/tomoyo-tools/tomoyo-tools.install
@@ -1,6 +1,6 @@
post_install () {
echo
- echo " * To enable TOMOYO Linux, append 'security=tomoyo' to the kernel"
+ echo " * To enable TOMOYO Linux, append 'security=tomoyo TOMOYO_trigger=/sbin/init' to the kernel"
echo " boot options and initialize policy with this command:"
echo " /usr/lib/tomoyo/init_policy"
echo