summaryrefslogtreecommitdiff
path: root/pcr
diff options
context:
space:
mode:
Diffstat (limited to 'pcr')
-rw-r--r--pcr/acr/PKGBUILD22
-rw-r--r--[-rwxr-xr-x]pcr/aurvote/aurvote0
-rw-r--r--[-rwxr-xr-x]pcr/auto-complete/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/auto-complete/auto-complete.install0
-rw-r--r--[-rwxr-xr-x]pcr/bambus/PKGBUILD0
-rw-r--r--pcr/barnyard2/PKGBUILD44
-rw-r--r--pcr/bison++/PKGBUILD51
-rw-r--r--[-rwxr-xr-x]pcr/bsnes/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/bsnes/bsnes.changelog0
-rw-r--r--[-rwxr-xr-x]pcr/bsnes/bsnes.install0
-rw-r--r--pcr/chm2pdf/PKGBUILD22
-rw-r--r--[-rwxr-xr-x]pcr/d0_blind_id-git/PKGBUILD0
-rw-r--r--pcr/emacs-mailcrypt/PKGBUILD32
-rw-r--r--pcr/emacs-mailcrypt/destdir.patch41
-rw-r--r--pcr/emacs-mailcrypt/mailcrypt.install22
-rw-r--r--pcr/emacs-newlisp/PKGBUILD24
-rw-r--r--pcr/emacs-newlisp/emacs-newlisp.install26
-rw-r--r--pcr/evolution-mapi/PKGBUILD35
-rw-r--r--pcr/facter/PKGBUILD30
-rw-r--r--pcr/ffmpeg-static/PKGBUILD2
-rw-r--r--pcr/freeipmi/PKGBUILD49
-rw-r--r--pcr/gens-gs/PKGBUILD49
-rw-r--r--pcr/gens-gs/gens-gtk.patch187
-rw-r--r--pcr/glance/PKGBUILD62
-rw-r--r--pcr/gtkmm-utils/PKGBUILD27
-rw-r--r--pcr/gtkmm-utils/gtkmm-utils-glib.diff25
-rw-r--r--pcr/initng-git/PKGBUILD51
-rw-r--r--pcr/initng-git/fixes.patch31
-rw-r--r--pcr/ipmitool/PKGBUILD18
-rw-r--r--pcr/ipmiutil/PKGBUILD27
-rw-r--r--[-rwxr-xr-x]pcr/kervalasquish-hg/PKGBUILD0
-rw-r--r--pcr/libav-static/avconv-static2
-rw-r--r--pcr/libav-static/avplay-static2
-rw-r--r--pcr/libav-static/avprobe-static2
-rw-r--r--pcr/libav-static/avserver-static2
-rw-r--r--pcr/libav-static/ffmpeg-libav-static2
-rw-r--r--pcr/libav-static/qt-faststart-libav-static2
-rw-r--r--pcr/libav/PKGBUILD (renamed from pcr/libav-static/PKGBUILD)28
-rw-r--r--[-rwxr-xr-x]pcr/libcacard/PKGBUILD0
-rw-r--r--pcr/libnatpmp-from-social-repo/PKGBUILD29
-rw-r--r--pcr/log4cxx/PKGBUILD24
-rw-r--r--pcr/log4cxx/log4cxx-0.10.0-missing_includes.patch38
-rw-r--r--pcr/mediatomb/PKGBUILD63
-rw-r--r--pcr/mediatomb/gcc46.patch10
-rw-r--r--pcr/mediatomb/jsparse.patch144
-rw-r--r--pcr/mediatomb/libav_0.7_support.patch64
-rw-r--r--pcr/mediatomb/libavformat.patch52
-rw-r--r--pcr/mediatomb/libmp4v2_191_p497.patch187
-rw-r--r--pcr/mediatomb/mediatomb.conf23
-rw-r--r--pcr/mediatomb/mediatomb.install9
-rw-r--r--pcr/mediatomb/mediatomb.rc54
-rw-r--r--pcr/mediatomb/tonewjs.patch564
-rw-r--r--[-rwxr-xr-x]pcr/mednafen-server/mednafen-serverd0
-rw-r--r--[-rwxr-xr-x]pcr/mednafen-wip/PKGBUILD32
-rw-r--r--[-rwxr-xr-x]pcr/minetest/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/moblock/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/moblock/moblock0
-rw-r--r--[-rwxr-xr-x]pcr/moblock/moblock-update0
-rw-r--r--pcr/nagios-nrpe-plugin/PKGBUILD23
-rw-r--r--pcr/nagios-plugins/PKGBUILD27
-rw-r--r--pcr/nagios-plugins/stdio.patch14
-rw-r--r--pcr/newlisp/PKGBUILD26
-rw-r--r--pcr/newlisp/newlisp.install20
-rw-r--r--pcr/nfacct/PKGBUILD31
-rw-r--r--pcr/nova/PKGBUILD55
-rw-r--r--pcr/openchange/PKGBUILD67
-rw-r--r--pcr/openchange/bugzilla_682449.patch191
-rw-r--r--pcr/pactools/PKGBUILD18
-rw-r--r--pcr/pactools/pactools63
-rw-r--r--pcr/pactools/pt-deptree54
-rw-r--r--pcr/pactools/pt-pacfix22
-rw-r--r--pcr/pactools/pt-pacman-cage152
-rw-r--r--pcr/pactools/pt-pacman-info77
-rw-r--r--pcr/pactools/pt-pacman-uncage108
-rw-r--r--pcr/pactools/pt-pacsize21
-rw-r--r--pcr/pactools/pt-repolist42
-rw-r--r--pcr/perl-file-find-rule/PKGBUILD27
-rw-r--r--pcr/perl-iptables-chainmgr/PKGBUILD22
-rw-r--r--pcr/perl-number-compare/PKGBUILD27
-rw-r--r--pcr/perl-text-glob/PKGBUILD51
-rw-r--r--pcr/perl-unix-syslog/PKGBUILD33
-rw-r--r--pcr/pmount/PKGBUILD31
-rw-r--r--pcr/psad/PKGBUILD66
-rw-r--r--pcr/psad/psad-systemdinit.archlinux12
-rw-r--r--pcr/psad/psad-sysvinit.archlinux52
-rw-r--r--pcr/psad/psad.patch137
-rw-r--r--pcr/psad/responses7
-rw-r--r--pcr/pulledpork/PKGBUILD19
-rw-r--r--pcr/puppet/PKGBUILD86
-rw-r--r--pcr/puppet/fileserver.conf12
-rwxr-xr-xpcr/puppet/puppet45
-rw-r--r--pcr/puppet/puppet.conf32
-rw-r--r--pcr/puppet/puppet.install46
-rwxr-xr-xpcr/puppet/puppetmaster45
-rw-r--r--pcr/python-anyjson/PKGBUILD21
-rw-r--r--pcr/python-paste-deploy/PKGBUILD24
-rw-r--r--pcr/python-paste/PKGBUILD25
-rw-r--r--pcr/python-renpy/ChangeLog32
-rw-r--r--pcr/python-renpy/PKGBUILD41
-rw-r--r--pcr/python-renpy/python2.diff8
-rw-r--r--pcr/python-renpy/renpy.diff20
-rw-r--r--pcr/python-repoze.lru/PKGBUILD32
-rw-r--r--pcr/python-routes/PKGBUILD29
-rw-r--r--[-rwxr-xr-x]pcr/python-sfml2/PKGBUILD0
-rw-r--r--pcr/python-wsgiref/PKGBUILD19
-rw-r--r--pcr/python-xattr/PKGBUILD31
-rw-r--r--pcr/python2-amqplib/PKGBUILD22
-rw-r--r--pcr/python2-carrot/PKGBUILD21
-rw-r--r--pcr/python2-daemon/PKGBUILD20
-rw-r--r--pcr/python2-empy/PKGBUILD20
-rw-r--r--pcr/python2-eventlet/PKGBUILD22
-rw-r--r--pcr/python2-iso8601/PKGBUILD19
-rw-r--r--pcr/python2-kombu/PKGBUILD29
-rw-r--r--pcr/python2-netaddr/PKGBUILD19
-rw-r--r--pcr/python2-passlib/PKGBUILD21
-rw-r--r--pcr/python2-pkgtools/PKGBUILD20
-rw-r--r--pcr/python2-rospkg/PKGBUILD23
-rw-r--r--pcr/python2-sendfile/PKGBUILD22
-rw-r--r--[-rwxr-xr-x]pcr/python2-sfml2/PKGBUILD0
-rw-r--r--pcr/python2-suds/PKGBUILD25
-rw-r--r--pcr/python2-webob/Changelog26
-rw-r--r--pcr/python2-webob/PKGBUILD34
-rw-r--r--pcr/renpy/ChangeLog30
-rw-r--r--pcr/renpy/PKGBUILD57
-rw-r--r--pcr/renpy/python2.diff8
-rw-r--r--pcr/renpy/renpy-launcher.sh4
-rw-r--r--pcr/renpy/renpy.csh1
-rw-r--r--pcr/renpy/renpy.desktop12
-rw-r--r--pcr/renpy/renpy.install21
-rw-r--r--pcr/renpy/renpy.sh1
-rw-r--r--pcr/rosinstall/PKGBUILD21
-rw-r--r--pcr/ruby-hiera-json/PKGBUILD26
-rw-r--r--pcr/ruby-hiera/PKGBUILD34
-rw-r--r--pcr/ruby-hiera/hiera.yaml21
-rw-r--r--pcr/ruby-shadow/PKGBUILD24
-rw-r--r--[-rwxr-xr-x]pcr/ryzom-client/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/ryzom-data/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/ryzom-nel/PKGBUILD0
-rw-r--r--pcr/samba4/PKGBUILD93
-rw-r--r--pcr/samba4/samba4.confd5
-rw-r--r--pcr/samba4/samba4.rc50
-rw-r--r--[-rwxr-xr-x]pcr/sfml-git/PKGBUILD0
-rw-r--r--pcr/snort/PKGBUILD51
-rw-r--r--pcr/snort/snort41
-rw-r--r--pcr/snort/snort.conf.d21
-rw-r--r--pcr/snort/snort.install26
-rw-r--r--pcr/thinkfan/PKGBUILD27
-rw-r--r--pcr/thinkfan/thinkfan54
-rw-r--r--pcr/thinkfan/thinkfan.service9
-rw-r--r--pcr/ttf-roboto/PKGBUILD25
-rw-r--r--pcr/ttf-roboto/ttf-roboto.install15
-rw-r--r--pcr/ulogd2/PKGBUILD42
-rw-r--r--pcr/ulogd2/logrotate10
-rw-r--r--pcr/ulogd2/ulogd254
-rw-r--r--pcr/vcstools/PKGBUILD33
-rw-r--r--pcr/vuurmuur/PKGBUILD139
-rw-r--r--pcr/vuurmuur/modules.conf3
-rw-r--r--pcr/vuurmuur/vuurmuur.install27
-rw-r--r--pcr/vuurmuur/vuurmuur.rc114
-rw-r--r--pcr/vuurmuur/vuurmuur.script88
-rw-r--r--pcr/vuurmuur/vuurmuur.service13
-rw-r--r--[-rwxr-xr-x]pcr/wallchange/PKGBUILD0
-rw-r--r--[-rwxr-xr-x]pcr/xonotic-git/PKGBUILD0
-rw-r--r--pcr/xtables-addons/PKGBUILD35
-rw-r--r--[-rwxr-xr-x]pcr/yate/yate.init0
165 files changed, 5680 insertions, 51 deletions
diff --git a/pcr/acr/PKGBUILD b/pcr/acr/PKGBUILD
new file mode 100644
index 000000000..d1ba1744b
--- /dev/null
+++ b/pcr/acr/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: stalker_exe <stalkerexe8@gmail.com>
+pkgname=acr
+pkgver=0.8.6
+pkgrel=1
+pkgdesc="ACR is an autoconf like tool that allows you to create configure scripts for your programs."
+arch=('any')
+url="http://nopcode.org/wk.php/Acr"
+license=('GPL2')
+depends=()
+source=("http://www.lolcathost.org/b/$pkgname-$pkgver.tar.gz")
+
+md5sums=('0981ffbd92dcb63015793a849c34465d')
+
+build() {
+ cd "${srcdir}/$pkgname-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+}
+
+package() {
+ cd "${srcdir}/$pkgname-${pkgver}"
+ make DESTDIR=${pkgdir} install
+}
diff --git a/pcr/aurvote/aurvote b/pcr/aurvote/aurvote
index 1b9c8f1bf..1b9c8f1bf 100755..100644
--- a/pcr/aurvote/aurvote
+++ b/pcr/aurvote/aurvote
diff --git a/pcr/auto-complete/PKGBUILD b/pcr/auto-complete/PKGBUILD
index afa9d8691..afa9d8691 100755..100644
--- a/pcr/auto-complete/PKGBUILD
+++ b/pcr/auto-complete/PKGBUILD
diff --git a/pcr/auto-complete/auto-complete.install b/pcr/auto-complete/auto-complete.install
index 9687f5e43..9687f5e43 100755..100644
--- a/pcr/auto-complete/auto-complete.install
+++ b/pcr/auto-complete/auto-complete.install
diff --git a/pcr/bambus/PKGBUILD b/pcr/bambus/PKGBUILD
index d76ba2dc2..d76ba2dc2 100755..100644
--- a/pcr/bambus/PKGBUILD
+++ b/pcr/bambus/PKGBUILD
diff --git a/pcr/barnyard2/PKGBUILD b/pcr/barnyard2/PKGBUILD
new file mode 100644
index 000000000..7b52c952c
--- /dev/null
+++ b/pcr/barnyard2/PKGBUILD
@@ -0,0 +1,44 @@
+# Contributor: Commiebstrd<spenserreinhardt@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=barnyard2
+pkgver=1
+pkgrel=9
+pkgdesc="Barnyard2 is a fork of the original barnyard project, designed specifically for Snort's new unified2 file format. Barnyard2 is under active development and continues to adapt based on user feedback."
+arch=('i686' 'x86_64')
+url="http://www.securixlive.com/barnyard2/index.php"
+license=('GPLv2')
+depends=('snort' 'mysql')
+source=("http://www.securixlive.com/download/${pkgname}/${pkgname}-${pkgver}.${pkgrel}.tar.gz")
+
+package() {
+
+ #configures and makes package
+ cd "${srcdir}/${pkgname}-${pkgver}.${pkgrel}"
+ ./configure --with-mysql
+ make
+ make DESTDIR="${pkgdir}" install
+
+ #makes dir for /etc locations
+ mkdir "${pkgdir}/etc" -p
+
+ #makes dirs for /var locations
+ mkdir "${pkgdir}/var" -p
+ mkdir "${pkgdir}/var/log" -p
+ mkdir "${pkgdir}/var/log/$pkgname" -p
+
+ #makes /usr/bin, /usr should already be made from make\make install
+ mkdir "${pkgdir}/usr/bin"
+
+ #copy barnyard2.conf to /etc/barnyard2.conf and executable to /usr/bin/
+ cp "${pkgdir}/usr/local/etc/$pkgname.conf" "${pkgdir}/etc/"
+ cp "${pkgdir}/usr/local/bin/$pkgname" "${pkgdir}/usr/bin/"
+
+ #file permission mods and creation of initial .waldo file
+ chmod 666 "${pkgdir}/var/log/$pkgname"
+ touch "${pkgdir}/var/log/$pkgname/$pkgname.waldo"
+ chown snort.snort "${pkgdir}/var/log/$pkgname/$pkgname.waldo"
+
+ #not needed since conf is copied to /etc/ and barnyard is sent to /usr/bin
+ rm -rf "${pkgdir}/usr/local/"
+}
diff --git a/pcr/bison++/PKGBUILD b/pcr/bison++/PKGBUILD
new file mode 100644
index 000000000..947c41df4
--- /dev/null
+++ b/pcr/bison++/PKGBUILD
@@ -0,0 +1,51 @@
+# Contributor: Antonio Garcia-Dominguez <antonio.garciadominguez@uca.es>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=bison++
+pkgver=1.21.11
+pkgrel=1
+pkgdesc="Parser generator in C or C++ from BNF notation"
+arch=('i686' 'x86_64')
+url="http://packages.debian.org/bison++"
+license=('GPL')
+source=('http://ftp.de.debian.org/debian/pool/main/b/bison++/bison++_1.21.11.orig.tar.gz' 'http://ftp.de.debian.org/debian/pool/main/b/bison++/bison++_1.21.11-3.diff.gz')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Apply the Debian patch
+ patch -p1 < ../*.diff
+
+ # Fix the broken Makefile.am script
+ sed -e '
+ s/datadir/DESTDIR\)\$(datadir/
+ s/bindir/DESTDIR\)\$(bindir/
+ /^pkgdata_DATA/s/ Example$//
+ /install\-exec\-hook/i\install-data-hook:\
+\tcp -r $(srcdir)/Example $(DESTDIR)$(pkgdatadir)\
+' -i Makefile.am
+
+ # Bootstrap the autotools and compile
+ aclocal
+ automake --add-missing
+ autoreconf
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ # Remove or rename files that could conflict with regular Bison
+ rm "$pkgdir/usr/bin/bison"
+ mv "$pkgdir/usr/share/info/"{bison,bison++}.info
+ rm "$pkgdir/usr/share/man/man1/bison.1"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/bsnes/PKGBUILD b/pcr/bsnes/PKGBUILD
index 04c61bc30..04c61bc30 100755..100644
--- a/pcr/bsnes/PKGBUILD
+++ b/pcr/bsnes/PKGBUILD
diff --git a/pcr/bsnes/bsnes.changelog b/pcr/bsnes/bsnes.changelog
index 9328c9aee..9328c9aee 100755..100644
--- a/pcr/bsnes/bsnes.changelog
+++ b/pcr/bsnes/bsnes.changelog
diff --git a/pcr/bsnes/bsnes.install b/pcr/bsnes/bsnes.install
index 2e40f6bba..2e40f6bba 100755..100644
--- a/pcr/bsnes/bsnes.install
+++ b/pcr/bsnes/bsnes.install
diff --git a/pcr/chm2pdf/PKGBUILD b/pcr/chm2pdf/PKGBUILD
new file mode 100644
index 000000000..16586e732
--- /dev/null
+++ b/pcr/chm2pdf/PKGBUILD
@@ -0,0 +1,22 @@
+# Contributor: Rodrigo Coacci <rcoacci@gmail.com>
+# Contributor: fes0
+# Maintainer : Parabola GNU / Linux-libre Aurélien Desbrières <aurelien@cwb.IO>
+
+pkgname=chm2pdf
+pkgver=0.9.1
+pkgrel=1
+pkgdesc="A simple Python script that converts CHM files into PDF files."
+arch=('any')
+license=('GPL2')
+url="http://code.google.com/p/chm2pdf/"
+depends=('chmlib' 'python2' 'python2-pychm' 'htmldoc')
+optdepends=('beautiful-soup: A Python HTML/XML parser designed for quick turnaround projects like screen-scraping')
+source=('http://chm2pdf.googlecode.com/files/chm2pdf-0.9.1.tar.gz')
+
+
+build() {
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $srcdir/$pkgname-$pkgver/chm2pdf
+ cd $srcdir/$pkgname-$pkgver
+ python2 setup.py install --root=$startdir/pkg
+}
+
diff --git a/pcr/d0_blind_id-git/PKGBUILD b/pcr/d0_blind_id-git/PKGBUILD
index bfda13205..bfda13205 100755..100644
--- a/pcr/d0_blind_id-git/PKGBUILD
+++ b/pcr/d0_blind_id-git/PKGBUILD
diff --git a/pcr/emacs-mailcrypt/PKGBUILD b/pcr/emacs-mailcrypt/PKGBUILD
new file mode 100644
index 000000000..8dad422c0
--- /dev/null
+++ b/pcr/emacs-mailcrypt/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): Stefan Husmann <stefan-husmann@t-online.de>
+
+_pkgname=mailcrypt
+pkgname=emacs-$_pkgname
+pkgver=3.5.9
+pkgdesc="Emacs interface to PGP and GnuPG"
+url="http://mailcrypt.sourceforge.net/"
+license=('GPL')
+
+pkgrel=2.1
+arch=(any)
+depends=(emacs)
+install=$_pkgname.install
+source=(http://downloads.sourceforge.net/sourceforge/$_pkgname/$_pkgname-$pkgver.tar.gz
+ destdir.patch)
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/destdir.patch"
+ autoreconf
+ ./configure --prefix=/usr --infodir=/usr/share/info
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums=('18c0dea5dde0fc73168f4815df0d9db0'
+ '805f2c6bf624c946df2eefaf0edabcb3')
diff --git a/pcr/emacs-mailcrypt/destdir.patch b/pcr/emacs-mailcrypt/destdir.patch
new file mode 100644
index 000000000..a0159cd02
--- /dev/null
+++ b/pcr/emacs-mailcrypt/destdir.patch
@@ -0,0 +1,41 @@
+diff -ruN mailcrypt-3.5.9.orig/Makefile.in mailcrypt-3.5.9/Makefile.in
+--- mailcrypt-3.5.9.orig/Makefile.in 2010-03-11 08:38:05.000000000 -0500
++++ mailcrypt-3.5.9/Makefile.in 2012-12-13 18:38:59.000000000 -0500
+@@ -77,16 +77,16 @@
+
+ install: all installdirs install-info
+ for f in $(SOURCES); do \
+- $(INSTALL_DATA) $(srcdir)/$$f $(lispdir); \
++ $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(lispdir); \
+ done;
+ for f in $(OBJECTS); do \
+- $(INSTALL_DATA) $$f $(lispdir); \
++ $(INSTALL_DATA) $$f $(DESTDIR)$(lispdir); \
+ done;
+
+ # Make sure all installation directories actually exist
+ # by making them if necessary.
+ installdirs: mkinstalldirs
+- $(srcdir)/mkinstalldirs $(lispdir) $(infodir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(lispdir) $(DESTDIR)$(infodir)
+
+ # If your install-info doesn't know how to look inside the .info file for the
+ # menu entry to add, try adding
+@@ -95,14 +95,12 @@
+
+ install-info: info
+ cd $(srcdir) && for file in $(INFOFILES); do\
+- $(INSTALL_DATA) $$file $(infodir)/$$file; \
++ $(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$file; \
+ done
+- -$(INSTALL_INFO) --info-dir=$(infodir) mailcrypt.info
+
+ uninstall:
+- -cd $(lispdir) && rm -f $(SOURCES) $(OBJECTS)
+- -cd $(infodir) && rm -f $(INFOFILES)
+- $(INSTALL_INFO) --remove --info-dir=$(infodir) mailcrypt.info
++ -cd $(DESTDIR)$(lispdir) && rm -f $(SOURCES) $(OBJECTS)
++ -cd $(DESTDIR)$(infodir) && rm -f $(INFOFILES)
+
+ info: $(INFOFILES)
+
diff --git a/pcr/emacs-mailcrypt/mailcrypt.install b/pcr/emacs-mailcrypt/mailcrypt.install
new file mode 100644
index 000000000..3257b7338
--- /dev/null
+++ b/pcr/emacs-mailcrypt/mailcrypt.install
@@ -0,0 +1,22 @@
+infodir=usr/share/info
+filelist=(mailcrypt.info)
+
+post_install() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/emacs-newlisp/PKGBUILD b/pcr/emacs-newlisp/PKGBUILD
new file mode 100644
index 000000000..25dcbc219
--- /dev/null
+++ b/pcr/emacs-newlisp/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: Jan Krvek <wamba@centrum.cz>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Maintainer : Parabola GNU / Linux-libre Aurélien DESBRIÈRES <aurelien@cwb.IO>
+
+pkgname=emacs-newlisp
+pkgver=0.25
+pkgrel=5
+arch=('any')
+pkgdesc="Emacs mode for Newlisp."
+url="http://artfulcode.net/projects"
+depends=('emacs')
+makedepends=('unzip')
+license=('GPL')
+source=(http://www.artfulcode.net/wp-content/uploads/2008/12/newlisp-mode.zip)
+noextract=newlisp-mode.zip
+install=emacs-newlisp.install
+
+build() {
+ cd $srcdir
+ unzip -quo newlisp-mode.zip || return 1
+ cd $srcdir/newlisp-mode || return 1
+ install -d $pkgdir/usr/share/emacs/site-lisp/newlisp-mode
+ install -Dm644 *.el $pkgdir/usr/share/emacs/site-lisp/newlisp-mode
+}
diff --git a/pcr/emacs-newlisp/emacs-newlisp.install b/pcr/emacs-newlisp/emacs-newlisp.install
new file mode 100644
index 000000000..640e19d16
--- /dev/null
+++ b/pcr/emacs-newlisp/emacs-newlisp.install
@@ -0,0 +1,26 @@
+# vim: set ft=sh:
+post_install() {
+ echo "
+=> Autoloading:
+ ------------
+ In your .emacs or .init.el
+ (add-to-list 'load-path (expand-file-name \"/usr/share/emacs/site-lisp/newlisp-mode\"))
+ (add-to-list 'auto-mode-alist '(\"\\\\.lsp\\\\'\" . newlisp-mode))
+ (autoload 'newlisp-mode \"newlisp\" \"Turn on NewLisp mode\" t)
+ (turn-on-font-lock)
+
+=> Newlisp is started with the Emacs command M-x newlisp-mode."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/pcr/evolution-mapi/PKGBUILD b/pcr/evolution-mapi/PKGBUILD
new file mode 100644
index 000000000..851bb3c4d
--- /dev/null
+++ b/pcr/evolution-mapi/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Heenry78 <henry78@gmx.at>
+# Contributor: ngoonee <ngoonee.talk@gmail.com>
+# Contributor: Marco A Rojas <marquicus@gmail.com>
+pkgname=evolution-mapi
+pkgver=3.6.2
+_gnomever=3.6
+pkgrel=1
+pkgdesc="MAPI plugin for evolution."
+arch=('i686' 'x86_64')
+url="http://www.gnome.org"
+license=('GPL3')
+depends=('evolution>=3.6.2' 'openchange>=1.0-5')
+makedepends=('intltool')
+options=(!makeflags)
+source=(http://ftp.gnome.org/pub/gnome/sources/evolution-mapi/$_gnomever/${pkgname}-${pkgver}.tar.xz)
+_prefix="/opt/samba4"
+md5sums=('4b9eb953e499fca4e1bd7dbd9bf5c0c9')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ export PKG_CONFIG_PATH=${_prefix}/samba/lib/pkgconfig:${_prefix}/lib/pkgconfig
+
+ export CFLAGS="-DHAVE_MEMCTX_ON_CAST_SPROPVALUE -DHAVE_MEMCTX_ON_CAST_MAPI_SPROPVALUE ${CFLAGS}"
+ ./configure --prefix=${_prefix}
+ unset CFLAGS
+
+ make || return 1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/pcr/facter/PKGBUILD b/pcr/facter/PKGBUILD
new file mode 100644
index 000000000..956569001
--- /dev/null
+++ b/pcr/facter/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Greg Sutcliffe <facter_aur (at) emeraldreverie.orgr>
+# Contributor: Hyacinthe Cartiaux <hyacinthe.cartiaux@free.fr>
+# Contributor: Thomas S Hatch <thatch45 (at) Gmail.com>
+# Contributor: Dave Simons <miouhpi (at) Gmail (dot) com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres
+
+pkgname=facter
+pkgver=1.6.14
+pkgrel=1
+pkgdesc="A library for collecting facts about your system."
+arch=("any")
+url="http://puppetlabs.com/projects/facter/"
+license=("APACHE")
+depends=("ruby" "inetutils" "net-tools")
+options=(!emptydirs)
+source=(http://puppetlabs.com/downloads/facter/facter-$pkgver.tar.gz)
+md5sums=('b6c3df8ad1781c10d30785c58a4504ef')
+
+package() {
+ cd $srcdir/facter-$pkgver
+
+ ruby ./install.rb \
+ --destdir=$pkgdir \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin
+
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m 644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+}
diff --git a/pcr/ffmpeg-static/PKGBUILD b/pcr/ffmpeg-static/PKGBUILD
index 67ce115bb..1e5634fb6 100644
--- a/pcr/ffmpeg-static/PKGBUILD
+++ b/pcr/ffmpeg-static/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=ffmpeg-static
pkgver=1.0
-pkgrel=1
+pkgrel=2
epoch=1
pkgdesc='Complete and free Internet live audio and video broadcasting solution for GNU/Linux, with static library'
arch=(i686 x86_64 mips64el)
diff --git a/pcr/freeipmi/PKGBUILD b/pcr/freeipmi/PKGBUILD
new file mode 100644
index 000000000..ff321ea02
--- /dev/null
+++ b/pcr/freeipmi/PKGBUILD
@@ -0,0 +1,49 @@
+# http://github.com/fukawi2/aur-packages
+# Contributor: Nathan Owe <ndowens04 at gmail>
+# Contributor: Phillip Smith <fukawi2@NO-SPAM.gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurélien Desbrières <aurelien@cwb.IO>
+
+pkgname=freeipmi
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL)"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/freeipmi/"
+license=('GPL')
+depends=('libgcrypt')
+options=('!libtool')
+source=("http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --infodir=/usr/share/info
+
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir/ install
+
+ # Move init scripts and config to Arch paths
+ mv $pkgdir/etc/init.d $pkgdir/etc/rc.d
+ mv $pkgdir/etc/sysconfig $pkgdir/etc/conf.d
+
+ # Fix references to 'init.d' and 'sysconfig'
+ sed -e 's|/etc/init.d/|/etc/rc.d/|g' \
+ -e 's|/etc/rc.d/init.d/functions|/etc/rc.d/functions|g' \
+ -i $pkgdir/etc/rc.d/*
+ sed -e 's|CONFFILE=/etc/sysconfig/bmc-watchdog|CONFFILE=/etc/cond.f/bmc-watchdog|g' \
+ -i $pkgdir/etc/rc.d/bmc-watchdog
+
+ rm -Rf $pkgdir/usr/share/info/dir
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/gens-gs/PKGBUILD b/pcr/gens-gs/PKGBUILD
new file mode 100644
index 000000000..316c0af9c
--- /dev/null
+++ b/pcr/gens-gs/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: trya <tryagainprod@gmail.com>
+
+pkgname=gens-gs
+pkgver=r7
+pkgrel=5
+pkgdesc="An emulator of Sega Genesis, Sega CD and 32X, combining features from various forks of Gens"
+url="http://segaretro.org/Gens/GS"
+arch=('i686' 'x86_64')
+license=('GPL')
+if [[ $CARCH == "x86_64" ]]; then
+ depends=('lib32-gtk2' 'lib32-sdl' 'lib32-libgl')
+ makedepends=('nasm' 'gcc-multilib')
+ optdepends=('lib32-alsa-plugins: sound with Gens/GS for Pulseaudio users'
+ 'lib32-libpulse: sound with Gens/GS for Pulseaudio users')
+else
+ depends=('gtk2' 'sdl' 'libgl')
+ makedepends=('nasm' 'gcc')
+fi
+replaces=('bin32-gens-gs')
+conflicts=('gens' 'gens-gs-git' 'bin32-gens-gs' 'bin32-gens')
+options=('!libtool')
+source=("http://segaretro.org/images/6/6d/Gens-gs-r7.tar.gz"
+ gens-gtk.patch)
+md5sums=('bcb17b49774aa318a224c741028aabc3'
+ '94a8ea744dee8caea73db1223ac67dcd')
+
+build() {
+ if [ $CARCH == "x86_64" ]; then
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ fi
+
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np1 < ../gens-gtk.patch
+ if [ $CARCH == "x86_64" ]; then
+ i386 ./configure --prefix=/usr
+ else
+ ./configure --prefix=/usr LIBS="-ldl -lX11"
+ fi
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib/mdp/*.a"
+}
diff --git a/pcr/gens-gs/gens-gtk.patch b/pcr/gens-gs/gens-gtk.patch
new file mode 100644
index 000000000..0bc6fd0ee
--- /dev/null
+++ b/pcr/gens-gs/gens-gtk.patch
@@ -0,0 +1,187 @@
+diff -ru gens/src/gens/ui/gtk/about/about_window.cpp gens-build/src/gens/ui/gtk/about/about_window.cpp
+--- gens/src/gens/ui/gtk/about/about_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/about/about_window.cpp 2010-10-11 15:46:25.000000000 +0000
+@@ -84,7 +84,7 @@
+ gtk_window_set_position(GTK_WINDOW(about_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(about_window), FALSE);
+ gtk_window_set_type_hint(GTK_WINDOW(about_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(about_window), FALSE);
++ g_object_set(GTK_DIALOG(about_window), "has-separator", FALSE, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)about_window, "delete_event",
+diff -ru gens/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp gens-build/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp
+--- gens/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/bios_misc_files/bmf_window.cpp 2010-10-11 15:33:03.000000000 +0000
+@@ -84,7 +84,7 @@
+ gtk_window_set_position(GTK_WINDOW(bmf_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(bmf_window), FALSE);
+ gtk_window_set_type_hint(GTK_WINDOW(bmf_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(bmf_window), FALSE);
++ g_object_set(GTK_DIALOG(bmf_window), "has-separator", FALSE, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)bmf_window, "delete_event",
+diff -ru gens/src/gens/ui/gtk/directory_config/dir_window.cpp gens-build/src/gens/ui/gtk/directory_config/dir_window.cpp
+--- gens/src/gens/ui/gtk/directory_config/dir_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/directory_config/dir_window.cpp 2010-10-11 15:34:21.000000000 +0000
+@@ -109,7 +109,7 @@
+ gtk_window_set_position(GTK_WINDOW(dir_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(dir_window), FALSE);
+ gtk_window_set_type_hint(GTK_WINDOW(dir_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(dir_window), FALSE);
++ g_object_set(GTK_DIALOG(dir_window), "has-separator", FALSE, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)(dir_window), "delete_event",
+diff -ru gens/src/gens/ui/gtk/general_options/genopt_window.cpp gens-build/src/gens/ui/gtk/general_options/genopt_window.cpp
+--- gens/src/gens/ui/gtk/general_options/genopt_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/general_options/genopt_window.cpp 2010-10-11 15:36:00.000000000 +0000
+@@ -140,7 +140,7 @@
+ gtk_window_set_position(GTK_WINDOW(genopt_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(genopt_window), false);
+ gtk_window_set_type_hint(GTK_WINDOW(genopt_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(genopt_window), false);
++ g_object_set(GTK_DIALOG(genopt_window), "has-separator", false, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)genopt_window, "delete_event",
+@@ -458,11 +458,11 @@
+ gtk_box_pack_start(GTK_BOX(vboxIntroEffect), lblIntroEffect, false, false, 0);
+
+ // Dropdown for intro effect.
+- cboIntroEffect = gtk_combo_box_new_text();
+- gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "None");
+- gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "Gens Logo Effect");
+- gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "\"Crazy\" Effect");
+- //gtk_combo_box_append_text(GTK_COMBO_BOX(cboIntroEffect), "Genesis TMSS"); // TODO: Broken.
++ cboIntroEffect = gtk_combo_box_text_new();
++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "None");
++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "Gens Logo Effect");
++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "\"Crazy\" Effect");
++ //gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboIntroEffect), "Genesis TMSS"); // TODO: Broken.
+ gtk_widget_show(cboIntroEffect);
+ gtk_box_pack_start(GTK_BOX(vboxIntroEffect), cboIntroEffect, false, false, 0);
+ g_signal_connect((gpointer)(cboIntroEffect), "changed",
+diff -ru gens/src/gens/ui/gtk/gens/gens_window_callbacks.cpp gens-build/src/gens/ui/gtk/gens/gens_window_callbacks.cpp
+--- gens/src/gens/ui/gtk/gens/gens_window_callbacks.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/gens/gens_window_callbacks.cpp 2010-10-11 15:21:28.000000000 +0000
+@@ -154,9 +154,9 @@
+ GSFT_UNUSED_PARAMETER(y);
+ GSFT_UNUSED_PARAMETER(user_data);
+
+- if (context->targets)
++ if (gdk_drag_context_list_targets(context))
+ {
+- GdkAtom target_type = GDK_POINTER_TO_ATOM(g_list_nth_data(context->targets, 0));
++ GdkAtom target_type = GDK_POINTER_TO_ATOM(g_list_nth_data(gdk_drag_context_list_targets(context), 0));
+ gtk_drag_get_data(widget, context, target_type, time);
+ return true;
+ }
+diff -ru gens/src/gens/ui/gtk/opengl_resolution/glres_window.cpp gens-build/src/gens/ui/gtk/opengl_resolution/glres_window.cpp
+--- gens/src/gens/ui/gtk/opengl_resolution/glres_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/opengl_resolution/glres_window.cpp 2010-10-11 15:46:21.000000000 +0000
+@@ -75,7 +75,7 @@
+ gtk_window_set_position(GTK_WINDOW(glres_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(glres_window), FALSE);
+ gtk_window_set_type_hint(GTK_WINDOW(glres_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(glres_window), FALSE);
++ g_object_set(GTK_DIALOG(glres_window), "has-separator", FALSE, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)(glres_window), "delete_event",
+diff -ru gens/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp gens-build/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp
+--- gens/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/plugin_manager/pmgr_window.cpp 2010-10-11 15:46:29.000000000 +0000
+@@ -80,8 +80,7 @@
+ // Callbacks.
+ static gboolean pmgr_window_callback_close(GtkWidget *widget, GdkEvent *event, gpointer user_data);
+ static void pmgr_window_callback_response(GtkDialog *dialog, gint response_id, gpointer user_data);
+-static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, GtkNotebookPage *page,
+- guint page_num, gpointer user_data);
++static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, guint page_num, gpointer user_data);
+ static void pmgr_window_callback_lstPluginList_cursor_changed(GtkTreeView *tree_view, gpointer user_data);
+ static void pmgr_window_callback_fraPluginDesc_size_allocate(GtkWidget *widget, GtkAllocation *allocation, gpointer user_data);
+
+@@ -119,7 +118,7 @@
+ gtk_window_set_position(GTK_WINDOW(pmgr_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(pmgr_window), FALSE);
+ gtk_window_set_type_hint(GTK_WINDOW(pmgr_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(pmgr_window), FALSE);
++ g_object_set(GTK_DIALOG(pmgr_window), "has-separator", FALSE, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)pmgr_window, "delete_event",
+@@ -559,11 +558,9 @@
+ * @param page_num New notebook page index.
+ * @param user_data User data.
+ */
+-static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, GtkNotebookPage *page,
+- guint page_num, gpointer user_data)
++static void pmgr_window_callback_tabPluginList_switch_page(GtkNotebook *notebook, guint page_num, gpointer user_data)
+ {
+ GSFT_UNUSED_PARAMETER(notebook);
+- GSFT_UNUSED_PARAMETER(page);
+ GSFT_UNUSED_PARAMETER(user_data);
+
+ // Activate the "cursor-changed" callback for the page.
+diff -ru gens/src/gens/ui/gtk/select_cdrom/selcd_window.cpp gens-build/src/gens/ui/gtk/select_cdrom/selcd_window.cpp
+--- gens/src/gens/ui/gtk/select_cdrom/selcd_window.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/gens/ui/gtk/select_cdrom/selcd_window.cpp 2010-10-11 15:46:16.000000000 +0000
+@@ -94,7 +94,7 @@
+ gtk_window_set_position(GTK_WINDOW(selcd_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(selcd_window), FALSE);
+ gtk_window_set_type_hint(GTK_WINDOW(selcd_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(selcd_window), FALSE);
++ g_object_set(GTK_DIALOG(selcd_window), "has-separator", FALSE, NULL);
+
+ // Callbacks for if the window is closed.
+ g_signal_connect((gpointer)(selcd_window), "delete_event",
+@@ -128,7 +128,7 @@
+ gtk_box_pack_start(GTK_BOX(hboxDeviceName), lblDeviceName, false, false, 0);
+
+ // Create the dropdown for the CD-ROM device name.
+- cboDeviceName = gtk_combo_box_entry_new_text();
++ cboDeviceName = gtk_combo_box_text_new_with_entry();
+ gtk_entry_set_max_length(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(cboDeviceName))), 63);
+ gtk_label_set_mnemonic_widget(GTK_LABEL(lblDeviceName), cboDeviceName);
+ gtk_widget_show(cboDeviceName);
+@@ -156,7 +156,7 @@
+ gtk_box_pack_start(GTK_BOX(hboxDriveSpeed), vboxDriveSpeedDropdown, true, true, 0);
+
+ // Create the dropdown for the CD-ROM drive speed selection.
+- cboDriveSpeed = gtk_combo_box_new_text();
++ cboDriveSpeed = gtk_combo_box_text_new();
+ char tmpSpeed[16];
+ for (unsigned int i = 0; i < ((sizeof(CD_DriveSpeed) / sizeof(CD_DriveSpeed[0])) - 1); i++)
+ {
+@@ -167,7 +167,7 @@
+ else
+ szprintf(tmpSpeed, sizeof(tmpSpeed), "%dx", CD_DriveSpeed[i]);
+
+- gtk_combo_box_append_text(GTK_COMBO_BOX(cboDriveSpeed), tmpSpeed);
++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboDriveSpeed), tmpSpeed);
+ }
+ gtk_widget_show(cboDriveSpeed);
+ gtk_box_pack_start(GTK_BOX(vboxDriveSpeedDropdown), cboDriveSpeed, true, false, 0);
+@@ -252,7 +252,7 @@
+ continue;
+
+ // Add the device file.
+- gtk_combo_box_append_text(GTK_COMBO_BOX(cboDeviceName), tmpDeviceName);
++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cboDeviceName), tmpDeviceName);
+ }
+ }
+
+diff -ru gens/src/mdp/misc/game_genie/gg_window_gtk2.cpp gens-build/src/mdp/misc/game_genie/gg_window_gtk2.cpp
+--- gens/src/mdp/misc/game_genie/gg_window_gtk2.cpp 2010-10-11 16:32:29.000000000 +0000
++++ gens-build/src/mdp/misc/game_genie/gg_window_gtk2.cpp 2010-10-11 15:52:05.000000000 +0000
+@@ -111,7 +111,7 @@
+ gtk_window_set_position(GTK_WINDOW(gg_window), GTK_WIN_POS_CENTER);
+ gtk_window_set_resizable(GTK_WINDOW(gg_window), TRUE);
+ gtk_window_set_type_hint(GTK_WINDOW(gg_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+- gtk_dialog_set_has_separator(GTK_DIALOG(gg_window), FALSE);
++ g_object_set(GTK_DIALOG(gg_window), "has-separator", FALSE, NULL);
+
+ // Add the window icon.
+ GList *icon_list = NULL;
diff --git a/pcr/glance/PKGBUILD b/pcr/glance/PKGBUILD
new file mode 100644
index 000000000..a05e66686
--- /dev/null
+++ b/pcr/glance/PKGBUILD
@@ -0,0 +1,62 @@
+# Contributor: Josh Chase <jcjoshuachase@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=glance
+pkgver=2012.1.2
+pkgrel=1
+_ostackver=essex
+_clientname=python-glanceclient
+_clientver=0.5.1
+pkgdesc="OpenStack image service"
+arch=('any')
+license=('custom')
+url="https://launchpad.net/$pkgname"
+depends=('python2'
+ 'python2-httplib2'
+ 'python2-webob'
+ 'python2-eventlet'
+ 'python2-greenlet'
+ 'python-paste'
+ 'python-paste-deploy'
+ 'python-routes'
+ 'python2-sqlalchemy'
+ 'python2-migrate'
+ 'python2-passlib'
+ 'python2-lxml'
+ 'python-anyjson'
+ 'python-wsgiref'
+ 'python2-argparse'
+ 'python2-boto'
+ 'python-xattr'
+ 'python2-kombu'
+ 'python2-crypto'
+ 'python2-sendfile'
+ 'python2-iso8601')
+makedepends=('python2-distribute')
+source=("https://launchpad.net/$pkgname/$_ostackver/$pkgver/+download/$pkgname-$pkgver.tar.gz"
+ "http://pypi.python.org/packages/source/${_clientname:0:1}/$_clientname/$_clientname-$_clientver.tar.gz")
+
+build() {
+ cd $srcdir
+
+ find . -type f -exec sed -i -e 's|^#!/usr/bin/python$|#!/usr/bin/python2|' \
+ -e 's|^#!/usr/bin/env python$|#!/usr/bin/env python2|' {} +
+
+ cd $srcdir/$_clientname-$_clientver
+ python2 setup.py build
+
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_clientname-$_clientver
+ python2 setup.py install --root=$pkgdir
+
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -dm600 "$pkgdir"/etc/$pkgname
+ install -Dm600 etc/* "$pkgdir"/etc/$pkgname/
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/pcr/gtkmm-utils/PKGBUILD b/pcr/gtkmm-utils/PKGBUILD
new file mode 100644
index 000000000..e3fdfd4a0
--- /dev/null
+++ b/pcr/gtkmm-utils/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: TDY <tdy@gmx.com>
+# Contributor: Michele Vascellari <michele.vascellari@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=gtkmm-utils
+pkgver=0.4.1
+pkgrel=2
+pkgdesc="High level utility functions/classes/widgets for gtkmm and glibmm"
+arch=('i686' 'x86_64')
+url="http://gtkmm-utils.googlecode.com/"
+license=('GPL')
+depends=('gtkmm')
+makedepends=('pkgconfig>=0.9.0')
+source=(http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.gz
+ $pkgname-glib.diff)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/$pkgname-glib.diff"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/pcr/gtkmm-utils/gtkmm-utils-glib.diff b/pcr/gtkmm-utils/gtkmm-utils-glib.diff
new file mode 100644
index 000000000..fbe21bb3f
--- /dev/null
+++ b/pcr/gtkmm-utils/gtkmm-utils-glib.diff
@@ -0,0 +1,25 @@
+diff -Naur gtkmm-utils-0.4.1~/glibmm-utils/date.cc gtkmm-utils-0.4.1/glibmm-utils/date.cc
+--- gtkmm-utils-0.4.1~/glibmm-utils/date.cc 2012-11-21 11:43:42.726346909 -0600
++++ gtkmm-utils-0.4.1/glibmm-utils/date.cc 2012-11-21 11:44:27.172760954 -0600
+@@ -25,7 +25,7 @@
+
+ #include <sys/time.h>
+
+-#include <glib/gmessages.h>
++#include <glib.h>
+
+ #include <glibmm/convert.h>
+ #include <glibmm/date.h>
+diff -Naur gtkmm-utils-0.4.1~/glibmm-utils/ustring.cc gtkmm-utils-0.4.1/glibmm-utils/ustring.cc
+--- gtkmm-utils-0.4.1~/glibmm-utils/ustring.cc 2012-11-21 11:43:42.726346909 -0600
++++ gtkmm-utils-0.4.1/glibmm-utils/ustring.cc 2012-11-21 11:44:55.645930936 -0600
+@@ -20,8 +20,7 @@
+ */
+
+ #include <cstring> // for g++ 4.3
+-#include <glib/gmem.h>
+-#include <glib/gmessages.h>
++#include <glib.h>
+ #include "ustring.h"
+
+ namespace Glib {
diff --git a/pcr/initng-git/PKGBUILD b/pcr/initng-git/PKGBUILD
new file mode 100644
index 000000000..38279ad89
--- /dev/null
+++ b/pcr/initng-git/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): Jens Staal <staal1978@gmail.com>
+
+_pkgname=initng
+pkgname=initng-git
+pkgver=20120517.1043
+pkgdesc="A full replacement for the old System V Init system"
+url="http://initng.org/"
+license=('GPL3')
+
+pkgrel=1
+arch=('i686' 'x86_64')
+provides=('init')
+depends=('dbus')
+makedepends=('git' 'acr' 'ftjam' 'makepkg-git')
+optdepends=('ncurses')
+options=(!strip)
+source=('git://github.com/initng/initng.git' fixes.patch)
+backup=(etc/initng/killall5-ignore)
+
+pkgver() {
+ cd "$srcdir/$_pkgname"
+ date -u +%Y%m%d.%H%M -d "$(git log -n1 --date=iso --format=format:'%cd')"
+}
+
+build() {
+ cd "$srcdir/$_pkgname"
+ patch -Np1 -i "$srcdir/fixes.patch"
+ acr
+ ./configure --prefix="/usr" --sbindir=/sbin --sysconfdir=/etc
+ jam
+}
+
+package() {
+ cd "$srcdir/$_pkgname"
+
+ jam install DESTDIR="$pkgdir"
+ find "$pkgdir"/usr/lib -type f -name '*.so*' -exec chmod 755 {} +
+ find "$pkgdir"/sbin -type f -exec chmod 755 {} +
+ pushd "$pkgdir"/usr/lib
+ ln -s libngeclient.so.* libngeclient.so.0
+ ln -s libngcclient.so.* libngcclient.so.0
+ popd
+
+ install -d "$pkgdir"/usr/share/licenses/initng
+ install -m644 COPYING "$pkgdir"/usr/share/licenses/initng/
+ install -m644 AUTHORS "$pkgdir"/usr/share/licenses/initng/
+}
+
+md5sums=('SKIP'
+ 'bf6d17e00c5f0d85d99b7184980528ad')
diff --git a/pcr/initng-git/fixes.patch b/pcr/initng-git/fixes.patch
new file mode 100644
index 000000000..397965e38
--- /dev/null
+++ b/pcr/initng-git/fixes.patch
@@ -0,0 +1,31 @@
+diff -ru initng.orig/include/initng/io.h initng/include/initng/io.h
+--- initng.orig/include/initng/io.h 2012-12-11 03:45:20.000000000 -0500
++++ initng/include/initng/io.h 2012-12-11 03:44:30.000000000 -0500
+@@ -21,6 +21,7 @@
+ #define INITNG_IO_H
+
+ #include <unistd.h>
++#include <stdbool.h>
+ #include <fcntl.h>
+
+ #include <initng/active_db.h>
+@@ -43,6 +44,6 @@
+ pipe_h * pipe);
+ void initng_io_module_poll(int timeout);
+
+-int initng_io_set_cloexec(int fd);
++/* int initng_io_set_cloexec(int fd); */
+
+ #endif /* !defined(INITNG_IO_H) */
+diff -ru initng.orig/src/main/io/open.c initng/src/main/io/open.c
+--- initng.orig/src/main/io/open.c 2012-12-11 03:45:20.000000000 -0500
++++ initng/src/main/io/open.c 2012-12-11 03:44:30.000000000 -0500
+@@ -26,8 +26,5 @@
+ int fd;
+
+ fd = open(path, flags);
+- if (fd != -1) {
+- initng_io_fdtrack(fd);
+- }
+ return fd;
+ }
diff --git a/pcr/ipmitool/PKGBUILD b/pcr/ipmitool/PKGBUILD
new file mode 100644
index 000000000..38d4eb237
--- /dev/null
+++ b/pcr/ipmitool/PKGBUILD
@@ -0,0 +1,18 @@
+# Maintainer : Parabola GNU / Linux-libre Aurélien DESBRIÈRES <aurelien@cwb.IO>
+
+pkgname=ipmitool
+pkgver=1.8.11
+pkgrel=1
+pkgdesc="Command-line interface to IPMI-enabled devices"
+arch=(i686 x86_64)
+url="http://ipmitool.sourceforge.net"
+depends=('glibc' 'bash' 'openssl')
+license=("BSD")
+source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ ./configure --prefix=/usr --with-kerneldir
+ make || return 1
+ make DESTDIR=${startdir}/pkg install
+}
diff --git a/pcr/ipmiutil/PKGBUILD b/pcr/ipmiutil/PKGBUILD
new file mode 100644
index 000000000..132ea7c59
--- /dev/null
+++ b/pcr/ipmiutil/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: goodmen <goodmenlinux@gmail.com>
+# Contributor: Gergely Imreh <imrehgATgmailDOTcom>
+# Contributors: champus, madeye, Ranguvar and ninja_pt
+# Maintainer : Parabola GNU / Linux-libre Aurélien DESBRIÈRES <aurelien@cwb.IO>
+
+pkgname=ipmiutil
+pkgver=2.7.5
+pkgrel=1
+pkgdesc="A simple program that lists results from the hardware detection library."
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/ipmiutil/"
+license=('BSD2.0')
+depends=('')
+makedepends=('openssl')
+options=('!emptydirs')
+source=("http://prdownloads.sourceforge.net/ipmiutil/ipmiutil-${pkgver}.tar.gz")
+
+build() {
+ cd ${srcdir}
+ tar -xf ${pkgname}-${pkgver}.tar.gz
+
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure --enable-gpl
+ make -j1 || return 1
+ make DESTDIR=${pkgdir} install || return 1
+}
diff --git a/pcr/kervalasquish-hg/PKGBUILD b/pcr/kervalasquish-hg/PKGBUILD
index e5e489950..e5e489950 100755..100644
--- a/pcr/kervalasquish-hg/PKGBUILD
+++ b/pcr/kervalasquish-hg/PKGBUILD
diff --git a/pcr/libav-static/avconv-static b/pcr/libav-static/avconv-static
deleted file mode 100644
index 5f632bec0..000000000
--- a/pcr/libav-static/avconv-static
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avconv $*
diff --git a/pcr/libav-static/avplay-static b/pcr/libav-static/avplay-static
deleted file mode 100644
index 8db2da816..000000000
--- a/pcr/libav-static/avplay-static
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avplay $*
diff --git a/pcr/libav-static/avprobe-static b/pcr/libav-static/avprobe-static
deleted file mode 100644
index 44b730287..000000000
--- a/pcr/libav-static/avprobe-static
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avprobe $*
diff --git a/pcr/libav-static/avserver-static b/pcr/libav-static/avserver-static
deleted file mode 100644
index 642d4722c..000000000
--- a/pcr/libav-static/avserver-static
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avserver $*
diff --git a/pcr/libav-static/ffmpeg-libav-static b/pcr/libav-static/ffmpeg-libav-static
deleted file mode 100644
index 3f9ef6d52..000000000
--- a/pcr/libav-static/ffmpeg-libav-static
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/ffmpeg $*
diff --git a/pcr/libav-static/qt-faststart-libav-static b/pcr/libav-static/qt-faststart-libav-static
deleted file mode 100644
index 8613091c4..000000000
--- a/pcr/libav-static/qt-faststart-libav-static
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/qt-faststart $*
diff --git a/pcr/libav-static/PKGBUILD b/pcr/libav/PKGBUILD
index 932213a3e..6da6f14bd 100644
--- a/pcr/libav-static/PKGBUILD
+++ b/pcr/libav/PKGBUILD
@@ -4,12 +4,18 @@
# Contributor: Paul Mattal <paul@archlinux.org>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+static=false
pkgbase=libav
-pkgname=libav-static
-pkgflag=-static
+if [[ $static == true ]] || [[ $static == 1 ]] || [[ $static == enable ]]; then
+ pkgname=libav-static
+ pkgflag=-static
+ staticdesc=', with static library'
+elif [[ $static == false ]] || [[ $static == 0 ]] || [[ $static == disable ]]; then
+ pkgname=libav
+fi
pkgver=0.8.4
-pkgrel=2
-pkgdesc='Complete and free Internet live audio and video broadcasting solution for GNU/Linux, with static library'
+pkgrel=3
+pkgdesc="Complete and free Internet live audio and video broadcasting solution for GNU/Linux$staticdesc"
arch=(
i686
x86_64
@@ -45,21 +51,9 @@ makedepends=(
)
source=(
http://$pkgbase.org/releases/$pkgbase-$pkgver.tar.gz
- avconv$pkgflag
- avplay$pkgflag
- avprobe$pkgflag
- avserver$pkgflag
- ffmpeg-$pkgname
- qt-faststart-$pkgname
)
sha512sums=(
d402c7d586708e29b92340c4d03d8431fe607f0b88c2762cc95671786cdb9a7221968164b571e11086b53b2169f3a657c6106dc769c04a1a035429d011e72610
- 4a98c459df5f5bc5e42580b5f2081509719c057fdf55693b3554006b21adcaa29ee59ac0debfe0486fe1df8b9a937135d99e4ccc2df894a2634dd314eed93114
- afd2eadd0a0522cd3665ccd2b819f06a99cc50e3bdac3a0ef200861664c7084cc5990a3c1a860f2f0cc9f835c33c09cb5c57a25dbab0673eb74ba0f4c980e539
- 4e557c9eab6a97a3206df1dd49a516ae7be9490c894ff212cb5286ee097ae606c0b7a650c75278a71e4c91d0325eaee729937e1ae659ce0887c3c20ea8fe6333
- f0fa50711d19babf3f485189fb37b17a87f31849dad9cf6a7324601bdde0856fe47d55a4d82c6839c93f39e970edcbeecfbcb70a8b4e7570250fa4c7bb6975fb
- 8101ec9c3e0a945ea89f85f81ace52ce67159661e3440668726a5767ba6250a91533494f1aa8fc30ee97ff9af5d64636d0f0dbcb2da862124d35b6b5ec571f5b
- 0133fae31e1df586317deb7235f5e74d22abd007038f82b9df10ea3eea6748945c50a0bbe8f588e8a5d1b7874b3fa2639430e1efa32b0cfe16383a32751d3245
)
build() {
@@ -114,7 +108,7 @@ package() {
ln -s /opt/$pkgname/share/man/man1/avprobe.1 $pkgdir/usr/share/man/man1/avprobe$pkgflag.1
ln -s /opt/$pkgname/share/man/man1/avserver.1 $pkgdir/usr/share/man/man1/avserver$pkgflag.1
ln -s /opt/$pkgname/share/man/man1/ffmpeg.1 $pkgdir/usr/share/man/man1/ffmpeg-$pkgname.1
- echo /opt/libav-static/lib > $pkgdir/etc/ld.so.conf.d/libav-static.conf
+ echo /opt/libav$pkgflag/lib > $pkgdir/etc/ld.so.conf.d/libav$pkgflag.conf
}
# vim:set ts=2 sw=2 et:
diff --git a/pcr/libcacard/PKGBUILD b/pcr/libcacard/PKGBUILD
index 0886b9847..0886b9847 100755..100644
--- a/pcr/libcacard/PKGBUILD
+++ b/pcr/libcacard/PKGBUILD
diff --git a/pcr/libnatpmp-from-social-repo/PKGBUILD b/pcr/libnatpmp-from-social-repo/PKGBUILD
new file mode 100644
index 000000000..ded1e6ca5
--- /dev/null
+++ b/pcr/libnatpmp-from-social-repo/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Pierre Bourdon <delroth@gmail.com>
+
+pkgname=libnatpmp
+pkgver=20120821
+pkgrel=1
+pkgdesc="A portable and fully compliant implementation of the NAT-PMP protocol"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://miniupnp.free.fr/libnatpmp.html"
+license=('BSD')
+depends=('glibc')
+makedepends=()
+source=(libnatpmp-$pkgver.tar.gz::http://miniupnp.free.fr/files/download.php?file=libnatpmp-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make INSTALLPREFIX="$pkgdir/usr" \
+ INSTALLDIRINC="$pkgdir/usr/include/libnatpmp" install
+
+ # Needed by some packages
+ install -m 644 getgateway.h declspec.h "$pkgdir/usr/include/libnatpmp"
+
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('d2b9c2dedba3a00deb0e7589982ceced')
diff --git a/pcr/log4cxx/PKGBUILD b/pcr/log4cxx/PKGBUILD
new file mode 100644
index 000000000..c77813e56
--- /dev/null
+++ b/pcr/log4cxx/PKGBUILD
@@ -0,0 +1,24 @@
+pkgname=log4cxx
+pkgver=0.10.0
+pkgrel=2
+pkgdesc="A C++ port of Log4j"
+url="http://logging.apache.org/log4cxx"
+license="APACHE"
+depends=('apr-util' 'libxml2')
+arch=('i686' 'x86_64')
+makedepends=('autoconf' 'automake' 'libtool' 'patch' 'zip' 'gzip' 'sed')
+
+source=(http://archive.apache.org/dist/logging/$pkgname/$pkgver/apache-$pkgname-$pkgver.tar.gz
+ log4cxx-0.10.0-missing_includes.patch)
+md5sums=('b30ffb8da3665178e68940ff7a61084c'
+ 'dfa17719a57b19f12cbef94419a2aac8')
+
+build() {
+ cd $startdir/src/apache-$pkgname-$pkgver
+
+ patch -p1 < $startdir/log4cxx-0.10.0-missing_includes.patch
+
+ ./configure --prefix=/usr --disable-static
+ make || return 1
+ make DESTDIR=$startdir/pkg install
+}
diff --git a/pcr/log4cxx/log4cxx-0.10.0-missing_includes.patch b/pcr/log4cxx/log4cxx-0.10.0-missing_includes.patch
new file mode 100644
index 000000000..9f3534ccc
--- /dev/null
+++ b/pcr/log4cxx/log4cxx-0.10.0-missing_includes.patch
@@ -0,0 +1,38 @@
+diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp
+--- apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp 2008-04-01 00:34:52.000000000 +0200
++++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2008-05-06 05:40:52.000000000 +0200
+@@ -15,7 +15,10 @@
+ * limitations under the License.
+ */
+
+-#include <stdlib.h>
++#include <cstdio>
++#include <cstdlib>
++#include <cstring>
++#include <stdint.h>
+ #include <log4cxx/logger.h>
+ #include <log4cxx/consoleappender.h>
+ #include <log4cxx/simplelayout.h>
+diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp
+--- apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp 2008-04-01 00:34:09.000000000 +0200
++++ apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp 2008-05-06 05:32:31.000000000 +0200
+@@ -21,6 +21,8 @@
+ #include <log4cxx/helpers/pool.h>
+ #include <log4cxx/helpers/bytebuffer.h>
+
++#include <cstring>
++
+ using namespace log4cxx;
+ using namespace log4cxx::helpers;
+
+diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp
+--- apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp 2008-04-01 00:34:09.000000000 +0200
++++ apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp 2008-05-06 05:35:55.000000000 +0200
+@@ -20,6 +20,8 @@
+ #include <log4cxx/helpers/socket.h>
+ #include <log4cxx/helpers/bytebuffer.h>
+
++#include <cstring>
++
+ using namespace log4cxx;
+ using namespace log4cxx::helpers;
diff --git a/pcr/mediatomb/PKGBUILD b/pcr/mediatomb/PKGBUILD
new file mode 100644
index 000000000..f07e12748
--- /dev/null
+++ b/pcr/mediatomb/PKGBUILD
@@ -0,0 +1,63 @@
+# Contributor: Peter Richard Lewis <plewis@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Nikhil Bysani <nikron@gmail.com>
+# Contributor: Mika Hynnä <igheax@gmail.com>
+# Contributor: Jonathan Conder <jonno.conder@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=mediatomb
+pkgver=0.12.1
+pkgrel=11
+pkgdesc="Free UPnP/DLNA media server"
+arch=('i686' 'x86_64')
+url="http://mediatomb.cc/"
+license=('GPL')
+depends=('file' 'curl' 'ffmpegthumbnailer' 'js' 'libexif' 'libmp4v2' 'sqlite3' 'taglib' 'libmysqlclient')
+optdepends=('mysql: to store your music database in mysql')
+backup=('etc/conf.d/mediatomb')
+install=mediatomb.install
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'mediatomb.rc'
+ 'mediatomb.conf'
+ 'gcc46.patch'
+ 'tonewjs.patch'
+ 'jsparse.patch'
+ 'libav_0.7_support.patch'
+ 'libmp4v2_191_p497.patch'
+ 'libavformat.patch')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/gcc46.patch"
+ patch -Np1 -i "$srcdir/tonewjs.patch"
+ patch -Np1 -i "$srcdir/jsparse.patch"
+ patch -Np1 -i "$srcdir/libav_0.7_support.patch"
+ patch -Np1 -i "$srcdir/libmp4v2_191_p497.patch"
+ patch -Np1 -i "$srcdir/libavformat.patch"
+
+ ./configure --prefix=/usr \
+ --enable-mysql \
+ --enable-libmagic \
+ --enable-libjs \
+ --enable-ffmpeg
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+
+ install -D -m0755 "$srcdir/mediatomb.rc" "$pkgdir/etc/rc.d/mediatomb"
+ install -D -m0755 "$srcdir/mediatomb.conf" "$pkgdir/etc/conf.d/mediatomb"
+ install -d "$pkgdir/var/lib/mediatomb"
+}
+sha256sums=('31163c34a7b9d1c9735181737cb31306f29f1f2a0335fb4f53ecccf8f62f11cd'
+ '1a67a1deb8a41467fe9bbf66358a255f0df97b0170a5fc3d48c1f768c8d328b9'
+ 'ba9753a4a380d4c717c987efec03a3c6d401d3ff93a6fced28098adbd3a44cc9'
+ '0c02a20032f0c296800b1bb9644638970c2dedbc5ab7141d66a637235e9da6ce'
+ '2cd8f5628c3a38b290526f008bae351b90211825f86e5959bf95f140748de574'
+ 'd9a3062858900d32b977f0d50d168fd7d36785b6ecc038c019e661e27f7b1c17'
+ 'c6523e8bf5e2da89b7475d6777ef9bffe7d089752ef2f7b27b5e39a4130fb0ff'
+ 'd39c2f9aab051c5447461718fd0ec72cf5982f6c920a4a985a50831f34babe84'
+ '76b11706d70ed8f5e157d96ca441c90c46c42176102fcb651b4ab1102b61bfee')
diff --git a/pcr/mediatomb/gcc46.patch b/pcr/mediatomb/gcc46.patch
new file mode 100644
index 000000000..0f4fe490f
--- /dev/null
+++ b/pcr/mediatomb/gcc46.patch
@@ -0,0 +1,10 @@
+--- a/src/zmm/object.h
++++ b/src/zmm/object.h
+@@ -33,6 +33,7 @@
+ #define __ZMM_OBJECT_H__
+
+ #include <new> // for size_t
++#include <cstddef>
+ #include "atomic.h"
+
+ namespace zmm
diff --git a/pcr/mediatomb/jsparse.patch b/pcr/mediatomb/jsparse.patch
new file mode 100644
index 000000000..9938939b0
--- /dev/null
+++ b/pcr/mediatomb/jsparse.patch
@@ -0,0 +1,144 @@
+diff -rup mediatomb-0.12.1/src/scripting/js_functions.cc ../mediatomb-0.12.1/src/scripting/js_functions.cc
+--- mediatomb-0.12.1/src/scripting/js_functions.cc 2011-06-29 21:51:13.641025479 -0400
++++ ../mediatomb-0.12.1/src/scripting/js_functions.cc 2011-06-29 21:49:21.071800273 -0400
+@@ -51,15 +51,28 @@ extern "C" {
+ JSBool
+ js_print(JSContext *cx, uintN argc, jsval *argv)
+ {
+- uintN i;
++ uintN i, j;
+ JSString *str;
+
+ for (i = 0; i < argc; i++)
+ {
+- str = JS_ValueToString(cx, argv[i]);
++ String fmtStr;
++ for (j = 0; j < argc; j++)
++ {
++ if (j == i)
++ fmtStr = fmtStr + "S";
++ else
++ fmtStr = fmtStr + "*";
++ }
++ if(!JS_ConvertArguments(cx, 1, JS_ARGV(cx, argv), fmtStr.c_str(), &str))
++ {
++ log_debug("Could not parse input arguments\n");
++ return JS_TRUE;
++ }
++
+ if (!str)
+ return JS_TRUE;
+- argv[i] = STRING_TO_JSVAL(str);
++
+ char * log_str = JS_EncodeString(cx, str);
+ log_js("%s\n", log_str);
+ JS_free(cx, log_str);
+@@ -116,24 +129,54 @@ js_addCdsObject(JSContext *cx, uintN arg
+ {
+ try
+ {
+- jsval arg;
+- JSString *str;
+- String path;
+- String containerclass;
++ // Inputs from native code
++ JSObject *js_cds_obj = NULL;
++ JSString *str = NULL;
++ JSString *cont = NULL;
+
+- JSObject *js_cds_obj;
++ String path = nil;
++ String containerclass = nil;
++
++ JSObject *obj = JS_THIS_OBJECT(cx, argv);
+ JSObject *js_orig_obj = NULL;
+ Ref<CdsObject> orig_object;
+
+ Ref<StringConverter> p2i;
+ Ref<StringConverter> i2i;
++ switch (argc)
++ {
++ case 0:
++ log_debug("No input arguments given\n");
++ return JS_FALSE;
++ case 1:
++ if(!JS_ConvertArguments(cx, 1, JS_ARGV(cx, argv), "o", &js_cds_obj))
++ {
++ log_debug("Could not parse input arguments\n");
++ return JS_TRUE;
++ }
++ break;
++ case 2:
++ if(!JS_ConvertArguments(cx, 2, JS_ARGV(cx, argv), "oS", &js_cds_obj, &str))
++ {
++ log_debug("Could not parse input arguments\n");
++ return JS_TRUE;
++ }
++ break;
++ default:
++ if(!JS_ConvertArguments(cx, 3, JS_ARGV(cx, argv), "oSS", &js_cds_obj, &str, &cont))
++ {
++ log_debug("Could not parse input arguments\n");
++ return JS_TRUE;
++ }
++ break;
++ }
+
+- Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
++ Script *self = (Script *)JS_GetPrivate(cx, obj);
+
+ if (self == NULL)
+ {
+ log_debug("Could not retrieve class instance from global object\n");
+- return JS_FALSE;
++ return JS_TRUE;
+ }
+
+ if (self->whoami() == S_PLAYLIST)
+@@ -144,23 +187,14 @@ js_addCdsObject(JSContext *cx, uintN arg
+ {
+ i2i = StringConverter::i2i();
+ }
+-
+- arg = argv[0];
+- if (!JSVAL_IS_OBJECT(arg))
+- return JS_TRUE;
+- if (!JS_ValueToObject(cx, arg, &js_cds_obj))
+- return JS_TRUE;
+
+- // root it
+- argv[0] = OBJECT_TO_JSVAL(js_cds_obj);
+
+- str = JS_ValueToString(cx, argv[1]);
+ if (!str)
+ path = _("/");
+ else
+ path = JS_EncodeString(cx, str);
+
+- JSString *cont = JS_ValueToString(cx, argv[2]);
++
+ if (cont)
+ {
+ containerclass = JS_EncodeString(cx, cont);
+@@ -169,9 +203,9 @@ js_addCdsObject(JSContext *cx, uintN arg
+ }
+
+ if (self->whoami() == S_PLAYLIST)
+- js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("playlist"));
++ js_orig_obj = self->getObjectProperty(obj, _("playlist"));
+ else if (self->whoami() == S_IMPORT)
+- js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("orig"));
++ js_orig_obj = self->getObjectProperty(obj, _("orig"));
+
+ if (js_orig_obj == NULL)
+ {
+@@ -179,9 +213,6 @@ js_addCdsObject(JSContext *cx, uintN arg
+ return JS_TRUE;
+ }
+
+- // root it
+- argv[1] = OBJECT_TO_JSVAL(js_orig_obj);
+-
+ orig_object = self->jsObject2cdsObject(js_orig_obj, self->getProcessedObject());
+ if (orig_object == nil)
+ return JS_TRUE;
diff --git a/pcr/mediatomb/libav_0.7_support.patch b/pcr/mediatomb/libav_0.7_support.patch
new file mode 100644
index 000000000..e25697c50
--- /dev/null
+++ b/pcr/mediatomb/libav_0.7_support.patch
@@ -0,0 +1,64 @@
+=== modified file 'src/metadata/ffmpeg_handler.cc'
+--- old/src/metadata/ffmpeg_handler.cc 2010-08-25 17:07:03 +0000
++++ new/src/metadata/ffmpeg_handler.cc 2011-05-19 04:33:32 +0000
+@@ -89,6 +89,33 @@
+
+ Ref<StringConverter> sc = StringConverter::m2i();
+
++ /* Tabs are 4 characters here */
++ typedef struct {const char *avname; metadata_fields_t field;} mapping_t;
++ static const mapping_t mapping[] =
++ {
++ {"title", M_TITLE},
++ {"artist", M_ARTIST},
++ {"album", M_ALBUM},
++ {"date", M_DATE},
++ {"genre", M_GENRE},
++ {"comment", M_DESCRIPTION},
++ {"track", M_TRACKNUMBER},
++ {NULL, M_MAX},
++ };
++
++ if (!pFormatCtx->metadata)
++ return;
++ for (const mapping_t *m = mapping; m->avname != NULL; m++)
++ {
++ AVMetadataTag *tag = NULL;
++ tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0);
++ if (tag && tag->value && tag->value[0])
++ {
++ log_debug("Added metadata %s: %s\n", m->avname, tag->value);
++ item->setMetadata(MT_KEYS[m->field].upnp, sc->convert(tag->value));
++ }
++ }
++ /* Old algorithm (doesn't work with libav >= 0.7)
+ if (strlen(pFormatCtx->title) > 0)
+ {
+ log_debug("Added metadata title: %s\n", pFormatCtx->title);
+@@ -131,6 +158,7 @@
+ item->setMetadata(MT_KEYS[M_TRACKNUMBER].upnp,
+ sc->convert(String::from(pFormatCtx->track)));
+ }
++ */
+ }
+
+ // ffmpeg library calls
+@@ -178,7 +206,7 @@
+ for(i=0; i<pFormatCtx->nb_streams; i++)
+ {
+ AVStream *st = pFormatCtx->streams[i];
+- if((st != NULL) && (videoset == false) && (st->codec->codec_type == CODEC_TYPE_VIDEO))
++ if((st != NULL) && (videoset == false) && (st->codec->codec_type == AVMEDIA_TYPE_VIDEO))
+ {
+ if (st->codec->codec_tag > 0)
+ {
+@@ -209,7 +237,7 @@
+ *y = st->codec->height;
+ }
+ }
+- if(st->codec->codec_type == CODEC_TYPE_AUDIO)
++ if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ // Increase number of audiochannels
+ audioch++;
+
diff --git a/pcr/mediatomb/libavformat.patch b/pcr/mediatomb/libavformat.patch
new file mode 100644
index 000000000..96685ea15
--- /dev/null
+++ b/pcr/mediatomb/libavformat.patch
@@ -0,0 +1,52 @@
+--- mediatomb-0.12.1.orig/src/metadata/ffmpeg_handler.cc 2012-06-18 02:50:35.000000000 -0400
++++ mediatomb-0.12.1/src/metadata/ffmpeg_handler.cc 2012-06-18 02:59:02.000000000 -0400
+@@ -107,8 +107,8 @@
+ return;
+ for (const mapping_t *m = mapping; m->avname != NULL; m++)
+ {
+- AVMetadataTag *tag = NULL;
+- tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0);
++ AVDictionaryEntry *tag = NULL;
++ tag = av_dict_get(pFormatCtx->metadata, m->avname, NULL, 0);
+ if (tag && tag->value && tag->value[0])
+ {
+ log_debug("Added metadata %s: %s\n", m->avname, tag->value);
+@@ -278,7 +278,7 @@
+ int x = 0;
+ int y = 0;
+
+- AVFormatContext *pFormatCtx;
++ AVFormatContext *pFormatCtx = avformat_alloc_context();
+
+ // Suppress all log messages
+ av_log_set_callback(FfmpegNoOutputStub);
+@@ -286,15 +286,15 @@
+ // Register all formats and codecs
+ av_register_all();
+
+- // Open video file
+- if (av_open_input_file(&pFormatCtx,
+- item->getLocation().c_str(), NULL, 0, NULL) != 0)
++ // Open video file
++ if (avformat_open_input(&pFormatCtx,
++ item->getLocation().c_str(), NULL, NULL) != 0)
+ return; // Couldn't open file
+
+ // Retrieve stream information
+- if (av_find_stream_info(pFormatCtx) < 0)
++ if (avformat_find_stream_info(pFormatCtx,NULL) < 0)
+ {
+- av_close_input_file(pFormatCtx);
++ avformat_close_input(&pFormatCtx);
+ return; // Couldn't find stream information
+ }
+ // Add metadata using ffmpeg library calls
+@@ -303,7 +303,7 @@
+ addFfmpegResourceFields(item, pFormatCtx, &x, &y);
+
+ // Close the video file
+- av_close_input_file(pFormatCtx);
++ avformat_close_input(&pFormatCtx);
+ }
+
+ Ref<IOHandler> FfmpegHandler::serveContent(Ref<CdsItem> item, int resNum, off_t *data_size)
diff --git a/pcr/mediatomb/libmp4v2_191_p497.patch b/pcr/mediatomb/libmp4v2_191_p497.patch
new file mode 100644
index 000000000..6a6b51e1e
--- /dev/null
+++ b/pcr/mediatomb/libmp4v2_191_p497.patch
@@ -0,0 +1,187 @@
+diff -urN old/src/metadata/libmp4v2_handler.cc new/src/metadata/libmp4v2_handler.cc
+--- old/src/metadata/libmp4v2_handler.cc 2012-04-05 01:46:26.000000000 +0200
++++ new/src/metadata/libmp4v2_handler.cc 2012-04-05 02:01:24.000000000 +0200
+@@ -65,29 +65,28 @@
+ static void addMetaField(metadata_fields_t field, MP4FileHandle mp4, Ref<CdsItem> item)
+ {
+ String value;
+- char* mp4_retval = NULL;
+- u_int16_t track;
+- u_int16_t total_tracks;
+-
+ Ref<StringConverter> sc = StringConverter::i2i();
+
++ const MP4Tags* new_tags = MP4TagsAlloc();
++
++ if (!MP4TagsFetch(new_tags, mp4))
++ return;
++
+ switch (field)
+ {
+ case M_TITLE:
+- MP4GetMetadataName(mp4, &mp4_retval);
++ value = new_tags->name;
+ break;
+ case M_ARTIST:
+- MP4GetMetadataArtist(mp4, &mp4_retval);
++ value = new_tags->artist;
+ break;
+ case M_ALBUM:
+- MP4GetMetadataAlbum(mp4, &mp4_retval);
++ value = new_tags->album;
+ break;
+ case M_DATE:
+- MP4GetMetadataYear(mp4, &mp4_retval);
+- if (mp4_retval)
++ value = new_tags->releaseDate;
++ if (value.length() > 0)
+ {
+- value = mp4_retval;
+- free(mp4_retval);
+ if (string_ok(value))
+ value = value + "-01-01";
+ else
+@@ -95,34 +94,31 @@
+ }
+ break;
+ case M_GENRE:
+- MP4GetMetadataGenre(mp4, &mp4_retval);
++ value = new_tags->genre;
+ break;
+ case M_DESCRIPTION:
+- MP4GetMetadataComment(mp4, &mp4_retval);
++ value = new_tags->comments;
+ break;
+ case M_TRACKNUMBER:
+- MP4GetMetadataTrack(mp4, &track, &total_tracks);
+- if (track > 0)
++ if (new_tags->track)
+ {
+- value = String::from(track);
+- item->setTrackNumber((int)track);
++ value = String::from(new_tags->track->index);
++ item->setTrackNumber((int)new_tags->track->index);
+ }
+ else
++ {
++ MP4TagsFree( new_tags );
+ return;
++ }
+ break;
+ default:
++ MP4TagsFree( new_tags );
+ return;
+ }
+
+- if ((field != M_DATE) && (field != M_TRACKNUMBER) &&
+- (mp4_retval))
+- {
+- value = mp4_retval;
+- free(mp4_retval);
+- }
+-
++ MP4TagsFree( new_tags );
+ value = trim_string(value);
+-
++
+ if (string_ok(value))
+ {
+ item->setMetadata(MT_KEYS[field].upnp, sc->convert(value));
+@@ -190,14 +186,19 @@
+ }
+
+ #if defined(HAVE_MAGIC)
+- u_int8_t *art_data;
+- u_int32_t art_data_len;
++ void *art_data = 0;
++ u_int32_t art_data_len = 0;
+ String art_mimetype;
++
++ const MP4Tags* new_tags = MP4TagsAlloc();
++ MP4TagsFetch(new_tags, mp4);
++ if (new_tags->artworkCount)
++ {
++ art_data = new_tags->artwork->data;
++ art_data_len = new_tags->artwork->size;
++ }
+ #ifdef HAVE_MP4_GET_METADATA_COVER_ART_COUNT
+- if (MP4GetMetadataCoverArtCount(mp4) &&
+- MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len))
+-#else
+- MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len);
++ if (new_tags->artworkCount && art_data_len > 0)
+ #endif
+ {
+ if (art_data)
+@@ -211,11 +212,10 @@
+ }
+ catch (Exception ex)
+ {
+- free(art_data);
++ MP4TagsFree(new_tags);
+ throw ex;
+ }
+
+- free(art_data);
+ if (art_mimetype != _(MIMETYPE_DEFAULT))
+ {
+ Ref<CdsResource> resource(new CdsResource(CH_MP4));
+@@ -225,6 +225,7 @@
+ }
+ }
+ }
++ MP4TagsFree(new_tags);
+ #endif
+ MP4Close(mp4);
+ }
+@@ -249,26 +250,35 @@
+
+ if (ctype != ID3_ALBUM_ART)
+ throw _Exception(_("LibMP4V2Handler: got unknown content type: ") + ctype);
++
++ const MP4Tags* new_tags = MP4TagsAlloc();
++ if (MP4TagsFetch(new_tags, mp4))
++ {
+ #ifdef HAVE_MP4_GET_METADATA_COVER_ART_COUNT
+- if (!MP4GetMetadataCoverArtCount(mp4))
+- throw _Exception(_("LibMP4V2Handler: resource has no album art information"));
++ if (!new_tags->artworkCount)
++ throw _Exception(_("LibMP4V2Handler: resource has no album art information"));
+ #endif
+- u_int8_t *art_data;
+- u_int32_t art_data_len;
+- if (MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len))
+- {
+- if (art_data)
++ void *art_data = 0;
++ u_int32_t art_data_len;
++
++ const MP4TagArtwork* art = new_tags->artwork;
++ art_data = art->data;
++ art_data_len = art->size;
++ if (art)
+ {
+- *data_size = (off_t)art_data_len;
+- Ref<IOHandler> h(new MemIOHandler((void *)art_data, art_data_len));
+- free(art_data);
+- return h;
++ if (art_data)
++ {
++ *data_size = (off_t)art_data_len;
++ Ref<IOHandler> h(new MemIOHandler(art_data, art_data_len));
++ MP4TagsFree(new_tags);
++ return h;
++ }
+ }
++ MP4TagsFree(new_tags);
+ }
+-
+ throw _Exception(_("LibMP4V2Handler: could not serve album art "
+- "for file") + item->getLocation() +
+- " - embedded image not found");
++ "for file") + item->getLocation() +
++ " - embedded image not found");
+ }
+
+ #endif // HAVE_LIBMP4V2
+De binära filerna old/src/metadata/.libmp4v2_handler.cc.swp och new/src/metadata/.libmp4v2_handler.cc.swp skiljer
diff --git a/pcr/mediatomb/mediatomb.conf b/pcr/mediatomb/mediatomb.conf
new file mode 100644
index 000000000..798018d2a
--- /dev/null
+++ b/pcr/mediatomb/mediatomb.conf
@@ -0,0 +1,23 @@
+#
+# Parameters to be passed to mediatomb
+#
+
+# Port to listen on
+MT_PORT='50500'
+
+# User and group to run as
+MT_USER='nobody'
+MT_GROUP='nobody'
+
+# Location of the PID file
+MT_PIDFILE='/var/run/mediatomb.pid'
+
+# Location of the log file
+MT_LOGFILE='/var/log/mediatomb.log'
+
+# Location of the config file/database
+MT_HOME='/var/lib/mediatomb'
+MT_CFGDIR='.mediatomb'
+
+# User defined command line options
+MT_OPTIONS=''
diff --git a/pcr/mediatomb/mediatomb.install b/pcr/mediatomb/mediatomb.install
new file mode 100644
index 000000000..56f6ef92c
--- /dev/null
+++ b/pcr/mediatomb/mediatomb.install
@@ -0,0 +1,9 @@
+post_install() {
+ echo 'Warning: the MediaTomb web interface exposes your filesystem to the network'
+ echo 'For maximum security, set <ui enabled="no"> in your MediaTomb config file'
+}
+
+post_upgrade() {
+ # TODO: disable next update
+ post_install
+}
diff --git a/pcr/mediatomb/mediatomb.rc b/pcr/mediatomb/mediatomb.rc
new file mode 100644
index 000000000..7b93012cd
--- /dev/null
+++ b/pcr/mediatomb/mediatomb.rc
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/mediatomb
+
+MT_OPTIONS="-p $MT_PORT -u $MT_USER -g $MT_GROUP -P $MT_PIDFILE \
+ -l $MT_LOGFILE -m $MT_HOME -f $MT_CFGDIR $MT_OPTIONS"
+
+case "$1" in
+ start)
+ stat_busy "Starting Mediatomb UPnP Media Server"
+
+ chown "$MT_USER:$MT_GROUP" "$MT_HOME"
+
+ if ! pidof -o %PPID /usr/bin/mediatomb &> /dev/null; then
+ rm -f "$MT_PIDFILE"
+ fi
+
+ PID="$(cat "$MT_PIDFILE" 2> /dev/null)"
+
+ if [ -z "$PID" ] && /usr/bin/mediatomb -d $MT_OPTIONS; then
+ add_daemon mediatomb
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping Mediatomb UPnP Media Server"
+
+ PID="$(cat "$MT_PIDFILE" 2> /dev/null)"
+
+ if [ -n "$PID" ] && kill "$PID" &> /dev/null; then
+ rm -f "$MT_PIDFILE"
+ rm_daemon mediatomb
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+
+ restart)
+ "$0" stop
+ sleep 1
+ "$0" start
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+exit 0
diff --git a/pcr/mediatomb/tonewjs.patch b/pcr/mediatomb/tonewjs.patch
new file mode 100644
index 000000000..115968530
--- /dev/null
+++ b/pcr/mediatomb/tonewjs.patch
@@ -0,0 +1,564 @@
+diff -up mediatomb-0.12.1-back/build/Makefile.in.tonewjs mediatomb-0.12.1-back/build/Makefile.in
+--- mediatomb-0.12.1-back/build/Makefile.in.tonewjs 2010-04-08 00:40:15.000000000 +0200
++++ mediatomb-0.12.1-back/build/Makefile.in 2011-04-19 17:17:01.343509944 +0200
+@@ -257,7 +257,7 @@ CURL_LIBS = @CURL_LIBS@
+ CXX = @CXX@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
++CXXFLAGS = -fpermissive @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DB_AUTOCREATE_OPTION_ENABLED = @DB_AUTOCREATE_OPTION_ENABLED@
+ DB_AUTOCREATE_OPTION_REQUESTED = @DB_AUTOCREATE_OPTION_REQUESTED@
+diff -up mediatomb-0.12.1-back/src/scripting/import_script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/import_script.cc
+--- mediatomb-0.12.1-back/src/scripting/import_script.cc.tonewjs 2011-04-18 13:10:48.000000000 +0200
++++ mediatomb-0.12.1-back/src/scripting/import_script.cc 2011-04-18 13:29:36.000000000 +0200
+@@ -53,8 +53,8 @@ ImportScript::ImportScript(Ref<Runtime>
+ try
+ {
+ load(scriptPath);
+- root = JS_NewScriptObject(cx, script);
+- JS_AddNamedRoot(cx, &root, "ImportScript");
++ root = JS_NewObject(cx, NULL, script, NULL);
++ JS_AddNamedObjectRoot(cx, &root, "ImportScript");
+ }
+ catch (Exception ex)
+ {
+@@ -117,7 +117,7 @@ ImportScript::~ImportScript()
+ #endif
+
+ if (root)
+- JS_RemoveRoot(cx, &root);
++ JS_RemoveObjectRoot(cx, &root);
+
+ #ifdef JS_THREADSAFE
+ JS_EndRequest(cx);
+diff -up mediatomb-0.12.1-back/src/scripting/js_functions.cc.tonewjs mediatomb-0.12.1-back/src/scripting/js_functions.cc
+--- mediatomb-0.12.1-back/src/scripting/js_functions.cc.tonewjs 2011-04-18 13:29:55.000000000 +0200
++++ mediatomb-0.12.1-back/src/scripting/js_functions.cc 2011-04-19 16:48:04.009229611 +0200
+@@ -49,7 +49,7 @@ using namespace zmm;
+ extern "C" {
+
+ JSBool
+-js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++js_print(JSContext *cx, uintN argc, jsval *argv)
+ {
+ uintN i;
+ JSString *str;
+@@ -60,19 +60,21 @@ js_print(JSContext *cx, JSObject *obj, u
+ if (!str)
+ return JS_TRUE;
+ argv[i] = STRING_TO_JSVAL(str);
+- log_js("%s\n", JS_GetStringBytes(str));
++ char * log_str = JS_EncodeString(cx, str);
++ log_js("%s\n", log_str);
++ JS_free(cx, log_str);
+ }
+ return JS_TRUE;
+ }
+
+ JSBool
+-js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++js_copyObject(JSContext *cx, uintN argc, jsval *argv)
+ {
+ jsval arg;
+ JSObject *js_cds_obj;
+ JSObject *js_cds_clone_obj;
+
+- Script *self = (Script *)JS_GetPrivate(cx, obj);
++ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
+
+ try
+ {
+@@ -91,7 +93,7 @@ js_copyObject(JSContext *cx, JSObject *o
+
+ self->cdsObject2jsObject(cds_obj, js_cds_clone_obj);
+
+- *rval = OBJECT_TO_JSVAL(js_cds_clone_obj);
++ JS_SET_RVAL(cx, argv, OBJECT_TO_JSVAL(js_cds_clone_obj));
+
+ return JS_TRUE;
+
+@@ -110,7 +112,7 @@ js_copyObject(JSContext *cx, JSObject *o
+ }
+
+ JSBool
+-js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++js_addCdsObject(JSContext *cx, uintN argc, jsval *argv)
+ {
+ try
+ {
+@@ -126,7 +128,7 @@ js_addCdsObject(JSContext *cx, JSObject
+ Ref<StringConverter> p2i;
+ Ref<StringConverter> i2i;
+
+- Script *self = (Script *)JS_GetPrivate(cx, obj);
++ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
+
+ if (self == NULL)
+ {
+@@ -156,20 +158,20 @@ js_addCdsObject(JSContext *cx, JSObject
+ if (!str)
+ path = _("/");
+ else
+- path = JS_GetStringBytes(str);
++ path = JS_EncodeString(cx, str);
+
+ JSString *cont = JS_ValueToString(cx, argv[2]);
+ if (cont)
+ {
+- containerclass = JS_GetStringBytes(cont);
++ containerclass = JS_EncodeString(cx, cont);
+ if (!string_ok(containerclass) || containerclass == "undefined")
+ containerclass = nil;
+ }
+
+ if (self->whoami() == S_PLAYLIST)
+- js_orig_obj = self->getObjectProperty(obj, _("playlist"));
++ js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("playlist"));
+ else if (self->whoami() == S_IMPORT)
+- js_orig_obj = self->getObjectProperty(obj, _("orig"));
++ js_orig_obj = self->getObjectProperty(JS_THIS_OBJECT(cx, argv), _("orig"));
+
+ if (js_orig_obj == NULL)
+ {
+@@ -285,8 +287,7 @@ js_addCdsObject(JSContext *cx, JSObject
+ JSString *str2 = JS_NewStringCopyN(cx, tmp.c_str(), tmp.length());
+ if (!str2)
+ return JS_TRUE;
+- *rval = STRING_TO_JSVAL(str2);
+-
++ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2));
+ return JS_TRUE;
+ }
+ catch (ServerShutdownException se)
+@@ -302,7 +303,7 @@ js_addCdsObject(JSContext *cx, JSObject
+ return JS_TRUE;
+ }
+
+-static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, charset_convert_t chr)
++static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, charset_convert_t chr)
+ {
+ try
+ {
+@@ -321,7 +322,7 @@ static JSBool convert_charset_generic(JS
+ {
+ str = JS_ValueToString(cx, argv[0]);
+ if (str)
+- result = JS_GetStringBytes(str);
++ result = JS_EncodeString(cx, str);
+ }
+
+ if (result != nil)
+@@ -330,7 +331,7 @@ static JSBool convert_charset_generic(JS
+ JSString *str2 = JS_NewStringCopyN(cx, result.c_str(), result.length());
+ if (!str2)
+ return JS_TRUE;
+- *rval = STRING_TO_JSVAL(str2);
++ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2));
+ }
+ }
+ catch (ServerShutdownException se)
+@@ -347,24 +348,23 @@ static JSBool convert_charset_generic(JS
+ }
+
+
+-JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv)
+ {
+- return convert_charset_generic(cx, obj, argc, argv, rval, F2I);
++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, F2I);
+ }
+
+-JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv)
+ {
+- return convert_charset_generic(cx, obj, argc, argv, rval, M2I);
+-}
++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, M2I); }
+
+-JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv)
+ {
+- return convert_charset_generic(cx, obj, argc, argv, rval, P2I);
++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, P2I);
+ }
+
+-JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv)
+ {
+- return convert_charset_generic(cx, obj, argc, argv, rval, J2I);
++ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, J2I);
+ }
+
+ } // extern "C"
+diff -up mediatomb-0.12.1-back/src/scripting/js_functions.h.tonewjs mediatomb-0.12.1-back/src/scripting/js_functions.h
+--- mediatomb-0.12.1-back/src/scripting/js_functions.h.tonewjs 2010-03-25 15:58:05.000000000 +0100
++++ mediatomb-0.12.1-back/src/scripting/js_functions.h 2011-04-18 13:59:29.000000000 +0200
+@@ -40,18 +40,18 @@
+ extern "C" {
+
+ /// \brief Log output.
+-JSBool js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
++JSBool js_print(JSContext *cx, uintN argc, jsval *argv);
+
+ /// \brief Adds an object to the database.
+-JSBool js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
++JSBool js_addCdsObject(JSContext *cx, uintN argc, jsval *argv);
+
+ /// \brief Makes a copy of an CDS object.
+-JSBool js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
++JSBool js_copyObject(JSContext *cx, uintN argc, jsval *argv);
+
+-JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
+-JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
+-JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
+-JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
++JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv);
++JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv);
++JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv);
++JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv);
+
+ } // extern "C"
+
+diff -up mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc
+--- mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc.tonewjs 2011-04-18 13:34:14.000000000 +0200
++++ mediatomb-0.12.1-back/src/scripting/playlist_parser_script.cc 2011-04-18 13:51:59.000000000 +0200
+@@ -46,9 +46,9 @@ using namespace zmm;
+ extern "C" {
+
+ static JSBool
+-js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
++js_readln(JSContext *cx, uintN argc, jsval *argv)
+ {
+- PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, obj);
++ PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
+
+ String line;
+
+@@ -69,7 +69,7 @@ js_readln(JSContext *cx, JSObject *obj,
+
+ JSString *jsline = JS_NewStringCopyZ(cx, line.c_str());
+
+- *rval = STRING_TO_JSVAL(jsline);
++ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(jsline));
+
+ return JS_TRUE;
+ }
+@@ -93,8 +93,8 @@ PlaylistParserScript::PlaylistParserScri
+
+ String scriptPath = ConfigManager::getInstance()->getOption(CFG_IMPORT_SCRIPTING_PLAYLIST_SCRIPT);
+ load(scriptPath);
+- root = JS_NewScriptObject(cx, script);
+- JS_AddNamedRoot(cx, &root, "PlaylistScript");
++ root = JS_NewObject(cx, NULL, script, NULL);
++ JS_AddNamedObjectRoot(cx, &root, "PlaylistScript");
+ }
+ catch (Exception ex)
+ {
+@@ -245,7 +245,7 @@ PlaylistParserScript::~PlaylistParserScr
+ #endif
+
+ if (root)
+- JS_RemoveRoot(cx, &root);
++ JS_RemoveObjectRoot(cx, &root);
+
+ #ifdef JS_THREADSAFE
+ JS_EndRequest(cx);
+diff -up mediatomb-0.12.1-back/src/scripting/script.cc.tonewjs mediatomb-0.12.1-back/src/scripting/script.cc
+--- mediatomb-0.12.1-back/src/scripting/script.cc.tonewjs 2011-04-18 13:53:07.000000000 +0200
++++ mediatomb-0.12.1-back/src/scripting/script.cc 2011-04-19 18:26:34.460338804 +0200
+@@ -87,7 +87,7 @@ String Script::getProperty(JSObject *obj
+ str = JS_ValueToString(cx, val);
+ if (! str)
+ return nil;
+- return JS_GetStringBytes(str);
++ return JS_EncodeString(cx, str);
+ }
+
+ int Script::getBoolProperty(JSObject *obj, String name)
+@@ -427,14 +427,14 @@ static JSFunctionSpec js_global_function
+ try
+ {
+ common_script = _load(common_scr_path);
+- common_root = JS_NewScriptObject(cx, common_script);
+- JS_AddNamedRoot(cx, &common_root, "common-script");
++ common_root = JS_NewObject(cx, NULL, common_script, NULL);
++ JS_AddNamedObjectRoot(cx, &common_root, "common-script");
+ _execute(common_script);
+ }
+ catch (Exception e)
+ {
+ if (common_root)
+- JS_RemoveRoot(cx, &common_root);
++ JS_RemoveObjectRoot(cx, &common_root);
+
+ log_js("Unable to load %s: %s\n", common_scr_path.c_str(),
+ e.getMessage().c_str());
+@@ -460,7 +460,7 @@ Script::~Script()
+ JS_BeginRequest(cx);
+ #endif
+ if (common_root)
+- JS_RemoveRoot(cx, &common_root);
++ JS_RemoveObjectRoot(cx, &common_root);
+
+ /*
+ * scripts are unrooted and will be cleaned up by GC
+@@ -504,11 +504,11 @@ void Script::initGlobalObject()
+ static JSClass global_class =
+ {
+ "global", /* name */
+- JSCLASS_HAS_PRIVATE, /* flags */
++ JSCLASS_HAS_PRIVATE | JSCLASS_GLOBAL_FLAGS,/* flags */
+ JS_PropertyStub, /* add property */
+ JS_PropertyStub, /* del property */
+ JS_PropertyStub, /* get property */
+- JS_PropertyStub, /* set property */
++ JS_StrictPropertyStub, /* set property */
+ JS_EnumerateStandardClasses, /* enumerate */
+ JS_ResolveStub, /* resolve */
+ JS_ConvertStub, /* convert */
+@@ -517,7 +517,7 @@ void Script::initGlobalObject()
+ };
+
+ /* create the global object here */
+- glob = JS_NewObject(cx, &global_class, NULL, NULL);
++ glob = JS_NewCompartmentAndGlobalObject(cx, &global_class, NULL);
+ if (! glob)
+ throw _Exception(_("Scripting: could not initialize glboal class"));
+
+@@ -539,12 +539,12 @@ void Script::defineFunctions(JSFunctionS
+ throw _Exception(_("Scripting: JS_DefineFunctions failed"));
+ }
+
+-JSScript *Script::_load(zmm::String scriptPath)
++JSObject *Script::_load(zmm::String scriptPath)
+ {
+ if (glob == NULL)
+ initGlobalObject();
+
+- JSScript *scr;
++ JSObject *scr;
+
+ String scriptText = read_text_file(scriptPath);
+
+@@ -571,14 +571,11 @@ JSScript *Script::_load(zmm::String scri
+
+ void Script::load(zmm::String scriptPath)
+ {
+- if (script)
+- JS_DestroyScript(cx, script);
+-
+ script = _load((scriptPath));
+ }
+
+
+-void Script::_execute(JSScript *scr)
++void Script::_execute(JSObject *scr)
+ {
+ jsval ret_val;
+
+@@ -662,7 +659,7 @@ Ref<CdsObject> Script::jsObject2cdsObjec
+ JSObject *js_meta = getObjectProperty(js, _("meta"));
+ if (js_meta)
+ {
+- JS_AddNamedRoot(cx, &js_meta, "meta");
++ JS_AddNamedObjectRoot(cx, &js_meta, "meta");
+ /// \todo: only metadata enumerated in MT_KEYS is taken
+ for (int i = 0; i < M_MAX; i++)
+ {
+@@ -687,7 +684,7 @@ Ref<CdsObject> Script::jsObject2cdsObjec
+ }
+ }
+ }
+- JS_RemoveRoot(cx, &js_meta);
++ JS_RemoveObjectRoot(cx, &js_meta);
+ }
+
+ // stuff that has not been exported to js
+diff -up mediatomb-0.12.1-back/src/scripting/script.h.tonewjs mediatomb-0.12.1-back/src/scripting/script.h
+--- mediatomb-0.12.1-back/src/scripting/script.h.tonewjs 2011-04-18 12:56:14.000000000 +0200
++++ mediatomb-0.12.1-back/src/scripting/script.h 2011-04-18 12:56:51.000000000 +0200
+@@ -66,8 +66,8 @@ public:
+ JSRuntime *rt;
+ JSContext *cx;
+ JSObject *glob;
+- JSScript *script;
+- JSScript *common_script;
++ JSObject *script;
++ JSObject *common_script;
+
+ public:
+ Script(zmm::Ref<Runtime> runtime);
+@@ -115,8 +115,8 @@ private:
+ JSObject *common_root;
+
+ void initGlobalObject();
+- JSScript *_load(zmm::String scriptPath);
+- void _execute(JSScript *scr);
++ JSObject *_load(zmm::String scriptPath);
++ void _execute(JSObject *scr);
+ zmm::Ref<StringConverter> _p2i;
+ zmm::Ref<StringConverter> _j2i;
+ zmm::Ref<StringConverter> _f2i;
+--- mediatomb-0.12.1/configure.tonewjs 2011-07-04 20:20:00.290227110 +1200
++++ mediatomb-0.12.1/configure 2011-07-04 20:20:28.186894644 +1200
+@@ -23784,14 +23784,14 @@ if test "x$ac_cv_lib_smjs_JS_NewObject"
+
+ else
+
+- LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs $ADD_PTHREAD_CFLAGS"
+- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5
+-$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; }
+-if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then
++ LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs185 $ADD_PTHREAD_CFLAGS"
++ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5
++$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; }
++if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmozjs $LIBS"
++LIBS="-lmozjs185 $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -23835,12 +23835,12 @@ $as_echo "$ac_try_echo") >&5
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_lib_mozjs_JS_NewObject=yes
++ ac_cv_lib_mozjs185_JS_NewObject=yes
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_cv_lib_mozjs_JS_NewObject=no
++ ac_cv_lib_mozjs185_JS_NewObject=no
+ fi
+
+ rm -rf conftest.dSYM
+@@ -23848,12 +23848,12 @@ rm -f core conftest.err conftest.$ac_obj
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5
+-$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; }
+-if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5
++$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; }
++if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then
+
+- JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs"
+- MOZLIB=mozjs
++ JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs185"
++ MOZLIB=mozjs185
+
+ else
+
+@@ -24020,13 +24020,13 @@ if test "x$ac_cv_lib_smjs_JS_NewObject"
+ else
+
+ unset ac_cv_lib_smjs_JS_NewObject
+- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5
+-$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; }
+-if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then
++ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5
++$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; }
++if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmozjs $LIBS"
++LIBS="-lmozjs185 $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -24070,12 +24070,12 @@ $as_echo "$ac_try_echo") >&5
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_lib_mozjs_JS_NewObject=yes
++ ac_cv_lib_mozjs185_JS_NewObject=yes
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_cv_lib_mozjs_JS_NewObject=no
++ ac_cv_lib_mozjs185_JS_NewObject=no
+ fi
+
+ rm -rf conftest.dSYM
+@@ -24083,12 +24083,12 @@ rm -f core conftest.err conftest.$ac_obj
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5
+-$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; }
+-if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5
++$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; }
++if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then
+
+- MOZLIB=mozjs
+- JS_LIBS="-lmozjs"
++ MOZLIB=mozjs185
++ JS_LIBS="-lmozjs185"
+
+ else
+
+@@ -24239,15 +24239,15 @@ if test "x$ac_cv_lib_smjs_JS_NewObject"
+
+ else
+
+- LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs"
+- unset ac_cv_lib_mozjs_JS_NewObject
+- { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs" >&5
+-$as_echo_n "checking for JS_NewObject in -lmozjs... " >&6; }
+-if test "${ac_cv_lib_mozjs_JS_NewObject+set}" = set; then
++ LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs185"
++ unset ac_cv_lib_mozjs185_JS_NewObject
++ { $as_echo "$as_me:$LINENO: checking for JS_NewObject in -lmozjs185" >&5
++$as_echo_n "checking for JS_NewObject in -lmozjs185... " >&6; }
++if test "${ac_cv_lib_mozjs185_JS_NewObject+set}" = set; then
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmozjs $LIBS"
++LIBS="-lmozjs185 $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -24291,12 +24291,12 @@ $as_echo "$ac_try_echo") >&5
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+- ac_cv_lib_mozjs_JS_NewObject=yes
++ ac_cv_lib_mozjs185_JS_NewObject=yes
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_cv_lib_mozjs_JS_NewObject=no
++ ac_cv_lib_mozjs185_JS_NewObject=no
+ fi
+
+ rm -rf conftest.dSYM
+@@ -24304,12 +24304,12 @@ rm -f core conftest.err conftest.$ac_obj
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs_JS_NewObject" >&5
+-$as_echo "$ac_cv_lib_mozjs_JS_NewObject" >&6; }
+-if test "x$ac_cv_lib_mozjs_JS_NewObject" = x""yes; then
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mozjs185_JS_NewObject" >&5
++$as_echo "$ac_cv_lib_mozjs185_JS_NewObject" >&6; }
++if test "x$ac_cv_lib_mozjs185_JS_NewObject" = x""yes; then
+
+- JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs"
+- MOZLIB=mozjs
++ JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs185"
++ MOZLIB=mozjs185
+
+ else
+
diff --git a/pcr/mednafen-server/mednafen-serverd b/pcr/mednafen-server/mednafen-serverd
index d6033f6af..d6033f6af 100755..100644
--- a/pcr/mednafen-server/mednafen-serverd
+++ b/pcr/mednafen-server/mednafen-serverd
diff --git a/pcr/mednafen-wip/PKGBUILD b/pcr/mednafen-wip/PKGBUILD
index c3e5d6137..7e9a5323b 100755..100644
--- a/pcr/mednafen-wip/PKGBUILD
+++ b/pcr/mednafen-wip/PKGBUILD
@@ -6,14 +6,12 @@
pkgbase=mednafen
pkgname=mednafen-wip
-pkgver=0.9.26
-_pkgver=422
-pkgrel=2
+pkgver=0.9.27
+_pkgver=441
+pkgrel=1
pkgdesc='A command-line multi-system gaming emulator, WIP version'
url="http://$pkgbase.sourceforge.net/"
-license=(
- GPL
-)
+license=GPL
arch=(
i686
x86_64
@@ -32,26 +30,18 @@ makedepends=(
mesa
glu
)
-provides=(
- $pkgbase
-)
-conflicts=(
- $pkgbase
-)
-source=(
- 'http://forum.fobby.net/index.php?t=getfile&id='$_pkgver'&'
-)
-sha1sums=(
- e43c2b04b513af1db35933a2819d2660e7106600
-)
+provides=$pkgbase
+conflicts=$pkgbase
+source='http://forum.fobby.net/index.php?t=getfile&id='$_pkgver'&'
+sha1sums=5be7597bb8fc9c47ae434d4a0aab16e13230b916
build() {
cd $srcdir/$pkgbase
- ./configure --prefix=/usr
- make
+ setarch $CARCH ./configure --prefix=/usr
+ setarch $CARCH make
}
package() {
cd $srcdir/$pkgbase
- make DESTDIR=$pkgdir install
+ setarch $CARCH make DESTDIR=$pkgdir install
}
diff --git a/pcr/minetest/PKGBUILD b/pcr/minetest/PKGBUILD
index 18546b470..18546b470 100755..100644
--- a/pcr/minetest/PKGBUILD
+++ b/pcr/minetest/PKGBUILD
diff --git a/pcr/moblock/PKGBUILD b/pcr/moblock/PKGBUILD
index 15504d1c1..15504d1c1 100755..100644
--- a/pcr/moblock/PKGBUILD
+++ b/pcr/moblock/PKGBUILD
diff --git a/pcr/moblock/moblock b/pcr/moblock/moblock
index d88bd2e8d..d88bd2e8d 100755..100644
--- a/pcr/moblock/moblock
+++ b/pcr/moblock/moblock
diff --git a/pcr/moblock/moblock-update b/pcr/moblock/moblock-update
index aae861d13..aae861d13 100755..100644
--- a/pcr/moblock/moblock-update
+++ b/pcr/moblock/moblock-update
diff --git a/pcr/nagios-nrpe-plugin/PKGBUILD b/pcr/nagios-nrpe-plugin/PKGBUILD
new file mode 100644
index 000000000..3f2cba3c0
--- /dev/null
+++ b/pcr/nagios-nrpe-plugin/PKGBUILD
@@ -0,0 +1,23 @@
+# https://github.com/mvgrimes/aur-nagios-npre-plugin
+# Contributor: Mark Grimes <mgrimes at peculier dot com>
+# Contributor: Idares <idares@seznam.cz>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=nagios-nrpe-plugin
+pkgver=2.13
+pkgrel=1
+pkgdesc="The Nagios NRPE server side plugin."
+license=('GPL')
+arch=('i686' 'x86_64')
+url="http://www.nagios.org"
+source=("http://downloads.sourceforge.net/nagios/nrpe-$pkgver.tar.gz")
+
+depends=(nagios)
+
+build() {
+ cd $startdir/src/nrpe-$pkgver
+ ./configure --prefix=/usr/share/nagios \
+ --with-nagios-user=nobody --with-nagios-group=nobody || return 1
+ make || return 1
+ make prefix=$startdir/pkg/usr/share/nagios install-plugin || return 1
+}
diff --git a/pcr/nagios-plugins/PKGBUILD b/pcr/nagios-plugins/PKGBUILD
new file mode 100644
index 000000000..e1379d193
--- /dev/null
+++ b/pcr/nagios-plugins/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Idares <idares@seznam.cz>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=nagios-plugins
+pkgver=1.4.16
+pkgrel=1
+pkgdesc="Plugins are scripts and programs that perform host and service checks."
+license=('GPL')
+arch=('i686' 'x86_64')
+url="http://www.nagiosplugins.org"
+source=("http://downloads.sourceforge.net/nagiosplug/$pkgname-$pkgver.tar.gz"
+ "stdio.patch")
+makedepends=('net-snmp')
+optdepends=('net-snmp: for SNMP checking.')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 -i "$srcdir/stdio.patch"
+ ./configure --prefix=/usr/share/nagios
+ make
+ make prefix=$startdir/pkg/usr/share/nagios install
+ make prefix=$startdir/pkg/usr/share/nagios install-root
+}
+
+sha1sums=('52db48b15572b98c6fcd8aaec2ef4d2aad7640d3'
+ '6a40a8bc8c907f5cf722e4440900d872767d465c')
+
diff --git a/pcr/nagios-plugins/stdio.patch b/pcr/nagios-plugins/stdio.patch
new file mode 100644
index 000000000..f87d313b5
--- /dev/null
+++ b/pcr/nagios-plugins/stdio.patch
@@ -0,0 +1,14 @@
+diff -Naur nagios-plugins-1.4.16-orig/gl/stdio.in.h nagios-plugins-1.4.16-patched/gl/stdio.in.h
+--- nagios-plugins-1.4.16-orig/gl/stdio.in.h 2012-06-27 19:32:47.000000000 +0200
++++ nagios-plugins-1.4.16-patched/gl/stdio.in.h 2012-08-09 06:29:26.038030953 +0200
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
++#ifdef gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/pcr/newlisp/PKGBUILD b/pcr/newlisp/PKGBUILD
new file mode 100644
index 000000000..a53106390
--- /dev/null
+++ b/pcr/newlisp/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: scrawler <scrawler@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurélien DESBRIÈRES <aurelien@cwb.IO>
+
+pkgname=newlisp
+pkgver=10.4.5
+pkgrel=1
+pkgdesc="newLISP is a LISP like, general purpose scripting language."
+url="http://www.newlisp.org"
+license=('GPL')
+arch=('x86_64' 'i686')
+depends=('readline')
+optdepends=('openjdk6')
+options=('docs')
+source=(http://newlisp.org/downloads/$pkgname-$pkgver.tgz)
+install=$pkgname.install
+
+build() {
+cd $srcdir/$pkgname-$pkgver
+./configure
+[ $CARCH = "x86_64" ] && make -f makefile_linuxLP64_utf8
+[ $CARCH = "i686" ] && make -f makefile_linux_utf8
+install -d $pkgdir/usr/bin
+install -d $pkgdir/usr/share/man/man1
+make bindir=$pkgdir/usr/bin mandir=$pkgdir/usr/share/man \
+datadir=$pkgdir/usr/share install
+}
diff --git a/pcr/newlisp/newlisp.install b/pcr/newlisp/newlisp.install
new file mode 100644
index 000000000..2c7fd8481
--- /dev/null
+++ b/pcr/newlisp/newlisp.install
@@ -0,0 +1,20 @@
+pre_install() {
+ rm /usr/bin/newlisp
+}
+
+post_install() {
+ ln -sf /usr/bin/newlisp-10.4.5 /usr/bin/newlisp
+}
+
+pre_upgrade() {
+[[ -f /usr/bin/newlisp ]] && rm /usr/bin/newlisp
+}
+
+post_upgrade() {
+ ln -sf /usr/bin/newlisp-10.4.5 /usr/bin/newlisp
+}
+
+pre_remove() {
+[[ -f /usr/bin/newlisp ]] && rm /usr/bin/newlisp
+}
+
diff --git a/pcr/nfacct/PKGBUILD b/pcr/nfacct/PKGBUILD
new file mode 100644
index 000000000..88af2acb5
--- /dev/null
+++ b/pcr/nfacct/PKGBUILD
@@ -0,0 +1,31 @@
+# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=nfacct
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Command line tool to create/retrieve/delete accounting objects."
+arch=('i686' 'x86_64')
+url="http://www.netfilter.org/projects/nfacct/index.html"
+license=('GPL')
+depends=('libnetfilter_acct')
+options=(!libtool)
+source=(http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/nova/PKGBUILD b/pcr/nova/PKGBUILD
new file mode 100644
index 000000000..181e5a626
--- /dev/null
+++ b/pcr/nova/PKGBUILD
@@ -0,0 +1,55 @@
+# Contributor: Josh Chase <jcjoshuachase@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=nova
+pkgver=2012.1.2
+_clientname=python-novaclient
+_clientver=2.8.0
+pkgrel=1.1
+pkgdesc="OpenStack cloud computing fabric controller"
+arch=('any')
+license=('custom')
+url="https://launchpad.net/nova"
+depends=('python2'
+ 'python2-cheetah'
+ 'python2-simplejson'
+ 'python2-prettytable'
+ 'python2-amqplib'
+ 'python2-carrot'
+ 'python2-lockfile'
+ 'python2-daemon'
+ 'python2-gflags'
+ 'python2-netaddr'
+ 'glance'
+ 'python2-suds'
+ 'python2-paramiko'
+ 'python2-feedparser'
+ 'python2-babel' )
+makedepends=('python2-distribute')
+source=("https://launchpad.net/nova/essex/2012.1.2/+download/nova-2012.1.2.tar.gz"
+ "http://pypi.python.org/packages/source/${_clientname:0:1}/$_clientname/$_clientname-$_clientver.tar.gz")
+
+build() {
+ cd $srcdir
+
+ find . -type f -exec sed -i -e 's|^#!/usr/bin/python$|#!/usr/bin/python2|' \
+ -e 's|^#!/usr/bin/env python$|#!/usr/bin/env python2|' {} +
+
+ cd $srcdir/$_clientname-$_clientver
+ python2 setup.py build
+
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_clientname-$_clientver
+ python2 setup.py install --root=$pkgdir
+
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -dm600 "$pkgdir"/etc/$pkgname
+ install -Dm600 etc/$pkgname/* "$pkgdir"/etc/$pkgname/
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/pcr/openchange/PKGBUILD b/pcr/openchange/PKGBUILD
new file mode 100644
index 000000000..c3e2c753f
--- /dev/null
+++ b/pcr/openchange/PKGBUILD
@@ -0,0 +1,67 @@
+# Maintainer: Michael Hansen <zrax0111 gmail com>
+# Contributor: ngoonee <ngoonee.talk@gmail.com>
+# Contributor: Adam Russell <adamlr6+arch@gmail.com>
+pkgname=openchange
+_codename=BORG
+_dlid=180
+pkgver=1.0
+pkgrel=6
+pkgdesc="Library for MAPI connectivity with Microsoft Exchange. This package was SPECIFICALLY created to support evolution-mapi and may not work for any other purpose."
+arch=('i686' 'x86_64')
+url="http://www.openchange.org"
+license=('GPL3')
+depends=('samba4>=4.0.0B1' 'popt' 'libical' 'sqlite3' 'file' 'boost' 'zlib')
+makedepends=('ccache' 'python2' 'subversion' 'docbook-xsl' 'libxslt' 'flex' 'bison' 'autoconf' 'automake')
+options=(!makeflags)
+# Releases are mirrored at http://tracker.openchange.org/projects/openchange/files
+source=("http://tracker.openchange.org/attachments/download/${_dlid}/${pkgname}-${pkgver}-${_codename}.tar.gz"
+ "bugzilla_682449.patch")
+
+md5sums=('9b57a325e90e5ad3a702ddc6e8762ab6'
+ '7521f89f8ffaa733ed72532334951b90')
+_prefix="/opt/samba4"
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}-${_codename}
+
+ patch -i ../bugzilla_682449.patch
+
+ SAVEIFS=${IFS}
+ IFS=$(echo -en "\n\b")
+ PYTHON_CALLERS="$(find ${srcdir}/${pkgname}-${pkgver}-${_codename} -name '*.py')
+$(find ${srcdir}/${pkgname}-${pkgver}-${_codename}/ -type f)
+$(find ${srcdir}/${pkgname}-${pkgver}-${_codename}/ -name 'configure.ac')"
+ sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" \
+ -e "s|python-config$|python2-config|" \
+ -e "s|bin/python$|bin/python2|" \
+ ${PYTHON_CALLERS}
+
+ # Patch for samba4-alpha19+
+ SRC_FILES="$(find ${srcdir}/${pkgname}-${pkgver}-${_codename} -name '*.c')"
+ sed -i -e "s|#include <samba/popt.h>|#include <popt.h>|" ${SRC_FILES}
+ IFS=${SAVEIFS}
+
+ export PYTHON=/usr/bin/python2
+
+ export PKG_CONFIG_PATH="${_prefix}/samba/lib/pkgconfig:${_prefix}/lib/pkgconfig"
+ export BOOST_LIB_SUFFIX="-mt"
+ ./autogen.sh
+
+ sed -i -e "s|python-config|python2-config|g" configure
+ ./configure --prefix=${_prefix} --with-samba=${_prefix}
+ make FLEX=/usr/bin/flex BISON=/usr/bin/bison || return 1
+}
+
+package() {
+ _pyver=`python2 -c 'import sys; print(sys.version[:3])'`
+
+ cd ${srcdir}/${pkgname}-${pkgver}-${_codename}
+ make DESTDIR="$pkgdir/" install
+
+ cd ${pkgdir}/${_prefix}/lib/
+ ln -s libmapi.so libmapi.so.0
+ ln -s libocpf.so libocpf.so.0
+
+ find ${pkgdir}/${_prefix}/lib/python${_pyver}/site-packages/ -name '*.py' | \
+ xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
+}
diff --git a/pcr/openchange/bugzilla_682449.patch b/pcr/openchange/bugzilla_682449.patch
new file mode 100644
index 000000000..e1b3f0983
--- /dev/null
+++ b/pcr/openchange/bugzilla_682449.patch
@@ -0,0 +1,191 @@
+Index: exchange.idl
+===================================================================
+--- exchange.idl (revision 4004)
++++ exchange.idl (working copy)
+@@ -1039,7 +1039,7 @@
+ [case(ActionType_OP_COPY)] MoveCopy_Action CopyAction;
+ [case(ActionType_OP_REPLY)] ReplyOOF_Action ReplyAction;
+ [case(ActionType_OP_OOF_REPLY)] ReplyOOF_Action ReplyOOFAction;
+- [case(ActionType_OP_DEFER_ACTION)][flag(NDR_REMAINING)] DATA_BLOB DeferAction;
++ [case(ActionType_OP_DEFER_ACTION)][flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB DeferAction;
+ [case(ActionType_OP_BOUNCE)] BounceCode BounceCode;
+ [case(ActionType_OP_TAG)] mapi_SPropValue_wrap PropValue;
+ [case(ActionType_OP_FORWARD)] ForwardDelegate_Action ForwardAction;
+@@ -1057,7 +1057,7 @@
+
+ typedef [flag(NDR_NOALIGN)] struct {
+ uint16 ActionLength;
+- [subcontext(0),subcontext_size(ActionLength),flag(NDR_REMAINING)] ActionBlockData ActionBlockData;
++ [subcontext(0),subcontext_size(ActionLength),flag(NDR_REMAINING|NDR_NOALIGN)] ActionBlockData ActionBlockData;
+ } ActionBlock;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+@@ -1095,7 +1095,7 @@
+
+ typedef [public,flag(NDR_NOALIGN)] struct {
+ uint16 cValues;
+- [flag(NDR_REMAINING)]mapi_SPropValue lpProps[cValues];
++ [flag(NDR_REMAINING|NDR_NOALIGN)]mapi_SPropValue lpProps[cValues];
+ } mapi_SPropValue_array;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+@@ -1281,7 +1281,7 @@
+ // TODO: figure out if "layout" can go
+ uint8 layout;
+ // TODO: convert this to a proper structure - see if we already have one.
+- [flag(NDR_REMAINING)] DATA_BLOB prop_values;
++ [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB prop_values;
+ } RecipientRow;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+@@ -1356,7 +1356,7 @@
+
+ typedef [flag(NDR_NOALIGN)] struct {
+ uint8 layout;
+- [flag(NDR_REMAINING)] DATA_BLOB prop_data;
++ [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB prop_data;
+ } GetProps_repl;
+
+ /*************************/
+@@ -1455,7 +1455,7 @@
+ typedef [flag(NDR_NOALIGN)]struct {
+ uint32 idx;
+ ulRecipClass RecipClass;
+- [subcontext(2),flag(NDR_REMAINING)] RecipientRow RecipientRow;
++ [subcontext(2),flag(NDR_REMAINING|NDR_NOALIGN)] RecipientRow RecipientRow;
+ } ModifyRecipientRow;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+@@ -1532,7 +1532,7 @@
+ uint8 handle_idx;
+ MSGFLAG_READ flags;
+ /* TEMP HACK for editing notes without crashing Outlook:
+- [flag(NDR_REMAINING)] DATA_BLOB clientdata; */
++ [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB clientdata; */
+ } SetMessageReadFlag_req;
+
+ typedef [nodiscriminant, flag(NDR_NOALIGN)] union {
+@@ -1782,7 +1782,7 @@
+ typedef [nopush,nopull,flag(NDR_NOALIGN)] struct {
+ uint8 Origin;
+ uint16 RowCount;
+- [flag(NDR_REMAINING)]DATA_BLOB RowData;
++ [flag(NDR_REMAINING|NDR_NOALIGN)]DATA_BLOB RowData;
+ } QueryRows_repl;
+
+ /**************************/
+@@ -2394,13 +2394,13 @@
+ } ReadStream_req;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+- [subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
++ [subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
+ } ReadStream_repl;
+
+ /*************************/
+ /* EcDoRpc Function 0x2d */
+ typedef [flag(NDR_NOALIGN)] struct {
+- [subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
++ [subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
+ } WriteStream_req;
+
+
+@@ -2900,7 +2900,7 @@
+ uint16 TotalStepCount;
+ uint8 Reserved;
+ uint16 TransferBufferSize;
+- [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING)] DATA_BLOB TransferBuffer;
++ [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB TransferBuffer;
+ } FastTransferSourceGetBuffer_repl;
+
+ /**************************/
+@@ -2982,7 +2982,7 @@
+ /* EcDoRpc Function 0x54 */
+ typedef [flag(NDR_NOALIGN)] struct {
+ uint16 TransferBufferSize;
+- [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING)] DATA_BLOB TransferBuffer;
++ [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB TransferBuffer;
+ } FastTransferDestinationPutBuffer_req;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+@@ -3075,7 +3075,7 @@
+ typedef [flag(NDR_NOALIGN)] struct {
+ uint32 ExpandedRowCount;
+ uint16 RowCount;
+- [flag(NDR_REMAINING)]DATA_BLOB RowData;
++ [flag(NDR_REMAINING|NDR_NOALIGN)]DATA_BLOB RowData;
+ } ExpandRow_repl;
+
+ /*************************/
+@@ -3184,7 +3184,7 @@
+ typedef [flag(NDR_NOALIGN)] struct {
+ boolean8 HasFinished;
+ uint16 DataSize;
+- [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING)] DATA_BLOB Data;
++ [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Data;
+ } ReadPerUserInformation_repl;
+
+ /*************************/
+@@ -3194,7 +3194,7 @@
+ boolean8 HasFinished;
+ uint32 DataOffset;
+ uint16 DataSize;
+- [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING)] DATA_BLOB Data;
++ [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Data;
+ GUID ReplGuid; /* Note: ReplGuid gets only included under specific circumstances */
+ } WritePerUserInformation_req;
+
+@@ -3364,7 +3364,7 @@
+ SendOptions SendOptions;
+ SynchronizationFlag SynchronizationFlag;
+ uint16 RestrictionSize;
+- [subcontext(0),subcontext_size(RestrictionSize),flag(NDR_REMAINING)] DATA_BLOB RestrictionData;
++ [subcontext(0),subcontext_size(RestrictionSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB RestrictionData;
+ SynchronizationExtraFlags SynchronizationExtraFlags;
+ mapi_SPropTagArray PropertyTags;
+ } SyncConfigure_req;
+@@ -3542,7 +3542,7 @@
+ } MessageReadState;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+- [subcontext(2),flag(NDR_REMAINING)] DATA_BLOB MessageReadStates;
++ [subcontext(2),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB MessageReadStates;
+ } SyncImportReadStateChanges_req;
+
+ typedef [flag(NDR_NOALIGN)] struct {
+@@ -3617,7 +3617,7 @@
+ /*************************/
+ /* EcDoRpc Function 0x90 */
+ typedef [flag(NDR_NOALIGN)] struct {
+- [subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
++ [subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
+ } WriteAndCommitStream_req;
+
+
+@@ -4462,7 +4462,7 @@
+ uint32 MajorVersion;
+ uint32 MinorVersion;
+ uint32 BuildNumber;
+- [subcontext(0), subcontext_size(132), flag(NDR_NOALIGN|NDR_REMAINING)] DATA_BLOB Reserved_1;
++ [subcontext(0), subcontext_size(132), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Reserved_1;
+ uint16 ServicePackMajor;
+ uint16 ServicePackMinor;
+ uint32 Reserved_2;
+@@ -4567,7 +4567,7 @@
+ [out] uint16 rgwServerVersion[3],
+ [out] uint16 rgwBestVersion[3],
+ [in,out] uint32 *pulTimeStamp,
+- [in,subcontext(4),flag(NDR_NOALIGN|NDR_REMAINING)] mapi2k7_AuxInfo *rgbAuxIn,
++ [in,subcontext(4),flag(NDR_REMAINING|NDR_NOALIGN)] mapi2k7_AuxInfo *rgbAuxIn,
+ [in] uint32 cbAuxIn,
+ [out, length_is(*pcbAuxOut), size_is(*pcbAuxOut)] mapi2k7_AuxInfo *rgbAuxOut,
+ [in,out][range(0,0x1008)] uint32 *pcbAuxOut
+@@ -4588,7 +4588,7 @@
+
+ typedef [public,nopull] struct {
+ RPC_HEADER_EXT header;
+- [subcontext(0),flag(NDR_NOALIGN|NDR_REMAINING)] mapi_response *mapi_response;
++ [subcontext(0),flag(NDR_REMAINING|NDR_NOALIGN)] mapi_response *mapi_response;
+ } mapi2k7_response;
+
+ [public,noprint] MAPISTATUS EcDoRpcExt2(
diff --git a/pcr/pactools/PKGBUILD b/pcr/pactools/PKGBUILD
new file mode 100644
index 000000000..d05953b99
--- /dev/null
+++ b/pcr/pactools/PKGBUILD
@@ -0,0 +1,18 @@
+# Contributor: Pierluigi <pierluigi88@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=pactools
+pkgver=0.8.2
+pkgrel=1
+pkgdesc="A collection of the best tools for pacman"
+arch=('i686' 'x86_64')
+url="http://pierloz.com/pactools"
+license=("GPL")
+depends=('perl' 'bash' 'python')
+source=(pactools pt-pacman-cage pt-pacman-uncage pt-pacsize \
+pt-deptree pt-pacman-info pt-repolist pt-pacfix)
+
+build() {
+ install -d $pkgdir/usr/bin
+ install -m 755 $srcdir/* $pkgdir/usr/bin
+}
diff --git a/pcr/pactools/pactools b/pcr/pactools/pactools
new file mode 100644
index 000000000..1fe3ddbe8
--- /dev/null
+++ b/pcr/pactools/pactools
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+green() {
+ echo -e "\033[1;32m${1}\033[1;0m"
+ }
+
+red() {
+ echo -e "\033[1;31m${1}\033[1;0m"
+ }
+
+
+echo 'pactools is a set of useful tools for pacman'
+echo
+echo 'Tools installed:'
+echo
+green ' * pt-pacman-cage'
+echo ' by: ody'
+echo ' A script to keep the pacman db in a contiguous as possible'
+echo ' place on your hd to make reading it quicker.'
+echo ' Attention: be sure to have the module loop loaded in rc.conf'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?id=20385'
+echo
+green ' * pt-pacman-uncage'
+echo ' by: ody'
+echo ' To uncage your pacman db, after pt-pacman-cage.'
+echo ' Use only if you have problem with pt-pacman-cage and you'
+echo ' want to come back to standard db system'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?id=20385'
+echo
+green ' * pt-pacsize'
+echo ' by: hads'
+echo ' How much disk space do my installed packages use?'
+echo ' This script answers to the question.'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?id=20971'
+echo
+green ' * pt-deptree'
+echo ' by: skoal'
+echo ' A visual representation of packages dependencies'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?id=10283'
+echo
+green ' * pt-pacman-info'
+echo ' by: Pvel Varela Rodrguez [aka NeOnsKuLL]'
+echo ' List the names of configured repos in your pacman.conf'
+echo ' Calculates the total number of available packages'
+echo ' in each repo;'
+echo ' calculates the number of installed packages.'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?id=23124'
+echo
+green ' * pt-repolist'
+echo ' by: dtw'
+echo ' Shows installed packages from a certain repo.'
+echo ' USAGE: pt-repolist <reponame> [all]'
+echo ' <reponame> is the repository name'
+echo ' [all] to include also NOT installed packages.'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?id=12369'
+echo
+green ' * pt-pacfix'
+echo ' by: pierluigi and fixed by Chris.Giles'
+echo ' A script to list all the packages currently installed,'
+echo ' according to /var/log/pacman.log'
+echo ' WEB: http://bbs.archlinux.org/viewtopic.php?pid=227510'
+echo
+red 'Please remember: pactools comes with NO WARRANTY, use at your own risk'
diff --git a/pcr/pactools/pt-deptree b/pcr/pactools/pt-deptree
new file mode 100644
index 000000000..edb6f538b
--- /dev/null
+++ b/pcr/pactools/pt-deptree
@@ -0,0 +1,54 @@
+#!/bin/sh
+# Pacman Dependency Tree
+# does NOT handle group names -> unexpected results.
+# Package names using aliases, like x-server, should work.
+# Breaks on circular dependencies -> you better hit ctrl-c.
+
+export LC_ALL=en_US
+
+progname=`basename $0`
+pacexec='pacman'
+leafnull='None'
+branch=""
+vbranch="| "
+vprune=" "
+hbranch="+---"
+
+_showdep () {
+
+ # Try to use specific pkg req
+ if $pacexec -Qi $1 &> /dev/null ; then
+ # Grab deps list|from "Depends"|Remove Tag \| specific version req's.
+ deplist=`$pacexec -Qi $1|grep Depends|sed 's/^.*: \|>[^ ]*//g;s/ $//'`
+ else # Oops! Failed on alias, try this...
+ deplist=`$pacexec -Qs $1 | sed '1!d;s/\(^.*\/\)\(.*\)\( .*$\)/\2/'`
+ fi
+
+ [ "x$deplist" = "x$leafnull" ] && return
+
+ while [ -n "$deplist" ]
+ do
+ set -- $deplist && echo "$branch$hbranch$1"
+ if [ $# -gt 1 ] ; then
+ branch=${branch}$vbranch
+ else
+ branch=${branch}$vprune
+ fi
+
+ _showdep $1
+
+ deplist=${*:2}
+ branch=${branch:0:${#branch}-${#vprune}}
+ done
+}
+
+branch=$vprune
+
+for pkg in `$pacexec -Q $1 | sed 's/ .*//'`
+do
+ echo $pkg
+ _showdep $pkg
+done
+
+unset _showdep && set --
+exit 0
diff --git a/pcr/pactools/pt-pacfix b/pcr/pactools/pt-pacfix
new file mode 100644
index 000000000..cd128331e
--- /dev/null
+++ b/pcr/pactools/pt-pacfix
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+#
+# pacfix.py: a script by pierluigi to list all the packages currently installed according to /var/log/pacman.log
+# 2008-07-04: Modified by Chris Giles to prevent failure when "pacman.log" has lines with only two words
+
+
+pkg=[]
+
+logfile = open("/var/log/pacman.log","r")
+log=logfile.readlines()
+for myline in log:
+ myarray = myline.strip("\n").split(" ")
+ if len(myarray) >= 3 :
+ if (myarray[2]=="installed" or myarray[2]=="upgraded"):
+ if (pkg.count(myarray[3])==0):
+ pkg.append(myarray[3])
+ if (myarray[2]=="removed"):
+ if (pkg.count(myarray[3])!=0):
+ pkg.remove(myarray[3])
+pkg.sort()
+for p in pkg:
+ print(p)
diff --git a/pcr/pactools/pt-pacman-cage b/pcr/pactools/pt-pacman-cage
new file mode 100644
index 000000000..f9248e496
--- /dev/null
+++ b/pcr/pactools/pt-pacman-cage
@@ -0,0 +1,152 @@
+#!/bin/bash
+#
+# pacman-cage
+#
+# Copyright (c) 2002-2006 by Andrew Rose <rose.andrew@gmail.com>
+# I used Judds pacman-optimise as a framework.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+#
+
+myver='2.9.8.1'
+dbroot="/var/lib/pacman"
+pacmandb="/var/lib/pacman.db"
+
+usage() {
+ echo "pacman-cage $myver"
+ echo "usage: $0 pacman_db_size(MB)"
+ echo
+ echo "pacman-cage creates a loopbacked filesystem in a contigious file."
+ echo "This will give better response times when using pacman"
+ echo "A safe value for pacman_db_size should be > 40"
+ echo
+ echo "If you are unsure, use this:"
+ echo " $0 60"
+ echo
+}
+
+die() {
+ echo "pacman-cage: $*" >&2
+ exit 1
+}
+
+die_r() {
+ rm -f /tmp/pacman.lck
+ die $*
+}
+
+loop_check=`zcat /proc/config.gz | grep CONFIG_BLK_DEV_LOOP | cut -d\= -f2`
+
+if [ "$loop_check" == "m" ]; then
+ if [ `lsmod | grep loop | cut -d\ -f1` != "loop" ]; then
+ echo "Error. You have to load the module 'loop' in rc.conf."
+ exit 1
+ fi
+fi
+
+if [ "$loop_check" == "CONFIG_BLK_DEV_LOOP" ]; then
+ echo "Error. Your kernel config doesn't include CONFIG_BLK_DEV_LOOP."
+ exit 1
+fi
+
+
+if [ "$#" != "1" ]; then echo "wrong number of parameters" 1>&2 ; usage; exit 0; fi
+
+if [ "$1" != "" ]; then
+ if [ "$1" = "-h" -o "$1" = "--help" ]; then
+ usage
+ exit 0
+ fi
+ dbsize=$1
+fi
+
+if [ "`id -u`" != 0 ]; then
+ die "You must be root to cage the database"
+fi
+
+# make sure pacman isn't running
+if [ -f /tmp/pacman.lck ]; then
+ die "Pacman lockfile was found. Cannot run while pacman is running."
+fi
+# make sure pacman.db hasnt already been made
+if [ -f $pacmandb ]; then
+ die "$pacmandb already exists!."
+fi
+
+if [ ! -d $dbroot ]; then
+ die "$dbroot does not exist or is not a directory"
+fi
+
+# don't let pacman run while we do this
+touch /tmp/pacman.lck
+
+# step 1: sum the old db
+echo "==> md5sum'ing the old database..."
+find $dbroot -type f | sort | xargs md5sum >/tmp/pacsums.old
+
+echo "==> creating pacman.db loopback file..."
+dd if=/dev/zero of=$pacmandb bs=1M count=$dbsize > /dev/null 2>&1
+
+echo "==> creating ext2 -O dir_index -b 1024 -m 0 on $pacmandb..."
+yes | mkfs.ext2 -O dir_index -b 1024 -i 1024 -m 0 -F $pacmandb > /dev/null 2>&1
+
+echo "==> creating temporary mount point /mnt/tmp-pacman.."
+mkdir /mnt/tmp-pacman
+
+echo "==> mounting pacman.db to temporary mount point..."
+mount -o loop $pacmandb /mnt/tmp-pacman
+
+echo "==> copying pacman database to temporary mount point..."
+cp -a /var/lib/pacman/. /mnt/tmp-pacman
+
+echo "==> unmounting temporary mount point..."
+umount /mnt/tmp-pacman
+
+echo "==> removing temporary mount point..."
+rmdir /mnt/tmp-pacman
+
+echo "==> moving old /var/lib/pacman to /var/lib/pacman.bak..."
+mv /var/lib/pacman /var/lib/pacman.bak
+
+echo "==> createing new pacman db mount point @ $dbroot..."
+mkdir $dbroot
+
+echo "==> Mounting new pacman db..."
+mount -o loop $pacmandb $dbroot
+
+echo "==> md5sum'ing the new database..."
+find $dbroot -type f | sort | xargs md5sum >/tmp/pacsums.new
+
+echo "==> checking integrity..."
+diff /tmp/pacsums.old /tmp/pacsums.new >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+ # failed, move the old one back into place
+ umount $dbroot
+ rm $pacmandb
+ mv $dbroot.bak $dbroot
+ die_r "integrity check FAILED, reverting to old database"
+fi
+
+echo "==> Updating /etc/fstab to reflect changes..."
+echo "$pacmandb $dbroot ext2 loop,defaults 0 0" >> /etc/fstab
+
+rm -f /tmp/pacman.lck /tmp/pacsums.old /tmp/pacsums.new
+
+echo
+echo "Finished. Your pacman database has been caged!. May the speedy pacman be with you."
+echo
+
+exit 0
diff --git a/pcr/pactools/pt-pacman-info b/pcr/pactools/pt-pacman-info
new file mode 100644
index 000000000..c2c82f219
--- /dev/null
+++ b/pcr/pactools/pt-pacman-info
@@ -0,0 +1,77 @@
+#!/bin/sh
+# pacman-info
+# /usr/bin/pacman-info
+# GPL v2
+# neonskull [at] gmail.com
+
+VERSION="0.1"
+AUTHOR="Pvel Varela Rodrguez [aka NeOnsKuLL]"
+
+usage()
+{
+echo "pacman-info v$VERSION"
+echo "usage: `basename $0` [OPTION]
+
+OPTIONS:
+ -cr|--configured-repos List the names of configured repos in your
+ pacman.conf
+
+ -a|--all Calculates the total number of available
+ packages in your repos
+
+ -br|--by-repo Calculates the total number of available
+ packages in each repo
+
+ -i|--installed Calculates the number of installed packages
+
+ -f|--full Generates a full Report
+
+ -h|--help Show this message
+
+ -v|--version Show version
+"
+}
+
+[ "$#" -lt 1 ] && PARAM="-h";
+[ "$#" -gt 1 ] && PARAM="*";
+[ "$#" -eq 1 ] && PARAM="$1";
+
+case $PARAM in
+ "-a"|"--all")
+ echo -e "Repositories information (total of packages in repos): `pacman -Sl|wc -l`"
+ ;;
+ "-cr"|"--configured-repos")
+ echo "Repositories information (name of configured repos):"
+ pacman -Sl|awk '{print $1}'|cut -d"/" -f 2|uniq -c|awk '{print "* " $2}'
+ ;;
+ "-br"|"--by-repo")
+ echo "Repositories information (number of packages by repo):"
+ pacman -Sl|awk '{print $1}'|cut -d"/" -f 2|uniq -c|awk '{print ":: "$2 "\t-> " $1 "\tpkgs"}'
+ ;;
+ "-i"|"--installed")
+ echo -e "System information (total of installed packages): `pacman -Q|wc -l`"
+ ;;
+ "-f"|"--full")
+ echo -e "Full Report about Repositories and Packages for Archlinux"
+ echo -e "Node name: `uname -n`\n"
+ $0 -cr
+ echo
+ $0 -a
+ echo
+ $0 -br
+ echo
+ $0 -i
+ echo
+ echo -e "Generated using `$0 -v` by $AUTHOR"
+ ;;
+ "-h"|"--help")
+ usage
+ ;;
+ "-v"|"--version")
+ echo "`basename $0` v$VERSION"
+ ;;
+ *)
+ echo "Error! Unknown parameter."
+ usage
+ ;;
+esac
diff --git a/pcr/pactools/pt-pacman-uncage b/pcr/pactools/pt-pacman-uncage
new file mode 100644
index 000000000..12b7e41d3
--- /dev/null
+++ b/pcr/pactools/pt-pacman-uncage
@@ -0,0 +1,108 @@
+
+#!/bin/bash
+#
+# pacman-uncage
+#
+# Copyright (c) 2002-2006 by Andrew Rose <rose.andrew@gmail.com>
+# I used Judds pacman-optimise as a framework.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+#
+
+myver='2.9.8'
+dbroot="/var/lib/pacman"
+tmproot="/var/lib/pacman.new"
+pacmandb="/var/lib/pacman.db"
+
+usage() {
+ echo "pacman-uncage $myver"
+ echo "usage: $0 [pacman_db_root]"
+ echo
+ echo "pacman-uncage returns your pacman db to the generic style."
+ echo
+}
+
+die() {
+ echo "pacman-uncage: $*" >&2
+ exit 1
+}
+
+die_r() {
+ rm -f /tmp/pacman.lck
+ die $*
+}
+
+if [ "$1" != "" ]; then
+ if [ "$1" = "-h" -o "$1" = "--help" ]; then
+ usage
+ exit 0
+ fi
+ dbroot=$1
+fi
+
+if [ "`id -u`" != 0 ]; then
+ die "You must be root to uncage the database"
+fi
+
+# make sure pacman isn't running
+if [ -f /tmp/pacman.lck ]; then
+ die "Pacman lockfile was found. Cannot run while pacman is running."
+fi
+
+if [ ! -d $dbroot ]; then
+ die "$dbroot does not exist or is not a directory"
+fi
+
+# don't let pacman run while we do this
+touch /tmp/pacman.lck
+
+# step 1: sum the old db
+echo "==> md5sum'ing the old database..."
+find $dbroot -type f | sort | xargs md5sum >/tmp/pacsums.old
+
+echo "==> copying pacman.db contents back, note: the time needed to get a brew is now."
+mkdir $tmproot
+cp -a $dbroot/. $tmproot
+
+echo "==> unmounting old dbroot and moving new one in"
+umount $dbroot
+rmdir $dbroot
+mv $tmproot $dbroot
+
+echo "==> md5sum'ing the new database..."
+find $dbroot -type f | sort | xargs md5sum >/tmp/pacsums.new
+
+echo "==> checking integrity..."
+diff /tmp/pacsums.old /tmp/pacsums.new >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+ # failed, move the old one back into place
+ rm -rf $dbroot
+ mkdir $dbroot
+ mount -a
+ die_r "integrity check FAILED, reverting to old database"
+fi
+
+echo "==> Removing old pacman.db"
+rm $pacmandb
+
+rm -f /tmp/pacman.lck /tmp/pacsums.old /tmp/pacsums.new
+
+echo
+echo "Finished. Your pacman database has been uncaged!. Welcome home."
+echo "You will need to remove the old mount line from your /etc/fstab"
+echo
+
+exit 0
diff --git a/pcr/pactools/pt-pacsize b/pcr/pactools/pt-pacsize
new file mode 100644
index 000000000..e70a34597
--- /dev/null
+++ b/pcr/pactools/pt-pacsize
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+##AUTHOR: hads
+##See: http://bbs.archlinux.org/viewtopic.php?t=20971
+
+for i in /var/lib/pacman/local/*; do
+ PKG=`echo $i | cut -d '/' -f 6`
+ SIZE=`grep -A 1 SIZE $i/desc | tail -1`
+ if [ -x /usr/bin/bc ]; then
+ if [ $SIZE -gt 1024 ]; then
+ if [ $SIZE -gt 1048576 ]; then
+ SIZE=`echo "scale=1;$SIZE/1048576" | bc`M
+ else
+ SIZE=`echo "scale=1;$SIZE/1024" | bc`K
+ fi
+ else
+ SIZE={$SIZE}B
+ fi
+ fi
+ echo "$PKG | $SIZE"
+done
diff --git a/pcr/pactools/pt-repolist b/pcr/pactools/pt-repolist
new file mode 100644
index 000000000..5f15fe462
--- /dev/null
+++ b/pcr/pactools/pt-repolist
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+pacman -Qi >./all_files
+
+if [ -z "$1" ] ; then
+ echo -e "\033[0;37mNo repo given!"
+ echo " usage: scriptname reponame"
+fi
+
+reponame=$1
+list=$1_list
+pacman -Sl $reponame >./$list
+sed -i "s|\$reponame |g|" ./$list
+repo=`cat ./$list | cut --fields 2 --delim " "`
+
+for pkg in $repo ; do
+ if [[ $(cat ./all_files | grep -w "$pkg") ]] ; then
+ echo -e "\033[0;34m$pkg\033[0;37m is installed"
+ echo "$pkg" >>./installed_files
+ elif [ "$2" == "all" ] ; then
+ echo -e "\033[0;31m$pkg\033[0;37m is NOT installed"
+ fi
+done
+
+echo
+echo -n "Would you like to save the names of these pkgs to a file? (Y/n) "
+read choice
+if [ "$choice" == "Y" -o "$choice" == "y" ] ; then
+ echo "Currently in `pwd`"
+ echo -n " Save as: "
+ read filename
+ if [ -z $filename ] ; then
+ echo "No name given saved as ./installed_files_$reponame"
+ cp -u ./installed_files ./installed_files_$reponame
+ else
+ cp -u ./installed_files $filename
+ fi
+ rm ./installed_files
+else
+ rm ./installed_files
+fi
+rm ./$list ./all_files
diff --git a/pcr/perl-file-find-rule/PKGBUILD b/pcr/perl-file-find-rule/PKGBUILD
new file mode 100644
index 000000000..7953217a3
--- /dev/null
+++ b/pcr/perl-file-find-rule/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Blaž Tomažič <blaz.tomazic@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=perl-file-find-rule
+_realname=File-Find-Rule
+pkgver=0.33
+pkgrel=1
+pkgdesc="Perl/CPAN Module File::Find::Rule."
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://search.cpan.org/dist/File-Find-Rule/"
+depends=('perl-text-glob' 'perl-number-compare' 'perl')
+options=(!emptydirs)
+source=(http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/${_realname}-${pkgver}.tar.gz)
+
+build() {
+ cd $startdir/src/${_realname}-$pkgver
+ # install module in vendor directories.
+ perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+ make install DESTDIR=${startdir}/pkg || return 1
+
+ # remove perllocal.pod and .packlist
+ find ${startdir}/pkg -name perllocal.pod -delete
+ find ${startdir}/pkg -name .packlist -delete
+}
+
diff --git a/pcr/perl-iptables-chainmgr/PKGBUILD b/pcr/perl-iptables-chainmgr/PKGBUILD
new file mode 100644
index 000000000..e45a1faf3
--- /dev/null
+++ b/pcr/perl-iptables-chainmgr/PKGBUILD
@@ -0,0 +1,22 @@
+# Contributor: Weirch Sodora <sodora@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=perl-iptables-chainmgr
+pkgver=1.2
+pkgrel=1
+pkgdesc="IPTables::ChainMgr - Perl extension for manipulating iptables and ip6tables policies"
+arch=('i686' 'x86_64')
+url="http://search.cpan.org/~mrash/IPTables-ChainMgr/"
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'iptables' 'perl-iptables-parse>=0.9' 'perl-netaddr-ip>=4.0')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/M/MR/MRASH/IPTables-ChainMgr-$pkgver.tar.gz)
+
+build() {
+ cd $startdir/src/IPTables-ChainMgr-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+ make install DESTDIR=$startdir/pkg || return 1
+ find $startdir/pkg -name '.packlist' -delete
+ find $startdir/pkg -name '*.pod' -delete
+}
diff --git a/pcr/perl-number-compare/PKGBUILD b/pcr/perl-number-compare/PKGBUILD
new file mode 100644
index 000000000..64566aa10
--- /dev/null
+++ b/pcr/perl-number-compare/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Blaž Tomažič <blaz.tomazic@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre <aurelien@cwb.io>
+
+pkgname=perl-number-compare
+_realname=Number-Compare
+pkgver=0.03
+pkgrel=1
+pkgdesc="Perl/CPAN Module Number::Compare."
+arch=('i686' 'x86_64')
+license=('unknown')
+url="http://search.cpan.org/dist/Number-Compare/"
+depends=('perl')
+options=(!emptydirs)
+source=(http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/${_realname}-${pkgver}.tar.gz)
+
+build() {
+ cd $startdir/src/${_realname}-$pkgver
+ # install module in vendor directories.
+ perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+ make install DESTDIR=${startdir}/pkg || return 1
+
+ # remove perllocal.pod and .packlist
+ find ${startdir}/pkg -name perllocal.pod -delete
+ find ${startdir}/pkg -name .packlist -delete
+}
+
diff --git a/pcr/perl-text-glob/PKGBUILD b/pcr/perl-text-glob/PKGBUILD
new file mode 100644
index 000000000..194ab831c
--- /dev/null
+++ b/pcr/perl-text-glob/PKGBUILD
@@ -0,0 +1,51 @@
+# CPAN Name : Text-Glob
+# Contributor: Alan Young <harleypig@gmail.com>
+# Generator : CPANPLUS::Dist::Arch 1.21
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname='perl-text-glob'
+pkgver='0.09'
+pkgrel='2'
+pkgdesc="match globbing patterns against text"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=()
+url='http://search.cpan.org/dist/Text-Glob'
+source=('http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/Text-Glob-0.09.tar.gz')
+md5sums=('1daa10e087f891c49b720a5c551a024b')
+sha512sums=('9b729e4ece88ad79e1b637c7f35e5e1ecae3fd7f62c408ed4f3fcac2e8e8afff32d7d805e1b0269800aada5ae609d03335d42ac54def2797d301e91fa488ae47')
+_distdir="${srcdir}/Text-Glob-0.09"
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "$_distdir"
+ /usr/bin/perl Build.PL
+ /usr/bin/perl Build
+ )
+}
+
+check() {
+ cd "$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ /usr/bin/perl Build test
+ )
+}
+
+package() {
+ cd "$_distdir"
+ /usr/bin/perl Build install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/perl-unix-syslog/PKGBUILD b/pcr/perl-unix-syslog/PKGBUILD
new file mode 100644
index 000000000..5f4acd962
--- /dev/null
+++ b/pcr/perl-unix-syslog/PKGBUILD
@@ -0,0 +1,33 @@
+# Contributor: Justin Davis <jrcd83@gmail.com>
+# Generator : CPANPLUS::Dist::Arch 1.04
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname='perl-unix-syslog'
+pkgver='1.1'
+pkgrel='1'
+pkgdesc="Interface to syslog functions in a C-library"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('glibc>=2.12.1' 'perl')
+url='http://search.cpan.org/dist/Unix-Syslog'
+source=('http://search.cpan.org/CPAN/authors/id/M/MH/MHARNISCH/Unix-Syslog-1.1.tar.gz')
+
+build() {
+ PERL=/usr/bin/perl
+ DIST_DIR="${srcdir}/Unix-Syslog-1.1"
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ { cd "$DIST_DIR" &&
+ $PERL Makefile.PL &&
+ make &&
+ make test &&
+ make install;
+ } || return 1;
+
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/pcr/pmount/PKGBUILD b/pcr/pmount/PKGBUILD
new file mode 100644
index 000000000..a35dc01c8
--- /dev/null
+++ b/pcr/pmount/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 80202 2012-11-17 15:45:28Z eric $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=pmount
+pkgver=0.9.23
+pkgrel=5
+pkgdesc="mount removable devices as normal user"
+arch=(i686 x86_64)
+license=('GPL2')
+url="http://pmount.alioth.debian.org/"
+backup=('etc/pmount.allow')
+depends=('sysfsutils>=2.0.0-1' 'util-linux')
+makedepends=('intltool')
+source=(
+ https://alioth.debian.org/frs/download.php/3310/${pkgname}-${pkgver}.tar.bz2
+ 'http://anonscm.debian.org/gitweb/?p=pmount/pmount-debian.git;a=blob_plain;f=debian/completion/pmount')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-hal \
+ --with-cryptsetup-prog=/usr/sbin/cryptsetup
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ${srcdir}/pmount ${pkgdir}/usr/share/bash-completion/completions/pmount
+}
+md5sums=('db19f5bf3151b1b41705ec7bafa439d3'
+ '224f24127f8ab3605de8b9bcb433882f')
diff --git a/pcr/psad/PKGBUILD b/pcr/psad/PKGBUILD
new file mode 100644
index 000000000..145625e89
--- /dev/null
+++ b/pcr/psad/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer: Artur Wojcik <xartii at gmail dot com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=psad
+pkgver=2.2
+pkgrel=2
+pkgdesc="A collection of three lightweight system daemons (two main daemons and one helper daemon) that run on Linux machines and analyze iptables log messages to detect port scans and other suspicious traffic"
+arch=('i686 x86_64')
+url="http://cipherdyne.org/psad/"
+license=('GPL')
+depends=('perl-bit-vector' 'perl-date-calc' 'perl-iptables-chainmgr' 'perl-iptables-parse' 'perl-net-ipv4addr' 'perl-storable' 'perl-unix-syslog' 'net-tools')
+source=("http://cipherdyne.org/psad/download/$pkgname-$pkgver.tar.gz" "responses" "psad-sysvinit.archlinux" "psad-systemdinit.archlinux" "psad.patch1")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cp $srcdir/psad-sysvinit.archlinux init-scripts/psad-init.archlinux
+ if [ ! -e responses ]; then
+ ln $srcdir/responses responses -s;
+ fi
+ patch -p1 -i $srcdir/psad.patch1
+
+ #Create the dirs it will need to make the program
+ mkdir -p $pkgdir/etc/psad \
+ $pkgdir/etc/rc.d \
+ $pkgdir/usr/bin \
+ $pkgdir/usr/sbin \
+ $pkgdir/usr/share/man/man8 \
+ $pkgdir/var/lib/psad \
+ $pkgdir/var/log/psad \
+ $pkgdir/var/run/psad \
+ $pkgdir/usr/lib/psad \
+ $pkgdir/usr/lib/systemd/system
+ #Set the config dirs
+ sed -e "s|'/usr/sbin'|'$pkgdir/usr/sbin'|" \
+ -e "s|'/usr/bin'|'$pkgdir/usr/bin'|" \
+ -e "s|my \$mpath = \"/usr/share/man/man\$section\";|my \$mpath = \"$pkgdir/usr/share/man/man\$section\";|" \
+ ./install.pl -i
+ sed -e "s|/var/log/psad|$pkgdir&|" \
+ -e "s|/var/run/psad|$pkgdir&|" \
+ -e "s|/var/lib/psad|$pkgdir&|" \
+ -e "s|/usr/lib/psad|$pkgdir&|" \
+ -e "s|/etc/psad|$pkgdir&|" \
+ -e "s|/usr/bin/whois_psad|$pkgdir&|" \
+ -e "s|/usr/sbin/fwcheck_psad|$pkgdir&|" \
+ -e "s|/usr/sbin/psadwatchd|$pkgdir&|" \
+ -e "s|/usr/sbin/kmsgsd|$pkgdir&|" \
+ -e "s|/usr/sbin/psad|$pkgdir&|" \
+ ./psad.conf -i
+
+ #hope that things work
+ ./install.pl --init-dir "$pkgdir/etc/rc.d/" < responses
+
+ #add the systemd service file
+ cp $srcdir/psad-systemdinit.archlinux $pkgdir/usr/lib/systemd/system/psad.service
+
+ # Fix the config
+ sed -e "s|$pkgdir||" $pkgdir/etc/psad/psad.conf -i
+ sed -e "s|$pkgdir||" $pkgdir/var/log/psad/install.log -i
+
+ #Set correct permissions
+ chmod 0700 $pkgdir/var/lib/psad
+
+
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/psad/psad-systemdinit.archlinux b/pcr/psad/psad-systemdinit.archlinux
new file mode 100644
index 000000000..991aa7423
--- /dev/null
+++ b/pcr/psad/psad-systemdinit.archlinux
@@ -0,0 +1,12 @@
+[Unit]
+Description=Port scan attack detector
+After=iptables.service
+
+[Service]
+ExecStart=/usr/sbin/psad
+ExecStop=/usr/sbin/psad --Kill
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/psad/psad-sysvinit.archlinux b/pcr/psad/psad-sysvinit.archlinux
new file mode 100644
index 000000000..6b4e76042
--- /dev/null
+++ b/pcr/psad/psad-sysvinit.archlinux
@@ -0,0 +1,52 @@
+#!/bin/bash
+#
+# Startup script for psad
+#
+# chkconfig: 345 99 05
+# description: The Port Scan Attack Detector (psad)
+# processname: psad
+# pidfile: /var/run/psad.pid
+# config: /etc/psad/psad.conf
+#
+# $Id: psad-init.archlinux
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/sshd
+
+PID=`cat /var/run/psad.pid`
+# See how we were called.
+case "$1" in
+start)
+ stat_busy "Starting psad"
+ [ -z "$PID" ] && /usr/sbin/psad
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ #let psad take care of the pid; we don't need to
+ add_daemon psad
+ stat_done
+ fi
+ ;;
+stop)
+ stat_busy "Stopping psad"
+ /usr/sbin/psad --Kill
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ #let psad take care of the pid; we don't need to
+ rm_daemon psad
+ stat_done
+ fi
+ ;;
+status)
+ /usr/sbin/psad --Status
+ ;;
+restart)
+ $0 stop
+ $0 start
+ ;;
+*)
+ echo "Usage: psad {start|stop|status|restart}"
+ exit 1
+esac
diff --git a/pcr/psad/psad.patch1 b/pcr/psad/psad.patch1
new file mode 100644
index 000000000..98ddd9a60
--- /dev/null
+++ b/pcr/psad/psad.patch1
@@ -0,0 +1,37 @@
+--- psad-2.2/install.pl 2012-04-21 04:43:46.000000000 +0200
++++ psad-2.2/install.pl 2012-10-13 16:05:03.302818330 +0200
+@@ -752,6 +752,8 @@
+ $init_file = 'init-scripts/psad-init.fedora';
+ } elsif ($distro eq 'gentoo') {
+ $init_file = 'init-scripts/psad-init.gentoo';
++ } elsif ($distro eq 'archlinux') {
++ $init_file = 'init-scripts/psad-init.archlinux';
+ } else {
+ $init_file = 'init-scripts/psad-init.generic';
+ }
+@@ -773,13 +775,14 @@
+ if ($preserve_rv) {
+ &logr("\n[+] psad has been installed (with your original config merged).\n");
+ } else {
+- &logr("\n[+] psad has been installed.\n");
++ &logr("\n[+] psad has been compiled.\n");
++ &logr("\n[+] use pacman -U to install.\n");
+ }
+ if ($installed_init_script) {
+ if ($init_dir) {
+- &logr("\n[+] To start psad, run \"${init_dir}/psad start\"\n");
++ #&logr("\n[+] To start psad, run \"${init_dir}/psad start\"\n");
+ } else {
+- &logr("\n[+] To start psad, run ${USRSBIN_DIR}/psad\"\n");
++ #&logr("\n[+] To start psad, run ${USRSBIN_DIR}/psad\"\n");
+ }
+ }
+
+@@ -1748,6 +1751,7 @@
+
+ sub get_distro() {
+ return 'gentoo' if -e '/etc/gentoo-release';
++ return 'archlinux' if -e '/etc/archlinux-release';
+ if (-e '/etc/issue') {
+ ### Red Hat Linux release 6.2 (Zoot)
+ open ISSUE, '< /etc/issue' or
diff --git a/pcr/psad/responses b/pcr/psad/responses
new file mode 100644
index 000000000..715dfaf1a
--- /dev/null
+++ b/pcr/psad/responses
@@ -0,0 +1,7 @@
+n
+n
+y
+n
+n
+n
+
diff --git a/pcr/pulledpork/PKGBUILD b/pcr/pulledpork/PKGBUILD
new file mode 100644
index 000000000..db7aa9d0d
--- /dev/null
+++ b/pcr/pulledpork/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: Isaac C. Aronson <i@pingas.org>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=pulledpork
+pkgver=0.6.1
+pkgrel=3
+pkgdesc="Tool to automatically update rules for snort"
+arch=('any')
+url="http://code.google.com/p/pulledpork"
+license=('GPL')
+depends=('perl' 'perl-lwp-protocol-https' 'perl-crypt-ssleay' 'perl-archive-tar' 'perl-switch')
+optdepends=('snort')
+source=(http://pulledpork.googlecode.com/files/pulledpork-0.6.1.tar.gz)
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -Dm644 etc/pulledpork.conf $pkgdir/etc/pulledpork.conf
+ install -Dm755 pulledpork.pl $pkgdir/usr/sbin/pulledpork.pl
+}
diff --git a/pcr/puppet/PKGBUILD b/pcr/puppet/PKGBUILD
new file mode 100644
index 000000000..02e8f32c8
--- /dev/null
+++ b/pcr/puppet/PKGBUILD
@@ -0,0 +1,86 @@
+# Puppet: Installer: Arch
+# Contributor: Greg Sutcliffe <puppet-aur (at) emeraldreverie (dot) org>
+# Contributor: Hyacinthe Cartiaux <hyacinthe (dot) cartiaux (at) free (dot) fr>
+# Contributor: Thomas S Hatch <thatch45 (at) Gmail (dot) com>
+# Contributor: Xavion <Xavion (dot) 0 (at) Gmail (dot) com>
+# Contributor: Miah Johnson <miah (at) chia-pet dot org>
+# Contributor: Dave Simons <miouhpi (at) Gmail (dot) com>
+# Contributor: Niels Abspoel <aboe76 (at) Gmail (dot) com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+# RC style, reserved for later use
+#pkgname=puppet
+#_rc=8
+#_pkgver=3.0.0
+#pkgver=${_pkgver}_rc${_rc}
+
+pkgname=puppet
+pkgver=3.0.1
+pkgrel=5
+pkgdesc="A system for automating system administration tasks."
+arch=("any")
+url="http://puppetlabs.com/projects/puppet/"
+license=("APACHE")
+depends=("ruby" "ruby-shadow" "facter" "ruby-hiera" "ruby-hiera-json")
+makedepends=('which')
+backup=("etc/puppet/puppet.conf")
+options=(emptydirs)
+provides=("puppet" "vim-puppet" "ruby-hiera-puppet")
+conflicts=("puppet3" "ruby-puppet" "vim-puppet" "ruby-hiera-puppet")
+install="puppet.install"
+source=(http://puppetlabs.com/downloads/puppet/puppet-${pkgver//_/-}.tar.gz
+ fileserver.conf
+ puppet
+ puppet.conf
+ puppetmaster)
+md5sums=('2117e3a1964ac54fcd36d926eed3db94'
+ 'ffacd9bfb9c7656a3a345dbc5eb0e67a'
+ '59dbf39e251bc4877e7604a5876c642d'
+ 'a7d61d20e46b411eb50ad5279987584a'
+ '4c507c580cb28d7a5adc9ea6b3626657')
+
+package() {
+ cd $srcdir/puppet-${pkgver//_/-}
+
+ # Install
+ ruby ./install.rb \
+ --destdir=$pkgdir \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/share/man
+
+
+ # Set up vim and emacs
+ install -Dp -m0644 ext/vim/ftdetect/puppet.vim $pkgdir/usr/share/vim/vimfiles/ftdetect/puppet.vim
+ install -Dp -m0644 ext/vim/syntax/puppet.vim $pkgdir/usr/share/vim/vimfiles/syntax/puppet.vim
+ install -Dp -m0644 ext/emacs/puppet-mode.el $pkgdir/usr/share/emacs/site-lisp/puppet-mode.el
+ install -Dp -m0644 ext/emacs/puppet-mode-init.el $pkgdir/usr/share/emacs/site-lisp/site-start.d/puppet-mode-init.el
+
+ # Configuration and rc scripts
+ install -d $pkgdir/etc/{puppet,rc.d}
+ install -m 644 $srcdir/puppet.conf $pkgdir/etc/puppet/puppet.conf
+ install -m 644 $srcdir/fileserver.conf $pkgdir/etc/puppet/fileserver.conf
+
+ # Setup tmpfiles.d config
+ install -d $pkgdir/etc/tmpfiles.d
+ echo "D /var/run/puppet 0755 puppet puppet -" > $pkgdir/etc/tmpfiles.d/puppet.conf
+
+ # Configuration for hiera / symlink is there to use hiera within puppet.
+ ln -snf /etc/hiera.yaml ${pkgdir}/etc/puppet/hiera.yaml
+
+ # Systemd files
+ install -Dm 644 $srcdir/puppet-${pkgver//_/-}/ext/systemd/puppetagent.service $pkgdir/usr/lib/systemd/system/puppetagent.service
+ install -Dm 644 $srcdir/puppet-${pkgver//_/-}/ext/systemd/puppetmaster.service $pkgdir/usr/lib/systemd/system/puppetmaster.service
+
+ # Create puppet homedir and hieradir
+ install -d $pkgdir/var/lib/puppet
+ install -d $pkgdir/var/lib/hiera
+
+ install -D $srcdir/puppet $pkgdir/etc/rc.d/puppet
+ install -D $srcdir/puppetmaster $pkgdir/etc/rc.d/puppetmaster
+
+ # Copy the LICENSE file in the usual directory
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m 644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+}
diff --git a/pcr/puppet/fileserver.conf b/pcr/puppet/fileserver.conf
new file mode 100644
index 000000000..67e387ca0
--- /dev/null
+++ b/pcr/puppet/fileserver.conf
@@ -0,0 +1,12 @@
+# This file consists of arbitrarily named sections/modules
+# defining where files are served from and to whom
+
+# Define a section 'files'
+# Adapt the allow/deny settings to your needs. Order
+# for allow/deny does not matter, allow always takes precedence
+# over deny
+# [files]
+# path /var/lib/puppet/files
+# allow *.example.com
+# deny *.evil.example.com
+# allow 192.168.0.0/24
diff --git a/pcr/puppet/puppet b/pcr/puppet/puppet
new file mode 100755
index 000000000..4126be850
--- /dev/null
+++ b/pcr/puppet/puppet
@@ -0,0 +1,45 @@
+#!/bin/bash
+DAEMON=$(type -p puppetd)
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+[ -f /etc/conf.d/puppet ] && . /etc/conf.d/puppet
+
+PID=$(pidof -xo %PPID $DAEMON)
+case "$1" in
+ start)
+ stat_busy "Starting Puppet Daemon"
+ if [ -z "$PID" ]; then
+ [ -f /var/run/puppet.pid ] && rm -f /var/run/puppet.pid
+ $DAEMON $PUPPETD_ARGS
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=$(pidof -xo %PPID $DAEMON)
+ echo $PID > /var/run/puppet.pid
+ add_daemon puppet
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Puppet Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon puppet
+ rm -f /var/run/puppet.pid
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ if [ ! -z $PID ]; then
+ while ps -p $PID > /dev/null; do sleep 1; done
+ fi
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/pcr/puppet/puppet.conf b/pcr/puppet/puppet.conf
new file mode 100644
index 000000000..aa5868dee
--- /dev/null
+++ b/pcr/puppet/puppet.conf
@@ -0,0 +1,32 @@
+[main]
+ # The Puppet var directory
+ # The default value is '/var/lib/puppet'
+ vardir = /var/lib/puppet
+
+ # The Puppet log directory.
+ # The default value is '$vardir/log'.
+ logdir = /var/log/puppet
+
+ # Where Puppet PID files are kept.
+ # The default value is '$vardir/run'.
+ rundir = /var/run/puppet
+
+ # Where SSL certificates are kept.
+ # The default value is '$confdir/ssl'.
+ pluginsync=true
+
+
+[agent]
+ # The file in which puppetd stores a list of the classes
+ # associated with the retrieved configuratiion. Can be loaded in
+ # the separate ``puppet`` executable using the ``--loadclasses``
+ # option.
+ # The default value is '$confdir/classes.txt'.
+ classfile = $vardir/classes.txt
+
+ # Where puppetd caches the local configuration. An
+ # extension indicating the cache format is added automatically.
+ # The default value is '$confdir/localconfig'.
+ localconfig = $vardir/localconfig
+
+#[master]
diff --git a/pcr/puppet/puppet.install b/pcr/puppet/puppet.install
new file mode 100644
index 000000000..928df566b
--- /dev/null
+++ b/pcr/puppet/puppet.install
@@ -0,0 +1,46 @@
+# Puppet: Installer: Arch
+# Maintainer: Thomas S Hatch <thatch45 (at) Gmail (dot) com>
+# Contributor: Xavion <Xavion (dot) 0 (at) Gmail (dot) com>
+# Contributor: Miah Johnson <Miah (at) chia-pet dot org>
+
+pre_install() {
+ getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null
+ getent passwd puppet &>/dev/null || useradd -r -u 52 -g puppet -d /var/lib/puppet -s /sbin/nologin -c "Puppet" puppet &>/dev/null || :
+}
+
+pre_upgrade() {
+ pre_install
+ usermod -d /var/lib/puppet puppet &>/dev/null || :
+}
+
+post_install() {
+ :
+}
+
+pre_remove() {
+if [ -f /var/run/puppetmasterd.pid ]; then
+ PIDOF=$(pidof -xo %PPID puppetmasterd)
+ PIDFILE=$(cat /var/run/puppetmasterd.pid)
+ if [ $PIDOF -eq $PIDFILE ]; then
+ /etc/rc.d/puppetmaster stop
+ fi
+fi
+
+if [ -f /var/run/puppetd.pid ]; then
+ PIDOF=$(pidof -xo %PPID puppetd)
+ PIDFILE=$(cat /var/run/puppetd.pid)
+ if [ $PIDOF -eq $PIDFILE ]; then
+ /etc/rc.d/puppet stop
+ fi
+fi
+}
+
+post_remove() {
+ # Remove user and group
+ userdel puppet
+}
+
+op=$1
+shift
+
+$op "$@"
diff --git a/pcr/puppet/puppetmaster b/pcr/puppet/puppetmaster
new file mode 100755
index 000000000..8b3971053
--- /dev/null
+++ b/pcr/puppet/puppetmaster
@@ -0,0 +1,45 @@
+#!/bin/bash
+DAEMON=$(type -p puppetmasterd)
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+[ -f /etc/conf.d/puppetmaster ] && . /etc/conf.d/puppetmaster
+
+PID=$(pidof -xo %PPID $DAEMON)
+case "$1" in
+ start)
+ stat_busy "Starting Puppet Master Daemon"
+ if [ -z "$PID" ]; then
+ [ -f /var/run/puppetmaster.pid ] && rm -f /var/run/puppetmaster.pid
+ $DAEMON $PUPPETMASTER_ARGS
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=$(pidof -xo %PPID $DAEMON)
+ echo $PID > /var/run/puppetmaster.pid
+ add_daemon puppetmaster
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Puppet Master Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon puppetmaster
+ rm -f /var/run/puppetmaster.pid
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ if [ ! -z $PID ]; then
+ while ps -p $PID > /dev/null; do sleep 1; done
+ fi
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/pcr/python-anyjson/PKGBUILD b/pcr/python-anyjson/PKGBUILD
new file mode 100644
index 000000000..8ab20d1c9
--- /dev/null
+++ b/pcr/python-anyjson/PKGBUILD
@@ -0,0 +1,21 @@
+# Contributor: Benjamin A. Shelton <zancarius@gmail.com>
+# Contributor: p2k <Patrick.Schneider@uni-ulm.de>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python-anyjson
+pkgver=0.3.3
+pkgrel=1
+pkgdesc="Wraps the best available JSON implementation available in a common interface."
+arch=('any')
+url="http://pypi.python.org/pypi/anyjson"
+license=('BSD')
+depends=('python2')
+makedepends=('python2-distribute')
+source=("http://pypi.python.org/packages/source/a/anyjson/anyjson-${pkgver}.tar.gz")
+
+build () {
+
+ cd "${srcdir}/anyjson-${pkgver}"
+ python2 setup.py install --root="${pkgdir}/" --optimize=1
+
+}
diff --git a/pcr/python-paste-deploy/PKGBUILD b/pcr/python-paste-deploy/PKGBUILD
new file mode 100644
index 000000000..57b7ca0d3
--- /dev/null
+++ b/pcr/python-paste-deploy/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: David Campbell <davekong@archlinux.us>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python-paste-deploy
+pkgver=1.5.0
+pkgrel=1
+pkgdesc="Load, configure, and compose WSGI applications and servers"
+arch=('any')
+url="http://pythonpaste.org/deploy/"
+license=('custom')
+depends=('python2')
+makedepends=('setuptools')
+source=(http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${pkgver}.tar.gz)
+
+
+build() {
+ cd $srcdir/PasteDeploy-${pkgver}
+ python2 setup.py install --root=$pkgdir --optimize=1
+ install -Dm644 docs/license.txt $pkgdir/usr/share/licenses/$pkgname/license.txt
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find $pkgdir -name '*.py')
+}
diff --git a/pcr/python-paste/PKGBUILD b/pcr/python-paste/PKGBUILD
new file mode 100644
index 000000000..3ffc12ca3
--- /dev/null
+++ b/pcr/python-paste/PKGBUILD
@@ -0,0 +1,25 @@
+# Contributor: David Campbell <davekong@archlinux.us>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python-paste
+pkgver=1.7.5.1
+pkgrel=1
+pkgdesc="Tools for using a Web Server Gateway Interface stack."
+arch=('any')
+url="http://pythonpaste.org/index.html"
+license=('custom')
+depends=('python2')
+makedepends=('setuptools')
+source=(http://pypi.python.org/packages/source/P/Paste/Paste-${pkgver}.tar.gz)
+optdepends=('python-flup: WSGI utilities'
+ 'python-openid: Support for OpenID')
+
+build() {
+ cd ${srcdir}/Paste-${pkgver}
+ python2 setup.py install --root=${pkgdir} --optimize=1
+ install -Dm644 docs/license.txt ${pkgdir}/usr/share/licenses/$pkgname/license.txt
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find $pkgdir -name '*.py')
+}
diff --git a/pcr/python-renpy/ChangeLog b/pcr/python-renpy/ChangeLog
new file mode 100644
index 000000000..0a357d3db
--- /dev/null
+++ b/pcr/python-renpy/ChangeLog
@@ -0,0 +1,32 @@
+2012-28-07 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.14.1-1 :
+ new upstream release.
+ added renpy.diff.
+
+2012-22-07 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.12-3 :
+ fixed build with latest ffmpeg at cost of sound.
+
+2012-26-04 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.12-2 :
+ moved python-pygame from makedepends to depends.
+
+2012-20-04 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.12-1 :
+ new upstream release.
+
+2012-07-04 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.11-1 :
+ new upstream release.
+ moved python-pygame dependency form renpy to python-renpy.
+
+2011-22-03 AlexanderR <alexanderr at gmx dot com>
+
+ * 16.13.9-2 :
+ added ChangeLog.
+ fixed corrupted images, caused by gcc optimization.
diff --git a/pcr/python-renpy/PKGBUILD b/pcr/python-renpy/PKGBUILD
new file mode 100644
index 000000000..f7c16e9b9
--- /dev/null
+++ b/pcr/python-renpy/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: AlexanderR <rvacheva at nxt dot ru>
+# Contributor: zhn <zhangn1985 AT gmail com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgname=python-renpy
+pkgver=6.14.1
+pkgrel=2
+pkgdesc="Platform-dependant Ren'Py libraries."
+arch=('i686' 'x86_64' 'mips64el')
+license=('MIT')
+url='http://www.renpy.org/'
+depends=('ffmpeg' 'fribidi' 'glew' 'python2-pygame' 'mesa')
+options=(!buildflags)
+conflicts=("renpy<$pkgver" 'renpy64' 'renpy-bin')
+# python-argparse is part of distribution since 2.7
+makedepends=('python2>=2.7' 'cython')
+changelog=ChangeLog
+source=("http://www.renpy.org/dl/$pkgver/renpy-${pkgver}-source.tar.bz2"
+ python2.diff
+ renpy.diff)
+
+md5sums=('16814530ba9ce1f2968bb8c8c785651b'
+ '19b861f4d934bfea817c161bf3ea1142'
+ '14f789d847dbd4278a2d5d74ab551e2d')
+
+build() {
+ cd "$srcdir"/renpy-${pkgver}-source
+
+ #patch -p1 < ../python2.diff
+ patch -Rp1 < ../renpy.diff
+
+ CFLAGS=-Os python2 module/setup.py build
+}
+
+package(){
+ cd "$srcdir"/renpy-${pkgver}-source
+
+ # install python-renpy
+ CFLAGS=-Os python2 module/setup.py install --root="$pkgdir/" --prefix=/usr --optimize=1
+ install -D -m644 'LICENSE.txt' "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/pcr/python-renpy/python2.diff b/pcr/python-renpy/python2.diff
new file mode 100644
index 000000000..c1e68d87e
--- /dev/null
+++ b/pcr/python-renpy/python2.diff
@@ -0,0 +1,8 @@
+--- a/module/setup.py.orig 2011-09-06 07:50:08.000000000 +0800
++++ b/module/setup.py 2011-09-16 18:38:42.187110252 +0800
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+
+ import platform
+ import sys
diff --git a/pcr/python-renpy/renpy.diff b/pcr/python-renpy/renpy.diff
new file mode 100644
index 000000000..89a6b8c05
--- /dev/null
+++ b/pcr/python-renpy/renpy.diff
@@ -0,0 +1,20 @@
+diff -aur renpy-6.14.1-source.new/module/ffdecode.c renpy-6.14.1-source/module/ffdecode.c
+--- renpy-6.14.1-source.new/module/ffdecode.c 2012-08-28 16:49:27.217523406 +1100
++++ renpy-6.14.1-source/module/ffdecode.c 2012-08-26 15:28:30.000000000 +1100
+@@ -1152,6 +1152,7 @@
+ AVFormatContext *ic;
+ int err, i, ret, video_index, audio_index;
+ AVPacket pkt1, *pkt = &pkt1;
++ AVFormatParameters params, *ap = &params;
+ int codecs_locked = 0;
+
+ // url_set_interrupt_cb(decode_interrupt_cb);
+@@ -1161,6 +1162,8 @@
+ is->video_stream = -1;
+ is->audio_stream = -1;
+
++ memset(ap, 0, sizeof(*ap));
++
+ is->io_context = rwops_open(is->rwops);
+
+ codecs_locked = 1;
diff --git a/pcr/python-repoze.lru/PKGBUILD b/pcr/python-repoze.lru/PKGBUILD
new file mode 100644
index 000000000..844658c27
--- /dev/null
+++ b/pcr/python-repoze.lru/PKGBUILD
@@ -0,0 +1,32 @@
+# Contributor: speps <speps at aur dot archlinux dot org>
+# Contributor: DasIch <dasdasich@googlemail.com>
+# Maintainer : Paraobla GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+_name=repoze.lru
+pkgname=python-$_name
+pkgver=0.6
+pkgrel=1
+pkgdesc="A tiny LRU cache implementation and decorator"
+arch=('any')
+license=('custom:BSD')
+url="http://pypi.python.org/pypi/$_name"
+depends=('python')
+makedepends=('python-distribute')
+provides=(python-repoze-lru)
+conflicts=(python-repoze-lru)
+replaces=(python-repoze-lru)
+source=("http://pypi.python.org/packages/source/r/$_name/$_name-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$_name-$pkgver"
+ python setup.py build
+}
+
+package() {
+ cd "$srcdir/$_name-$pkgver"
+ python setup.py install --root="$pkgdir/"
+
+ # license
+ install -Dm644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/pcr/python-routes/PKGBUILD b/pcr/python-routes/PKGBUILD
new file mode 100644
index 000000000..511934ef2
--- /dev/null
+++ b/pcr/python-routes/PKGBUILD
@@ -0,0 +1,29 @@
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+# Contributor: David Moore <davidm@sjsoft.com>
+# Contributor: Nathan Jones <nathanj@insightbb.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python-routes
+pkgver=1.13
+pkgrel=2
+pkgdesc="A routing package for Python that matches URL's to dicts and vice versa"
+arch=('any')
+url="http://pypi.python.org/pypi/Routes"
+license=('custom:BSD')
+depends=('python-repoze.lru')
+makedepends=('python-distribute')
+source=("http://pypi.python.org/packages/source/R/Routes/Routes-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/Routes-$pkgver"
+ python setup.py build
+}
+
+package() {
+ cd "$srcdir/Routes-$pkgver"
+
+ python setup.py install --root="$pkgdir/"
+ install -Dm644 LICENSE \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
diff --git a/pcr/python-sfml2/PKGBUILD b/pcr/python-sfml2/PKGBUILD
index 48a8e4d30..48a8e4d30 100755..100644
--- a/pcr/python-sfml2/PKGBUILD
+++ b/pcr/python-sfml2/PKGBUILD
diff --git a/pcr/python-wsgiref/PKGBUILD b/pcr/python-wsgiref/PKGBUILD
new file mode 100644
index 000000000..3f3b38bd2
--- /dev/null
+++ b/pcr/python-wsgiref/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: Philipp Schmidt <philschmidt at gmx dot net>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python-wsgiref
+pkgver=0.1.2
+pkgrel=2
+pkgdesc="WSGI (PEP 333) Reference Library"
+arch=('i686' 'x86_64')
+url="http://cheeseshop.python.org/pypi/wsgiref"
+license=('PSF or ZPL')
+depends=('python2')
+makedepends=('unzip' 'setuptools')
+source=("http://pypi.python.org/packages/source/w/wsgiref/wsgiref-$pkgver.zip")
+
+build() {
+ cd "$srcdir/wsgiref-$pkgver"
+
+ python2 setup.py install --root=$pkgdir
+}
diff --git a/pcr/python-xattr/PKGBUILD b/pcr/python-xattr/PKGBUILD
new file mode 100644
index 000000000..d6977f435
--- /dev/null
+++ b/pcr/python-xattr/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python-xattr
+pkgver=20111028
+pkgrel=1
+pkgdesc="module for manipulating filesystem extended attributes"
+arch=('i686' 'x86_64')
+url="http://undefined.org/python/#xattr"
+license=('MIT')
+conflicts=('pyattr')
+provied=('pyattr')
+makedepends=('setuptools')
+depends=('python2' 'git')
+
+_gitroot=https://github.com/xattr/xattr.git
+_gitname=xattr
+
+build() {
+ cd $srcdir/
+
+ if [ -e ${_gitname} ] ; then
+ cd ${_gitname}
+ git pull
+ cd ..
+ else
+ git clone ${_gitroot} ${_gitname}
+ fi
+
+ cd $srcdir/xattr/
+ python2 setup.py install --prefix=/usr --root=$pkgdir
+}
diff --git a/pcr/python2-amqplib/PKGBUILD b/pcr/python2-amqplib/PKGBUILD
new file mode 100644
index 000000000..d67800a06
--- /dev/null
+++ b/pcr/python2-amqplib/PKGBUILD
@@ -0,0 +1,22 @@
+# Contributor: Tevin Zhang <mail2tevin {at} gmail {dot} com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-amqplib
+pkgver=1.0.2
+pkgrel=3
+pkgdesc="Python client for the Advanced Message Queuing Procotol (AMQP). Uses Python2."
+arch=('any')
+url="http://code.google.com/p/py-amqplib/"
+license=("LGPL")
+depends=('python2>=2.6' 'setuptools')
+source=(http://py-amqplib.googlecode.com/files/amqplib-$pkgver.tgz)
+
+build() {
+ cd $srcdir/amqplib-$pkgver
+
+ # replace /usr/bin/env python with python2
+ find . -name '*.py' -exec sed -i -e '1 s/python\s*$/python2/' {} \;
+
+ python2 ./setup.py install --root=$pkgdir --prefix=/usr || return 1
+}
+
diff --git a/pcr/python2-carrot/PKGBUILD b/pcr/python2-carrot/PKGBUILD
new file mode 100644
index 000000000..b620eca9e
--- /dev/null
+++ b/pcr/python2-carrot/PKGBUILD
@@ -0,0 +1,21 @@
+# Contributor: Lukas Linhart <bugs@almad.net>
+# Contributor: Marco Elver <marco.elver AT gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-carrot
+pkgver=0.10.5
+pkgrel=1
+pkgdesc="AMQP Messaging Framwork for Python"
+arch=('any')
+url='http://ask.github.com/carrot/'
+license=('BSD')
+depends=('python2' 'python2-amqplib')
+makedepends=('setuptools')
+source=("http://pypi.python.org/packages/source/c/carrot/carrot-$pkgver.tar.gz")
+options=(!emptydirs)
+
+build() {
+ cd ${srcdir}/carrot-$pkgver
+ python2 setup.py install --root=$pkgdir/ --optimize=1 || return 1
+}
+
diff --git a/pcr/python2-daemon/PKGBUILD b/pcr/python2-daemon/PKGBUILD
new file mode 100644
index 000000000..18358f9cb
--- /dev/null
+++ b/pcr/python2-daemon/PKGBUILD
@@ -0,0 +1,20 @@
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-daemon
+pkgver=1.6
+pkgrel=2
+pkgdesc="Library to implement a well-behaved Unix daemon process"
+license=("PSF-2+")
+url="http://pypi.python.org/pypi/python-daemon"
+depends=('python2-lockfile')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/p/python-daemon/python-daemon-$pkgver.tar.gz)
+arch=('any')
+options=(!emptydirs)
+
+build() {
+ cd "$srcdir/python-daemon-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+}
+
diff --git a/pcr/python2-empy/PKGBUILD b/pcr/python2-empy/PKGBUILD
new file mode 100644
index 000000000..3c4cd7bee
--- /dev/null
+++ b/pcr/python2-empy/PKGBUILD
@@ -0,0 +1,20 @@
+# Contributor: Andrew Conkling <andrewski@fr.st>
+# Contributor: hauptmech <hauptmech@gmail.com>
+# Maintainer : Parabola GNU / LInux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=python2-empy
+realname=empy
+pkgver=3.3
+pkgrel=2
+pkgdesc="A powerful and robust templating system for Python."
+arch=(i686 x86_64)
+url="http://www.alcyone.com/software/empy"
+depends=('python2')
+license=('LGPL')
+source=("http://www.alcyone.com/software/empy/empy-$pkgver.tar.gz")
+
+build() {
+ cd $startdir/src/empy-$pkgver
+ python2 setup.py install --prefix=$startdir/pkg/usr
+}
+
diff --git a/pcr/python2-eventlet/PKGBUILD b/pcr/python2-eventlet/PKGBUILD
new file mode 100644
index 000000000..d9dc41d8d
--- /dev/null
+++ b/pcr/python2-eventlet/PKGBUILD
@@ -0,0 +1,22 @@
+# -*- shell-script -*-
+#Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+python=python2
+name=eventlet
+
+pkgname=$python-$name
+pkgver=0.9.16
+pkgrel=1
+pkgdesc="Highly concurrent networking library"
+arch=(any)
+url="http://eventlet.net"
+license=(MIT)
+depends=('python2-greenlet' 'python' 'python2-distribute')
+makedepends=("$python")
+source=("http://pypi.python.org/packages/source/e/$name/$name-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/$name-$pkgver"
+ $python setup.py install --prefix=/usr --root=$pkgdir
+}
+
diff --git a/pcr/python2-iso8601/PKGBUILD b/pcr/python2-iso8601/PKGBUILD
new file mode 100644
index 000000000..08ca49004
--- /dev/null
+++ b/pcr/python2-iso8601/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: WU Jun <quark at lihdd dot net>
+# Contributor: Vsevolod Balashov <vsevolod@balashov.name>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+name=iso8601
+pkgname=python2-$name
+pkgver=0.1.4
+pkgrel=3
+pkgdesc="Simple module to parse ISO 8601 dates"
+arch=(any)
+url="http://pypi.python.org/pypi/$name"
+license=(MIT)
+depends=(python2)
+makedepends=(python2-distribute)
+source=("http://pypi.python.org/packages/source/i/$name/$name-$pkgver.tar.gz")
+build() {
+ cd "$srcdir/$name-$pkgver"
+ python2 setup.py install --prefix=/usr --root=$pkgdir || return 1
+}
diff --git a/pcr/python2-kombu/PKGBUILD b/pcr/python2-kombu/PKGBUILD
new file mode 100644
index 000000000..ef99b0beb
--- /dev/null
+++ b/pcr/python2-kombu/PKGBUILD
@@ -0,0 +1,29 @@
+# Contributor: Felix Yan <felixonmars@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-kombu
+pkgver=2.4.10
+pkgrel=1
+pkgdesc="AMQP Messaging Framework for Python 2.x"
+arch=('any')
+url="http://pypi.python.org/pypi/kombu/"
+license=('BSD')
+depends=('python2' 'python-anyjson')
+optdepends=(
+ "python2-librabbitmq: High performance AMQP transport written in C"
+)
+makedepends=('setuptools')
+source=("http://pypi.python.org/packages/source/k/kombu/kombu-$pkgver.tar.gz")
+options=(!emptydirs)
+
+build() {
+ cd "$srcdir"/kombu-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir"/kombu-$pkgver
+ python2 setup.py install --root="$pkgdir/"
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/pcr/python2-netaddr/PKGBUILD b/pcr/python2-netaddr/PKGBUILD
new file mode 100644
index 000000000..8d9f2a827
--- /dev/null
+++ b/pcr/python2-netaddr/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: Sebastien LEDUC <sebastien@sleduc.fr>
+# Contributor: Gilles CHAUVIN <gcnweb at gmail dot com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-netaddr
+pkgver=0.7.10
+pkgrel=1
+pkgdesc="A pure Python network address representation and manipulation library"
+arch=('i686' 'x86_64')
+license=('BSD')
+url="http://github.com/drkjam/netaddr/"
+depends=('python2')
+source=("http://github.com/downloads/drkjam/netaddr/netaddr-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir/netaddr-$pkgver/"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
+
diff --git a/pcr/python2-passlib/PKGBUILD b/pcr/python2-passlib/PKGBUILD
new file mode 100644
index 000000000..753677827
--- /dev/null
+++ b/pcr/python2-passlib/PKGBUILD
@@ -0,0 +1,21 @@
+# Contributor: onny <onny@project-insanity.org>
+# Contributor: onny <onny@project-insanity.org>
+# Maintainer : Parabola GNU /Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-passlib
+pkgver=1.6.1
+pkgrel=1
+pkgdesc="A password hashing library for Python."
+arch=('i686' 'x86_64')
+url=("https://code.google.com/p/passlib/")
+license=('custom')
+depends=('python2')
+source=("https://passlib.googlecode.com/files/passlib-${pkgver}.tar.gz")
+sha512sums=('93c047dc0a06f19a20e5da97db43c5c76e06d69baeac15cc932ef0306ae22dac5c1a3925889a140fd181ab4e00ac513ec829951e15babf5aad89bd2d08dc9907')
+
+build() {
+ cd "$srcdir/passlib-${pkgver}"
+ python2 setup.py build install --root="${pkgdir}" || return 1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/python2-pkgtools/PKGBUILD b/pcr/python2-pkgtools/PKGBUILD
new file mode 100644
index 000000000..7060dc416
--- /dev/null
+++ b/pcr/python2-pkgtools/PKGBUILD
@@ -0,0 +1,20 @@
+# Contributor: Fabien Devaux <fdev31 at gmail dot com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-pkgtools
+pkgver=0.7.1
+pkgrel=1
+pkgdesc="Python packages tools"
+arch=('any')
+url="http://pkgtools.readthedocs.org/en/latest/"
+license=('MIT')
+depends=('python2')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/p/pkgtools/pkgtools-${pkgver}.tar.gz)
+
+build() {
+ cd "${srcdir}/pkgtools-${pkgver}"
+ python2 setup.py build || exit 1
+ python2 setup.py install --root="${pkgdir}" --optimize=1 || exit 1
+}
+
diff --git a/pcr/python2-rospkg/PKGBUILD b/pcr/python2-rospkg/PKGBUILD
new file mode 100644
index 000000000..cf6116ba0
--- /dev/null
+++ b/pcr/python2-rospkg/PKGBUILD
@@ -0,0 +1,23 @@
+# Contributor: Somebody <somebody[at]foo[dot]tld>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+_name=rospkg
+pkgname=python2-rospkg
+pkgver=1.0.15
+pkgrel=1
+pkgdesc="provides basic utilities for querying information about ROS packages, stacks, and distributions."
+url="http://ros.org/doc/api/rospkg/html/python_api.html"
+arch=('x86_64' 'i686')
+license=('BSD')
+depends=('python2')
+optdepends=()
+makedepends=('python2-distribute')
+conflicts=()
+replaces=()
+backup=()
+source=(http://pr.willowgarage.com/downloads/${_name}/${_name}-${pkgver}.tar.gz)
+
+build() {
+ cd ${srcdir}/${_name}-${pkgver}
+ find -type f -print0 | xargs -0 sed -i -e 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python2/g'
+ python2 setup.py install --root="${pkgdir}" --optimize=1 || return 1
+}
diff --git a/pcr/python2-sendfile/PKGBUILD b/pcr/python2-sendfile/PKGBUILD
new file mode 100644
index 000000000..3de2d5a48
--- /dev/null
+++ b/pcr/python2-sendfile/PKGBUILD
@@ -0,0 +1,22 @@
+# Contributor: Josh Chase <jcjoshuachase@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-sendfile
+_pkgname=py-sendfile
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="pysendfile"
+url="http://code.google.com/p/pysendfile"
+license=('MIT')
+arch=('i686' 'x86_64')
+depends=('python2' 'setuptools')
+conflicts=()
+replaces=()
+backup=()
+source=("http://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+ python2 setup.py install --root=$pkgdir
+ }
diff --git a/pcr/python2-sfml2/PKGBUILD b/pcr/python2-sfml2/PKGBUILD
index 263097e50..263097e50 100755..100644
--- a/pcr/python2-sfml2/PKGBUILD
+++ b/pcr/python2-sfml2/PKGBUILD
diff --git a/pcr/python2-suds/PKGBUILD b/pcr/python2-suds/PKGBUILD
new file mode 100644
index 000000000..a45009a2b
--- /dev/null
+++ b/pcr/python2-suds/PKGBUILD
@@ -0,0 +1,25 @@
+# Contributor: Jonathan Liu <net147@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=python2-suds
+pkgver=0.4
+pkgrel=3
+pkgdesc="A lightweight SOAP python client."
+arch=('any')
+url="https://fedorahosted.org/suds/"
+license=('LGPL')
+depends=('python2')
+makedepends=('python2-distribute')
+source=("https://fedorahosted.org/releases/s/u/suds/python-suds-${pkgver}.tar.gz")
+
+build() {
+ cd "${srcdir}/python-suds-${pkgver}"
+ python2 setup.py build
+}
+
+package() {
+ cd "${srcdir}/python-suds-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" -O1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/python2-webob/Changelog b/pcr/python2-webob/Changelog
new file mode 100644
index 000000000..d67f3b16b
--- /dev/null
+++ b/pcr/python2-webob/Changelog
@@ -0,0 +1,26 @@
+2012-10-30 Aaron DeVore <aaron.devore@gmail.com> (1.2.3-1)
+- Version bump to 1.2.3
+- Change WebOb-${pkgver}.zip to WebOb-${pkgver}.tar.gz
+2012-06-07 Aaron DeVore <aaron.devore@gmail.com> (1.2.2-1)
+- Version bump to 1.2.2
+2012-06-07 Aaron DeVore <aaron.devore@gmail.com> (1.2-1)
+- Version bump to 1.2
+2012-10-07 Aaron DeVore <aaron.devore@gmail.com>
+- Version bump to 1.1.1
+2011-8-8 Aaron DeVore <aaron.devore@gmail.com> (1.1b2)
+- Version bump to 1.1b2
+- Add python-sphinx to makedepends
+2011-5-14 Aaron DeVore <aaron.devore@gmail.com> (1.0.7-2)
+- Revert from split build (AUR doesn't work with split builds)
+2011-5-14 Aaron DeVore <aaron.devore@gmail.com> (1.0.7-1)
+- Version bump to 1.0.7
+- Switch to split build
+- Split Sphinx html docs into python-webob-docs package
+- Don't bundle license file (upstream has restored it)
+2011-4-13 Aaron DeVore <aaron.devore@gmail.com> (1.0.6-1)
+- Version bump to 1.0.6
+- Bundle the license file (upstream removed it from the Pypi zip file)
+2011-3-24 Aaron DeVore <aaron.devore@gmail.com> (1.0.5-1)
+- Version bump to 1.0.5
+- Fix source URL (file extension changed on Pypi)
+- Fix some recently change idioms
diff --git a/pcr/python2-webob/PKGBUILD b/pcr/python2-webob/PKGBUILD
new file mode 100644
index 000000000..8dd0df386
--- /dev/null
+++ b/pcr/python2-webob/PKGBUILD
@@ -0,0 +1,34 @@
+# Contributor: Aaron DeVore <aaron.devore@gmail.com>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname='python2-webob'
+pkgver='1.2.3'
+pkgrel='1'
+pkgdesc="WebOb provides objects for HTTP requests and responses."
+arch=('any')
+url="http://webob.org/"
+license=('MIT')
+depends=('python2')
+makedepends=('python2-distribute')
+optdepends=('python-webob-docs: documentation')
+changelog='Changelog'
+source=("http://pypi.python.org/packages/source/W/WebOb/WebOb-${pkgver}.tar.gz")
+
+build() {
+ cd "$srcdir/WebOb-${pkgver}"
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/WebOb-${pkgver}"
+ python2 setup.py install "--root=$pkgdir" --optimize=1
+ install -D -m644 "docs/license.txt" \
+ "$pkgdir/usr/share/licenses/$pkgname/license.txt"
+}
+
+check() {
+ cd "$srcdir/WebOb-${pkgver}"
+ python2 setup.py test
+}
+
diff --git a/pcr/renpy/ChangeLog b/pcr/renpy/ChangeLog
new file mode 100644
index 000000000..566d97fa9
--- /dev/null
+++ b/pcr/renpy/ChangeLog
@@ -0,0 +1,30 @@
+2012-28-07 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.14.1-1 :
+ new upstream release.
+ removed optdepends.
+ removed jedit-external.diff (does not work anymore).
+
+2012-23-04 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.12-1 :
+ Added notice abot RENPY_BASE usage to renpy.install.
+
+2012-20-04 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.12-1 :
+ new upstream release.
+
+2012-07-04 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.11-1 :
+ new upstream release.
+
+2012-16-03 AlexanderR <alexanderr at gmx dot com>
+
+ * 6.13.9-1 :
+ re-split package python-renpy into two. added ChangeLog.
+ added jedit-external.diff to split jedit into optdepends.
+ added profile.d scripts to export RENPY_BASE.
+ added icon, launcher script and .desktop file.
+ creation of link from /usr/share/renpy/doc to /usr/share/doc/renpy.
diff --git a/pcr/renpy/PKGBUILD b/pcr/renpy/PKGBUILD
new file mode 100644
index 000000000..89c07a433
--- /dev/null
+++ b/pcr/renpy/PKGBUILD
@@ -0,0 +1,57 @@
+# Maintainer: AlexanderR <rvacheva at nxt dot ru>
+
+pkgname=renpy
+pkgver=6.14.1
+pkgrel=1
+pkgdesc="Ren'Py is a visual novel engine that helps you use words, images, and sounds to tell stories with the computer. This package contains both player and development tools."
+arch=('any')
+license=('MIT')
+url='http://www.renpy.org/'
+# is ttf-dejavu required by renpy or games itself?
+depends=("python-renpy=$pkgver" 'ttf-dejavu')
+options=(!strip !zipman)
+conflicts=('renpy-bin' 'renpy64')
+replaces=('renpy64')
+install=renpy.install
+changelog=ChangeLog
+source=("http://www.renpy.org/dl/$pkgver/renpy-$pkgver-source.tar.bz2"
+ "${pkgname}.desktop"
+ "${pkgname}."{sh,csh}
+ 'python2.diff'
+ 'renpy-launcher.sh')
+
+md5sums=('16814530ba9ce1f2968bb8c8c785651b'
+ 'a9beb35fa6c6d8af7ba5d2a764c33158'
+ 'd206d24b78e207a2c3b603fef14ac47f'
+ '8b9922e26e567248a2a5adc1d0cdfdd4'
+ '0476b16220e6faeb031e1dbfe45249b4'
+ 'dfa92cdecc15e5c1ddee387fbbbb2d9c')
+
+build() {
+ cd "$srcdir/renpy-$pkgver-source"
+
+ patch -p1 < ../python2.diff
+
+ # fonts are provided by ttf-dejavu
+ rm common/DejaVuSans.ttf common/DejaVuSans.txt
+}
+
+package(){
+ mkdir -p "$pkgdir/"{usr/share/{$pkgname,doc/$pkgname},etc/profile.d}
+
+ cd "$srcdir"
+
+ install -m755 ${pkgname}.{sh,csh} "$pkgdir/etc/profile.d"
+ install -D -m755 $pkgname-launcher.sh "$pkgdir/usr/bin/$pkgname"
+ install -D -m644 ${pkgname}.desktop "$pkgdir/usr/share/applications/${pkgname}.desktop"
+
+ cd renpy-$pkgver-source
+
+ cp -r launcher renpy common renpy.py template the_question tutorial "$pkgdir/usr/share/$pkgname"
+ cp -r doc/* "$pkgdir/usr/share/doc/$pkgname"
+ install -D -m644 launcher/game/logo.png "$pkgdir/usr/share/pixmaps/${pkgname}.png"
+ install -D -m644 'LICENSE.txt' "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ chgrp -R games "$pkgdir"/usr/share/renpy/{the_question,tutorial}
+ chmod g+w "$pkgdir"/usr/share/renpy/{the_question,tutorial}
+}
diff --git a/pcr/renpy/python2.diff b/pcr/renpy/python2.diff
new file mode 100644
index 000000000..9153659a2
--- /dev/null
+++ b/pcr/renpy/python2.diff
@@ -0,0 +1,8 @@
+--- renpy-6.13.9/renpy.py 2012-01-16 01:48:05.000000000 +1100
++++ renpy-6.13.9.new/renpy.py 2012-03-16 05:36:41.406170787 +1100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ #@PydevCodeAnalysisIgnore
+ # Copyright 2004-2012 Tom Rothamel <pytom@bishoujo.us>
+ #
diff --git a/pcr/renpy/renpy-launcher.sh b/pcr/renpy/renpy-launcher.sh
new file mode 100644
index 000000000..605c0c1fd
--- /dev/null
+++ b/pcr/renpy/renpy-launcher.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+mkdir -p ~/renpy_projects
+cd ~/renpy_projects
+exec env python2 -OO /usr/share/renpy/renpy.py "$@"
diff --git a/pcr/renpy/renpy.csh b/pcr/renpy/renpy.csh
new file mode 100644
index 000000000..71269b48c
--- /dev/null
+++ b/pcr/renpy/renpy.csh
@@ -0,0 +1 @@
+setenv RENPY_BASE /usr/share/renpy/
diff --git a/pcr/renpy/renpy.desktop b/pcr/renpy/renpy.desktop
new file mode 100644
index 000000000..5cd64ea94
--- /dev/null
+++ b/pcr/renpy/renpy.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Ren'Py
+GenericName= renpy
+GenericName[fr]= renpy
+Comment=A programming language and runtime, intended to ease the creation of visual-novel type games.
+Comment[fr]=Un langage de programmation et un excutable conus pour faciliter la cration de jeux de type "visual-novel"
+Icon=renpy.png
+Exec=renpy
+Categories=Game;AdventureGame;
+
diff --git a/pcr/renpy/renpy.install b/pcr/renpy/renpy.install
new file mode 100644
index 000000000..9630a255f
--- /dev/null
+++ b/pcr/renpy/renpy.install
@@ -0,0 +1,21 @@
+post_install() {
+ ln -sf "/usr/share/doc/renpy" "/usr/share/renpy/doc"
+
+ cat << EOF
+This package sets global environment variable RENPY_BASE, forcing all RenPy
+games, including incompatible ones, to use system-wide interpreter. Undefine
+this variable to launch games, you downloaded somewhere, with their built-in
+versions of interpreter.
+
+To run two example games: The Question and RenPy Tutorial you should be
+member of "games" group.
+EOF
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ rm "/usr/share/renpy/doc"
+}
diff --git a/pcr/renpy/renpy.sh b/pcr/renpy/renpy.sh
new file mode 100644
index 000000000..32b2e6d29
--- /dev/null
+++ b/pcr/renpy/renpy.sh
@@ -0,0 +1 @@
+export RENPY_BASE=/usr/share/renpy/
diff --git a/pcr/rosinstall/PKGBUILD b/pcr/rosinstall/PKGBUILD
new file mode 100644
index 000000000..3f91dbe6c
--- /dev/null
+++ b/pcr/rosinstall/PKGBUILD
@@ -0,0 +1,21 @@
+# Contributor: Georg Bremer <pkgbuild@dschoordsch.de>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgdesc='Tool to download/boostrap the ROS stack'
+url='http://www.ros.org/'
+
+pkgname='rosinstall'
+pkgver='0.6.20'
+pkgrel='1'
+arch=('i686' 'x86_64')
+license=('BSD')
+depends=('python2' 'cmake' 'wget' 'vcstools'
+ 'git' 'python2-distribute' 'python2-yaml')
+
+source=("http://pr.willowgarage.com/downloads/$pkgname/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's/env python /env python2 /' src/rosinstall/setupfiles.py
+ python2 setup.py install --root=$pkgdir --optimize=1
+}
diff --git a/pcr/ruby-hiera-json/PKGBUILD b/pcr/ruby-hiera-json/PKGBUILD
new file mode 100644
index 000000000..4d80244c8
--- /dev/null
+++ b/pcr/ruby-hiera-json/PKGBUILD
@@ -0,0 +1,26 @@
+# Contributor: Jochen Schalanda <jochen+aur@schalanda.name>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+_gemname=hiera-json
+pkgname=ruby-$_gemname
+pkgver=0.4.0
+pkgrel=1
+pkgdesc='Store Hiera data in JSON'
+arch=(any)
+url='http://projects.puppetlabs.com/projects/hiera/'
+license=('MIT')
+depends=('ruby')
+makedepends=('rubygems' 'ruby-hiera')
+source=(http://gems.rubyforge.org/gems/$_gemname-$pkgver.gem)
+noextract=($_gemname-$pkgver.gem)
+
+package() {
+ cd "$srcdir"
+ # _gemdir is defined inside package() because if ruby[gems] is not installed on
+ # the system, makepkg will exit with an error when sourcing the PKGBUILD.
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+
+ gem install --no-user-install --ignore-dependencies -i "$pkgdir$_gemdir" \
+ -n "$pkgdir/usr/bin" "$_gemname-$pkgver.gem"
+}
+
diff --git a/pcr/ruby-hiera/PKGBUILD b/pcr/ruby-hiera/PKGBUILD
new file mode 100644
index 000000000..c4d51fe44
--- /dev/null
+++ b/pcr/ruby-hiera/PKGBUILD
@@ -0,0 +1,34 @@
+# Contributor: Jochen Schalanda <jochen+aur@schalanda.name>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+_gemname=hiera
+pkgname=ruby-$_gemname
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="A pluggable data store for hierarcical data."
+arch=(any)
+url='http://projects.puppetlabs.com/projects/hiera/'
+license=('MIT')
+depends=('ruby')
+makedepends=('rubygems')
+source=(
+ "http://gems.rubyforge.org/gems/$_gemname-$pkgver.gem"
+ 'hiera.yaml')
+noextract=($_gemname-$pkgver.gem)
+
+package() {
+ cd "$srcdir"
+ # _gemdir is defined inside package() because if ruby[gems] is not installed on
+ # the system, makepkg will exit with an error when sourcing the PKGBUILD.
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+
+ gem install --no-user-install --ignore-dependencies -i "$pkgdir$_gemdir" \
+ -n "$pkgdir/usr/bin" "$_gemname-$pkgver.gem"
+
+ # Create hiera default directory
+ install -d $pkgdir/var/lib/hiera
+
+ # Create hiera default configuration
+ install -d $pkgdir/etc
+ install -m 644 $srcdir/hiera.yaml $pkgdir/etc/
+}
diff --git a/pcr/ruby-hiera/hiera.yaml b/pcr/ruby-hiera/hiera.yaml
new file mode 100644
index 000000000..cd0be3fec
--- /dev/null
+++ b/pcr/ruby-hiera/hiera.yaml
@@ -0,0 +1,21 @@
+---
+:backend:
+ - yaml
+ - json
+:hierarchy:
+ - defaults
+ - global
+
+:yaml:
+# datadir is empty here, so hiera uses its defaults:
+# - /var/lib/hiera on *nix
+# - %CommonAppData%\PuppetLabs\hiera\var on Windows
+# When specifying a datadir, make sure the directory exists.
+ :datadir:
+
+:json:
+# datadir is empty here, so hiera uses its defaults:
+# - /var/lib/hiera on *nix
+# - %CommonAppData%\PuppetLabs\hiera\var on Windows
+# When specifying a datadir, make sure the directory exists.
+ :datadir:
diff --git a/pcr/ruby-shadow/PKGBUILD b/pcr/ruby-shadow/PKGBUILD
new file mode 100644
index 000000000..155835a3f
--- /dev/null
+++ b/pcr/ruby-shadow/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: Thomas S Hatch <thatch45@gmail.com>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=ruby-shadow
+pkgver=2.1.4
+pkgrel=5
+pkgdesc="Interface for shadow passwords for Ruby"
+arch=(i686 x86_64 arm)
+depends=('ruby')
+license=('publicdomain')
+url=('https://github.com/apalmblad/ruby-shadow.git')
+source=("https://github.com/apalmblad/ruby-shadow/archive/$pkgver.tar.gz")
+
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ruby extconf.rb
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/pcr/ryzom-client/PKGBUILD b/pcr/ryzom-client/PKGBUILD
index fce700054..fce700054 100755..100644
--- a/pcr/ryzom-client/PKGBUILD
+++ b/pcr/ryzom-client/PKGBUILD
diff --git a/pcr/ryzom-data/PKGBUILD b/pcr/ryzom-data/PKGBUILD
index dfb8a116c..dfb8a116c 100755..100644
--- a/pcr/ryzom-data/PKGBUILD
+++ b/pcr/ryzom-data/PKGBUILD
diff --git a/pcr/ryzom-nel/PKGBUILD b/pcr/ryzom-nel/PKGBUILD
index bc9fa3199..bc9fa3199 100755..100644
--- a/pcr/ryzom-nel/PKGBUILD
+++ b/pcr/ryzom-nel/PKGBUILD
diff --git a/pcr/samba4/PKGBUILD b/pcr/samba4/PKGBUILD
new file mode 100644
index 000000000..09c55781d
--- /dev/null
+++ b/pcr/samba4/PKGBUILD
@@ -0,0 +1,93 @@
+# Maintainer: Michael Hansen <zrax0111 gmail com>
+# Contributor: Marco A Rojas <marquicus at gmail.com>
+# Contributor: Netanel Shine <netanel at archlinux.org.il >
+# Contributor: ngoonee <ngoonee.talk@gmail.com>
+# Contributor: Adam Russell <adamlr6+arch@gmail.com>
+# Contributor: Dhananjay Sathe <dhananjaysathe@gmail.com>
+pkgname=samba4
+pkgver=4.0.0rc5
+pkgrel=1
+pkgdesc="Samba 4.0 Release Candidate"
+arch=('i686' 'x86_64')
+url="http://www.samba.org"
+license=('GPL3')
+depends=('db>=4.7' 'popt' 'libcups' 'acl' 'libldap' 'libcap>=2.16' 'pam' 'gamin' 'gnutls>=2.4.1' 'talloc' 'tdb')
+makedepends=('python2' 'docbook-xsl' 'pkg-config')
+options=(!makeflags)
+source=(http://us1.samba.org/samba/ftp/rc/samba-${pkgver}.tar.gz
+ samba4.rc samba4.confd)
+md5sums=('24d4b715a46c5f111b08b87975a27b1e'
+ '01deaef9cd21dff7586a7221d1a6d300'
+ 'e1b2671dc1d1371a3628235a818debab')
+_prefix="/opt/samba4"
+
+build() {
+ cd ${srcdir}/samba-${pkgver}
+
+ # change to use python2
+ SAVEIFS=${IFS}
+ IFS=$(echo -en "\n\b")
+ PYTHON_CALLERS="$(find ${srcdir}/samba-${pkgver} -name '*.py')
+$(find ${srcdir}/samba-${pkgver} -name 'wscript*')
+$(find ${srcdir}/samba-${pkgver} -name 'configure.ac')
+$(find ${srcdir}/samba-${pkgver} -name 'upgrade_from_s3')
+$(find ${srcdir}/samba-${pkgver}/buildtools -type f)
+$(find ${srcdir}/samba-${pkgver}/source4/scripting -type f)"
+ sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" \
+ -e "s|python-config|python2-config|" \
+ -e "s|bin/python|bin/python2|" \
+ ${PYTHON_CALLERS}
+ IFS=${SAVEIFS}
+
+ export PYTHON=/usr/bin/python2
+
+ cd ${srcdir}/samba-${pkgver}/lib/tdb
+ ./configure --prefix=${_prefix}/samba
+ make
+ make DESTDIR="$pkgdir/" install
+
+ cd ${srcdir}/samba-${pkgver}/lib/tevent
+ ./configure --prefix=${_prefix}/samba
+ make
+ make DESTDIR="$pkgdir/" install
+
+ cd ${srcdir}/samba-${pkgver}/lib/ldb
+ ./configure --prefix=${_prefix}/samba
+ make
+ make DESTDIR="$pkgdir/" install
+
+ cd ${srcdir}/samba-${pkgver}
+ ./configure --prefix=${_prefix}
+ make
+}
+
+package() {
+ _pyver=`python2 -c 'import sys; print(sys.version[:3])'`
+
+ cd ${srcdir}/samba-${pkgver}
+ make DESTDIR="$pkgdir/" install
+
+ install -d ${pkgdir}/etc/ld.so.conf.d
+ echo "${_prefix}/samba/lib" > ${pkgdir}/etc/ld.so.conf.d/samba4.conf
+
+ cd ${pkgdir}/${_prefix}/lib/
+ ln -s samba/libldb-samba4.so.0 libldb.so
+ ln -s samba/libldb-samba4.so.0 libldb.so.0
+
+ find ${pkgdir}/${_prefix}/lib/python${_pyver}/site-packages/ -name '*.py' | \
+ xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
+ find ${pkgdir}/${_prefix}/bin ${pkgdir}/${_prefix}/sbin -type f -executable | \
+ xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
+
+ # Make admin scripts look in the right place for the samba python module
+ for script in sbin/samba_dnsupdate sbin/samba_kcc sbin/samba_spnupdate \
+ sbin/samba_upgradeprovision sbin/samba_upgradedns bin/samba-tool
+ do
+ sed -i "/^sys\.path\.insert/ a\
+sys.path.insert(0, '${_prefix}/lib/python${_pyver}/site-packages')" \
+ ${pkgdir}/${_prefix}/${script}
+ done
+
+ install -D -m755 ${srcdir}/samba4.rc ${pkgdir}/etc/rc.d/samba4
+ install -D -m644 ${srcdir}/samba4.confd ${pkgdir}/etc/conf.d/samba4
+}
diff --git a/pcr/samba4/samba4.confd b/pcr/samba4/samba4.confd
new file mode 100644
index 000000000..3c29c49cf
--- /dev/null
+++ b/pcr/samba4/samba4.confd
@@ -0,0 +1,5 @@
+#
+# Additional parameters to be passed to Samba4
+#
+
+SAMBA4_ARGS=""
diff --git a/pcr/samba4/samba4.rc b/pcr/samba4/samba4.rc
new file mode 100644
index 000000000..73d09fe30
--- /dev/null
+++ b/pcr/samba4/samba4.rc
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[ -f /etc/conf.d/samba4 ] && . /etc/conf.d/samba4
+
+function call_samba4() {
+ /opt/samba4/sbin/samba -D $SAMBA4_ARGS
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting Samba4 Server"
+ if [ ! -x /opt/samba4/var ] ; then
+ install -m755 -d /opt/samba4/var
+ fi
+ if [ ! -x /opt/samba4/var/run ] ; then
+ install -m755 -d /opt/samba4/var/run
+ fi
+ PID=`pidof -o %PPID /opt/samba4/sbin/samba`
+ [ -z "$PID" ] && call_samba4
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon samba4
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Samba4 Server"
+ PID=`pidof -o %PPID /opt/samba4/sbin/samba`
+ [ -z "$PID" ] || kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /opt/samba4/var/run/samba.pid &> /dev/null
+ rm_daemon samba4
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/pcr/sfml-git/PKGBUILD b/pcr/sfml-git/PKGBUILD
index 94f89f7e7..94f89f7e7 100755..100644
--- a/pcr/sfml-git/PKGBUILD
+++ b/pcr/sfml-git/PKGBUILD
diff --git a/pcr/snort/PKGBUILD b/pcr/snort/PKGBUILD
new file mode 100644
index 000000000..2439a1c73
--- /dev/null
+++ b/pcr/snort/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 78820 2012-10-25 06:47:28Z foutrelis $
+# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Hugo Doria <hugo@archlinux.org>
+# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=snort
+pkgver=2.9.3.1
+pkgrel=1
+pkgdesc='A lightweight network intrusion detection system.'
+arch=('i686' 'x86_64')
+url='http://www.snort.org'
+license=('GPL')
+depends=('libdaq' 'libdnet' 'libpcap' 'pcre' 'zlib')
+makedepends=('ca-certificates')
+backup=('etc/conf.d/snort'
+ 'etc/snort/snort.conf'
+ 'etc/snort/threshold.conf'
+ 'etc/snort/confreference.config'
+ 'etc/snort/classification.config')
+options=('!makeflags' '!libtool')
+install='snort.install'
+source=("http://www.snort.org/dl/snort-current/${pkgname}-${pkgver}.tar.gz"{,.sig}
+ 'snort'
+ 'snort.conf.d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc/snort --with-libpcap-includes=/usr/include/pcap \
+ --without-mysql --without-postgresql --without-oracle --without-odbc --enable-zlib \
+ --enable-ipv6
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ mkdir -p "${pkgdir}/"{etc/rc.d,etc/snort/rules}
+
+ install -d -m755 "${pkgdir}/var/log/snort"
+ install -D -m644 etc/{*.conf*,*.map} "${pkgdir}/etc/snort/"
+ install -D -m644 "${srcdir}/snort.conf.d" "${pkgdir}/etc/conf.d/snort"
+ install -D -m755 "${srcdir}/snort" "${pkgdir}/etc/rc.d/snort"
+
+ sed -i 's#/usr/local/lib/#/usr/lib/#' "${pkgdir}/etc/snort/snort.conf"
+}
diff --git a/pcr/snort/snort b/pcr/snort/snort
new file mode 100644
index 000000000..5dfa72fbf
--- /dev/null
+++ b/pcr/snort/snort
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/snort ] && . /etc/conf.d/snort
+
+PID=`pidof -o %PPID /usr/bin/snort`
+case "$1" in
+ start)
+ stat_busy "Starting Intrusion Database System: SNORT"
+ [ -z "$PID" ] && /usr/bin/snort ${SNORT_OPTIONS} -u ${USER} -g ${GROUP} \
+ -i ${INTERFACE} -c ${SNORT_CONF}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon snort
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping Intrusion Database System: SNORT"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon snort
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/pcr/snort/snort.conf.d b/pcr/snort/snort.conf.d
new file mode 100644
index 000000000..86b566abc
--- /dev/null
+++ b/pcr/snort/snort.conf.d
@@ -0,0 +1,21 @@
+#
+# Parameters to be passed to snort
+#
+
+# options taken from Fedora
+# http://cvs.fedoraproject.org/viewcvs/devel/snort/sysconfig.snort?rev=1.2&view=markup
+
+# Where is the snort.conf file.
+SNORT_CONF="/etc/snort/snort.conf"
+
+# What user account should we run under.
+USER="snort"
+
+# What group account should we run under.
+GROUP="snort"
+
+# define the interface we listen on
+INTERFACE="eth0"
+
+# If you are using prelude, delete the '-A fast' option
+SNORT_OPTIONS="-A fast -b -l /var/log/snort -D -p"
diff --git a/pcr/snort/snort.install b/pcr/snort/snort.install
new file mode 100644
index 000000000..673f22c6c
--- /dev/null
+++ b/pcr/snort/snort.install
@@ -0,0 +1,26 @@
+post_install() {
+ getent group snort >/dev/null || usr/sbin/groupadd -g 29 snort
+ getent passwd snort >/dev/null || usr/sbin/useradd -c 'Snort user' -u 29 -g snort -d /var/log/snort -s /bin/false snort
+ usr/bin/passwd -l snort &>/dev/null
+
+ [ -f var/log/snort/alert ] || : >var/log/snort/alert
+ chown snort.snort var/log/snort/ -R
+
+cat << _EOF
+
+>>> You have to edit the HOME_NET variable in the /etc/snort/snort.conf file to reflect your local network.
+>>> If you do not change it, snort may not work.
+
+_EOF
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/userdel snort &>/dev/null
+ usr/sbin/groupdel snort &>/dev/null
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/thinkfan/PKGBUILD b/pcr/thinkfan/PKGBUILD
new file mode 100644
index 000000000..18a97754f
--- /dev/null
+++ b/pcr/thinkfan/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: nblock <nblock [/at\] archlinux DOT us>
+# Contributor: Frederik Alkærsig (FALKER) <havnelisten AT gmail.com>
+
+pkgname=thinkfan
+pkgver=0.8.1
+pkgrel=3
+pkgdesc="A minimalist fan control program. Supports the sysfs hwmon interface and thinkpad_acpi"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+source=(http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ "thinkfan" "thinkfan.service")
+url="http://thinkfan.sourceforge.net/"
+md5sums=('aaa6c88bab3b43756ac5a1638622828c'
+ '16fc3a83a1468e3ccaeba67e14ab2177'
+ '7639b82035fcee712753e05de6b0601d')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make
+ install -D -m755 ${pkgname} ${pkgdir}/usr/sbin/${pkgname}
+ install -D -m755 ${srcdir}/${pkgname} ${pkgdir}/etc/rc.d/${pkgname}
+ install -D -m644 README ${pkgdir}/usr/share/doc/${pkgname}/README
+ install -D -m644 ${srcdir}/thinkfan.service ${pkgdir}/usr/lib/systemd/system/thinkfan.service
+ cp -r examples ${pkgdir}/usr/share/doc/${pkgname}/
+}
+
+# vim:set ts=2 sw=2 noet:
diff --git a/pcr/thinkfan/thinkfan b/pcr/thinkfan/thinkfan
new file mode 100644
index 000000000..d37c81424
--- /dev/null
+++ b/pcr/thinkfan/thinkfan
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+test -f /usr/sbin/thinkfan || exit 0
+
+case "$1" in
+ start)
+ stat_busy "Starting thinkfan"
+ /usr/sbin/thinkfan -- -q -s5 >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon thinkfan
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping thinkfan"
+ PID=$(</var/run/thinkfan.pid)
+ kill $PID
+ rm -f /var/run/thinkfan.pid
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon thinkfan
+ stat_done
+ fi
+ ;;
+ restart)
+ stat_busy "Restarting thinkfan"
+
+ PID=$(</var/run/thinkfan.pid)
+ kill $PID
+ rm -f /var/run/thinkfan.pid
+ if [ $? -gt 0 ]; then
+ stat_fail
+ rm_daemon thinkfan
+ else
+ /usr/sbin/thinkfan -- -q -s5 >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ rm_daemon thinkfan
+ else
+ stat_done
+ fi
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {stop|start|restart}"
+ ;;
+esac
+exit 0
diff --git a/pcr/thinkfan/thinkfan.service b/pcr/thinkfan/thinkfan.service
new file mode 100644
index 000000000..7895b8d3a
--- /dev/null
+++ b/pcr/thinkfan/thinkfan.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Thinkfan Daemon - simple and lightweight fan control program
+After=basic.target
+
+[Service]
+ExecStart=/usr/sbin/thinkfan -n -s5 -q
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/ttf-roboto/PKGBUILD b/pcr/ttf-roboto/PKGBUILD
new file mode 100644
index 000000000..9085985d7
--- /dev/null
+++ b/pcr/ttf-roboto/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Michael Düll <mail@akurei.me> PGP-Key: D6777412 - Fingerprint: C972 8B50 9411 BBE1 5CA5 9906 5103 71F3 D677 7412
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=ttf-roboto
+pkgver=20121102
+pkgrel=1
+pkgdesc='The new system font of Android 4, Codename "Ice Cream Sandwich".'
+arch=('any')
+license=('APACHE')
+url="https://developer.android.com/design/style/typography.html"
+depends=('fontconfig' 'xorg-fonts-encodings' 'xorg-font-utils')
+install=$pkgname.install
+source=(
+ "https://developer.android.com/downloads/design/Roboto_Hinted_20120823.zip"
+)
+
+package()
+{
+ install -d $pkgdir/usr/share/fonts/TTF/
+ install -m644 *.ttf $pkgdir/usr/share/fonts/TTF/
+ install -d $pkgdir/usr/share/licenses/$pkgname/
+ install -m644 $srcdir/COPYING.txt $pkgdir/usr/share/licenses/$pkgname/
+}
+
+sha512sums=('ce4af34d0a23dd4076d033dcb03f17335eb83317da72b45257291be3aa34ff589405bfdfb768faca769d401a9091b63e5f195704ed69874d7d17289ca436a785')
diff --git a/pcr/ttf-roboto/ttf-roboto.install b/pcr/ttf-roboto/ttf-roboto.install
new file mode 100644
index 000000000..7dde94b45
--- /dev/null
+++ b/pcr/ttf-roboto/ttf-roboto.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo -n "Updating font cache... "
+ fc-cache -f > /dev/null
+ mkfontscale /usr/share/fonts/TTF
+ mkfontdir /usr/share/fonts/TTF
+ echo "done."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/pcr/ulogd2/PKGBUILD b/pcr/ulogd2/PKGBUILD
new file mode 100644
index 000000000..c00c462e5
--- /dev/null
+++ b/pcr/ulogd2/PKGBUILD
@@ -0,0 +1,42 @@
+# Contributor: Andrzej Boreczko <0rion@wp.pl>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=ulogd2
+pkgver=2.0.0
+pkgrel=6
+pkgdesc="Userspace Packet Logging for netfilter"
+arch=(i686 x86_64)
+url="http://www.netfilter.org/projects/ulogd/index.html"
+license=('GPL')
+depends=('libnetfilter_conntrack>=1.0.0' 'libnetfilter_log>=1.0.0' 'libnfnetlink>=1.0.0' 'libmnl>=1.0.0' 'libnetfilter_acct>=1.0.0')
+optdepends=('ulogd2_output_mysql: MySQL output' 'ulogd2_output_pgsql: PostgreSQL output' \
+ 'ulogd2_output_sqlite3: Sqlite3 output' 'ulogd2_output_pcap: libpcap-style logfiles output' \
+ 'ulogd2_output_dbi: Libdbi framework output')
+conflicts=('ulogd>1.24')
+backup=('etc/ulogd2.conf')
+source=("http://www.netfilter.org/projects/ulogd/files/ulogd-${pkgver}.tar.bz2" 'ulogd2' 'logrotate')
+
+build() {
+ export MAKEFLAGS="-j1"
+ cd $startdir/src/ulogd-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --with-mysql \
+ --with-pgsql --with-dbi --program-suffix=2
+ make || return 1
+}
+
+package() {
+ cd $startdir/src/ulogd-${pkgver}
+ make DESTDIR=$startdir/pkg install || return 1
+ rm $startdir/pkg/usr/lib/ulogd/*.la
+ [ -f $startdir/pkg/usr/lib/ulogd/ulogd_output_MYSQL.so ] && rm $startdir/pkg/usr/lib/ulogd/ulogd_output_MYSQL.*
+ [ -f $startdir/pkg/usr/lib/ulogd/ulogd_output_PGSQL.so ] && rm $startdir/pkg/usr/lib/ulogd/ulogd_output_PGSQL.*
+ [ -f $startdir/pkg/usr/lib/ulogd/ulogd_output_SQLITE3.so ] && rm $startdir/pkg/usr/lib/ulogd/ulogd_output_SQLITE3.*
+ [ -f $startdir/pkg/usr/lib/ulogd/ulogd_output_PCAP.so ] && rm $startdir/pkg/usr/lib/ulogd/ulogd_output_PCAP.*
+ [ -f $startdir/pkg/usr/lib/ulogd/ulogd_output_DBI.so ] && rm $startdir/pkg/usr/lib/ulogd/ulogd_output_DBI.*
+ install -D -m755 $startdir/src/ulogd2 $startdir/pkg/etc/rc.d/ulogd2
+ sed 's/\/var\/log\/ulogd.log/\/var\/log\/ulogd2.log/' ulogd.conf > $startdir/pkg/etc/ulogd2.conf
+ mkdir -p $startdir/pkg/usr/share/ulogd2
+ install -m644 doc/*.table $startdir/pkg/usr/share/ulogd2
+ install -m644 doc/*.sql $startdir/pkg/usr/share/ulogd2
+ install -D -m644 ${srcdir}/logrotate $pkgdir/etc/logrotate.d/ulogd2
+}
diff --git a/pcr/ulogd2/logrotate b/pcr/ulogd2/logrotate
new file mode 100644
index 000000000..7a53c4d52
--- /dev/null
+++ b/pcr/ulogd2/logrotate
@@ -0,0 +1,10 @@
+/var/log/ulogd2.log {
+ missingok
+ notifempty
+ sharedscripts
+ create 0640 root root
+
+ postrotate
+ [ -e /var/run/ulogd2.pid ] && /etc/rc.d/ulogd2 restart > /dev/null
+ endscript
+}
diff --git a/pcr/ulogd2/ulogd2 b/pcr/ulogd2/ulogd2
new file mode 100644
index 000000000..09ef2756f
--- /dev/null
+++ b/pcr/ulogd2/ulogd2
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+get_pid() {
+ pidof /usr/sbin/ulogd2
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting ulogd2"
+
+ [ -f /var/run/ulogd2.pid ] && rm -f /var/run/ulogd2.pid
+ PID=`get_pid`
+ if [ -z "$PID" ]; then
+ /usr/sbin/ulogd2 -d -c /etc/ulogd2.conf
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo `get_pid` > /var/run/ulogd2.pid
+ add_daemon ulogd2
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping ulogd2"
+ PID=`get_pid`
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f /var/run/ulogd2.pid &> /dev/null
+ rm_daemon ulogd2
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/pcr/vcstools/PKGBUILD b/pcr/vcstools/PKGBUILD
new file mode 100644
index 000000000..3eb123ffa
--- /dev/null
+++ b/pcr/vcstools/PKGBUILD
@@ -0,0 +1,33 @@
+# Contributor: Georg Bremer <pkgbuild@dschoordsch.de>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=('vcstools')
+pkgver=0.1.24
+pkgrel=1
+pkgdesc=""
+arch=('any')
+url="http://ros.org/"
+license=('BSD')
+groups=()
+depends=('python2' 'python2-yaml' 'python2-distribute')
+makedepends=()
+optdepends=()
+provides=()
+conflicts=()
+replaces=()
+backup=()
+options=()
+install=
+source=("http://pr.willowgarage.com/downloads/vcstools/vcstools-$pkgver.tar.gz")
+
+noextract=()
+
+build() {
+ echo ""
+}
+
+package() {
+ cd "$srcdir/vcstools-$pkgver"
+ python2 setup.py install --root "$pkgdir"
+}
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/vuurmuur/PKGBUILD b/pcr/vuurmuur/PKGBUILD
new file mode 100644
index 000000000..8aed82655
--- /dev/null
+++ b/pcr/vuurmuur/PKGBUILD
@@ -0,0 +1,139 @@
+# vim:set ts=2 sw=2 et ft=sh tw=100: expandtab
+# Contributor: Piotr Rogoża <rogoza dot piotr at gmail dot com>
+# Contributor: skydrome <skydrome@i2pmail.org>
+# Contributor: Valere Monseur <valere_monseur@hotmail.com>
+# Contributor: Phillip Smith <fukawi2@NO-SPAM.gmail.com>
+# Contributor: (asper, noob
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=vuurmuur
+_pkgname=Vuurmuur
+pkgver=0.7
+pkgrel=1
+pkgdesc='powerful front-end for iptables aimed at system-administrators who need a decent firewall, but dont have netfilter specific knowledge'
+arch=('i686' 'x86_64')
+url='http://www.vuurmuur.org'
+license=('GPL')
+install='vuurmuur.install'
+depends=('iptables' 'ncurses' 'libjpeg')
+optdepends=('conntrack-tools: for connection tracking'
+ 'iproute2: for traffic shapping'
+ 'iptrafvol: for traffic volume logging')
+conflicts=(vuurmuur-devel)
+backup=('etc/vuurmuur/config.conf'
+ 'etc/vuurmuur/modules.conf'
+ 'etc/vuurmuur/vuurmuur_conf.conf'
+ 'etc/vuurmuur/plugins/textdir.conf'
+ 'etc/logrotate.d/vuurmuur')
+source=(
+ftp://ftp.vuurmuur.org/releases/$pkgver/${_pkgname}-$pkgver.tar.gz
+modules.conf
+vuurmuur.rc
+vuurmuur.service
+vuurmuur.script
+)
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ for archive in libvuurmuur vuurmuur vuurmuur_conf; do
+ [[ ! -d "$archive" ]] &&
+ tar xzf ${archive}-${pkgver}.tar.gz
+ done
+
+ msg "building vuurmuur libraries..."
+ pushd libvuurmuur-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ popd
+
+ msg "building vuurmuur..."
+ pushd vuurmuur-${pkgver}
+ sed -i 's|-rpath|-rpath-link|' configure
+ LDFLAGS+="-L${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src \
+ -L${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src/.libs \
+ -Wl,-rpath=/usr/lib/${pkgname}/plugins" \
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --with-libvuurmuur-includes="${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src" \
+ --with-libvuurmuur-libraries="${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src"
+ make
+ popd
+
+ msg "building vuurmuur_conf..."
+ pushd vuurmuur_conf-${pkgver}
+ sed -i 's|-rpath|-rpath-link|' configure
+ LDFLAGS+="-L${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src \
+ -L${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src/.libs \
+ -Wl,-rpath=/usr/lib/${pkgname}/plugins" \
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --with-libvuurmuur-includes="${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src" \
+ --with-libvuurmuur-libraries="${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/src"
+ make
+ popd
+}
+
+package() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ pushd libvuurmuur-${pkgver}
+ make DESTDIR=${pkgdir} install
+ popd
+
+ pushd vuurmuur-${pkgver}
+ make DESTDIR=${pkgdir} install
+ popd
+
+ pushd vuurmuur_conf-${pkgver}
+ make DESTDIR=${pkgdir} install
+ popd
+
+ # make directory structure
+ install -dm700 ${pkgdir}/etc/${pkgname}
+ install -dm700 ${pkgdir}/etc/${pkgname}/plugins
+ install -dm700 ${pkgdir}/etc/logrotate.d/
+ install -dm755 ${pkgdir}/usr/share/${pkgname}/textdir/{interfaces,services,zones,rules}
+ install -dm700 ${pkgdir}/var/log/${pkgname}
+
+ # install daemon and log
+ install -Dm755 ${srcdir}/vuurmuur.rc ${pkgdir}/etc/rc.d/${pkgname}
+ install -Dm644 ${pkgdir}/usr/share/${pkgname}/scripts/vuurmuur-logrotate ${pkgdir}/etc/logrotate.d/${pkgname}
+
+ # install systemd's files
+ install -Dm755 $srcdir/vuurmuur.script $pkgdir/usr/lib/systemd/scripts/vuurmuur
+ install -Dm644 $srcdir/vuurmuur.service $pkgdir/usr/lib/systemd/system/vuurmuur.service
+
+ # install configuration
+ install -Dm600 ${pkgdir}/usr/share/vuurmuur/config/config.conf.sample \
+ ${pkgdir}/etc/${pkgname}/config.conf
+ install -Dm600 ${srcdir}/modules.conf ${pkgdir}/etc/${pkgname}/modules.conf
+ install -Dm600 ${pkgdir}/usr/share/vuurmuur/config/vuurmuur_conf.conf.sample \
+ ${pkgdir}/etc/${pkgname}/${pkgname}_conf.conf
+
+ sed -i ${pkgdir}/etc/${pkgname}/config.conf \
+ -e 's|"/sbin/tc|"/usr/sbin/tc|' \
+ -e 's|"/sbin/ip6tables|"/usr/sbin/ip6tables|' \
+ -e 's|"/sbin/iptables|"/usr/sbin/iptables|' \
+ -e 's|"/sbin/ip6tables-restore|"/usr/sbin/ip6tables-restore|' \
+ -e 's|"/sbin/iptables-restore|"/usr/sbin/iptables-restore|' \
+ -e 's|"/var/log/messages|"/var/log/iptables.log|'
+
+ sed -i ${pkgdir}/etc/${pkgname}/${pkgname}_conf.conf \
+ -e 's|"/usr/bin/iptrafvol.pl|"/usr/sbin/iptrafvol.pl|'
+
+
+ echo "LOCATION=\"/etc/${pkgname}/textdir\"" > ${pkgdir}/etc/${pkgname}/plugins/textdir.conf
+
+ # default firewall setup in /usr/share
+ touch ${pkgdir}/usr/share/${pkgname}/textdir/rules/rules.conf
+ touch ${pkgdir}/usr/share/${pkgname}/textdir/rules/blocklist.conf
+
+ cp -R ${srcdir}/${_pkgname}-${pkgver}/zones/* ${pkgdir}/usr/share/${pkgname}/textdir/zones/
+ mv ${pkgdir}/usr/share/${pkgname}/services/* ${pkgdir}/usr/share/${pkgname}/textdir/services/
+
+ # install licenses
+ install -Dm644 ${srcdir}/${_pkgname}-${pkgver}/lib${pkgname}-${pkgver}/COPYING \
+ ${pkgdir}/usr/share/licenses/lib${pkgname}/COPYING
+ install -Dm644 ${srcdir}/${_pkgname}-${pkgver}/${pkgname}-${pkgver}/COPYING \
+ ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+ install -Dm644 ${srcdir}/${_pkgname}-${pkgver}/${pkgname}_conf-${pkgver}/COPYING \
+ ${pkgdir}/usr/share/licenses/${pkgname}_conf/COPYING
+}
diff --git a/pcr/vuurmuur/modules.conf b/pcr/vuurmuur/modules.conf
new file mode 100644
index 000000000..eda78a036
--- /dev/null
+++ b/pcr/vuurmuur/modules.conf
@@ -0,0 +1,3 @@
+# modules loaded by vuurmuur daemon
+# ip_queue => not found
+MODULES_TO_LOAD="ip_tables iptable_filter iptable_mangle iptable_nat ip_conntrack ipt_state ip_conntrack_ftp ip_nat_ftp"
diff --git a/pcr/vuurmuur/vuurmuur.install b/pcr/vuurmuur/vuurmuur.install
new file mode 100644
index 000000000..0f596b8c9
--- /dev/null
+++ b/pcr/vuurmuur/vuurmuur.install
@@ -0,0 +1,27 @@
+post_install() {
+ if [[ ! -d /etc/vuurmuur/textdir ]]; then
+ # copy default firewall setup
+ cp -R /usr/share/vuurmuur/textdir /etc/vuurmuur/
+
+ # set permissions and ownership
+ chown -R root:root /etc/vuurmuur
+ chmod -R o=rwX,go= /etc/vuurmuur
+ chown -R root:root /var/log/vuurmuur
+ chmod -R o=rwX,go= /var/log/vuurmuur
+
+ echo
+ echo "Default firewall setup has been installed in /etc/vuurmuur/textdir"
+ echo
+ echo "You can now setup your network topology and firewall rules using vuurmuur_conf"
+ echo "Don't forget to add 'vuurmuur' in /etc/rc.conf"
+ echo
+ echo "Usefull documentation can be found at http://www.vuurmuur.org"
+ echo
+ fi
+}
+
+post_remove () {
+ echo
+ echo "Your firewall setup has been left unchanged in /etc/vuurmuur/textdir"
+ echo
+}
diff --git a/pcr/vuurmuur/vuurmuur.rc b/pcr/vuurmuur/vuurmuur.rc
new file mode 100644
index 000000000..3b4d3e99e
--- /dev/null
+++ b/pcr/vuurmuur/vuurmuur.rc
@@ -0,0 +1,114 @@
+#!/bin/bash
+# vi: ft=sh
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# PID file
+VUURMUURPID='/run/vuurmuur.pid'
+VUURMUURLOGPID='/run/vuurmuur_log.pid'
+case $1 in
+start)
+ # initialize
+ stat_busy "Starting Vuurmuur Firewall"
+ STATUS="ok"
+
+ # check if vuurmuur is configured
+ IFNUM=`/usr/bin/vuurmuur_script --list --interface any | wc -l`
+ if [ $IFNUM = 0 ]; then
+ stat_busy "Please configure Vuurmuur first by defining at least one interface."
+ stat_fail
+ exit 1
+ fi
+
+ # load modules
+ . /etc/vuurmuur/modules.conf
+ for MODULE in `echo $MODULES_TO_LOAD`; do
+ /sbin/modprobe $MODULE &>/dev/null
+ if [ $? != 0 ]; then
+ stat_busy "Error when loading module $MODULE. Check log files."
+ stat_fail
+ exit 1
+ fi
+ done
+
+ # start vuurmuur daemon
+ if [ ! -f $VUURMUURPID ]; then
+ /usr/bin/vuurmuur -l
+ if [ $? != 0 ]; then
+ stat_busy "Error when starting Vuurmuur daemon. Check log files."
+ STATUS="failed"
+ fi
+ else
+ PID=`cat $VUURMUURPID | cut -d " " -f 1`
+ stat_busy "Error when starting Vuurmuur daemon. Already running at pid $PID."
+ STATUS="failed"
+ fi
+
+ # start vuurmuur log parsing daemon
+ if [ ! -f $VUURMUURLOGPID ]; then
+ /usr/bin/vuurmuur_log
+ if [ $? != 0 ]; then
+ stat_busy "Error when starting Vuurmuur log parsing daemon. Check log files."
+ STATUS="failed"
+ fi
+ else
+ PID=`cat $VUURMUURLOGPID | cut -d " " -f 1`
+ stat_busy "Error when starting Vuurmuur log parsing daemon. Already running at pid $PID."
+ STATUS="failed"
+ fi
+
+ # finalize
+ if [ $STATUS = "ok" ]; then
+ add_daemon vuurmuur
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+stop)
+ # initialize
+ stat_busy "Stopping Vuurmuur Firewall"
+ STATUS="ok"
+
+ # stop vuurmuur log parsing daemon
+ PID=`cat $VUURMUURLOGPID | cut -d " " -f 1`
+ if [[ ! -z $PID ]] && kill "$PID" &>/dev/null; then
+ rm -f $VUURMUURLOGPID
+ else
+ stat_busy "Error when stopping Vuurmuur log parsing daemon. Check log files."
+ STATUS="failed"
+ fi
+
+ # stop vuurmuur daemon
+ PID=`cat $VUURMUURPID | cut -d " " -f 1`
+ if [[ ! -z $PID ]] && kill "$PID" &>/dev/null; then
+ rm -f $VUURMUURPID
+ else
+ stat_busy "Error when stopping Vuurmuur daemon. Check log files."
+ STATUS="failed"
+ fi
+
+ # finalize
+ if [ $STATUS = "ok" ]; then
+ rm_daemon vuurmuur
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+restart)
+ $0 stop
+ $0 start
+ ;;
+
+*)
+ echo "Usage: $0 {start|stop|restart}" >&2
+ exit 1
+
+esac
+exit 0
diff --git a/pcr/vuurmuur/vuurmuur.script b/pcr/vuurmuur/vuurmuur.script
new file mode 100644
index 000000000..a643d6fbd
--- /dev/null
+++ b/pcr/vuurmuur/vuurmuur.script
@@ -0,0 +1,88 @@
+#!/bin/bash
+
+VUURMUURPID='/run/vuurmuur.pid'
+VUURMUURLOGPID='/run/vuurmuur_log.pid'
+start() {
+ IFNUM=`/usr/bin/vuurmuur_script --list --interface any | wc -l`
+ if [ $IFNUM = 0 ]; then
+ echo "Please configure Vuurmuur first by defining at least one interface."
+ exit 1
+ fi
+
+ # load modules
+ . /etc/vuurmuur/modules.conf
+ for MODULE in `echo $MODULES_TO_LOAD`; do
+ /sbin/modprobe $MODULE &>/dev/null
+ if [ $? != 0 ]; then
+ echo "Error when loading module $MODULE. Check log files."
+ exit 1
+ fi
+ done
+
+ # start vuurmuur daemon
+ if [ ! -f $VUURMUURPID ]; then
+ /usr/bin/vuurmuur -l
+ if [ $? != 0 ]; then
+ echo "Error when starting Vuurmuur daemon. Check log files."
+ STATUS="failed"
+ fi
+ else
+ PID=`cat $VUURMUURPID | cut -d " " -f 1`
+ echo "Error when starting Vuurmuur daemon. Already running at pid $PID."
+ STATUS="failed"
+ fi
+
+ # start vuurmuur log parsing daemon
+ if [ ! -f $VUURMUURLOGPID ]; then
+ /usr/bin/vuurmuur_log
+ if [ $? != 0 ]; then
+ echo "Error when starting Vuurmuur log parsing daemon. Check log files."
+ STATUS="failed"
+ fi
+ else
+ PID=`cat $VUURMUURLOGPID | cut -d " " -f 1`
+ echo "Error when starting Vuurmuur log parsing daemon. Already running at pid $PID."
+ STATUS="failed"
+ fi
+
+ # finalize
+ if [ $STATUS = "failed" ]; then
+ exit 1
+ fi
+}
+stop() {
+ # initialize
+ echo "Stopping Vuurmuur Firewall"
+ STATUS="ok"
+
+ # stop vuurmuur log parsing daemon
+ PID=`cat $VUURMUURLOGPID | cut -d " " -f 1`
+ if [[ ! -z $PID ]] && kill "$PID" &>/dev/null; then
+ rm -f $VUURMUURLOGPID
+ else
+ echo "Error when stopping Vuurmuur log parsing daemon. Check log files."
+ STATUS="failed"
+ fi
+
+ # stop vuurmuur daemon
+ PID=`cat $VUURMUURPID | cut -d " " -f 1`
+ if [[ ! -z $PID ]] && kill "$PID" &>/dev/null; then
+ rm -f $VUURMUURPID
+ else
+ echo "Error when stopping Vuurmuur daemon. Check log files."
+ STATUS="failed"
+ fi
+
+ # finalize
+ if [ $STATUS = "false" ]; then
+ exit 1
+ fi
+}
+restart() {
+ $0 stop
+ $0 start
+}
+
+case $1 in
+ start|stop|restart) "$1" ;;
+esac
diff --git a/pcr/vuurmuur/vuurmuur.service b/pcr/vuurmuur/vuurmuur.service
new file mode 100644
index 000000000..3defcaa82
--- /dev/null
+++ b/pcr/vuurmuur/vuurmuur.service
@@ -0,0 +1,13 @@
+# vi: ft=systemd
+[Unit]
+Description=Powerful front-end for iptables
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/lib/systemd/scripts/vuurmuur start
+ExecStop=/usr/lib/systemd/scripts/vuurmuur stop
+ExecReload=/usr/lib/systemd/scripts/vuurmuur restart
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/wallchange/PKGBUILD b/pcr/wallchange/PKGBUILD
index f8465bda5..f8465bda5 100755..100644
--- a/pcr/wallchange/PKGBUILD
+++ b/pcr/wallchange/PKGBUILD
diff --git a/pcr/xonotic-git/PKGBUILD b/pcr/xonotic-git/PKGBUILD
index 2a032cd4a..2a032cd4a 100755..100644
--- a/pcr/xonotic-git/PKGBUILD
+++ b/pcr/xonotic-git/PKGBUILD
diff --git a/pcr/xtables-addons/PKGBUILD b/pcr/xtables-addons/PKGBUILD
new file mode 100644
index 000000000..0b652408a
--- /dev/null
+++ b/pcr/xtables-addons/PKGBUILD
@@ -0,0 +1,35 @@
+# Contributor: Vladimir Kutyavin <vlkut@bk.ru>
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.IO>
+
+pkgname=xtables-addons
+pkgver=1.46
+pkgrel=1
+pkgdesc="Successor to patch-o-matic(-ng). Additional extensions for iptables, ip6tables, etc. CHAOS, TARPIT, TEE, DELUDE and other targets; condition, geoip, ipp2p and other matches. Includes ipset package."
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://xtables-addons.sourceforge.net/"
+depends=('iptables>=1.4.3' 'glibc')
+makedepends=('linux-api-headers' 'linux-headers')
+conflicts=(ipset)
+replaces=(ipset)
+provides=(ipset)
+source=(http://download.sourceforge.net/project/xtables-addons/Xtables-addons/$pkgver/$pkgname-$pkgver.tar.xz)
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/iptables \
+ --sysconfdir=/etc \
+ --with-xtlibdir=/usr/lib/iptables \
+ --mandir=/usr/share/man
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+ chmod a-x $pkgdir/usr/lib/iptables/*.so
+ #remove ipset there is a ipset package
+# rm \
+# $pkgdir/usr/lib/iptables/libipset_* \
+# $pkgdir/usr/sbin/ipset
+# $pkgdir/usr/share/man/man8/ipset.8
+# rmdir $pkgdir/usr/sbin
+}
diff --git a/pcr/yate/yate.init b/pcr/yate/yate.init
index 762fff8c7..762fff8c7 100755..100644
--- a/pcr/yate/yate.init
+++ b/pcr/yate/yate.init