summaryrefslogtreecommitdiff
path: root/pcr
diff options
context:
space:
mode:
Diffstat (limited to 'pcr')
-rw-r--r--pcr/android-udev/PKGBUILD26
-rw-r--r--pcr/android-udev/android-udev.install12
-rw-r--r--pcr/audio-entropyd/PKGBUILD29
-rw-r--r--pcr/audio-entropyd/audio-entropyd.service10
-rw-r--r--pcr/chiliproject/PKGBUILD41
-rw-r--r--pcr/chiliproject/chiliproject.install17
-rw-r--r--pcr/darcsver/PKGBUILD26
-rw-r--r--pcr/debootstrap-libre/PKGBUILD4
-rw-r--r--pcr/dirt/PKGBUILD23
-rw-r--r--pcr/dratmenu/PKGBUILD36
-rw-r--r--pcr/emacs-lucid/PKGBUILD54
-rw-r--r--pcr/emacs-lucid/emacs-24.3-giflib5.patch26
-rw-r--r--pcr/emacs-lucid/emacs.install32
-rw-r--r--pcr/gnomeradio/PKGBUILD49
-rw-r--r--pcr/gnomeradio/gnomeradio.install11
-rw-r--r--pcr/hiawatha/PKGBUILD117
-rw-r--r--pcr/hiawatha/cdcatalog.xml212
-rw-r--r--pcr/hiawatha/cdcatalog.xslt24
-rw-r--r--pcr/hiawatha/hiawatha.conf.sample114
-rw-r--r--pcr/hiawatha/hiawatha.install37
-rw-r--r--pcr/hiawatha/hiawatha.service16
-rw-r--r--pcr/ii/PKGBUILD30
-rw-r--r--pcr/kompozer/PKGBUILD72
-rw-r--r--pcr/libcgroup/PKGBUILD57
-rw-r--r--pcr/libcgroup/cgconfig.service17
-rw-r--r--pcr/libcgroup/cgrules.service16
-rw-r--r--pcr/libcgroup/libcgroup.install11
-rw-r--r--pcr/libqinfinity/PKGBUILD27
-rw-r--r--pcr/libquvi-scripts-current/PKGBUILD5
-rw-r--r--pcr/maildirproc/PKGBUILD21
-rw-r--r--pcr/nevow/PKGBUILD23
-rw-r--r--pcr/ocsync/PKGBUILD7
-rw-r--r--pcr/owncloud-client/PKGBUILD11
-rw-r--r--pcr/pandoc/PKGBUILD12
-rw-r--r--pcr/pandoc/SRCBUILD9
-rw-r--r--pcr/polarssl/PKGBUILD28
-rw-r--r--pcr/pycryptopp/PKGBUILD31
-rw-r--r--pcr/python-jedi/PKGBUILD23
-rw-r--r--pcr/python2-mock/PKGBUILD24
-rw-r--r--pcr/pyutil/PKGBUILD28
-rw-r--r--pcr/pyzenity/PKGBUILD20
-rw-r--r--pcr/qtkeychain/PKGBUILD48
-rw-r--r--pcr/qtkeychain/prefer-qt4.patch17
-rw-r--r--pcr/qtkeychain/qtkeychain-0.1.zipbin0 -> 19334 bytes
-rw-r--r--pcr/rfc5766-turn-server/PKGBUILD49
-rw-r--r--pcr/ruby-bundler/PKGBUILD34
-rw-r--r--pcr/ruby1-bundler/PKGBUILD27
-rw-r--r--pcr/ruby1/PKGBUILD4
-rw-r--r--pcr/ruby1/ruby.install4
-rw-r--r--pcr/setuptools_darcs/PKGBUILD29
-rw-r--r--pcr/sic/PKGBUILD32
-rw-r--r--pcr/sqlcipher/PKGBUILD31
-rw-r--r--pcr/tahoe-lafs/PKGBUILD30
-rw-r--r--pcr/tahoe-lafs/nodaemon.patch19
-rw-r--r--pcr/timer_entropyd/PKGBUILD28
-rw-r--r--pcr/timer_entropyd/timer_entropyd.service9
-rw-r--r--pcr/ttf-font-awesome/PKGBUILD19
-rw-r--r--pcr/ttf-font-awesome/ttf-font-awesome.install20
-rw-r--r--pcr/video_entropyd/PKGBUILD28
-rw-r--r--pcr/video_entropyd/video_entropyd.service9
-rw-r--r--pcr/xfwm4-titleless/PKGBUILD46
-rw-r--r--pcr/xfwm4-titleless/xfwm4-hide-titlebar-when-maximized.patch1456
-rw-r--r--pcr/xfwm4-titleless/xfwm4.install13
-rw-r--r--pcr/youtube-dl-current/PKGBUILD6
-rw-r--r--pcr/zbase32/PKGBUILD25
-rw-r--r--pcr/zfec/PKGBUILD26
66 files changed, 3233 insertions, 164 deletions
diff --git a/pcr/android-udev/PKGBUILD b/pcr/android-udev/PKGBUILD
new file mode 100644
index 000000000..10fe60934
--- /dev/null
+++ b/pcr/android-udev/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): M0Rf30
+# Contributor: marlock
+
+pkgname=android-udev
+pkgver=20130911
+_gitver=8dfd1cd0002d7067d24a2ef89360212f164f3856
+url="https://github.com/M0Rf30/android-udev-rules"
+pkgdesc='Udev rules to for Android devices.'
+
+# The author is the maintainer of the AUR package, where it is listed as GPL;
+# this is the best hint to the license that we have.
+license=('GPL')
+
+pkgrel=1
+arch=('any')
+source=("51-android-$pkgver.rules::https://raw.github.com/M0Rf30/android-udev-rules/$_gitver/51-android.rules")
+depends=('systemd' 'libmtp')
+install='android-udev.install'
+
+package() {
+ cd "$srcdir"
+ install -Dm755 "$srcdir"/51-android-$pkgver.rules "$pkgdir"/usr/lib/udev/rules.d/51-android.rules
+}
+
+md5sums=('1b2033fcf52b1b0ffa807ba90b11fd14')
diff --git a/pcr/android-udev/android-udev.install b/pcr/android-udev/android-udev.install
new file mode 100644
index 000000000..dcb1ebc20
--- /dev/null
+++ b/pcr/android-udev/android-udev.install
@@ -0,0 +1,12 @@
+post_install() {
+ post_upgrade
+ echo "NOTE: To use adb as a normal user you have to add yourself to the adbusers group"
+}
+
+post_upgrade() {
+ { getent group adbusers || /usr/sbin/groupadd adbusers; } &>/dev/null
+}
+
+post_remove() {
+ getent group adbusers &>/dev/null && /usr/sbin/groupdel adbusers
+}
diff --git a/pcr/audio-entropyd/PKGBUILD b/pcr/audio-entropyd/PKGBUILD
new file mode 100644
index 000000000..c691c0128
--- /dev/null
+++ b/pcr/audio-entropyd/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: fauno <fauno@parabola.nu>
+pkgname=audio-entropyd
+pkgver=2.0.3
+pkgrel=1
+pkgdesc="Feeds the /dev/random device with entropy-data read from an audio device"
+arch=('i686')
+url="http://vanheusden.com/aed/"
+license=('GPL2')
+groups=('entropy')
+depends=('alsa-lib')
+source=(http://www.vanheusden.com/aed/${pkgname}-${pkgver}.tgz
+ ${pkgname}.service)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D -m 755 ${pkgname} ${pkgdir}/usr/bin/${pkgname}
+ install -D -m 644 ${srcdir}/${pkgname}.service \
+ ${pkgdir}/usr/lib/systemd/system/${pkgname}.service
+}
+sha1sums=('b788559c6c01e17bb9d314ac2a7411bc30fbb8a2'
+ '6d3ad093176efaa0e5a4fe80113048aa9c4810ce')
+sha256sums=('6fbaf1c4f77e988f4656cd079309d5eb6bd36cbae89c2ee01324c5690adaf3ff'
+ '41704fac32b2c180c1fb6155b902445e2c5bc493da0191180cb3720cd72bd42c')
diff --git a/pcr/audio-entropyd/audio-entropyd.service b/pcr/audio-entropyd/audio-entropyd.service
new file mode 100644
index 000000000..feff7cae4
--- /dev/null
+++ b/pcr/audio-entropyd/audio-entropyd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Gathering entropy from audio
+After=sound.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/audio-entropyd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/chiliproject/PKGBUILD b/pcr/chiliproject/PKGBUILD
deleted file mode 100644
index 976316dc4..000000000
--- a/pcr/chiliproject/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: Márcio Silva <coadde@lavabit.com>
-
-pkgname=chiliproject
-pkgver=3.3.0
-pkgrel=1
-pkgdesc="Chiliproject is a fork of Redmine, a flexible project management web application written using Ruby on Rails."
-arch=('any')
-url="https://www.chiliproject.org"
-license=('GPL2')
-depends=('ruby' 'ruby-bundler' 'mysql' 'libxml2' 'libxslt' 'imagemagick' 'pkg-config')
-provides=('chiliproject')
-backup=('var/lib/chiliproject/config/database.yml'
- 'var/lib/chiliproject/config/configuration.yml')
-makedepends=('glibc')
-optdepends=('git: Git repository browsing'
- 'subversion>=1.3.0: Subversion repository browsing'
- 'darcs: Darcs repository browsing'
- 'bzr: Bazaar repository browsing'
- 'mercurial: Mercurial repository browsing')
-options=()
-install=chiliproject.install
-source=("https://www.chiliproject.org/attachments/download/360/chiliproject-$pkgver.tar.gz")
-md5sums=('4fa4a825cf0cd91d7495180a19bc4c11')
-
-build() {
- return 0
-}
-
-package() {
- cd "$srcdir/chiliproject-$pkgver"
-
- # install in /var/lib
- _instdir="$pkgdir/var/lib/chiliproject"
- mkdir -p ${_instdir}
- cp -ra . ${_instdir}
-
- # create required directories
- mkdir -p "${_instdir}/public/plugin_assets"
-}
-
-# vim:set ts=4 sw=4 et:
diff --git a/pcr/chiliproject/chiliproject.install b/pcr/chiliproject/chiliproject.install
deleted file mode 100644
index cb4622f09..000000000
--- a/pcr/chiliproject/chiliproject.install
+++ /dev/null
@@ -1,17 +0,0 @@
-adjust_perms(){
- chown -R http:http "/var/lib/chiliproject" 1>/dev/null
- for dir in /var/lib/chiliproject/{files,log,tmp,public/plugin_assets}; do
- chown -R http:http "$dir" 1>/dev/null
- chmod -R 755 "$dir" 1>/dev/null
- done
-}
-
-post_install() {
- adjust_perms
- echo 'take a look at https://wiki.archlinux.org/index.php?title=Chiliproject for further setup instructions.'
-}
-
-post_upgrade() {
- adjust_perms
- echo 'take a look at https://wiki.archlinux.org/index.php?title=Chiliproject for further setup instructions.'
-}
diff --git a/pcr/darcsver/PKGBUILD b/pcr/darcsver/PKGBUILD
new file mode 100644
index 000000000..e93250680
--- /dev/null
+++ b/pcr/darcsver/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Andreas B. Wagner <AndreasBWagner@pointfree.net>
+# Maintainer: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Peter Simons <simons@cryp.to>
+pkgname=darcsver
+pkgver=1.7.4
+pkgrel=2
+pkgdesc="generate a version number from darcs history"
+arch=('any')
+url='http://allmydata.org/trac/darcsver'
+license=('BSD')
+depends=('python2')
+makedepends=('python2-mock' 'python2-distribute')
+source=( http://pypi.python.org/packages/source/d/$pkgname/$pkgname-$pkgver.tar.gz )
+md5sums=('e38aecd1343ab8447888a479ab12cb59')
+
+build(){
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+}
+
+package(){
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+
+ install -Dm644 darcsver.egg-info/PKG-INFO $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/pcr/debootstrap-libre/PKGBUILD b/pcr/debootstrap-libre/PKGBUILD
index e4f4ef65e..b4ea8c09f 100644
--- a/pcr/debootstrap-libre/PKGBUILD
+++ b/pcr/debootstrap-libre/PKGBUILD
@@ -3,12 +3,12 @@
_pkgname=debootstrap
pkgname=debootstrap-libre
pkgver=1.0.53
-pkgrel=3
+pkgrel=3.1
pkgdesc="A tool used to create a gNewSense or Trisquel base system from scratch, without requiring the availability of dpkg or apt (Debian support removed)"
arch=('any')
license=('GPL')
url="http://packages.debian.org/sid/debootstrap"
-depends=('wget')
+depends=('binutils' 'wget')
replaces=$_pkgname
conflicts=$_pkgname
provides=$_pkgname=$pkgver
diff --git a/pcr/dirt/PKGBUILD b/pcr/dirt/PKGBUILD
new file mode 100644
index 000000000..d269b41f8
--- /dev/null
+++ b/pcr/dirt/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: fauno <fauno@parabola.nu>
+pkgname=dirt
+pkgver=1.0.0a28
+pkgrel=1
+pkgdesc="Multi-platform IRC proxy that adds FiSH-compatible chat encryption (including DH1080 key exchanges) to any IRC client"
+arch=('i686')
+url="http://dirtirc.sourceforge.net/"
+license=('GPL2')
+depends=('openssl')
+source=(http://ufpr.dl.sourceforge.net/project/dirtirc/Dirt/1.0.0%20alpha%2028/${pkgname}-${pkgver}-source.tar.gz)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make unix
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D -m 755 dirtirc ${pkgdir}/usr/bin/dirtirc
+}
+sha1sums=('0f7f407f5a3cb0f083b95d81849efde90177e7d2')
+sha256sums=('c1e8bc212a54739ba45f10a6f157f1a80052c913863e6624c434d7335fc2721b')
diff --git a/pcr/dratmenu/PKGBUILD b/pcr/dratmenu/PKGBUILD
new file mode 100644
index 000000000..8d6a2b357
--- /dev/null
+++ b/pcr/dratmenu/PKGBUILD
@@ -0,0 +1,36 @@
+# Contributor: ivoarch <ivkuzev@gmail.com>
+# Maintainer : Parabola Aurélien DESBRIÈRES <aurelien@replicant.io>
+
+pkgname=dratmenu
+pkgver=20121218
+pkgrel=1
+pkgdesc="ratpoison window dmenu"
+arch=('any')
+url="https://github.com/dimatura/dratmenu.git"
+license=('GPL')
+depends=('dmenu' 'python2')
+makedepends=('git')
+
+_gitroot="https://github.com/dimatura/dratmenu.git"
+_gitname="master"
+
+build() {
+ cd $srcdir
+
+ if [ -d $srcdir/$pkgname ] ; then
+ msg "update git"
+ cd $pkgname && git pull origin
+ else
+ msg "clone git"
+ git clone $_gitroot
+ fi
+}
+
+package() {
+ mkdir -p $pkgdir/usr/lib/python2.7/site-packages
+ cp -r $srcdir/$pkgname $pkgdir/usr/lib/python2.7/site-packages
+ mkdir -p $pkgdir/usr/bin
+ echo "#!/bin/bash
+ python2 /usr/lib/python2.7/site-packages/$pkgname/dratmenu.py" > $pkgdir/usr/bin/dratmenu
+ chmod +x $pkgdir/usr/bin/dratmenu
+}
diff --git a/pcr/emacs-lucid/PKGBUILD b/pcr/emacs-lucid/PKGBUILD
new file mode 100644
index 000000000..f88607e0a
--- /dev/null
+++ b/pcr/emacs-lucid/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 192474 2013-08-12 20:25:41Z eric $
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (Arch): Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
+
+_pkgname=emacs
+pkgname=emacs-lucid
+pkgver=24.3
+pkgrel=4
+pkgdesc="The extensible, customizable, self-documenting real-time display editor"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick')
+install=emacs.install
+source=(ftp://ftp.gnu.org/gnu/emacs/$_pkgname-$pkgver.tar.xz{,.sig}
+ emacs-24.3-giflib5.patch)
+md5sums=('ea9ed000ca165280265aabb55b9afbd7'
+ 'SKIP'
+ '560cdf463299e059c5fadf474bcba218')
+
+pkgdesc+=", with the Lucid X11 toolkit"
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+
+prepare() {
+ cd $_pkgname-$pkgver
+ patch -Np0 -i ../emacs-24.3-giflib5.patch
+}
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --with-x-toolkit=lucid --with-xft
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # remove conflict with ctags package
+ mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
+ mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
+ # remove conflict with texinfo
+ rm "$pkgdir"/usr/share/info/info.info.gz
+ # fix user/root permissions on usr/share files
+ find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \;
+ # fix perms on /var/games
+ chmod 775 "$pkgdir"/var/games
+ chmod 775 "$pkgdir"/var/games/emacs
+ chmod 664 "$pkgdir"/var/games/emacs/*
+ chown -R root:games "$pkgdir"/var/games
+}
diff --git a/pcr/emacs-lucid/emacs-24.3-giflib5.patch b/pcr/emacs-lucid/emacs-24.3-giflib5.patch
new file mode 100644
index 000000000..b8571abb2
--- /dev/null
+++ b/pcr/emacs-lucid/emacs-24.3-giflib5.patch
@@ -0,0 +1,26 @@
+--- src/image.c
++++ src/image.c 2013-05-21 15:49:41.945819346 +0000
+@@ -7192,7 +7192,11 @@ gif_load (struct frame *f, struct image
+ }
+
+ /* Open the GIF file. */
++#if GIFLIB_MAJOR < 5
+ gif = fn_DGifOpenFileName (SSDATA (file));
++#else
++ gif = fn_DGifOpenFileName (SSDATA (file), NULL);
++#endif
+ if (gif == NULL)
+ {
+ image_error ("Cannot open `%s'", file, Qnil);
+@@ -7213,7 +7217,11 @@ gif_load (struct frame *f, struct image
+ memsrc.len = SBYTES (specified_data);
+ memsrc.index = 0;
+
++#if GIFLIB_MAJOR < 5
+ gif = fn_DGifOpen (&memsrc, gif_read_from_memory);
++#else
++ gif = fn_DGifOpen (&memsrc, gif_read_from_memory, NULL);
++#endif
+ if (!gif)
+ {
+ image_error ("Cannot open memory source `%s'", img->spec, Qnil);
diff --git a/pcr/emacs-lucid/emacs.install b/pcr/emacs-lucid/emacs.install
new file mode 100644
index 000000000..6712f44ba
--- /dev/null
+++ b/pcr/emacs-lucid/emacs.install
@@ -0,0 +1,32 @@
+ICON_PATH=usr/share/icons/hicolor
+INFO_DIR=usr/share/info
+
+INFO_FILES=(ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse
+ede ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc ert eshell eudc flymake
+forms gnus htmlfontify idlwave mairix-el message mh-e newsticker nxml-mode
+org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail
+speedbar srecode tramp url vip viper widget wisent woman)
+
+post_install() {
+ gtk-update-icon-cache -q -t -f ${ICON_PATH}
+ update-desktop-database -q
+
+ [[ -x usr/bin/install-info ]] || return 0
+ for f in ${INFO_FILES[@]}; do
+ install-info ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gtk-update-icon-cache -q -t -f ${ICON_PATH}
+ update-desktop-database -q
+
+ [[ -x usr/bin/install-info ]] || return 0
+ for f in ${INFO_FILES[@]}; do
+ install-info --delete ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
+ done
+}
diff --git a/pcr/gnomeradio/PKGBUILD b/pcr/gnomeradio/PKGBUILD
new file mode 100644
index 000000000..1fa76de08
--- /dev/null
+++ b/pcr/gnomeradio/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: none
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): tritonas00 <tritonas00@gmail.com>
+# Contributor: Ivan Rojas <kirdux@gmail.com>
+
+# Because gnomeradio is written against ancient libraries, we must patch it to
+# compile and work on a modern system. Let's just grab the patch series that
+# Debian uses.
+_debver=1.8-2 # which patches to grab from Debian
+_debrepo=http://ftp.debian.org/debian/pool/main
+_debfile() { echo "${_debrepo}/${1:0:1}/${1}/${1}_${2}"; }
+
+pkgname=gnomeradio
+pkgver=1.8
+pkgrel=6.1
+pkgdesc="An FM-radio tuner for the GNOME desktop"
+url="https://projects.gnome.org/gnomeradio/"
+license=('GPL')
+arch=('i686' 'x86_64')
+install=gnomeradio.install
+depends=(libgnome-media-profiles lirc-utils hicolor-icon-theme)
+makedepends=(gnome-doc-utils intltool gnome-vfs libgnomeui v4l-utils)
+source=(https://launchpad.net/$pkgname/stable/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ $(_debfile "$pkgname" "$_debver").debian.tar.gz)
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ while read -r patchfile; do
+ patch -p1 -i "$srcdir/debian/patches/$patchfile"
+ done <"$srcdir/debian/patches/series"
+ autoconf
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ LIBS=-lm ./configure --prefix=/usr --sysconfdir=/etc --disable-scrollkeeper \
+ --disable-install-schemas
+ make
+}
+
+package () {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ mkdir "$pkgdir"/usr/share/pixmaps
+ install data/icons/scalable/gnomeradio.svg "$pkgdir"/usr/share/pixmaps/gnomeradio.svg
+}
+
+md5sums=('26f07c432dffeebec3cc904f99295427'
+ '019ce748f8463d3eaebbb3e88d18d3e0')
diff --git a/pcr/gnomeradio/gnomeradio.install b/pcr/gnomeradio/gnomeradio.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/pcr/gnomeradio/gnomeradio.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/pcr/hiawatha/PKGBUILD b/pcr/hiawatha/PKGBUILD
new file mode 100644
index 000000000..1ea4d6435
--- /dev/null
+++ b/pcr/hiawatha/PKGBUILD
@@ -0,0 +1,117 @@
+# Maintainer: Kurt Marasco <celilo _at_ lavabit _dot_ com>
+# Contributor: Pascal Ernster <aur at hardfalcon dot net>
+
+pkgname=hiawatha
+pkgver=9.2
+pkgrel=1
+pkgdesc="Secure and advanced webserver"
+url="https://www.hiawatha-webserver.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libxslt' 'polarssl')
+optdepends=('php-fpm: Provides modern PHP fast cgi support (Recommended) ')
+makedepends=('cmake')
+install=$pkgname.install
+backup=(
+ usr/lib/systemd/system/hiawatha.service
+ etc/hiawatha/hiawatha.conf
+ etc/hiawatha/hiawatha.conf.sample
+ etc/hiawatha/cgi-wrapper.conf
+ etc/hiawatha/mimetype.conf
+ srv/http/hiawatha/cdcatalog.xml
+ srv/http/hiawatha/cdcatalog.xslt
+)
+
+source=(
+ "http://hiawatha-webserver.org/files/${pkgname}-${pkgver}.tar.gz"
+ 'hiawatha.conf.sample'
+ 'cdcatalog.xml'
+ 'cdcatalog.xslt'
+ 'hiawatha.service'
+ 'hiawatha.install'
+)
+sha256sums=(
+ '5d9cdec51c618bb3efab747030e593d9bd49dfaf3236254c8e0cb60715716dbf'
+ '4671d2586cbe3cd6497b16ff422c6143cdab40641ef3c9c4988c478351a8f5e7'
+ '7757d6e5fe363b917a2823ba8b5194509ed6914e7c088d04ae72f9bd73efcb58'
+ 'f28aa336da6f0fb124a1092039e695d233569cb32632223f786603ffb6ed5471'
+ 'fb789b12bb6246237b15a9244f58317abdd53e5ca4eb55880e40a498b2237155'
+ '3b60a884102a6212a4963c041dd2a5a32fb18833f758e9be5d021bbc630ed627'
+)
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ cmake . -DCMAKE_INSTALL_PREFIX="/" \
+ -DCMAKE_INSTALL_BINDIR="/usr/bin" \
+ -DCMAKE_INSTALL_SBINDIR="/usr/bin" \
+ -DCMAKE_INSTALL_SYSCONFDIR="/etc/hiawatha" \
+ -DCMAKE_INSTALL_LIBDIR="/usr/lib" \
+ -DCMAKE_INSTALL_MANDIR="/usr/share/man" \
+ -DCONFIG_DIR="/etc/hiawatha" \
+ -DLOG_DIR="/var/log/hiawatha" \
+ -DPID_DIR="/run" \
+ -DENABLE_SSL=ON \
+ -DUSE_SYSTEM_POLARSSL=on \
+ -DWEBROOT_DIR="/srv/http" \
+ -DWORK_DIR="/var/lib/hiawatha"
+ make
+
+ # The default capabilities are installed by this PKGBUILD
+ # The following build options are available to customize your installation:
+ # modify the above cmake command to customize
+ #option description required libraries when feature enabled
+ # cmake options
+ # -DENABLE_CACHE=ON|off Enable internal cache support.
+ # -DENABLE_DEBUG=on|OFF Enable debug information (for development only).
+ # -DENABLE_IPV6=ON|off Enable IPv6 support.
+ # -DENABLE_MONITOR=on|OFF Enable support for the Hiawatha Monitor.
+ # -DENABLE_RPROXY=ON|off Enable reverse proxy support.
+ # -DENABLE_SSL=ON|off Enable SSL (PolarSSL) support.
+ # -DENABLE_TOMAHAWK=on|OFF Enable Tomahawk, Hiawatha command shell.
+ # -DENABLE_TOOLKIT=ON|off Enable the URL Toolkit.
+ # -DENABLE_XSLT=ON|off Enable XSLT support. libxml2, libxslt1
+ # -DUSE_SYSTEM_POLARSSL=on|OFF Compile Hiawatha against the system's PolarSSL library (>=1.2.0).
+
+ # The following path settings are available for CMake.
+ # -DCMAKE_INSTALL_PREFIX=<path> The prefix for all other CMAKE_INSTALL directories.
+ # -DCMAKE_INSTALL_BINDIR=<path> Location of the ssi-cgi binary.
+ # -DCMAKE_INSTALL_SBINDIR=<path> Location of the other Hiawatha binaries.
+ # -DCMAKE_INSTALL_SYSCONFDIR=<path> The configuration files will be installed in /hiawatha.
+ # -DCMAKE_INSTALL_LIBDIR=<path> The PolarSSL shared library will be installed in /hiawatha.
+ # -DCMAKE_INSTALL_MANDIR=<path> Manual pages will be installed in /man1.
+ # -DCONFIG_DIR=<path> Location of the Hiawatha configuration files.
+ # -DLOG_DIR=<path> Log directory used in the default hiawatha.conf.
+ # -DPID_DIR=<path> Location of the Hiawatha and php-fcgi PID files.
+ # -DWEBROOT_DIR=<path> Webroot directory used in the default hiawatha.conf.
+ # -DWORK_DIR=<path> Path of directory where Hiawatha can write temporary files.
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ # Fix hiawatha.conf (formerly httpd.conf)
+ sed -e 's|#ServerId = www-data|ServerId = http|' \
+ -e 's|/var/www/|/srv/http/|g' \
+ -e 's|//|/|g' \
+ -e 's|#CGIextension = cgi|&\n#TriggerOnCGIstatus = yes|g' \
+ -e 's|ConnectTo = 127.0.0.1:2005|ConnectTo = 127.0.0.1:9000|g' \
+ -e 's|# Extension = php|&\n# SessionTimeout = 30|g' \
+ -e 's|#ErrorHandler = 404:/error.cgi|&\n#UseGZfile = yes|g' \
+ -i "$pkgdir/etc/hiawatha/hiawatha.conf"
+
+ # Fix hiawatha logrotate file (/etc/logrotate.d/hiawatha)
+ sed -e 's|www-data|http|g' -i "$srcdir/$pkgname-$pkgver/logrotate.d/hiawatha"
+ mkdir "$pkgdir/etc/logrotate.d"
+ install -m644 "$srcdir/$pkgname-$pkgver/logrotate.d/hiawatha" "$pkgdir/etc/logrotate.d/hiawatha"
+
+ # Add startup scripts
+ install -D -m755 "$srcdir/hiawatha.service" "$pkgdir/usr/lib/systemd/system/hiawatha.service"
+
+ # Install sample configuration implementing a virtual server for phpmyadmin, php-fpm, and a default website on localhost
+ install -m644 "$srcdir/hiawatha.conf.sample" "$pkgdir/etc/hiawatha/"
+ # Install sample XSLT transformation on default website on localhost
+ install -m644 "$srcdir/cdcatalog.xml" "$pkgdir/srv/http"
+ install -m644 "$srcdir/cdcatalog.xslt" "$pkgdir/srv/http"
+}
diff --git a/pcr/hiawatha/cdcatalog.xml b/pcr/hiawatha/cdcatalog.xml
new file mode 100644
index 000000000..efc35f9ff
--- /dev/null
+++ b/pcr/hiawatha/cdcatalog.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Edited with XML Spy v4.2 -->
+<catalog>
+ <cd>
+ <title>Empire Burlesque</title>
+ <artist>Bob Dylan</artist>
+ <country>USA</country>
+ <company>Columbia</company>
+ <price>10.90</price>
+ <year>1985</year>
+ </cd>
+ <cd>
+ <title>Hide your heart</title>
+ <artist>Bonnie Tyler</artist>
+ <country>UK</country>
+ <company>CBS Records</company>
+ <price>9.90</price>
+ <year>1988</year>
+ </cd>
+ <cd>
+ <title>Greatest Hits</title>
+ <artist>Dolly Parton</artist>
+ <country>USA</country>
+ <company>RCA</company>
+ <price>9.90</price>
+ <year>1982</year>
+ </cd>
+ <cd>
+ <title>Still got the blues</title>
+ <artist>Gary Moore</artist>
+ <country>UK</country>
+ <company>Virgin records</company>
+ <price>10.20</price>
+ <year>1990</year>
+ </cd>
+ <cd>
+ <title>Eros</title>
+ <artist>Eros Ramazzotti</artist>
+ <country>EU</country>
+ <company>BMG</company>
+ <price>9.90</price>
+ <year>1997</year>
+ </cd>
+ <cd>
+ <title>One night only</title>
+ <artist>Bee Gees</artist>
+ <country>UK</country>
+ <company>Polydor</company>
+ <price>10.90</price>
+ <year>1998</year>
+ </cd>
+ <cd>
+ <title>Sylvias Mother</title>
+ <artist>Dr.Hook</artist>
+ <country>UK</country>
+ <company>CBS</company>
+ <price>8.10</price>
+ <year>1973</year>
+ </cd>
+ <cd>
+ <title>Maggie May</title>
+ <artist>Rod Stewart</artist>
+ <country>UK</country>
+ <company>Pickwick</company>
+ <price>8.50</price>
+ <year>1990</year>
+ </cd>
+ <cd>
+ <title>Romanza</title>
+ <artist>Andrea Bocelli</artist>
+ <country>EU</country>
+ <company>Polydor</company>
+ <price>10.80</price>
+ <year>1996</year>
+ </cd>
+ <cd>
+ <title>When a man loves a woman</title>
+ <artist>Percy Sledge</artist>
+ <country>USA</country>
+ <company>Atlantic</company>
+ <price>8.70</price>
+ <year>1987</year>
+ </cd>
+ <cd>
+ <title>Black angel</title>
+ <artist>Savage Rose</artist>
+ <country>EU</country>
+ <company>Mega</company>
+ <price>10.90</price>
+ <year>1995</year>
+ </cd>
+ <cd>
+ <title>1999 Grammy Nominees</title>
+ <artist>Many</artist>
+ <country>USA</country>
+ <company>Grammy</company>
+ <price>10.20</price>
+ <year>1999</year>
+ </cd>
+ <cd>
+ <title>For the good times</title>
+ <artist>Kenny Rogers</artist>
+ <country>UK</country>
+ <company>Mucik Master</company>
+ <price>8.70</price>
+ <year>1995</year>
+ </cd>
+ <cd>
+ <title>Big Willie style</title>
+ <artist>Will Smith</artist>
+ <country>USA</country>
+ <company>Columbia</company>
+ <price>9.90</price>
+ <year>1997</year>
+ </cd>
+ <cd>
+ <title>Tupelo Honey</title>
+ <artist>Van Morrison</artist>
+ <country>UK</country>
+ <company>Polydor</company>
+ <price>8.20</price>
+ <year>1971</year>
+ </cd>
+ <cd>
+ <title>Soulsville</title>
+ <artist>Jorn Hoel</artist>
+ <country>Norway</country>
+ <company>WEA</company>
+ <price>7.90</price>
+ <year>1996</year>
+ </cd>
+ <cd>
+ <title>The very best of</title>
+ <artist>Cat Stevens</artist>
+ <country>UK</country>
+ <company>Island</company>
+ <price>8.90</price>
+ <year>1990</year>
+ </cd>
+ <cd>
+ <title>Stop</title>
+ <artist>Sam Brown</artist>
+ <country>UK</country>
+ <company>A and M</company>
+ <price>8.90</price>
+ <year>1988</year>
+ </cd>
+ <cd>
+ <title>Bridge of Spies</title>
+ <artist>T`Pau</artist>
+ <country>UK</country>
+ <company>Siren</company>
+ <price>7.90</price>
+ <year>1987</year>
+ </cd>
+ <cd>
+ <title>Private Dancer</title>
+ <artist>Tina Turner</artist>
+ <country>UK</country>
+ <company>Capitol</company>
+ <price>8.90</price>
+ <year>1983</year>
+ </cd>
+ <cd>
+ <title>Midt om natten</title>
+ <artist>Kim Larsen</artist>
+ <country>EU</country>
+ <company>Medley</company>
+ <price>7.80</price>
+ <year>1983</year>
+ </cd>
+ <cd>
+ <title>Pavarotti Gala Concert</title>
+ <artist>Luciano Pavarotti</artist>
+ <country>UK</country>
+ <company>DECCA</company>
+ <price>9.90</price>
+ <year>1991</year>
+ </cd>
+ <cd>
+ <title>The dock of the bay</title>
+ <artist>Otis Redding</artist>
+ <country>USA</country>
+ <company>Atlantic</company>
+ <price>7.90</price>
+ <year>1987</year>
+ </cd>
+ <cd>
+ <title>Picture book</title>
+ <artist>Simply Red</artist>
+ <country>EU</country>
+ <company>Elektra</company>
+ <price>7.20</price>
+ <year>1985</year>
+ </cd>
+ <cd>
+ <title>Red</title>
+ <artist>The Communards</artist>
+ <country>UK</country>
+ <company>London</company>
+ <price>7.80</price>
+ <year>1987</year>
+ </cd>
+ <cd>
+ <title>Unchain my heart</title>
+ <artist>Joe Cocker</artist>
+ <country>USA</country>
+ <company>EMI</company>
+ <price>8.20</price>
+ <year>1987</year>
+ </cd>
+</catalog>
diff --git a/pcr/hiawatha/cdcatalog.xslt b/pcr/hiawatha/cdcatalog.xslt
new file mode 100644
index 000000000..db9cc35bc
--- /dev/null
+++ b/pcr/hiawatha/cdcatalog.xslt
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Edited with XML Spy v4.2 -->
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/">
+ <html>
+ <body>
+ <h2>My CD Collection</h2>
+ <table border="1">
+ <tr bgcolor="#9acd32">
+ <th align="left">Title</th>
+ <th align="left">Artist</th>
+ </tr>
+ <xsl:for-each select="catalog/cd">
+ <tr>
+ <td><xsl:value-of select="title"/></td>
+ <td><xsl:value-of select="artist"/></td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </body>
+ </html>
+</xsl:template>
+</xsl:stylesheet> \ No newline at end of file
diff --git a/pcr/hiawatha/hiawatha.conf.sample b/pcr/hiawatha/hiawatha.conf.sample
new file mode 100644
index 000000000..1c1d62450
--- /dev/null
+++ b/pcr/hiawatha/hiawatha.conf.sample
@@ -0,0 +1,114 @@
+# Hiawatha main configuration file
+# This is a basic sample configuration file that sets up a:
+# 1) Default web site at /srv/http/hiawatha (Note: fast CGI is not active on default site)
+# 2) Virtual host for phpmyadmin at /srv/http/phpMyAdmin
+# note: you must install phpmyadmin, mysql, php-mcrypt, and php-cgi separately. Be sure that extensions
+# mcrypt.so and mysql.so are enabled in your php.ini.
+# Also add phpmyadmin to your hosts file
+# 3) FastCGI server
+
+
+# GENERAL SETTINGS
+ServerId = http
+ConnectionsTotal = 150
+ConnectionsPerIP = 10
+SystemLogfile = /var/log/hiawatha/system.log
+GarbageLogfile = /var/log/hiawatha/garbage.log
+
+
+# BINDING SETTINGS
+# A binding is where a client can connect to.
+#
+Binding {
+ Port = 80
+}
+
+
+
+### The following fast CGI daemons require php-fpm using a UNIX socket and TCP port, respectively.
+# ACTIVATE a FastCGI server for php (using UNIX socket)
+FastCGIserver {
+ FastCGIid = PHP5
+ ConnectTo = /run/php-fpm/php-fpm.sock
+ Extension = php
+ SessionTimeout = 30
+}
+
+# ACTIVATE a FastCGI server for php (using IP-address and TCP port)
+#FastCGIserver {
+# FastCGIid = PHP5
+# ConnectTo = 127.0.0.1:9000
+# Extension = php
+# SessionTimeout = 30
+#}
+
+
+# DEFAULT WEBSITE
+# It is wise to use your IP address as the hostname of the default website
+# and give it a blank webpage. By doing so, automated webscanners won't find
+# your possible vulnerable website.
+#
+Hostname = 127.0.0.1
+WebsiteRoot = /srv/http/hiawatha
+StartFile = index.html
+AccessLogfile = /var/log/hiawatha/access.log
+ErrorLogfile = /var/log/hiawatha/error.log
+#ErrorHandler = 404:/error.cgi
+UseXSLT = yes
+
+
+# VIRTUAL HOSTS
+VirtualHost {
+
+ # If you set WebsiteRoot to /usr/share/webapps/phpMyAdmin you don't need followsymlinks
+ # I symlinked the phpMyAdmin folder to '/srv/http/phpMyAdmin' so that I can easily remember where it's located but
+ # still set 'WebsiteRoot' to the real source directory. You could point WebsiteRoot to the
+ # symlinked directory, but you will have to set 'FollowSymlinks = yes' for that to function properly
+
+ #FollowSymlinks = yes
+ #WebsiteRoot = /srv/http/phpMyAdmin
+ WebsiteRoot = /usr/share/webapps/phpMyAdmin
+ Hostname = phpmyadmin
+ AccessLogfile = /var/log/hiawatha/phpmyadmin/access.log
+ ErrorLogfile = /var/log/hiawatha/phpmyadmin/error.log
+ StartFile = index.php
+ UseFastCGI = PHP5
+
+}
+
+# Add some more
+
+#VirtualHost {
+# Hostname = www.my-domain.com
+# WebsiteRoot = /svr/http/my-domain/public
+# StartFile = index.php
+# AccessLogfile = /svr/http/my-domain/log/access.log
+# ErrorLogfile = /svr/http/my-domain/log/error.log
+# TimeForCGI = 5
+# UseFastCGI = PHP5
+# UseToolkit = banshee
+#}
+
+
+#Additional settings for monitoring
+
+UrlToolkit {
+ ToolkitID = banshee
+ RequestURI isfile Return
+ Match ^/(css|files|images|js)/ Return
+ Match ^/(favicon.ico|robots.txt|sitemap.xml)$ Return
+ Match .*\?(.*) Rewrite /index.php?$1
+ Match .* Rewrite /index.php
+}
+
+VirtualHost {
+ Hostname = monitor.domain.com
+ WebsiteRoot = /svr/http/monitor/public
+ AccessLogfile = /svr/http/monitor/logfiles/access.log
+ ErrorLogfile = /svr/http/monitor/logfiles/error.log
+ StartFile = index.php
+# ExecuteCGI = yes
+ UseFastCGI = PHP5 # Use if you use PHP as a FastCGI daemon
+ TimeForCGI = 15
+ UseToolkit = banshee
+}
diff --git a/pcr/hiawatha/hiawatha.install b/pcr/hiawatha/hiawatha.install
new file mode 100644
index 000000000..0ea96ec65
--- /dev/null
+++ b/pcr/hiawatha/hiawatha.install
@@ -0,0 +1,37 @@
+pre_install() {
+ /bin/cat <<THEENDPOSTINSTALL
+NOTE
+----
+If you are new to Hiawatha, please refer to http://www.hiawatha-webserver.org/howto
+
+!!!!! This PKGBUILD compiles against the system's PolarSSL library. You will need to install PolarSSL from the AUR.!!!!
+
+THEENDPOSTINSTALL
+}
+
+pre_upgrade() {
+ /bin/cat <<THEENDPOSTINSTALL
+NOTE
+----
+If you are new to Hiawatha, please refer to http://www.hiawatha-webserver.org/howto
+
+!!!!! This PKGBUILD compiles against the system's PolarSSL library. You will need to install PolarSSL from the AUR.!!!!
+
+THEENDPOSTINSTALL
+}
+
+post_install() {
+ /bin/cat <<THEENDPOSTINSTALL
+NOTE
+----
+If you are new to Hiawatha, please refer to http://www.hiawatha-webserver.org/howto
+
+PHP-FPM is the prefered fastcgi server. To install.
+ pacman -Sy php-fpm
+ systemctl enable php-fpm
+
+The file hiawatha.conf.sample demonstrates syntax appropriate for use with the php-fpm fast cgi daemon.
+THEENDPOSTINSTALL
+}
+
+
diff --git a/pcr/hiawatha/hiawatha.service b/pcr/hiawatha/hiawatha.service
new file mode 100644
index 000000000..f7daeb8c7
--- /dev/null
+++ b/pcr/hiawatha/hiawatha.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Hiawatha Web Server
+After=network.target remote-fs.target nss-lookup.target
+
+[Service]
+Type=simple
+SyslogIdentifier=hiawatha
+ExecStartPre=/usr/bin/hiawatha -k ; /usr/bin/wigwam
+ExecStart= /usr/bin/hiawatha -d
+TimeoutSec=10
+#(doesn't like this setting. Can't find files) PrivateTmp=true
+LimitNOFILE=infinity
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER CAP_FSETID CAP_SETGID CAP_SETUID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/ii/PKGBUILD b/pcr/ii/PKGBUILD
new file mode 100644
index 000000000..b17cc2d18
--- /dev/null
+++ b/pcr/ii/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Evan Gates <evan.gates@gmail.com>
+# Contributor: Dag Odenhall <dag.odenhall@gmail.com>
+# Contributor: Chris Brannon <cmbrannon@cox.net>
+# Contributor: William Giokas <1007380@gmail.com>
+pkgname=ii
+pkgver=1.7
+pkgrel=2
+pkgdesc="A minimalist FIFO and filesystem-based IRC client"
+license=(MIT)
+arch=(i686 x86_64)
+url=http://tools.suckless.org/ii
+depends=(glibc)
+source=("http://dl.suckless.org/tools/${pkgname}-${pkgver}.tar.gz")
+
+md5sums=('6191008ca09770873d84f40270493d0e')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i "s/CFLAGS = /CFLAGS = ${CFLAGS} /" config.mk
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX=/usr MANDIR=/usr/share/man DESTDIR="$pkgdir" install
+}
diff --git a/pcr/kompozer/PKGBUILD b/pcr/kompozer/PKGBUILD
index 7b556e166..a65fb3e3b 100644
--- a/pcr/kompozer/PKGBUILD
+++ b/pcr/kompozer/PKGBUILD
@@ -1,59 +1,69 @@
-# Contributor: peace4all <markspost at rocketmail dot com>
+# Maintainer: Muflone <webreg@vbsimple.net>
+# Contributor: ingamedeo <ingamedeo at gmail dot com>
# Maintainer : Parabola GNU / Linux-libre <aurelien@cwb.io>
# thanks to tadzio, and techlive for the investigation
# work and fix included as the NS_IMETHOD_i686.patch
+# Sorry for not honouring makepkg.conf (!buildflags)
+# but the source doesn't compile with makepkg's default C/CXXFLAGS
+
pkgname=kompozer
pkgver=0.8b3
-pkgrel=10
+pkgrel=12
pkgdesc="A Dreamweaver style WYSIWYG web editor; Nvu unofficial bug-fix release"
arch=('x86_64' 'i686')
license=('GPL')
url="http://www.kompozer.net"
depends=('gtk2' 'glib2' 'pango' 'pangox-compat' 'nss' 'libxt' 'libidl2' 'gnome-vfs')
makedepends=('zip' 'pkgconfig')
-source=("http://downloads.sourceforge.net/kompozer/$pkgname-$pkgver-src.tar.bz2"
- 'kompozer.desktop'
- 'mozconfig.patch'
- 'kompozer-libpng15.patch'
- 'kompozer-libpng14.patch'
- 'gcc46_default_ctors.patch'
- 'kompozer_gcc_4.7.patch'
- 'any_kernel_26_plus.patch'
- 'NS_IMETHOD_i686.patch')
+options=('!buildflags')
+source=("http://downloads.sourceforge.net/kompozer/${pkgname}-${pkgver}-src.tar.bz2"
+ 'kompozer.desktop'
+ 'mozconfig.patch'
+ 'kompozer-libpng15.patch'
+ 'kompozer-libpng14.patch'
+ 'gcc46_default_ctors.patch'
+ 'kompozer_gcc_4.7.patch'
+ 'any_kernel_26_plus.patch'
+ 'NS_IMETHOD_i686.patch')
md5sums=('cd4664ecda908666b19ef0607010c627'
'ed8edf6817892a38b8b181fc9b2caaea'
- '4778f967307cf569089daca843de1df9'
+ '4778f967307cf569089daca843de1df9'
'4852034f99e7943071946e7eedc6c2f5'
'd5ba90f7fbaed76f77a6d9717e86f3a5'
'ad3ec5cbc6677dd712b140148398f58f'
- '75b0e1cad65dbeb8feedac5d4f52be32'
+ '75b0e1cad65dbeb8feedac5d4f52be32'
'58a294356b3e17ad070e4c93180bf0ad'
'186c47586bebf83b9b76d339e3a38c95')
build() {
- cd "$srcdir/mozilla"
-
- patch -Np0 -i "$srcdir/mozconfig.patch"
- patch -Np0 -i "$srcdir/kompozer-libpng14.patch"
- patch -Np0 -i "$srcdir/kompozer-libpng15.patch"
- patch -Np0 -i "$srcdir/gcc46_default_ctors.patch"
- patch -Np0 -i "$srcdir/kompozer_gcc_4.7.patch"
- patch -Np0 -i "$srcdir/any_kernel_26_plus.patch"
- patch -Np0 -i "$srcdir/NS_IMETHOD_i686.patch"
-
- make -f client.mk build
+ cd "${srcdir}/mozilla"
+ patch -Np0 -i "${srcdir}/mozconfig.patch"
+ patch -Np0 -i "${srcdir}/kompozer-libpng14.patch"
+ patch -Np0 -i "${srcdir}/kompozer-libpng15.patch"
+ patch -Np0 -i "${srcdir}/gcc46_default_ctors.patch"
+ patch -Np0 -i "${srcdir}/kompozer_gcc_4.7.patch"
+ patch -Np0 -i "${srcdir}/any_kernel_26_plus.patch"
+ patch -Np0 -i "${srcdir}/NS_IMETHOD_i686.patch"
+
+ #make -f client.mk build #If is causing a lot of problem...try to build the package as normally
+ ./configure
+ make
}
package() {
- cd "$srcdir/obj-kompozer"
+ cd "${srcdir}/mozilla"
+
+ make DESTDIR=${pkgdir} install
+ # Remove nspr.m4 because it's now provided by nspr package
+ rm "${pkgdir}/usr/share/aclocal/nspr.m4"
+ rmdir "${pkgdir}/usr/share/aclocal"
- make DESTDIR=$pkgdir install
- install -m755 -dD "$pkgdir/usr/share/applications/"
- install -m644 "$srcdir/kompozer.desktop" "$pkgdir/usr/share/applications/"
+ install -m755 -dD "${pkgdir}/usr/share/applications/"
+ install -m644 "${srcdir}/kompozer.desktop" "${pkgdir}/usr/share/applications/"
- mkdir -p "$pkgdir/usr/share/pixmaps/"
- ln -s "/usr/lib/kompozer/icons/mozicon256.png" "$pkgdir/usr/share/pixmaps/kompozer.png"
- ln -s "/usr/lib/kompozer/icons/mozicon50.xpm" "$pkgdir/usr/share/pixmaps/kompozer.xpm"
+ install -d -m755 "${pkgdir}/usr/share/pixmaps/"
+ ln -s "/usr/lib/kompozer/icons/mozicon256.png" "${pkgdir}/usr/share/pixmaps/kompozer.png"
+ ln -s "/usr/lib/kompozer/icons/mozicon50.xpm" "${pkgdir}/usr/share/pixmaps/kompozer.xpm"
}
diff --git a/pcr/libcgroup/PKGBUILD b/pcr/libcgroup/PKGBUILD
new file mode 100644
index 000000000..849a5c128
--- /dev/null
+++ b/pcr/libcgroup/PKGBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Christian Hesse <mail@eworm.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=libcgroup
+pkgver=0.40rc1
+pkgrel=1
+pkgdesc="Library that abstracts the control group file system in Linux"
+arch=('i686' 'x86_64')
+url="http://libcg.sourceforge.net"
+license=(LGPL)
+backup=('etc/cgconfig.conf'
+ 'etc/cgrules.conf'
+ 'etc/cgsnapshot_blacklist.conf')
+options=('!emptydirs' '!libtool')
+install=libcgroup.install
+source=("http://downloads.sourceforge.net/libcg/${pkgname}-${pkgver/rc/.rc}.tar.bz2"
+ 'cgconfig.service'
+ 'cgrules.service')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver/rc/.rc}"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --enable-opaque-hierarchy=name=systemd
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver/rc/.rc}"
+
+ make DESTDIR="${pkgdir}" pkgconfigdir="/usr/lib/pkgconfig" install
+
+ install -D -m0644 samples/cgconfig.conf "${pkgdir}/etc/cgconfig.conf"
+ install -D -m0644 samples/cgrules.conf "${pkgdir}/etc/cgrules.conf"
+ install -D -m0644 samples/cgsnapshot_blacklist.conf "${pkgdir}/etc/cgsnapshot_blacklist.conf"
+
+ install -D -m0644 ${srcdir}/cgconfig.service "${pkgdir}/usr/lib/systemd/system/cgconfig.service"
+ install -D -m0644 ${srcdir}/cgrules.service "${pkgdir}/usr/lib/systemd/system/cgrules.service"
+
+ rm -f ${pkgdir}/usr/lib/security/pam_cgroup.{la,so,so.0}
+ mv ${pkgdir}/usr/lib/security/pam_cgroup.so.0.0.0 ${pkgdir}/usr/lib/security/pam_cgroup.so
+
+ rm -rf ${pkgdir}/etc/rc.d
+
+ # Make cgexec setgid cgred
+ chown root:160 ${pkgdir}/usr/bin/cgexec
+ chmod 2755 ${pkgdir}/usr/bin/cgexec
+}
+
+sha256sums=('c2fa2cfdfd1023093afb6de456fc3ac000f92a2f01b905bcdda1c3e36ad44072'
+ '808fc354abf36d7b6673dad790be275309ac57a2606d1be3732b9b3aeb5885eb'
+ '6b1340ff6717f55e5e57dacc72accc0bfaed7e50ef31439271b6ddc893cbf671')
diff --git a/pcr/libcgroup/cgconfig.service b/pcr/libcgroup/cgconfig.service
new file mode 100644
index 000000000..3e6689d77
--- /dev/null
+++ b/pcr/libcgroup/cgconfig.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Control Group configuration service
+
+# The service should be able to start as soon as possible,
+# before any 'normal' services:
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=basic.target shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/cgconfigparser -l /etc/cgconfig.conf -s 1664
+ExecStop=/usr/bin/cgclear -l /etc/cgconfig.conf -e
+
+[Install]
+WantedBy=sysinit.target
diff --git a/pcr/libcgroup/cgrules.service b/pcr/libcgroup/cgrules.service
new file mode 100644
index 000000000..cd0bf34fb
--- /dev/null
+++ b/pcr/libcgroup/cgrules.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Control Group rules service
+
+# The service should be able to start as soon as possible,
+# before any 'normal' services:
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=basic.target shutdown.target
+After=cgconfig.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/cgrulesengd -n -f -
+
+[Install]
+WantedBy=sysinit.target
diff --git a/pcr/libcgroup/libcgroup.install b/pcr/libcgroup/libcgroup.install
new file mode 100644
index 000000000..a78216add
--- /dev/null
+++ b/pcr/libcgroup/libcgroup.install
@@ -0,0 +1,11 @@
+post_install() {
+ getent group cgred &>/dev/null || groupadd -r -g 160 cgred >/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ getent group cgred &>/dev/null && groupdel cgred >/dev/null
+}
diff --git a/pcr/libqinfinity/PKGBUILD b/pcr/libqinfinity/PKGBUILD
new file mode 100644
index 000000000..fdd7ed0c4
--- /dev/null
+++ b/pcr/libqinfinity/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Antonio Rojas <nqn1976 @ gmail.com>
+# Maintainer: parabola Aurélien Desbrières <aurelien@replicant.io>
+
+pkgname=libqinfinity
+pkgver=0.5.1
+pkgrel=1
+pkgdesc="Qt wrapper around libinfinity, a library for collaborative editing"
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/playground/libs/libqinfinity'
+license=('LGPL')
+depends=('libinfinity' 'qt4')
+makedepends=('cmake')
+source=("http://download.kde.org/stable/$pkgname/$pkgver/src/$pkgname-v$pkgver.tar.xz")
+
+
+build() {
+ cd "$pkgname-v$pkgver"
+ mkdir build
+ cd build
+ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
+ make
+}
+
+package() {
+ cd "$pkgname-v$pkgver/build"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/pcr/libquvi-scripts-current/PKGBUILD b/pcr/libquvi-scripts-current/PKGBUILD
index bce42b0e4..6a466b314 100644
--- a/pcr/libquvi-scripts-current/PKGBUILD
+++ b/pcr/libquvi-scripts-current/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=libquvi-scripts-current
_pkgname=libquvi-scripts
provides=(libquvi-scripts)
-pkgver=0.4.18
+pkgver=0.4.19
pkgrel=1
pkgdesc='Library for parsing video download links.'
arch=('any')
@@ -24,5 +24,6 @@ package() {
cd "${_pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
-md5sums=('d36f966974c851d36136c75d462fb319'
+
+md5sums=('a37221697367a700cc1cb3b1f4b681ec'
'SKIP')
diff --git a/pcr/maildirproc/PKGBUILD b/pcr/maildirproc/PKGBUILD
new file mode 100644
index 000000000..0e3becf75
--- /dev/null
+++ b/pcr/maildirproc/PKGBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): Mick Koch <kchmck@gmail.com>
+
+pkgname="maildirproc"
+pkgver="0.5.0"
+pkgrel="3"
+pkgdesc="Sorts mail based on a Python configuration file"
+arch=("any")
+url="http://joel.rosdahl.net/maildirproc/"
+license=("GPL") # GPLv2+
+depends=("python")
+source=("http://joel.rosdahl.net/maildirproc/releases/$pkgname-$pkgver.tar.bz2")
+md5sums=("eaa001f6cd1befee99528ca55da979ca")
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
+ cp -r doc/* "$pkgdir"/usr/share/doc/$pkgname/
+}
diff --git a/pcr/nevow/PKGBUILD b/pcr/nevow/PKGBUILD
new file mode 100644
index 000000000..956a0cd32
--- /dev/null
+++ b/pcr/nevow/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Peter Simons <simons@cryp.to>
+pkgname=nevow
+pkgver=0.10.0
+pkgrel=8
+pkgdesc="web application construction kit written in Python"
+arch=('any')
+url='http://pypi.python.org/pypi/Nevow'
+license=('custom')
+depends=('python2' 'twisted')
+source=( http://pypi.python.org/packages/source/N/Nevow/Nevow-$pkgver.tar.gz )
+md5sums=('66dda2ad88f42dea05911add15f4d1b2')
+
+build(){
+ cd "$srcdir/Nevow-$pkgver"
+ python2 setup.py build
+}
+
+package(){
+ cd "$srcdir/Nevow-$pkgver"
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --install-data=/usr/share/"$pkgname"
+ install -D LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/pcr/ocsync/PKGBUILD b/pcr/ocsync/PKGBUILD
index 97bc26754..cde26af30 100644
--- a/pcr/ocsync/PKGBUILD
+++ b/pcr/ocsync/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com>
# https://github.com/zizzfizzix/pkgbuilds
-# Maintainer: Jorge Araya Navarro <jorgean@lavabit.com>
+# Maintainer: Jorge Araya Navarro <shackra@riseup.net>
#
##############################################################
#### The section below can be adjusted to suit your needs ####
@@ -15,8 +15,8 @@ _buildtype="Release"
##############################################################
pkgname=ocsync
-pkgver=0.80.0
-pkgrel=3
+pkgver=0.90.0
+pkgrel=1
pkgdesc="A file synchronizer especially designed for you, the normal user. Dependency of owncloud-client."
arch=("i686" "x86_64")
url="http://www.csync.org"
@@ -52,3 +52,4 @@ package() {
cd ${srcdir}/${pkgname}-${pkgver}-build
make DESTDIR=${pkgdir} install
}
+md5sums=('6f1cfe47d6a7741c6e8df8642de52c0f')
diff --git a/pcr/owncloud-client/PKGBUILD b/pcr/owncloud-client/PKGBUILD
index a4e86099b..ea808c1ef 100644
--- a/pcr/owncloud-client/PKGBUILD
+++ b/pcr/owncloud-client/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com>
# https://github.com/zizzfizzix/pkgbuilds
-# Maintainer: Jorge Araya Navarro <jorgean@lavabit.com>
+# Maintainer: Jorge Araya Navarro <shackra@riseup.net>
#
##############################################################
#### The section below can be adjusted to suit your needs ####
@@ -16,13 +16,13 @@ _buildtype="Release"
_name=mirall
pkgname=owncloud-client
-pkgver=1.3.0
-pkgrel=2
+pkgver=1.4.0
+pkgrel=1
pkgdesc="ownCloud client based on mirall"
arch=('i686' 'x86_64')
url="http://owncloud.org/"
license=('GPL2')
-depends=('qt4' 'ocsync')
+depends=('qt4' 'ocsync' 'qtkeychain' 'qtwebkit')
makedepends=('cmake')
optdepends=('qtkeychain: safe password storage')
provides=('mirall' 'owncloud-client')
@@ -30,7 +30,8 @@ conflicts=('mirall-git')
install=owncloud-client.install
backup=('etc/owncloud-client/sync-exclude.lst')
source=("http://download.owncloud.com/download/${_name}-${pkgver}.tar.bz2")
-md5sums=('ee2e7bafc714399f2027fefed853f968')
+md5sums=('05a69082b4e940b4282c2b05344c143a')
+
if [[ ! ${_buildtype} == "Release" ]] && [[ ! ${_buildtype} == "release" ]]; then
options=(!strip)
diff --git a/pcr/pandoc/PKGBUILD b/pcr/pandoc/PKGBUILD
index 6fe28cc7c..0d2f2d8ea 100644
--- a/pcr/pandoc/PKGBUILD
+++ b/pcr/pandoc/PKGBUILD
@@ -5,13 +5,13 @@
pkgname=pandoc-static
_pkgname=pandoc
-pkgver=1.11.1
-pkgrel=2
+pkgver=1.12
+pkgrel=1
pkgdesc='Conversion between markup formats (no Haskell libs)'
url='http://johnmacfarlane.net/pandoc/'
license=('GPL')
arch=('i686' 'x86_64')
-makedepends=('ghc' 'sh' 'cabal-install')
+makedepends=('ghc' 'sh' 'cabal-install' 'alex' 'happy')
options=(strip !makeflags !distcc !emptydirs)
#source=(https://repo.parabolagnulinux.org/other/${_pkgname}-${pkgver}-$pkgrel-any.src.tar.xz{,.sig}
source=(https://repo.parabolagnulinux.org/other/${_pkgname}-${pkgver}-1-any.src.tar.xz{,.sig}
@@ -20,9 +20,9 @@ source=(https://repo.parabolagnulinux.org/other/${_pkgname}-${pkgver}-1-any.src.
replaces=('pandoc')
provides=('pandoc')
optdepends=('texlive-most: for pdf creation')
-md5sums=('74acd042fcd85bee9edb093cc3fe5c2e'
+md5sums=('3d5f23060cad2ff29ba2df5651e92f8a'
'SKIP'
- 'ee9d5924632ac07b5049be834a1ed054')
+ 'c2e9f9b880468455b6e6a7f9ba7308e8')
# PKGBUILD functions
build() {
@@ -47,7 +47,7 @@ build() {
case $_hkpkg in
$_pkgname-$pkgver)
HOME=${srcdir}/${_pkgname}-${pkgver} \
- cabal configure --flags='-library blaze_html_0_5' \
+ cabal configure --flags='-library' \
--prefix=/usr \
--libdir=${srcdir}/build/usr/lib -v
diff --git a/pcr/pandoc/SRCBUILD b/pcr/pandoc/SRCBUILD
index ec499f814..f822bb1a0 100644
--- a/pcr/pandoc/SRCBUILD
+++ b/pcr/pandoc/SRCBUILD
@@ -2,10 +2,7 @@
# Based on haskell-pandoc
pkgname=pandoc
-pkgver=1.11.1
-# 0.4 doesn't work with ghc 7.6
-# Use blaze_html_0_5 flag in the future
-_blaze_html=0.6.1.1
+pkgver=1.12
pkgrel=1
pkgdesc='Conversion between markup formats (no Haskell libs)'
url='http://johnmacfarlane.net/pandoc/'
@@ -24,12 +21,12 @@ build() {
cabal --verbose=3 update
HOME=${srcdir}/${pkgname}-${pkgver} \
- cabal --verbose=3 fetch file-embed blaze-html-${_blaze_html} ${pkgname}-${pkgver}
+ cabal --verbose=3 fetch file-embed ${pkgname}-${pkgver}
msg2 "Getting the dependency build order"
# Ignore the cabal messages
HOME=${srcdir}/${pkgname}-${pkgver} \
- cabal install --dry-run file-embed blaze-html-${_blaze_html} ${pkgname}-${pkgver} | grep "\-[0-9]\+" >>BUILDORDER
+ cabal install --dry-run file-embed ${pkgname}-${pkgver} | grep "\-[0-9]\+" >>BUILDORDER
}
package() {
diff --git a/pcr/polarssl/PKGBUILD b/pcr/polarssl/PKGBUILD
new file mode 100644
index 000000000..9d547d1d1
--- /dev/null
+++ b/pcr/polarssl/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Mihai Militaru <mihai militaru at xmpp dot ro>
+
+pkgname=polarssl
+pkgver=1.2.8
+pkgrel=1
+pkgdesc="Portable cryptographic and SSL/TLS library"
+arch=('i686' 'x86_64')
+url="http://www.polarssl.org/"
+license=('GPL2')
+source=(http://www.polarssl.org/code/releases/polarssl-"$pkgver"-gpl.tgz)
+sha1sums=('a3e69d4e9302529c5006dcb7d8ecab9c99488036')
+depends=('glibc')
+
+build() {
+ cd "$pkgname"-"$pkgver"
+
+ sed -i 's^CFLAGS +=^CFLAGS += -fPIC^g' library/Makefile
+ sed -i 's#all: static#all: static shared#g' library/Makefile
+
+ make
+}
+
+package() {
+ cd "$pkgname"-"$pkgver"
+
+ make DESTDIR="$pkgdir/usr" install
+ echo "WARNING: in order to run the tests, execute in this directory, after you install the library: cd src/polarssl-$pkgver && make check"
+}
diff --git a/pcr/pycryptopp/PKGBUILD b/pcr/pycryptopp/PKGBUILD
new file mode 100644
index 000000000..f95654884
--- /dev/null
+++ b/pcr/pycryptopp/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Peter Simons <simons@cryp.to>
+pkgname=pycryptopp
+pkgver=0.6.0
+_pkgtag=1206569328141510525648634803928199668821045408958
+pkgrel=2
+pkgdesc="Python wrappers for the Crypto++ library"
+arch=('i686' 'x86_64')
+url='http://allmydata.org/trac/pycryptopp'
+license=('GPL2' 'custom')
+depends=('python2' 'crypto++')
+makedepends=('darcsver' 'setuptools_darcs')
+source=( http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.$_pkgtag.tar.gz
+ http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.$_pkgtag.tar.gz.asc )
+md5sums=('ce38fbe03705d27da408c78b56eb1947'
+ '76fe2da5b1fc964d9e1ee4596c36d5bf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver.$_pkgtag"
+ export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1
+ python2 setup.py build
+ python2 setup.py test
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver.$_pkgtag"
+ python2 setup.py install --root="$pkgdir"
+
+ install -d $pkgdir/usr/share/licenses/$pkgname/
+ install -m 644 COPYING* $pkgdir/usr/share/licenses/$pkgname/
+}
diff --git a/pcr/python-jedi/PKGBUILD b/pcr/python-jedi/PKGBUILD
new file mode 100644
index 000000000..d34823097
--- /dev/null
+++ b/pcr/python-jedi/PKGBUILD
@@ -0,0 +1,23 @@
+# Contributor: Jesus Alvarez
+# Contributor: Danilo Bargen <gezuru@gmail.com>
+# Maintainer : Parabola Aurélien DESBRIÈRES <aurelien@replicant.io>
+pkgname=python-jedi
+pkgver=0.7.0
+pkgrel=1
+pkgdesc="Awesome autocompletion for python. Official PKGBUILD."
+arch=('any')
+url="https://github.com/davidhalter/jedi"
+license=('LGPL3')
+depends=('python')
+makedepends=('python-distribute')
+conflicts=('jedi-git' 'python3-jedi-git')
+options=(!emptydirs)
+source=("https://pypi.python.org/packages/source/j/jedi/jedi-${pkgver}.tar.gz")
+
+
+package() {
+ cd "$srcdir/jedi-$pkgver"
+ python setup.py install --root="$pkgdir/" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/python2-mock/PKGBUILD b/pcr/python2-mock/PKGBUILD
new file mode 100644
index 000000000..5647c15d2
--- /dev/null
+++ b/pcr/python2-mock/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: Felix Kaiser <felix.kaiser@fxkr.net>
+
+pkgname=python2-mock
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="A Python Mocking and Patching Library for Testing"
+url='http://www.voidspace.org.uk/python/mock/'
+license=('BSD')
+depends=('python2')
+arch=('i686' 'x86_64')
+source=("http://pypi.python.org/packages/source/m/mock/mock-$pkgver.tar.gz")
+md5sums=('c3971991738caa55ec7c356bbc154ee2')
+
+build() {
+ cd "$srcdir/mock-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd "$srcdir/mock-$pkgver"
+ python2 setup.py install --optimize=1 --root="$pkgdir"
+ install -Dm644 LICENSE* $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/pcr/pyutil/PKGBUILD b/pcr/pyutil/PKGBUILD
new file mode 100644
index 000000000..7c3ca9f60
--- /dev/null
+++ b/pcr/pyutil/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Peter Simons <simons@cryp.to>
+pkgname=pyutil
+pkgver=1.9.4
+pkgrel=2
+pkgdesc="general-purpose python library (used by tahoe-lafs)"
+arch=('any')
+url='http://pypi.python.org/pypi/pyutil'
+license=('GPL2' 'custom')
+depends=('python2')
+makedepends=('setuptools' 'darcsver' 'setuptools_darcs' 'python2-simplejson') # 'zbase32') # missing: setuptools_trial
+source=( http://pypi.python.org/packages/source/p/pyutil/pyutil-$pkgver.tar.gz )
+md5sums=('af51cf296b574112e115c9dfba51464d')
+
+build(){
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+ python2 setup.py trial
+}
+
+package(){
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+
+ install -d $pkgdir/usr/share/licenses/$pkgname/
+ install -m644 COPYING* $pkgdir/usr/share/licenses/$pkgname/
+
+}
diff --git a/pcr/pyzenity/PKGBUILD b/pcr/pyzenity/PKGBUILD
new file mode 100644
index 000000000..364cb56a1
--- /dev/null
+++ b/pcr/pyzenity/PKGBUILD
@@ -0,0 +1,20 @@
+# Contributor: lang2 <wenzhi.liang@gmail.com>
+# Contributor: sylvain alborini <sylvain dot alborini at gmail dot com>
+# Maintainer : Parabola Aurélien DESBRIÈRES <aurelien@replicant.io>
+
+pkgname=pyzenity
+_pkg_name=PyZenity
+pkgver=0.1.7
+pkgrel=1
+pkgdesc="python bindings for zenity"
+url="http://www.brianramos.com/?page_id=38"
+depends=('python2' 'zenity')
+ arch=('any')
+license=('GPL')
+source=(http://brianramos.com/software/${_pkg_name}/${_pkg_name}-${pkgver}.tar.gz)
+
+build()
+{
+ cd "$srcdir/$_pkg_name-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+}
diff --git a/pcr/qtkeychain/PKGBUILD b/pcr/qtkeychain/PKGBUILD
new file mode 100644
index 000000000..152971751
--- /dev/null
+++ b/pcr/qtkeychain/PKGBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Kuba Serafinowski <zizzfizzix(at)gmail(dot)com>
+# Maintainer: Jorge Araya Navarro <shackra@riseup.net>
+# Contributor: Teo Mrnjavac <teo@kde.org>
+# https://github.com/zizzfizzix/pkgbuilds
+
+_buildtype="Release"
+
+pkgname=qtkeychain
+pkgver=0.1
+pkgrel=3
+pkgdesc="Provides support for secure credentials storage."
+arch=('i686' 'x86_64')
+url="https://github.com/frankosterfeld/qtkeychain"
+license=('BSD2')
+depends=('qt4')
+makedepends=('cmake')
+source=("${pkgname}-${pkgver}.zip::https://github.com/frankosterfeld/qtkeychain/archive/${pkgver}.zip" 'prefer-qt4.patch')
+md5sums=('a1d11a611b27759a531896b57be15947'
+ 'a2c46e61af02100a6f67487ffeb8a3d0')
+
+if [[ ! ${_buildtype} == "Release" ]] && [[ ! ${_buildtype} == "release" ]]; then
+ options=(!strip)
+fi
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i ${srcdir}/prefer-qt4.patch
+
+ if [[ -e ${srcdir}/${pkgname}-${pkgver}-build ]]; then rm -rf ${srcdir}/${pkgname}-${pkgver}-build; fi
+ mkdir ${srcdir}/${pkgname}-${pkgver}-build
+}
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}-build
+ cmake -DBUILD_WITH_QT4=on \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_LIBEXECDIR=lib/${pkgname} \
+ -DCMAKE_BUILD_TYPE=${_buildtype} \
+ ../${pkgname}-${pkgver}
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}-build
+ make DESTDIR=${pkgdir} install
+ install -D -m644 ${srcdir}/${pkgname}-${pkgver}/COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/pcr/qtkeychain/prefer-qt4.patch b/pcr/qtkeychain/prefer-qt4.patch
new file mode 100644
index 000000000..0e264aad1
--- /dev/null
+++ b/pcr/qtkeychain/prefer-qt4.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aba9032..4de64c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,8 +11,10 @@ set(QTKEYCHAIN_SOVERSION 0)
+ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${PROJECT_SOURCE_DIR}/cmake/Modules")
+ include(GNUInstallDirs)
+
+-# try Qt5 first, and prefer that if found
+-find_package(Qt5Core QUIET)
++# try Qt5 first, and prefer that if found, unless BUILD_WITH_QT4 is set
++if (NOT BUILD_WITH_QT4)
++ find_package(Qt5Core QUIET)
++endif()
+ if (Qt5Core_FOUND)
+ if(UNIX AND NOT APPLE)
+ find_package(Qt5DBus REQUIRED)
diff --git a/pcr/qtkeychain/qtkeychain-0.1.zip b/pcr/qtkeychain/qtkeychain-0.1.zip
new file mode 100644
index 000000000..400552c62
--- /dev/null
+++ b/pcr/qtkeychain/qtkeychain-0.1.zip
Binary files differ
diff --git a/pcr/rfc5766-turn-server/PKGBUILD b/pcr/rfc5766-turn-server/PKGBUILD
index e85f98bb8..c070ad309 100644
--- a/pcr/rfc5766-turn-server/PKGBUILD
+++ b/pcr/rfc5766-turn-server/PKGBUILD
@@ -2,15 +2,13 @@
pkgname=rfc5766-turn-server
_portname=turnserver
-pkgver=1.8.6.0
-pkgrel=2
-epoch=
-pkgdesc="Free open source implementation of TURN and STUN Server"
+pkgver=2.6.2.1
+pkgrel=1
+pkgdesc="STUN and TURN Relay Server for VoIP and WebRTC"
arch=('i686' 'x86_64' 'mips64el')
url="http://code.google.com/p/rfc5766-turn-server/"
license=('custom:BSDNew')
-makedepends=('gcc>=3.4.4' 'make' 'hiredis' 'postgresql-libs' 'libmariadbclient')
-depends=('libevent')
+depends=('libevent' 'postgresql-libs' 'libmysqlclient' 'hiredis')
optdepends=('postgresql-client: to use postgresql'
'mariadb: mariadb backend'
'redis: redis backend')
@@ -22,14 +20,9 @@ source=(https://${pkgname}.googlecode.com/files/${_portname}-$pkgver.tar.gz
build() {
cd "${srcdir}/$_portname-${pkgver}"
- PREFIX=/usr \
- MANPREFIX=/usr/share \
- EXAMPLESDIR="/usr/share/$pkgname/examples" \
- DOCSDIR="/usr/share/doc/$pkgname" \
- LIBDIR=/usr/lib \
- SCHEMADIR="/usr/share/$pkgname" \
- TURNINCLUDEDIR="/usr/include/turn"
- ./configure
+ ./configure --prefix=/usr \
+ --manprefix=/usr/share \
+ --examplesdir="/usr/share/$_portname/examples"
make
}
@@ -41,20 +34,12 @@ check() {
package() {
cd "${srcdir}/$_portname-${pkgver}"
- make \
- PREFIX="$pkgdir/usr" \
- MANPREFIX="$pkgdir/usr/share" \
- EXAMPLESDIR="$pkgdir/usr/share/$pkgname/examples" \
- DOCSDIR="$pkgdir/usr/share/doc/$pkgname" \
- LIBDIR="$pkgdir/usr/lib" \
- SCHEMADIR="$pkgdir/usr/share/$pkgname" \
- TURNINCLUDEDIR="$pkgdir/usr/include/turn" \
- install
+ make DESTDIR="$pkgdir" install
- install -D "$pkgdir/usr/share/$pkgname/examples/etc/turnserver.conf" \
+ install -D "$pkgdir/usr/share/$_portname/examples/etc/turnserver.conf" \
"$pkgdir/etc/turnserver.conf"
- install -D "$pkgdir/usr/share/$pkgname/examples/etc/turnuserdb.conf" \
+ install -D "$pkgdir/usr/share/$_portname/examples/etc/turnuserdb.conf" \
"$pkgdir/etc/turnuserdb.conf"
install -D "$srcdir/stun.service" \
"$pkgdir/usr/lib/systemd/system/stun.service"
@@ -65,7 +50,15 @@ package() {
chmod 644 "$pkgdir/usr/lib/libturnclient.a"
install -Dm 644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+ install -dm 755 "$pkgdir/var/log/$_portname"
+
+ sed \
+ -e '/^#log-file=\/var\/tmp\/turn.log$/c log-file=\/var\/log\/turnserver\/turn.log' \
+ -i "${pkgdir}"/etc/turnserver.conf
}
-md5sums=('def4cc2ea6239795edab12b5eee5f8ed'
- '1da26c3a1fe29a8961e6b9d73f9048d3'
- '83670d79026c67c7701481ee9d39f100')
+sha1sums=('d7f01e6fadbe56fe4535d67a7d178a9cfba110b8'
+ '0c5b348e793bd52ce0ee38d420b26c9b2a2e2ca5'
+ 'b12805c049787cd1433181afaba4111f89740e63')
+sha256sums=('4d131f353aadb15901d175755075af65abf2a0e820d7281c9c164285642ff9c1'
+ '319030c1916d353bfc3375626cc7f60d6eeca762fe4fce354f010212902c49dc'
+ '63198e4f802c7b4b44e671e0fcaebca36589ebb11405e51ab9f36c80327ac4d9')
diff --git a/pcr/ruby-bundler/PKGBUILD b/pcr/ruby-bundler/PKGBUILD
index a1fb32449..44a1a883b 100644
--- a/pcr/ruby-bundler/PKGBUILD
+++ b/pcr/ruby-bundler/PKGBUILD
@@ -1,22 +1,24 @@
-# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
# Contributor: Alexsandr Pavlov <kidoz at mail dot ru>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-pkgname=ruby-bundler
-_gemname=${pkgname#ruby-}
-pkgver=1.1.5
+_pkgname=bundler
+pkgname=ruby-$_pkgname
+pkgver=1.3.5
pkgrel=1
pkgdesc="Is manages an application's dependencies through its entire life, across many machines, systematically and repeatably."
-arch=('any')
-url="http://gembundler.com"
-license=('MIT')
-depends=('ruby' 'rubygems')
-source=(http://rubygems.org/downloads/${_gemname}-${pkgver}.gem)
-noextract=(${_gemname}-${pkgver}.gem)
-md5sums=('ecced17bc29a761db4ea5ca57b0d8795')
+arch=any
+url=http://gem$_pkgname.com
+license=MIT
+depends=ruby
+source=http://rubygems.org/downloads/$_pkgname-$pkgver.gem
+noextract=$_pkgname-$pkgver.gem
+sha256sums=08b89047f7b829f3e197a28fb1bde74c3f5cfea1552f99dfba237fee30eaffe4
+
+package() {
+ cd $srcdir
-build() {
- cd "${srcdir}"
- export HOME=/tmp
- 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
+ local _gemdir=$(ruby -rubygems -e'puts Gem.default_dir')
+ HOME=/tmp gem install --no-user-install --ignore-dependencies\
+ -i $pkgdir$_gemdir -n $pkgdir/usr/bin\
+ $_pkgname-$pkgver.gem
}
diff --git a/pcr/ruby1-bundler/PKGBUILD b/pcr/ruby1-bundler/PKGBUILD
new file mode 100644
index 000000000..d06f7af08
--- /dev/null
+++ b/pcr/ruby1-bundler/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Alexsandr Pavlov <kidoz at mail dot ru>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=bundler
+pkgname=ruby1-$_pkgname
+pkgver=1.3.5
+pkgrel=1
+pkgdesc="Is manages an application's dependencies through its entire life, across many machines, systematically and repeatably."
+arch=any
+url=http://gem$_pkgname.com
+license=MIT
+depends=ruby1
+source=http://rubygems.org/downloads/$_pkgname-$pkgver.gem
+noextract=$_pkgname-$pkgver.gem
+sha256sums=08b89047f7b829f3e197a28fb1bde74c3f5cfea1552f99dfba237fee30eaffe4
+
+package() {
+ cd $srcdir
+
+ local _gemdir=$(ruby1 -rubygems -e'puts Gem.default_dir')
+ HOME=/tmp gem1 install --no-user-install --ignore-dependencies\
+ -i $pkgdir$_gemdir -n $pkgdir/usr/bin\
+ $_pkgname-$pkgver.gem
+
+ msg "renaming $_pkgname to ${_pkgname}1"
+ mv -v $pkgdir/usr/bin/${_pkgname%r}{,1}
+}
diff --git a/pcr/ruby1/PKGBUILD b/pcr/ruby1/PKGBUILD
index c20b8720a..4a441bc1c 100644
--- a/pcr/ruby1/PKGBUILD
+++ b/pcr/ruby1/PKGBUILD
@@ -6,7 +6,7 @@
_pkgname=ruby
pkgname=("${_pkgname}1" "${_pkgname}1-docs")
pkgver=1.9.3_p448
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url='http://www.ruby-lang.org/en/'
license=('BSD' 'custom')
@@ -52,7 +52,7 @@ package_ruby1() {
pkgdesc='An object-oriented language for quick and easy programming (1.9 ver.)'
depends=('gdbm' 'openssl' 'libffi' 'libyaml')
optdepends=('tk: for Ruby/TK'
- 'ruby-docs: Ruby documentation')
+ 'ruby1-docs: Ruby documentation')
backup=('etc/gem1rc')
install='ruby.install'
diff --git a/pcr/ruby1/ruby.install b/pcr/ruby1/ruby.install
index ce78e96ec..21e9b98a2 100644
--- a/pcr/ruby1/ruby.install
+++ b/pcr/ruby1/ruby.install
@@ -3,9 +3,9 @@
print_gem_default_target() {
echo 'The default location of gem installs is $HOME/.gem/ruby'
echo 'Add the following line to your PATH if you plan to install using gem'
- echo '$(ruby -rubygems -e "puts Gem.user_dir")/bin'
+ echo '$(ruby1 -rubygems -e "puts Gem.user_dir")/bin'
echo 'If you want to install to the system wide location, you must either:'
- echo 'edit /etc/gemrc or run gem with the --no-user-install flag.'
+ echo 'edit /etc/gem1rc or run gem with the --no-user-install flag.'
}
# arg 1: the new package version
diff --git a/pcr/setuptools_darcs/PKGBUILD b/pcr/setuptools_darcs/PKGBUILD
new file mode 100644
index 000000000..285214db8
--- /dev/null
+++ b/pcr/setuptools_darcs/PKGBUILD
@@ -0,0 +1,29 @@
+# Contributor: Peter Simons <simons@cryp.to>
+# Contributor: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+pkgname=setuptools_darcs
+pkgver=1.2.11
+pkgrel=3.1
+pkgdesc="Python setuptools plugin for darcs"
+arch=('any')
+url='http://pypi.python.org/pypi/setuptools_darcs'
+license=('BSD')
+depends=('python2' 'setuptools')
+makedepends=('darcsver')
+source=( http://pypi.python.org/packages/source/s/$pkgname/$pkgname-$pkgver.tar.gz )
+md5sums=('79451a8e77b9692861a655e53df094f0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py test
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+ install -Dm644 PKG-INFO $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/pcr/sic/PKGBUILD b/pcr/sic/PKGBUILD
new file mode 100644
index 000000000..b006f95b5
--- /dev/null
+++ b/pcr/sic/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Dag Odenhall <dag.odenhall@gmail.com>
+# Contributor: Giorgio Lando <patroclo7@gmail.com>
+
+pkgname=sic
+pkgver=1.2
+pkgrel=1
+pkgdesc='An extremely simple IRC client.'
+license=('MIT')
+arch=('i686' 'x86_64')
+url='http://tools.suckless.org/sic'
+depends=('glibc')
+source=("http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz")
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i "s/CFLAGS = /CFLAGS = ${CFLAGS} /" config.mk
+}
+build() {
+ cd $pkgname-$pkgver
+
+ make PREFIX=/usr MANPREFIX=/usr/share/man
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make PREFIX=/usr MANPREFIX=/usr/share/man DESTDIR="$pkgdir" install
+
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+sha1sums=('a91a603d536ae9cff9a806d6b2737053d262e722')
+sha256sums=('ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185')
diff --git a/pcr/sqlcipher/PKGBUILD b/pcr/sqlcipher/PKGBUILD
new file mode 100644
index 000000000..45a3efbe9
--- /dev/null
+++ b/pcr/sqlcipher/PKGBUILD
@@ -0,0 +1,31 @@
+pkgname=sqlcipher
+pkgver=2.2.1
+pkgrel=1
+pkgdesc="SQLite extension that provides transparent 256-bit AES encryption of database files"
+arch=('i686' 'x86_64')
+url="http://sqlcipher.net/"
+license=('BSD')
+makedepends=('tcl' 'openssl' 'sqlite3' 'git')
+source=($pkgname-$pkgver::git+https://github.com/sqlcipher/sqlcipher#tag=v${pkgver})
+sha1sums=('SKIP')
+sha256sums=('SKIP')
+
+pkgver() {
+ echo $pkgver
+}
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --disable-tcl \
+ --enable-tempstore=yes \
+ CFLAGS="$CFLAGS -DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto"
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir/" install
+ install -D -m 0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/pcr/tahoe-lafs/PKGBUILD b/pcr/tahoe-lafs/PKGBUILD
new file mode 100644
index 000000000..8ace70679
--- /dev/null
+++ b/pcr/tahoe-lafs/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Peter Simons <simons@cryp.to>
+# Contributor: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+pkgname=tahoe-lafs
+pkgver=1.10.0
+pkgrel=1
+pkgdesc="a secure, decentralized, fault-tolerant filesystem"
+arch=('any')
+url='http://tahoe-lafs.org/'
+license=('GPL')
+# net-tools is needed because Tahoe-LAFS uses /sbin/ifconfig
+depends=('net-tools' 'python2' 'python2-zope-interface>=3.6.5'
+ 'twisted' 'python2-pyasn1' 'python2-crypto' 'pycryptopp' 'nevow'
+ 'python2-foolscap' 'python2-simplejson' 'zfec' 'python2-pyopenssl'
+ 'pyutil' 'python2-argparse' 'zbase32' 'python2-mock>=0.8.0')
+source=(nodaemon.patch https://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-$pkgver.tar.bz2)
+sha256sums=('7fb13a50bdca729b9c78f12369e56fccf55594b646bddb270d55c08c83ce3449'
+ '9c5516700fe95fdf8c57eca1e2a7b4aebf2de9a4d327d50afd684ebf833ccfe2')
+
+build(){
+ cd "$srcdir/allmydata-tahoe-$pkgver"
+ patch -p0 < ../nodaemon.patch
+ python2 setup.py build
+ # disabled due to the nodaemon patch and the test_filesystem* tests
+ #python2 setup.py test || return 1
+}
+
+package(){
+ cd "$srcdir/allmydata-tahoe-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+}
diff --git a/pcr/tahoe-lafs/nodaemon.patch b/pcr/tahoe-lafs/nodaemon.patch
new file mode 100644
index 000000000..dfcc0b8ae
--- /dev/null
+++ b/pcr/tahoe-lafs/nodaemon.patch
@@ -0,0 +1,19 @@
+--- src/allmydata/scripts/startstop_node.py 2011-10-30 22:54:34.000000000 +0100
++++ src/allmydata/scripts/startstop_node.py 2011-11-10 15:22:21.432711365 +0100
+@@ -10,6 +10,7 @@
+ optFlags = [
+ ["profile", "p", "Run under the Python profiler, putting results in 'profiling_results.prof'."],
+ ["syslog", None, "Tell the node to log to syslog, not a file."],
++ ["nodaemon", "n", "Do not daemonize."],
+ ]
+
+ def getSynopsis(self):
+@@ -70,6 +71,8 @@
+ args.extend(["--logfile", os.path.join("logs", "twistd.log")])
+ if opts["profile"]:
+ args.extend(["--profile=profiling_results.prof", "--savestats",])
++ if opts["nodaemon"]:
++ args.extend(["--nodaemon", "--umask=0077"])
+ # now we're committed
+ os.chdir(basedir)
+ from twisted.scripts import twistd
diff --git a/pcr/timer_entropyd/PKGBUILD b/pcr/timer_entropyd/PKGBUILD
new file mode 100644
index 000000000..4d5f4437e
--- /dev/null
+++ b/pcr/timer_entropyd/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: fauno <fauno@parabola.nu>
+pkgname=timer_entropyd
+pkgver=0.2
+pkgrel=1
+pkgdesc="Feeds the /dev/random device with entropy-data (random values) read from timers."
+arch=('i686')
+url="http://www.vanheusden.com/te/"
+license=('GPL2')
+groups=('entropy')
+source=(http://www.vanheusden.com/te/${pkgname}-${pkgver}.tgz
+ ${pkgname}.service)
+sha1sums=('61b82128bf4df483271a475a0cc772a7fd80a804'
+ '96ff193aef61088759cf9d9c9d0e881fd1174824')
+sha256sums=('0cf2b976b78c1b1169a4bec5a6fc71d8b118de927bc05002686376a61f73989a'
+ 'a22d33d99ab7c511902a37225e83476466840bd4c0ee3ffece1e4094511414de')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D -m 755 ${pkgname} ${pkgdir}/usr/bin/${pkgname}
+ install -D -m 644 ${srcdir}/${pkgname}.service \
+ ${pkgdir}/usr/lib/systemd/system/${pkgname}.service
+}
diff --git a/pcr/timer_entropyd/timer_entropyd.service b/pcr/timer_entropyd/timer_entropyd.service
new file mode 100644
index 000000000..0bea7398b
--- /dev/null
+++ b/pcr/timer_entropyd/timer_entropyd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Gathering entropy from system timers
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/timer_entropyd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/ttf-font-awesome/PKGBUILD b/pcr/ttf-font-awesome/PKGBUILD
new file mode 100644
index 000000000..abb63b8a6
--- /dev/null
+++ b/pcr/ttf-font-awesome/PKGBUILD
@@ -0,0 +1,19 @@
+#Contributer: UNKNOWN o_O
+#Maintainer : Parabola Aurélien DESBRIÈRES <aurelien@replicant.io>
+
+pkgname=ttf-font-awesome
+pkgver=3.2.1
+pkgrel=2
+pkgdesc="Iconic font designed for Bootstrap"
+url="http://fortawesome.github.io/Font-Awesome/"
+license=('CCPL')
+depends=('fontconfig' 'xorg-font-utils')
+options=("!strip")
+install=$pkgname.install
+arch=('any')
+source=('http://fortawesome.github.io/Font-Awesome/assets/font-awesome.zip')
+
+package() {
+ install -d "$pkgdir/usr/share/fonts/TTF"
+ cp -dpr --no-preserve=ownership "$srcdir/font-awesome/font/"*.ttf "$pkgdir/usr/share/fonts/TTF/"
+}
diff --git a/pcr/ttf-font-awesome/ttf-font-awesome.install b/pcr/ttf-font-awesome/ttf-font-awesome.install
new file mode 100644
index 000000000..56632d242
--- /dev/null
+++ b/pcr/ttf-font-awesome/ttf-font-awesome.install
@@ -0,0 +1,20 @@
+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
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/pcr/video_entropyd/PKGBUILD b/pcr/video_entropyd/PKGBUILD
new file mode 100644
index 000000000..e096aabdd
--- /dev/null
+++ b/pcr/video_entropyd/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: fauno <fauno@parabola.nu>
+pkgname=video_entropyd
+pkgver=2.0
+pkgrel=1
+pkgdesc="Feeds the /dev/random device with entropy-data read from a video device"
+arch=('i686')
+url="http://vanheusden.com/ved/"
+license=('GPL2')
+groups=('entropy')
+source=(http://www.vanheusden.com/ved/${pkgname}-${pkgver}.tgz
+ ${pkgname}.service)
+sha1sums=('9d566bce8d0f0fa4e8be24b481ffdba0d0c70406'
+ '30cfb694ee886e36ab97329d575a8b9437a30bb2')
+sha256sums=('aba6255ddb32cd376c785128a7e850fb51b6c1d7fe3f4ba765abc0c50ec67d7a'
+ 'b6988df79823a29ab04bfa0fe6d8f2e14f3176398eb220fa1248c6728e8be27f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D -m 755 ${pkgname} ${pkgdir}/usr/bin/${pkgname}
+ install -D -m 644 ${srcdir}/${pkgname}.service \
+ ${pkgdir}/usr/lib/systemd/system/${pkgname}.service
+}
diff --git a/pcr/video_entropyd/video_entropyd.service b/pcr/video_entropyd/video_entropyd.service
new file mode 100644
index 000000000..1dfef410a
--- /dev/null
+++ b/pcr/video_entropyd/video_entropyd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Gathering entropy from video
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/video_entropyd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/xfwm4-titleless/PKGBUILD b/pcr/xfwm4-titleless/PKGBUILD
new file mode 100644
index 000000000..dd80d287d
--- /dev/null
+++ b/pcr/xfwm4-titleless/PKGBUILD
@@ -0,0 +1,46 @@
+# Contributor: Christian Hesse <mail@eworm.de>
+# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: tobias <tobias funnychar archlinux.org>
+# Maintainer : Parabola Aurélien DESBRIÈRES <aurelien@replicant.io>
+
+pkgname=xfwm4-titleless
+pkgver=4.10.1
+pkgrel=1
+pkgdesc="Xfce window manager - patched with option to hide titlebar when maximized"
+arch=('i686' 'x86_64')
+url="https://bitbucket.org/thesame/xfwm4-titleless"
+license=('GPL2')
+depends=('libxfce4ui' 'libwnck' 'hicolor-icon-theme')
+makedepends=('intltool')
+options=('!libtool')
+conflicts=('xfwm4')
+provides=('xfwm4')
+install=${pkgname%%-*}.install
+source=("http://archive.xfce.org/src/xfce/${pkgname%%-*}/4.10/${pkgname%%-*}-${pkgver}.tar.bz2"
+ "xfwm4-hide-titlebar-when-maximized.patch")
+
+build() {
+ cd "${srcdir}/${pkgname%%-*}-${pkgver}"
+
+ patch -Np1 < ${srcdir}/xfwm4-hide-titlebar-when-maximized.patch
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-startup-notification \
+ --enable-randr \
+ --enable-compositor \
+ --enable-xsync \
+ --disable-debug
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname%%-*}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
+
diff --git a/pcr/xfwm4-titleless/xfwm4-hide-titlebar-when-maximized.patch b/pcr/xfwm4-titleless/xfwm4-hide-titlebar-when-maximized.patch
new file mode 100644
index 000000000..fa43b6b8e
--- /dev/null
+++ b/pcr/xfwm4-titleless/xfwm4-hide-titlebar-when-maximized.patch
@@ -0,0 +1,1456 @@
+From 999c375f5342947525813584fbdc92f3b63dced6 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <eworm@leda.eworm.de>
+Date: Wed, 25 Sep 2013 15:16:57 +0200
+Subject: [PATCH 1/1] xfwm4: hide titlebar when maximized
+
+---
+ defaults/defaults | 1 +
+ settings-dialogs/tweaks-settings.c | 5 +
+ settings-dialogs/xfwm4-tweaks-dialog.glade | 25 +-
+ settings-dialogs/xfwm4-tweaks-dialog_ui.h | 612 +++++++++++++++--------------
+ src/client.c | 6 +
+ src/client.h | 1 +
+ src/display.c | 3 +-
+ src/display.h | 1 +
+ src/events.c | 5 +
+ src/frame.c | 366 ++++++++++-------
+ src/netwm.c | 38 ++
+ src/placement.c | 4 +-
+ src/settings.c | 8 +
+ src/settings.h | 1 +
+ 14 files changed, 616 insertions(+), 460 deletions(-)
+
+diff --git a/defaults/defaults b/defaults/defaults
+index 6db210a..1582fc1 100644
+--- a/defaults/defaults
++++ b/defaults/defaults
+@@ -1,5 +1,6 @@
+ activate_action=bring
+ borderless_maximize=true
++titleless_maximize=false
+ box_move=false
+ box_resize=false
+ button_layout=O|SHMC
+diff --git a/settings-dialogs/tweaks-settings.c b/settings-dialogs/tweaks-settings.c
+index f60b606..2532733 100644
+--- a/settings-dialogs/tweaks-settings.c
++++ b/settings-dialogs/tweaks-settings.c
+@@ -180,6 +180,7 @@ wm_tweaks_dialog_configure_widgets (GtkBuilder *builder)
+ GtkWidget *easy_click_combo_box = GTK_WIDGET (gtk_builder_get_object (builder, "easy_click_combo_box"));
+ GtkWidget *raise_with_any_button_check = GTK_WIDGET (gtk_builder_get_object (builder, "raise_with_any_button_check"));
+ GtkWidget *borderless_maximize_check = GTK_WIDGET (gtk_builder_get_object (builder, "borderless_maximize_check"));
++ GtkWidget *titleless_maximize_check = GTK_WIDGET (gtk_builder_get_object (builder, "titleless_maximize_check"));
+ GtkWidget *restore_on_move_check = GTK_WIDGET (gtk_builder_get_object (builder, "restore_on_move_check"));
+ GtkWidget *tile_on_move_check = GTK_WIDGET (gtk_builder_get_object (builder, "tile_on_move_check"));
+ GtkWidget *snap_resist_check = GTK_WIDGET (gtk_builder_get_object (builder, "snap_resist_check"));
+@@ -336,6 +337,10 @@ wm_tweaks_dialog_configure_widgets (GtkBuilder *builder)
+ G_TYPE_BOOLEAN,
+ (GObject *)borderless_maximize_check, "active");
+ xfconf_g_property_bind (xfwm4_channel,
++ "/general/titleless_maximize",
++ G_TYPE_BOOLEAN,
++ (GObject *)titleless_maximize_check, "active");
++ xfconf_g_property_bind (xfwm4_channel,
+ "/general/restore_on_move",
+ G_TYPE_BOOLEAN,
+ (GObject *)restore_on_move_check, "active");
+diff --git a/settings-dialogs/xfwm4-tweaks-dialog.glade b/settings-dialogs/xfwm4-tweaks-dialog.glade
+index bd2a86f..7d604c6 100644
+--- a/settings-dialogs/xfwm4-tweaks-dialog.glade
++++ b/settings-dialogs/xfwm4-tweaks-dialog.glade
+@@ -343,6 +343,21 @@ or "skip taskbar" properties set</property>
+ </packing>
+ </child>
+ <child>
++ <object class="GtkCheckButton" id="titleless_maximize_check">
++ <property name="label" translatable="yes">Hide _title of windows when maximized</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="use_underline">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">3</property>
++ </packing>
++ </child>
++ <child>
+ <object class="GtkCheckButton" id="restore_on_move_check">
+ <property name="label" translatable="yes">Restore original _size of maximized windows when moving</property>
+ <property name="visible">True</property>
+@@ -354,7 +369,7 @@ or "skip taskbar" properties set</property>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">3</property>
++ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+@@ -369,7 +384,7 @@ or "skip taskbar" properties set</property>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">4</property>
++ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+@@ -384,7 +399,7 @@ or "skip taskbar" properties set</property>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">5</property>
++ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+@@ -399,7 +414,7 @@ or "skip taskbar" properties set</property>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">5</property>
++ <property name="position">7</property>
+ </packing>
+ </child>
+ <child>
+@@ -414,7 +429,7 @@ or "skip taskbar" properties set</property>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">6</property>
++ <property name="position">8</property>
+ </packing>
+ </child>
+ </object>
+diff --git a/settings-dialogs/xfwm4-tweaks-dialog_ui.h b/settings-dialogs/xfwm4-tweaks-dialog_ui.h
+index a6121dd..8ddbf30 100644
+--- a/settings-dialogs/xfwm4-tweaks-dialog_ui.h
++++ b/settings-dialogs/xfwm4-tweaks-dialog_ui.h
+@@ -177,332 +177,340 @@ static const char tweaks_dialog_ui[] =
+ "y><property name=\"draw_indicator\">True</property></object><packing><p"
+ "roperty name=\"expand\">False</property><property name=\"fill\">False</"
+ "property><property name=\"position\">2</property></packing></child><chi"
+- "ld><object class=\"GtkCheckButton\" id=\"restore_on_move_check\"><prope"
+- "rty name=\"label\" translatable=\"yes\">Restore original _size of maxim"
+- "ized windows when moving</property><property name=\"visible\">True</pro"
+- "perty><property name=\"can_focus\">True</property><property name=\"rece"
+- "ives_default\">False</property><property name=\"use_underline\">True</p"
+- "roperty><property name=\"draw_indicator\">True</property></object><pack"
+- "ing><property name=\"expand\">False</property><property name=\"fill\">F"
+- "alse</property><property name=\"position\">3</property></packing></chil"
+- "d><child><object class=\"GtkCheckButton\" id=\"tile_on_move_check\"><pr"
+- "operty name=\"label\" translatable=\"yes\">Automatically _tile windows "
+- "when moving toward the screen edge</property><property name=\"visible\""
+- ">True</property><property name=\"can_focus\">True</property><property n"
+- "ame=\"receives_default\">False</property><property name=\"use_underline"
+- "\">True</property><property name=\"draw_indicator\">True</property></ob"
+- "ject><packing><property name=\"expand\">False</property><property name="
+- "\"fill\">False</property><property name=\"position\">4</property></pack"
+- "ing></child><child><object class=\"GtkCheckButton\" id=\"snap_resist_ch"
+- "eck\"><property name=\"label\" translatable=\"yes\">Use _edge resistanc"
+- "e instead of window snapping</property><property name=\"visible\">True<"
+- "/property><property name=\"can_focus\">True</property><property name=\""
+- "receives_default\">False</property><property name=\"use_underline\">Tru"
+- "e</property><property name=\"draw_indicator\">True</property></object><"
+- "packing><property name=\"expand\">False</property><property name=\"fill"
+- "\">False</property><property name=\"position\">5</property></packing></"
+- "child><child><object class=\"GtkCheckButton\" id=\"urgent_blink\"><prop"
+- "erty name=\"label\" translatable=\"yes\">Notify of _urgency by making w"
+- "indow\'s decoration blink</property><property name=\"visible\">True</pr"
++ "ld><object class=\"GtkCheckButton\" id=\"titleless_maximize_check\"><pr"
++ "operty name=\"label\" translatable=\"yes\">Hide _title of windows when "
++ "maximized</property><property name=\"visible\">True</property><property"
++ " name=\"can_focus\">True</property><property name=\"receives_default\">"
++ "False</property><property name=\"use_underline\">True</property><proper"
++ "ty name=\"draw_indicator\">True</property></object><packing><property n"
++ "ame=\"expand\">False</property><property name=\"fill\">False</property>"
++ "<property name=\"position\">3</property></packing></child><child><objec"
++ "t class=\"GtkCheckButton\" id=\"restore_on_move_check\"><property name="
++ "\"label\" translatable=\"yes\">Restore original _size of maximized wind"
++ "ows when moving</property><property name=\"visible\">True</property><pr"
++ "operty name=\"can_focus\">True</property><property name=\"receives_defa"
++ "ult\">False</property><property name=\"use_underline\">True</property><"
++ "property name=\"draw_indicator\">True</property></object><packing><prop"
++ "erty name=\"expand\">False</property><property name=\"fill\">False</pro"
++ "perty><property name=\"position\">4</property></packing></child><child>"
++ "<object class=\"GtkCheckButton\" id=\"tile_on_move_check\"><property na"
++ "me=\"label\" translatable=\"yes\">Automatically _tile windows when movi"
++ "ng toward the screen edge</property><property name=\"visible\">True</pr"
+ "operty><property name=\"can_focus\">True</property><property name=\"rec"
+ "eives_default\">False</property><property name=\"use_underline\">True</"
+ "property><property name=\"draw_indicator\">True</property></object><pac"
+ "king><property name=\"expand\">False</property><property name=\"fill\">"
+ "False</property><property name=\"position\">5</property></packing></chi"
+- "ld><child><object class=\"GtkCheckButton\" id=\"repeat_urgent_blink\"><"
+- "property name=\"label\" translatable=\"yes\">Keep urgent windows _blink"
+- "ing repeatedly</property><property name=\"visible\">True</property><pro"
++ "ld><child><object class=\"GtkCheckButton\" id=\"snap_resist_check\"><pr"
++ "operty name=\"label\" translatable=\"yes\">Use _edge resistance instead"
++ " of window snapping</property><property name=\"visible\">True</property"
++ "><property name=\"can_focus\">True</property><property name=\"receives_"
++ "default\">False</property><property name=\"use_underline\">True</proper"
++ "ty><property name=\"draw_indicator\">True</property></object><packing><"
++ "property name=\"expand\">False</property><property name=\"fill\">False<"
++ "/property><property name=\"position\">6</property></packing></child><ch"
++ "ild><object class=\"GtkCheckButton\" id=\"urgent_blink\"><property name"
++ "=\"label\" translatable=\"yes\">Notify of _urgency by making window\'s "
++ "decoration blink</property><property name=\"visible\">True</property><p"
++ "roperty name=\"can_focus\">True</property><property name=\"receives_def"
++ "ault\">False</property><property name=\"use_underline\">True</property>"
++ "<property name=\"draw_indicator\">True</property></object><packing><pro"
++ "perty name=\"expand\">False</property><property name=\"fill\">False</pr"
++ "operty><property name=\"position\">7</property></packing></child><child"
++ "><object class=\"GtkCheckButton\" id=\"repeat_urgent_blink\"><property "
++ "name=\"label\" translatable=\"yes\">Keep urgent windows _blinking repea"
++ "tedly</property><property name=\"visible\">True</property><property nam"
++ "e=\"can_focus\">True</property><property name=\"receives_default\">Fals"
++ "e</property><property name=\"use_underline\">True</property><property n"
++ "ame=\"draw_indicator\">True</property></object><packing><property name="
++ "\"expand\">False</property><property name=\"fill\">False</property><pro"
++ "perty name=\"position\">8</property></packing></child></object><packing"
++ "><property name=\"position\">2</property></packing></child><child type="
++ "\"tab\"><object class=\"GtkLabel\" id=\"label3\"><property name=\"visib"
++ "le\">True</property><property name=\"label\" translatable=\"yes\">_Acce"
++ "ssibility</property><property name=\"use_underline\">True</property></o"
++ "bject><packing><property name=\"position\">2</property><property name=\""
++ "tab_fill\">False</property></packing></child><child><object class=\"Gtk"
++ "VBox\" id=\"vbox5\"><property name=\"visible\">True</property><property"
++ " name=\"border_width\">12</property><property name=\"orientation\">vert"
++ "ical</property><property name=\"spacing\">6</property><child><object cl"
++ "ass=\"GtkCheckButton\" id=\"scroll_workspaces_check\"><property name=\""
++ "label\" translatable=\"yes\">Use the _mouse wheel on the desktop to swi"
++ "tch workspaces</property><property name=\"visible\">True</property><pro"
+ "perty name=\"can_focus\">True</property><property name=\"receives_defau"
+ "lt\">False</property><property name=\"use_underline\">True</property><p"
+ "roperty name=\"draw_indicator\">True</property></object><packing><prope"
+ "rty name=\"expand\">False</property><property name=\"fill\">False</prop"
+- "erty><property name=\"position\">6</property></packing></child></object"
+- "><packing><property name=\"position\">2</property></packing></child><ch"
+- "ild type=\"tab\"><object class=\"GtkLabel\" id=\"label3\"><property nam"
+- "e=\"visible\">True</property><property name=\"label\" translatable=\"ye"
+- "s\">_Accessibility</property><property name=\"use_underline\">True</pro"
+- "perty></object><packing><property name=\"position\">2</property><proper"
+- "ty name=\"tab_fill\">False</property></packing></child><child><object c"
+- "lass=\"GtkVBox\" id=\"vbox5\"><property name=\"visible\">True</property"
+- "><property name=\"border_width\">12</property><property name=\"orientat"
+- "ion\">vertical</property><property name=\"spacing\">6</property><child>"
+- "<object class=\"GtkCheckButton\" id=\"scroll_workspaces_check\"><proper"
+- "ty name=\"label\" translatable=\"yes\">Use the _mouse wheel on the desk"
+- "top to switch workspaces</property><property name=\"visible\">True</pro"
+- "perty><property name=\"can_focus\">True</property><property name=\"rece"
+- "ives_default\">False</property><property name=\"use_underline\">True</p"
+- "roperty><property name=\"draw_indicator\">True</property></object><pack"
+- "ing><property name=\"expand\">False</property><property name=\"fill\">F"
+- "alse</property><property name=\"position\">0</property></packing></chil"
+- "d><child><object class=\"GtkCheckButton\" id=\"toggle_workspaces_check\""
+- "><property name=\"label\" translatable=\"yes\">_Remember and recall pre"
+- "vious workspace\nwhen switching via keyboard shortcuts</property><prope"
+- "rty name=\"visible\">True</property><property name=\"can_focus\">True</"
+- "property><property name=\"receives_default\">False</property><property "
+- "name=\"use_underline\">True</property><property name=\"draw_indicator\""
+- ">True</property></object><packing><property name=\"expand\">False</prop"
+- "erty><property name=\"fill\">False</property><property name=\"position\""
+- ">1</property></packing></child><child><object class=\"GtkCheckButton\" "
+- "id=\"wrap_layout_check\"><property name=\"label\" translatable=\"yes\">"
+- "Wrap workspaces depending on the actual desktop _layout</property><prop"
+- "erty name=\"visible\">True</property><property name=\"can_focus\">True<"
+- "/property><property name=\"receives_default\">False</property><property"
+- " name=\"use_underline\">True</property><property name=\"draw_indicator\""
+- ">True</property></object><packing><property name=\"expand\">False</prop"
+- "erty><property name=\"fill\">False</property><property name=\"position\""
+- ">2</property></packing></child><child><object class=\"GtkCheckButton\" "
+- "id=\"wrap_cycle_check\"><property name=\"label\" translatable=\"yes\">W"
+- "rap workspaces when the _first or the last workspace is reached</proper"
+- "ty><property name=\"visible\">True</property><property name=\"can_focus"
+- "\">True</property><property name=\"receives_default\">False</property><"
+- "property name=\"use_underline\">True</property><property name=\"draw_in"
+- "dicator\">True</property></object><packing><property name=\"expand\">Fa"
+- "lse</property><property name=\"fill\">False</property><property name=\""
+- "position\">3</property></packing></child></object><packing><property na"
+- "me=\"position\">3</property></packing></child><child type=\"tab\"><obje"
+- "ct class=\"GtkLabel\" id=\"label4\"><property name=\"visible\">True</pr"
+- "operty><property name=\"label\" translatable=\"yes\">_Workspaces</prope"
+- "rty><property name=\"use_underline\">True</property></object><packing><"
+- "property name=\"position\">3</property><property name=\"tab_fill\">Fals"
+- "e</property></packing></child><child><object class=\"GtkVBox\" id=\"vbo"
+- "x6\"><property name=\"visible\">True</property><property name=\"border_"
+- "width\">12</property><property name=\"orientation\">vertical</property>"
+- "<property name=\"spacing\">6</property><child><object class=\"GtkLabel\""
+- " id=\"label8\"><property name=\"visible\">True</property><property name"
+- "=\"xalign\">0</property><property name=\"label\" translatable=\"yes\">_"
+- "Minimum size of windows to trigger smart placement:</property><property"
+- " name=\"use_underline\">True</property><property name=\"mnemonic_widget"
+- "\">placement_ratio_scale</property></object><packing><property name=\"e"
+- "xpand\">False</property><property name=\"fill\">False</property><proper"
+- "ty name=\"position\">0</property></packing></child><child><object class"
+- "=\"GtkAlignment\" id=\"alignment4\"><property name=\"visible\">True</pr"
+- "operty><property name=\"bottom_padding\">6</property><property name=\"l"
+- "eft_padding\">12</property><child><object class=\"GtkHBox\" id=\"hbox2\""
+- "><property name=\"visible\">True</property><property name=\"spacing\">1"
+- "2</property><child><object class=\"GtkLabel\" id=\"label9\"><property n"
+- "ame=\"visible\">True</property><property name=\"label\" translatable=\""
+- "yes\" comments=\"Smart placement size\">&lt;i&gt;Small&lt;/i&gt;</prope"
+- "rty><property name=\"use_markup\">True</property></object><packing><pro"
+- "perty name=\"expand\">False</property><property name=\"fill\">False</pr"
+- "operty><property name=\"position\">0</property></packing></child><child"
+- "><object class=\"GtkHScale\" id=\"placement_ratio_scale\"><property nam"
+- "e=\"visible\">True</property><property name=\"can_focus\">True</propert"
+- "y><property name=\"adjustment\">adjustment1</property><property name=\""
+- "restrict_to_fill_level\">False</property><property name=\"draw_value\">"
+- "False</property></object><packing><property name=\"position\">1</proper"
+- "ty></packing></child><child><object class=\"GtkLabel\" id=\"label10\"><"
+- "property name=\"visible\">True</property><property name=\"label\" trans"
+- "latable=\"yes\" comments=\"Smart placement size\">&lt;i&gt;Large&lt;/i&"
+- "gt;</property><property name=\"use_markup\">True</property></object><pa"
+- "cking><property name=\"expand\">False</property><property name=\"positi"
+- "on\">2</property></packing></child></object></child></object><packing><"
+- "property name=\"expand\">False</property><property name=\"fill\">False<"
+- "/property><property name=\"position\">1</property></packing></child><ch"
+- "ild><object class=\"GtkVBox\" id=\"default_placement_box\"><property na"
+- "me=\"visible\">True</property><property name=\"orientation\">vertical</"
+- "property><property name=\"spacing\">6</property><child><object class=\""
+- "GtkLabel\" id=\"label27\"><property name=\"visible\">True</property><pr"
+- "operty name=\"xalign\">0</property><property name=\"label\" translatabl"
+- "e=\"yes\">By default, place windows:</property></object><packing><prope"
+- "rty name=\"position\">0</property></packing></child><child><object clas"
+- "s=\"GtkAlignment\" id=\"alignment10\"><property name=\"visible\">True</"
+- "property><property name=\"bottom_padding\">6</property><property name=\""
+- "left_padding\">12</property><child><object class=\"GtkVBox\" id=\"vbox1"
+- "8\"><property name=\"visible\">True</property><property name=\"border_w"
+- "idth\">6</property><property name=\"orientation\">vertical</property><p"
+- "roperty name=\"spacing\">6</property><child><object class=\"GtkRadioBut"
+- "ton\" id=\"placement_center_option\"><property name=\"label\" translata"
+- "ble=\"yes\">At the _center of the screen</property><property name=\"vis"
+- "ible\">True</property><property name=\"can_focus\">True</property><prop"
+- "erty name=\"receives_default\">False</property><property name=\"use_und"
+- "erline\">True</property><property name=\"draw_indicator\">True</propert"
+- "y></object><packing><property name=\"position\">0</property></packing><"
+- "/child><child><object class=\"GtkRadioButton\" id=\"placement_mouse_opt"
+- "ion\"><property name=\"label\" translatable=\"yes\">Under the mouse _po"
+- "inter</property><property name=\"visible\">True</property><property nam"
+- "e=\"can_focus\">True</property><property name=\"receives_default\">Fals"
+- "e</property><property name=\"use_underline\">True</property><property n"
+- "ame=\"active\">True</property><property name=\"draw_indicator\">True</p"
+- "roperty><property name=\"group\">placement_center_option</property></ob"
+- "ject><packing><property name=\"position\">1</property></packing></child"
+- "></object></child></object><packing><property name=\"position\">1</prop"
+- "erty></packing></child></object><packing><property name=\"expand\">Fals"
+- "e</property><property name=\"fill\">False</property><property name=\"po"
+- "sition\">2</property></packing></child></object><packing><property name"
+- "=\"position\">4</property></packing></child><child type=\"tab\"><object"
+- " class=\"GtkLabel\" id=\"label5\"><property name=\"visible\">True</prop"
+- "erty><property name=\"label\" translatable=\"yes\">_Placement</property"
+- "><property name=\"use_underline\">True</property></object><packing><pro"
+- "perty name=\"position\">4</property><property name=\"tab_fill\">False</"
+- "property></packing></child><child><object class=\"GtkVBox\" id=\"vbox7\""
+- "><property name=\"visible\">True</property><property name=\"border_widt"
+- "h\">12</property><property name=\"orientation\">vertical</property><pro"
+- "perty name=\"spacing\">6</property><child><object class=\"GtkCheckButto"
+- "n\" id=\"use_compositing_check\"><property name=\"label\" translatable="
+- "\"yes\">_Enable display compositing</property><property name=\"visible\""
+- ">True</property><property name=\"can_focus\">True</property><property n"
+- "ame=\"receives_default\">False</property><property name=\"use_underline"
+- "\">True</property><property name=\"draw_indicator\">True</property></ob"
+- "ject><packing><property name=\"expand\">False</property><property name="
+- "\"fill\">False</property><property name=\"position\">0</property></pack"
+- "ing></child><child><object class=\"GtkScrolledWindow\" id=\"use_composi"
+- "ting_box\"><property name=\"visible\">True</property><property name=\"s"
+- "ensitive\">False</property><property name=\"can_focus\">True</property>"
+- "<property name=\"hscrollbar_policy\">never</property><property name=\"v"
+- "scrollbar_policy\">automatic</property><child><object class=\"GtkViewpo"
+- "rt\" id=\"viewport1\"><property name=\"visible\">True</property><proper"
+- "ty name=\"resize_mode\">queue</property><property name=\"shadow_type\">"
+- "none</property><child><object class=\"GtkAlignment\" id=\"alignment3\">"
+- "<property name=\"visible\">True</property><property name=\"bottom_paddi"
+- "ng\">6</property><property name=\"left_padding\">12</property><child><o"
+- "bject class=\"GtkVBox\" id=\"vbox8\"><property name=\"visible\">True</p"
+- "roperty><property name=\"orientation\">vertical</property><property nam"
+- "e=\"spacing\">6</property><child><object class=\"GtkCheckButton\" id=\""
+- "unredirect_overlays_check\"><property name=\"label\" translatable=\"yes"
+- "\">Display _fullscreen overlay windows directly</property><property nam"
++ "erty><property name=\"position\">0</property></packing></child><child><"
++ "object class=\"GtkCheckButton\" id=\"toggle_workspaces_check\"><propert"
++ "y name=\"label\" translatable=\"yes\">_Remember and recall previous wor"
++ "kspace\nwhen switching via keyboard shortcuts</property><property name="
++ "\"visible\">True</property><property name=\"can_focus\">True</property>"
++ "<property name=\"receives_default\">False</property><property name=\"us"
++ "e_underline\">True</property><property name=\"draw_indicator\">True</pr"
++ "operty></object><packing><property name=\"expand\">False</property><pro"
++ "perty name=\"fill\">False</property><property name=\"position\">1</prop"
++ "erty></packing></child><child><object class=\"GtkCheckButton\" id=\"wra"
++ "p_layout_check\"><property name=\"label\" translatable=\"yes\">Wrap wor"
++ "kspaces depending on the actual desktop _layout</property><property nam"
+ "e=\"visible\">True</property><property name=\"can_focus\">True</propert"
+ "y><property name=\"receives_default\">False</property><property name=\""
+ "use_underline\">True</property><property name=\"draw_indicator\">True</"
+ "property></object><packing><property name=\"expand\">False</property><p"
+- "roperty name=\"position\">0</property></packing></child><child><object "
+- "class=\"GtkCheckButton\" id=\"show_frame_shadow_check\"><property name="
+- "\"label\" translatable=\"yes\">Show shadows under _regular windows</pro"
+- "perty><property name=\"visible\">True</property><property name=\"can_fo"
+- "cus\">True</property><property name=\"receives_default\">False</propert"
+- "y><property name=\"use_underline\">True</property><property name=\"draw"
+- "_indicator\">True</property></object><packing><property name=\"expand\""
+- ">False</property><property name=\"position\">1</property></packing></ch"
+- "ild><child><object class=\"GtkCheckButton\" id=\"show_popup_shadow_chec"
+- "k\"><property name=\"label\" translatable=\"yes\">Show shadows under po"
+- "p_up windows</property><property name=\"visible\">True</property><prope"
+- "rty name=\"can_focus\">True</property><property name=\"receives_default"
+- "\">False</property><property name=\"use_underline\">True</property><pro"
+- "perty name=\"draw_indicator\">True</property></object><packing><propert"
+- "y name=\"expand\">False</property><property name=\"position\">2</proper"
+- "ty></packing></child><child><object class=\"GtkCheckButton\" id=\"show_"
+- "dock_shadow_check\"><property name=\"label\" translatable=\"yes\">Show "
+- "shadows under _dock windows</property><property name=\"visible\">True</"
+- "property><property name=\"can_focus\">True</property><property name=\"r"
+- "eceives_default\">False</property><property name=\"use_underline\">True"
+- "</property><property name=\"draw_indicator\">True</property></object><p"
+- "acking><property name=\"expand\">False</property><property name=\"posit"
+- "ion\">3</property></packing></child><child><object class=\"GtkLabel\" i"
+- "d=\"label12\"><property name=\"visible\">True</property><property name="
+- "\"xalign\">0</property><property name=\"label\" translatable=\"yes\">Op"
+- "aci_ty of window decorations:</property><property name=\"use_underline\""
+- ">True</property><property name=\"mnemonic_widget\">frame_opacity_scale<"
+- "/property></object><packing><property name=\"expand\">False</property><"
+- "property name=\"position\">4</property></packing></child><child><object"
+- " class=\"GtkAlignment\" id=\"alignment5\"><property name=\"visible\">Tr"
+- "ue</property><property name=\"top_padding\">2</property><property name="
+- "\"left_padding\">12</property><child><object class=\"GtkHBox\" id=\"hbo"
+- "x3\"><property name=\"visible\">True</property><child><object class=\"G"
+- "tkLabel\" id=\"label17\"><property name=\"visible\">True</property><pro"
+- "perty name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt;/i&gt"
+- ";</property><property name=\"use_markup\">True</property></object><pack"
+- "ing><property name=\"expand\">False</property><property name=\"fill\">F"
+- "alse</property><property name=\"position\">0</property></packing></chil"
+- "d><child><object class=\"GtkHScale\" id=\"frame_opacity_scale\"><proper"
++ "roperty name=\"fill\">False</property><property name=\"position\">2</pr"
++ "operty></packing></child><child><object class=\"GtkCheckButton\" id=\"w"
++ "rap_cycle_check\"><property name=\"label\" translatable=\"yes\">Wrap wo"
++ "rkspaces when the _first or the last workspace is reached</property><pr"
++ "operty name=\"visible\">True</property><property name=\"can_focus\">Tru"
++ "e</property><property name=\"receives_default\">False</property><proper"
++ "ty name=\"use_underline\">True</property><property name=\"draw_indicato"
++ "r\">True</property></object><packing><property name=\"expand\">False</p"
++ "roperty><property name=\"fill\">False</property><property name=\"positi"
++ "on\">3</property></packing></child></object><packing><property name=\"p"
++ "osition\">3</property></packing></child><child type=\"tab\"><object cla"
++ "ss=\"GtkLabel\" id=\"label4\"><property name=\"visible\">True</property"
++ "><property name=\"label\" translatable=\"yes\">_Workspaces</property><p"
++ "roperty name=\"use_underline\">True</property></object><packing><proper"
++ "ty name=\"position\">3</property><property name=\"tab_fill\">False</pro"
++ "perty></packing></child><child><object class=\"GtkVBox\" id=\"vbox6\"><"
++ "property name=\"visible\">True</property><property name=\"border_width\""
++ ">12</property><property name=\"orientation\">vertical</property><proper"
++ "ty name=\"spacing\">6</property><child><object class=\"GtkLabel\" id=\""
++ "label8\"><property name=\"visible\">True</property><property name=\"xal"
++ "ign\">0</property><property name=\"label\" translatable=\"yes\">_Minimu"
++ "m size of windows to trigger smart placement:</property><property name="
++ "\"use_underline\">True</property><property name=\"mnemonic_widget\">pla"
++ "cement_ratio_scale</property></object><packing><property name=\"expand\""
++ ">False</property><property name=\"fill\">False</property><property name"
++ "=\"position\">0</property></packing></child><child><object class=\"GtkA"
++ "lignment\" id=\"alignment4\"><property name=\"visible\">True</property>"
++ "<property name=\"bottom_padding\">6</property><property name=\"left_pad"
++ "ding\">12</property><child><object class=\"GtkHBox\" id=\"hbox2\"><prop"
++ "erty name=\"visible\">True</property><property name=\"spacing\">12</pro"
++ "perty><child><object class=\"GtkLabel\" id=\"label9\"><property name=\""
++ "visible\">True</property><property name=\"label\" translatable=\"yes\" "
++ "comments=\"Smart placement size\">&lt;i&gt;Small&lt;/i&gt;</property><p"
++ "roperty name=\"use_markup\">True</property></object><packing><property "
++ "name=\"expand\">False</property><property name=\"fill\">False</property"
++ "><property name=\"position\">0</property></packing></child><child><obje"
++ "ct class=\"GtkHScale\" id=\"placement_ratio_scale\"><property name=\"vi"
++ "sible\">True</property><property name=\"can_focus\">True</property><pro"
++ "perty name=\"adjustment\">adjustment1</property><property name=\"restri"
++ "ct_to_fill_level\">False</property><property name=\"draw_value\">False<"
++ "/property></object><packing><property name=\"position\">1</property></p"
++ "acking></child><child><object class=\"GtkLabel\" id=\"label10\"><proper"
++ "ty name=\"visible\">True</property><property name=\"label\" translatabl"
++ "e=\"yes\" comments=\"Smart placement size\">&lt;i&gt;Large&lt;/i&gt;</p"
++ "roperty><property name=\"use_markup\">True</property></object><packing>"
++ "<property name=\"expand\">False</property><property name=\"position\">2"
++ "</property></packing></child></object></child></object><packing><proper"
++ "ty name=\"expand\">False</property><property name=\"fill\">False</prope"
++ "rty><property name=\"position\">1</property></packing></child><child><o"
++ "bject class=\"GtkVBox\" id=\"default_placement_box\"><property name=\"v"
++ "isible\">True</property><property name=\"orientation\">vertical</proper"
++ "ty><property name=\"spacing\">6</property><child><object class=\"GtkLab"
++ "el\" id=\"label27\"><property name=\"visible\">True</property><property"
++ " name=\"xalign\">0</property><property name=\"label\" translatable=\"ye"
++ "s\">By default, place windows:</property></object><packing><property na"
++ "me=\"position\">0</property></packing></child><child><object class=\"Gt"
++ "kAlignment\" id=\"alignment10\"><property name=\"visible\">True</proper"
++ "ty><property name=\"bottom_padding\">6</property><property name=\"left_"
++ "padding\">12</property><child><object class=\"GtkVBox\" id=\"vbox18\"><"
++ "property name=\"visible\">True</property><property name=\"border_width\""
++ ">6</property><property name=\"orientation\">vertical</property><propert"
++ "y name=\"spacing\">6</property><child><object class=\"GtkRadioButton\" "
++ "id=\"placement_center_option\"><property name=\"label\" translatable=\""
++ "yes\">At the _center of the screen</property><property name=\"visible\""
++ ">True</property><property name=\"can_focus\">True</property><property n"
++ "ame=\"receives_default\">False</property><property name=\"use_underline"
++ "\">True</property><property name=\"draw_indicator\">True</property></ob"
++ "ject><packing><property name=\"position\">0</property></packing></child"
++ "><child><object class=\"GtkRadioButton\" id=\"placement_mouse_option\">"
++ "<property name=\"label\" translatable=\"yes\">Under the mouse _pointer<"
++ "/property><property name=\"visible\">True</property><property name=\"ca"
++ "n_focus\">True</property><property name=\"receives_default\">False</pro"
++ "perty><property name=\"use_underline\">True</property><property name=\""
++ "active\">True</property><property name=\"draw_indicator\">True</propert"
++ "y><property name=\"group\">placement_center_option</property></object><"
++ "packing><property name=\"position\">1</property></packing></child></obj"
++ "ect></child></object><packing><property name=\"position\">1</property><"
++ "/packing></child></object><packing><property name=\"expand\">False</pro"
++ "perty><property name=\"fill\">False</property><property name=\"position"
++ "\">2</property></packing></child></object><packing><property name=\"pos"
++ "ition\">4</property></packing></child><child type=\"tab\"><object class"
++ "=\"GtkLabel\" id=\"label5\"><property name=\"visible\">True</property><"
++ "property name=\"label\" translatable=\"yes\">_Placement</property><prop"
++ "erty name=\"use_underline\">True</property></object><packing><property "
++ "name=\"position\">4</property><property name=\"tab_fill\">False</proper"
++ "ty></packing></child><child><object class=\"GtkVBox\" id=\"vbox7\"><pro"
++ "perty name=\"visible\">True</property><property name=\"border_width\">1"
++ "2</property><property name=\"orientation\">vertical</property><property"
++ " name=\"spacing\">6</property><child><object class=\"GtkCheckButton\" i"
++ "d=\"use_compositing_check\"><property name=\"label\" translatable=\"yes"
++ "\">_Enable display compositing</property><property name=\"visible\">Tru"
++ "e</property><property name=\"can_focus\">True</property><property name="
++ "\"receives_default\">False</property><property name=\"use_underline\">T"
++ "rue</property><property name=\"draw_indicator\">True</property></object"
++ "><packing><property name=\"expand\">False</property><property name=\"fi"
++ "ll\">False</property><property name=\"position\">0</property></packing>"
++ "</child><child><object class=\"GtkScrolledWindow\" id=\"use_compositing"
++ "_box\"><property name=\"visible\">True</property><property name=\"sensi"
++ "tive\">False</property><property name=\"can_focus\">True</property><pro"
++ "perty name=\"hscrollbar_policy\">never</property><property name=\"vscro"
++ "llbar_policy\">automatic</property><child><object class=\"GtkViewport\""
++ " id=\"viewport1\"><property name=\"visible\">True</property><property n"
++ "ame=\"resize_mode\">queue</property><property name=\"shadow_type\">none"
++ "</property><child><object class=\"GtkAlignment\" id=\"alignment3\"><pro"
++ "perty name=\"visible\">True</property><property name=\"bottom_padding\""
++ ">6</property><property name=\"left_padding\">12</property><child><objec"
++ "t class=\"GtkVBox\" id=\"vbox8\"><property name=\"visible\">True</prope"
++ "rty><property name=\"orientation\">vertical</property><property name=\""
++ "spacing\">6</property><child><object class=\"GtkCheckButton\" id=\"unre"
++ "direct_overlays_check\"><property name=\"label\" translatable=\"yes\">D"
++ "isplay _fullscreen overlay windows directly</property><property name=\""
++ "visible\">True</property><property name=\"can_focus\">True</property><p"
++ "roperty name=\"receives_default\">False</property><property name=\"use_"
++ "underline\">True</property><property name=\"draw_indicator\">True</prop"
++ "erty></object><packing><property name=\"expand\">False</property><prope"
++ "rty name=\"position\">0</property></packing></child><child><object clas"
++ "s=\"GtkCheckButton\" id=\"show_frame_shadow_check\"><property name=\"la"
++ "bel\" translatable=\"yes\">Show shadows under _regular windows</propert"
++ "y><property name=\"visible\">True</property><property name=\"can_focus\""
++ ">True</property><property name=\"receives_default\">False</property><pr"
++ "operty name=\"use_underline\">True</property><property name=\"draw_indi"
++ "cator\">True</property></object><packing><property name=\"expand\">Fals"
++ "e</property><property name=\"position\">1</property></packing></child><"
++ "child><object class=\"GtkCheckButton\" id=\"show_popup_shadow_check\"><"
++ "property name=\"label\" translatable=\"yes\">Show shadows under pop_up "
++ "windows</property><property name=\"visible\">True</property><property n"
++ "ame=\"can_focus\">True</property><property name=\"receives_default\">Fa"
++ "lse</property><property name=\"use_underline\">True</property><property"
++ " name=\"draw_indicator\">True</property></object><packing><property nam"
++ "e=\"expand\">False</property><property name=\"position\">2</property></"
++ "packing></child><child><object class=\"GtkCheckButton\" id=\"show_dock_"
++ "shadow_check\"><property name=\"label\" translatable=\"yes\">Show shado"
++ "ws under _dock windows</property><property name=\"visible\">True</prope"
++ "rty><property name=\"can_focus\">True</property><property name=\"receiv"
++ "es_default\">False</property><property name=\"use_underline\">True</pro"
++ "perty><property name=\"draw_indicator\">True</property></object><packin"
++ "g><property name=\"expand\">False</property><property name=\"position\""
++ ">3</property></packing></child><child><object class=\"GtkLabel\" id=\"l"
++ "abel12\"><property name=\"visible\">True</property><property name=\"xal"
++ "ign\">0</property><property name=\"label\" translatable=\"yes\">Opaci_t"
++ "y of window decorations:</property><property name=\"use_underline\">Tru"
++ "e</property><property name=\"mnemonic_widget\">frame_opacity_scale</pro"
++ "perty></object><packing><property name=\"expand\">False</property><prop"
++ "erty name=\"position\">4</property></packing></child><child><object cla"
++ "ss=\"GtkAlignment\" id=\"alignment5\"><property name=\"visible\">True</"
++ "property><property name=\"top_padding\">2</property><property name=\"le"
++ "ft_padding\">12</property><child><object class=\"GtkHBox\" id=\"hbox3\""
++ "><property name=\"visible\">True</property><child><object class=\"GtkLa"
++ "bel\" id=\"label17\"><property name=\"visible\">True</property><propert"
++ "y name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt;/i&gt;</p"
++ "roperty><property name=\"use_markup\">True</property></object><packing>"
++ "<property name=\"expand\">False</property><property name=\"fill\">False"
++ "</property><property name=\"position\">0</property></packing></child><c"
++ "hild><object class=\"GtkHScale\" id=\"frame_opacity_scale\"><property n"
++ "ame=\"visible\">True</property><property name=\"can_focus\">True</prope"
++ "rty><property name=\"update_policy\">discontinuous</property><property "
++ "name=\"adjustment\">adjustment2</property><property name=\"restrict_to_"
++ "fill_level\">False</property><property name=\"draw_value\">False</prope"
++ "rty></object><packing><property name=\"position\">1</property></packing"
++ "></child><child><object class=\"GtkLabel\" id=\"label18\"><property nam"
++ "e=\"visible\">True</property><property name=\"label\" translatable=\"ye"
++ "s\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"use_markup\">T"
++ "rue</property></object><packing><property name=\"expand\">False</proper"
++ "ty><property name=\"fill\">False</property><property name=\"position\">"
++ "2</property></packing></child></object></child></object><packing><prope"
++ "rty name=\"expand\">False</property><property name=\"fill\">False</prop"
++ "erty><property name=\"position\">5</property></packing></child><child><"
++ "object class=\"GtkLabel\" id=\"label13\"><property name=\"visible\">Tru"
++ "e</property><property name=\"xalign\">0</property><property name=\"labe"
++ "l\" translatable=\"yes\">Opacity of _inactive windows:</property><prope"
++ "rty name=\"use_underline\">True</property><property name=\"mnemonic_wid"
++ "get\">inactive_opacity_scale</property></object><packing><property name"
++ "=\"expand\">False</property><property name=\"fill\">False</property><pr"
++ "operty name=\"position\">6</property></packing></child><child><object c"
++ "lass=\"GtkAlignment\" id=\"alignment6\"><property name=\"visible\">True"
++ "</property><property name=\"top_padding\">2</property><property name=\""
++ "left_padding\">12</property><child><object class=\"GtkHBox\" id=\"hbox4"
++ "\"><property name=\"visible\">True</property><child><object class=\"Gtk"
++ "Label\" id=\"label19\"><property name=\"visible\">True</property><prope"
++ "rty name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt;/i&gt;<"
++ "/property><property name=\"use_markup\">True</property></object><packin"
++ "g><property name=\"expand\">False</property><property name=\"fill\">Fal"
++ "se</property><property name=\"position\">0</property></packing></child>"
++ "<child><object class=\"GtkHScale\" id=\"inactive_opacity_scale\"><prope"
++ "rty name=\"visible\">True</property><property name=\"can_focus\">True</"
++ "property><property name=\"update_policy\">discontinuous</property><prop"
++ "erty name=\"adjustment\">adjustment3</property><property name=\"restric"
++ "t_to_fill_level\">False</property><property name=\"draw_value\">False</"
++ "property></object><packing><property name=\"position\">1</property></pa"
++ "cking></child><child><object class=\"GtkLabel\" id=\"label20\"><propert"
++ "y name=\"visible\">True</property><property name=\"label\" translatable"
++ "=\"yes\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"use_marku"
++ "p\">True</property></object><packing><property name=\"expand\">False</p"
++ "roperty><property name=\"fill\">False</property><property name=\"positi"
++ "on\">2</property></packing></child></object></child></object><packing><"
++ "property name=\"expand\">False</property><property name=\"fill\">False<"
++ "/property><property name=\"position\">7</property></packing></child><ch"
++ "ild><object class=\"GtkLabel\" id=\"label14\"><property name=\"visible\""
++ ">True</property><property name=\"xalign\">0</property><property name=\""
++ "label\" translatable=\"yes\">Opacity of windows during _move:</property"
++ "><property name=\"use_underline\">True</property><property name=\"mnemo"
++ "nic_widget\">move_opacity_scale</property></object><packing><property n"
++ "ame=\"expand\">False</property><property name=\"fill\">False</property>"
++ "<property name=\"position\">8</property></packing></child><child><objec"
++ "t class=\"GtkAlignment\" id=\"alignment7\"><property name=\"visible\">T"
++ "rue</property><property name=\"top_padding\">2</property><property name"
++ "=\"left_padding\">12</property><child><object class=\"GtkHBox\" id=\"hb"
++ "ox5\"><property name=\"visible\">True</property><child><object class=\""
++ "GtkLabel\" id=\"label21\"><property name=\"visible\">True</property><pr"
++ "operty name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt;/i&g"
++ "t;</property><property name=\"use_markup\">True</property></object><pac"
++ "king><property name=\"expand\">False</property><property name=\"fill\">"
++ "False</property><property name=\"position\">0</property></packing></chi"
++ "ld><child><object class=\"GtkHScale\" id=\"move_opacity_scale\"><proper"
+ "ty name=\"visible\">True</property><property name=\"can_focus\">True</p"
+ "roperty><property name=\"update_policy\">discontinuous</property><prope"
+- "rty name=\"adjustment\">adjustment2</property><property name=\"restrict"
++ "rty name=\"adjustment\">adjustment4</property><property name=\"restrict"
+ "_to_fill_level\">False</property><property name=\"draw_value\">False</p"
+ "roperty></object><packing><property name=\"position\">1</property></pac"
+- "king></child><child><object class=\"GtkLabel\" id=\"label18\"><property"
++ "king></child><child><object class=\"GtkLabel\" id=\"label22\"><property"
+ " name=\"visible\">True</property><property name=\"label\" translatable="
+ "\"yes\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"use_markup"
+ "\">True</property></object><packing><property name=\"expand\">False</pr"
+ "operty><property name=\"fill\">False</property><property name=\"positio"
+ "n\">2</property></packing></child></object></child></object><packing><p"
+ "roperty name=\"expand\">False</property><property name=\"fill\">False</"
+- "property><property name=\"position\">5</property></packing></child><chi"
+- "ld><object class=\"GtkLabel\" id=\"label13\"><property name=\"visible\""
++ "property><property name=\"position\">9</property></packing></child><chi"
++ "ld><object class=\"GtkLabel\" id=\"label15\"><property name=\"visible\""
+ ">True</property><property name=\"xalign\">0</property><property name=\""
+- "label\" translatable=\"yes\">Opacity of _inactive windows:</property><p"
+- "roperty name=\"use_underline\">True</property><property name=\"mnemonic"
+- "_widget\">inactive_opacity_scale</property></object><packing><property "
+- "name=\"expand\">False</property><property name=\"fill\">False</property"
+- "><property name=\"position\">6</property></packing></child><child><obje"
+- "ct class=\"GtkAlignment\" id=\"alignment6\"><property name=\"visible\">"
+- "True</property><property name=\"top_padding\">2</property><property nam"
+- "e=\"left_padding\">12</property><child><object class=\"GtkHBox\" id=\"h"
+- "box4\"><property name=\"visible\">True</property><child><object class=\""
+- "GtkLabel\" id=\"label19\"><property name=\"visible\">True</property><pr"
+- "operty name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt;/i&g"
+- "t;</property><property name=\"use_markup\">True</property></object><pac"
+- "king><property name=\"expand\">False</property><property name=\"fill\">"
+- "False</property><property name=\"position\">0</property></packing></chi"
+- "ld><child><object class=\"GtkHScale\" id=\"inactive_opacity_scale\"><pr"
+- "operty name=\"visible\">True</property><property name=\"can_focus\">Tru"
+- "e</property><property name=\"update_policy\">discontinuous</property><p"
+- "roperty name=\"adjustment\">adjustment3</property><property name=\"rest"
+- "rict_to_fill_level\">False</property><property name=\"draw_value\">Fals"
+- "e</property></object><packing><property name=\"position\">1</property><"
+- "/packing></child><child><object class=\"GtkLabel\" id=\"label20\"><prop"
+- "erty name=\"visible\">True</property><property name=\"label\" translata"
+- "ble=\"yes\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"use_ma"
+- "rkup\">True</property></object><packing><property name=\"expand\">False"
+- "</property><property name=\"fill\">False</property><property name=\"pos"
+- "ition\">2</property></packing></child></object></child></object><packin"
+- "g><property name=\"expand\">False</property><property name=\"fill\">Fal"
+- "se</property><property name=\"position\">7</property></packing></child>"
+- "<child><object class=\"GtkLabel\" id=\"label14\"><property name=\"visib"
+- "le\">True</property><property name=\"xalign\">0</property><property nam"
+- "e=\"label\" translatable=\"yes\">Opacity of windows during _move:</prop"
+- "erty><property name=\"use_underline\">True</property><property name=\"m"
+- "nemonic_widget\">move_opacity_scale</property></object><packing><proper"
++ "label\" translatable=\"yes\">Opacity of windows during resi_ze:</proper"
++ "ty><property name=\"use_underline\">True</property><property name=\"mne"
++ "monic_widget\">resize_opacity_scale</property></object><packing><proper"
+ "ty name=\"expand\">False</property><property name=\"fill\">False</prope"
+- "rty><property name=\"position\">8</property></packing></child><child><o"
+- "bject class=\"GtkAlignment\" id=\"alignment7\"><property name=\"visible"
+- "\">True</property><property name=\"top_padding\">2</property><property "
+- "name=\"left_padding\">12</property><child><object class=\"GtkHBox\" id="
+- "\"hbox5\"><property name=\"visible\">True</property><child><object clas"
+- "s=\"GtkLabel\" id=\"label21\"><property name=\"visible\">True</property"
+- "><property name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt;"
+- "/i&gt;</property><property name=\"use_markup\">True</property></object>"
+- "<packing><property name=\"expand\">False</property><property name=\"fil"
+- "l\">False</property><property name=\"position\">0</property></packing><"
+- "/child><child><object class=\"GtkHScale\" id=\"move_opacity_scale\"><pr"
+- "operty name=\"visible\">True</property><property name=\"can_focus\">Tru"
+- "e</property><property name=\"update_policy\">discontinuous</property><p"
+- "roperty name=\"adjustment\">adjustment4</property><property name=\"rest"
+- "rict_to_fill_level\">False</property><property name=\"draw_value\">Fals"
+- "e</property></object><packing><property name=\"position\">1</property><"
+- "/packing></child><child><object class=\"GtkLabel\" id=\"label22\"><prop"
+- "erty name=\"visible\">True</property><property name=\"label\" translata"
+- "ble=\"yes\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"use_ma"
+- "rkup\">True</property></object><packing><property name=\"expand\">False"
+- "</property><property name=\"fill\">False</property><property name=\"pos"
+- "ition\">2</property></packing></child></object></child></object><packin"
+- "g><property name=\"expand\">False</property><property name=\"fill\">Fal"
+- "se</property><property name=\"position\">9</property></packing></child>"
+- "<child><object class=\"GtkLabel\" id=\"label15\"><property name=\"visib"
+- "le\">True</property><property name=\"xalign\">0</property><property nam"
+- "e=\"label\" translatable=\"yes\">Opacity of windows during resi_ze:</pr"
+- "operty><property name=\"use_underline\">True</property><property name=\""
+- "mnemonic_widget\">resize_opacity_scale</property></object><packing><pro"
+- "perty name=\"expand\">False</property><property name=\"fill\">False</pr"
+- "operty><property name=\"position\">10</property></packing></child><chil"
+- "d><object class=\"GtkAlignment\" id=\"alignment8\"><property name=\"vis"
+- "ible\">True</property><property name=\"top_padding\">2</property><prope"
+- "rty name=\"left_padding\">12</property><child><object class=\"GtkHBox\""
+- " id=\"hbox6\"><property name=\"visible\">True</property><child><object "
+- "class=\"GtkLabel\" id=\"label23\"><property name=\"visible\">True</prop"
+- "erty><property name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent"
+- "&lt;/i&gt;</property><property name=\"use_markup\">True</property></obj"
+- "ect><packing><property name=\"expand\">False</property><property name=\""
+- "fill\">False</property><property name=\"position\">0</property></packin"
+- "g></child><child><object class=\"GtkHScale\" id=\"resize_opacity_scale\""
+- "><property name=\"visible\">True</property><property name=\"can_focus\""
+- ">True</property><property name=\"update_policy\">discontinuous</propert"
+- "y><property name=\"adjustment\">adjustment5</property><property name=\""
+- "restrict_to_fill_level\">False</property><property name=\"draw_value\">"
+- "False</property></object><packing><property name=\"position\">1</proper"
+- "ty></packing></child><child><object class=\"GtkLabel\" id=\"label24\"><"
+- "property name=\"visible\">True</property><property name=\"label\" trans"
+- "latable=\"yes\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"us"
+- "e_markup\">True</property></object><packing><property name=\"expand\">F"
+- "alse</property><property name=\"fill\">False</property><property name=\""
++ "rty><property name=\"position\">10</property></packing></child><child><"
++ "object class=\"GtkAlignment\" id=\"alignment8\"><property name=\"visibl"
++ "e\">True</property><property name=\"top_padding\">2</property><property"
++ " name=\"left_padding\">12</property><child><object class=\"GtkHBox\" id"
++ "=\"hbox6\"><property name=\"visible\">True</property><child><object cla"
++ "ss=\"GtkLabel\" id=\"label23\"><property name=\"visible\">True</propert"
++ "y><property name=\"label\" translatable=\"yes\">&lt;i&gt;Transparent&lt"
++ ";/i&gt;</property><property name=\"use_markup\">True</property></object"
++ "><packing><property name=\"expand\">False</property><property name=\"fi"
++ "ll\">False</property><property name=\"position\">0</property></packing>"
++ "</child><child><object class=\"GtkHScale\" id=\"resize_opacity_scale\">"
++ "<property name=\"visible\">True</property><property name=\"can_focus\">"
++ "True</property><property name=\"update_policy\">discontinuous</property"
++ "><property name=\"adjustment\">adjustment5</property><property name=\"r"
++ "estrict_to_fill_level\">False</property><property name=\"draw_value\">F"
++ "alse</property></object><packing><property name=\"position\">1</propert"
++ "y></packing></child><child><object class=\"GtkLabel\" id=\"label24\"><p"
++ "roperty name=\"visible\">True</property><property name=\"label\" transl"
++ "atable=\"yes\">&lt;i&gt;Opaque&lt;/i&gt;</property><property name=\"use"
++ "_markup\">True</property></object><packing><property name=\"expand\">Fa"
++ "lse</property><property name=\"fill\">False</property><property name=\""
+ "position\">2</property></packing></child></object></child></object><pac"
+ "king><property name=\"expand\">False</property><property name=\"fill\">"
+ "False</property><property name=\"position\">11</property></packing></ch"
+@@ -568,5 +576,5 @@ static const char tweaks_dialog_ui[] =
+ "et></action-widgets></object></interface>"
+ };
+
+-static const unsigned tweaks_dialog_ui_length = 37803u;
++static const unsigned tweaks_dialog_ui_length = 38338u;
+
+diff --git a/src/client.c b/src/client.c
+index 4e86808..b92c264 100644
+--- a/src/client.c
++++ b/src/client.c
+@@ -64,6 +64,8 @@
+ #include "xsync.h"
+ #include "event_filter.h"
+
++//#define TRACE(fmt, ...) printf(fmt"\n", ##__VA_ARGS__); fflush(stdout);
++
+ /* Event mask definition */
+
+ #define POINTER_EVENT_MASK \
+@@ -173,6 +175,7 @@ clientCreateTitleName (Client *c, gchar *name, gchar *hostname)
+ gchar *title;
+
+ g_return_val_if_fail (c != NULL, NULL);
++
+ TRACE ("entering clientCreateTitleName");
+
+ screen_info = c->screen_info;
+@@ -1729,6 +1732,7 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
+ clientGetInitialNetWmDesktop (c);
+ /* workarea will be updated when shown, no need to worry here */
+ clientGetNetStruts (c);
++ clientGetExtra (c);
+
+ /* Once we know the type of window, we can initialize window position */
+ if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_SESSION_MANAGED))
+@@ -3137,6 +3141,8 @@ clientNewMaxSize (Client *c, XWindowChanges *wc, GdkRectangle *rect, tilePositio
+ wc->width = full_w - frameLeft (c) - frameRight (c);
+ wc->height = full_h - frameTop (c) - frameBottom (c);
+
++ TRACE ("clientNewMaxSize %d %d %d %d", wc->x, wc->y, wc->width, wc->height);
++
+ return ((wc->width <= c->size->max_width) && (wc->height <= c->size->max_height));
+ }
+
+diff --git a/src/client.h b/src/client.h
+index e8bc4e3..b5e54df 100644
+--- a/src/client.h
++++ b/src/client.h
+@@ -161,6 +161,7 @@
+ #define CLIENT_FLAG_DEMANDS_ATTENTION (1L<<17)
+ #define CLIENT_FLAG_HAS_SHAPE (1L<<18)
+ #define CLIENT_FLAG_FULLSCREN_MONITORS (1L<<19)
++#define CLIENT_FLAG_TITLELESS_MAXIMIZE (1L<<20)
+
+ #define WM_FLAG_DELETE (1L<<0)
+ #define WM_FLAG_INPUT (1L<<1)
+diff --git a/src/display.c b/src/display.c
+index 00318d5..4f847f4 100644
+--- a/src/display.c
++++ b/src/display.c
+@@ -169,7 +169,8 @@ myDisplayInitAtoms (DisplayInfo *display_info)
+ "XFWM4_COMPOSITING_MANAGER",
+ "XFWM4_TIMESTAMP_PROP",
+ "_XROOTPMAP_ID",
+- "_XSETROOT_ID"
++ "_XSETROOT_ID",
++ "_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED"
+ };
+
+ g_assert (ATOM_COUNT == G_N_ELEMENTS (atom_names));
+diff --git a/src/display.h b/src/display.h
+index 8797237..a297cf2 100644
+--- a/src/display.h
++++ b/src/display.h
+@@ -265,6 +265,7 @@ enum
+ XFWM4_TIMESTAMP_PROP,
+ XROOTPMAP,
+ XSETROOT,
++ _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED,
+ ATOM_COUNT
+ };
+
+diff --git a/src/events.c b/src/events.c
+index 4b49171..044cd11 100644
+--- a/src/events.c
++++ b/src/events.c
+@@ -1921,6 +1921,11 @@ handlePropertyNotify (DisplayInfo *display_info, XPropertyEvent * ev)
+ TRACE ("Window 0x%lx has NET_WM_SYNC_REQUEST_COUNTER set to 0x%lx", c->window, c->xsync_counter);
+ }
+ #endif /* HAVE_XSYNC */
++ else if (ev->atom == display_info->atoms[_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED])
++ {
++ TRACE ("Client \"%s\" Window 0x%lx has received GTK CRAP\n", c->name, c->window);
++ clientUpdateExtra (c);
++ }
+
+ return status;
+ }
+diff --git a/src/frame.c b/src/frame.c
+index 7f4cbd3..23c01cd 100644
+--- a/src/frame.c
++++ b/src/frame.c
+@@ -39,6 +39,8 @@
+ #include "frame.h"
+ #include "compositor.h"
+
++//#define TRACE(fmt, ...) printf(fmt"\n", ##__VA_ARGS__); fflush(stdout);
++
+ typedef struct
+ {
+ xfwmPixmap pm_title;
+@@ -121,7 +123,14 @@ frameTop (Client * c)
+
+ g_return_val_if_fail (c != NULL, 0);
+ if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
+- && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
++ && !(FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
++ || (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT)
++ && (c->screen_info->params->titleless_maximize
++ || FLAG_TEST (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE))
++ && c->screen_info->params->borderless_maximize
++ )
++ )
++ )
+ {
+ return c->screen_info->title[TITLE_3][ACTIVE].height;
+ }
+@@ -136,8 +145,13 @@ frameBottom (Client * c)
+ g_return_val_if_fail (c != NULL, 0);
+ if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
+ && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
+- && (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+- || !(c->screen_info->params->borderless_maximize)))
++ && !(FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
++ && (c->screen_info->params->borderless_maximize))
++ && !(FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT)
++ && (c->screen_info->params->borderless_maximize)
++ && (c->screen_info->params->titleless_maximize
++ || FLAG_TEST (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE)))
++ )
+ {
+ return c->screen_info->sides[SIDE_BOTTOM][ACTIVE].height;
+ }
+@@ -203,7 +217,14 @@ frameHeight (Client * c)
+ return frameTop (c) + frameBottom (c);
+ }
+ else if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
+- && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
++ && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
++ && !(
++ FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT)
++ && (c->screen_info->params->borderless_maximize)
++ && (c->screen_info->params->titleless_maximize
++ || FLAG_TEST (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE))
++ ))
++
+ {
+ return c->height + frameTop (c) + frameBottom (c);
+ }
+@@ -882,6 +903,7 @@ frameDrawWin (Client * c)
+ gboolean requires_clearing;
+ gboolean width_changed;
+ gboolean height_changed;
++ gboolean vert_only;
+
+ TRACE ("entering frameDraw");
+ TRACE ("drawing frame for \"%s\" (0x%lx)", c->name, c->window);
+@@ -955,128 +977,152 @@ frameDrawWin (Client * c)
+ }
+
+ if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
+- && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
++ && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
++ && !(FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
++ && (c->screen_info->params->borderless_maximize)
++ && (c->screen_info->params->titleless_maximize
++ || FLAG_TEST (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE))
++ ))
+ {
+- /* First, hide the buttons that we don't have... */
+- for (i = 0; i < BUTTON_COUNT; i++)
++ vert_only = FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED_VERT)
++ && (c->screen_info->params->borderless_maximize) //only vertical decorations shown (titleless vertical maximize)
++ && (c->screen_info->params->titleless_maximize
++ || FLAG_TEST (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE));
++
++ if (vert_only)
+ {
+- char b = getLetterFromButton (i, c);
+- if ((!b) || !strchr (screen_info->params->button_layout, b))
++ //hide all buttons
++ for (i = 0; i < BUTTON_COUNT; i++)
+ {
+ xfwmWindowHide (&c->buttons[i]);
+ }
++ xfwmWindowHide (&c->title);
++ xfwmWindowHide (&c->sides[SIDE_BOTTOM]);
++ xfwmWindowHide (&c->sides[SIDE_TOP]);
++ xfwmWindowHide (&c->corners[CORNER_TOP_LEFT]);
++ xfwmWindowHide (&c->corners[CORNER_TOP_RIGHT]);
++ xfwmWindowHide (&c->corners[CORNER_BOTTOM_LEFT]);
++ xfwmWindowHide (&c->corners[CORNER_BOTTOM_RIGHT]);
+ }
+-
+- /* Then, show the ones that we do have on left... */
+- x = frameLeft (c) + frameButtonOffset (c);
+- if (x < 0)
+- {
+- x = 0;
+- }
+- right = frameWidth (c) - frameRight (c) - frameButtonOffset (c);
+- for (i = 0; i < strlen (screen_info->params->button_layout); i++)
++ else
+ {
+- button = getButtonFromLetter (screen_info->params->button_layout[i], c);
+- if (button == TITLE_SEPARATOR)
++ /* First, hide the buttons that we don't have... */
++ for (i = 0; i < BUTTON_COUNT; i++)
+ {
+- break;
+- }
+- else if (button >= 0)
+- {
+- if (x + screen_info->buttons[button][state].width + screen_info->params->button_spacing < right)
+- {
+- my_pixmap = clientGetButtonPixmap (c, button, clientGetButtonState (c, button, state));
+- if (!xfwmPixmapNone(my_pixmap))
+- {
+- xfwmWindowSetBG (&c->buttons[button], my_pixmap);
+- }
+- xfwmWindowShow (&c->buttons[button], x,
+- (frameTop (c) - screen_info->buttons[button][state].height + 1) / 2,
+- screen_info->buttons[button][state].width,
+- screen_info->buttons[button][state].height, TRUE);
+- button_x[button] = x;
+- x = x + screen_info->buttons[button][state].width +
+- screen_info->params->button_spacing;
+- }
+- else
++ char b = getLetterFromButton (i, c);
++ if ((!b) || !strchr (screen_info->params->button_layout, b))
+ {
+- xfwmWindowHide (&c->buttons[button]);
++ xfwmWindowHide (&c->buttons[i]);
+ }
+ }
+- }
+- left = x + screen_info->params->button_spacing;
+
+- /* and those that we do have on right... */
+- x = frameWidth (c) - frameRight (c) + screen_info->params->button_spacing -
+- frameButtonOffset (c);
+- for (j = strlen (screen_info->params->button_layout) - 1; j >= i; j--)
+- {
+- button = getButtonFromLetter (screen_info->params->button_layout[j], c);
+- if (button == TITLE_SEPARATOR)
++ /* Then, show the ones that we do have on left... */
++ x = frameLeft (c) + frameButtonOffset (c);
++ if (x < 0)
+ {
+- break;
++ x = 0;
+ }
+- else if (button >= 0)
++ right = frameWidth (c) - frameRight (c) - frameButtonOffset (c);
++ for (i = 0; i < strlen (screen_info->params->button_layout); i++)
+ {
+- if (x - screen_info->buttons[button][state].width - screen_info->params->button_spacing > left)
++ button = getButtonFromLetter (screen_info->params->button_layout[i], c);
++ if (button == TITLE_SEPARATOR)
+ {
+- my_pixmap = clientGetButtonPixmap (c, button, clientGetButtonState (c, button, state));
+- if (!xfwmPixmapNone(my_pixmap))
++ break;
++ }
++ else if (button >= 0)
++ {
++ if (x + screen_info->buttons[button][state].width + screen_info->params->button_spacing < right)
++ {
++ my_pixmap = clientGetButtonPixmap (c, button, clientGetButtonState (c, button, state));
++ if (!xfwmPixmapNone(my_pixmap))
++ {
++ xfwmWindowSetBG (&c->buttons[button], my_pixmap);
++ }
++ xfwmWindowShow (&c->buttons[button], x,
++ (frameTop (c) - screen_info->buttons[button][state].height + 1) / 2,
++ screen_info->buttons[button][state].width,
++ screen_info->buttons[button][state].height, TRUE);
++ button_x[button] = x;
++ x = x + screen_info->buttons[button][state].width +
++ screen_info->params->button_spacing;
++ }
++ else
+ {
+- xfwmWindowSetBG (&c->buttons[button], my_pixmap);
++ xfwmWindowHide (&c->buttons[button]);
+ }
+- x = x - screen_info->buttons[button][state].width -
+- screen_info->params->button_spacing;
+- xfwmWindowShow (&c->buttons[button], x,
+- (frameTop (c) - screen_info->buttons[button][state].height + 1) / 2,
+- screen_info->buttons[button][state].width,
+- screen_info->buttons[button][state].height, TRUE);
+- button_x[button] = x;
+ }
+- else
++ }
++ left = x + screen_info->params->button_spacing;
++
++ /* and those that we do have on right... */
++ x = frameWidth (c) - frameRight (c) + screen_info->params->button_spacing -
++ frameButtonOffset (c);
++ for (j = strlen (screen_info->params->button_layout) - 1; j >= i; j--)
++ {
++ button = getButtonFromLetter (screen_info->params->button_layout[j], c);
++ if (button == TITLE_SEPARATOR)
+ {
+- xfwmWindowHide (&c->buttons[button]);
++ break;
++ }
++ else if (button >= 0)
++ {
++ if (x - screen_info->buttons[button][state].width - screen_info->params->button_spacing > left)
++ {
++ my_pixmap = clientGetButtonPixmap (c, button, clientGetButtonState (c, button, state));
++ if (!xfwmPixmapNone(my_pixmap))
++ {
++ xfwmWindowSetBG (&c->buttons[button], my_pixmap);
++ }
++ x = x - screen_info->buttons[button][state].width -
++ screen_info->params->button_spacing;
++ xfwmWindowShow (&c->buttons[button], x,
++ (frameTop (c) - screen_info->buttons[button][state].height + 1) / 2,
++ screen_info->buttons[button][state].width,
++ screen_info->buttons[button][state].height, TRUE);
++ button_x[button] = x;
++ }
++ else
++ {
++ xfwmWindowHide (&c->buttons[button]);
++ }
+ }
+ }
++ left = left - 2 * screen_info->params->button_spacing;
++ right = x;
++ xfwmPixmapInit (screen_info, &frame_pix.pm_title);
++ xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_TOP]);
++ xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_BOTTOM]);
++
++ top_width = frameWidth (c) - frameTopLeftWidth (c, state) - frameTopRightWidth (c, state);
++ bottom_width = frameWidth (c) -
++ screen_info->corners[CORNER_BOTTOM_LEFT][state].width -
++ screen_info->corners[CORNER_BOTTOM_RIGHT][state].width;
++
++ /* The title is almost always visible */
++ frameCreateTitlePixmap (c, state, left, right, &frame_pix.pm_title, &frame_pix.pm_sides[SIDE_TOP]);
++ xfwmWindowSetBG (&c->title, &frame_pix.pm_title);
++ xfwmWindowShow (&c->title,
++ frameTopLeftWidth (c, state), 0, top_width,
++ frameTop (c), (requires_clearing | width_changed));
++
++ /* Corners are never resized, we need to update them separately */
++ if (requires_clearing)
++ {
++ xfwmWindowSetBG (&c->corners[CORNER_TOP_LEFT],
++ &screen_info->corners[CORNER_TOP_LEFT][state]);
++ xfwmWindowSetBG (&c->corners[CORNER_TOP_RIGHT],
++ &screen_info->corners[CORNER_TOP_RIGHT][state]);
++ xfwmWindowSetBG (&c->corners[CORNER_BOTTOM_LEFT],
++ &screen_info->corners[CORNER_BOTTOM_LEFT][state]);
++ xfwmWindowSetBG (&c->corners[CORNER_BOTTOM_RIGHT],
++ &screen_info->corners[CORNER_BOTTOM_RIGHT][state]);
++ }
+ }
+- left = left - 2 * screen_info->params->button_spacing;
+- right = x;
+-
+- top_width = frameWidth (c) - frameTopLeftWidth (c, state) - frameTopRightWidth (c, state);
+- bottom_width = frameWidth (c) -
+- screen_info->corners[CORNER_BOTTOM_LEFT][state].width -
+- screen_info->corners[CORNER_BOTTOM_RIGHT][state].width;
+- left_height = frameHeight (c) - frameTop (c) -
+- screen_info->corners[CORNER_BOTTOM_LEFT][state].height;
+- right_height = frameHeight (c) - frameTop (c) -
+- screen_info->corners[CORNER_BOTTOM_RIGHT][state].height;
+-
+- xfwmPixmapInit (screen_info, &frame_pix.pm_title);
+- xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_TOP]);
+- xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_BOTTOM]);
++
+ xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_LEFT]);
+ xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_RIGHT]);
+
+- /* The title is always visible */
+- frameCreateTitlePixmap (c, state, left, right, &frame_pix.pm_title, &frame_pix.pm_sides[SIDE_TOP]);
+- xfwmWindowSetBG (&c->title, &frame_pix.pm_title);
+- xfwmWindowShow (&c->title,
+- frameTopLeftWidth (c, state), 0, top_width,
+- frameTop (c), (requires_clearing | width_changed));
+-
+- /* Corners are never resized, we need to update them separately */
+- if (requires_clearing)
+- {
+- xfwmWindowSetBG (&c->corners[CORNER_TOP_LEFT],
+- &screen_info->corners[CORNER_TOP_LEFT][state]);
+- xfwmWindowSetBG (&c->corners[CORNER_TOP_RIGHT],
+- &screen_info->corners[CORNER_TOP_RIGHT][state]);
+- xfwmWindowSetBG (&c->corners[CORNER_BOTTOM_LEFT],
+- &screen_info->corners[CORNER_BOTTOM_LEFT][state]);
+- xfwmWindowSetBG (&c->corners[CORNER_BOTTOM_RIGHT],
+- &screen_info->corners[CORNER_BOTTOM_RIGHT][state]);
+- }
+-
+ if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (c->screen_info->params->borderless_maximize))
+ {
+@@ -1091,6 +1137,18 @@ frameDrawWin (Client * c)
+ }
+ else
+ {
++ if (vert_only)
++ {
++ left_height = right_height = c->height;
++ }
++ else
++ {
++ left_height = frameHeight (c) - frameTop (c)
++ - screen_info->corners[CORNER_BOTTOM_LEFT][state].height;
++ right_height = frameHeight (c) - frameTop (c)
++ - screen_info->corners[CORNER_BOTTOM_RIGHT][state].height;
++ }
++
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_SHADED))
+ {
+ xfwmWindowHide (&c->sides[SIDE_LEFT]);
+@@ -1120,63 +1178,69 @@ frameDrawWin (Client * c)
+ right_height, (requires_clearing | height_changed));
+ }
+
+- xfwmPixmapCreate (screen_info, &frame_pix.pm_sides[SIDE_BOTTOM],
+- bottom_width, frameBottom (c));
+- xfwmPixmapFill (&screen_info->sides[SIDE_BOTTOM][state],
+- &frame_pix.pm_sides[SIDE_BOTTOM],
+- 0, 0, bottom_width, frameBottom (c));
+- xfwmWindowSetBG (&c->sides[SIDE_BOTTOM],
+- &frame_pix.pm_sides[SIDE_BOTTOM]);
+- xfwmWindowShow (&c->sides[SIDE_BOTTOM],
+- screen_info->corners[CORNER_BOTTOM_LEFT][state].width,
+- frameHeight (c) - frameBottom (c), bottom_width, frameBottom (c),
+- (requires_clearing | width_changed));
+-
+- if (!xfwmPixmapNone(&frame_pix.pm_sides[SIDE_TOP]))
++ if (!vert_only)
+ {
+- xfwmWindowSetBG (&c->sides[SIDE_TOP], &frame_pix.pm_sides[SIDE_TOP]);
+- xfwmWindowShow (&c->sides[SIDE_TOP],
+- screen_info->corners[CORNER_TOP_LEFT][state].width,
+- 0, top_width, frame_pix.pm_sides[SIDE_TOP].height,
++ xfwmPixmapCreate (screen_info, &frame_pix.pm_sides[SIDE_BOTTOM],
++ bottom_width, frameBottom (c));
++ xfwmPixmapFill (&screen_info->sides[SIDE_BOTTOM][state],
++ &frame_pix.pm_sides[SIDE_BOTTOM],
++ 0, 0, bottom_width, frameBottom (c));
++ xfwmWindowSetBG (&c->sides[SIDE_BOTTOM],
++ &frame_pix.pm_sides[SIDE_BOTTOM]);
++ xfwmWindowShow (&c->sides[SIDE_BOTTOM],
++ screen_info->corners[CORNER_BOTTOM_LEFT][state].width,
++ frameHeight (c) - frameBottom (c), bottom_width, frameBottom (c),
+ (requires_clearing | width_changed));
+- }
+- else
+- {
+- xfwmWindowHide (&c->sides[SIDE_TOP]);
+- }
+
+- xfwmWindowShow (&c->corners[CORNER_TOP_LEFT], 0, 0,
+- frameTopLeftWidth (c, state),
+- screen_info->corners[CORNER_TOP_LEFT][state].height,
+- requires_clearing);
+-
+- xfwmWindowShow (&c->corners[CORNER_TOP_RIGHT],
+- frameWidth (c) - frameTopRightWidth (c, state),
+- 0, frameTopRightWidth (c, state),
+- screen_info->corners[CORNER_TOP_RIGHT][state].height,
+- requires_clearing);
+-
+- xfwmWindowShow (&c->corners[CORNER_BOTTOM_LEFT], 0,
+- frameHeight (c) -
+- screen_info->corners[CORNER_BOTTOM_LEFT][state].height,
+- screen_info->corners[CORNER_BOTTOM_LEFT][state].width,
+- screen_info->corners[CORNER_BOTTOM_LEFT][state].height,
+- requires_clearing);
+-
+- xfwmWindowShow (&c->corners[CORNER_BOTTOM_RIGHT],
+- frameWidth (c) -
+- screen_info->corners[CORNER_BOTTOM_RIGHT][state].width,
+- frameHeight (c) -
+- screen_info->corners[CORNER_BOTTOM_RIGHT][state].height,
+- screen_info->corners[CORNER_BOTTOM_RIGHT][state].width,
+- screen_info->corners[CORNER_BOTTOM_RIGHT][state].height,
+- requires_clearing);
++ if (!xfwmPixmapNone(&frame_pix.pm_sides[SIDE_TOP]))
++ {
++ xfwmWindowSetBG (&c->sides[SIDE_TOP], &frame_pix.pm_sides[SIDE_TOP]);
++ xfwmWindowShow (&c->sides[SIDE_TOP],
++ screen_info->corners[CORNER_TOP_LEFT][state].width,
++ 0, top_width, frame_pix.pm_sides[SIDE_TOP].height,
++ (requires_clearing | width_changed));
++ }
++ else
++ {
++ xfwmWindowHide (&c->sides[SIDE_TOP]);
++ }
++
++ xfwmWindowShow (&c->corners[CORNER_TOP_LEFT], 0, 0,
++ frameTopLeftWidth (c, state),
++ screen_info->corners[CORNER_TOP_LEFT][state].height,
++ requires_clearing);
++
++ xfwmWindowShow (&c->corners[CORNER_TOP_RIGHT],
++ frameWidth (c) - frameTopRightWidth (c, state),
++ 0, frameTopRightWidth (c, state),
++ screen_info->corners[CORNER_TOP_RIGHT][state].height,
++ requires_clearing);
++
++ xfwmWindowShow (&c->corners[CORNER_BOTTOM_LEFT], 0,
++ frameHeight (c) -
++ screen_info->corners[CORNER_BOTTOM_LEFT][state].height,
++ screen_info->corners[CORNER_BOTTOM_LEFT][state].width,
++ screen_info->corners[CORNER_BOTTOM_LEFT][state].height,
++ requires_clearing);
++
++ xfwmWindowShow (&c->corners[CORNER_BOTTOM_RIGHT],
++ frameWidth (c) -
++ screen_info->corners[CORNER_BOTTOM_RIGHT][state].width,
++ frameHeight (c) -
++ screen_info->corners[CORNER_BOTTOM_RIGHT][state].height,
++ screen_info->corners[CORNER_BOTTOM_RIGHT][state].width,
++ screen_info->corners[CORNER_BOTTOM_RIGHT][state].height,
++ requires_clearing);
++ }
+ }
+ frameSetShape (c, state, &frame_pix, button_x);
+
+- xfwmPixmapFree (&frame_pix.pm_title);
+- xfwmPixmapFree (&frame_pix.pm_sides[SIDE_TOP]);
+- xfwmPixmapFree (&frame_pix.pm_sides[SIDE_BOTTOM]);
++ if (!vert_only)
++ {
++ xfwmPixmapFree (&frame_pix.pm_title);
++ xfwmPixmapFree (&frame_pix.pm_sides[SIDE_TOP]);
++ xfwmPixmapFree (&frame_pix.pm_sides[SIDE_BOTTOM]);
++ }
+ xfwmPixmapFree (&frame_pix.pm_sides[SIDE_LEFT]);
+ xfwmPixmapFree (&frame_pix.pm_sides[SIDE_RIGHT]);
+ }
+diff --git a/src/netwm.c b/src/netwm.c
+index 1352f08..9e3647c 100644
+--- a/src/netwm.c
++++ b/src/netwm.c
+@@ -136,6 +136,44 @@ clientSetNetState (Client * c)
+ }
+
+ void
++clientGetExtra (Client *c)
++{
++ long val;
++ DisplayInfo *display_info;
++
++ display_info = c->screen_info->display_info;
++
++ getHint (display_info, c->window, _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED, &val);
++ if (val)
++ FLAG_SET (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE);
++}
++
++void
++clientUpdateExtra (Client *c)
++{
++ long val;
++ unsigned long maximization_flags = 0L;
++ DisplayInfo *display_info;
++
++ display_info = c->screen_info->display_info;
++
++ getHint (display_info, c->window, _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED, &val);
++ if (val)
++ FLAG_SET (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE);
++ else
++ FLAG_UNSET (c->flags, CLIENT_FLAG_TITLELESS_MAXIMIZE);
++
++ if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
++ {
++ maximization_flags = c->flags & CLIENT_FLAG_MAXIMIZED;
++
++ /* Force an update by clearing the internal flags */
++ FLAG_UNSET (c->flags, CLIENT_FLAG_MAXIMIZED_HORIZ | CLIENT_FLAG_MAXIMIZED_VERT);
++ clientToggleMaximized (c, maximization_flags, TRUE);
++ }
++}
++
++void
+ clientGetNetState (Client * c)
+ {
+ ScreenInfo *screen_info;
+diff --git a/src/placement.c b/src/placement.c
+index 01f2590..64719a7 100644
+--- a/src/placement.c
++++ b/src/placement.c
+@@ -38,7 +38,6 @@
+ #include "frame.h"
+ #include "netwm.h"
+
+-
+ /* Compute rectangle overlap area */
+
+ static inline unsigned long
+@@ -108,6 +107,8 @@ clientMaxSpace (ScreenInfo *screen_info, int *x, int *y, int *w, int *h)
+ g_return_if_fail (w != NULL);
+ g_return_if_fail (h != NULL);
+
++ TRACE ("entering clientMaxSpace");
++
+ screen_width = 0;
+ screen_height = 0;
+ delta = 0;
+@@ -157,6 +158,7 @@ clientMaxSpace (ScreenInfo *screen_info, int *x, int *y, int *w, int *h)
+ }
+ }
+ }
++ TRACE ("clientMaxSpace result %d %d %d %d", *x, *y, *w, *h);
+ }
+
+ gboolean
+diff --git a/src/settings.c b/src/settings.c
+index 607bb7b..37b6c2a 100644
+--- a/src/settings.c
++++ b/src/settings.c
+@@ -667,6 +667,7 @@ loadSettings (ScreenInfo *screen_info)
+ /* You can change the order of the following parameters */
+ {"activate_action", NULL, G_TYPE_STRING, TRUE},
+ {"borderless_maximize", NULL, G_TYPE_BOOLEAN, TRUE},
++ {"titleless_maximize", NULL, G_TYPE_BOOLEAN, TRUE},
+ {"box_move", NULL, G_TYPE_BOOLEAN, TRUE},
+ {"box_resize", NULL, G_TYPE_BOOLEAN, TRUE},
+ {"button_layout", NULL, G_TYPE_STRING, TRUE},
+@@ -753,6 +754,8 @@ loadSettings (ScreenInfo *screen_info)
+
+ screen_info->params->borderless_maximize =
+ getBoolValue ("borderless_maximize", rc);
++ screen_info->params->titleless_maximize =
++ getBoolValue ("titleless_maximize", rc);
+ screen_info->params->box_resize =
+ getBoolValue ("box_resize", rc);
+ screen_info->params->box_move =
+@@ -1261,6 +1264,11 @@ cb_xfwm4_channel_property_changed(XfconfChannel *channel, const gchar *property_
+ screen_info->params->borderless_maximize = g_value_get_boolean (value);
+ reloadScreenSettings (screen_info, UPDATE_MAXIMIZE);
+ }
++ else if (!strcmp (name, "titleless_maximize"))
++ {
++ screen_info->params->titleless_maximize = g_value_get_boolean (value);
++ reloadScreenSettings (screen_info, UPDATE_MAXIMIZE);
++ }
+ else if (!strcmp (name, "cycle_minimum"))
+ {
+ screen_info->params->cycle_minimum = g_value_get_boolean (value);
+diff --git a/src/settings.h b/src/settings.h
+index be01b6b..ea8b79b 100644
+--- a/src/settings.h
++++ b/src/settings.h
+@@ -197,6 +197,7 @@ struct _XfwmParams
+ int title_shadow[2];
+ int wrap_resistance;
+ gboolean borderless_maximize;
++ gboolean titleless_maximize;
+ gboolean box_move;
+ gboolean box_resize;
+ gboolean click_to_focus;
+--
+1.8.4
+
diff --git a/pcr/xfwm4-titleless/xfwm4.install b/pcr/xfwm4-titleless/xfwm4.install
new file mode 100644
index 000000000..e4f8fd06c
--- /dev/null
+++ b/pcr/xfwm4-titleless/xfwm4.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/youtube-dl-current/PKGBUILD b/pcr/youtube-dl-current/PKGBUILD
index 1aab4522e..3d2d5c90f 100644
--- a/pcr/youtube-dl-current/PKGBUILD
+++ b/pcr/youtube-dl-current/PKGBUILD
@@ -1,11 +1,11 @@
-# Maintainer (Arch): Eric Bélanger <eric@archlinux.org>
+# Maintainer: Eric Bélanger <eric@archlinux.org>
# Maintainer (Parabola): Alon Ivtsan <alonivtsan@lavabit.com>
# Based on https://www.archlinux.org/packages/community/any/youtube-dl/
pkgname=youtube-dl-current
_pkgname=youtube-dl
provides=(youtube-dl)
-pkgver=2013.09.04
+pkgver=2013.10.07
pkgrel=1
pkgdesc="A small command-line program to download videos from YouTube.com and a few more sites"
arch=('any')
@@ -27,5 +27,5 @@ package() {
"${pkgdir}/usr/share/bash-completion/completions/youtube-dl"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
}
-md5sums=('252f503736cef7049d3a1ed20a2ffc5f'
+md5sums=('8fcf8c27dc2444f78c0413f9ddee383a'
'SKIP')
diff --git a/pcr/zbase32/PKGBUILD b/pcr/zbase32/PKGBUILD
new file mode 100644
index 000000000..b4373abb8
--- /dev/null
+++ b/pcr/zbase32/PKGBUILD
@@ -0,0 +1,25 @@
+# Contributor: Peter Simons <simons@cryp.to>
+# Contributor: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+pkgname=zbase32
+pkgver=1.1.5
+pkgrel=1
+pkgdesc="alternate base32 encoder (not RFC 3548 compliant)"
+arch=('i686' 'x86_64')
+url='http://pypi.python.org/pypi/zbase32'
+license=('BSD')
+depends=('python2')
+makedepends=('setuptools' 'darcsver' 'setuptools_darcs' 'pyutil')
+source=( http://pypi.python.org/packages/source/z/zbase32/zbase32-$pkgver.tar.gz )
+md5sums=('4dba0be4ac6d66968de8e5173f51d65d')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+ python2 setup.py test
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+ install -Dm644 PKG-INFO* $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/pcr/zfec/PKGBUILD b/pcr/zfec/PKGBUILD
new file mode 100644
index 000000000..0c2487c6b
--- /dev/null
+++ b/pcr/zfec/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Peter Simons <simons@cryp.to>
+pkgname=zfec
+pkgver=1.4.24
+pkgrel=2
+pkgdesc="a fast erasure codec which can be used with the command-line, C, Python, or Haskell"
+arch=('i686' 'x86_64')
+url='http://pypi.python.org/pypi/zfec'
+license=('GPL' 'custom')
+depends=('python2' 'pyutil' 'zbase32')
+makedepends=('darcsver' 'setuptools_darcs')
+source=( http://pypi.python.org/packages/source/z/zfec/zfec-$pkgver.tar.gz )
+md5sums=('e1bca3a1f18374f72bdf8cd42ea9c919')
+
+build(){
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py build
+ python2 setup.py test
+}
+
+package(){
+ cd "$srcdir/$pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir"
+ install -d $pkgdir/usr/share/licenses/$pkgname/
+ install -m644 COPYING* $pkgdir/usr/share/licenses/$pkgname/
+}