diff options
Diffstat (limited to 'abs/extra')
262 files changed, 7041 insertions, 5046 deletions
diff --git a/abs/extra/adwaita-icon-theme/PKGBUILD b/abs/extra/adwaita-icon-theme/PKGBUILD new file mode 100644 index 0000000..c9c782f --- /dev/null +++ b/abs/extra/adwaita-icon-theme/PKGBUILD @@ -0,0 +1,28 @@ +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=adwaita-icon-theme +pkgver=3.14.1 +pkgrel=1 +pkgdesc="Adwaita icon theme" +arch=(any) +depends=('hicolor-icon-theme' 'gtk-update-icon-cache') +makedepends=('intltool' 'icon-naming-utils') +url="http://www.gnome.org" +license=('GPL') +groups=('gnome') +install=adwaita-icon-theme.install +options=('!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) +sha256sums=('b776a7ad58c97f4c1ede316e44d8d054105429cb4e3a8ec46616a14b11df48ee') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/adwaita-icon-theme/adwaita-icon-theme.install b/abs/extra/adwaita-icon-theme/adwaita-icon-theme.install new file mode 100644 index 0000000..a32d2ca --- /dev/null +++ b/abs/extra/adwaita-icon-theme/adwaita-icon-theme.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f /usr/share/icons/Adwaita +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/abs/extra/apcupsd/PKGBUILD b/abs/extra/apcupsd/PKGBUILD index 31a3cfa..936ae52 100644 --- a/abs/extra/apcupsd/PKGBUILD +++ b/abs/extra/apcupsd/PKGBUILD @@ -1,11 +1,12 @@ # $Id$ +# Maintainer: Florian Pritz <bluewind@xinu.at> # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Maintainer: Todd Musall <tmusall@comcast.net> -# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> +# Contributor: Todd Musall <tmusall@comcast.net> +# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> pkgname=apcupsd -pkgver=3.14.10 -pkgrel=7 +pkgver=3.14.12 +pkgrel=3 pkgdesc="Power mangement and controlling most of APC's UPS models" arch=(i686 x86_64) url="http://www.apcupsd.org" @@ -16,14 +17,24 @@ optdepends=('gd: for CGI' 'gconf: for frontend' 'gtk2: for frontend') makedepends=('pkgconfig' 'gd' 'gconf' 'gtk2') -backup=(etc/apcupsd/apcupsd.conf etc/apcupsd/hosts.conf - etc/apcupsd/multimon.conf) -source=(http://downloads.sourceforge.net/apcupsd/$pkgname-$pkgver.tar.gz +backup=(etc/apcupsd/apcupsd.conf + etc/apcupsd/hosts.conf + etc/apcupsd/multimon.conf + etc/apcupsd/apcupsd.css + etc/apcupsd/changeme + etc/apcupsd/commfailure + etc/apcupsd/commok + etc/apcupsd/offbattery + etc/apcupsd/onbattery + etc/apcupsd/apccontrol) +source=(http://downloads.sourceforge.net/apcupsd/$pkgname-$pkgver.tar.gz{,.sig} apcupsd.service apcupsd-tmpfiles.conf) -sha256sums=('0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032' +sha256sums=('1b4f703cb19cfdf44daf173dc8394cafd30fee0b30a0c75a7d19db622454a440' + 'SKIP' '145e88863335f077fc354b4d263b15f64af67b45a10ed37c68ebd468181e23f7' - 'b00cd1a31de70a172698d486583aa79113b99c1bb4b882ab906d0e37504d7f55') + 'a4474cfcd607c5e9b64e27eec7cbc2b0bcf08c8ea37fd1f0f28e98ac2883fd4f') +validpgpkeys=(635B9D943945DCA05BE9AB0A24E84804A57B2D90) build() { cd "$srcdir/$pkgname-$pkgver" @@ -38,10 +49,18 @@ build() { package() { cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + sed -i 's#^LOCKFILE .*$#LOCKFILE /run/apcupsd#' "$pkgdir/etc/apcupsd/apcupsd.conf" + install -Dm644 "$srcdir/apcupsd.service" "$pkgdir/usr/lib/systemd/system/apcupsd.service" install -Dm644 "$srcdir/apcupsd-tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/apcupsd.conf" + chmod 755 "$pkgdir"/usr/bin/* + install -dm755 "$pkgdir/usr/lib/$pkgname/cgi-bin" mv "$pkgdir"/etc/apcupsd/*.cgi "$pkgdir/usr/lib/$pkgname/cgi-bin" + + rm -rf "$pkgdir/usr/share/hal" } diff --git a/abs/extra/apcupsd/apcupsd-tmpfiles.conf b/abs/extra/apcupsd/apcupsd-tmpfiles.conf index 0ceb410..60f8316 100644 --- a/abs/extra/apcupsd/apcupsd-tmpfiles.conf +++ b/abs/extra/apcupsd/apcupsd-tmpfiles.conf @@ -1,2 +1,3 @@ r /etc/apcupsd/powerfail -r /etc/nologin
\ No newline at end of file +r /etc/nologin +d /run/apcupsd 0755 root root diff --git a/abs/extra/arch-install-scripts/PKGBUILD b/abs/extra/arch-install-scripts/PKGBUILD new file mode 100644 index 0000000..472d058 --- /dev/null +++ b/abs/extra/arch-install-scripts/PKGBUILD @@ -0,0 +1,28 @@ +# $Id$ +# Maintainer: Dave Reisner <dreisner@archlinux.org> + +pkgname=arch-install-scripts +pkgver=13 +pkgrel=1 +pkgdesc="Scripts to aid in installing Arch Linux" +arch=('any') +url="https://projects.archlinux.org/arch-install-scripts.git" +license=('GPL') +depends=('bash' 'coreutils' 'pacman' 'util-linux') +source=("ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}) +md5sums=('5294b927fea89f5a88c051c970946c24' + 'SKIP') + +build() { + make -C "$pkgname-$pkgver" +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + make -C "$pkgname-$pkgver" PREFIX=/usr DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/at-spi2-atk/PKGBUILD b/abs/extra/at-spi2-atk/PKGBUILD new file mode 100644 index 0000000..790f3c6 --- /dev/null +++ b/abs/extra/at-spi2-atk/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=at-spi2-atk +pkgver=2.14.1 +pkgrel=1 +pkgdesc="A GTK+ module that bridges ATK to D-Bus at-spi" +arch=('i686' 'x86_64') +url="http://www.gnome.org" +license=('GPL2') +depends=('at-spi2-core' 'libx11' 'atk') +makedepends=('intltool') +source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) +sha256sums=('058f34ea60edf0a5f831c9f2bdd280fe95c1bcafb76e466e44aa0fb356d17bcb') + +build() { + cd $pkgname-$pkgver + + sed -i -e '/AC_PATH_XTRA/d' configure.ac + autoreconf --force --install + + ./configure --prefix=/usr --sysconfdir=/etc \ + --disable-schemas-compile + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/at-spi2-core/PKGBUILD b/abs/extra/at-spi2-core/PKGBUILD new file mode 100644 index 0000000..0fd23ab --- /dev/null +++ b/abs/extra/at-spi2-core/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=at-spi2-core +pkgver=2.14.1 +pkgrel=1 +pkgdesc="Protocol definitions and daemon for D-Bus at-spi" +arch=('i686' 'x86_64') +url="http://www.gnome.org" +license=('GPL2') +depends=('dbus' 'glib2' 'libxtst') +makedepends=('intltool' 'gobject-introspection' 'python2') +source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) +sha256sums=('eef9660b14fdf0fb1f30d1be7c72d591fa7cbb87b00ca3a444425712f46ce657') + +build() { + cd $pkgname-$pkgver + + sed -i -e '/AC_PATH_XTRA/d' configure.ac + autoreconf --force --install + + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/at-spi2-core --disable-xevie + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/bluez/PKGBUILD b/abs/extra/bluez/PKGBUILD index 25a7e32..3ea45a0 100644 --- a/abs/extra/bluez/PKGBUILD +++ b/abs/extra/bluez/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=bluez pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins') -pkgver=5.18 +pkgver=5.27 pkgrel=1 url="http://www.bluez.org/" arch=('i686' 'x86_64') @@ -15,9 +15,10 @@ source=(http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.xz 0001-Allow-using-obexd-without-systemd-in-the-user-session.patch bluetooth.modprobe) # see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc -sha256sums=('8c8bb13db83d0de6c85def2da8dfa0a758aff595405fb57a00719ed94d558340' +sha256sums=('fbf33cebc76f8c81f28f0d67c71a8a1ec4b04b087460ec7353f7e0c207a1f981' '896a1403d9b7258c4fb0d41f3a6f70fd51eaa1115ab3f4259f3dbbe02b55766b' '46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4') +validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel@holtmann.org> prepare() { cd $pkgname-$pkgver @@ -36,15 +37,14 @@ build() { --localstatedir=/var \ --libexecdir=/usr/lib \ --enable-sixaxis \ + --enable-experimental \ --enable-library # this is deprecated -# --enable-experimental \ - - make all V=1 + make } check() { cd $pkgname-$pkgver - make check + #make check } @@ -56,9 +56,6 @@ package_bluez() { conflicts=('obexd-client' 'obexd-server') cd ${pkgbase}-${pkgver} - #make DESTDIR=${pkgdir} install - #return 1 - make DESTDIR=${pkgdir} \ install-libexecPROGRAMS \ install-dbussessionbusDATA \ @@ -92,6 +89,14 @@ package_bluez-utils() { install-binPROGRAMS \ install-man1 + # add missing tools FS#41132, FS#41687, FS#42716 + for files in `find tools/ -type f -perm -755`; do + filename=$(basename $files) + install -Dm755 ${srcdir}/${pkgbase}-${pkgver}/tools/$filename ${pkgdir}/usr/bin/$filename + done + # add gatttool usefulbdaddr with Bluetooth 4.0LE + install -Dm755 ${srcdir}/${pkgbase}-${pkgver}/attrib/gatttool ${pkgdir}/usr/bin/gatttool + # libbluetooth.so* are part of libLTLIBRARIES and binPROGRAMS targets #make DESTDIR=${pkgdir} uninstall-libLTLIBRARIES #rmdir ${pkgdir}/usr/lib diff --git a/abs/extra/bluez/__changelog b/abs/extra/bluez/__changelog deleted file mode 100644 index 47f870d..0000000 --- a/abs/extra/bluez/__changelog +++ /dev/null @@ -1,27 +0,0 @@ -# by mihanson -I really have no idea how this bluetooth stuff works. If anyone wants to -take a stab at getting this working properly with runit, feel free. I -only need this package to get mythpywii working. - -2010-04-01: -Make this package work with runit. All daemons were seperated into their -own run scripts. Of particular interest is rfcomm and hid2hci utilities. -They are not daemons and I added "/sbin/sv <executable> down ." in their -respective run files. All based on this thread: -http://article.gmane.org/gmane.comp.sysutils.supervision.general/1585/ - -2012-04-07 -- remove rc.bluetooth as we use runit -- disable-cups -- comment out removal of udev line - -2012-04-13 -re-add audio-streaming.patch for ootb audio streaming - -2012-06-19 -- change 'systemd-tools' dependency back to 'udev' -- change 'libusbx' dependency back to 'libusb' -- remove refrences to rc.bluetooth - -2014-03-07 -- update bluez 5.15 arch pkgbuild no changes diff --git a/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch b/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch new file mode 100644 index 0000000..d833ee8 --- /dev/null +++ b/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch @@ -0,0 +1,29 @@ +From 06ccdfee76fe487a141b95848d1c866890f15d88 Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras <evangelos@foutrelis.com> +Date: Thu, 6 Nov 2014 09:19:26 +0200 +Subject: [PATCH] Add missing include to signals2/trackable.hpp + +boost::weak_ptr started being used in commit a0bf2d1 (Disconnect slots +associated with signals2::trackable immediately) but the matching header +wasn't included. + +https://svn.boost.org/trac/boost/ticket/10100#comment:7 +--- + include/boost/signals2/trackable.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/boost/signals2/trackable.hpp b/include/boost/signals2/trackable.hpp +index dba001d..64e8489 100644 +--- a/include/boost/signals2/trackable.hpp ++++ b/include/boost/signals2/trackable.hpp +@@ -18,6 +18,7 @@ + + #include <boost/assert.hpp> + #include <boost/shared_ptr.hpp> ++#include <boost/weak_ptr.hpp> + + namespace boost { + namespace signals2 { +-- +2.1.3 + diff --git a/abs/extra/boost/PKGBUILD b/abs/extra/boost/PKGBUILD index 7629843..17d4995 100644 --- a/abs/extra/boost/PKGBUILD +++ b/abs/extra/boost/PKGBUILD @@ -1,113 +1,106 @@ -# $Id: PKGBUILD 163703 2012-07-18 01:05:09Z ibiru $ -# Maintainer: kevin <kevin@archlinux.org> +# $Id$ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: kevin <kevin@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Kritoke <kritoke@gamebox.net> # Contributor: Luca Roccia <little_rock@users.sourceforge.net> pkgbase=boost pkgname=('boost-libs' 'boost') -pkgver=1.50.0 +pkgver=1.57.0 _boostver=${pkgver//./_} -pkgrel=1 +pkgrel=3 +url='http://www.boost.org/' arch=('i686' 'x86_64') -url="http://www.boost.org/" -makedepends=('icu' 'python2' 'bzip2' 'zlib' 'openmpi') -source=(http://downloads.sourceforge.net/${pkgbase}/${pkgbase}_${_boostver}.tar.gz) license=('custom') -md5sums=('dbc07ab0254df3dda6300fd737b3f264') +makedepends=('icu>=53.1' 'python2' 'bzip2' 'zlib' 'openmpi') +source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2 + 0001-Add-missing-include-to-signals2-trackable.hpp.patch) +sha1sums=('e151557ae47afd1b43dc3fac46f8b04a8fe51c12' + '35bc8ad7493a641ec708a691036fe5319aec70cd') -_stagedir="${srcdir}/stagedir" +prepare() { + cd ${pkgbase}_${_boostver} + + # https://github.com/boostorg/signals2/pull/8 + patch -Np2 -i ../0001-Add-missing-include-to-signals2-trackable.hpp.patch +} build() { - # set python path for bjam - cd "${srcdir}/${pkgbase}_${_boostver}/tools" - echo "using python : 2.7 : /usr/bin/python2 ;" >> build/v2/user-config.jam - #echo "using python : 3.2 : /usr/bin/python : /usr/include/python3.2mu : /usr/lib ;" >> build/v2/user-config.jam - echo "using mpi ;" >> build/v2/user-config.jam - - cd "${srcdir}"/${pkgbase}_${_boostver} - - # build bjam - cd "${srcdir}/${pkgbase}_${_boostver}/tools/build/v2/engine" - ./build.sh cc - - _bindir="bin.linuxx86" - [ "${CARCH}" = "x86_64" ] && _bindir="bin.linuxx86_64" - - install -d "${_stagedir}"/usr/bin - install ${_bindir}/bjam "${_stagedir}"/usr/bin/bjam - - # build tools - cd "${srcdir}/${pkgbase}_${_boostver}/tools/" - "${_stagedir}"/usr/bin/bjam --toolset=gcc - - # copy the tools - cd "${srcdir}/${pkgbase}_${_boostver}/dist/bin" - for i in *;do - install -m755 "${i}" "${_stagedir}/usr/bin/${i}" - done - - #boostbook needed by quickbook - cd "${srcdir}/${pkgbase}_${_boostver}/dist/" - cp -r share "${_stagedir}" - - # build libs - cd "${srcdir}/${pkgbase}_${_boostver}" - - # default "minimal" install: "release link=shared,static - # runtime-link=shared threading=single,multi" - # --layout=tagged will add the "-mt" suffix for multithreaded libraries - # and installs includes in /usr/include/boost. - # --layout=system no longer adds the -mt suffix for multi-threaded libs. - # install to ${_stagedir} in preparation for split packaging - - "${_stagedir}"/usr/bin/bjam \ - release debug-symbols=off threading=multi \ - runtime-link=shared link=shared,static \ - cflags=-fno-strict-aliasing \ + export _stagedir="${srcdir}/stagedir" + local JOBS="$(sed -e 's/.*\(-j *[0-9]\+\).*/\1/' <<< ${MAKEFLAGS})" + + cd ${pkgbase}_${_boostver} + + ./bootstrap.sh --with-toolset=gcc --with-icu --with-python=/usr/bin/python2 + + _bindir="bin.linuxx86" + [[ "${CARCH}" = "x86_64" ]] && _bindir="bin.linuxx86_64" + install -Dm755 tools/build/src/engine/$_bindir/b2 "${_stagedir}"/bin/b2 + + # Add an extra python version. This does not replace anything and python 2.x + # need to be the default. + #echo "using python : 3.4 : /usr/bin/python3 : /usr/include/python3.4m : /usr/lib ;" \ + # >> project-config.jam + + # Support for OpenMPI + echo "using mpi ;" >> project-config.jam + + # boostbook is needed by quickbook + install -dm755 "${_stagedir}"/share/boostbook + cp -a tools/boostbook/{xsl,dtd} "${_stagedir}"/share/boostbook/ + + # default "minimal" install: "release link=shared,static + # runtime-link=shared threading=single,multi" + # --layout=tagged will add the "-mt" suffix for multithreaded libraries + # and installs includes in /usr/include/boost. + # --layout=system no longer adds the -mt suffix for multi-threaded libs. + # install to ${_stagedir} in preparation for split packaging + "${_stagedir}"/bin/b2 \ + variant=release \ + debug-symbols=off \ + threading=multi \ + runtime-link=shared \ + link=shared,static \ toolset=gcc \ - --prefix="${_stagedir}" \ - -sTOOLS=gcc \ + python=2.7 \ + cflags="${CPPFLAGS} ${CFLAGS} -O3" linkflags="${LDFLAGS}" \ --layout=system \ - ${MAKEFLAGS} \ + --prefix="${_stagedir}" \ + ${JOBS} \ install } package_boost() { - pkgdesc="Free peer-reviewed portable C++ source libraries - Development" - depends=("boost-libs=${pkgver}") - optdepends=(#'python: for python bindings' - 'python2: for python2 bindings' - 'boost-build: to use boost jam for building your project.') - - install -d "${pkgdir}"/usr/{include,lib,share} - # headers/source files - cp -r "${_stagedir}"/include/ "${pkgdir}"/usr/ + pkgdesc='Free peer-reviewed portable C++ source libraries - development headers' + depends=("boost-libs=${pkgver}") + optdepends=('python: for python bindings' + 'python2: for python2 bindings' + 'boost-build: to use boost jam for building your project.') + options=('staticlibs') - # static libs - cp -r "${_stagedir}"/lib/*.a "${pkgdir}"/usr/lib/ + install -dm755 "${pkgdir}"/usr + cp -a "${_stagedir}"/{bin,include,share} "${pkgdir}"/usr - # utilities (bjam, bcp, pyste) - cp -r "${_stagedir}"/usr/* "${pkgdir}"/usr/ + install -d "${pkgdir}"/usr/lib + cp -a "${_stagedir}"/lib/*.a "${pkgdir}"/usr/lib/ - #boostbook - cp -r "${_stagedir}"/share/* "${pkgdir}"/usr/share + install -Dm644 "${srcdir}/"${pkgbase}_${_boostver}/LICENSE_1_0.txt \ + "${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt - # license - install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \ - "${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt + ln -s /usr/bin/b2 "$pkgdir"/usr/bin/bjam } package_boost-libs() { - pkgdesc="Free peer-reviewed portable C++ source libraries - Runtime" - depends=('gcc-libs' 'bzip2' 'zlib' 'icu') - optdepends=('openmpi: for mpi support') + pkgdesc='Free peer-reviewed portable C++ source libraries - runtime libraries' + depends=('bzip2' 'zlib' 'icu') + optdepends=('openmpi: for mpi support') - install -d "${pkgdir}/usr/lib" - #shared libs - cp -r "${_stagedir}"/lib/*.so{,.*} "${pkgdir}/usr/lib/" + install -dm755 "${pkgdir}"/usr + cp -a "${_stagedir}"/lib "${pkgdir}"/usr + rm "${pkgdir}"/usr/lib/*.a - # license - install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \ - "${pkgdir}"/usr/share/licenses/boost-libs/LICENSE_1_0.txt + install -Dm644 "${srcdir}/"${pkgbase}_${_boostver}/LICENSE_1_0.txt \ + "${pkgdir}"/usr/share/licenses/boost-libs/LICENSE_1_0.txt } diff --git a/abs/extra/boost/__changelog b/abs/extra/boost/__changelog new file mode 100644 index 0000000..36e53c0 --- /dev/null +++ b/abs/extra/boost/__changelog @@ -0,0 +1 @@ +PKGBUILD: remove python dep and comment out python 3.4 line diff --git a/abs/extra/cmocka/PKGBUILD b/abs/extra/cmocka/PKGBUILD new file mode 100644 index 0000000..fc28878 --- /dev/null +++ b/abs/extra/cmocka/PKGBUILD @@ -0,0 +1,31 @@ +# $Id$ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> + +pkgname=cmocka +url='http://cmocka.org/' +pkgver=0.4.1 +pkgrel=1 +pkgdesc='an elegant unit testing framework for C with support for mock objects' +arch=(i686 x86_64) +license=(GPL) +depends=(glibc) +makedepends=(cmake) +source=(http://git.cryptomilk.org/projects/cmocka.git/snapshot/cmocka-$pkgver.tar.bz2) +sha1sums=('215378198f489033d982122e34168d9d225e2f5b') + +build() { + rm -rf build; mkdir build + cd build + cmake ../$pkgname-$pkgver -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DUNIT_TESTING=ON + make +} + +check() { + cd build + make test +} + +package() { + cd build + make install DESTDIR="$pkgdir" +} diff --git a/abs/extra/community/gstreamer0.10-base/PKGBUILD b/abs/extra/community/gstreamer0.10-base/PKGBUILD index 5bfea48..bc63724 100644 --- a/abs/extra/community/gstreamer0.10-base/PKGBUILD +++ b/abs/extra/community/gstreamer0.10-base/PKGBUILD @@ -1,41 +1,62 @@ -# $Id: PKGBUILD 153257 2012-03-12 15:48:41Z jgc $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=('gstreamer0.10-base') pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins') pkgver=0.10.36 -pkgrel=1 +pkgrel=3 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('pkgconfig' 'gstreamer0.10>=0.10.35' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection') -options=(!libtool !emptydirs) +makedepends=('pkgconfig' 'gstreamer0.10>=0.10.36' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection' 'git') +options=(!emptydirs) url="http://gstreamer.freedesktop.org/" -source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.xz) -sha256sums=('1fe45c3894903001d4d008b0713dab089f53726dcb5842d5b40c2595a984e64a') +source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-base#commit=48d5966f12d4e6b71c96db0600cf76ef0ef14b3a" + fix-crash-0-byte-ogg.patch + colorbalance-fix-abi.patch + revert-decodebin-playbin-removal.patch + videoscale-fix-negotiation.patch + ayuv64-lanczos.patch + gstaudio-symbols.patch) +sha256sums=('SKIP' + 'a6a01035ea9627737f9c17f72919857ed43ccc7c2cb08b645b43ed89f78d0f4f' + '7442c5c68068428b8c7ac1d3825ce29f1bb152b75b77047b9e806c7d322b780c' + 'ba20659fafea73db016ddaecd128f12087e0957ce35cf2c3ce29f72c51551ef3' + 'ae27f7be58997217f67898b37b138a485c203389e56b65e6b31c23f769ef39ca' + '3792dfe80c69f51c0db98533e8fb16707b5dd2ee6933ea6098583af873ceb44a' + '56e7a988df39d2ec4befa265536ad8c30d3c8d18d136cebef64e8d6baac1abae') + +prepare() { + cd gst-plugins-base + sed -i -e '/AC_PATH_XTRA/d' -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac + patch -Np1 -i ../fix-crash-0-byte-ogg.patch + patch -Np1 -i ../colorbalance-fix-abi.patch + patch -Np1 -i ../ayuv64-lanczos.patch + patch -Np1 -i ../videoscale-fix-negotiation.patch + patch -Np1 -i ../gstaudio-symbols.patch + patch -Np1 -R -i ../revert-decodebin-playbin-removal.patch +} build() { - cd "${srcdir}/gst-plugins-base-${pkgver}" - sed -i '/AC_PATH_XTRA/d' configure.ac - autoreconf + cd gst-plugins-base + NOCONFIGURE=1 ./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --disable-static --enable-experimental --disable-gnome_vfs \ + --disable-static --enable-experimental --disable-gnome_vfs --disable-gtk-doc \ --with-package-name="GStreamer Base Plugins (Archlinux)" \ --with-package-origin="http://www.archlinux.org/" - make sed -e 's/^SUBDIRS_EXT =.*/SUBDIRS_EXT =/' -i Makefile } check() { - cd "${srcdir}/gst-plugins-base-${pkgver}" + cd gst-plugins-base make check } package_gstreamer0.10-base() { pkgdesc="GStreamer Multimedia Framework Base plugin libraries" - depends=('gstreamer0.10>=0.10.35' 'orc' 'libxv') + depends=('gstreamer0.10>=0.10.36' 'orc' 'libxv') - cd "${srcdir}/gst-plugins-base-${pkgver}" + cd gst-plugins-base make DESTDIR="${pkgdir}" install } @@ -46,7 +67,7 @@ package_gstreamer0.10-base-plugins() { conflicts=('gstreamer0.10-alsa' 'gstreamer0.10-theora' 'gstreamer0.10-libvisual' 'gstreamer0.10-pango' 'gstreamer0.10-cdparanoia' 'gstreamer0.10-vorbis' 'gstreamer0.10-ogg') groups=('gstreamer0.10-plugins') - cd "${srcdir}/gst-plugins-base-${pkgver}" + cd gst-plugins-base make -C gst-libs DESTDIR="${pkgdir}" install make -C ext DESTDIR="${pkgdir}" install make -C gst-libs DESTDIR="${pkgdir}" uninstall diff --git a/abs/extra/community/gstreamer0.10-base/__changelog b/abs/extra/community/gstreamer0.10-base/__changelog deleted file mode 100644 index 05c3a3b..0000000 --- a/abs/extra/community/gstreamer0.10-base/__changelog +++ /dev/null @@ -1 +0,0 @@ -removed jack and libpulse diff --git a/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch b/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch new file mode 100644 index 0000000..64106e4 --- /dev/null +++ b/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch @@ -0,0 +1,236 @@ +From e4f01106d08f3c2a65897bfe919bd65ce55545a8 Mon Sep 17 00:00:00 2001 +From: David Schleef <ds@schleef.org> +Date: Wed, 25 Jan 2012 23:49:00 +0000 +Subject: videoscale: Add AYUV64 path to Lanczos + +--- +diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c +index 7b44647..6df4ba6 100644 +--- a/gst/videoscale/gstvideoscale.c ++++ b/gst/videoscale/gstvideoscale.c +@@ -1199,6 +1199,11 @@ gst_video_scale_transform (GstBaseTransform * trans, GstBuffer * in, + case GST_VIDEO_SCALE_4TAP: + vs_image_scale_4tap_AYUV64 (&dest, &src, videoscale->tmp_buf); + break; ++ case GST_VIDEO_SCALE_LANCZOS: ++ vs_image_scale_lanczos_AYUV64 (&dest, &src, videoscale->tmp_buf, ++ videoscale->sharpness, videoscale->dither, videoscale->submethod, ++ videoscale->envelope, videoscale->sharpen); ++ break; + default: + goto unknown_mode; + } +diff --git a/gst/videoscale/vs_image.h b/gst/videoscale/vs_image.h +index 2312acc..7b34991 100644 +--- a/gst/videoscale/vs_image.h ++++ b/gst/videoscale/vs_image.h +@@ -52,6 +52,9 @@ void vs_image_scale_linear_RGBA (const VSImage *dest, const VSImage *src, + void vs_image_scale_lanczos_AYUV (const VSImage * dest, const VSImage * src, + uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod, + double a, double sharpen); ++void vs_image_scale_lanczos_AYUV64 (const VSImage * dest, const VSImage * src, ++ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod, ++ double a, double sharpen); + + void vs_image_scale_nearest_RGB (const VSImage *dest, const VSImage *src, + uint8_t *tmpbuf); +diff --git a/gst/videoscale/vs_lanczos.c b/gst/videoscale/vs_lanczos.c +index 1c87ba3..d141a01 100644 +--- a/gst/videoscale/vs_lanczos.c ++++ b/gst/videoscale/vs_lanczos.c +@@ -204,6 +204,9 @@ static void vs_image_scale_lanczos_AYUV_float (const VSImage * dest, + static void vs_image_scale_lanczos_AYUV_double (const VSImage * dest, + const VSImage * src, uint8_t * tmpbuf, double sharpness, gboolean dither, + double a, double sharpen); ++static void vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, ++ const VSImage * src, uint8_t * tmpbuf, double sharpness, gboolean dither, ++ double a, double sharpen); + + static double + sinc (double x) +@@ -590,6 +593,15 @@ vs_image_scale_lanczos_AYUV (const VSImage * dest, const VSImage * src, + } + } + ++void ++vs_image_scale_lanczos_AYUV64 (const VSImage * dest, const VSImage * src, ++ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod, ++ double a, double sharpen) ++{ ++ vs_image_scale_lanczos_AYUV64_double (dest, src, tmpbuf, sharpness, dither, ++ a, sharpen); ++} ++ + + + #define RESAMPLE_HORIZ_FLOAT(function, dest_type, tap_type, src_type, _n_taps) \ +@@ -813,9 +825,9 @@ RESAMPLE_VERT_DITHER (resample_vert_dither_int16_generic, gint16, gint16, + n_taps, shift) + /* *INDENT-ON* */ + +-#define RESAMPLE_VERT_FLOAT(function, tap_type, src_type, _n_taps, _shift) \ ++#define RESAMPLE_VERT_FLOAT(function, dest_type, clamp, tap_type, src_type, _n_taps, _shift) \ + static void \ +-function (guint8 *dest, \ ++function (dest_type *dest, \ + const tap_type *taps, const src_type *src, int stride, int n_taps, \ + int shift, int n) \ + { \ +@@ -828,13 +840,13 @@ function (guint8 *dest, \ + const src_type *line = PTR_OFFSET(src, stride * l); \ + sum_y += line[i] * taps[l]; \ + } \ +- dest[i] = CLAMP (floor(0.5 + sum_y), 0, 255); \ ++ dest[i] = CLAMP (floor(0.5 + sum_y), 0, clamp); \ + } \ + } + +-#define RESAMPLE_VERT_FLOAT_DITHER(function, tap_type, src_type, _n_taps, _shift) \ ++#define RESAMPLE_VERT_FLOAT_DITHER(function, dest_type, clamp, tap_type, src_type, _n_taps, _shift) \ + static void \ +-function (guint8 *dest, \ ++function (dest_type *dest, \ + const tap_type *taps, const src_type *src, int stride, int n_taps, \ + int shift, int n) \ + { \ +@@ -849,19 +861,24 @@ function (guint8 *dest, \ + sum_y += line[i] * taps[l]; \ + } \ + err_y += sum_y; \ +- dest[i] = CLAMP (floor (err_y), 0, 255); \ ++ dest[i] = CLAMP (floor (err_y), 0, clamp); \ + err_y -= floor (err_y); \ + } \ + } + + /* *INDENT-OFF* */ +-RESAMPLE_VERT_FLOAT (resample_vert_double_generic, double, double, n_taps, ++RESAMPLE_VERT_FLOAT (resample_vert_double_generic, guint8, 255, double, double, n_taps, + shift) +-RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic, double, double, ++RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic, guint8, 255, double, double, + n_taps, shift) + +-RESAMPLE_VERT_FLOAT (resample_vert_float_generic, float, float, n_taps, shift) +-RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_float_generic, float, float, ++RESAMPLE_VERT_FLOAT (resample_vert_double_generic_u16, guint16, 65535, double, double, n_taps, ++ shift) ++RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic_u16, guint16, 65535, double, double, ++ n_taps, shift) ++ ++RESAMPLE_VERT_FLOAT (resample_vert_float_generic, guint8, 255, float, float, n_taps, shift) ++RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_float_generic, guint8, 255, float, float, + n_taps, shift) + /* *INDENT-ON* */ + +@@ -1556,3 +1573,77 @@ vs_image_scale_lanczos_AYUV_float (const VSImage * dest, const VSImage * src, + scale1d_cleanup (&scale->y_scale1d); + g_free (scale->tmpdata); + } ++ ++static void ++vs_scale_lanczos_AYUV64_double (Scale * scale) ++{ ++ int j; ++ int yi; ++ int tmp_yi; ++ ++ tmp_yi = 0; ++ ++ for (j = 0; j < scale->dest->height; j++) { ++ guint16 *destline; ++ double *taps; ++ ++ destline = (guint16 *) (scale->dest->pixels + scale->dest->stride * j); ++ ++ yi = scale->y_scale1d.offsets[j]; ++ ++ while (tmp_yi < yi + scale->y_scale1d.n_taps) { ++ scale->horiz_resample_func (TMP_LINE_DOUBLE_AYUV (tmp_yi), ++ scale->x_scale1d.offsets, scale->x_scale1d.taps, SRC_LINE (tmp_yi), ++ scale->x_scale1d.n_taps, 0, scale->dest->width); ++ tmp_yi++; ++ } ++ ++ taps = (double *) scale->y_scale1d.taps + j * scale->y_scale1d.n_taps; ++ if (scale->dither) { ++ resample_vert_dither_double_generic_u16 (destline, ++ taps, TMP_LINE_DOUBLE_AYUV (scale->y_scale1d.offsets[j]), ++ sizeof (double) * 4 * scale->dest->width, ++ scale->y_scale1d.n_taps, 0, scale->dest->width * 4); ++ } else { ++ resample_vert_double_generic_u16 (destline, ++ taps, TMP_LINE_DOUBLE_AYUV (scale->y_scale1d.offsets[j]), ++ sizeof (double) * 4 * scale->dest->width, ++ scale->y_scale1d.n_taps, 0, scale->dest->width * 4); ++ } ++ } ++} ++ ++void ++vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, const VSImage * src, ++ uint8_t * tmpbuf, double sharpness, gboolean dither, double a, ++ double sharpen) ++{ ++ Scale s = { 0 }; ++ Scale *scale = &s; ++ int n_taps; ++ ++ scale->dest = dest; ++ scale->src = src; ++ ++ n_taps = scale1d_get_n_taps (src->width, dest->width, a, sharpness); ++ scale1d_calculate_taps (&scale->x_scale1d, ++ src->width, dest->width, n_taps, a, sharpness, sharpen); ++ ++ n_taps = scale1d_get_n_taps (src->height, dest->height, a, sharpness); ++ scale1d_calculate_taps (&scale->y_scale1d, ++ src->height, dest->height, n_taps, a, sharpness, sharpen); ++ ++ scale->dither = dither; ++ ++ scale->horiz_resample_func = ++ (HorizResampleFunc) resample_horiz_double_ayuv_generic; ++ ++ scale->tmpdata = ++ g_malloc (sizeof (double) * scale->dest->width * scale->src->height * 4); ++ ++ vs_scale_lanczos_AYUV64_double (scale); ++ ++ scale1d_cleanup (&scale->x_scale1d); ++ scale1d_cleanup (&scale->y_scale1d); ++ g_free (scale->tmpdata); ++} +-- +cgit v0.9.0.2-2-gbebe +From f8dc679ca7e9542e6f410062df5e332fc8e0ba9d Mon Sep 17 00:00:00 2001 +From: David Schleef <ds@schleef.org> +Date: Sun, 19 Feb 2012 08:03:03 +0000 +Subject: videoscale: fix AYUV64 scaling + +--- +diff --git a/gst/videoscale/vs_lanczos.c b/gst/videoscale/vs_lanczos.c +index d141a01..67cd401 100644 +--- a/gst/videoscale/vs_lanczos.c ++++ b/gst/videoscale/vs_lanczos.c +@@ -728,6 +728,9 @@ RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_double_ayuv_generic, double, double, + RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_float_ayuv_generic, float, float, + guint8, n_taps) + ++RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_double_ayuv_generic_s16, double, double, ++ guint16, n_taps) ++ + RESAMPLE_HORIZ (resample_horiz_int32_int32_u8_generic, gint32, gint32, + guint8, n_taps, shift) + RESAMPLE_HORIZ (resample_horiz_int16_int16_u8_generic, gint16, gint16, +@@ -1636,7 +1639,7 @@ vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, const VSImage * src, + scale->dither = dither; + + scale->horiz_resample_func = +- (HorizResampleFunc) resample_horiz_double_ayuv_generic; ++ (HorizResampleFunc) resample_horiz_double_ayuv_generic_s16; + + scale->tmpdata = + g_malloc (sizeof (double) * scale->dest->width * scale->src->height * 4); +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch b/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch new file mode 100644 index 0000000..1e7b8f2 --- /dev/null +++ b/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch @@ -0,0 +1,23 @@ +From 0cb4ccb1f09d39820682e052fc106f5fd7fa1309 Mon Sep 17 00:00:00 2001 +From: Stefan Sauer <ensonic@users.sf.net> +Date: Fri, 24 Feb 2012 20:37:00 +0000 +Subject: interfaces: fix ABI class padding after the recent changes + +--- +(limited to 'gst-libs/gst/interfaces/colorbalance.h') + +diff --git a/gst-libs/gst/interfaces/colorbalance.h b/gst-libs/gst/interfaces/colorbalance.h +index fd8ceaa..9f0a1cd 100644 +--- a/gst-libs/gst/interfaces/colorbalance.h ++++ b/gst-libs/gst/interfaces/colorbalance.h +@@ -102,7 +102,7 @@ struct _GstColorBalanceClass { + GstColorBalanceType (*get_balance_type) (GstColorBalance *balance); + + /*< private >*/ +- gpointer _gst_reserved[GST_PADDING]; ++ gpointer _gst_reserved[GST_PADDING-1]; + }; + + GType gst_color_balance_get_type (void); +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch b/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch new file mode 100644 index 0000000..2c03e82 --- /dev/null +++ b/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch @@ -0,0 +1,22 @@ +From 7f22e3ea7f713867e1fbf2ef71b6a6e36e1f0531 Mon Sep 17 00:00:00 2001 +From: Jonathan Liu <net147@gmail.com> +Date: Sun, 28 Oct 2012 10:07:16 +0000 +Subject: oggstream: fix crash with 0 byte ogg packets + +https://bugzilla.gnome.org/show_bug.cgi?id=687030 +--- +diff --git a/ext/ogg/gstoggstream.c b/ext/ogg/gstoggstream.c +index c79f088..fe28f2e 100644 +--- a/ext/ogg/gstoggstream.c ++++ b/ext/ogg/gstoggstream.c +@@ -790,7 +790,7 @@ setup_vorbis_mapper (GstOggStream * pad, ogg_packet * packet) + static gboolean + is_header_vorbis (GstOggStream * pad, ogg_packet * packet) + { +- if (packet->bytes > 0 && (packet->packet[0] & 0x01) == 0) ++ if (packet->bytes == 0 || (packet->packet[0] & 0x01) == 0) + return FALSE; + + if (packet->packet[0] == 5) { +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch b/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch new file mode 100644 index 0000000..7e2ad0f --- /dev/null +++ b/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch @@ -0,0 +1,10 @@ +--- gst-plugins-base/win32/common/libgstaudio.def.orig 2013-12-10 12:09:41.280012610 +0000 ++++ gst-plugins-base/win32/common/libgstaudio.def 2013-12-10 12:10:12.253127720 +0000 +@@ -24,6 +24,7 @@ + gst_audio_decoder_get_plc_aware + gst_audio_decoder_get_tolerance + gst_audio_decoder_get_type ++ gst_audio_decoder_merge_tags + gst_audio_decoder_set_byte_time + gst_audio_decoder_set_drainable + gst_audio_decoder_set_latency diff --git a/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch b/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch new file mode 100644 index 0000000..2e59139 --- /dev/null +++ b/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch @@ -0,0 +1,122 @@ +From fece626254e3b250e4514d1c92ac8289421d9511 Mon Sep 17 00:00:00 2001 +From: Sebastian Dröge <sebastian.droege@collabora.co.uk> +Date: Thu, 15 Mar 2012 11:34:22 +0000 +Subject: Disable old playbin and decodebin + +--- +diff --git a/gst/playback/Makefile.am b/gst/playback/Makefile.am +index a0f1abc..700f581 100644 +--- a/gst/playback/Makefile.am ++++ b/gst/playback/Makefile.am +@@ -6,19 +6,15 @@ glib_gen_basename = gstplay + built_sources = gstplay-marshal.c + built_headers = gstplay-marshal.h + +-plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin.la libgstdecodebin2.la ++plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin2.la + + csp_cflags = -DCOLORSPACE=\"ffmpegcolorspace\" + + libgstplaybin_la_SOURCES = \ + gstplayback.c \ +- gstplaybin.c \ + gstplaybin2.c \ + gstplaysink.c \ +- gstplaybasebin.c \ + gstplay-enum.c \ +- gststreaminfo.c \ +- gststreamselector.c \ + gstsubtitleoverlay.c \ + gstplaysinkvideoconvert.c \ + gstplaysinkaudioconvert.c \ +@@ -37,17 +33,6 @@ if !GST_PLUGIN_BUILD_STATIC + libgstplaybin_la_LIBTOOLFLAGS = --tag=disable-static + endif + +-libgstdecodebin_la_SOURCES = gstdecodebin.c +-nodist_libgstdecodebin_la_SOURCES = $(built_sources) +-libgstdecodebin_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags) +-libgstdecodebin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +-libgstdecodebin_la_LIBADD = \ +- $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la \ +- $(GST_LIBS) +-if !GST_PLUGIN_BUILD_STATIC +-libgstdecodebin_la_LIBTOOLFLAGS = --tag=disable-static +-endif +- + libgstdecodebin2_la_SOURCES = gstdecodebin2.c gsturidecodebin.c gstplay-enum.c + nodist_libgstdecodebin2_la_SOURCES = $(built_sources) + libgstdecodebin2_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags) +@@ -61,11 +46,8 @@ endif + + noinst_HEADERS = \ + gstplayback.h \ +- gstplaybasebin.h \ + gstplaysink.h \ +- gststreaminfo.h \ + gstplay-enum.h \ +- gststreamselector.h \ + gstrawcaps.h \ + gstsubtitleoverlay.h \ + gstplaysinkvideoconvert.h \ +@@ -83,18 +65,6 @@ include $(top_srcdir)/common/gst-glib-gen.mak + + Android.mk: Makefile.am $(BUILT_SOURCES) + androgenizer \ +- -:PROJECT libgstdecodebin -:SHARED libgstdecodebin \ +- -:TAGS eng debug \ +- -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ +- -:SOURCES $(libgstdecodebin_la_SOURCES) \ +- $(nodist_libgstdecodebin_la_SOURCES) \ +- -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(libgstdecodebin_la_CFLAGS) $(csp_cflags) \ +- -:LDFLAGS $(libgstdecodebin_la_LDFLAGS) \ +- $(libgstdecodebin_la_LIBADD) \ +- -ldl \ +- -:PASSTHROUGH LOCAL_ARM_MODE:=arm \ +- LOCAL_MODULE_PATH:='$$(TARGET_OUT)/lib/gstreamer-0.10' \ +- \ + -:PROJECT libgstdecodebin2 -:SHARED libgstdecodebin2 \ + -:TAGS eng debug \ + -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ +diff --git a/gst/playback/gstplayback.c b/gst/playback/gstplayback.c +index 5b74786..f99df6e 100644 +--- a/gst/playback/gstplayback.c ++++ b/gst/playback/gstplayback.c +@@ -29,8 +29,6 @@ + + #include "gstplayback.h" + #include "gstplaysink.h" +-#include "gststreamselector.h" +-#include "gststreaminfo.h" + #include "gstsubtitleoverlay.h" + + static gboolean +@@ -47,13 +45,7 @@ plugin_init (GstPlugin * plugin) + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + #endif /* ENABLE_NLS */ + +- /* ref class from a thread-safe context to work around missing bit of +- * thread-safety in GObject */ +- g_type_class_ref (GST_TYPE_STREAM_INFO); +- g_type_class_ref (GST_TYPE_STREAM_SELECTOR); +- +- res = gst_play_bin_plugin_init (plugin); +- res &= gst_play_bin2_plugin_init (plugin); ++ res = gst_play_bin2_plugin_init (plugin); + res &= gst_play_sink_plugin_init (plugin); + res &= gst_subtitle_overlay_plugin_init (plugin); + +diff --git a/gst/playback/gstplayback.h b/gst/playback/gstplayback.h +index 4be121c..5981cdd 100644 +--- a/gst/playback/gstplayback.h ++++ b/gst/playback/gstplayback.h +@@ -24,7 +24,6 @@ + #include <gst/gst.h> + + gboolean gst_decode_bin_plugin_init (GstPlugin * plugin); +-gboolean gst_play_bin_plugin_init (GstPlugin * plugin); + gboolean gst_play_bin2_plugin_init (GstPlugin * plugin); + + +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch b/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch new file mode 100644 index 0000000..6e34d41 --- /dev/null +++ b/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch @@ -0,0 +1,171 @@ +From 63d1316c0fd4ce22cf4a53f4aa7cb1ca16a07aa8 Mon Sep 17 00:00:00 2001 +From: Tim-Philipp Müller <tim.muller@collabora.co.uk> +Date: Sun, 26 Feb 2012 18:19:57 +0000 +Subject: videoscale: fix negotiation after addition of new formats and methods + +Now that we no longer support all methods for all formats, we +need to cater for that in the transform function: we can't +transform formats not supported by the currently-selected +mehod. + +make check, folks. It's da bomb. +--- +diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c +index 9f072a3..60dd5ff 100644 +--- a/gst/videoscale/gstvideoscale.c ++++ b/gst/videoscale/gstvideoscale.c +@@ -424,10 +424,118 @@ gst_video_scale_get_property (GObject * object, guint prop_id, GValue * value, + } + } + ++#define NEAREST (1 << GST_VIDEO_SCALE_NEAREST) ++#define BILINEAR (1 << GST_VIDEO_SCALE_BILINEAR) ++#define FOURTAP (1 << GST_VIDEO_SCALE_4TAP) ++#define LANCZOS (1 << GST_VIDEO_SCALE_LANCZOS) ++ ++/* or we could just do lookups via table[format] if we could be bothered.. */ ++static const struct ++{ ++ GstVideoFormat format; ++ guint8 methods; ++} formats_methods_table[] = { ++ { ++ GST_VIDEO_FORMAT_RGBx, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_xRGB, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_BGRx, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_xBGR, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_RGBA, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_ARGB, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_BGRA, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_ABGR, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_AYUV, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_ARGB64, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_AYUV64, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_RGB, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_BGR, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_v308, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_YUY2, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_YVYU, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_UYVY, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_Y800, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_GRAY8, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_GRAY16_LE, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_GRAY16_BE, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_Y16, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_I420, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_YV12, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_Y444, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_Y42B, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_Y41B, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { ++ GST_VIDEO_FORMAT_NV12, NEAREST | BILINEAR}, { ++ GST_VIDEO_FORMAT_RGB16, NEAREST | BILINEAR | FOURTAP}, { ++ GST_VIDEO_FORMAT_RGB15, NEAREST | BILINEAR | FOURTAP} ++}; ++ ++static gboolean ++gst_video_scale_format_supported_for_method (GstVideoFormat format, ++ GstVideoScaleMethod method) ++{ ++ int i; ++ ++ for (i = 0; i < G_N_ELEMENTS (formats_methods_table); ++i) { ++ if (formats_methods_table[i].format == format) ++ return ((formats_methods_table[i].methods & (1 << method)) != 0); ++ } ++ return FALSE; ++} ++ ++static gboolean ++gst_video_scale_transform_supported (GstVideoScale * videoscale, ++ GstVideoScaleMethod method, GstStructure * structure) ++{ ++ const GValue *val; ++ GstVideoFormat fmt; ++ gboolean supported = TRUE; ++ GstStructure *s; ++ GstCaps *c; ++ ++ /* we support these methods for all formats */ ++ if (method == GST_VIDEO_SCALE_NEAREST || method == GST_VIDEO_SCALE_BILINEAR) ++ return TRUE; ++ ++ /* we need fixed caps if we want to use gst_video_parse_caps() */ ++ s = gst_structure_new (gst_structure_get_name (structure), ++ "width", G_TYPE_INT, 1, "height", G_TYPE_INT, 1, NULL); ++ ++ if ((val = gst_structure_get_value (structure, "format"))) { ++ gst_structure_set_value (s, "format", val); ++ } else { ++ if ((val = gst_structure_get_value (structure, "endianness"))) ++ gst_structure_set_value (s, "endianness", val); ++ if ((val = gst_structure_get_value (structure, "red_mask"))) ++ gst_structure_set_value (s, "red_mask", val); ++ if ((val = gst_structure_get_value (structure, "blue_mask"))) ++ gst_structure_set_value (s, "blue_mask", val); ++ if ((val = gst_structure_get_value (structure, "green_mask"))) ++ gst_structure_set_value (s, "green_mask", val); ++ if ((val = gst_structure_get_value (structure, "alpha_mask"))) ++ gst_structure_set_value (s, "alpha_mask", val); ++ if ((val = gst_structure_get_value (structure, "depth"))) ++ gst_structure_set_value (s, "depth", val); ++ if ((val = gst_structure_get_value (structure, "bpp"))) ++ gst_structure_set_value (s, "bpp", val); ++ } ++ c = gst_caps_new_full (s, NULL); ++ if (!gst_video_format_parse_caps (c, &fmt, NULL, NULL)) { ++ GST_ERROR_OBJECT (videoscale, "couldn't parse %" GST_PTR_FORMAT, c); ++ } else if (!gst_video_scale_format_supported_for_method (fmt, method)) { ++ supported = FALSE; ++ } ++ GST_LOG_OBJECT (videoscale, "method %d %ssupported for format %d", ++ method, (supported) ? "" : "not ", fmt); ++ gst_caps_unref (c); ++ ++ return supported; ++} ++ + static GstCaps * + gst_video_scale_transform_caps (GstBaseTransform * trans, + GstPadDirection direction, GstCaps * caps) + { ++ GstVideoScale *videoscale = GST_VIDEO_SCALE (trans); ++ GstVideoScaleMethod method; + GstCaps *ret; + GstStructure *structure; + +@@ -441,6 +549,13 @@ gst_video_scale_transform_caps (GstBaseTransform * trans, + ret = gst_caps_copy (caps); + structure = gst_structure_copy (gst_caps_get_structure (ret, 0)); + ++ GST_OBJECT_LOCK (videoscale); ++ method = videoscale->method; ++ GST_OBJECT_UNLOCK (videoscale); ++ ++ if (!gst_video_scale_transform_supported (videoscale, method, structure)) ++ goto format_not_supported; ++ + gst_structure_set (structure, + "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, + "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL); +@@ -452,9 +567,19 @@ gst_video_scale_transform_caps (GstBaseTransform * trans, + } + gst_caps_append_structure (ret, structure); + ++done: ++ + GST_DEBUG_OBJECT (trans, "returning caps: %" GST_PTR_FORMAT, ret); + + return ret; ++ ++format_not_supported: ++ { ++ gst_structure_free (structure); ++ gst_caps_unref (ret); ++ ret = gst_caps_new_empty (); ++ goto done; ++ } + } + + static gboolean +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD b/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD index e6a0dc3..4330aa4 100644 --- a/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD +++ b/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD @@ -1,32 +1,32 @@ -# $Id: PKGBUILD 147131 2012-01-22 11:26:07Z andyrtr $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gstreamer0.10-ffmpeg pkgver=0.10.13 -pkgrel=1 +pkgrel=2 pkgdesc="Gstreamer FFMpeg Plugin" arch=('i686' 'x86_64') license=('GPL') depends=('gstreamer0.10-base' 'bzip2') -makedepends=('pkgconfig' 'yasm' 'sdl') +makedepends=('pkgconfig' 'yasm' 'sdl' 'git' 'gtk-doc') url="http://www.gstreamer.net" groups=('gstreamer0.10-plugins') -options=('!libtool') -source=(http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-${pkgver}.tar.bz2 cmp_error.patch) +source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-ffmpeg#commit=94e587b9182c6d2fde9a61c9def790c8047453c0") +sha256sums=('SKIP') build() { - cd "${srcdir}/gst-ffmpeg-${pkgver}" - patch -Np1 < $srcdir/cmp_error.patch - unset CFLAGS - unset CXXFLAGS - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --with-ffmpeg-extra-configure="--enable-runtime-cpudetect" + cd gst-ffmpeg + NOCONFIGURE=1 ./autogen.sh + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --enable-gtk-doc --with-ffmpeg-extra-configure="--enable-runtime-cpudetect" make } -package() { - cd "${srcdir}/gst-ffmpeg-${pkgver}" +check() { + cd gst-ffmpeg + make check +} +package() { + cd gst-ffmpeg make DESTDIR="${pkgdir}" install } -md5sums=('7f5beacaf1312db2db30a026b36888c4' - 'eebcd022f3057c65fb3d0320831af6fe') diff --git a/abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch b/abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch deleted file mode 100644 index 602a57f..0000000 --- a/abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch +++ /dev/null @@ -1,39 +0,0 @@ -=================================================================== ---- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 -+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 -@@ -398,7 +398,7 @@ - "2: \n\t"\ - \ - : "+a"(src), "+c"(dst)\ -- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ -+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ - : "memory"\ - );\ - src += 4-(h+5)*srcStride;\ -@@ -446,7 +446,7 @@ - QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ - "2: \n\t"\ - : "+a"(src)\ -- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ -+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ - : "memory"\ - );\ - tmp += 4;\ -@@ -823,7 +823,7 @@ - "2: \n\t"\ - \ - : "+a"(src), "+c"(dst)\ -- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ -+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ - : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ - "memory"\ -@@ -878,7 +878,7 @@ - QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) - "2: \n\t" - : "+a"(src) -- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) -+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) - : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", - "%xmm4", "%xmm5", "%xmm6", "%xmm7",) - "memory" diff --git a/abs/extra/community/gstreamer0.10-good/PKGBUILD b/abs/extra/community/gstreamer0.10-good/PKGBUILD index 1f3b841..c2b316a 100644 --- a/abs/extra/community/gstreamer0.10-good/PKGBUILD +++ b/abs/extra/community/gstreamer0.10-good/PKGBUILD @@ -1,29 +1,40 @@ -# $Id: PKGBUILD 153259 2012-03-12 16:05:31Z jgc $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gstreamer0.10-good pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins') pkgver=0.10.31 -pkgrel=1 +pkgrel=6 arch=('i686' 'x86_64') license=('LGPL') -makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'udev') +makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'git' 'cairo') url="http://gstreamer.freedesktop.org/" -options=(!libtool !emptydirs) -source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.xz) -sha256sums=('77a8436a7c0a15f876bad29616835046890df2bcaf72da02151bd91e3d292b64') +options=(!emptydirs) +source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good#commit=e28fd8886f05bb51c147f871f3a1db2fc2b735a9" + test-rtp-payloading.patch) +sha256sums=('SKIP' + 'c2f7f07f9bf5ca3afddc81d0a44665d2d54b1e9aea0ef1b25d219cf34bf7bb29') + +prepare() { + cd gst-plugins-good -build() { - cd "${srcdir}/gst-plugins-good-${pkgver}" sed -i '/AC_PATH_XTRA/d' configure.ac - autoreconf + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac + + patch -p1 -i ../test-rtp-payloading.patch +} + +build() { + cd gst-plugins-good + NOCONFIGURE=1 ./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-static --enable-experimental \ --disable-schemas-install \ --disable-hal \ --disable-esd \ - --disable-pusle \ + --disable-pulse \ --disable-jack \ + --disable-gtk-doc \ --with-package-name="GStreamer Good Plugins (Archlinux)" \ --with-package-origin="http://www.archlinux.org/" @@ -31,8 +42,8 @@ build() { sed -e 's/gst sys ext/gst/' -i Makefile } -_check() { - cd "${srcdir}/gst-plugins-good-${pkgver}" +check() { + cd gst-plugins-good make check } @@ -40,20 +51,20 @@ package_gstreamer0.10-good() { depends=('gstreamer0.10-base>=0.10.34' 'bzip2') pkgdesc="GStreamer Multimedia Framework Good plugin libraries" - cd "${srcdir}/gst-plugins-good-${pkgver}" + cd gst-plugins-good make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install rm -rf "${pkgdir}/etc/gconf" } package_gstreamer0.10-good-plugins() { - depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'udev') + depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'cairo' 'gdk-pixbuf2') pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)" groups=('gstreamer0.10-plugins') replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') conflicts=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-bad-plugins<0.10.7' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') install=gstreamer0.10-good-plugins.install - cd "${srcdir}/gst-plugins-good-${pkgver}" + cd gst-plugins-good make -C sys DESTDIR="${pkgdir}" install make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/gconf/schemas" diff --git a/abs/extra/community/gstreamer0.10-good/__changelog b/abs/extra/community/gstreamer0.10-good/__changelog new file mode 100644 index 0000000..387bdff --- /dev/null +++ b/abs/extra/community/gstreamer0.10-good/__changelog @@ -0,0 +1 @@ +PKGBUILD: remove jack and libpulse dep and disable in configure diff --git a/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch b/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch new file mode 100644 index 0000000..e8a9431 --- /dev/null +++ b/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch @@ -0,0 +1,422 @@ +From dca42d4767adff3578e5d5990604766735ec1f9b Mon Sep 17 00:00:00 2001 +From: Tim-Philipp Müller <tim.muller@collabora.co.uk> +Date: Fri, 10 Feb 2012 13:44:43 +0000 +Subject: tests: clean up rtp-payloading test a little + +Feed data into the pipeline using appsrc instead of fdsrc and +a pipe. Store unsigned byte values in guint8 instead of char. +Getting rid of the capsfilter also helps to avoid 'format is +not fully specified' warnings when pushing "video/x-h264" data +into rtph264pay with fully specified h264 caps in the sink template. +--- +diff --git a/tests/check/elements/rtp-payloading.c b/tests/check/elements/rtp-payloading.c +index b2160f4..7b4985b 100644 +--- a/tests/check/elements/rtp-payloading.c ++++ b/tests/check/elements/rtp-payloading.c +@@ -31,13 +31,11 @@ + typedef struct + { + GstElement *pipeline; +- GstElement *fdsrc; +- GstElement *capsfilter; ++ GstElement *appsrc; + GstElement *rtppay; + GstElement *rtpdepay; + GstElement *fakesink; +- int fd[2]; +- const char *frame_data; ++ const guint8 *frame_data; + int frame_data_size; + int frame_count; + } rtp_pipeline; +@@ -140,13 +138,11 @@ rtp_bus_callback (GstBus * bus, GstMessage * message, gpointer data) + * The user must free the RTP pipeline when it's not used anymore. + */ + static rtp_pipeline * +-rtp_pipeline_create (const char *frame_data, int frame_data_size, ++rtp_pipeline_create (const guint8 * frame_data, int frame_data_size, + int frame_count, const char *filtercaps, const char *pay, const char *depay) + { + gchar *pipeline_name; +- + rtp_pipeline *p; +- + GstCaps *caps; + + /* Check parameters. */ +@@ -165,60 +161,39 @@ rtp_pipeline_create (const char *frame_data, int frame_data_size, + pipeline_name = g_strdup_printf ("%s-%s-pipeline", pay, depay); + p->pipeline = gst_pipeline_new (pipeline_name); + g_free (pipeline_name); +- p->fdsrc = gst_element_factory_make ("fdsrc", NULL); +- p->capsfilter = gst_element_factory_make ("capsfilter", NULL); ++ p->appsrc = gst_element_factory_make ("appsrc", NULL); + p->rtppay = gst_element_factory_make (pay, NULL); + p->rtpdepay = gst_element_factory_make (depay, NULL); + p->fakesink = gst_element_factory_make ("fakesink", NULL); + + /* One or more elements are not created successfully or failed to create p? */ +- if (!p->pipeline || !p->fdsrc || !p->capsfilter || !p->rtppay || !p->rtpdepay +- || !p->fakesink || pipe (p->fd) == -1) { ++ if (!p->pipeline || !p->appsrc || !p->rtppay || !p->rtpdepay || !p->fakesink) { + /* Release created elements. */ + RELEASE_ELEMENT (p->pipeline); +- RELEASE_ELEMENT (p->fdsrc); +- RELEASE_ELEMENT (p->capsfilter); ++ RELEASE_ELEMENT (p->appsrc); + RELEASE_ELEMENT (p->rtppay); + RELEASE_ELEMENT (p->rtpdepay); + RELEASE_ELEMENT (p->fakesink); + +- /* Close pipe. */ +- if (p->fd[0]) { +- close (p->fd[0]); +- } +- +- if (p->fd[1]) { +- close (p->fd[1]); +- } +- + /* Release allocated memory. */ + free (p); + + return NULL; + } + +- /* Set fdsrc properties. */ +- g_object_set (p->fdsrc, "fd", p->fd[0], NULL); +- g_object_set (p->fdsrc, "do-timestamp", TRUE, NULL); +- g_object_set (p->fdsrc, "blocksize", p->frame_data_size, NULL); +- g_object_set (p->fdsrc, "num-buffers", p->frame_count * LOOP_COUNT, NULL); +- +- /* Set caps filters. */ ++ /* Set src properties. */ + caps = gst_caps_from_string (filtercaps); +- +- g_object_set (p->capsfilter, "caps", caps, NULL); ++ g_object_set (p->appsrc, "do-timestamp", TRUE, "caps", caps, NULL); + gst_caps_unref (caps); + + /* Add elements to the pipeline. */ +- gst_bin_add (GST_BIN (p->pipeline), p->fdsrc); +- gst_bin_add (GST_BIN (p->pipeline), p->capsfilter); ++ gst_bin_add (GST_BIN (p->pipeline), p->appsrc); + gst_bin_add (GST_BIN (p->pipeline), p->rtppay); + gst_bin_add (GST_BIN (p->pipeline), p->rtpdepay); + gst_bin_add (GST_BIN (p->pipeline), p->fakesink); + + /* Link elements. */ +- gst_element_link (p->fdsrc, p->capsfilter); +- gst_element_link (p->capsfilter, p->rtppay); ++ gst_element_link (p->appsrc, p->rtppay); + gst_element_link (p->rtppay, p->rtpdepay); + gst_element_link (p->rtpdepay, p->fakesink); + +@@ -240,15 +215,6 @@ rtp_pipeline_destroy (rtp_pipeline * p) + /* Release pipeline. */ + RELEASE_ELEMENT (p->pipeline); + +- /* Close pipe. */ +- if (p->fd[0]) { +- close (p->fd[0]); +- } +- +- if (p->fd[1]) { +- close (p->fd[1]); +- } +- + /* Release allocated memory. */ + free (p); + } +@@ -260,11 +226,10 @@ rtp_pipeline_destroy (rtp_pipeline * p) + static void + rtp_pipeline_run (rtp_pipeline * p) + { ++ GstFlowReturn flow_ret; + GMainLoop *mainloop = NULL; +- + GstBus *bus; +- +- gint i; ++ gint i, j; + + /* Check parameters. */ + if (p == NULL) { +@@ -286,22 +251,28 @@ rtp_pipeline_run (rtp_pipeline * p) + /* Set pipeline to PLAYING. */ + gst_element_set_state (p->pipeline, GST_STATE_PLAYING); + +- /* TODO: Writing may need some changes... */ +- ++ /* Push data into the pipeline */ + for (i = 0; i < LOOP_COUNT; i++) { +- const char *frame_data_pointer = p->frame_data; +- int res; +- int frame_count = p->frame_count; +- +- /* Write in to the pipe. */ +- while (frame_count > 0) { +- res = write (p->fd[1], frame_data_pointer, p->frame_data_size); +- fail_unless_equals_int (res, p->frame_data_size); +- frame_data_pointer += p->frame_data_size; +- frame_count--; ++ const guint8 *data = p->frame_data; ++ ++ for (j = 0; j < p->frame_count; j++) { ++ GstBuffer *buf; ++ ++ buf = gst_buffer_new (); ++ GST_BUFFER_DATA (buf) = (guint8 *) data; ++ GST_BUFFER_SIZE (buf) = p->frame_data_size; ++ GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_READONLY); ++ ++ g_signal_emit_by_name (p->appsrc, "push-buffer", buf, &flow_ret); ++ fail_unless_equals_int (flow_ret, GST_FLOW_OK); ++ data += p->frame_data_size; ++ ++ gst_buffer_unref (buf); + } + } + ++ g_signal_emit_by_name (p->appsrc, "end-of-stream", &flow_ret); ++ + /* Run mainloop. */ + g_main_loop_run (mainloop); + +@@ -350,8 +321,8 @@ rtp_pipeline_enable_lists (rtp_pipeline * p, guint mtu_size) + * @use_lists enable buffer lists + */ + static void +-rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count, +- const char *filtercaps, const char *pay, const char *depay, ++rtp_pipeline_test (const guint8 * frame_data, int frame_data_size, ++ int frame_count, const char *filtercaps, const char *pay, const char *depay, + guint bytes_sent, guint mtu_size, gboolean use_lists) + { + /* Create RTP pipeline. */ +@@ -380,7 +351,7 @@ rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count, + } + } + +-static char rtp_ilbc_frame_data[] = ++static const guint8 rtp_ilbc_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -397,7 +368,7 @@ GST_START_TEST (rtp_ilbc) + } + + GST_END_TEST; +-static char rtp_gsm_frame_data[] = ++static const guint8 rtp_gsm_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -414,7 +385,7 @@ GST_START_TEST (rtp_gsm) + } + + GST_END_TEST; +-static char rtp_amr_frame_data[] = ++static const guint8 rtp_amr_frame_data[] = + { 0x3c, 0x24, 0x03, 0xb3, 0x48, 0x10, 0x68, 0x46, 0x6c, 0xec, 0x03, + 0x7a, 0x37, 0x16, 0x41, 0x41, 0xc0, 0x00, 0x0d, 0xcd, 0x12, 0xed, + 0xad, 0x80, 0x00, 0x00, 0x11, 0x31, 0x00, 0x00, 0x0d, 0xa0 +@@ -432,7 +403,7 @@ GST_START_TEST (rtp_amr) + } + + GST_END_TEST; +-static char rtp_pcma_frame_data[] = ++static const guint8 rtp_pcma_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -449,7 +420,7 @@ GST_START_TEST (rtp_pcma) + } + + GST_END_TEST; +-static char rtp_pcmu_frame_data[] = ++static const guint8 rtp_pcmu_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -466,7 +437,7 @@ GST_START_TEST (rtp_pcmu) + } + + GST_END_TEST; +-static char rtp_mpa_frame_data[] = ++static const guint8 rtp_mpa_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -483,7 +454,7 @@ GST_START_TEST (rtp_mpa) + } + + GST_END_TEST; +-static char rtp_h263_frame_data[] = ++static const guint8 rtp_h263_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -495,12 +466,12 @@ static int rtp_h263_frame_count = 1; + GST_START_TEST (rtp_h263) + { + rtp_pipeline_test (rtp_h263_frame_data, rtp_h263_frame_data_size, +- rtp_h263_frame_count, "video/x-h263,variant=itu,h263version=h263", ++ rtp_h263_frame_count, "video/x-h263,variant=(string)itu,h263version=h263", + "rtph263pay", "rtph263depay", 0, 0, FALSE); + } + + GST_END_TEST; +-static char rtp_h263p_frame_data[] = ++static const guint8 rtp_h263p_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -512,12 +483,12 @@ static int rtp_h263p_frame_count = 1; + GST_START_TEST (rtp_h263p) + { + rtp_pipeline_test (rtp_h263p_frame_data, rtp_h263p_frame_data_size, +- rtp_h263p_frame_count, "video/x-h263,variant=itu", "rtph263ppay", ++ rtp_h263p_frame_count, "video/x-h263,variant=(string)itu", "rtph263ppay", + "rtph263pdepay", 0, 0, FALSE); + } + + GST_END_TEST; +-static char rtp_h264_frame_data[] = ++static const guint8 rtp_h264_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -528,13 +499,14 @@ static int rtp_h264_frame_count = 1; + + GST_START_TEST (rtp_h264) + { ++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */ + rtp_pipeline_test (rtp_h264_frame_data, rtp_h264_frame_data_size, + rtp_h264_frame_count, "video/x-h264", "rtph264pay", "rtph264depay", + 0, 0, FALSE); + } + + GST_END_TEST; +-static char rtp_h264_list_lt_mtu_frame_data[] = ++static const guint8 rtp_h264_list_lt_mtu_frame_data[] = + /* not packetized, next NAL starts with 0001 */ + { 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +@@ -552,6 +524,7 @@ static int rtp_h264_list_lt_mtu_mtu_size = 1024; + + GST_START_TEST (rtp_h264_list_lt_mtu) + { ++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */ + rtp_pipeline_test (rtp_h264_list_lt_mtu_frame_data, + rtp_h264_list_lt_mtu_frame_data_size, rtp_h264_list_lt_mtu_frame_count, + "video/x-h264", "rtph264pay", "rtph264depay", +@@ -559,7 +532,7 @@ GST_START_TEST (rtp_h264_list_lt_mtu) + } + + GST_END_TEST; +-static char rtp_h264_list_gt_mtu_frame_data[] = ++static const guint8 rtp_h264_list_gt_mtu_frame_data[] = + /* not packetized, next NAL starts with 0001 */ + { 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +@@ -580,6 +553,7 @@ static int rtp_h264_list_gt_mtu_mty_size = 28; + + GST_START_TEST (rtp_h264_list_gt_mtu) + { ++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */ + rtp_pipeline_test (rtp_h264_list_gt_mtu_frame_data, + rtp_h264_list_gt_mtu_frame_data_size, rtp_h264_list_gt_mtu_frame_count, + "video/x-h264", "rtph264pay", "rtph264depay", +@@ -587,7 +561,7 @@ GST_START_TEST (rtp_h264_list_gt_mtu) + } + + GST_END_TEST; +-static char rtp_L16_frame_data[] = ++static const guint8 rtp_L16_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -605,7 +579,7 @@ GST_START_TEST (rtp_L16) + } + + GST_END_TEST; +-static char rtp_mp2t_frame_data[] = ++static const guint8 rtp_mp2t_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -622,7 +596,7 @@ GST_START_TEST (rtp_mp2t) + } + + GST_END_TEST; +-static char rtp_mp4v_frame_data[] = ++static const guint8 rtp_mp4v_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -639,7 +613,7 @@ GST_START_TEST (rtp_mp4v) + } + + GST_END_TEST; +-static char rtp_mp4v_list_frame_data[] = ++static const guint8 rtp_mp4v_list_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -659,7 +633,7 @@ GST_START_TEST (rtp_mp4v_list) + } + + GST_END_TEST; +-static char rtp_mp4g_frame_data[] = ++static const guint8 rtp_mp4g_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -677,7 +651,7 @@ GST_START_TEST (rtp_mp4g) + } + + GST_END_TEST; +-static char rtp_theora_frame_data[] = ++static const guint8 rtp_theora_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -694,7 +668,7 @@ GST_START_TEST (rtp_theora) + } + + GST_END_TEST; +-static char rtp_vorbis_frame_data[] = ++static const guint8 rtp_vorbis_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +@@ -711,7 +685,7 @@ GST_START_TEST (rtp_vorbis) + } + + GST_END_TEST; +-static char rtp_jpeg_frame_data[] = ++static const guint8 rtp_jpeg_frame_data[] = + { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08, + 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08, + /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08, +@@ -738,7 +712,7 @@ GST_START_TEST (rtp_jpeg) + } + + GST_END_TEST; +-static char rtp_jpeg_list_frame_data[] = ++static const guint8 rtp_jpeg_list_frame_data[] = + { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08, + 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08, + /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08, +@@ -767,7 +741,7 @@ GST_START_TEST (rtp_jpeg_list) + } + + GST_END_TEST; +-static char rtp_g729_frame_data[] = ++static const guint8 rtp_g729_frame_data[] = + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-python/PKGBUILD b/abs/extra/community/gstreamer0.10-python/PKGBUILD index 2af9448..f16d91f 100644 --- a/abs/extra/community/gstreamer0.10-python/PKGBUILD +++ b/abs/extra/community/gstreamer0.10-python/PKGBUILD @@ -1,16 +1,15 @@ -# $Id: PKGBUILD 147133 2012-01-22 11:30:42Z andyrtr $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gstreamer0.10-python pkgver=0.10.22 -pkgrel=1 +pkgrel=2 pkgdesc="Python bindings for GStreamer 0.10" arch=('i686' 'x86_64') license=('LGPL') url="http://gstreamer.freedesktop.org/" depends=('pygobject>=2.20.0' 'gstreamer0.10-base>=0.10.32') makedepends=('pkgconfig') -options=('!libtool') source=(http://gstreamer.freedesktop.org/src/gst-python/gst-python-${pkgver}.tar.bz2) md5sums=('937152fe896241f827689f4b53e79b22') diff --git a/abs/extra/community/gstreamer0.10/PKGBUILD b/abs/extra/community/gstreamer0.10/PKGBUILD index 07299a4..d856335 100644 --- a/abs/extra/community/gstreamer0.10/PKGBUILD +++ b/abs/extra/community/gstreamer0.10/PKGBUILD @@ -1,36 +1,45 @@ -# $Id: PKGBUILD 153252 2012-03-12 14:53:39Z jgc $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gstreamer0.10 pkgver=0.10.36 -pkgrel=1 +pkgrel=4 pkgdesc="GStreamer Multimedia Framework" arch=('i686' 'x86_64') license=('LGPL') -url="http://gstreamer.freedesktop.org/" +url="http://gstreamer.com" depends=('libxml2' 'glib2') -optdepends=('sh: feedback script') -makedepends=('intltool' 'pkgconfig' 'gtk-doc' 'gobject-introspection') -options=('!libtool') -source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz) -md5sums=('15389c73e091b1dda915279c388b9cb2') +makedepends=('intltool' 'pkgconfig' 'gobject-introspection' 'git') +source=("git://anongit.freedesktop.org/gstreamer-sdk/gstreamer#commit=3ddc31eaa18c3be1613e43430eca78a3e445639e" + tests-remove-silly-test_fail_abstract_new-check.patch + bison3.patch) +sha256sums=('SKIP' + 'd3d3f4f04453831fdb4244bfe174a38c4e6f9f4da5c8c9050dcfa1a6097aad52' + 'ed154e280abf59b24d98a8ab0fe868b449b26aa61f7ae3813fab8ac615fcaefa') +prepare() { + cd gstreamer + patch -Np1 -i ../tests-remove-silly-test_fail_abstract_new-check.patch + patch -Np1 -i ../bison3.patch + sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -i configure.ac +} build() { - cd "${srcdir}/gstreamer-${pkgver}" + cd gstreamer + NOCONFIGURE=1 ./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \ --with-package-name="GStreamer (Archlinux)" \ --with-package-origin="http://www.archlinux.org/" \ - --enable-gtk-doc --disable-static + --disable-gtk-doc --disable-static make } check() { - cd "${srcdir}/gstreamer-${pkgver}" + cd gstreamer make check } package() { - cd "${srcdir}/gstreamer-${pkgver}" + cd gstreamer make DESTDIR="${pkgdir}" install #Remove unversioned gst-* binaries to get rid of conflicts diff --git a/abs/extra/community/gstreamer0.10/bison3.patch b/abs/extra/community/gstreamer0.10/bison3.patch new file mode 100644 index 0000000..4f4f521 --- /dev/null +++ b/abs/extra/community/gstreamer0.10/bison3.patch @@ -0,0 +1,31 @@ +From bd2a01cfe222367493a71f3269f12250c8972db0 Mon Sep 17 00:00:00 2001 +From: Kerrick Staley <kerrick@kerrickstaley.com> +Date: Wed, 21 Aug 2013 06:59:29 +0000 +Subject: parse: make grammar.y work with Bison 3 + +YYLEX_PARAM is no longer supported in Bison 3. + +https://bugzilla.gnome.org/show_bug.cgi?id=706462 +--- +diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y +index 8a9019c..f533389 100644 +--- a/gst/parse/grammar.y ++++ b/gst/parse/grammar.y +@@ -26,7 +26,6 @@ + */ + + #define YYERROR_VERBOSE 1 +-#define YYLEX_PARAM scanner + + #define YYENABLE_NLS 0 + +@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s); + %right '.' + %left '!' '=' + ++%lex-param { void *scanner } + %parse-param { void *scanner } + %parse-param { graph_t *graph } + %pure-parser +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch b/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch new file mode 100644 index 0000000..7524e8f --- /dev/null +++ b/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch @@ -0,0 +1,60 @@ +From 5bff3ba949d2ac0a9946c1240e6d4a5bb53fda99 Mon Sep 17 00:00:00 2001 +From: Tim-Philipp Müller <tim.muller@collabora.co.uk> +Date: Wed, 08 Aug 2012 13:49:23 +0000 +Subject: tests: remove silly test_fail_abstract_new check + +Our check would make sure that GLib segfaults when +someone tries to instantiate an abstract type, which +is an extremely useful thing to check for. + +In newer GLibs this is fixed and we get an abort with +a g_error() now it seems, so let's just remove this +check entirely. +--- +(limited to 'tests/check/gst/gstobject.c') + +diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c +index 6f7ccb8..ce2ed3e 100644 +--- a/tests/check/gst/gstobject.c ++++ b/tests/check/gst/gstobject.c +@@ -72,19 +72,6 @@ gst_fake_object_get_type (void) + return fake_object_type; + } + +-#ifndef HAVE_OSX +-/* g_object_new on abstract GstObject should fail */ +-GST_START_TEST (test_fail_abstract_new) +-{ +- GstObject *object; +- +- ASSERT_CRITICAL (object = g_object_new (gst_object_get_type (), NULL)); +- fail_unless (object == NULL, "Created an instance of abstract GstObject"); +-} +- +-GST_END_TEST; +-#endif +- + /* g_object_new on GstFakeObject should succeed */ + GST_START_TEST (test_fake_object_new) + { +@@ -529,18 +516,6 @@ gst_object_suite (void) + tcase_add_test (tc_chain, test_fake_object_has_ancestor); + //tcase_add_checked_fixture (tc_chain, setup, teardown); + +- /* FIXME: GLib shouldn't crash here, but issue a warning and return a NULL +- * object, or at least g_error() and then abort properly ... (tpm) */ +-#ifndef HAVE_OSX +- /* Disabled for OS/X because a) it's a pretty silly test anyway and +- * b) different OS/X versions raise different signals and it isn't worth +- * the effort to try and detect which one should be producing which +- */ +- /* SEGV tests go last so we can debug the others */ +- if (g_getenv ("CK_FORK") == NULL || strcmp (g_getenv ("CK_FORK"), "no") != 0) +- tcase_add_test_raise_signal (tc_chain, test_fail_abstract_new, SIGSEGV); +-#endif +- + return s; + } + +-- +cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/cpio/PKGBUILD b/abs/extra/cpio/PKGBUILD new file mode 100644 index 0000000..c9e2054 --- /dev/null +++ b/abs/extra/cpio/PKGBUILD @@ -0,0 +1,49 @@ +# $Id$ +# Maintainer: judd <jvinet@zeroflux.org> +pkgname=cpio +pkgver=2.11 +pkgrel=5 +pkgdesc="A tool to copy files into or out of a cpio or tar archive" +arch=(i686 x86_64) +license=('GPL') +url="http://www.gnu.org/software/cpio" +depends=('glibc') +source=(ftp://ftp.gnu.org/gnu/cpio/cpio-${pkgver}.tar.gz + cpio-2.11-stdio.in.patch + cpio-2.11-CVE-2014-9112.patch + cpio-2.11-testsuite-CVE-2014-9112.patch) +install=cpio.install +md5sums=('1112bb6c45863468b5496ba128792f6c' + 'd7e58f2a1ec286febd09ea75042cf96e' + '2541e37b85cb7baffc3a3f687453737c' + '348870bebae57146eafeb189adbd43a4') + +prepare() { + cd ${srcdir}/${pkgname}-${pkgver} + patch -Np1 -i ${srcdir}/cpio-2.11-stdio.in.patch + # from fedora git + patch -Np1 -i ${srcdir}/cpio-2.11-CVE-2014-9112.patch + patch -Np1 -i ${srcdir}/cpio-2.11-testsuite-CVE-2014-9112.patch +} + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + rm -f ${pkgdir}/usr/bin/mt ${pkgdir}/pkg/usr/share/man/man1/mt.1 + rm -rf ${pkgdir}/usr/libexec + # remove mt manpage it conflicts with mt-st from extra + rm $pkgdir/usr/share/man/man1/mt.1 || return 1 + # remove infodir + rm $pkgdir/usr/share/info/dir +} diff --git a/abs/extra/cpio/cpio-2.11-CVE-2014-9112.patch b/abs/extra/cpio/cpio-2.11-CVE-2014-9112.patch new file mode 100644 index 0000000..64fec9f --- /dev/null +++ b/abs/extra/cpio/cpio-2.11-CVE-2014-9112.patch @@ -0,0 +1,212 @@ +diff --git a/src/copyin.c b/src/copyin.c +index d505407..db8ee66 100644 +--- a/src/copyin.c ++++ b/src/copyin.c +@@ -124,10 +124,30 @@ tape_skip_padding (int in_file_des, off_t offset) + if (pad != 0) + tape_toss_input (in_file_des, pad); + } +- ++ ++static char * ++get_link_name (struct cpio_file_stat *file_hdr, int in_file_des) ++{ ++ char *link_name; ++ ++ if (file_hdr->c_filesize < 0 || file_hdr->c_filesize > SIZE_MAX-1) ++ { ++ error (0, 0, _("%s: stored filename length is out of range"), ++ file_hdr->c_name); ++ link_name = NULL; ++ } ++ else ++ { ++ link_name = xmalloc (file_hdr->c_filesize + 1); ++ tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); ++ link_name[file_hdr->c_filesize] = '\0'; ++ tape_skip_padding (in_file_des, file_hdr->c_filesize); ++ } ++ return link_name; ++} + + static void +-list_file(struct cpio_file_stat* file_hdr, int in_file_des) ++list_file (struct cpio_file_stat* file_hdr, int in_file_des) + { + if (verbose_flag) + { +@@ -136,21 +156,16 @@ list_file(struct cpio_file_stat* file_hdr, int in_file_des) + { + if (archive_format != arf_tar && archive_format != arf_ustar) + { +- char *link_name = NULL; /* Name of hard and symbolic links. */ +- +- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); +- link_name[file_hdr->c_filesize] = '\0'; +- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); +- long_format (file_hdr, link_name); +- free (link_name); +- tape_skip_padding (in_file_des, file_hdr->c_filesize); +- return; ++ char *link_name = get_link_name (file_hdr, in_file_des); ++ if (link_name) ++ { ++ long_format (file_hdr, link_name); ++ free (link_name); ++ } + } + else +- { +- long_format (file_hdr, file_hdr->c_tar_linkname); +- return; +- } ++ long_format (file_hdr, file_hdr->c_tar_linkname); ++ return; + } + else + #endif +@@ -650,10 +665,7 @@ copyin_link(struct cpio_file_stat *file_hdr, int in_file_des) + + if (archive_format != arf_tar && archive_format != arf_ustar) + { +- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); +- link_name[file_hdr->c_filesize] = '\0'; +- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); +- tape_skip_padding (in_file_des, file_hdr->c_filesize); ++ link_name = get_link_name (file_hdr, in_file_des); + } + else + { +diff --git a/tests/Makefile.am b/tests/Makefile.am +index b3e8e60..cf186da 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -52,6 +52,8 @@ TESTSUITE_AT = \ + setstat04.at\ + setstat05.at\ + symlink.at\ ++ symlink-bad-length.at\ ++ symlink-long.at\ + version.at + + TESTSUITE = $(srcdir)/testsuite +diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at +new file mode 100644 +index 0000000..cbf4aa7 +--- /dev/null ++++ b/tests/symlink-bad-length.at +@@ -0,0 +1,49 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++# Copyright (C) 2014 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301 USA. ++ ++# Cpio v2.11 did segfault with badly set symlink length. ++# References: ++# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html ++ ++AT_SETUP([symlink-bad-length]) ++AT_KEYWORDS([symlink-long copyout]) ++ ++AT_DATA([ARCHIVE.base64], ++[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv ++JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF ++UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= ++]) ++ ++AT_CHECK([ ++base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST ++cpio -ntv < ARCHIVE ++test $? -eq 2 ++], ++[0], ++[-rw-rw-r-- 1 10029 10031 13 Nov 25 13:52 FILE ++],[cpio: LINK: stored filename length is out of range ++cpio: premature end of file ++]) ++ ++AT_CLEANUP +diff --git a/tests/symlink-long.at b/tests/symlink-long.at +new file mode 100644 +index 0000000..d3def2d +--- /dev/null ++++ b/tests/symlink-long.at +@@ -0,0 +1,46 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++# Copyright (C) 2014 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3, or (at your option) ++# any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301 USA. ++ ++# Cpio v2.11.90 changed the way symlink name is read from archive. ++# References: ++# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html ++ ++AT_SETUP([symlink-long]) ++AT_KEYWORDS([symlink-long copyout]) ++ ++AT_CHECK([ ++ ++# len(dirname) > READBUFSIZE ++dirname= ++for i in {1..52}; do ++ dirname="xxxxxxxxx/$dirname" ++ mkdir "$dirname" ++done ++ln -s "$dirname" x || AT_SKIP_TEST ++ ++echo x | cpio -o > ar ++list=`cpio -tv < ar | sed 's|.*-> ||'` ++test "$list" = "$dirname" && echo success || echo fail ++], ++[0], ++[success ++],[2 blocks ++2 blocks ++]) ++ ++AT_CLEANUP +diff --git a/tests/testsuite.at b/tests/testsuite.at +index 8f3330b..590bdcb 100644 +--- a/tests/testsuite.at ++++ b/tests/testsuite.at +@@ -31,6 +31,8 @@ m4_include([version.at]) + + m4_include([inout.at]) + m4_include([symlink.at]) ++m4_include([symlink-bad-length.at]) ++m4_include([symlink-long.at]) + m4_include([interdir.at]) + + m4_include([setstat01.at]) diff --git a/abs/extra/cpio/cpio-2.11-stdio.in.patch b/abs/extra/cpio/cpio-2.11-stdio.in.patch new file mode 100644 index 0000000..f7016ba --- /dev/null +++ b/abs/extra/cpio/cpio-2.11-stdio.in.patch @@ -0,0 +1,13 @@ +diff -urNp cpio-2.11-orig/gnu/stdio.in.h cpio-2.11/gnu/stdio.in.h +--- cpio-2.11-orig/gnu/stdio.in.h 2010-03-10 10:27:03.000000000 +0100 ++++ cpio-2.11/gnu/stdio.in.h 2012-06-04 10:23:23.804471185 +0200 +@@ -139,7 +139,9 @@ _GL_WARN_ON_USE (fflush, "fflush is not + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + #undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ diff --git a/abs/extra/cpio/cpio-2.11-testsuite-CVE-2014-9112.patch b/abs/extra/cpio/cpio-2.11-testsuite-CVE-2014-9112.patch new file mode 100644 index 0000000..b1b268a --- /dev/null +++ b/abs/extra/cpio/cpio-2.11-testsuite-CVE-2014-9112.patch @@ -0,0 +1,30 @@ +diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at +index cbf4aa7..d8d250b 100644 +--- a/tests/symlink-bad-length.at ++++ b/tests/symlink-bad-length.at +@@ -37,13 +37,20 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + AT_CHECK([ + base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST +-cpio -ntv < ARCHIVE +-test $? -eq 2 ++TZ=UTC cpio -ntv < ARCHIVE 2>stderr ++rc=$? ++cat stderr | grep -v \ ++ -e 'stored filename length is out of range' \ ++ -e 'premature end of file' \ ++ -e 'archive header has reverse byte-order' \ ++ -e 'memory exhausted' \ ++ >&2 ++echo >&2 STDERR ++test "$rc" -ne 0 + ], + [0], +-[-rw-rw-r-- 1 10029 10031 13 Nov 25 13:52 FILE +-],[cpio: LINK: stored filename length is out of range +-cpio: premature end of file ++[-rw-rw-r-- 1 10029 10031 13 Nov 25 11:52 FILE ++],[STDERR + ]) + + AT_CLEANUP diff --git a/abs/extra/cpio/cpio.install b/abs/extra/cpio/cpio.install new file mode 100644 index 0000000..e5502ca --- /dev/null +++ b/abs/extra/cpio/cpio.install @@ -0,0 +1,21 @@ +infodir=/usr/share/info +filelist=(cpio.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} + diff --git a/abs/extra/cscope/PKGBUILD b/abs/extra/cscope/PKGBUILD new file mode 100644 index 0000000..f79705a --- /dev/null +++ b/abs/extra/cscope/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Dan McGee <dan@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# Contributor: Jason Chu <jason@archlinux.org> + +pkgname=cscope +pkgver=15.8.a +_realver=15.8a +pkgrel=2 +pkgdesc="A developers tool for browsing program code" +arch=('i686' 'x86_64') +url="http://cscope.sourceforge.net/" +license=('BSD') +depends=('ncurses' 'sh') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${_realver}.tar.gz) +md5sums=('b5c898ccedcfe2d4aa69537dad73b610') + +build() { + cd "${srcdir}/${pkgname}-${_realver}" + sed -i 's|/usr/local/lib/cs|/usr/lib/cs|' contrib/ocs + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${_realver}" + make DESTDIR="${pkgdir}" install + + install -d ${pkgdir}/usr/lib/cs + install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + + cd contrib/xcscope + install -Dm644 xcscope.el "${pkgdir}"/usr/share/emacs/site-lisp/xcscope.el + install -m755 cscope-indexer "${pkgdir}"/usr/bin +} diff --git a/abs/extra/dolphin-emu/Dolphin_Logo.png b/abs/extra/dolphin-emu/Dolphin_Logo.png Binary files differdeleted file mode 100644 index 63450da..0000000 --- a/abs/extra/dolphin-emu/Dolphin_Logo.png +++ /dev/null diff --git a/abs/extra/dolphin-emu/PKGBUILD b/abs/extra/dolphin-emu/PKGBUILD index 04547f2..040eb48 100644 --- a/abs/extra/dolphin-emu/PKGBUILD +++ b/abs/extra/dolphin-emu/PKGBUILD @@ -1,91 +1,62 @@ # Maintainer: schuay <jakob.gruber@gmail.com> # Contributor: Jeremy Newton (Mystro256) -# Special thanks to the contributors of dolphin-emu-svn: for the icon, desktop file and some lines from the PKGBUILD -# Thanks to all that contributed! :) pkgname=dolphin-emu -pkgver=3.0 -pkgrel=12 +pkgver=4.0.2 +pkgrel=6 epoch=1 -pkgdesc="A GameCube and Wii emulator (stable git branch)" +pkgdesc='A Gamecube / Wii / Triforce emulator' arch=('i686' 'x86_64') -url="http://www.dolphin-emulator.com/" +url='http://dolphin-emu.org' license=('GPL2') -makedepends=('git' 'cmake' 'glproto' 'opencl-headers') -depends=('sdl' 'libxxf86vm' 'libao' 'wxgtk' 'wiiuse' 'nvidia-cg-toolkit' \ - 'glew' 'mesa' 'libgl' 'openal' 'lzo2') - #'glew' 'mesa' 'libgl' 'openal' 'portaudio' 'lzo2') +makedepends=('cmake' 'git' 'opencl-headers') +depends=('bluez-libs' 'ffmpeg' 'glew' 'libao' 'libusbx' 'miniupnpc' 'openal' 'sdl2' 'soundtouch' 'wxgtk') +#optdepends=('pulseaudio: PulseAudio backend') -# Cannot be BUILT with sfml later than 1.6 -# IF YOU NEED SFML>=1.7 FOR SOMETHING ELSE, TRY REMOVING THE CONFLICT -# BELOW AND ONLY TEMPORARY UNINSTALLING SFML TO BUILD/INSTALL DOLPHIN -conflicts=('dolphin-emu-git' 'sfml>=1.7' 'sfml-git') +options=('!emptydirs') install="${pkgname}.install" -source=('dolphin-emu.desktop' - 'unistd.diff' - 'Dolphin_Logo.png' - 'dolphin-emu.xml' - 'dolphin-emu_games.xml' - 'dolphin-emu_scan.sh' - 'gen_lib_dolphin-emu.conf') +source=("${pkgname%-*}::git+https://code.google.com/p/dolphin-emu/#tag=${pkgver}" + 'dolphin-emu-gcc49.patch' + 'dolphin-emu.xml' + 'dolphin-emu_games.xml' + 'dolphin-emu_scan.sh' + 'gen_lib_dolphin-emu.conf') -_gitroot=https://code.google.com/p/dolphin-emu/ -_gitname=dolphin-emu-3.0 +prepare() { + cd "${srcdir}/${pkgname%-*}" + + patch -Np1 -i ../dolphin-emu-gcc49.patch +} build() { - cd "$srcdir" - msg "Connecting to GIT server...." + cd "${srcdir}/${pkgname%-*}" - if [[ -d "$_gitname" ]]; then - cd "$_gitname" && git pull origin 3.0 - msg "The local files are updated." + mkdir build && cd build + if [[ $CARCH == x86_64 ]]; then + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_CXX_FLAGS='-fno-inline-functions' else - git clone "$_gitroot" "$_gitname" + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' fi - - msg "GIT checkout done or server timeout" - msg "Starting build..." - - rm -rf "$srcdir/$_gitname-build" - git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build" - cd "$srcdir/$_gitname-build" - -# msg "Checking out at stable 3.0 branch" -# git checkout 3.0 - - msg "GIT checkout done or server timeout" - - patch -Np2 < ${srcdir}/unistd.diff - - mkdir build && cd build - export CXXFLAGS="$CXXFLAGS -fpermissive" - cmake .. -DCMAKE_INSTALL_PREFIX=/usr make } package() { - cd "${srcdir}/dolphin-emu-3.0-build/build" - - make DESTDIR=${pkgdir} install + cd "${srcdir}/${pkgname%-*}/build" + #LinHES Stuff mkdir -p "${pkgdir}"/usr/share/mythtv/themes/defaultmenu mkdir -p "${pkgdir}"/usr/LH/bin - - install -Dm644 "${srcdir}/dolphin-emu.desktop" "${pkgdir}/usr/share/applications/dolphin-emu.desktop" - install -Dm644 "${srcdir}/Dolphin_Logo.png" "${pkgdir}/usr/share/pixmaps/dolphin-emu.png" cp "${srcdir}/dolphin-emu.xml" "${pkgdir}/usr/share/mythtv/themes/defaultmenu" cp "${srcdir}/dolphin-emu_games.xml" "${pkgdir}/usr/share/mythtv/themes/defaultmenu" install -m755 "${srcdir}/dolphin-emu_scan.sh" "${pkgdir}/usr/LH/bin" #add in file for gen_game.xml install -D -m0744 ${srcdir}/gen_lib_dolphin-emu.conf ${pkgdir}/etc/gen_game_xml.d/dolphin-emu.conf -} - -# vim:set ts=2 sw=2 et: -md5sums=('feed4580c2e6bfbc7f6c67dad861daae' - 'a463b96d02462b5f6b0894f6ced821ab' - 'd15c51f547b4bd47e510faac40bcc9d6' + make DESTDIR="${pkgdir}" install +} +md5sums=('SKIP' + '5fead49fc3a0ff9a9d1435368b5df1f9' 'ab7a9b9cfe03db65c881134c0f02bda0' '1d03499e0abab56285bc97176d311bf1' 'af44dd20626ce26d0a07dadc37c20233' diff --git a/abs/extra/dolphin-emu/__changelog b/abs/extra/dolphin-emu/__changelog index 113934d..3d186d7 100644 --- a/abs/extra/dolphin-emu/__changelog +++ b/abs/extra/dolphin-emu/__changelog @@ -1,5 +1,5 @@ -6/9/12 -chw- -Added install file, and mythtv menu files. -removed portaudio because it drug in jack - +PKGBUILD: remove portaudio dep +PKGBUILD: remove pulseaudio opt dep +PKGBUILD: add .install file +PKGBUILD: Add LinHES Stuff --converted .install file to use gen_game_xml.py diff --git a/abs/extra/dolphin-emu/dolphin-emu-gcc49.patch b/abs/extra/dolphin-emu/dolphin-emu-gcc49.patch new file mode 100755 index 0000000..7431ce6 --- /dev/null +++ b/abs/extra/dolphin-emu/dolphin-emu-gcc49.patch @@ -0,0 +1,17 @@ +diff -rupN dolphin.orig/Source/Core/Common/Src/CommonFuncs.h dolphin/Source/Core/Common/Src/CommonFuncs.h +--- dolphin.orig/Source/Core/Common/Src/CommonFuncs.h 2014-08-19 02:36:05.555642000 +0200 ++++ dolphin/Source/Core/Common/Src/CommonFuncs.h 2014-08-19 02:38:44.301036700 +0200 +@@ -30,7 +30,12 @@ struct ArraySizeImpl : public std::exten + #define b32(x) (b16(x) | (b16(x) >>16) ) + #define ROUND_UP_POW2(x) (b32(x - 1) + 1) + +-#if defined __GNUC__ && !defined __SSSE3__ && !defined _M_GENERIC ++#ifndef __GNUC_PREREQ ++ #define __GNUC_PREREQ(a, b) 0 ++#endif ++ ++#if (defined __GNUC__ && !__GNUC_PREREQ(4,9)) && \ ++ !defined __SSSE3__ && defined _M_X86 + #include <emmintrin.h> + static __inline __m128i __attribute__((__always_inline__)) + _mm_shuffle_epi8(__m128i a, __m128i mask) diff --git a/abs/extra/dolphin-emu/dolphin-emu.desktop b/abs/extra/dolphin-emu/dolphin-emu.desktop deleted file mode 100644 index 96317d1..0000000 --- a/abs/extra/dolphin-emu/dolphin-emu.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=Dolphin -Categories=Game;Emulator;GTK; -GenericName=GameCube and Wii Emulator -Comment=An emulator for the GameCube and Wii consoles -Exec=dolphin-emu -Icon=dolphin-emu -StartupNotify=false -Name[en_US]=Dolphin diff --git a/abs/extra/dolphin-emu/dolphin_emu.confcd b/abs/extra/dolphin-emu/dolphin_emu.confcd deleted file mode 100644 index e69de29..0000000 --- a/abs/extra/dolphin-emu/dolphin_emu.confcd +++ /dev/null diff --git a/abs/extra/dolphin-emu/unistd.diff b/abs/extra/dolphin-emu/unistd.diff deleted file mode 100644 index 2b39063..0000000 --- a/abs/extra/dolphin-emu/unistd.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- src/dolphin-emu-3.0/Source/Core/Common/Src/CommonFuncs.h 2012-04-07 10:47:47.595151504 +0200 -+++ src/dolphin-emu-3.0-build/Source/Core/Common/Src/CommonFuncs.h 2012-04-07 10:53:25.371113081 +0200 -@@ -18,6 +18,8 @@ - #ifndef _COMMONFUNCS_H_ - #define _COMMONFUNCS_H_ - -+#include <unistd.h> -+ - #ifdef _WIN32 - #define SLEEP(x) Sleep(x) - #else diff --git a/abs/extra/eclipse-ecj/01-ecj-include-props.patch b/abs/extra/eclipse-ecj/01-ecj-include-props.patch new file mode 100644 index 0000000..3276626 --- /dev/null +++ b/abs/extra/eclipse-ecj/01-ecj-include-props.patch @@ -0,0 +1,15 @@ +--- build.xml 2012-09-14 18:22:48.000000000 +0000 ++++ build.xml.patched 2013-01-09 10:19:28.414079935 +0000 +@@ -46,9 +46,10 @@ + <include name="**/*.rsc"/> + <include name="META-INF/**"/> + <include name="**/*.properties"/> ++ <include name="**/*.props"/> + <exclude name="META-INF/eclipse.inf"/> + </fileset> + </zip> + <delete dir="${output}" /> + </target> +-</project> +\ No newline at end of file ++</project> diff --git a/abs/extra/eclipse-ecj/02-buildxml-fix-manifest.patch b/abs/extra/eclipse-ecj/02-buildxml-fix-manifest.patch new file mode 100644 index 0000000..ba9cd0a --- /dev/null +++ b/abs/extra/eclipse-ecj/02-buildxml-fix-manifest.patch @@ -0,0 +1,11 @@ +--- build.xml.orig 2013-10-03 13:55:28.579003290 +0000 ++++ build.xml 2013-10-03 13:57:52.971400439 +0000 +@@ -39,8 +39,6 @@ + <compilerarg line="-Xlint:none"/> + </javac> + +- <delete file="${basedir}/META-INF/MANIFEST.MF" failonerror="false"/> +- <copy tofile="${basedir}/META-INF/MANIFEST.MF" file="${basedir}/scripts/binary/META-INF/MANIFEST.MF"/> + <zip destfile="${basedir}/${jar_file}"> + <fileset dir="${output}" /> + <fileset dir="${basedir}"> diff --git a/abs/extra/eclipse-ecj/PKGBUILD b/abs/extra/eclipse-ecj/PKGBUILD new file mode 100644 index 0000000..1d8f473 --- /dev/null +++ b/abs/extra/eclipse-ecj/PKGBUILD @@ -0,0 +1,40 @@ +# $Id$ +# Maintainer: Guillaume ALAUX <guillaume@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> + +pkgname=eclipse-ecj +pkgver=4.4 +pkgrel=1 +_date=201406061215 +pkgdesc='Eclipse java bytecode compiler' +arch=('any') +license=('EPL') +url='http://www.eclipse.org/' +depends=('java-runtime') +makedepends=('apache-ant' 'java-environment') +source=(http://download.eclipse.org/eclipse/downloads/drops4/R-${pkgver}-${_date}/ecjsrc-${pkgver}.jar + 01-ecj-include-props.patch + 02-buildxml-fix-manifest.patch + ecj) +sha256sums=('429a65013ae9740e4f05451f8e2968b389ec04ef2c7178ccfa5ef6714488fd12' + '8f6259c76dfe493549bbaec3c8a7ba29e82c70e127c918adca28737dcb570f6b' + '5ca6bd94c2b1cb4c6f116d38c160edf1c4ca520647ac74b26486f958254767af' + '63aff3d126243d303ddc4305cfa77827df72e87ccf85bd8a22a2f832357e396c') + +build() { + cd "${srcdir}" + for p in 01-ecj-include-props 02-buildxml-fix-manifest; do + patch -p0 < ${p}.patch + done + export LANG=en_US.UTF-8 + ant build +} + +package() { + install -Dm644 "${srcdir}/ecj.jar" "${pkgdir}/usr/share/java/eclipse-ecj-${pkgver}.jar" + ln -s eclipse-ecj-${pkgver}.jar "${pkgdir}/usr/share/java/ecj.jar" + ln -s eclipse-ecj-${pkgver}.jar "${pkgdir}/usr/share/java/eclipse-ecj.jar" + install -Dm755 ecj "${pkgdir}/usr/bin/ecj" + install -D -m 644 ecj.1 "${pkgdir}/usr/share/man/man1/ecj.1" +} diff --git a/abs/extra/eclipse-ecj/ecj b/abs/extra/eclipse-ecj/ecj new file mode 100644 index 0000000..6d3557a --- /dev/null +++ b/abs/extra/eclipse-ecj/ecj @@ -0,0 +1,4 @@ +#!/bin/sh + +CLASSPATH=/usr/share/java/ecj.jar${CLASSPATH:+:}$CLASSPATH \ +java org.eclipse.jdt.internal.compiler.batch.Main "$@" diff --git a/abs/extra/enchant/PKGBUILD b/abs/extra/enchant/PKGBUILD index a8dc20d..837363a 100644 --- a/abs/extra/enchant/PKGBUILD +++ b/abs/extra/enchant/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 139539 2011-10-03 12:17:06Z jgc $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id$ +# Maintainer: Felix Yan <felixonmars@gmail.com> +# Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org> pkgname=enchant pkgver=1.6.0 -pkgrel=4 +pkgrel=5 pkgdesc="A wrapper library for generic spell checking" arch=('i686' 'x86_64') url="http://www.abisource.com/enchant/" license=('LGPL') depends=('aspell' 'dbus-glib' 'hunspell' 'hspell') -options=('!libtool') source=("http://www.abisource.com/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") md5sums=('de11011aff801dc61042828041fb59c7') diff --git a/abs/extra/fastjar/PKGBUILD b/abs/extra/fastjar/PKGBUILD new file mode 100644 index 0000000..bd66886 --- /dev/null +++ b/abs/extra/fastjar/PKGBUILD @@ -0,0 +1,25 @@ +# $Id$ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> + +pkgname=fastjar +pkgver=0.98 +pkgrel=3 +pkgdesc="Sun java jar compatible archiver" +arch=('i686' 'x86_64') +url="http://savannah.nongnu.org/projects/fastjar" +license=('GPL') +depends=('zlib' 'texinfo') +install=fastjar.install +source=("http://download.savannah.nongnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz") +md5sums=('d2d264d343d4d0e1575832cc1023c3bf') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/abs/extra/fastjar/fastjar.install b/abs/extra/fastjar/fastjar.install new file mode 100644 index 0000000..b1b973c --- /dev/null +++ b/abs/extra/fastjar/fastjar.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file=fastjar.info.gz + +post_install() { + install-info $infodir/$file $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + install-info --delete $infodir/$file $infodir/dir 2> /dev/null +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/fceux/PKGBUILD b/abs/extra/fceux/PKGBUILD index cae2c61..7bcfa95 100644 --- a/abs/extra/fceux/PKGBUILD +++ b/abs/extra/fceux/PKGBUILD @@ -5,12 +5,12 @@ pkgname=fceux pkgver=2.2.2 -pkgrel=2 +pkgrel=3 url='http://www.fceux.com/' pkgdesc='Fast and ultra-compatible NES/Famicom emulator' arch=('x86_64' 'i686') license=('GPL') -depends=('sdl' 'gtk2' 'gd' 'desktop-file-utils' 'lua' 'libgl' 'shared-mime-info') +depends=('sdl' 'gtk2' 'gd' 'desktop-file-utils' 'lua51' 'libgl' 'shared-mime-info') makedepends=('scons' 'mesa-libgl' 'glu') install='fceux.install' source=("https://downloads.sourceforge.net/project/fceultra/Source%20Code/$pkgver%20src/$pkgname-$pkgver.src.tar.gz") diff --git a/abs/extra/fceux/__changelog b/abs/extra/fceux/__changelog deleted file mode 100644 index 6bb6428..0000000 --- a/abs/extra/fceux/__changelog +++ /dev/null @@ -1 +0,0 @@ -- PKGBUILD: change dep lua51 to lua diff --git a/abs/extra/ffmpeg-compat/PKGBUILD b/abs/extra/ffmpeg-compat/PKGBUILD new file mode 100644 index 0000000..2627385 --- /dev/null +++ b/abs/extra/ffmpeg-compat/PKGBUILD @@ -0,0 +1,73 @@ +# $Id$ +# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# Contributor: Paul Mattal <paul@archlinux.org> + +pkgname=ffmpeg-compat +pkgver=0.10.15 +pkgrel=1 +epoch=1 +pkgdesc='Complete and free Internet live audio and video broadcasting solution' +arch=('i686' 'x86_64') +url='http://ffmpeg.org/' +license=('GPL') +depends=( + 'alsa-lib' 'bzip2' 'gsm' 'lame' 'libass' + 'libmodplug' 'libtheora' 'libva' 'libvorbis' 'libvpx' + 'opencore-amr' 'openjpeg' 'rtmpdump' 'schroedinger' 'sdl' 'speex' + 'v4l-utils' 'libx264' 'xvidcore' 'zlib' +) +makedepends=('libvdpau' 'yasm' 'x264') +source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2) +sha256sums=('8b6dbf73c192d2217e6ded8e0dd560c678f362e373d87c28ed9fc8eb52293d5d') + +build() { + cd ffmpeg-$pkgver + + CFLAGS+=" -I/usr/include/openjpeg-1.5" \ + ./configure \ + --prefix=/usr \ + --incdir=/usr/include/ffmpeg-compat \ + --libdir=/usr/lib/ffmpeg-compat \ + --shlibdir=/usr/lib/ffmpeg-compat \ + --disable-debug \ + --disable-static \ + --enable-gpl \ + --enable-libass \ + --enable-libfreetype \ + --enable-libgsm \ + --enable-libmodplug \ + --enable-libmp3lame \ + --enable-libopencore_amrnb \ + --enable-libopencore_amrwb \ + --enable-libopenjpeg \ + --disable-libpulse \ + --enable-librtmp \ + --enable-libschroedinger \ + --enable-libspeex \ + --enable-libtheora \ + --enable-libv4l2 \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libxvid \ + --enable-postproc \ + --enable-runtime-cpudetect \ + --enable-shared \ + --enable-vdpau \ + --enable-version3 \ + --enable-x11grab + + make +} + +package() { + cd ffmpeg-$pkgver + make DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/usr/{bin,share} + + install -dm755 "$pkgdir"/etc/ld.so.conf.d/ + echo -e '/usr/lib/\n/usr/lib/ffmpeg-compat/' > "$pkgdir"/etc/ld.so.conf.d/$pkgname.conf +} diff --git a/abs/extra/ffmpeg-compat/__changelog b/abs/extra/ffmpeg-compat/__changelog new file mode 100644 index 0000000..105d5aa --- /dev/null +++ b/abs/extra/ffmpeg-compat/__changelog @@ -0,0 +1 @@ +PKGBUILD - remove libpulse as dep and disable pulse in compile diff --git a/abs/extra/flashplugin/PKGBUILD b/abs/extra/flashplugin/PKGBUILD index a4ef79c..c78fd36 100644 --- a/abs/extra/flashplugin/PKGBUILD +++ b/abs/extra/flashplugin/PKGBUILD @@ -4,7 +4,7 @@ pkgname=flashplugin _licensefile='PlatformClients_PC_WWEULA_Combined_20100108_1657.pdf' -pkgver=11.2.202.356 +pkgver=11.2.202.425 pkgrel=1 pkgdesc='Adobe Flash Player' url='http://get.adobe.com/flashplayer' @@ -21,14 +21,14 @@ if [ "$CARCH" = "i686" ]; then source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.i386.tar.gz" "http://www.adobe.com/products/eulas/pdfs/${_licensefile}" mms.cfg) - md5sums=('8c197a50457c8266ca0e18fa28bd6acf' + md5sums=('3de010fba558cf5d8c66892456b0ed33' '94ca2aecb409abfe36494d1a7ec7591d' 'f34aae6279b40e0bd2abfb0d9963d7b8') elif [ "$CARCH" = "x86_64" ]; then source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.x86_64.tar.gz" "http://www.adobe.com/products/eulas/pdfs/${_licensefile}" mms.cfg) - md5sums=('719258340ba34eda72495187b8148f75' + md5sums=('a060430d0900dd98252b9102ec1a32d6' '94ca2aecb409abfe36494d1a7ec7591d' 'f34aae6279b40e0bd2abfb0d9963d7b8') fi diff --git a/abs/extra/gd/PKGBUILD b/abs/extra/gd/PKGBUILD index 2d89e7b..b050624 100644 --- a/abs/extra/gd/PKGBUILD +++ b/abs/extra/gd/PKGBUILD @@ -1,31 +1,42 @@ -# $Id: PKGBUILD 148724 2012-02-05 11:48:15Z ibiru $ -# Maintainer: Eric Belanger <eric@archlinux.org> +# $Id$ pkgname=gd -pkgver=2.0.36RC1 -pkgrel=5 +pkgver=2.1.0 +pkgrel=3 pkgdesc="Library for the dynamic creation of images by programmers" arch=('i686' 'x86_64') url="http://www.libgd.org/" license=('custom') -depends=('libpng' 'fontconfig' 'libjpeg') +depends=('fontconfig' 'libvpx' 'libxpm' 'libtiff') optdepends=('perl: bdftogd script') -options=('!libtool') -source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2" - 'libpng14.patch') -md5sums=('e876979ca3130623a4e7866d9579171a' - '7921556f4960e8d66cf4fb67ea7101b5') +source=("https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${pkgver}.tar.xz" + 'color_c_null_pointer.patch') +md5sums=('03588159bf4faab9079849c8d709acc6' + '51f5ff073eabbd7809e0ce438d5bb1c2') -build() { - cd "${srcdir}/${pkgname}-${pkgver}" +prepare() { + cd libgd-${pkgver} + # CVE-2014-2497 + patch -p1 -i ${srcdir}/color_c_null_pointer.patch +} - patch -Np1 -i ${srcdir}/libpng14.patch - ./configure --prefix=/usr --without-xpm +build() { + cd libgd-${pkgver} + ./configure \ + --prefix=/usr \ + --disable-rpath \ + --with-vpx=/usr \ + --with-tiff=/usr make } +check() { + cd libgd-${pkgver} + make check +} + package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd libgd-${pkgver} make DESTDIR="${pkgdir}" install install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/abs/extra/gd/color_c_null_pointer.patch b/abs/extra/gd/color_c_null_pointer.patch new file mode 100644 index 0000000..95b3eeb --- /dev/null +++ b/abs/extra/gd/color_c_null_pointer.patch @@ -0,0 +1,18 @@ +diff -up ./src/gdxpm.c.color_c_null_pointer ./src/gdxpm.c +--- ./src/gdxpm.c.color_c_null_pointer 2013-06-25 11:58:23.000000000 +0200 ++++ ./src/gdxpm.c 2014-07-16 16:43:44.000000000 +0200 +@@ -62,6 +62,13 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFro + + for(i = 0; i < number; i++) { + char *c_color = image.colorTable[i].c_color; ++ if (!c_color) ++ { ++ /* unsupported color key or color key not defined */ ++ gdImageDestroy(im); ++ im = 0; ++ goto done; ++ } + if(strcmp(c_color, "None") == 0) { + colors[i] = gdImageGetTransparent(im); + if(colors[i] == -1) colors[i] = gdImageColorAllocate(im, 0, 0, 0); +diff -up ./x.color_c_null_pointer ./x diff --git a/abs/extra/gd/libpng14.patch b/abs/extra/gd/libpng14.patch deleted file mode 100644 index 19a3fda..0000000 --- a/abs/extra/gd/libpng14.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gd-2.0.36RC1.orig/gd_png.c gd-2.0.36RC1/gd_png.c ---- gd-2.0.36RC1.orig/gd_png.c 2007-11-27 10:30:34.000000000 +0200 -+++ gd-2.0.36RC1/gd_png.c 2010-01-17 17:14:11.000000000 +0200 -@@ -151,7 +151,7 @@ - return NULL; - } - -- if (!png_check_sig (sig, 8)) { /* bad signature */ -+ if (png_sig_cmp (sig, 0, 8)) { /* bad signature */ - return NULL; /* bad signature */ - } - diff --git a/abs/extra/geoclue/PKGBUILD b/abs/extra/geoclue/PKGBUILD index 78936e4..84a354d 100644 --- a/abs/extra/geoclue/PKGBUILD +++ b/abs/extra/geoclue/PKGBUILD @@ -1,35 +1,25 @@ -# $Id: PKGBUILD 156782 2012-04-23 09:05:31Z ibiru $ +# $Id$ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: György Balló <ballogy@freestart.hu> pkgname=geoclue -pkgver=0.12.0 -pkgrel=5 +pkgver=0.12.99 +pkgrel=2 pkgdesc="Modular geoinformation service built on the D-Bus messaging system." -arch=('i686' 'x86_64') +arch=(i686 x86_64) url="http://geoclue.freedesktop.org/" -license=('LGPL') -depends=('dbus-glib' 'libxml2') -optdepends=('networkmanager: geolocation' - 'gconf: geolocation' - 'libsoup-gnome: Skyhook location provider') -makedepends=('gconf' 'libsoup-gnome' 'gtk-doc') -options=('!libtool') -source=(https://launchpad.net/geoclue/trunk/${pkgver%.*}/+download/$pkgname-$pkgver.tar.gz - geoclue-gcc46.patch) -md5sums=('33af8307f332e0065af056ecba65fec2' - '0cf8ecc350be702f623ed9a9715818c5') +license=(LGPL) +depends=(dbus-glib libxml2 dconf) +makedepends=(libsoup-gnome gtk-doc) +optdepends=('libsoup-gnome: Skyhook location provider') +install=geoclue.install +source=(http://freedesktop.org/~hadess/$pkgname-$pkgver.tar.gz) +md5sums=('779245045bfeeec4853da8baaa3a18e6') build() { cd $pkgname-$pkgver - patch -Np1 -i ../geoclue-gcc46.patch - - sed -i 's/libnm_glib/libnm-glib/g' configure.ac - sed -i '/libsoup-gnome/s/$/ gthread-2.0/' configure.ac - autoreconf -f -i - - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ - --disable-static + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/$pkgname --disable-static make } diff --git a/abs/extra/geoclue/geoclue.install b/abs/extra/geoclue/geoclue.install new file mode 100644 index 0000000..c25dff2 --- /dev/null +++ b/abs/extra/geoclue/geoclue.install @@ -0,0 +1,11 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/abs/extra/glew/PKGBUILD b/abs/extra/glew/PKGBUILD index 5a71939..4731ab8 100644 --- a/abs/extra/glew/PKGBUILD +++ b/abs/extra/glew/PKGBUILD @@ -1,29 +1,31 @@ -# $Id: PKGBUILD 147734 2012-01-27 15:57:44Z stephane $ -# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: SleepyDog pkgname=glew -pkgver=1.7.0 -pkgrel=3 +pkgver=1.11.0 +pkgrel=1 pkgdesc="The OpenGL Extension Wrangler Library" arch=('i686' 'x86_64') url="http://glew.sourceforge.net" license=('BSD' 'MIT' 'GPL') -depends=('libxmu' 'libxi' 'mesa') +depends=('libxmu' 'libxi' 'glu') source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tgz) -sha1sums=('9266f2360c1687a96f2ea06419671d370b2928d1') +sha1sums=('9bb5c87c055acd122a4956112bbb18ee72c38e5c') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + sed -i 's|lib64|lib|' config/Makefile.linux + sed -i '/^.PHONY: .*\.pc$/d' Makefile make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make GLEW_DEST="${pkgdir}/usr" install.all install -D -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - rm "${pkgdir}"/usr/lib/{libGLEW,libGLEWmx}.a - chmod 0755 "${pkgdir}"/usr/lib/libGLEW*.so.${pkgver} +# chmod 0755 "${pkgdir}"/usr/lib/libGLEW*.so.${pkgver} } diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD index a6ff092..7cb2ad9 100644 --- a/abs/extra/google-chrome/PKGBUILD +++ b/abs/extra/google-chrome/PKGBUILD @@ -1,11 +1,11 @@ -# Maintainer: Det <nimetonmaili at gmail a-dot com> +# Maintainer: Det <nimetonmaili g-mail> # Contributors: t3ddy, Lex Rivera aka x-demon, ruario # Check for new Linux releases in: http://googlechromereleases.blogspot.com/search/label/Stable%20updates # or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }' pkgname=google-chrome -pkgver=38.0.2125.104 +pkgver=40.0.2214.111 pkgrel=1 pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)" arch=('i686' 'x86_64') @@ -14,9 +14,8 @@ license=('custom:chrome') depends=('alsa-lib' 'desktop-file-utils' 'flac' 'gconf' 'gtk2' 'harfbuzz' 'harfbuzz-icu' 'hicolor-icon-theme' 'icu' 'libcups' 'libpng' 'libxss' 'libxtst' 'nss' 'opus' 'snappy' 'speech-dispatcher' 'ttf-font' 'xdg-utils') optdepends=('kdebase-kdialog: needed for file dialogs in KDE' - 'ttf-google-fonts-git') + 'ttf-liberation: fix fonts for some PDFs') provides=("google-chrome=$pkgver") -replaces=('chromium') options=('!emptydirs' '!strip') install=$pkgname.install _channel=stable @@ -24,19 +23,17 @@ _arch=amd64 [[ $CARCH = i686 ]] && _arch=i386 source=("google-chrome-${_channel}_${pkgver}_${_arch}.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_${_arch}.deb" 'eula_text.html') -md5sums=('a2b61a623da973f12e1cb18674b9fb93' - 'b7e752f549b215ac77f284b6486794b6') -[[ $CARCH = i686 ]] && md5sums[0]='84353f292685c20e19c3cd9a6d8712db' +[[ $CARCH = i686 ]] && md5sums[0]='b2e60863b171bfc152b25030df196ecb' package() { - msg2 "Extracting the data.tar.lzma" + msg2 "Extracting the data.tar.lzma..." bsdtar -xf data.tar.lzma -C "$pkgdir/" - msg2 "Moving stuff in place" + msg2 "Moving stuff in place..." # Icons for i in 16 22 24 32 48 64 128 256; do install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_$i.png \ - "$pkgdir"/usr/share/icons/hicolor/${i}x$i/apps/google-chrome.png + "$pkgdir"/usr/share/icons/hicolor/${i}x${i}/apps/google-chrome.png done # Man page @@ -45,20 +42,24 @@ package() { # License install -Dm644 eula_text.html "$pkgdir"/usr/share/licenses/google-chrome/eula_text.html - msg2 "Symlinking missing Udev lib" + msg2 "Symlinking missing Udev lib..." ln -s /usr/lib/libudev.so.1 "$pkgdir"/opt/google/chrome/libudev.so.0 - msg2 "Fixing Chrome icon resolution" - _name=$(echo ${source/_*} | sed 's/.*/\u&/') - sed -i "/Exec=/i\StartupWMClass=$_name" "$pkgdir"/usr/share/applications/google-chrome.desktop + msg2 "Fixing Chrome icon resolution..." + sed -i "/Exec=/i\StartupWMClass=Google-chrome-$_channel" "$pkgdir"/usr/share/applications/google-chrome.desktop + + msg2 "Fixing permissions of documentation folder..." + chmod 755 "$pkgdir"/usr/share/doc/google-chrome-$_channel/ - msg2 "Adding support for CHROMIUM_USER_FLAGS" - sed -i 's/ "$@"/"$CHROMIUM_USER_FLAGS" "$@"/' "$pkgdir"/opt/google/chrome/google-chrome + msg2 "Adding support for CHROMIUM_USER_FLAGS..." + sed -i 's/ "$@"/ $CHROMIUM_USER_FLAGS "$@"/' "$pkgdir"/opt/google/chrome/google-chrome - msg2 "Removing unnecessities (e.g. Debian Cron job)" + msg2 "Removing unnecessities (e.g. Debian Cron job)..." rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/ rm "$pkgdir"/opt/google/chrome/product_logo_*.png - msg2 "Rename google-chrome-stable to google-chrome" + msg2 "Rename google-chrome-stable to google-chrome..." mv "$pkgdir"/usr/bin/google-chrome-stable "$pkgdir"/usr/bin/google-chrome } +md5sums=('7814ce4a8c941a918d48ace4a2362ebd' + 'b7e752f549b215ac77f284b6486794b6') diff --git a/abs/extra/gptfdisk/PKGBUILD b/abs/extra/gptfdisk/PKGBUILD index 6b0c453..83716e5 100644 --- a/abs/extra/gptfdisk/PKGBUILD +++ b/abs/extra/gptfdisk/PKGBUILD @@ -1,25 +1,24 @@ -# $Id: PKGBUILD 160220 2012-05-31 03:41:30Z foutrelis $ +# $Id$ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Hokum <hokum_at_mail_dot_ru> pkgname=gptfdisk -pkgver=0.8.5 +pkgver=0.8.10 pkgrel=1 -pkgdesc="A text-mode partitioning tool that works on Globally Unique Identifier (GUID) Partition Table (GPT) disks" +pkgdesc="A text-mode partitioning tool that works on GUID Partition Table (GPT) disks" arch=('i686' 'x86_64') url="http://www.rodsbooks.com/gdisk/" license=('GPL2') -depends=('gcc-libs' 'util-linux' 'popt' 'icu') +depends=('gcc-libs' 'util-linux' 'popt') provides=("gdisk=$pkgver") conflicts=('gdisk') replaces=('gdisk') source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz) -sha256sums=('15cc691f28212c157e05315662ed6b76ffdcc8de6fc118fa21c81ef5aae84af9') +sha256sums=('73e64151203ae0c347c488358e71ca582bb7fb7f0d66df86b71c42050390eb9b') build() { cd "$srcdir/$pkgname-$pkgver" - make } @@ -31,5 +30,3 @@ package () { install -m644 -t "$pkgdir/usr/share/man/man8" {{,c,s}gdisk,fixparts}.8 install -m644 -t "$pkgdir/usr/share/doc/gdisk" README NEWS } - -# vim:set ts=2 sw=2 et: diff --git a/abs/extra/graphviz/PKGBUILD b/abs/extra/graphviz/PKGBUILD index f3de8b6..0ee8e34 100644 --- a/abs/extra/graphviz/PKGBUILD +++ b/abs/extra/graphviz/PKGBUILD @@ -1,42 +1,57 @@ -# $Id: PKGBUILD 94713 2010-10-10 10:06:04Z andyrtr $ -# Maintainer: kevin <kevin@archlinux.org> +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: kevin <kevin@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> pkgname=graphviz -pkgver=2.26.3 -pkgrel=2 -pkgdesc="Creates acircular graph images" -arch=('i686' 'x86_64') +pkgver=2.38.0 +pkgrel=3 +pkgdesc='Graph visualization software' +url='http://www.graphviz.org/' license=('CPL') -depends=('gd>=2.0.35' 'librsvg>=2.22.3' 'libxaw>=1.0.5' 'ghostscript>=9.00') -url="http://www.graphviz.org/" -options=('!libtool') -source=(${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz) -install=graphviz.install -md5sums=('6f45946fa622770c45609778c0a982ee') +arch=('i686' 'x86_64') +depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts') +makedepends=('swig' 'mono' 'guile' 'lua51' 'ocaml' 'perl' 'php' 'python2' 'r' 'tk' 'qt4' 'gtk2') +optdepends=('mono: sharp bindings' + 'guile: guile bindings' + 'lua51: lua bindings' + 'ocaml: ocaml bindings' + 'perl: perl bindings' + 'php: php bindings' + 'python2: python bindings' + 'r: r bindings' + 'tcl: tcl bindings' + 'qt4: gvedit' + 'gtk2: gtk output plugin') +source=("${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz" + 'format-string.patch') +sha1sums=('053c771278909160916ca5464a0a98ebf034c6ef' + '271d116bc022596a64b6ee061f3d2e50fa2e6025') -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --without-gnomeui --docdir=/usr/share/doc/gvkp \ - --disable-tcl --disable-sharp --disable-ruby --disable-python \ - --disable-lua --disable-guile --disable-perl || return 1 +install=install + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../format-string.patch # FS#42983 +} -#--bindir=/bindir --libdir=/libdir --includedir=/includedir --mandir=/mandir \ -#--infodir=/infodir \ -#--docdir=/docdir --htmldir=/htmldir --dvidir=/dvidir \ -#--pdfdir=/pdfdir --psdir=/psdir +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + export LIBPOSTFIX=/ + export PYTHON=python2 + export LUA=lua5.1 - make || return 1 + ./configure --prefix=/usr + make } -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install || return 1 - #Fix a wrong file location for x86_64 - rm -rf ${pkgdir}/usr/lib64 +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install - # Fix non-fhs doc files. - cd ${pkgdir}/usr/share - mkdir doc - mv graphviz/doc doc/graphviz + # Workaround symlink upgrade bug (fixed in pacman trunk) + # Also deduplicates the tcl libraries (upstream bug?) + # Might have been this commit: https://github.com/ellson/graphviz/commit/f11aead + rm -r "${pkgdir}/usr/lib/tcl8.6/graphviz" + ln -s ../graphviz/tcl "$pkgdir/usr/lib/tcl8.6/graphviz" } diff --git a/abs/extra/graphviz/format-string.patch b/abs/extra/graphviz/format-string.patch new file mode 100644 index 0000000..1cc5867 --- /dev/null +++ b/abs/extra/graphviz/format-string.patch @@ -0,0 +1,21 @@ +diff -Naur old/lib/cgraph/scan.l new/lib/cgraph/scan.l +--- old/lib/cgraph/scan.l 2014-04-13 10:40:25.000000000 -1000 ++++ new/lib/cgraph/scan.l 2014-12-02 08:54:21.285050735 -1000 +@@ -149,7 +149,7 @@ + agxbput(&xb,buf); + agxbput(&xb,fname); + agxbput(&xb, " splits into two tokens\n"); +- agerr(AGWARN,agxbuse(&xb)); ++ agerr(AGWARN, "%s", agxbuse(&xb)); + + agxbfree(&xb); + return 1; +@@ -225,7 +225,7 @@ + agxbput (&xb, buf); + agxbput (&xb, yytext); + agxbput (&xb,"'\n"); +- agerr(AGERR,agxbuse(&xb)); ++ agerr(AGERR, "%s", agxbuse(&xb)); + agxbfree(&xb); + } + /* must be here to see flex's macro defns */ diff --git a/abs/extra/graphviz/graphviz.install b/abs/extra/graphviz/graphviz.install deleted file mode 100644 index 00510e3..0000000 --- a/abs/extra/graphviz/graphviz.install +++ /dev/null @@ -1,17 +0,0 @@ -# arg 1: the new package version -post_install() { - # Create plugin config /usr/lib/graphviz/config6 - rm -f usr/lib/graphviz/config{,6} - usr/bin/dot -c -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - post_install $1 -} - -# arg 1: the old package version -pre_remove() { - rm -f usr/lib/graphviz/config{,6} -} diff --git a/abs/extra/graphviz/install b/abs/extra/graphviz/install new file mode 100644 index 0000000..65fba52 --- /dev/null +++ b/abs/extra/graphviz/install @@ -0,0 +1,12 @@ +post_install() { + rm -f usr/lib/graphviz/config{,6} + usr/bin/dot -c +} + +post_upgrade() { + post_install +} + +pre_remove() { + rm -f usr/lib/graphviz/config{,6} +} diff --git a/abs/extra/gtk3/PKGBUILD b/abs/extra/gtk3/PKGBUILD index 9d4a7a1..5557008 100644 --- a/abs/extra/gtk3/PKGBUILD +++ b/abs/extra/gtk3/PKGBUILD @@ -1,42 +1,45 @@ -# $Id: PKGBUILD 163899 2012-07-21 19:20:27Z ibiru $ +# $Id$ # Maintainer: Ionut Biru <ibiru@archlinux.org> +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> pkgname=gtk3 -pkgver=3.4.4 +pkgver=3.14.5 pkgrel=1 pkgdesc="GObject-based multi-platform GUI toolkit (v3)" -arch=('i686' 'x86_64') +arch=(i686 x86_64) url="http://www.gtk.org/" install=gtk3.install -depends=('atk' 'cairo' 'gtk-update-icon-cache' 'libcups' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'pango' 'shared-mime-info' 'colord') -makedepends=('gobject-introspection') -options=('!libtool') -backup=(etc/gtk-3.0/settings.ini) -license=('LGPL') -source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz - settings.ini wacom.patch) -sha256sums=('f154e460075034da4c0ce89c320025dcd459da2a1fdf32d92a09522eaca242c7' - 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621' - '86bda95a14a99d0f596c4ecb2ed715689f71c207c65dfc90a39d4ae7f1c0c0f5') +depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi + libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon + adwaita-icon-theme json-glib rest) +makedepends=(gobject-introspection python2) +license=(LGPL) +source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz) +sha256sums=('ba70f5ccde6646c6d8aa5a6398794b7bcf23fc45af22580a215d258f392dbbe2') + +prepare() { + cd gtk+-$pkgver +} + build() { cd "gtk+-$pkgver" - # Partially revert BGO#673440 in order to fix BGO#674157 - patch -Np1 -i ../wacom.patch - CXX=/bin/false ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --enable-gtk2-dependency \ - --disable-schemas-compile + --disable-schemas-compile \ + --enable-x11-backend \ + --enable-broadway-backend \ + --enable-wayland-backend + #https://bugzilla.gnome.org/show_bug.cgi?id=655517 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make } package() { cd "gtk+-$pkgver" make DESTDIR="$pkgdir" install - - install -Dm644 "$srcdir/settings.ini" "$pkgdir/etc/gtk-3.0/settings.ini" } diff --git a/abs/extra/gtk3/gtk3.install b/abs/extra/gtk3/gtk3.install index ca20d28..f57b1bf 100644 --- a/abs/extra/gtk3/gtk3.install +++ b/abs/extra/gtk3/gtk3.install @@ -1,6 +1,7 @@ post_install() { /usr/bin/gtk-query-immodules-3.0 --update-cache /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas + /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor } post_upgrade() { @@ -13,4 +14,5 @@ pre_remove() { post_remove() { /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas + /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor } diff --git a/abs/extra/gtk3/settings.ini b/abs/extra/gtk3/settings.ini index 039000d..6a0643b 100644 --- a/abs/extra/gtk3/settings.ini +++ b/abs/extra/gtk3/settings.ini @@ -1,2 +1,4 @@ [Settings] -gtk-fallback-icon-theme = gnome +gtk-icon-theme-name = gnome +gtk-theme-name = Adwaita +gtk-font-name = Cantarell 11 diff --git a/abs/extra/gts/PKGBUILD b/abs/extra/gts/PKGBUILD new file mode 100644 index 0000000..b705a39 --- /dev/null +++ b/abs/extra/gts/PKGBUILD @@ -0,0 +1,28 @@ +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Thomas Dziedzic <gostrc at gmail> +# Contributor: Juergen Hoetzel <juergen@archlinux.org> +# Contributor: Tobias Kieslich <tobias@justdreams.de> + +pkgname=gts +pkgver=0.7.6 +pkgrel=3 +pkgdesc='Provides useful functions to deal with 3D surfaces meshed with interconnected triangles' +url='http://gts.sourceforge.net/' +license=('LGPL') +arch=('i686' 'x86_64') +depends=('glib2') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha1sums=('000720bebecf0b153eb28260bd30fbd979dcc040') + +build() { + cd "${pkgname}-${pkgver}" + export LDFLAGS=${LDFLAGS//--as-needed,} + ./configure --prefix=/usr + make +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD index f7cef21..058f218 100644 --- a/abs/extra/handbrake/PKGBUILD +++ b/abs/extra/handbrake/PKGBUILD @@ -4,41 +4,30 @@ # Contributor: Sebastien Piccand <sebcactus gmail com> pkgname=('handbrake' 'handbrake-cli') -pkgver=0.9.9 -pkgrel=6 +pkgver=0.10.0 +pkgrel=1 arch=('i686' 'x86_64') url="http://handbrake.fr/" license=('GPL') makedepends=('intltool' 'python2' 'yasm' 'wget' 'bzip2' 'gcc-libs' 'libnotify' - 'gst-plugins-base' 'gtk3' 'dbus-glib' 'fribidi' 'libass' - 'fontconfig' 'freetype2' 'libxml2' 'libogg' 'libvorbis' - 'libtheora' 'libsamplerate' 'libbluray' 'x264') + 'gst-plugins-base' 'gtk3' 'dbus-glib' 'fribidi' 'libass' 'lame' + 'fontconfig' 'freetype2' 'libxml2' 'libogg' 'libvorbis' 'cmake' + 'libtheora' 'libsamplerate' 'libbluray' 'x264' 'libx264' + 'libdvdnav') source=(http://downloads.sourceforge.net/project/handbrake/$pkgver/HandBrake-$pkgver.tar.bz2) -sha256sums=('a71dd774104cda00cfb51a813550351d638253791f2f419d04a66f3158a835b3') +sha256sums=('a91042da3cc08454844f7c171ee2fde4f0ed08176407fc0328d5118227ed4114') prepare() { cd "$srcdir/HandBrake-$pkgver" - # Use Python 2 - sed -i 's/python /python2 /' gtk/src/Makefile.am - # Use more system libs # We had ffmpeg here as well but it broke PGS subtitle processing # https://forum.handbrake.fr/viewtopic.php?f=13&t=27581 sed -i \ -e '/MODULES += contrib\/libbluray/d' \ - -e '/MODULES += contrib\/x264/d' \ + -e '/MODULES += contrib\/libdvdnav/d' \ + -e '/MODULES += contrib\/libdvdread/d' \ make/include/main.defs - - # Fix configure.ac to work with automake 1.13 - cd gtk - sed -i \ - -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' \ - -e '/AM_PROG_CC_STDC/d' \ - -e 's/$pkg_gudev"/gmodule-2.0 $pkg_gudev"/' \ - configure.ac - - autoreconf -vi } build() { @@ -55,9 +44,9 @@ build() { package_handbrake() { pkgdesc="Multithreaded video transcoder" depends=('bzip2' 'gcc-libs' 'gst-plugins-base' 'libnotify' 'dbus-glib' - 'fribidi' 'libass' 'gtk3' 'fontconfig' 'freetype2' 'libxml2' + 'fribidi' 'libass' 'lame' 'gtk3' 'fontconfig' 'freetype2' 'libxml2' 'libogg' 'libvorbis' 'libtheora' 'libsamplerate' 'libbluray' - 'x264' 'desktop-file-utils' 'hicolor-icon-theme') + 'libx264' 'libdvdnav' 'desktop-file-utils' 'hicolor-icon-theme') optdepends=('gst-plugins-good: for video previews' 'gst-libav: for video previews') install=$pkgname.install @@ -70,8 +59,8 @@ package_handbrake() { package_handbrake-cli() { pkgdesc="Multithreaded video transcoder (CLI)" - depends=('bzip2' 'gcc-libs' 'zlib' 'fribidi' 'libass' 'libxml2' 'libtheora' - 'libsamplerate' 'libbluray' 'x264') + depends=('bzip2' 'gcc-libs' 'zlib' 'fribidi' 'libass' 'lame' 'libxml2' + 'libtheora' 'libsamplerate' 'libbluray' 'libx264' 'libdvdnav') cd "$srcdir/HandBrake-$pkgver/build" install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI" diff --git a/abs/extra/harfbuzz/PKGBUILD b/abs/extra/harfbuzz/PKGBUILD index c9f550f..1c066f1 100644 --- a/abs/extra/harfbuzz/PKGBUILD +++ b/abs/extra/harfbuzz/PKGBUILD @@ -3,24 +3,29 @@ pkgbase=(harfbuzz) pkgname=(harfbuzz harfbuzz-icu) -pkgver=0.9.19 +pkgver=0.9.36 pkgrel=1 pkgdesc="OpenType text shaping engine" arch=(i686 x86_64) url="http://www.freedesktop.org/wiki/Software/HarfBuzz" license=(MIT) -makedepends=(glib2 freetype2 graphite cairo icu) -options=(!libtool) +makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection python2) source=(http://www.freedesktop.org/software/harfbuzz/release/${pkgbase}-${pkgver}.tar.bz2) -sha256sums=('d2da0f060d47f6ad9de8c8781bb21fa4b9eae8ea1cd1e956b814095baa002f35') +sha256sums=('3bfbf7b016167ee6b2a2f83948fef75cc1253081873d6a91022161815956b9be') build() { cd $pkgbase-$pkgver ./configure --prefix=/usr \ - --with-glib --with-freetype --with-cairo --with-icu --with-graphite2 + --with-glib --with-freetype --with-cairo --with-icu --with-graphite2 \ + --with-gobject make } +check() { + cd $pkgbase-$pkgver + make -k check || : +} + package_harfbuzz() { depends=(glib2 freetype2 graphite) optdepends=('cairo: hb-view program') diff --git a/abs/extra/hspell/PKGBUILD b/abs/extra/hspell/PKGBUILD index 7700435..1b513e5 100644 --- a/abs/extra/hspell/PKGBUILD +++ b/abs/extra/hspell/PKGBUILD @@ -1,23 +1,53 @@ -# $Id: PKGBUILD 28768 2009-03-02 04:21:08Z eric $ +# $Id$ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> -pkgname=hspell -pkgver=1.0 +pkgbase=hspell +pkgname=('hspell' 'hunspell-he') +pkgver=1.2 pkgrel=2 -pkgdesc="Hebrew spell-checker" -arch=(i686 x86_64) +arch=('i686' 'x86_64') license=('GPL') url="http://www.ivrix.org.il/projects/spell-checker/" -depends=('glibc>=2.7' 'zlib' 'perl') -options=('!libtool' '!makeflags') -source=(ftp://ftp.archlinux.org/other/hspell/${pkgname}-${pkgver}.tar.gz) -md5sums=('3e12fa383c2cfd430918d115f33f9841') +makedepends=('glibc' 'zlib' 'perl' 'hunspell' 'gawk') +options=('!makeflags') +source=(http://hspell.ivrix.org.il/${pkgname}-${pkgver}.tar.gz{,.sig}) +md5sums=('32fbc1a71e86ab46bf7870c6eec9a6be' + '858120037dd52ae823788518329ee7d3') build() { - cd ${startdir}/src/${pkgname}-${pkgver} - [ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC" - sed -i -e 's|/usr/bin/awk|/bin/awk|' wzip - ./configure --prefix=/usr --enable-linginfo - make || return 1 - make DESTDIR=${startdir}/pkg/ install || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man \ + --enable-linginfo --enable-fatverb --enable-shared + make + make hunspell +} + +package_hspell() { + + pkgdesc="Hebrew spell-checker" + depends=('glibc' 'zlib' 'perl') + + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + rm -f ${pkgdir}/usr/lib/libhspell.a +} + +package_hunspell-he() { + + pkgdesc="Hebrew hunspell dictionary" + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -dm755 ${pkgdir}/usr/share/hunspell + install -m644 he.dic ${pkgdir}/usr/share/hunspell/he_IL.dic + install -m644 he.aff ${pkgdir}/usr/share/hunspell/he_IL.aff + + # the symlinks + install -dm755 ${pkgdir}/usr/share/myspell/dicts + pushd $pkgdir/usr/share/myspell/dicts + for file in $pkgdir/usr/share/hunspell/*; do + ln -sv /usr/share/hunspell/$(basename $file) . + done + popd } diff --git a/abs/extra/hunspell/PKGBUILD b/abs/extra/hunspell/PKGBUILD index a4b178a..89f9c87 100644 --- a/abs/extra/hunspell/PKGBUILD +++ b/abs/extra/hunspell/PKGBUILD @@ -1,19 +1,18 @@ -# $Id: PKGBUILD 166664 2012-09-15 07:49:23Z andyrtr $ +# $Id$ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Hussam Al-Tayeb <ht990332@gmail.com> pkgname=hunspell -pkgver=1.3.2 -pkgrel=2 +pkgver=1.3.3 +pkgrel=1 pkgdesc="Spell checker and morphological analyzer library and program" arch=('i686' 'x86_64') url="http://hunspell.sourceforge.net/" license=('GPL' 'LGPL' 'MPL') depends=('gcc-libs' 'readline') optdepends=('perl: for ispellaff2myspell') -options=('!libtool') source=(http://downloads.sourceforge.net/hunspell/hunspell-$pkgver.tar.gz) -md5sums=('3121aaf3e13e5d88dfff13fb4a5f1ab8') +md5sums=('4967da60b23413604c9e563beacc63b4') build() { cd "$srcdir/hunspell-$pkgver" diff --git a/abs/extra/hwloc/PKGBUILD b/abs/extra/hwloc/PKGBUILD index bcefb19..1155d34 100644 --- a/abs/extra/hwloc/PKGBUILD +++ b/abs/extra/hwloc/PKGBUILD @@ -1,29 +1,33 @@ -# $Id: PKGBUILD 159285 2012-05-20 22:11:18Z stephane $ +# $Id$ # Maintainer : Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Sylvain HENRY <hsyl20@yahoo.fr> # Contributor: Hervé YVIQUEL <elldekaa@gmail.com> pkgname=hwloc -pkgver=1.4.2 +pkgver=1.9 pkgrel=1 pkgdesc="Portable Hardware Locality is a portable abstraction of hierarchical architectures" arch=('i686' 'x86_64') url="http://www.open-mpi.org/projects/hwloc/" license=('BSD') depends=('sh' 'pciutils' 'cairo' 'libxml2') -makedepends=('pkg-config') -options=('!libtool' '!docs') -source=(http://www.open-mpi.org/software/hwloc/v1.4/downloads/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('2c2ca4101b4ea6782393b555a320c566da50cb68') +options=('!docs') +source=(http://www.open-mpi.org/software/hwloc/v${pkgver}/downloads/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('99646446502e0f9952170bf1082be63361d99b6d') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } +check() { + cd ${pkgname}-${pkgver} + make check +} + package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE diff --git a/abs/extra/icon-naming-utils/PKGBUILD b/abs/extra/icon-naming-utils/PKGBUILD new file mode 100644 index 0000000..7a7aff2 --- /dev/null +++ b/abs/extra/icon-naming-utils/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=icon-naming-utils +pkgver=0.8.90 +pkgrel=3 +pkgdesc="Maps the new names of icons for Tango to the legacy names used by the GNOME and KDE desktops." +arch=(any) +license=('GPL') +url="http://tango.freedesktop.org/" +depends=('perl-xml-simple') +source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz + remove-legacy-calc.patch) +md5sums=('2c5c7a418e5eb3268f65e21993277fba' + 'd3490e31df95ae11c96f0af2a9ef2ed0') + +build() { + cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/remove-legacy-calc.patch" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/icon-naming-utils \ + --localstatedir=/var + make +} +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + mv "$pkgdir/usr/share/pkgconfig" "$pkgdir/usr/lib/pkgconfig" +} diff --git a/abs/extra/icon-naming-utils/remove-legacy-calc.patch b/abs/extra/icon-naming-utils/remove-legacy-calc.patch new file mode 100644 index 0000000..140a051 --- /dev/null +++ b/abs/extra/icon-naming-utils/remove-legacy-calc.patch @@ -0,0 +1,15 @@ +diff -Nur icon-naming-utils-0.8.90.orig/legacy-icon-mapping.xml icon-naming-utils-0.8.90/legacy-icon-mapping.xml +--- icon-naming-utils-0.8.90.orig/legacy-icon-mapping.xml 2011-06-06 12:18:27.059555925 +0000 ++++ icon-naming-utils-0.8.90/legacy-icon-mapping.xml 2011-06-06 12:18:47.709737921 +0000 +@@ -427,11 +427,6 @@ + </icon> + </context> + <context dir="apps"> +- <icon name="accessories-calculator"> +- <link>gnome-calculator</link> +- <link>kcalc</link> +- <link>calc</link> +- </icon> + <icon name="accessories-character-map"> + <link>gnome-character-map</link> + <link>gucharmap</link> diff --git a/abs/extra/icu/PKGBUILD b/abs/extra/icu/PKGBUILD index bf029ee..eafa339 100644 --- a/abs/extra/icu/PKGBUILD +++ b/abs/extra/icu/PKGBUILD @@ -1,36 +1,46 @@ -# $Id: PKGBUILD 160960 2012-06-07 13:35:03Z andyrtr $ +# $Id$ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Art Gramlich <art@gramlich-net.com> pkgname=icu -pkgver=49.1.2 -pkgrel=2 +pkgver=54.1 +pkgrel=1 pkgdesc="International Components for Unicode library" arch=(i686 x86_64) url="http://www.icu-project.org/" -license=('custom:"icu"') -depends=('gcc-libs' 'sh') +license=('custom:icu') +depends=('gcc-libs>=4.7.1-5' 'sh') +#makedepends=('clang') source=(#http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver/./_}-src.tgz http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz icu.8198.revert.icu5431.patch) +md5sums=('e844caed8f2ca24c088505b0d6271bc0' + 'ebd5470fc969c75e52baf4af94a9ee82') -build() { - cd ${srcdir}/icu/source +prepare() { + cd icu/source # fix Malayalam encoding https://bugzilla.redhat.com/show_bug.cgi?id=654200 patch -Rp3 -i ${srcdir}/icu.8198.revert.icu5431.patch +} + +build() { + cd icu/source ./configure --prefix=/usr \ --sysconfdir=/etc \ - --sbindir=/usr/bin \ - --mandir=/usr/share/man + --mandir=/usr/share/man \ + --sbindir=/usr/bin make } +check() { + cd icu/source + make -k check # passes all +} + package() { - cd ${srcdir}/icu/source + cd icu/source make -j1 DESTDIR=${pkgdir} install # Install license install -Dm644 ${srcdir}/icu/license.html ${pkgdir}/usr/share/licenses/icu/license.html } -md5sums=('bbc609fe5237202d7abf016141012a45' - 'ebd5470fc969c75e52baf4af94a9ee82') diff --git a/abs/extra/iotop/PKGBUILD b/abs/extra/iotop/PKGBUILD new file mode 100644 index 0000000..4b25290 --- /dev/null +++ b/abs/extra/iotop/PKGBUILD @@ -0,0 +1,25 @@ +# $Id$ +# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + +pkgname=iotop +pkgver=0.6 +pkgrel=2 +pkgdesc='View I/O usage of processes' +arch=('any') +url='http://guichaz.free.fr/iotop/' +license=('GPL') +depends=('python2') +changelog=$pkgname.changelog +source=(http://guichaz.free.fr/$pkgname/files/$pkgname-$pkgver.tar.bz2) +sha256sums=('3adea2a24eda49bbbaeb4e6ed2042355b441dbd7161e883067a02bfc8dcef75b') + +package() { + cd ${srcdir}/$pkgname-$pkgver + + python2 setup.py install --prefix=/usr --root=${pkgdir} --optimize=1 + +#FS#33906 fix + chmod 644 ${pkgdir}/usr/share/man/man8/iotop.8 + + mv ${pkgdir}/usr/sbin ${pkgdir}/usr/bin +} diff --git a/abs/extra/iotop/iotop.changelog b/abs/extra/iotop/iotop.changelog new file mode 100644 index 0000000..b79c079 --- /dev/null +++ b/abs/extra/iotop/iotop.changelog @@ -0,0 +1,35 @@ +2013-06-23 Thomas Bächler <thomas@archlinux.org> + * iotop 0.6-2 Remove files from /usr/sbin + +2013-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * iotop 0.6-1 + +2013-05-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * iotop 0.5-2 FS#33906 fix + +2013-02-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * iotop 0.5-1 + +2011-10-31 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * iotop 0.4.4 + +2011-03-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * iotop 0.4.3 + +2010-12-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 0.4.2 + +2010-06-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 0.4.1 + +2010-01-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release v0.4 + +2009-06-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release v0.3.1 + +2009-05-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release v0.3 + +2008-08-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Moved to [community] repo diff --git a/abs/extra/java-common/PKGBUILD b/abs/extra/java-common/PKGBUILD new file mode 100644 index 0000000..502622e --- /dev/null +++ b/abs/extra/java-common/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Guillaume ALAUX <guillaume@archlinux.org> +pkgname=('java-runtime-common' 'java-environment-common') +pkgbase=java-common +pkgver=2 +pkgrel=2 +arch=('any') +url='www.archlinux.org' +license=('GPL') +checkdepends=('wget') +source=(profile_jre.csh + profile_jre.sh + bin_archlinux-java + test_archlinux-java + https://shunit2.googlecode.com/files/shunit2-2.1.6.tgz) + +sha256sums=('9d25638cafc2fabd1ba6f2f26aa01233eccf3d31db003d956b571f0ab655dd23' + '519e9881a2a9f4fc3d581ea0ef0da594eedbfdfcf734f9fdc0bb595e8ac77e4c' + '272296ec7ca673b4f9f59fb70565328b6daef682c29cd964c988c018090c3fc2' + 'c2c413a6b2f8b88ed170a5b19f7cb620518e09686f0d286b4b27d30f571e5050' + '65a313a76fd5cc1c58c9e19fbc80fc0e418a4cbfbd46d54b35ed5b6e0025d4ee') + +check() { + cd "${srcdir}" + ./test_archlinux-java +} + +package_java-runtime-common() { + pkgdesc='Common files for Java Runtime Environments' + conflicts=('java-common') + replaces=('java-common') + backup=(etc/profile.d/jre.sh + etc/profile.d/jre.csh) + install=install_java-runtime-common.sh + + cd "${srcdir}" + + install -d -m 755 "${pkgdir}/usr/lib/jvm/" + ln -s /dev/null "${pkgdir}/usr/lib/jvm/default" + ln -s /dev/null "${pkgdir}/usr/lib/jvm/default-runtime" + + install -D -m 644 profile_jre.sh "${pkgdir}/etc/profile.d/jre.sh" + install -D -m 644 profile_jre.csh "${pkgdir}/etc/profile.d/jre.csh" + install -D -m 755 bin_archlinux-java "${pkgdir}/usr/bin/archlinux-java" + + install -d -m 755 "${pkgdir}/usr/bin/" + # Official list of binaries that Java headless runtime packages MUST provide + # This list is based on Arch Linux' default Java implementation: "OpenJDK 7 Icedtea" + for b in \ + java keytool orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200; + do + ln -s /usr/lib/jvm/default-runtime/bin/${b} "${pkgdir}/usr/bin/${b}" + done +} + +package_java-environment-common() { + pkgdesc='Common files for Java Development Kits' + + cd "${srcdir}" + + install -d -m 755 "${pkgdir}/usr/bin/" + # Official list of supplementary binaries that Java environment packages MUST provide + # This list is based on Arch Linux' default Java implementation: "OpenJDK 7 Icedtea" + for b in \ + appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jcmd \ + jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat \ + jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc; + do + ln -s /usr/lib/jvm/default/bin/${b} "${pkgdir}/usr/bin/${b}" + done +} diff --git a/abs/extra/java-common/bin_archlinux-java b/abs/extra/java-common/bin_archlinux-java new file mode 100755 index 0000000..453b0a4 --- /dev/null +++ b/abs/extra/java-common/bin_archlinux-java @@ -0,0 +1,178 @@ +#! /bin/bash + +# Arch Linux helper script to set/unset/check/fix the enabled Java environment +# This program may be freely redistributed under the terms of the GNU General Public License +# +# Author: Guillaume ALAUX <guillaume@archlinux.org> + +JVM_DIR=/usr/lib/jvm +DEFAULT_NAME=default +DEFAULT_PATH=${JVM_DIR}/${DEFAULT_NAME} +DEFAULT_NAME_JRE=default-runtime +DEFAULT_PATH_JRE=${JVM_DIR}/${DEFAULT_NAME_JRE} + + +# Utility functions + +check_root() { + if [ $(id -u) -ne 0 ]; then + echo 'This script must be run as root' + exit 1 + fi +} + +# $1: parameter count given to this script for this option +# $2: expected parameter count for this option +check_param_count() { + if [ $1 -ne $2 ]; then + echo 'Wrong parameter count' + exit 2 + fi +} + +# Second level functions + +get_default_java() { + path=$(readlink -e ${DEFAULT_PATH}) + if [ "x${path}" != "x/dev/null" ]; then + echo ${path/${JVM_DIR}\/} + else + echo "" + fi +} + +get_installed_javas() { + if [ -d ${JVM_DIR} ]; then + for dir in $(find ${JVM_DIR} -mindepth 1 -maxdepth 1 -type d | sort); do + if [ -x ${dir}/bin/javac ]; then + javas+=(${dir/${JVM_DIR}\/}) + else + if [ -x ${dir}/jre/bin/java ]; then + javas+=(${dir/${JVM_DIR}\/}/jre) + fi + fi + done + fi + echo ${javas[@]} +} + +# $1: Java environment name to test +is_java_valid() { + test "x$1" != "x${DEFAULT_NAME}" && test -x ${JVM_DIR}/$1/bin/java +} + +# $1: Java environment name to set as default +set_default_link_to() { + new_default=$1 + unlink ${DEFAULT_PATH} 2>/dev/null + ln -sf ${new_default} ${DEFAULT_PATH} + + unlink ${DEFAULT_PATH_JRE} 2>/dev/null + if [[ ${new_default} == */jre ]]; then + ln -sf ${new_default} ${DEFAULT_PATH_JRE} + else + ln -sf ${new_default}/jre ${DEFAULT_PATH_JRE} + fi +} + +unset_default_link() { + unlink ${DEFAULT_PATH} 2>/dev/null + unlink ${DEFAULT_PATH_JRE} 2>/dev/null +} + +# First level functions + +do_status() { + installed_java=($(get_installed_javas)) + if [ ${#installed_java[@]} -eq 0 ]; then + echo 'No compatible Java environment installed' + else + default_java=$(get_default_java) + echo 'Available Java environments:' + for java in ${installed_java[@]}; do + if [ "${java}/jre" = "${default_java}" ]; then + echo -e " ${java} (${java}/jre default)" + elif [ ${java} = "${default_java}" ]; then + echo -e " ${java} (default)" + else + echo " ${java}" + fi + done + if [ -z ${default_java} ]; then + echo "No Java environment set as default" + fi + fi +} + +do_get() { + get_default_java +} + +# $1: Java environment name to set as default +do_set() { + if ! is_java_valid $1; then + echo "'${JVM_DIR}/$1' is not a valid Java environment path" + exit 1 + fi + default=$(get_default_java) + if [ "x$1" != "x${default}" ] || ! is_java_valid ${default}; then + unset_default_link + set_default_link_to $1 + fi + + #parent_dir=$(dirname $1) + #if is_java_valid ${parent_dir}; then + # echo "Warning: '${parent_dir}' looks like a valid JDK whereas '$1' is set as default" + # echo "Fix this with 'archlinux-java set ${parent_dir}'" + #fi +} + +# $1: Java environment name to unset +do_unset() { + unset_default_link +} + +do_fix() { + default=$(get_default_java) + if is_java_valid ${default}; then + if is_java_valid $(dirname ${default}); then + unset_default_link + set_default_link_to $(dirname ${default}) + fi + else + prev=$(readlink ${DEFAULT_PATH}) + unset_default_link + prev_fix=("${prev/\/jre}" "${prev}/jre") + openjdk7=('java-7-openjdk' 'java-7-openjdk/jre') + to_check=(${prev_fix[@]} ${openjdk7[@]} $(get_installed_javas)) + for java in ${to_check[@]}; do + if ! is_java_valid $(get_default_java) && is_java_valid ${java}; then + set_default_link_to ${java} + fi + done + fi + if ! is_java_valid $(get_default_java); then + echo 'No valid Java environment found' + fi +} + +usage() { + echo "$(basename $0) <COMMAND>" + echo -e "\nCOMMAND:" + echo -e '\tstatus\t\tList installed Java environments and enabled one' + echo -e '\tget\t\tReturn the short name of the Java environment set as default' + echo -e '\tset <JAVA_ENV>\tForce <JAVA_ENV> as default' + echo -e '\tunset\t\tUnset current default Java environment' + echo -e '\tfix\t\tFix an invalid/broken default Java environment configuration' +} + +## Main +case $1 in + 'status') do_status;; + 'get') do_get;; + 'set') check_root; check_param_count $# 2; do_set $2;; + 'unset') check_root; do_unset;; + 'fix') check_root; do_fix;; + 'help' | '--help' | '-h' | '') usage;; + *) echo "$(basename $0): unknown option '$@'"; exit 1;; +esac diff --git a/abs/extra/java-common/bin_java-common-wrapper b/abs/extra/java-common/bin_java-common-wrapper new file mode 100755 index 0000000..19d9eda --- /dev/null +++ b/abs/extra/java-common/bin_java-common-wrapper @@ -0,0 +1,2 @@ +#!/bin/bash +exec "${JAVA_HOME:-/usr/lib/jvm/default}/bin/${0##*/}" "$@" diff --git a/abs/extra/java-common/install_java-runtime-common.sh b/abs/extra/java-common/install_java-runtime-common.sh new file mode 100644 index 0000000..f61d177 --- /dev/null +++ b/abs/extra/java-common/install_java-runtime-common.sh @@ -0,0 +1,16 @@ +pre_upgrade() { + if grep -q '^export _JAVA_AWT_WM_NONREPARENTING=1' /etc/profile.d/jre.sh > /dev/null 2>&1; then + echo "Variable '_JAVA_AWT_WM_NONREPARENTING' should not be set in /etc/profile.d/jre.sh any more" + echo "Please declare it in ~/.xinitrc or such" + fi +} + +post_install() { + echo 'For the complete set of Java binaries to be available in your PATH,' + echo 'you need to re-login or source /etc/profile.d/jre.sh' + echo 'Please note that this package does not support forcing JAVA_HOME as former package 'java-common' did' +} + +post_upgrade() { + archlinux-java fix +} diff --git a/abs/extra/java-common/profile_jre.csh b/abs/extra/java-common/profile_jre.csh new file mode 100644 index 0000000..a224d89 --- /dev/null +++ b/abs/extra/java-common/profile_jre.csh @@ -0,0 +1,3 @@ +# Do not change this unless you want to completely by-pass Arch Linux' way +# of handling Java versions and vendors. Instead, please use script `archlinux-java` +setenv PATH "${PATH}:/usr/lib/jvm/default/bin" diff --git a/abs/extra/java-common/profile_jre.sh b/abs/extra/java-common/profile_jre.sh new file mode 100644 index 0000000..f5b2585 --- /dev/null +++ b/abs/extra/java-common/profile_jre.sh @@ -0,0 +1,3 @@ +# Do not change this unless you want to completely by-pass Arch Linux' way +# of handling Java versions and vendors. Instead, please use script `archlinux-java` +export PATH=${PATH}:/usr/lib/jvm/default/bin diff --git a/abs/extra/java-common/test_archlinux-java b/abs/extra/java-common/test_archlinux-java new file mode 100755 index 0000000..867745d --- /dev/null +++ b/abs/extra/java-common/test_archlinux-java @@ -0,0 +1,286 @@ +#! /bin/sh +# +# To run this script, ensure shunit2 (https://code.google.com/p/shunit2/) +# is available on the local directory, then just run sh bin_archlinux-java_tests +# +# inotifywait -r -m -e MODIFY . | while read l; do sh bin_archlinux-java_tests; done + +declare test_dir + +. ./bin_archlinux-java > /dev/null + +INIT_JVM_DIR=${JVM_DIR} +INIT_DEFAULT_PATH=${DEFAULT_PATH} +INIT_DEFAULT_PATH_JRE=${DEFAULT_PATH_JRE} + +# Redefining this so that tested script can be invoked without root privileges +check_root() { + true +} + + +get_rand_str() { + echo $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1) +} + +setUp() { + test_dir=$(mktemp -d) + JVM_DIR=${test_dir}${INIT_JVM_DIR} + DEFAULT_PATH=${test_dir}${INIT_DEFAULT_PATH} + DEFAULT_PATH_JRE=${test_dir}${INIT_DEFAULT_PATH_JRE} + JAVA_NAME=$(get_rand_str) + mkdir -p ${JVM_DIR} +} + +tearDown() { + rm -rf ${test_dir} +} + +# $1: path of Java environment to create +create_valid_jre_env() { + mkdir -p ${JVM_DIR}/$1/bin + for binary in java keytool orbd; do + touch ${JVM_DIR}/$1/bin/${binary} + chmod +x ${JVM_DIR}/$1/bin/${binary} + done +} + +# $1: path of Java environment to create +create_valid_jdk_env() { + create_valid_jre_env "$1" + for binary in javac javah jhat; do + touch ${JVM_DIR}/$1/bin/${binary} + chmod +x ${JVM_DIR}/$1/bin/${binary} + done + create_valid_jre_env "$1/jre" +} + +set_default_for_test() { + ln -s $1 ${DEFAULT_PATH} + if [ -d ${DEFAULT_PATH}/jre ]; then + ln -s $1/jre ${DEFAULT_PATH_JRE} + else + ln -s $1 ${DEFAULT_PATH_JRE} + fi +} + +assertDefaultNotSet() { + assertNull 'Default is set' "$(readlink ${DEFAULT_PATH})" + assertNull 'Default runtime is set' "$(readlink ${DEFAULT_PATH_JRE})" +} + +assertDefaultSetTo() { + new_java=$1 + assertEquals "Default points at wrong Java env" "${new_java}" "$(readlink ${DEFAULT_PATH})" + if [ ${new_java} == */jre ]; then + assertEquals "Default runtime points at wrong Java env" "${new_java}/jre" "$(readlink ${DEFAULT_PATH_JRE})" + fi +} + +# do_status + +test_do_status() { + JAVA_NAME_1="a$(get_rand_str)" + JAVA_NAME_2="b$(get_rand_str)" + create_valid_jre_env "${JAVA_NAME_1}/jre" + set_default_for_test "${JAVA_NAME_1}/jre" + create_valid_jdk_env "${JAVA_NAME_2}" + expected=$(echo -e "Available Java environments:\n ${JAVA_NAME_1}/jre (default)\n ${JAVA_NAME_2}") + assertEquals 'Wrong status output' "${expected}" "$(do_status)" +} + +test_do_status_no_default() { + JAVA_NAME_1="a$(get_rand_str)" + JAVA_NAME_2="b$(get_rand_str)" + create_valid_jre_env "${JAVA_NAME_1}/jre" + create_valid_jdk_env "${JAVA_NAME_2}" + mess="Available Java environments:" + mess+="\n ${JAVA_NAME_1}/jre" + mess+="\n ${JAVA_NAME_2}" + mess+="\nNo Java environment set as default" + expected=$(echo -e "${mess}") + assertEquals 'Wrong status output' "${expected}" "$(do_status)" +} + +test_do_status_no_javas() { + assertEquals 'Wrong status output' 'No compatible Java environment installed' "$(do_status)" +} + +test_do_status_jre_but_jdk_exists() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "${JAVA_NAME}/jre" + mess="Available Java environments:" + mess+="\n ${JAVA_NAME} (${JAVA_NAME}/jre default)" + expected=$(echo -e "${mess}") + assertEquals 'Wrong status output' "${expected}" "$(do_status)" +} + +# do_get + +test_do_get_with_default() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "${JAVA_NAME}" + assertEquals 'Wrong result' "${JAVA_NAME}" "$(do_get)" + assertDefaultSetTo "${JAVA_NAME}" +} + +test_do_get_without_default() { + create_valid_jdk_env "${JAVA_NAME}" + assertNull 'Wrong result' "$(do_get)" +} + +test_do_get_without_default() { + set_default_for_test "/dev/null" + assertNull 'Wrong result' "$(do_get)" +} + +# do_set + +test_do_set_new_invalid() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "${JAVA_NAME}" + output=$(do_set "INVALID") + assertEquals 'Wrong status returned' 1 $? + assertEquals 'Wrong message' "'${JVM_DIR}/INVALID' is not a valid Java environment path" "${output}" + assertDefaultSetTo "${JAVA_NAME}" +} + +test_do_set_current_invalid() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "INVALID" + $(do_set "${JAVA_NAME}") + assertEquals 'Wrong status returned' 0 $? + assertDefaultSetTo "${JAVA_NAME}" +} + +test_do_set_with_default_already_set() { + create_valid_jre_env "${JAVA_NAME}/jre" + set_default_for_test "${JAVA_NAME}/jre" + JAVA_NAME_2="$(get_rand_str)" + create_valid_jre_env "${JAVA_NAME_2}/jre" + $(do_set "${JAVA_NAME_2}/jre") + assertEquals 'Wrong status returned' 0 $? + assertDefaultSetTo "${JAVA_NAME_2}/jre" +} + +test_do_set_no_default() { + create_valid_jre_env "${JAVA_NAME}/jre" + $(do_set "${JAVA_NAME}/jre") + assertEquals 'Wrong status returned' 0 $? + assertDefaultSetTo "${JAVA_NAME}/jre" +} + +test_do_set_exists_jdk() { + create_valid_jdk_env "${JAVA_NAME}" + output=$(do_set "${JAVA_NAME}/jre") + assertEquals 'Wrong status returned' 0 $? + assertDefaultSetTo "${JAVA_NAME}/jre" + #mess="Warning: '${JAVA_NAME}' looks like a valid JDK whereas you only set '${JAVA_NAME}/jre' as default" + #mess+="\nFix this with 'archlinux-java set ${JAVA_NAME}'" + #expected=$(echo -e "${mess}") + #assertEquals 'Wrong message' "${expected}" "${output}" +} + +test_do_set_cleanup_old_java_default() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "${JAVA_NAME}" + output=$(do_set "${JAVA_NAME}/jre") + assertEquals 'Wrong status returned' 0 $? + assertDefaultSetTo "${JAVA_NAME}/jre" +} + +test_do_set_devnull() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "/dev/null" + output=$(do_set "${JAVA_NAME}/jre") + assertEquals 'Wrong status returned' 0 $? + assertDefaultSetTo "${JAVA_NAME}/jre" +} + +# do_unset + +test_do_unset_default_not_target() { + create_valid_jre_env "${JAVA_NAME}/jre" + set_default_for_test "${JAVA_NAME}/jre" + do_unset + assertDefaultNotSet +} + +test_do_unset_no_default_link() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "${JAVA_NAME}" + unlink ${DEFAULT_PATH} + do_unset + assertDefaultNotSet +} + +test_do_unset_devnull() { + set_default_for_test "/dev/null" + do_unset + assertDefaultNotSet +} + +# do_fix + +test_do_fix_default_valid() { + create_valid_jre_env "${JAVA_NAME}/jre" + set_default_for_test "${JAVA_NAME}/jre" + do_fix + assertDefaultSetTo "${JAVA_NAME}/jre" +} + +test_do_fix_no_default() { + create_valid_jre_env "${JAVA_NAME}/jre" + do_fix + assertDefaultSetTo "${JAVA_NAME}/jre" +} + +test_do_fix_default_invalid_openjdk7_jdk_installed() { + create_valid_jdk_env "java-7-openjdk" + create_valid_jdk_env "${JAVA_NAME}" + do_fix + assertDefaultSetTo "java-7-openjdk" +} + +test_do_fix_default_invalid_openjdk7_jre_installed() { + create_valid_jdk_env "${JAVA_NAME}" + create_valid_jre_env "java-7-openjdk/jre" + do_fix + assertDefaultSetTo "java-7-openjdk/jre" +} + +test_do_fix_default_invalid_random_java_installed() { + create_valid_jdk_env "${JAVA_NAME}" + do_fix + assertDefaultSetTo "${JAVA_NAME}" +} + +test_do_fix_default_invalid_no_java_installed() { + assertEquals 'Wrong message' "No valid Java environment found" "$(do_fix)" + assertDefaultNotSet +} + +test_do_fix_jre_but_jdk_exists() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "${JAVA_NAME}/jre" + do_fix + assertDefaultSetTo "${JAVA_NAME}" +} + +test_do_fix_jdk_but_jre_exists() { + create_valid_jdk_env "java-7-openjdk" + create_valid_jre_env "${JAVA_NAME}/jre" + set_default_for_test "${JAVA_NAME}" + do_fix + assertDefaultSetTo "${JAVA_NAME}/jre" +} + +test_do_fix_devnull() { + create_valid_jdk_env "${JAVA_NAME}" + set_default_for_test "/dev/null" + do_fix + assertDefaultSetTo "${JAVA_NAME}" +} + +# load shunit2 +. shunit2-2.1.6/src/shunit2 diff --git a/abs/extra/java7-openjdk/PKGBUILD b/abs/extra/java7-openjdk/PKGBUILD index d05bc06..06daab6 100644 --- a/abs/extra/java7-openjdk/PKGBUILD +++ b/abs/extra/java7-openjdk/PKGBUILD @@ -1,135 +1,113 @@ -# $Id: PKGBUILD 161798 2012-06-14 14:46:00Z andyrtr $ +# $Id$ # Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Maintainer: Guillaume ALAUX <guillaume@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> -# Contributor: Guillaume ALAUX <guillaume@archlinux.org> -pkgname=('jre7-openjdk-headless' 'jre7-openjdk' 'jdk7-openjdk' 'openjdk7-src') - # ToDo -demo -doc packages, see Debian file lists http://packages.debian.org/source/wheezy/openjdk-7 +pkgname=('jre7-openjdk-headless' 'jre7-openjdk' 'jdk7-openjdk' 'openjdk7-src' 'openjdk7-doc') pkgbase=java7-openjdk _java_ver=7 -_updatever=u5 -_openjdk_build=b21 -_openjdk_date=27_jun_2011 -_icedtea_ver=2.2.1 -_date=20110922 - -# check "${srcdir}/icedtea7"/Makefile.am -_CORBA_CHANGESET=38deb372c569 -_HOTSPOT_CHANGESET=889dffcf4a54 -_JAXP_CHANGESET=335fb0b059b7 -_JAXWS_CHANGESET=5471e01ef43b -_JDK_CHANGESET=6c3b742b735d -_LANGTOOLS_CHANGESET=beea46c7086b -_OPENJDK_CHANGESET=0b776ef59474 +_icedtea_ver=2.5.3 +pkgver() { + _updatever=$(grep -E "^JDK_UPDATE_VERSION = (.)+" ${srcdir}/icedtea-${_icedtea_ver}/Makefile.am \ + | sed -r 's/^JDK_UPDATE_VERSION = (.+)$/\1/') + echo ${_java_ver}.u${_updatever}_${_icedtea_ver} +} +pkgver=7.u71_2.5.3 +pkgrel=3 _bootstrap=0 # 0/1 for quick build or full bootstrap -pkgver=${_java_ver}.${_updatever}_${_icedtea_ver} -pkgrel=1 arch=('i686' 'x86_64') -url="http://icedtea.classpath.org" +url='http://icedtea.classpath.org' license=('custom') options=('!emptydirs') makedepends=('jdk7-openjdk' 'libxp' 'libxslt' 'alsa-lib' 'apache-ant>=1.8.1' 'giflib' 'libpng>=1.5.7' 'gtk2' - 'java-rhino' 'zip' 'unzip' 'cpio' 'fastjar') # 'inetutils' 'grep') # fastjar`? -[ "$_bootstrap" = "1" ] && makedepends=(${makedepends[@]} 'eclipse-ecj') - -#http://www.java.net/download/openjdk/jdk${_java_ver}/promoted/${_openjdk_build}/openjdk-${_java_ver}-fcs-src-${_openjdk_build}-${_openjdk_date}.zip - -_url=http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2 -source=(http://icedtea.classpath.org/download/source/icedtea-${_icedtea_ver}.tar.gz{,.sig} - ${_url}/archive/${_OPENJDK_CHANGESET}.tar.gz # openjdk.tar.gz - ${_url}/corba/archive/${_CORBA_CHANGESET}.tar.gz # corba.tar.gz - ${_url}/jaxp/archive/${_JAXP_CHANGESET}.tar.gz # jaxp.tar.gz - ${_url}/jaxws/archive/${_JAXWS_CHANGESET}.tar.gz # jaxws.tar.gz - ${_url}/jdk/archive/${_JDK_CHANGESET}.tar.gz # jdk.tar.gz - ${_url}/langtools/archive/${_LANGTOOLS_CHANGESET}.tar.gz # langtools.tar.gz - ${_url}/hotspot/archive/${_HOTSPOT_CHANGESET}.tar.gz # hotspot.tar.gz + 'java-rhino' 'zip' 'unzip' 'cpio' 'fastjar' 'wget' + 'eclipse-ecj') + +_icedtea_url=http://icedtea.classpath.org/download +_drops_url=${_icedtea_url}/drops/icedtea7/${_icedtea_ver} +source=(${_icedtea_url}/source/icedtea-${_icedtea_ver}.tar.gz + icedtea_${_icedtea_ver}_openjdk.tar.bz2::${_drops_url}/openjdk.tar.bz2 + icedtea_${_icedtea_ver}_corba.tar.bz2::${_drops_url}/corba.tar.bz2 + icedtea_${_icedtea_ver}_jaxp.tar.bz2::${_drops_url}/jaxp.tar.bz2 + icedtea_${_icedtea_ver}_jaxws.tar.bz2::${_drops_url}/jaxws.tar.bz2 + icedtea_${_icedtea_ver}_jdk.tar.bz2::${_drops_url}/jdk.tar.bz2 + icedtea_${_icedtea_ver}_langtools.tar.bz2::${_drops_url}/langtools.tar.bz2 + icedtea_${_icedtea_ver}_hotspot.tar.bz2::${_drops_url}/hotspot.tar.bz2 fontconfig-paths.diff - fix_corba_cmds_path.diff - openjdk7_fix_jdk_cmds_path.diff openjdk7_nonreparenting-wm.diff - disable_Werror.diff - jdk7-openjdk.profile - jdk7-openjdk.profile.csh - jre7-openjdk.profile - jre7-openjdk.profile.csh) -sha256sums=('0f5ba163904f7c50374ab345216dd1b66c077fc431592eb3d4801f7ecda200b6' - '0c987bff8e490a57d1e16e328a54665073ef920166342a0a08e5593aa20cd215' - '15a6eab62f5108efbf7937b1de7697bd789971886fc1fc08ee8199e16a5c10fe' - 'b892b0db6f3e4f89fd480d46ecb7c9ce5c71a884ae5bfe953b4bda9eedf7ea93' - 'ff4ab3710fe316b7adc4e57d4d21ff967ca20e2ccc5267ac26b93cd22db8b3fd' - '1ef055749ee46ebf7a5be94403b461d8d32e95c98906da459aeb217a0784ff1d' - '48a513d18c919ec08d44cffdc12ae65f1e8942924c6cfcca5c1ffa8ca38afd0e' - '17055cf1490fab1cccc57bf3aa5b32d655c408859790c7f671bfde180ddf70cb' - 'b29a8929bb4aadbc033e99dca6a381ca6342f0373b9c3f67827bfc025187ba41' + giflib_5.1.diff) + +sha256sums=('44df11ac8e5ace7194e7372ef169909e0dab31d6b2f6bbae9a9c33af2cc54540' + '3ba1a30762f5d5890e8ee6af11f52213ab9c574c01f07c75a081c42034f5d5c9' + '8ceb2cd60782b7fc14b88e3d366f273873fa5436cf0e36b86406c0905b7dc43c' + '2d13a82078f3f2b8831d1e670e5e75719336a56490df64f16ab7647674a272ef' + '5a63d85307203f1aed1e31459ad5e32687909e0640d424ff6f540d9b1cceeb1e' + '40c4dda969be0ecd213e79269184e19cfc32100b83777dc529b3cf4b6aa3e12f' + '516f6c21719f4b5a2092847c147cde7890c5a30d4aed9425ff667c0164ef1dd0' + '8c8e1f7e97f47fe4029e0b0ba42b3515474adabe64e1fbee15c0e2e22a13aa28' '9ad943ceb3dbcdf45d72974fc3667886a7ed65c69ab9abc17be5412827551a7f' - '7b2db65bfb9d5014e1522178d65cabf05dfa85e0926cde5648b5a338db376479' - 'b742113dc6debc3eb92a246e442595481c04a2a3973e7902b86037acb50050ea' - 'fd615f476ef17853ae55b7aee3c92b6738f9ea584e915749b1caa7fdc5ff9ca4' - 'eb4c7f4cf50f5f74b683857f707bd21ec3847267e2e5e3173f42a6910a024f97' - '2ec2c6d3a8b62c5743bf8c50c358d98f6a86219d1d8b70645bcc0e1707670410' - '3f28f8bfc6dd105a07f747d7135c77a77de433e2b8647dd7520a900135203fbd' - 'faf5fbaf24c33c101d58bacf8b93c1dbe08a0cbde4c596d5b4a6e28dd4b18f0a' - '84d3b91cc57c67b2cf2ddb7fe5abcf1e88b5a151565aaecf4b595c7ce8f3fee9') - -noextract=("${_OPENJDK_CHANGESET}.tar.gz" - "${_CORBA_CHANGESET}.tar.gz" - "${_JAXP_CHANGESET}.tar.gz" - "${_JAXWS_CHANGESET}.tar.gz" - "${_JDK_CHANGESET}.tar.gz" - "${_LANGTOOLS_CHANGESET}.tar.gz" - "${_HOTSPOT_CHANGESET}.tar.gz") - - _jvmdir=/usr/lib/jvm/java-7-openjdk - - [ "$CARCH" = "x86_64" ] && _JARCH=amd64 - [ "$CARCH" = "i686" ] && _JARCH=i386 - + '56b919ababb13bd6afdcdaceb112b529b6e82539255f2dae9a7e5eb91645164b' + '77fba3032edf6cce549cd4e174d9296684b20f4589dc59179fcc8cba7426a4e9') + +noextract=(icedtea_${_icedtea_ver}_openjdk.tar.bz2 + icedtea_${_icedtea_ver}_corba.tar.bz2 + icedtea_${_icedtea_ver}_jaxp.tar.bz2 + icedtea_${_icedtea_ver}_jaxws.tar.bz2 + icedtea_${_icedtea_ver}_jdk.tar.bz2 + icedtea_${_icedtea_ver}_langtools.tar.bz2 + icedtea_${_icedtea_ver}_hotspot.tar.bz2) + +[ "$CARCH" = "x86_64" ] && _JARCH=amd64 +[ "$CARCH" = "i686" ] && _JARCH=i386 + +_jvmdir=/usr/lib/jvm/java-7-openjdk +_imgdir="icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image" +_nonheadless=(bin/policytool + lib/${_JARCH}/libjsoundalsa.so + lib/${_JARCH}/libsplashscreen.so + lib/${_JARCH}/xawt/libmawt.so) + build() { cd "${srcdir}/icedtea-${_icedtea_ver}" - unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS - - # default is to build with first found java-environment found in our repos - is jdk7-openjdk - [ -f /etc/profile.d/jdk.sh ] && . /etc/profile.d/jdk.sh - -# unset MAKEFLAGS # parallel build is currently broken - export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}" export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}" . /etc/profile.d/apache-ant.sh - cp ${srcdir}/*.diff ${srcdir}/icedtea-${_icedtea_ver}/patches - export DISTRIBUTION_PATCHES="patches/fontconfig-paths.diff patches/fix_corba_cmds_path.diff patches/openjdk7_fix_jdk_cmds_path.diff patches/openjdk7_nonreparenting-wm.diff patches/disable_Werror.diff" + cp "${srcdir}"/*.diff "${srcdir}"/icedtea-${_icedtea_ver}/patches + export DISTRIBUTION_PATCHES="patches/fontconfig-paths.diff \ + patches/openjdk7_nonreparenting-wm.diff \ + patches/giflib_5.1.diff" if [ "$_bootstrap" = "1" ]; then BOOTSTRAPOPT="--enable-bootstrap --with-ecj-jar=/usr/share/java/ecj.jar" - else + else BOOTSTRAPOPT="--disable-bootstrap" fi ./configure \ - $BOOTSTRAPOPT \ + ${BOOTSTRAPOPT} \ --with-parallel-jobs="${MAKEFLAGS/-j}" \ --disable-tests \ - --with-pkgversion="ArchLinux build ${pkgver}-${pkgrel}-${CARCH}" \ + --disable-downloading --disable-Werror \ + --with-pkgversion="Arch Linux build ${pkgver}-${pkgrel}-${CARCH}" \ --with-jdk-home=${JAVA_HOME} \ - --with-openjdk-src-zip=${srcdir}/${_OPENJDK_CHANGESET}.tar.gz \ - --with-hotspot-src-zip=${srcdir}/${_HOTSPOT_CHANGESET}.tar.gz \ - --with-corba-src-zip=${srcdir}/${_CORBA_CHANGESET}.tar.gz \ - --with-jaxp-src-zip=${srcdir}/${_JAXP_CHANGESET}.tar.gz \ - --with-jaxws-src-zip=${srcdir}/${_JAXWS_CHANGESET}.tar.gz \ - --with-jdk-src-zip=${srcdir}/${_JDK_CHANGESET}.tar.gz \ - --with-langtools-src-zip=${srcdir}/${_LANGTOOLS_CHANGESET}.tar.gz \ + --with-openjdk-src-zip="${srcdir}/icedtea_${_icedtea_ver}_openjdk.tar.bz2" \ + --with-hotspot-src-zip="${srcdir}/icedtea_${_icedtea_ver}_hotspot.tar.bz2" \ + --with-corba-src-zip="${srcdir}/icedtea_${_icedtea_ver}_corba.tar.bz2" \ + --with-jaxp-src-zip="${srcdir}/icedtea_${_icedtea_ver}_jaxp.tar.bz2" \ + --with-jaxws-src-zip="${srcdir}/icedtea_${_icedtea_ver}_jaxws.tar.bz2" \ + --with-jdk-src-zip="${srcdir}/icedtea_${_icedtea_ver}_jdk.tar.bz2" \ + --with-langtools-src-zip="${srcdir}/icedtea_${_icedtea_ver}_langtools.tar.bz2" \ --enable-nss \ --with-rhino \ - --with-abs-install-dir=${_jvmdir} - #--help - #--enable-systemtap Enable inclusion of SystemTap trace support - needs systemtab from AUR - + --with-abs-install-dir=${_jvmdir} \ + --enable-infinality=no + # TODO latest version of openjdk will disable infinality by default make } @@ -139,214 +117,193 @@ check() { } package_jre7-openjdk-headless() { - pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - Minimal Java runtime - needed for executing non GUI Java programs" - depends=('libjpeg-turbo' 'lcms2' 'nss' - 'ca-certificates-java' 'java-rhino') - optdepends=('libcups: needed for Java Mauve support - libmawt.so' - 'fontconfig: needed for Java Mauve support - libmawt.so') - provides=('java-runtime-headless=7') + pkgdesc='OpenJDK Java 7 headless runtime environment' + depends=('java-runtime-common' 'libjpeg-turbo' 'lcms2' 'nss' 'ca-certificates-utils' 'libcups') + optdepends=('fontconfig: needed for Java Mauve support - libmawt.so' + 'java-rhino: for some JavaScript support') + provides=('java-runtime-headless=7' 'java-runtime-headless-openjdk=7') conflicts=('openjdk6') - # replaces=('openjdk6') # once we remove openjdk6 pkg from the repos - backup=(etc/profile.d/jre.sh - etc/profile.d/jre.csh - etc/java-7-openjdk/calendars.properties - etc/java-7-openjdk/content-types.properties - etc/java-7-openjdk/cursors/cursors.properties - etc/java-7-openjdk/flavormap.properties - etc/java-7-openjdk/fontconfig.bfc - etc/java-7-openjdk/fontconfig.properties - etc/java-7-openjdk/jvm.cfg - etc/java-7-openjdk/logging.properties - etc/java-7-openjdk/management/jmxremote.access - etc/java-7-openjdk/management/jmxremote.password - etc/java-7-openjdk/management/management.properties - etc/java-7-openjdk/management/snmp.acl - etc/java-7-openjdk/net.properties - etc/java-7-openjdk/psfont.properties.ja - etc/java-7-openjdk/psfontj2d.properties - etc/java-7-openjdk/security/java.policy - etc/java-7-openjdk/security/java.security - etc/java-7-openjdk/security/nss.cfg - etc/java-7-openjdk/sound.properties - etc/java-7-openjdk/tz.properties) + # TODO remove after some time + replaces=('jre7-openjdk-headless-wm') + # Upstream config files that should go to etc and get backup + _backup_etc=(etc/java-7-openjdk/${_JARCH}/jvm.cfg + etc/java-7-openjdk/calendars.properties + etc/java-7-openjdk/content-types.properties + etc/java-7-openjdk/flavormap.properties + etc/java-7-openjdk/fontconfig.bfc + etc/java-7-openjdk/fontconfig.properties + etc/java-7-openjdk/images/cursors/cursors.properties + etc/java-7-openjdk/logging.properties + etc/java-7-openjdk/management/jmxremote.access + etc/java-7-openjdk/management/jmxremote.password + etc/java-7-openjdk/management/management.properties + etc/java-7-openjdk/management/snmp.acl + etc/java-7-openjdk/net.properties + etc/java-7-openjdk/psfont.properties.ja + etc/java-7-openjdk/psfontj2d.properties + etc/java-7-openjdk/security/java.policy + etc/java-7-openjdk/security/java.security + etc/java-7-openjdk/security/nss.cfg + etc/java-7-openjdk/sound.properties + etc/java-7-openjdk/tz.properties) + backup=(${_backup_etc[@]}) install=jre7-openjdk-headless.install - cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/jre" + cd "${srcdir}/${_imgdir}/jre" - mv lib/fontconfig.Ubuntu.properties.src lib/fontconfig.properties - mv lib/fontconfig.Ubuntu.bfc lib/fontconfig.bfc - rm -f lib/fontconfig.*.bfc - rm -f lib/fontconfig.*.properties.src - rm -f lib/fontconfig.properties.src + install -d -m755 "${pkgdir}${_jvmdir}/jre" + cp -a bin lib "${pkgdir}${_jvmdir}/jre" - install -d -m755 ${pkgdir}/${_jvmdir}/jre/ - cp -a bin lib ${pkgdir}/${_jvmdir}/jre + # Set config files + mv "${pkgdir}${_jvmdir}"/jre/lib/fontconfig.{Ubuntu.properties.src,properties} + mv "${pkgdir}${_jvmdir}"/jre/lib/fontconfig.{Ubuntu.bfc,bfc} + mv "${pkgdir}${_jvmdir}"/jre/lib/management/jmxremote.password{.template,} + mv "${pkgdir}${_jvmdir}"/jre/lib/management/snmp.acl{.template,} + rm -f "${pkgdir}${_jvmdir}"/jre/lib/fontconfig.*.bfc + rm -f "${pkgdir}${_jvmdir}"/jre/lib/fontconfig.*.properties.src + rm -f "${pkgdir}${_jvmdir}"/jre/lib/fontconfig.properties.src - # Install man pages - pushd ../../j2re-image/man - install -m755 -d ${pkgdir}/usr/share/man/{,ja/}man1/ - install -m644 man1/*.1 ${pkgdir}/usr/share/man/man1 - install -m644 ja_JP.UTF-8/man1/*.1 ${pkgdir}/usr/share/man/ja/man1 - popd - - # more files that belong to the desktop package - mkdir ${srcdir}/tmp-desktop-jre - for file in \ - "/usr/lib/jvm/java-7-openjdk/jre/bin/policytool" \ - "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/libjsoundalsa.so" \ - "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/libsplashscreen.so" \ - "/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/xawt/libmawt.so" \ - "/usr/share/man/ja/man1/policytool.1" \ - "/usr/share/man/man1/policytool.1"; do - dirname=`dirname $file` - install -dm755 ${srcdir}/tmp-desktop-jre/$dirname || /bin/true - # mv file from fakeinstall to pkgdir - mv ${pkgdir}/$file ${srcdir}/tmp-desktop-jre$file + # Remove 'non-headless' files + for f in ${_nonheadless[@]}; do + rm "${pkgdir}${_jvmdir}/jre/${f}" done - rmdir ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/xawt - # Link binaries into /usr/bin - pushd ${pkgdir}/${_jvmdir}/jre/bin - install -m755 -d ${pkgdir}/usr/bin/ + # Man pages + pushd "${pkgdir}${_jvmdir}/jre/bin" + install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/ for file in *; do - ln -sf ${_jvmdir}/jre/bin/${file} ${pkgdir}/usr/bin + install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \ + "${pkgdir}/usr/share/man/man1/${file}.1" + install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \ + "${pkgdir}/usr/share/man/ja/man1/${file}.1" done popd - # Link JKS keystore from ca-certificates-java - rm -f ${pkgdir}/${_jvmdir}/jre/lib/security/cacerts - ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/jre/lib/security/cacerts" - - # Set some variables - install -m755 -d ${pkgdir}/etc/profile.d/ - install -m755 ${srcdir}/jre7-openjdk.profile ${pkgdir}/etc/profile.d/jre.sh - install -m755 ${srcdir}/jre7-openjdk.profile.csh ${pkgdir}/etc/profile.d/jre.csh + # Link JKS keystore from ca-certificates-utils + rm -f "${pkgdir}${_jvmdir}/jre/lib/security/cacerts" + ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/jre/lib/security/cacerts" # Install license - install -m755 -d ${pkgdir}/usr/share/licenses/${pkgbase}/ + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgbase}/" install -m644 ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README \ - ${pkgdir}/usr/share/licenses/${pkgbase} - - # Put some more files under backup control - install -m755 -d ${pkgdir}/etc/java-7-openjdk/ - install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/*.properties* ${pkgdir}/etc/java-7-openjdk/ - # install dummy links to make them found by JAVA - cd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/ - for file in `ls ${pkgdir}/etc/java-7-openjdk/*.properties*`; do - ln -vsf /etc/java-7-openjdk/`basename $file` . + "${pkgdir}/usr/share/licenses/${pkgbase}" + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" + + # Move config files that were set in _backup_etc from ./lib to /etc + for file in ${_backup_etc[@]}; do + _filepkgpath=${_jvmdir}/jre/lib/${file#etc/java-7-openjdk/} + install -D -m 644 "${pkgdir}${_filepkgpath}" "${pkgdir}/${file}" + ln -sf /${file} "${pkgdir}${_filepkgpath}" done - # some more - install -m755 -d ${pkgdir}/etc/java-7-openjdk/{cursors,management,security} - install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/images/cursors/cursors.properties ${pkgdir}/etc/java-7-openjdk/cursors/ - pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/images/cursors/ - ln -vsf /etc/java-7-openjdk/cursors/cursors.properties . - popd - mv ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/jmxremote.password.template ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/jmxremote.password - mv ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/snmp.acl.template ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/snmp.acl - install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management/{management.properties,jmxremote.access,jmxremote.password,snmp.acl} ${pkgdir}/etc/java-7-openjdk/management/ - pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/management - ln -vsf /etc/java-7-openjdk/management/{management.properties,jmxremote.access,jmxremote.password,snmp.acl} . - popd - install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/security/{java.policy,java.security,nss.cfg} ${pkgdir}/etc/java-7-openjdk/security/ - pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/security - ln -vsf /etc/java-7-openjdk/security/{java.policy,java.security,nss.cfg} . - popd - install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/fontconfig.bfc ${pkgdir}/etc/java-7-openjdk/ - install -m644 ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/jvm.cfg ${pkgdir}/etc/java-7-openjdk/ - pushd ${pkgdir}/usr/lib/jvm/java-7-openjdk/jre/lib/${_JARCH}/ - ln -vsf /etc/java-7-openjdk/jvm.cfg . - popd } - + package_jre7-openjdk() { - pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs -Full Java runtime environment - needed for executing Java GUI and Webstart programs" - depends=('jre7-openjdk-headless' 'xdg-utils' 'hicolor-icon-theme') - optdepends=('icedtea-web-java7: web browser plugin + Java Web Start' + pkgdesc='OpenJDK Java 7 full runtime environment' + depends=("jre7-openjdk-headless=${pkgver}-${pkgrel}" 'xdg-utils' 'hicolor-icon-theme') + optdepends=('icedtea-web: web browser plugin + Java Web Start' 'alsa-lib: for basic sound support' 'giflib: for gif format support' 'gtk2: for the Gtk+ look and feel - desktop usage' 'libxtst: linked in xawt/libmawt.so - desktop usage') - install=jre7-openjdk.install - provides=('java-runtime=7') + provides=('java-runtime=7' 'java-runtime-openjdk=7') conflicts=('openjdk6') - - mv ${srcdir}/tmp-desktop-jre/* ${pkgdir} - # Link binaries into /usr/bin - pushd ${pkgdir}/${_jvmdir}/jre/bin - install -m755 -d ${pkgdir}/usr/bin/ + # TODO remove after some time + replaces=('jre7-openjdk-wm') + install=jre7-openjdk.install + + cd "${srcdir}/${_imgdir}/jre" + + for f in ${_nonheadless[@]}; do + install -D ${f} "${pkgdir}${_jvmdir}/jre/${f}" + done + + # Man pages + pushd "${pkgdir}${_jvmdir}/jre/bin" + install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/ for file in *; do - ln -sf ${_jvmdir}/jre/bin/${file} ${pkgdir}/usr/bin + install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \ + "${pkgdir}/usr/share/man/man1/${file}.1" + install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \ + "${pkgdir}/usr/share/man/ja/man1/${file}.1" done popd - - cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/jre" - - # Install icons and menu entries - for s in 16 24 32 48 ; do - install -m755 -d ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/ - install -m644 ../../../openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \ - ${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/java.png + + for s in 16 24 32 48; do + install -D -m 644 \ + "${srcdir}/icedtea-${_icedtea_ver}/openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${s}x${s}/apps/java.png" done - + # Install desktop files. - install -m755 -d ${pkgdir}/usr/share/applications - install -m644 ${srcdir}/icedtea-${_icedtea_ver}/policytool.desktop ${pkgdir}/usr/share/applications + install -d -m755 "${pkgdir}/usr/share/applications" + install -m644 "${srcdir}/icedtea-${_icedtea_ver}/policytool.desktop" "${pkgdir}/usr/share/applications" + + # link license + install -d -m755 "${pkgdir}/usr/share/licenses" + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" } package_jdk7-openjdk() { - pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - SDK" - depends=('jre7-openjdk') - provides=('java-environment=7') - conflicts=('java-environment') - # replaces=('openjdk6') - backup=(etc/profile.d/jdk.sh etc/profile.d/jdk.csh) + pkgdesc='OpenJDK Java 7 development kit' + depends=('java-environment-common' "jre7-openjdk=${pkgver}-${pkgrel}") + provides=('java-environment=7' 'java-environment-openjdk=7') + replaces=('openjdk6' 'jdk7-openjdk-wm') + install=jdk7-openjdk.install - cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image" + cd "${srcdir}/${_imgdir}" # Main files - install -m755 -d ${pkgdir}/${_jvmdir}/ + install -d -m755 "${pkgdir}${_jvmdir}" - cp -a demo include lib sample ${pkgdir}/${_jvmdir} + cp -a include lib "${pkgdir}${_jvmdir}" # 'bin' files pushd bin - install -m755 -d ${pkgdir}/${_jvmdir}/bin/ \ - ${pkgdir}/usr/bin/ \ - ${pkgdir}/usr/share/man/{,ja/}man1/ + install -d -m755 "${pkgdir}${_jvmdir}/bin/" \ + "${pkgdir}"/usr/share/man/{,ja/}man1/ # 'java-rmi.cgi' will be handled separately as it should not be in the PATH and has no man page for b in $(ls | grep -v java-rmi.cgi); do if [ -e ../jre/bin/${b} ]; then # Provide a link of the jre binary in the jdk/bin/ directory - ln -s ../jre/bin/${b} ${pkgdir}/${_jvmdir}/bin/${b} + ln -s ../jre/bin/${b} "${pkgdir}${_jvmdir}/bin/${b}" else # Copy binary to jdk/bin/ - install -m755 ${b} ${pkgdir}/${_jvmdir}/bin/${b} + install -m755 ${b} "${pkgdir}${_jvmdir}/bin/${b}" # Copy man page - install -m644 ../man/man1/${b}.1 ${pkgdir}/usr/share/man/man1/${b}.1 - install -m644 ../man/ja/man1/${b}.1 ${pkgdir}/usr/share/man/ja/man1/${b}.1 - # Link from /bin/ - ln -s ${_jvmdir}/bin/${b} ${pkgdir}/usr/bin/${b} + install -m644 ../man/man1/${b}.1 "${pkgdir}/usr/share/man/man1/${b}.1" + install -m644 ../man/ja/man1/${b}.1 "${pkgdir}/usr/share/man/ja/man1/${b}.1" fi done popd + # Handling 'java-rmi.cgi' separately + install -D -m755 bin/java-rmi.cgi "${pkgdir}${_jvmdir}/bin/java-rmi.cgi" + # Install desktop files. - install -m755 -d ${pkgdir}/usr/share/applications - install -m644 ${srcdir}/icedtea-${_icedtea_ver}/jconsole.desktop ${pkgdir}/usr/share/applications + install -d -m755 "${pkgdir}/usr/share/applications" + install -m644 "${srcdir}/icedtea-${_icedtea_ver}/jconsole.desktop" "${pkgdir}/usr/share/applications" - # Handling 'java-rmi.cgi' separately - install -m755 -D bin/java-rmi.cgi ${pkgdir}/${_jvmdir}/bin/java-rmi.cgi + # Temporarily fixing FS#35141 + chmod go+r "${pkgdir}${_jvmdir}/lib/sa-jdi.jar" - # Set some variables - install -m755 -d ${pkgdir}/etc/profile.d/ - install -m755 ${srcdir}/${pkgname}.profile ${pkgdir}/etc/profile.d/jdk.sh - install -m755 ${srcdir}/${pkgname}.profile.csh ${pkgdir}/etc/profile.d/jdk.csh + # link license + install -d -m755 "${pkgdir}/usr/share/licenses" + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" } package_openjdk7-src() { - pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - sources" + pkgdesc='OpenJDK Java 7 sources' + replaces=('openjdk6-src') - install -D ${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/src.zip \ - ${pkgdir}/${_jvmdir}/src.zip + install -D "${srcdir}/${_imgdir}/src.zip" "${pkgdir}${_jvmdir}/src.zip" +} + +package_openjdk7-doc() { + pkgdesc='OpenJDK Java 7 documentation' + + install -d -m755 "${pkgdir}/usr/share/doc/openjdk7-doc" + for i in "${srcdir}"/icedtea-${_icedtea_ver}/openjdk.build/docs/*; do + cp -a $i "${pkgdir}/usr/share/doc/openjdk7-doc/" + done } diff --git a/abs/extra/java7-openjdk/disable_Werror.diff b/abs/extra/java7-openjdk/disable_Werror.diff deleted file mode 100644 index fa8887a..0000000 --- a/abs/extra/java7-openjdk/disable_Werror.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- openjdk/hotspot/make/linux/makefiles/gcc.make 2012-06-07 16:30:51.000000000 +0200 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make.new 2012-06-14 15:32:44.967695139 +0200 -@@ -150,7 +150,7 @@ - endif - - # Compiler warnings are treated as errors --WARNINGS_ARE_ERRORS = -Werror -+#WARNINGS_ARE_ERRORS = -Werror - - # Except for a few acceptable ones - # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff --git a/abs/extra/java7-openjdk/fix_corba_cmds_path.diff b/abs/extra/java7-openjdk/fix_corba_cmds_path.diff deleted file mode 100644 index 7a3db95..0000000 --- a/abs/extra/java7-openjdk/fix_corba_cmds_path.diff +++ /dev/null @@ -1,29 +0,0 @@ ---- openjdk/corba/make/common/shared/Defs-utils.gmk.old 2008-04-13 13:26:12.000000000 +0300 -+++ openjdk/corba/make/common/shared/Defs-utils.gmk 2008-04-14 15:35:13.000000000 +0300 -@@ -76,7 +76,7 @@ - CHMOD = $(UTILS_COMMAND_PATH)chmod - CMP = $(UTILS_USR_BIN_PATH)cmp - COMM = $(UTILS_USR_BIN_PATH)comm --COMPRESS = $(UTILS_USR_BIN_PATH)compress -+COMPRESS = $(UTILS_COMMAND_PATH)compress - CP = $(UTILS_COMMAND_PATH)cp - CPIO = $(UTILS_COMMAND_PATH)cpio - CUT = $(UTILS_USR_BIN_PATH)cut -@@ -125,7 +125,7 @@ - TAIL = $(UTILS_USR_BIN_PATH)tail - TAR = $(UTILS_COMMAND_PATH)tar - TEST = $(UTILS_USR_BIN_PATH)test --TOUCH = $(UTILS_COMMAND_PATH)touch -+TOUCH = $(UTILS_USR_BIN_PATH)touch - TR = $(UTILS_USR_BIN_PATH)tr - TRUE = $(UTILS_COMMAND_PATH)true - UNAME = $(UTILS_COMMAND_PATH)uname -@@ -176,7 +176,7 @@ - # others have it in /usr/bin. - SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ - $(wildcard $(UTILS_USR_BIN_PATH)sort)) -- NAWK = $(USRBIN_PATH)gawk -+ NAWK = $(UTILS_COMMAND_PATH)gawk - # Intrinsic unix command, with backslash-escaped character interpretation - ECHO = /bin/echo -e - # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) diff --git a/abs/extra/java7-openjdk/giflib_5.1.diff b/abs/extra/java7-openjdk/giflib_5.1.diff new file mode 100644 index 0000000..a936157 --- /dev/null +++ b/abs/extra/java7-openjdk/giflib_5.1.diff @@ -0,0 +1,14 @@ +--- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c.orig 2014-05-27 22:17:19.766866065 +0200 ++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c 2014-05-27 22:16:35.452894426 +0200 +@@ -310,7 +310,11 @@ + free(pBitmapBits); + free(pOldBitmapBits); + ++#if GIFLIB_MAJOR >= 5 ++ DGifCloseFile(gif, NULL); ++#else + DGifCloseFile(gif); ++#endif + + return 1; + } diff --git a/abs/extra/java7-openjdk/jdk7-openjdk.install b/abs/extra/java7-openjdk/jdk7-openjdk.install new file mode 100644 index 0000000..92b440e --- /dev/null +++ b/abs/extra/java7-openjdk/jdk7-openjdk.install @@ -0,0 +1,50 @@ +THIS_JDK='java-7-openjdk' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi +} + +post_install() { + default=$(fix_default) + case ${default} in + "" | ${THIS_JDK}/jre) + /usr/bin/archlinux-java set ${THIS_JDK} + ;; + ${THIS_JDK}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it" + ;; + esac + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi +} + +post_upgrade() { + default=$(fix_default) + if [ -z "${default}" -o "x${default}" = "x${THIS_JDK}/jre" ]; then + /usr/bin/archlinux-java set ${THIS_JDK} + fi + + if [ ! -f /etc/ssl/certs/java/cacerts ]; then + /usr/bin/update-ca-trust + fi +} + +pre_remove() { + if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then + sudo /usr/bin/archlinux-java unset + if [ -x /usr/lib/jvm/${THIS_JDK}/jre/bin/java ]; then + sudo /usr/bin/archlinux-java set ${THIS_JDK}/jre + fi + fi +} diff --git a/abs/extra/java7-openjdk/jdk7-openjdk.profile b/abs/extra/java7-openjdk/jdk7-openjdk.profile deleted file mode 100644 index 91265cc..0000000 --- a/abs/extra/java7-openjdk/jdk7-openjdk.profile +++ /dev/null @@ -1,6 +0,0 @@ -export J2SDKDIR=/usr/lib/jvm/java-7-openjdk -export J2REDIR=$J2SDKDIR/jre -export JAVA_HOME=/usr/lib/jvm/java-7-openjdk - -# For non-reparenting window managers, enable '_JAVA_AWT_WM_NONREPARENTING' -# in /etc/profile.d/jre7.sh diff --git a/abs/extra/java7-openjdk/jdk7-openjdk.profile.csh b/abs/extra/java7-openjdk/jdk7-openjdk.profile.csh deleted file mode 100644 index cc7dc8a..0000000 --- a/abs/extra/java7-openjdk/jdk7-openjdk.profile.csh +++ /dev/null @@ -1 +0,0 @@ -setenv J2SDKDIR "/usr/lib/jvm/java-7-openjdk" diff --git a/abs/extra/java7-openjdk/jre7-openjdk-headless.install b/abs/extra/java7-openjdk/jre7-openjdk-headless.install index 45f52fe..6f0ad5d 100644 --- a/abs/extra/java7-openjdk/jre7-openjdk-headless.install +++ b/abs/extra/java7-openjdk/jre7-openjdk-headless.install @@ -1,15 +1,48 @@ +THIS_JRE='java-7-openjdk/jre' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi +} + post_install() { + default=$(fix_default) + case ${default} in + "") + /usr/bin/archlinux-java set ${THIS_JRE} + ;; + ${THIS_JRE} | ${THIS_JRE/\/jre}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it" + ;; + esac + if [ ! -f /etc/ssl/certs/java/cacerts ]; then - /usr/sbin/init-jks-keystore + /usr/bin/update-ca-trust fi } post_upgrade() { + if [ -z $(fix_default) ]; then + /usr/bin/archlinux-java set ${THIS_JRE} + fi + if [ ! -f /etc/ssl/certs/java/cacerts ]; then - /usr/sbin/init-jks-keystore + /usr/bin/update-ca-trust fi } -#post_remove() { -# -#} +pre_remove() { + default=$(fix_default) + if [ "x${default/\/jre}" = "x${THIS_JRE/\/jre}" ]; then + /usr/bin/archlinux-java unset + echo "No Java environment is set as default anymore" + fi +} diff --git a/abs/extra/java7-openjdk/jre7-openjdk.install b/abs/extra/java7-openjdk/jre7-openjdk.install index d98e79e..78e694f 100644 --- a/abs/extra/java7-openjdk/jre7-openjdk.install +++ b/abs/extra/java7-openjdk/jre7-openjdk.install @@ -1,18 +1,55 @@ +THIS_JRE='java-7-openjdk/jre' + +fix_default() { + if [ ! -x /usr/bin/java ]; then + /usr/bin/archlinux-java unset + echo "" + else + /usr/bin/archlinux-java get + fi +} + post_install() { + default=$(fix_default) + case ${default} in + "") + /usr/bin/archlinux-java set ${THIS_JRE} + ;; + ${THIS_JRE} | ${THIS_JRE/\/jre}) + # Nothing + ;; + *) + echo "Default Java environment is already set to '${default}'" + echo "See 'archlinux-java help' to change it" + ;; + esac + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null - echo "when you use a non-reparenting window manager" - echo "set _JAVA_AWT_WM_NONREPARENTING=1 in" - echo "/etc/profile.d/jre.sh" + echo "when you use a non-reparenting window manager," + echo "set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh" + # update-desktop-database -q } post_upgrade() { + if [ -z $(fix_default) ]; then + /usr/bin/archlinux-java set ${THIS_JRE} + fi + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + # update-desktop-database -q } +pre_remove() { + if [ "x$(fix_default)" = "x${THIS_JRE/\/jre}" ]; then + /usr/bin/archlinux-java unset + echo "No Java environment is set as default anymore" + fi +} post_remove() { xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + # update-desktop-database -q } diff --git a/abs/extra/java7-openjdk/jre7-openjdk.profile b/abs/extra/java7-openjdk/jre7-openjdk.profile deleted file mode 100644 index c86ce85..0000000 --- a/abs/extra/java7-openjdk/jre7-openjdk.profile +++ /dev/null @@ -1,5 +0,0 @@ -export J2REDIR=/usr/lib/jvm/java-7-openjdk/jre -export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk/jre} - -# enable this for non-reparenting window managers -#export _JAVA_AWT_WM_NONREPARENTING=1 diff --git a/abs/extra/java7-openjdk/jre7-openjdk.profile.csh b/abs/extra/java7-openjdk/jre7-openjdk.profile.csh deleted file mode 100644 index a9aed27..0000000 --- a/abs/extra/java7-openjdk/jre7-openjdk.profile.csh +++ /dev/null @@ -1,5 +0,0 @@ -setenv J2REDIR "/usr/lib/jvm/java-7-openjdk/jre" -setenv JAVA_HOME "/usr/lib/jvm/java-7-openjdk/jre" - -# enable this for non-reparenting window managers -#setenv _JAVA_AWT_WM_NONREPARENTING 1 diff --git a/abs/extra/java7-openjdk/openjdk7_fix_jdk_cmds_path.diff b/abs/extra/java7-openjdk/openjdk7_fix_jdk_cmds_path.diff deleted file mode 100644 index 6cac91d..0000000 --- a/abs/extra/java7-openjdk/openjdk7_fix_jdk_cmds_path.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- openjdk/jdk/make/common/shared/Defs-utils.gmk.old 2011-08-06 15:46:01.000000000 +0200 -+++ openjdk/jdk/make/common/shared/Defs-utils.gmk 2011-08-06 15:59:26.000000000 +0200 -@@ -91,7 +91,7 @@ - CHMOD = $(UTILS_COMMAND_PATH)chmod - CMP = $(UTILS_USR_BIN_PATH)cmp - COMM = $(UTILS_USR_BIN_PATH)comm --COMPRESS = $(UTILS_USR_BIN_PATH)compress -+COMPRESS = $(UTILS_COMMAND_PATH)compress - CP = $(UTILS_COMMAND_PATH)cp - CPIO = $(UTILS_COMMAND_PATH)cpio - CUT = $(UTILS_USR_BIN_PATH)cut -@@ -101,13 +101,13 @@ - DIRNAME = $(UTILS_USR_BIN_PATH)dirname - DUMP = $(UTILS_CCS_BIN_PATH)dump - ECHO = $(UTILS_COMMAND_PATH)echo --EGREP = $(UTILS_COMMAND_PATH)egrep -+EGREP = $(UTILS_USR_BIN_PATH)egrep - EXPR = $(UTILS_USR_BIN_PATH)expr - FILE = $(UTILS_USR_BIN_PATH)file - FIND = $(UTILS_USR_BIN_PATH)find - FMT = $(UTILS_COMMAND_PATH)fmt - GDB = $(UTILS_USR_BIN_PATH)gdb --GREP = $(UTILS_COMMAND_PATH)grep -+GREP = $(UTILS_USR_BIN_PATH)grep - GUNZIP = $(UTILS_COMMAND_PATH)gunzip - # GZIP is used for solaris. Linux and windows use tar czf - GZIP = $(UTILS_COMMAND_PATH)gzip -@@ -140,7 +140,7 @@ - TAIL = $(UTILS_USR_BIN_PATH)tail - TAR = $(UTILS_COMMAND_PATH)tar - TEST = $(UTILS_USR_BIN_PATH)test --TOUCH = $(UTILS_COMMAND_PATH)touch -+TOUCH = $(UTILS_USR_BIN_PATH)touch - TR = $(UTILS_USR_BIN_PATH)tr - TRUE = $(UTILS_COMMAND_PATH)true - UNAME = $(UTILS_COMMAND_PATH)uname diff --git a/abs/extra/java7-openjdk/openjdk7_nonreparenting-wm.diff b/abs/extra/java7-openjdk/openjdk7_nonreparenting-wm.diff index 22d54fc..fb4710c 100644 --- a/abs/extra/java7-openjdk/openjdk7_nonreparenting-wm.diff +++ b/abs/extra/java7-openjdk/openjdk7_nonreparenting-wm.diff @@ -1,16 +1,16 @@ ---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig 2011-08-07 18:45:05.000000000 +0200 -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2011-08-07 18:45:54.000000000 +0200 -@@ -103,7 +103,8 @@ - COMPIZ_WM = 12, +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig 2013-10-16 16:17:14.000000000 +0200 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2013-10-21 20:57:34.768580842 +0200 +@@ -105,7 +105,8 @@ LG3D_WM = 13, CWM_WM = 14, -- MUTTER_WM = 15; -+ MUTTER_WM = 15, -+ OTHER_NONREPARENTING_WM = 16; + MUTTER_WM = 15, +- MARCO_WM = 16; ++ MARCO_WM = 16, ++ OTHER_NONREPARENTING_WM = 17; public String toString() { switch (WMID) { case NO_WM: -@@ -583,7 +584,7 @@ +@@ -591,7 +592,7 @@ // TODO: according to wikipedia, compiz is now reparenting. This should // probably be updated. static boolean isNonReparentingWM() { @@ -19,7 +19,7 @@ } /* -@@ -771,9 +772,17 @@ +@@ -781,9 +782,17 @@ * supports WIN or _NET wm spec. */ else if (l_net_protocol.active()) { @@ -28,18 +28,18 @@ + awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; -+ } ++ } } else if (win.active()) { - awt_wmgr = XWM.OTHER_WM; + if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { + awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; -+ } ++ } } /* * Check for legacy WMs. -@@ -784,6 +793,8 @@ +@@ -794,6 +803,8 @@ awt_wmgr = XWM.MOTIF_WM; } else if (isOpenLook()) { awt_wmgr = XWM.OPENLOOK_WM; @@ -48,7 +48,7 @@ } else { awt_wmgr = XWM.OTHER_WM; } -@@ -1298,6 +1309,7 @@ +@@ -1309,6 +1320,7 @@ res = new Insets(28, 6, 6, 6); break; case NO_WM: diff --git a/abs/extra/jbigkit/PKGBUILD b/abs/extra/jbigkit/PKGBUILD new file mode 100644 index 0000000..76de230 --- /dev/null +++ b/abs/extra/jbigkit/PKGBUILD @@ -0,0 +1,45 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> +# Contributor: Frank Ickstadt (frank dot ickstadt at gmail dot com) + +pkgname=jbigkit +pkgver=2.1 +pkgrel=2 +pkgdesc="Data compression library/utilities for bi-level high-resolution images" +arch=('i686' 'x86_64') +url="http://www.cl.cam.ac.uk/~mgk25/jbigkit/" +license=('GPL') +depends=() +options=('staticlibs') +source=(http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-$pkgver.tar.gz) +md5sums=('ebcf09bed9f14d7fa188d3bd57349522') + +build() { + cd $srcdir/$pkgname-$pkgver + unset CFLAGS CPPFLAGS LDFLAGS + [ "$CARCH" == "x86_64" ] && export CFLAGS="$CFLAGS -fPIC" + make CFLAGS="$CFLAGS" +} + +package() { + cd $srcdir/$pkgname-$pkgver + + install -D -m644 libjbig/libjbig.a $pkgdir/usr/lib/libjbig.a + install -D -m644 libjbig/libjbig85.a $pkgdir/usr/lib/libjbig85.a + install -D -m644 libjbig/jbig.h $pkgdir/usr/include/jbig.h + install -D -m644 libjbig/jbig_ar.h $pkgdir/usr/include/jbig_ar.h + install -D -m644 libjbig/jbig85.h $pkgdir/usr/include/jbig85.h + + install -d -m755 $pkgdir/usr/share/man/man1 +# install -d -m755 $pkgdir/usr/share/man/man5 + install -m644 pbmtools/*.1* $pkgdir/usr/share/man/man1 +# install -m644 pbmtools/*.5* $pkgdir/usr/share/man/man5 + + install -D -m755 pbmtools/jbgtopbm $pkgdir/usr/bin/jbgtopbm + install -D -m755 pbmtools/pbmtojbg $pkgdir/usr/bin/pbmtojbg + install -D -m755 pbmtools/jbgtopbm85 $pkgdir/usr/bin/jbgtopbm85 + install -D -m755 pbmtools/pbmtojbg85 $pkgdir/usr/bin/pbmtojbg85 + + rm -f $pkgdir/usr/share/man/man5/p{b,g}m.5* +} diff --git a/abs/extra/jemalloc/PKGBUILD b/abs/extra/jemalloc/PKGBUILD new file mode 100644 index 0000000..5660be9 --- /dev/null +++ b/abs/extra/jemalloc/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> +# Contributor: Kovivchak Evgen <oneonfire@gmail.com> + +pkgname=jemalloc +pkgver=3.6.0 +pkgrel=1 +pkgdesc="General-purpose scalable concurrent malloc implementation" +arch=('i686' 'x86_64') +license=('BSD') +url="http://www.canonware.com/jemalloc/" +depends=('glibc') +makedepends=('autoconf' 'make' 'bash') +optdepends=( + 'perl: memory profiler' +) +source=(http://www.canonware.com/download/jemalloc/$pkgname-$pkgver.tar.bz2) + +build() { + cd "$srcdir/$pkgname-$pkgver" + CFLAGS="$CFLAGS -std=gnu11" ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + mv "$pkgdir"/usr/bin/{,jemalloc-}pprof + chmod 644 "$pkgdir"/usr/lib/*.a + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +sha256sums=('e16c2159dd3c81ca2dc3b5c9ef0d43e1f2f45b04548f42db12e7c12d7bdf84fe') diff --git a/abs/extra/js17/PKGBUILD b/abs/extra/js17/PKGBUILD new file mode 100644 index 0000000..980e8f0 --- /dev/null +++ b/abs/extra/js17/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 183635 2013-04-25 18:13:54Z ioni $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=js17 +pkgver=17.0.0 +pkgrel=1 +pkgdesc="JavaScript interpreter and libraries (legacy)" +arch=(i686 x86_64) +url="https://developer.mozilla.org/En/SpiderMonkey/17" +license=(MPL) +depends=(nspr gcc-libs readline) +makedepends=(python2 zip libffi) +conflicts=('js<24.2.0') +options=(!staticlibs) +source=(http://ftp.mozilla.org/pub/mozilla.org/js/mozjs$pkgver.tar.gz) +md5sums=('20b6f8f1140ef6e47daa3b16965c9202') + +build() { + unset CPPFLAGS + cd mozjs$pkgver/js/src + ./configure --prefix=/usr --with-system-nspr --with-system-ffi \ + --enable-readline --enable-threadsafe + make +} + +check() { + cd mozjs$pkgver/js/src + make check +} + +package() { + cd mozjs$pkgver/js/src + make DESTDIR="$pkgdir" install + find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -x {} + +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/json-glib/PKGBUILD b/abs/extra/json-glib/PKGBUILD new file mode 100644 index 0000000..9ad0257 --- /dev/null +++ b/abs/extra/json-glib/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=json-glib +pkgver=1.0.2 +pkgrel=1 +pkgdesc="JSON library built on GLib" +arch=('i686' 'x86_64') +url="http://live.gnome.org/JsonGlib" +license=('GPL') +depends=('glib2') +makedepends=('gobject-introspection') +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver:0:3}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a') + +build(){ + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +package(){ + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} + +check(){ + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} diff --git a/abs/extra/kodi-pvr-addons/PKGBUILD b/abs/extra/kodi-pvr-addons/PKGBUILD new file mode 100644 index 0000000..bf9c6d0 --- /dev/null +++ b/abs/extra/kodi-pvr-addons/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: BlackEagle <ike.devolder@gmail.com>> + +pkgname=kodi-pvr-addons +pkgver=20141212 +_relname='Helix_rc3' +pkgrel=2 +pkgdesc="PVR add-ons for current stable kodi" +arch=('i686' 'x86_64') +url="https://github.com/opdenkamp/xbmc-pvr-addons" +license=('GPL3') +groups=('kodi-addons') +depends=('kodi') +makedepends=('git') +optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend') +replaces=('xbmc-pvr-addons') +conflicts=('xbmc-pvr-addons' 'xbmc-pvr-addons-git') +source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${_relname}.tar.gz") + +build() { + cd "$srcdir/xbmc-pvr-addons-${_relname}" + ./bootstrap + ./configure --prefix=/usr --enable-addons-with-dependencies + make +} + +package() { + cd "$srcdir/xbmc-pvr-addons-${_relname}" + make DESTDIR="$pkgdir/" install +} + +sha256sums=('e48de53c58245e512095d515d463f013e51e165fc617f1cb93e443cdd9f5096b') diff --git a/abs/extra/kodi/PKGBUILD b/abs/extra/kodi/PKGBUILD new file mode 100644 index 0000000..91fe23c --- /dev/null +++ b/abs/extra/kodi/PKGBUILD @@ -0,0 +1,135 @@ +# vim:set ts=2 sw=2 et: +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Contributor: Brad Fanella <bradfanella@archlinux.us> +# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> +# Contributor: Zeqadious <zeqadious.at.gmail.dot.com> +# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Maxime Gauduin <alucryd@gmail.com> + +_prefix=/usr + +pkgbase=kodi +pkgname=('kodi' 'kodi-eventclients') +pkgver=14.0 +_codename=Helix +pkgrel=2 +arch=('i686' 'x86_64') +url="http://kodi.tv" +license=('GPL2') +makedepends=( + 'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'git' 'glew' + 'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass' + 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmariadbclient' 'libmicrohttpd' + 'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libssh' 'libva' + 'libvdpau' 'libxrandr' 'libxslt' 'lzo' 'nasm' 'nss-mdns' 'python2-pillow' + 'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2' 'sdl_image' + 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' 'yajl' 'zip' +) +source=( + "$pkgname-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" + 'kodi.sh' + 'kodi_lib.conf' +) + +prepare() { + cd "$srcdir/xbmc-$pkgver-$_codename" + + find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" + + sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl + sed 's/python/python2/' -i tools/Linux/kodi.sh.in +} + +build() { + cd "$srcdir/xbmc-$pkgver-$_codename" + + # Bootstrapping + MAKEFLAGS=-j1 ./bootstrap + + #./configure --help + #return 1 + + # Configuring XBMC + export PYTHON_VERSION=2 # external python v2 + ./configure --prefix=$_prefix --exec-prefix=$_prefix \ + --disable-debug \ + --enable-optimizations \ + --enable-libbluray \ + --enable-external-libraries \ + --with-lirc-device=/run/lirc/lircd + + # Now (finally) build + make +} + +package_kodi() { + pkgdesc="A software media player and entertainment hub for digital media" + + # depends expected for kodi plugins: + # 'python2-pillow' 'python2-pybluez' 'python2-simplejson' + # depends expeced in FEH.py + # 'mesa-demos' 'xorg-xdpyinfo' + depends=( + 'python2-pillow' 'python2-pybluez' 'python2-simplejson' + 'mesa-demos' 'xorg-xdpyinfo' + 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libcdio' + 'libjpeg-turbo' 'libmariadbclient' 'libmicrohttpd' 'libssh' + 'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml' + 'yajl' + ) + optdepends=( + 'afpfs-ng: Apple shares support' + 'bluez: Blutooth support' + 'libnfs: NFS shares support' + 'libplist: AirPlay support' + 'libcec: Pulse-Eight USB-CEC adapter support' + 'lirc: Remote controller support' + 'shairplay: AirPlay support' + 'udisks: Automount external drives' + 'unrar: Archives support' + 'unzip: Archives support' + 'upower: Display battery level' + 'lsb-release: log distro information in crashlog' + ) + install="kodi.install" + provides=('xbmc') + conflicts=('xbmc') + replaces=('xbmc') + + cd "$srcdir/xbmc-$pkgver-$_codename" + # Running make install + make DESTDIR="$pkgdir" install + + # Licenses + install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname} + for licensef in LICENSE.GPL copying.txt; do + mv ${pkgdir}${_prefix}/share/doc/kodi/${licensef} \ + ${pkgdir}${_prefix}/share/licenses/${pkgname} + done + + # LinHES stuff + mkdir -p ${pkgdir}/usr/LH/bin + install -D -m 0755 ${srcdir}/kodi.sh ${pkgdir}/usr/LH/bin + #add in kodi_lib.conf + install -D -m0744 ${srcdir}/kodi_lib.conf ${pkgdir}/etc/gen_lib_xml.d/kodi_lib.conf +} + +package_kodi-eventclients() { + pkgdesc="Kodi Event Clients" + + depends=('cwiid') + + cd "$srcdir/xbmc-$pkgver-$_codename" + + make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD + + install -dm755 "$pkgdir/usr/lib/python2.7/$pkgbase" + #mv "$pkgdir/kodi"/* "$pkgdir/usr/lib/python2.7/$pkgbase" + #rmdir "$pkgdir/kodi" +} + +md5sums=('9717c539789789b8aeaf1dcfdb9f2c69' + 'f6adc8e06d7076143ca2ad118126b158' + 'f04d1c89f5108c6aba36cf708a74cc95') diff --git a/abs/extra/kodi/__changelog b/abs/extra/kodi/__changelog new file mode 100644 index 0000000..8015995 --- /dev/null +++ b/abs/extra/kodi/__changelog @@ -0,0 +1,4 @@ +PKGBUILD - remove libpulse dep and remove --enable-pulse config option +PKGBUILD - Add /usr/LH/bin/kodi.sh +PKGBUILD - Add /etc/gen_lib_xml.d/kodi_lib.conf +kodi.install - add gen_lib_xml.py to post_install and post_remove diff --git a/abs/extra/kodi/kodi.install b/abs/extra/kodi/kodi.install new file mode 100644 index 0000000..d28289b --- /dev/null +++ b/abs/extra/kodi/kodi.install @@ -0,0 +1,19 @@ +post_install() { + update_icons + gen_lib_xml.py +} + +post_upgrade() { + update_icons +} + +post_remove() { + update_icons + gen_lib_xml.py +} + +update_icons() { + type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications + return 0 +} diff --git a/abs/extra/kodi/kodi.sh b/abs/extra/kodi/kodi.sh new file mode 100644 index 0000000..33dc7b6 --- /dev/null +++ b/abs/extra/kodi/kodi.sh @@ -0,0 +1,7 @@ +#!/bin/bash +#Stop XScreensaver +stop_xss.sh & +#Launch kodi +/usr/bin/kodi --lircdev /var/run/lirc/lircd +#Once kodi exits, start XSceensager again +killall stop_xss.sh diff --git a/abs/extra/kodi/kodi_lib.conf b/abs/extra/kodi/kodi_lib.conf new file mode 100644 index 0000000..a7351e3 --- /dev/null +++ b/abs/extra/kodi/kodi_lib.conf @@ -0,0 +1,9 @@ +<!--#KODI--> + <button> + <type>MENU_KODI</type> + <text>Launch Kodi</text> + <description>Open Kodi</description> + <action>EXEC /usr/LH/bin/kodi.sh</action> + </button> +<!--#KODI--> + diff --git a/abs/extra/libaacs/PKGBUILD b/abs/extra/libaacs/PKGBUILD new file mode 100644 index 0000000..02e38de --- /dev/null +++ b/abs/extra/libaacs/PKGBUILD @@ -0,0 +1,29 @@ +# $Id$ +# Maintainer: Martin Wimpress <code@flexion.org> +# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com> +# Contributor: Dirk Berg <berg1981@googlemail.com> + +pkgname=libaacs +pkgver=0.8.0 +pkgrel=1 +pkgdesc="Advanced Access Content System" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://www.videolan.org/developers/libaacs.html" +depends=('libgcrypt') +source=("ftp://ftp.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2") +sha1sums=('667fd744ddd73c8a3e51192dd3822f7e5002883c') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./bootstrap + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm644 KEYDB.cfg "${pkgdir}/usr/share/doc/${pkgname}"/KEYDB.cfg + install -Dm644 README.txt "${pkgdir}/usr/share/doc/${pkgname}"/README.txt +} diff --git a/abs/extra/libaio/PKGBUILD b/abs/extra/libaio/PKGBUILD index 41ca5d6..08d74db 100644 --- a/abs/extra/libaio/PKGBUILD +++ b/abs/extra/libaio/PKGBUILD @@ -3,20 +3,28 @@ # Contributor: Thomas S Hatch <thatch45 at gmail dot com> pkgname=libaio -pkgver=0.3.109 -pkgrel=7 +pkgver=0.3.110 +pkgrel=1 pkgdesc="The Linux-native asynchronous I/O facility (aio) library" arch=('i686' 'x86_64') url="http://lse.sourceforge.net/io/aio.html" license=('LGPL') source=(http://ftp.de.debian.org/debian/pool/main/liba/$pkgname/${pkgname}_${pkgver}.orig.tar.gz) -md5sums=('435a5b16ca6198eaf01155263d855756') +md5sums=('2a35602e43778383e2f4907a4ca39ab8') build() { cd "$srcdir/$pkgname-$pkgver" + # AIO library is a thin wrapper around kernel syscalls, it does not use stdlib + # and other helpers like stack protection libraries + CFLAGS="-march=${CARCH/_/-} -mtune=generic -O2 -pipe" make } +check() { + cd "$srcdir/$pkgname-$pkgver" + make partcheck +} + package() { cd "$srcdir/$pkgname-$pkgver" make prefix="$pkgdir/usr" install diff --git a/abs/extra/libbluray/PKGBUILD b/abs/extra/libbluray/PKGBUILD index 26c7c22..bdedee0 100644 --- a/abs/extra/libbluray/PKGBUILD +++ b/abs/extra/libbluray/PKGBUILD @@ -1,10 +1,10 @@ # $Id$ # Maintainer: Ionut Biru <ibiru@archlinux.org> -# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> +# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> # Contributor: Andrew Cook <ariscop@gmail.com> pkgname=libbluray -pkgver=0.5.0 +pkgver=0.6.2 pkgrel=1 pkgdesc='Library to access Blu-Ray disks for video playback' arch=('i686' 'x86_64') @@ -12,19 +12,14 @@ url='http://www.videolan.org/developers/libbluray.html' license=('LGPL2.1') depends=('libxml2' 'freetype2') source=(ftp://ftp.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2) -md5sums=('04cf15d0f3581a955d3a2ccb9dc06e9e') +md5sums=('f4d2f2cab53f976cbb22cbae069057bd') build() { cd $pkgname-$pkgver - - ./configure --prefix=/usr \ - --disable-static + ./configure --prefix=/usr make } package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" -C $pkgname-$pkgver install } - -# vim:set ts=2 sw=2 et: diff --git a/abs/extra/libbsd/PKGBUILD b/abs/extra/libbsd/PKGBUILD index 2e9b745..d882b1e 100644 --- a/abs/extra/libbsd/PKGBUILD +++ b/abs/extra/libbsd/PKGBUILD @@ -3,33 +3,33 @@ # Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> pkgname=libbsd -pkgver=0.6.0 -pkgrel=2 +pkgver=0.7.0 +pkgrel=1 pkgdesc="Provides useful functions commonly found on BSD systems like strlcpy()" arch=('i686' 'x86_64') url="http://libbsd.freedesktop.org" license=('custom') depends=('glibc') options=('staticlibs') -source=(http://libbsd.freedesktop.org/releases/$pkgname-$pkgver.tar.xz{,.asc}) -md5sums=('f6c75f0a9818e323a589bcbd560a0eb4' +source=("http://libbsd.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.asc}) +md5sums=('fcceb4e66fd448ca4ed42ba22a8babb0' 'SKIP') build() { - cd $pkgname-$pkgver + cd "$pkgname-$pkgver" ./configure --prefix=/usr make } check() { - cd $pkgname-$pkgver + cd "$pkgname-$pkgver" make check } package() { - cd $pkgname-$pkgver + cd "$pkgname-$pkgver" make DESTDIR="$pkgdir" install rm "${pkgdir}"/usr/lib/libbsd.a diff --git a/abs/extra/libbsd/spt.patch b/abs/extra/libbsd/spt.patch deleted file mode 100644 index b19dc9b..0000000 --- a/abs/extra/libbsd/spt.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -u -r libbsd-0.5.2-orig/src/setproctitle.c libbsd-0.5.2/src/setproctitle.c ---- libbsd-0.5.2-orig/src/setproctitle.c 2013-06-08 18:26:04.000000000 +0200 -+++ libbsd-0.5.2/src/setproctitle.c 2013-06-18 02:35:59.441393418 +0200 -@@ -86,7 +86,7 @@ - if (environ != envp) - return 0; - -- /* Make a copy of the old environ array of pointers, in case -+ /* Make a deep copy of the old environ array of pointers, in case - * clearenv() or setenv() is implemented to free the internal - * environ array, because we will need to access the old environ - * contents to make the new copy. */ -@@ -94,11 +94,13 @@ - envcopy = malloc(envsize); - if (envcopy == NULL) - return errno; -- memcpy(envcopy, envp, envsize); -+ for (i = 0; envp[i]; i++) envcopy[i] = strdup(envp[i]); -+ envcopy[i] = NULL; - - error = spt_clearenv(); - if (error) { - environ = envp; -+ for(i = 0; envcopy[i]; i++) free(envcopy[i]); - free(envcopy); - return error; - } -@@ -116,18 +118,20 @@ - if (error) { - #ifdef HAVE_CLEARENV - /* Because the old environ might not be available -- * anymore we will make do with the shallow copy. */ -+ * anymore we will make do with the deep copy. */ - environ = envcopy; - #else - environ = envp; -+ for(i = 0; envcopy[i]; i++) free(envcopy[i]); - free(envcopy); - #endif - return error; - } - } - -- /* Dispose of the shallow copy, now that we've finished transfering -+ /* Dispose of the deep copy, now that we've finished transfering - * the old environment. */ -+ for(i = 0; envcopy[i]; i++) free(envcopy[i]); - free(envcopy); - - return 0; diff --git a/abs/extra/libcdio-paranoia/PKGBUILD b/abs/extra/libcdio-paranoia/PKGBUILD index 152b38a..380ded2 100644 --- a/abs/extra/libcdio-paranoia/PKGBUILD +++ b/abs/extra/libcdio-paranoia/PKGBUILD @@ -3,15 +3,15 @@ # Contributor: damir <damir@archlinux.org> pkgname=libcdio-paranoia -pkgver=10.2+0.90+1 -pkgrel=2 +pkgver=10.2+0.93+1 +pkgrel=1 pkgdesc="CD paranoia libraries from libcdio" arch=('i686' 'x86_64') license=('GPL' 'LGPL') url="http://www.gnu.org/software/libcdio/" depends=('libcdio') source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.bz2{,.sig}) -md5sums=('e79e196864dd3b1ca87a01345abbda07' +md5sums=('0255aa50e660db7f2c39658b9c565814' 'SKIP') build() { diff --git a/abs/extra/libcdio/PKGBUILD b/abs/extra/libcdio/PKGBUILD index 803acef..d4b425b 100644 --- a/abs/extra/libcdio/PKGBUILD +++ b/abs/extra/libcdio/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: damir <damir@archlinux.org> pkgname=libcdio -pkgver=0.92 +pkgver=0.93 pkgrel=1 pkgdesc="GNU Compact Disc Input and Control Library" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('libcddb' 'ncurses' 'gcc-libs') install=libcdio.install source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig} libcdio-0.83-linking.patch) -md5sums=('86f3f2869c1d34e4c6e52db77992b918' +md5sums=('d154476feaac5a7b5f180e83eaf3d689' 'SKIP' '5a7f50209c03d5919d5b932f07871af7') diff --git a/abs/extra/libclc/PKGBUILD b/abs/extra/libclc/PKGBUILD new file mode 100644 index 0000000..2a7b414 --- /dev/null +++ b/abs/extra/libclc/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Laurent Carlier <lordheavym@gmail.com> + +pkgname=libclc +pkgver=0.0.1.217247 +pkgrel=1 +pkgdesc="Library requirements of the OpenCL C programming language" +arch=('any') +url="http://libclc.llvm.org/" +license=('MIT') +makedepends=('clang' 'svn' 'python2') +options=('staticlibs') +source=('libclc::svn+http://llvm.org/svn/llvm-project/libclc/trunk#revision=217247') +md5sums=(SKIP) + +build() { + cd libclc + + sed -i 's/"python < $in >/sys.executable + " < $in >/g' configure.py +# sed -i 's/python < $in >/python2 < $in >/g' configure.py + + python2 ./configure.py --prefix=/usr + make +} + +package() { + cd libclc + + make install DESTDIR="$pkgdir" + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + diff --git a/abs/extra/libdvdcss/PKGBUILD b/abs/extra/libdvdcss/PKGBUILD index 9e8edc9..010e6d7 100644 --- a/abs/extra/libdvdcss/PKGBUILD +++ b/abs/extra/libdvdcss/PKGBUILD @@ -1,27 +1,28 @@ -# $Id: PKGBUILD 180007 2013-03-14 11:52:25Z stephane $ -# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# $Id$ +# Maintainer: +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: arjan <arjan@archlinux.org> # Contributor Sarah Hay <sarahhay@mb.sympatico.ca> pkgname=libdvdcss -pkgver=1.2.13 +pkgver=1.3.0 pkgrel=1 -pkgdesc="A portable abstraction library for DVD decryption" +pkgdesc="Portable abstraction library for DVD decryption" url="http://www.videolan.org/libdvdcss" arch=('i686' 'x86_64') license=('GPL') depends=('glibc') -options=('!libtool' '!docs' '!emptydirs') -source=(http://download.videolan.org/pub/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('1a4a5e55c7529da46386c1c333340eee2c325a77') +options=('!docs' '!emptydirs') +source=(http://download.videolan.org/pub/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2) +sha1sums=('b3ccd70a510aa04d644f32b398489a3122a7e11a') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver make DESTDIR="${pkgdir}" install } diff --git a/abs/extra/libgdiplus/PKGBUILD b/abs/extra/libgdiplus/PKGBUILD index 84e3f45..59b451f 100644 --- a/abs/extra/libgdiplus/PKGBUILD +++ b/abs/extra/libgdiplus/PKGBUILD @@ -1,29 +1,34 @@ -# $Id: PKGBUILD 148818 2012-02-05 11:51:42Z ibiru $ +# $Id$ # Maintainer: Daniel Isenmann <daniel@archlinux.org> pkgname=libgdiplus -pkgver=2.10 -pkgrel=2 +pkgver=3.8 +pkgrel=1 pkgdesc="An Open Source Implementation of the GDI+ API" arch=(i686 x86_64) license=('MPL' 'LGPL') url="http://www.mono-project.com" -depends=('libtiff>=3.9.2-2' 'cairo>=1.8.10' 'giflib' 'glib2>=2.24.0' 'libexif') -makedepends=('pkgconfig') -options=('!libtool') -source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2 libpng15.patch) -md5sums=('451966e8f637e3a1f02d1d30f900255d' - 'a2d143676bbaceeb88b4c34069e93986') +depends=('libtiff' 'cairo' 'giflib' 'glib2' 'libexif') +source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.gz + libgdiplus0-giflib5.patch) +md5sums=('e75440257b006d7fc2c39e9c56022c4e' + 'a2db6fbb81b1367b3d45eaff674c00a5') + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 -i ../libgdiplus0-giflib5.patch + + sed -i -e 's/-L\${libjpeg_prefix}\/lib -ljpeg/-ljpeg/' configure +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p0 <../libpng15.patch - ./configure --prefix=/usr --with-cairo=system || return 1 - - make || return 1 + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --with-cairo=system + + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install || return 1 + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install } diff --git a/abs/extra/libgdiplus/gdiplus-png14.patch b/abs/extra/libgdiplus/gdiplus-png14.patch deleted file mode 100644 index d132608..0000000 --- a/abs/extra/libgdiplus/gdiplus-png14.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- src/pngcodec.c.orig 2010-01-16 23:47:17.000000000 +0100 -+++ src/pngcodec.c 2010-01-16 23:49:49.000000000 +0100 -@@ -352,7 +352,7 @@ - info_ptr->palette[i].blue, - info_ptr->palette[i].green, - info_ptr->palette[i].red, -- info_ptr->trans[i]); /* alpha */ -+ info_ptr->trans_alpha[i]); /* alpha */ - } - } - -@@ -418,7 +418,7 @@ - } - - if ((color_type == PNG_COLOR_TYPE_GRAY) && (bit_depth < 8)) { -- png_set_gray_1_2_4_to_8(png_ptr); -+ png_set_expand_gray_1_2_4_to_8(png_ptr); - } - - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { diff --git a/abs/extra/libgdiplus/libgdiplus-2.10.9-freetype25.patch b/abs/extra/libgdiplus/libgdiplus-2.10.9-freetype25.patch new file mode 100644 index 0000000..bd359f4 --- /dev/null +++ b/abs/extra/libgdiplus/libgdiplus-2.10.9-freetype25.patch @@ -0,0 +1,26 @@ +commit 180c02e0f2a2016eba8520b456ca929e9dcf03db +Author: Jo Shields <directhex@apebox.org> +Date: Mon Dec 16 09:24:57 2013 +0000 + + Use FreeType macros for tttables.h inclusion + + As of FreeType 2.1.6 (November 2003), using #include to include Freetype libraries directly is not supported. + + This has come to a head, as in FreeType 2.5.0, the location of headers has been moved around, breaking building of libgdiplus. + + This slight change uses the "official" way to include the required header file, without breaking building on older versions of the library. + +diff --git a/src/gdiplus-private.h b/src/gdiplus-private.h +index 59edf9e..dfccc02 100644 +--- a/src/gdiplus-private.h ++++ b/src/gdiplus-private.h +@@ -30,7 +30,8 @@ + #include <stdio.h> + #include <math.h> + #include <glib.h> +-#include <freetype/tttables.h> ++#include <ft2build.h> ++#include FT_TRUETYPE_TABLES_H + #include <pthread.h> + #include <unistd.h> + diff --git a/abs/extra/libgdiplus/libgdiplus-2.10.9-giflib-5.1.0.patch b/abs/extra/libgdiplus/libgdiplus-2.10.9-giflib-5.1.0.patch new file mode 100644 index 0000000..39d3c7a --- /dev/null +++ b/abs/extra/libgdiplus/libgdiplus-2.10.9-giflib-5.1.0.patch @@ -0,0 +1,30 @@ +diff -rupN a/src/gifcodec.c b/src/gifcodec.c +--- a/src/gifcodec.c 2011-12-02 18:23:12.000000000 +0100 ++++ b/src/gifcodec.c 2014-06-01 13:20:17.027203704 +0200 +@@ -581,7 +581,7 @@ gdip_load_gif_image (void *stream, GpIma + } + + FreeExtensionMono(&global_extensions); +- DGifCloseFile (gif); ++ DGifCloseFile (gif, NULL); + + *image = result; + return Ok; +@@ -597,7 +597,7 @@ error: + + if (gif != NULL) { + FreeExtensionMono (&global_extensions); +- DGifCloseFile (gif); ++ DGifCloseFile (gif, NULL); + } + + *image = NULL; +@@ -923,7 +923,7 @@ gdip_save_gif_image (void *stream, GpIma + } + } + +- EGifCloseFile (fp); ++ EGifCloseFile (fp, NULL); + + return Ok; + diff --git a/abs/extra/libgdiplus/libgdiplus-2.10.9-gold.patch b/abs/extra/libgdiplus/libgdiplus-2.10.9-gold.patch new file mode 100644 index 0000000..379ae94 --- /dev/null +++ b/abs/extra/libgdiplus/libgdiplus-2.10.9-gold.patch @@ -0,0 +1,16 @@ + tests/Makefile.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/tests/Makefile.in b/tests/Makefile.in +index 97f5f4e..c02ca25 100644 +--- a/tests/Makefile.in ++++ b/tests/Makefile.in +@@ -228,7 +228,7 @@ DEPS = \ + $(top_builddir)/src/libgdiplus.la + + LDADDS = \ +- $(top_builddir)/src/libgdiplus.la ++ $(top_builddir)/src/libgdiplus.la -lX11 -lglib-2.0 + + testgdi_DEPENDENCIES = $(TEST_DEPS) + testgdi_LDADD = $(LDADDS) diff --git a/abs/extra/libgdiplus/libgdiplus0-giflib5.patch b/abs/extra/libgdiplus/libgdiplus0-giflib5.patch new file mode 100644 index 0000000..0f48e08 --- /dev/null +++ b/abs/extra/libgdiplus/libgdiplus0-giflib5.patch @@ -0,0 +1,153 @@ +--- + src/gifcodec.c | 50 +++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 41 insertions(+), 9 deletions(-) + +Index: libgdiplus-2.10.9/src/gifcodec.c +=================================================================== +--- libgdiplus-2.10.9.orig/src/gifcodec.c ++++ libgdiplus-2.10.9/src/gifcodec.c +@@ -39,8 +39,15 @@ GUID gdip_gif_image_format_guid = {0xb96 + + #include "gifcodec.h" + ++#if !defined(GIFLIB_MAJOR) || GIFLIB_MAJOR < 5 + /* giflib declares this incorrectly as EgifOpen */ + extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc); ++#endif ++#if !defined(GIFLIB_MAJOR) || !(GIFLIB_MAJOR > 5 || \ ++ (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1)) ++# define DGifCloseFile(a, b) DGifCloseFile(a) ++# define EGifCloseFile(a, b) EGifCloseFile(a) ++#endif + + /* Data structure used for callback */ + typedef struct +@@ -105,7 +112,7 @@ gdip_gif_inputfunc (GifFileType *gif, Gi + */ + + static int +-AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[]) ++AddExtensionBlockMono(SavedImage *New, int Len, int func, BYTE ExtData[]) + { + ExtensionBlock *ep; + +@@ -129,7 +136,7 @@ AddExtensionBlockMono(SavedImage *New, i + + if (ExtData) { + memcpy(ep->Bytes, ExtData, Len); +- ep->Function = New->Function; ++ ep->Function = func; + } + + return (GIF_OK); +@@ -232,20 +239,20 @@ DGifSlurpMono(GifFileType * GifFile, Sav + } + + case EXTENSION_RECORD_TYPE: { +- if (DGifGetExtension(GifFile, &temp_save.Function, &ExtData) == GIF_ERROR) { ++ int func; ++ if (DGifGetExtension(GifFile, &func, &ExtData) == GIF_ERROR) { + return (GIF_ERROR); + } + + while (ExtData != NULL) { + /* Create an extension block with our data */ +- if (AddExtensionBlockMono(&temp_save, ExtData[0], &ExtData[1]) == GIF_ERROR) { ++ if (AddExtensionBlockMono(&temp_save, func, ExtData[0], &ExtData[1]) == GIF_ERROR) { + return (GIF_ERROR); + } + + if (DGifGetExtensionNext(GifFile, &ExtData) == GIF_ERROR) { + return (GIF_ERROR); + } +- temp_save.Function = 0; + } + break; + } +@@ -303,12 +310,19 @@ gdip_load_gif_image (void *stream, GpIma + result = NULL; + loop_counter = FALSE; + ++#if GIFLIB_MAJOR < 5 + if (from_file) { + gif = DGifOpen(stream, &gdip_gif_fileinputfunc); + } else { + gif = DGifOpen (stream, &gdip_gif_inputfunc); + } +- ++#else ++ if (from_file) ++ gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL); ++ else ++ gif = DGifOpen(stream, &gdip_gif_inputfunc, NULL); ++#endif ++ + if (gif == NULL) { + goto error; + } +@@ -581,7 +595,7 @@ gdip_load_gif_image (void *stream, GpIma + } + + FreeExtensionMono(&global_extensions); +- DGifCloseFile (gif); ++ DGifCloseFile (gif, NULL); + + *image = result; + return Ok; +@@ -597,7 +611,7 @@ error: + + if (gif != NULL) { + FreeExtensionMono (&global_extensions); +- DGifCloseFile (gif); ++ DGifCloseFile (gif, NULL); + } + + *image = NULL; +@@ -660,11 +674,22 @@ gdip_save_gif_image (void *stream, GpIma + return InvalidParameter; + } + ++#if GIFLIB_MAJOR < 5 + if (from_file) { + fp = EGifOpenFileName (stream, 0); + } else { + fp = EGifOpen (stream, gdip_gif_outputfunc); + } ++#else ++ if (from_file) ++ fp = EGifOpenFileName (stream, 0, NULL); ++ else ++ fp = EGifOpen (stream, gdip_gif_outputfunc, NULL); ++#define MakeMapObject GifMakeMapObject ++#define FreeMapObject GifFreeMapObject ++#define QuantizeBuffer GifQuantizeBuffer ++#define BitSize GifBitSize ++#endif + + if (!fp) { + return FileNotFound; +@@ -848,8 +873,15 @@ gdip_save_gif_image (void *stream, GpIma + Buffer[0] = 1; + Buffer[1] = ptr[0]; + Buffer[2] = ptr[1]; ++#if GIFLIB_MAJOR < 5 + EGifPutExtensionFirst(fp, APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0"); + EGifPutExtensionLast(fp, APPLICATION_EXT_FUNC_CODE, 3, Buffer); ++#else ++ EGifPutExtensionLeader(fp, APPLICATION_EXT_FUNC_CODE); ++ EGifPutExtensionBlock(fp, 11, "NETSCAPE2.0"); ++ EGifPutExtensionBlock(fp, 3, Buffer); ++ EGifPutExtensionTrailer(fp); ++#endif + } + } + +@@ -923,7 +955,7 @@ gdip_save_gif_image (void *stream, GpIma + } + } + +- EGifCloseFile (fp); ++ EGifCloseFile (fp, NULL); + + return Ok; + diff --git a/abs/extra/libgnome-keyring/PKGBUILD b/abs/extra/libgnome-keyring/PKGBUILD index 6a9dff1..f285a11 100644 --- a/abs/extra/libgnome-keyring/PKGBUILD +++ b/abs/extra/libgnome-keyring/PKGBUILD @@ -1,18 +1,19 @@ -#$Id: PKGBUILD 156896 2012-04-23 09:08:34Z ibiru $ +#$Id$ #Maintainer: Jan De Groot <jgc@archlinux.org> pkgname=libgnome-keyring -pkgver=3.4.1 -pkgrel=1 +pkgver=3.12.0 +pkgrel=2 pkgdesc="GNOME keyring client library" arch=(i686 x86_64) license=('GPL' 'LGPL') -depends=('dbus-core' 'glib2' 'libgcrypt') -makedepends=('intltool' 'gobject-introspection') -options=('!libtool' '!emptydirs') +depends=('dbus' 'glib2' 'libgcrypt') +makedepends=('intltool' 'gobject-introspection' 'vala' 'python2') +optdepends=('gnome-keyring: key storage service (or use any other service implementing org.freedesktop.secrets)') +options=('!emptydirs') url="http://www.gnome.org" -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('e74a3e4521767fe5f05cc97cda8a355239567d9763ec628280ede8c2a4a379e8') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) +sha256sums=('c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783') build() { cd "$pkgname-$pkgver" diff --git a/abs/extra/libmatroska/PKGBUILD b/abs/extra/libmatroska/PKGBUILD index 78f4f25..963e241 100644 --- a/abs/extra/libmatroska/PKGBUILD +++ b/abs/extra/libmatroska/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 143895 2011-11-30 19:46:58Z giovanni $ +# $Id$ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor 03/08/04 <lefungus@altern.org> pkgname=libmatroska -pkgver=1.3.0 -pkgrel=2 +pkgver=1.4.1 +pkgrel=1 pkgdesc="Matroska library" arch=('i686' 'x86_64') url="http://dl.matroska.org/downloads/libmatroska/" license=('LGPL') depends=('libebml') source=("http://dl.matroska.org/downloads/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('f4a8c411f09d39c754eb726efd616043') +md5sums=('f61b2e5086f4bb9d24a43cc8af43a719') build() { cd "${srcdir}/${pkgname}-${pkgver}/make/linux" diff --git a/abs/extra/libmicrohttpd/PKGBUILD b/abs/extra/libmicrohttpd/PKGBUILD index 978b589..76c7b6e 100644 --- a/abs/extra/libmicrohttpd/PKGBUILD +++ b/abs/extra/libmicrohttpd/PKGBUILD @@ -6,17 +6,17 @@ # Contributor: Mathias Rohnstock <linksoft@gmx.de> pkgname=libmicrohttpd -pkgver=0.9.27 +pkgver=0.9.37 pkgrel=1 pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application." arch=('i686' 'x86_64') url="http://www.gnu.org/software/libmicrohttpd/" license=('LGPL') -options=('!libtool') depends=('gnutls' 'libgcrypt') +optdepends=('file' 'curl') install=libmicrohttpd.install source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz) -md5sums=('a10496b7f1b495aaf6897584da52f51b') +md5sums=('fdf1e0534d83bbf2663f80fa7873be77') build() { cd ${pkgname}-${pkgver} @@ -30,8 +30,6 @@ package() { make DESTDIR=${pkgdir} install install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/platform.h \ ${pkgdir}/usr/include/$pkgname/platform.h - install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/plibc/plibc.h \ - ${pkgdir}/usr/include/$pkgname/plibc.h sed -i 's#Cflags: -I${includedir}#Cflags: -I${includedir} -I${includedir}/libmicrohttpd#' \ $pkgdir/usr/lib/pkgconfig/libmicrohttpd.pc } diff --git a/abs/extra/libmpdclient/PKGBUILD b/abs/extra/libmpdclient/PKGBUILD new file mode 100644 index 0000000..148b952 --- /dev/null +++ b/abs/extra/libmpdclient/PKGBUILD @@ -0,0 +1,28 @@ +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> + +pkgname=libmpdclient +pkgver=2.9 +pkgrel=1 +pkgdesc='Asynchronous API library for interfacing MPD in the C, C++ & Objective C languages' +url='http://www.musicpd.org/libs/libmpdclient/' +license=('custom:BSD') +arch=('i686' 'x86_64') +source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz") +sha1sums=('1a3557d4d1f78085db6285a8c8cb9085c300d9d3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --disable-documentation + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + cd "${pkgdir}" + install -d usr/share/licenses/libmpdclient + ln -s ../../doc/libmpdclient/COPYING usr/share/licenses/libmpdclient/COPYING +} diff --git a/abs/extra/libomxil-bellagio/PKGBUILD b/abs/extra/libomxil-bellagio/PKGBUILD new file mode 100644 index 0000000..37a8d60 --- /dev/null +++ b/abs/extra/libomxil-bellagio/PKGBUILD @@ -0,0 +1,38 @@ +# $Id$ +# Maintainer: Laurent Carlier <lordheavym@gmail.com> +# Contributor: Fly-away <flyaaway@gmail.com> + +pkgname=libomxil-bellagio +pkgver=0.9.3 +pkgrel=1 +pkgdesc="An opensource implementation of the OpenMAX Integration Layer API" +arch=('i686' 'x86_64') +url="http://omxil.sourceforge.net" +license=('LGPL') +depends=('glibc') +source=("http://downloads.sourceforge.net/project/omxil/omxil/Bellagio%200.9.3/${pkgname}-${pkgver}.tar.gz" + fedora-fixes.patch) +md5sums=('a1de827fdb75c02c84e55f740ca27cb8' + 'c34f9facf0cf26171c81f2fc3d562ec6') + +prepare() { + cd ${srcdir}/${pkgname}-$pkgver + + # Fixes from fedora repo + patch -Np1 -i ../fedora-fixes.patch + autoreconf -fiv +} + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/${pkgname} + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR="${pkgdir}" install +} + diff --git a/abs/extra/libomxil-bellagio/fedora-fixes.patch b/abs/extra/libomxil-bellagio/fedora-fixes.patch new file mode 100644 index 0000000..2ae3c3c --- /dev/null +++ b/abs/extra/libomxil-bellagio/fedora-fixes.patch @@ -0,0 +1,199 @@ +When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved. +Link explicitly against omxil-bellagio so that ld.so can find the reference. + +Signed-off-by: Qais Yousef <qais.yousef@imgtec.com> + +--- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old 2012-03-23 15:07:47.379021034 +0000 ++++ bellagio-0.9.3/src/dynamic_loader/Makefile.am 2012-03-23 15:08:47.563034818 +0000 +@@ -3,7 +3,7 @@ + omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la + libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h + +-libomxdynamicloader_la_LDFLAGS = ++libomxdynamicloader_la_LDFLAGS = -L$(abs_top_srcdir)/src/.libs -lomxil-bellagio + libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/base \ +Fix dependency issue to allow parallel build + +Signed-off-by: Qais Yousef <qais.yousef@imgtec.com> + +Index: bellagio-0.9.3/src/Makefile.am +=================================================================== +--- bellagio-0.9.3.orig/src/Makefile.am ++++ bellagio-0.9.3/src/Makefile.am +@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist + omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ + -I$(top_srcdir)/include + omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) ++omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la + + lib_LTLIBRARIES = libomxil-bellagio.la + libomxil_bellagio_la_SOURCES = component_loader.h \ +We always access globalComponentList[] at indexComponent=-1 which causes a +segfault. Use i as the index instead. + +Signed-off-by: Qais Yousef <qais.yousef@imgtec.com> + +--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000 ++++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000 +@@ -485,7 +485,6 @@ + OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) { + omx_base_component_PrivateType* omx_base_component_Private; + int i = 0; +- int indexComponent = -1; + + DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__); + omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate; +@@ -493,16 +492,13 @@ + while(listOfcomponentRegistered[i].component_name != NULL ) { + if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) { + // found component in the list of the resource manager +- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp); +- break; ++ removeElemFromList(&globalComponentList[i], openmaxStandComp); ++ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ return OMX_ErrorNone; + } + i++; + } +- if (indexComponent <0) { +- // No resource to be handled +- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); +- return OMX_ErrorNone; +- } +- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ // No resource to be handled ++ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); + return OMX_ErrorNone; + } + OMX_INDEXTYPE/OMX_INDEXVENDORTYPE in one switch + src/base/omx_base_component.c | 54 ++++++++++++++++++++++------------------- + 1 files changed, 29 insertions(+), 25 deletions(-) +--- a/src/base/omx_base_component.c ++++ a/src/base/omx_base_component.c +@@ -915,14 +915,6 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + return OMX_ErrorBadParameter; + } + switch(nParamIndex) { +- case OMX_IndexParameterThreadsID: +- if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { +- break; +- } +- threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; +- threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; +- threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; +- break; + case OMX_IndexParamAudioInit: + case OMX_IndexParamVideoInit: + case OMX_IndexParamImageInit: +@@ -988,28 +980,40 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + } + } + break; +- case OMX_IndexVendorCompPropTunnelFlags: +- pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; ++ default: ++ /* additional switch statement for extended OMX_INDEXTYPE */ ++ switch((OMX_INDEXVENDORTYPE) nParamIndex) { ++ case OMX_IndexParameterThreadsID: ++ if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { ++ break; ++ } ++ threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; ++ threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; ++ threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; ++ break; ++ case OMX_IndexVendorCompPropTunnelFlags: ++ pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; + +- if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { ++ if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { + +- DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", +- __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); ++ DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", ++ __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); + +- return OMX_ErrorBadPortIndex; +- } ++ return OMX_ErrorBadPortIndex; ++ } + +- pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; ++ pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; + +- pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; +- pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; +- break; +- default: +- err = OMX_ErrorUnsupportedIndex; +- break; ++ pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; ++ pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; ++ break; ++ default: ++ err = OMX_ErrorUnsupportedIndex; ++ break; ++ } + } + DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s for component %p\n", __func__, hComponent); + return err; +diff -up libomxil-bellagio-0.9.3/Makefile.am.nodoc libomxil-bellagio-0.9.3/Makefile.am +--- libomxil-bellagio-0.9.3/Makefile.am.nodoc 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/Makefile.am 2012-04-23 13:46:15.410823381 +0200 +@@ -7,7 +7,6 @@ EXTRA_DIST = libomxil-bellagio.spec + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libomxil-bellagio.pc + +-docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@ + doc_DATA = README \ + ChangeLog \ + TODO +diff -up libomxil-bellagio-0.9.3/src/omxregister.c.unused libomxil-bellagio-0.9.3/src/omxregister.c +--- libomxil-bellagio-0.9.3/src/omxregister.c.unused 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/src/omxregister.c 2012-12-10 22:02:28.621695659 +0100 +@@ -248,7 +248,15 @@ static int buildComponentsList(FILE* omx + } + fptr(stComponents); + err = fwrite(lib_absolute_path, 1, strlen(lib_absolute_path), omxregistryfp); +- err = fwrite("\n", 1, 1, omxregistryfp); ++ if (err != strlen(lib_absolute_path)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(lib_absolute_path), fileno(omxregistryfp)); ++ continue; ++ } ++ err = fwrite("\n", 1, strlen(buffer), omxregistryfp); ++ if (err != strlen(buffer)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(buffer), fileno(omxregistryfp)); ++ continue; ++ } + + + for (i = 0; i<num_of_comp; i++) { +--- libomxil-bellagio-0.9.3/include/OMX_Types.h.orig 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/include/OMX_Types.h 2013-02-25 09:53:55.000000000 +0100 +@@ -314,6 +314,18 @@ + * platform & operating specific object used to reference the window */ + typedef void* OMX_NATIVE_WINDOWTYPE; + ++ ++/** Define the OMX IL version that corresponds to this set of header files. ++ * We also define a combined version that can be used to write or compare ++ * values of the 32bit nVersion field, assuming a little endian architecture */ ++#define OMX_VERSION_MAJOR 1 ++#define OMX_VERSION_MINOR 1 ++#define OMX_VERSION_REVISION 2 ++#define OMX_VERSION_STEP 0 ++ ++#define OMX_VERSION ((OMX_VERSION_STEP<<24) | (OMX_VERSION_REVISION<<16) | (OMX_VERSION_MINOR<<8) | OMX_VERSION_MAJOR) ++ ++ + /** The OMX_VERSIONTYPE union is used to specify the version for + a structure or component. For a component, the version is entirely + specified by the component vendor. Components doing the same function diff --git a/abs/extra/libproxy/PKGBUILD b/abs/extra/libproxy/PKGBUILD index 9fb8e85..70a1362 100644 --- a/abs/extra/libproxy/PKGBUILD +++ b/abs/extra/libproxy/PKGBUILD @@ -1,32 +1,22 @@ -# $Id: PKGBUILD 24494 2009-01-17 20:42:01Z jgc $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libproxy -pkgver=0.4.7 -pkgrel=2 +pkgver=0.4.11 +pkgrel=4 pkgdesc="A library that provides automatic proxy configuration management" arch=(i686 x86_64) license=('LGPL') depends=('gcc-libs') -optdepends=('kdelibs: KDE configuration module' - 'networkmanager: NetworkManager configuration module' - 'perl: Perl bindings' - 'python2: Python bindings') -makedepends=('cmake' 'automoc4' 'python2' 'perl') +optdepends=('perl: Perl bindings' + 'python2: Python bindings' + 'glib2: gsettings configuration module') +makedepends=('cmake' 'python2' 'perl') url="http://libproxy.googlecode.com" -source=(http://libproxy.googlecode.com/files/${pkgname}-${pkgver}.tar.gz - libproxy-0.4.7-unistd.patch) -options=('!libtool') -md5sums=('509e03a488a61cd62bfbaf3ab6a2a7a5' - 'e90c03f296e553ace347b46f4fea3625') +source=(http://libproxy.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) +md5sums=('3cd1ae2a4abecf44b3f24d6639d2cd84') build() { - cd "${srcdir}" - - # Fix build with GCC 4.7 (patch from Fedora) - patch -d "${pkgname}-${pkgver}" -Np1 -i \ - "${srcdir}/libproxy-0.4.7-unistd.patch" - mkdir build cd build cmake ../${pkgname}-${pkgver} \ @@ -37,11 +27,13 @@ build() { -DCMAKE_BUILD_TYPE=Release \ -DWITH_WEBKIT=OFF \ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ - -DCMAKE_C_FLAGS="${CFLAGS}" + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -DWITH_KDE4=OFF \ + -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2 make } package() { - cd "${srcdir}/build" + cd build make DESTDIR="${pkgdir}" install } diff --git a/abs/extra/libproxy/__changelog b/abs/extra/libproxy/__changelog index 8bc6f71..178dc00 100644 --- a/abs/extra/libproxy/__changelog +++ b/abs/extra/libproxy/__changelog @@ -1 +1 @@ -removed kdelibs - +PKGBUILD: remove networkmanager from makedepends and depends diff --git a/abs/extra/libproxy/libproxy-0.4.7-unistd.patch b/abs/extra/libproxy/libproxy-0.4.7-unistd.patch deleted file mode 100644 index 803f819..0000000 --- a/abs/extra/libproxy/libproxy-0.4.7-unistd.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- libproxy-0.4.7/libproxy/url.cpp.orig 2012-02-28 21:05:15.572948027 +0000 -+++ libproxy-0.4.7/libproxy/url.cpp 2012-02-28 21:05:45.635937474 +0000 -@@ -27,6 +27,7 @@ - #define close _close - #endif - #include <fcntl.h> // For ::open() -+#include <unistd.h> // For ::read() and ::close() - #include <cstring> // For memcpy() - #include <sstream> // For int/string conversion (using stringstream) - #include <cstdio> // For sscanf() ---- libproxy-0.4.7/libproxy/modules/config_sysconfig.cpp.orig 2012-02-28 21:06:01.552943358 +0000 -+++ libproxy-0.4.7/libproxy/modules/config_sysconfig.cpp 2012-02-28 21:11:21.429953982 +0000 -@@ -18,6 +18,7 @@ - ******************************************************************************/ - - #include <sys/stat.h> -+#include <unistd.h> - #include <cstdlib> - #include <map> - #include <fstream> ---- libproxy-0.4.7/libproxy/modules/pacrunner_mozjs.cpp.orig 2012-02-28 21:06:11.637943033 +0000 -+++ libproxy-0.4.7/libproxy/modules/pacrunner_mozjs.cpp 2012-02-28 21:11:46.560961409 +0000 -@@ -17,6 +17,7 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - ******************************************************************************/ - -+#include <unistd.h> // for ::gethostname() - #include <cstring> // ? - - #include "../extension_pacrunner.hpp" ---- libproxy-0.4.7/libproxy/modules/pacrunner_webkit.cpp.orig 2012-02-28 21:06:29.615943614 +0000 -+++ libproxy-0.4.7/libproxy/modules/pacrunner_webkit.cpp 2012-02-28 21:12:35.530965553 +0000 -@@ -17,6 +17,7 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - ******************************************************************************/ - -+#include <unistd.h> // for ::gethostname() - #include "../extension_pacrunner.hpp" - using namespace libproxy; - diff --git a/abs/extra/libsecret/PKGBUILD b/abs/extra/libsecret/PKGBUILD new file mode 100644 index 0000000..dcd82fb --- /dev/null +++ b/abs/extra/libsecret/PKGBUILD @@ -0,0 +1,27 @@ +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libsecret +pkgver=0.18 +pkgrel=1 +pkgdesc='Library for storing and retrieving passwords and other secrets.' +arch=('i686' 'x86_64') +license=('LGPL') +url="https://wiki.gnome.org/Projects/Libsecret" +depends=('glib2' 'libgcrypt') +makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'vala') +optdepends=('gnome-keyring: key storage service (or use any other service implementing org.freedesktop.secrets)') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz) +sha256sums=('0c73aa762dbd1e38ba7b03de350e23ce818cb810b0784375e95ef61e004b02e3') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/libshairport/PKGBUILD b/abs/extra/libshairport/PKGBUILD index d6e406c..aa86087 100644 --- a/abs/extra/libshairport/PKGBUILD +++ b/abs/extra/libshairport/PKGBUILD @@ -1,20 +1,19 @@ -# $Id: PKGBUILD 68571 2012-03-28 10:35:14Z idevolder $ +# $Id$ # Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> pkgname=libshairport _developer='amejia1' -_version=1.2.1 -_commithash='aeb4987' +_version=1.2.1.20121215 +_commithash='16395d8' pkgver=${_version} -pkgrel=2 +pkgrel=3 pkgdesc="emulates an AirPort Express" arch=('i686' 'x86_64') url='https://github.com/amejia1/libshairport' license=('GPL') depends=('openssl' 'libao') source=("$pkgname-$pkgver.tar.gz::https://github.com/amejia1/libshairport/tarball/$_commithash") -sha256sums=('003c65f56123a7cb090b2d7249f0facbef668f7db6048f4b458713892a6911ca') -options=(!libtool) +sha256sums=('98b73313d0a8f2abcb32e11f4fd4b422777a495cd62dbe881d5061b91959d1d5') _srcfolder=$_developer-$pkgname-$_commithash diff --git a/abs/extra/libsoup/PKGBUILD b/abs/extra/libsoup/PKGBUILD index 7144432..ee50628 100644 --- a/abs/extra/libsoup/PKGBUILD +++ b/abs/extra/libsoup/PKGBUILD @@ -1,48 +1,36 @@ -# $Id: PKGBUILD 156920 2012-04-23 09:09:05Z ibiru $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> -pkgbase=libsoup -pkgname=('libsoup' 'libsoup-gnome') -pkgver=2.38.1 +pkgname=libsoup +pkgver=2.48.0 pkgrel=1 -arch=('i686' 'x86_64') -license=('LGPL') -makedepends=('glib2' 'libxml2' 'sqlite' 'libgnome-keyring' 'intltool' 'gobject-introspection' 'glib-networking') +pkgdesc="GNOME HTTP Library" +arch=(i686 x86_64) +license=(LGPL) url="http://www.gnome.org" -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz) -options=('!libtool' '!emptydirs') -sha256sums=('71b8923fc7a5fef9abc5420f7f3d666fdb589f43a8c50892d584d58b3c513f9a') +depends=(glib2 libxml2 glib-networking sqlite) +makedepends=(intltool gobject-introspection python2) +checkdepends=(apache php php-apache) +provides=("libsoup-gnome=$pkgver-$pkgrel") +conflicts=(libsoup-gnome) +replaces=(libsoup-gnome) +options=('!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) +sha256sums=('ea34dd64fe44343445daf6dd690d0691e9d973468de44878da97371c16d89784') build() { - cd "$pkgbase-$pkgver" + cd $pkgname-$pkgver ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static make } -package_libsoup() { - pkgdesc="GNOME HTTP Library - base library" - depends=('glib2' 'libxml2' 'glib-networking') - - cd "$pkgbase-$pkgver" - make DESTDIR="$pkgdir" install - - rm -f "$pkgdir"/usr/lib/libsoup-gnome-2.4.* - rm -f "$pkgdir/usr/lib/pkgconfig/libsoup-gnome-2.4.pc" - rm -rf "$pkgdir/usr/include/libsoup-gnome-2.4" - rm -f "$pkgdir/usr/lib/girepository-1.0/SoupGNOME-2.4.typelib" +check() { + cd $pkgname-$pkgver + make check } -package_libsoup-gnome() { - pkgdesc="GNOME HTTP Library - GNOME libraries" - depends=("libsoup=$pkgver" 'libgnome-keyring' 'sqlite') - - cd "$pkgbase-$pkgver" +package() { + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install - - rm -f "$pkgdir"/usr/lib/libsoup-2.4.* - rm -f "$pkgdir/usr/lib/pkgconfig/libsoup-2.4.pc" - rm -rf "$pkgdir/usr/include/libsoup-2.4" - rm -rf "$pkgdir/usr/share" - rm -f "$pkgdir/usr/lib/girepository-1.0/Soup-2.4.typelib" } diff --git a/abs/extra/libsoup/__changelog b/abs/extra/libsoup/__changelog new file mode 100644 index 0000000..29f2771 --- /dev/null +++ b/abs/extra/libsoup/__changelog @@ -0,0 +1 @@ +PKGBUILD: remove python from deps diff --git a/abs/extra/libssh/PKGBUILD b/abs/extra/libssh/PKGBUILD index a2dc1bf..c93c52f 100644 --- a/abs/extra/libssh/PKGBUILD +++ b/abs/extra/libssh/PKGBUILD @@ -1,31 +1,47 @@ -# $Id: PKGBUILD 138141 2011-09-17 12:41:18Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id$ +# Maintainer: Tom Gundersen <teg@jklm.no> +# Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: ice-man <icemanf@gmail.com> # Contributor: sergeantspoon <sergeantspoon@archlinux.us> pkgname=libssh -pkgver=0.5.2 +pkgver=0.6.3 pkgrel=1 pkgdesc="Library for accessing ssh client services through C libraries" url="http://www.libssh.org/" license=('LGPL') arch=('i686' 'x86_64') -depends=('openssl') -makedepends=('cmake' 'doxygen') -source=("https://red.libssh.org/attachments/download/27/${pkgname}-${pkgver}.tar.gz") -md5sums=('38b67c48af7a9204660a3e08f97ceba6') +depends=('zlib' 'openssl') +makedepends=('cmake' 'cmocka' 'doxygen') +checkdepends=('openssh') +source=(https://red.libssh.org/attachments/download/87/${pkgname}-${pkgver}.tar.xz) +md5sums=('66cf16e77f60913b4d54f18c92cdbf71') + + +prepare() { + # disable the test. It is confused by our clean container setup. + # 'extra-x86-build' uses user 'nobody' that has a record in /etc/passwd file + # but $HOME envvar is set to '/build'. The test expects that $HOME corresponds to passwd file. + sed 's/unit_test(torture_path_expand_tilde_unix),//' -i libssh-${pkgver}/tests/unittests/torture_misc.c +} build() { - cd "${srcdir}" - mkdir build + mkdir build || true cd build cmake ../${pkgname}-${pkgver} \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_GSSAPI=OFF \ + -DWITH_TESTING=ON make } +check() { + cd build + make test +} + package(){ - cd "${srcdir}"/build + cd build make DESTDIR="${pkgdir}" install } diff --git a/abs/extra/libtorrent-rasterbar/PKGBUILD b/abs/extra/libtorrent-rasterbar/PKGBUILD index d1f4910..164f6ab 100644 --- a/abs/extra/libtorrent-rasterbar/PKGBUILD +++ b/abs/extra/libtorrent-rasterbar/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Hugo Doria <hugo@archlinux.org> pkgname=libtorrent-rasterbar -pkgver=0.16.16 -pkgrel=1 +pkgver=0.16.17 +pkgrel=3 epoch=1 pkgdesc="A C++ library that aims to be a good alternative to all the other bittorrent implementations around" url="http://www.rasterbar.com/products/libtorrent/" @@ -14,7 +14,7 @@ depends=('boost-libs' 'geoip' 'python2') makedepends=('boost') options=('!emptydirs') source=(http://downloads.sourceforge.net/sourceforge/libtorrent/$pkgname-$pkgver.tar.gz) -sha1sums=('de8faed5cbc09baddb2748cb7b75edd07ab0addc') +sha1sums=('e713b5dfc45194bfc50fa21096ab67c374ae3740') build() { cd $pkgname-$pkgver diff --git a/abs/extra/libupnp/PKGBUILD b/abs/extra/libupnp/PKGBUILD new file mode 100644 index 0000000..1df79d3 --- /dev/null +++ b/abs/extra/libupnp/PKGBUILD @@ -0,0 +1,29 @@ +# $Id$ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: kastor <kastor@fobos.org.ar> + +pkgname=libupnp +pkgver=1.6.19 +pkgrel=1 +pkgdesc="Portable Open Source UPnP Development Kit" +arch=('i686' 'x86_64') +url="http://pupnp.sourceforge.net/" +license=('BSD') +depends=('glibc') +makedepends=('pkgconfig') +source=("http://downloads.sourceforge.net/sourceforge/pupnp/${pkgname}-${pkgver}.tar.bz2") +md5sums=('ee16e5d33a3ea7506f38d71facc057dd') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR=${pkgdir} install + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/custom/${pkgname}/LICENSE +} diff --git a/abs/extra/libutempter/PKGBUILD b/abs/extra/libutempter/PKGBUILD new file mode 100644 index 0000000..bbc27d9 --- /dev/null +++ b/abs/extra/libutempter/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libutempter +pkgver=1.1.6 +pkgrel=2 +pkgdesc="Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files" +arch=('i686' 'x86_64') +url="ftp://ftp.altlinux.org/pub/people/ldv/utempter" +license=('LGPL') +depends=('glibc') +source=(ftp://ftp.altlinux.org/pub/people/ldv/utempter/$pkgname-$pkgver.tar.bz2) +md5sums=('b43827806923903aba2bc7cd3a2d45b7') + +build() { + cd "$srcdir/$pkgname-$pkgver" + RPM_OPT_FLAGS="$CFLAGS" make + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + chown root:utmp "$pkgdir/usr/lib/utempter/utempter" + chmod 2755 "$pkgdir/usr/lib/utempter/utempter" +} diff --git a/abs/extra/libva/PKGBUILD b/abs/extra/libva/PKGBUILD index 5840a77..dad11fd 100644 --- a/abs/extra/libva/PKGBUILD +++ b/abs/extra/libva/PKGBUILD @@ -1,33 +1,29 @@ -# $Id: PKGBUILD 161866 2012-06-16 00:18:39Z ibiru $ -# Maintainer : Ionut Biru <ibiru@archlinux.org> +# $Id$ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> pkgname=libva -pkgver=1.0.16 +pkgver=1.4.1 pkgrel=1 -pkgdesc="Video Acceleration (VA) API for Linux" +pkgdesc='Video Acceleration (VA) API for Linux' arch=('i686' 'x86_64') -url="http://freedesktop.org/wiki/Software/vaapi" +url='http://freedesktop.org/wiki/Software/vaapi' license=('MIT') -depends=('libegl' 'libgl' 'libdrm' 'libxfixes') +depends=('libgl' 'libdrm' 'libxfixes') makedepends=('mesa') -optdepends=('vdpau-video: vdpau back-end for nvidia' - 'libva-driver-intel: back-end for intel cards') -options=('!libtool') -install=libva.install -source=(http://cgit.freedesktop.org/libva/snapshot/${pkgname}-${pkgver}.tar.bz2) +optdepends=('libva-vdpau-driver: backend for Nvidia and AMD cards' + 'libva-intel-driver: backend for Intel cards') +source=(http://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2) +md5sums=('8e3e7096750c14d1f98da807df7c1ba5') build() { - cd "$pkgname-$pkgver" - ./autogen.sh + cd $pkgname-$pkgver ./configure --prefix=/usr make } package() { - cd "$pkgname-$pkgver" + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install - install -m644 -D COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } - -# vim:set ts=2 sw=2 et: -md5sums=('49d74e1e4f8a4937af7a62d457f61106') diff --git a/abs/extra/libva/libva.install b/abs/extra/libva/libva.install deleted file mode 100644 index 4d8b8e2..0000000 --- a/abs/extra/libva/libva.install +++ /dev/null @@ -1,5 +0,0 @@ -post_upgrade() { - if [ "$(vercmp $2 1.0.15-1)" -lt 0 ]; then - echo 'Starting with libva version 1.0.15, the intel back-end is now in libva-driver-intel.' - fi -} diff --git a/abs/extra/libwebkit/PKGBUILD b/abs/extra/libwebkit/PKGBUILD deleted file mode 100644 index 93a98cd..0000000 --- a/abs/extra/libwebkit/PKGBUILD +++ /dev/null @@ -1,61 +0,0 @@ -# $Id: PKGBUILD 157142 2012-04-24 22:33:15Z ibiru $ -# Maintainer: Andreas Radke <andyrtr@archlinux.org> - -pkgbase=libwebkit -pkgname=(libwebkit libwebkit3) -pkgver=1.8.1 -pkgrel=1 -pkgdesc="An opensource web content engine" -arch=('i686' 'x86_64') -url="http://webkitgtk.org/" -license=('custom') -depends=('libxt' 'libxslt' 'sqlite' 'icu' 'gstreamer0.10-base' 'libsoup' 'enchant' 'libgl' - 'geoclue') -makedepends=('gperf' 'gobject-introspection' 'python2' 'gtk2' 'gtk3' 'mesa') -options=('!libtool' '!emptydirs') -source=(http://webkitgtk.org/releases/webkit-$pkgver.tar.xz webkit.patch) - -build() { - cd "$srcdir/webkit-$pkgver" - patch -Np1 < ../webkit.patch - mkdir build-gtk{2,3} - - # clear makeflags: race during introspection. - # WebKit*.gir should be created before WebKit*.typelib, but isn't - MAKEFLAGS= - - ( cd build-gtk2 && _build --with-gtk=2.0 ) - ( cd build-gtk3 && _build --with-gtk=3.0 ) -} - -_build() { - PYTHON=/usr/bin/python2 ../configure --prefix=/usr \ - --enable-introspection \ - --with-font-backend=freetype \ - --with-unicode-backend=icu \ - --enable-spellcheck "$@" - make all stamp-po -} - -package_libwebkit() { - pkgdesc+=" (for GTK2)" - depends+=(gtk2) - - cd "$srcdir/webkit-$pkgver/build-gtk2" - make DESTDIR="$pkgdir" install - install -Dm644 ../Source/WebKit/LICENSE "$pkgdir/usr/share/licenses/libwebkit/LICENSE" -} - -package_libwebkit3() { - pkgdesc+=" (for GTK3)" - depends+=(gtk3) - - cd "$srcdir/webkit-$pkgver/build-gtk3" - make DESTDIR="$pkgdir" install - install -Dm644 ../Source/WebKit/LICENSE "$pkgdir/usr/share/licenses/libwebkit3/LICENSE" -} - - - -md5sums=('f2f01b1fdc7262a2eede81ebed0970b2' - 'dab90271e918f48ed215648521d5a8a0') diff --git a/abs/extra/libwebkit/index.html b/abs/extra/libwebkit/index.html deleted file mode 100644 index 5d6ef44..0000000 --- a/abs/extra/libwebkit/index.html +++ /dev/null @@ -1,89 +0,0 @@ -<html> - <head> - <title> </title> - - <script type="text/javascript"> - function bredir(a, b, c, d, e, ldr, ifc) { - var f, g, h, i, j; - var k = false; - var l = false; - var m = [ - [300, 250, false], - [250, 250, false], - [240, 400, false], - [336, 280, false], - [180, 150, false], - [468, 60, false], - [234, 60, false], - [88, 31, false], - [120, 90, false], - [120, 60, false], - [120, 240, false], - [125, 125, false], - [728, 90, false], - [160, 600, false], - [120, 600, false], - [300, 600, false], - [300, 125, false], - [530, 300, false], - [190, 200, false], - [470, 250, false], - [720, 300, true], - [500, 350, true], - [550, 480, true] - ]; - if (typeof window.innerHeight == "number") { - g = window.innerHeight; - f = window.innerWidth; - } else if (typeof document.body.offsetHeight == "number") { - g = document.body.offsetHeight; - f = document.body.offsetWidth; - } - for (var n = 0; n < m.length; n++) { - j = m[n]; - h = Math.abs(f - j[0]); - i = Math.abs(g - j[1]); - if (top != self) { - ifc = 1; - } else { - ifc = 0; - }; - if (h <= 2 && i <= 2) { - k = true; - l = j[2] - } - } - if(f === 0 && g === 0){ - self.close(); - return; - } - if ((a != "www.facebook.com" && a != "platform.twitter.com") && (k || f < 100 && f !== 0 || g < 100 && g !== 0)) { - if (l && self == parent) { - self.close(); - return; - } - return "/b" + "anner.php?w=" + f + "&h=" + g + "&d=" + a + "&url=" + b + "&ref=" + c + "&view=" + d - } else if ((a == "www.facebook.com" || a == "platform.twitter.com") && (f >= 250 && g >= 60) && (k || f < 100 && f !== 0 || g < 100 && g !== 0)) { - if (l && self == parent) { - self.close(); - return; - } - return e + "&w=" + f + "&h=" + g + "&ldr=" + "b" + "&ifc=" + ifc; - } else if ((a == "www.facebook.com" || a == "platform.twitter.com") && (f < 250 || g < 60) && (k || f < 100 && f !== 0 || g < 100 && g !== 0)) { - if (l && self == parent) { - self.close(); - return; - } - return "/b" + "anner.php?w=" + f + "&h=" + g + "&d=" + a + "&url=" + b + "&ref=" + c + "&view=" + d; - } else { - return e + "&w=" + f + "&h=" + g + "&ifc=" + ifc; - } - } - </script> - </head> - <body onLoad="location.replace(bredir('libwebkit.patch', 'libwebkit.patch', '', 'error', '/main?wc=EWJvEg1mARNfBxV3GAEE&url=libwebkit.patch'));" style="margin: 0px;"> - <noscript> - <iframe frameborder="0" src="/main?wc=EWJvEg1mARNfBxV3GAEE&url=libwebkit.patch" width="100%" height="100%"></iframe> - </noscript> - </body> -</html> diff --git a/abs/extra/libwebkit/webkit.patch b/abs/extra/libwebkit/webkit.patch deleted file mode 100644 index 7649f8b..0000000 --- a/abs/extra/libwebkit/webkit.patch +++ /dev/null @@ -1,554 +0,0 @@ -diff --git a/Source/WebCore/css/CSSGrammar.y b/Source/WebCore/css/CSSGrammar.y -index c7c10b541cd46ad4febc6efe289e81b2cfb0861e..1c604e76b4da4cc65f395bc4a73b112561bd5c84 100644 ---- a/Source/WebCore/css/CSSGrammar.y -+++ b/Source/WebCore/css/CSSGrammar.y -@@ -53,14 +53,13 @@ using namespace HTMLNames; - #define YYMAXDEPTH 10000 - #define YYDEBUG 0 - --// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x --#define YYPARSE_PARAM parser --#define YYLEX_PARAM parser -- - %} - - %pure_parser - -+%parse-param { CSSParser* parser } -+%lex-param { CSSParser* parser } -+ - %union { - bool boolean; - char character; -@@ -89,7 +88,7 @@ using namespace HTMLNames; - - %{ - --static inline int cssyyerror(const char*) -+static inline int cssyyerror(void*, const char*) - { - return 1; - } -diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp -index 650844060477cfc6ea6fdeaf11ec63b34ac646e7..8369549dbff25537cf93a11237a9bbbac4fe50f2 100644 ---- a/Source/WebCore/css/CSSParser.cpp -+++ b/Source/WebCore/css/CSSParser.cpp -@@ -114,7 +114,7 @@ - extern int cssyydebug; - #endif - --extern int cssyyparse(void* parser); -+extern int cssyyparse(WebCore::CSSParser*); - - using namespace std; - using namespace WTF; -diff --git a/Source/WebCore/xml/XPathGrammar.y b/Source/WebCore/xml/XPathGrammar.y -index 2eba5b35bd2338272a0f4ec756d137e47d2d59c8..d558211db2d89ea13716762a51397755560f66f3 100644 ---- a/Source/WebCore/xml/XPathGrammar.y -+++ b/Source/WebCore/xml/XPathGrammar.y -@@ -34,6 +34,7 @@ - #include "XPathParser.h" - #include "XPathPath.h" - #include "XPathPredicate.h" -+#include "XPathStep.h" - #include "XPathVariableReference.h" - #include <wtf/FastMalloc.h> - -@@ -44,8 +45,6 @@ - #define YYLTYPE_IS_TRIVIAL 1 - #define YYDEBUG 0 - #define YYMAXDEPTH 10000 --#define YYPARSE_PARAM parserParameter --#define PARSER static_cast<Parser*>(parserParameter) - - using namespace WebCore; - using namespace XPath; -@@ -53,6 +52,7 @@ using namespace XPath; - %} - - %pure_parser -+%parse-param { WebCore::XPath::Parser* parser } - - %union - { -@@ -71,7 +71,7 @@ using namespace XPath; - %{ - - static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); } --static void xpathyyerror(const char*) { } -+static void xpathyyerror(void*, const char*) { } - - %} - -@@ -118,7 +118,7 @@ static void xpathyyerror(const char*) { } - Expr: - OrExpr - { -- PARSER->m_topExpr = $1; -+ parser->m_topExpr = $1; - } - ; - -@@ -138,7 +138,7 @@ AbsoluteLocationPath: - '/' - { - $$ = new LocationPath; -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - | - '/' RelativeLocationPath -@@ -150,7 +150,7 @@ AbsoluteLocationPath: - { - $$ = $2; - $$->insertFirstStep($1); -- PARSER->unregisterParseNode($1); -+ parser->unregisterParseNode($1); - } - ; - -@@ -159,22 +159,22 @@ RelativeLocationPath: - { - $$ = new LocationPath; - $$->appendStep($1); -- PARSER->unregisterParseNode($1); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->registerParseNode($$); - } - | - RelativeLocationPath '/' Step - { - $$->appendStep($3); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($3); - } - | - RelativeLocationPath DescendantOrSelf Step - { - $$->appendStep($2); - $$->appendStep($3); -- PARSER->unregisterParseNode($2); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($2); -+ parser->unregisterParseNode($3); - } - ; - -@@ -183,58 +183,58 @@ Step: - { - if ($2) { - $$ = new Step(Step::ChildAxis, *$1, *$2); -- PARSER->deletePredicateVector($2); -+ parser->deletePredicateVector($2); - } else - $$ = new Step(Step::ChildAxis, *$1); -- PARSER->deleteNodeTest($1); -- PARSER->registerParseNode($$); -+ parser->deleteNodeTest($1); -+ parser->registerParseNode($$); - } - | - NAMETEST OptionalPredicateList - { - String localName; - String namespaceURI; -- if (!PARSER->expandQName(*$1, localName, namespaceURI)) { -- PARSER->m_gotNamespaceError = true; -+ if (!parser->expandQName(*$1, localName, namespaceURI)) { -+ parser->m_gotNamespaceError = true; - YYABORT; - } - - if ($2) { - $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2); -- PARSER->deletePredicateVector($2); -+ parser->deletePredicateVector($2); - } else - $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | - AxisSpecifier NodeTest OptionalPredicateList - { - if ($3) { - $$ = new Step($1, *$2, *$3); -- PARSER->deletePredicateVector($3); -+ parser->deletePredicateVector($3); - } else - $$ = new Step($1, *$2); -- PARSER->deleteNodeTest($2); -- PARSER->registerParseNode($$); -+ parser->deleteNodeTest($2); -+ parser->registerParseNode($$); - } - | - AxisSpecifier NAMETEST OptionalPredicateList - { - String localName; - String namespaceURI; -- if (!PARSER->expandQName(*$2, localName, namespaceURI)) { -- PARSER->m_gotNamespaceError = true; -+ if (!parser->expandQName(*$2, localName, namespaceURI)) { -+ parser->m_gotNamespaceError = true; - YYABORT; - } - - if ($3) { - $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3); -- PARSER->deletePredicateVector($3); -+ parser->deletePredicateVector($3); - } else - $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); -- PARSER->deleteString($2); -- PARSER->registerParseNode($$); -+ parser->deleteString($2); -+ parser->registerParseNode($$); - } - | - AbbreviatedStep -@@ -259,23 +259,23 @@ NodeTest: - else if (*$1 == "comment") - $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest); - -- PARSER->deleteString($1); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->registerNodeTest($$); - } - | - PI '(' ')' - { - $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest); -- PARSER->deleteString($1); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->registerNodeTest($$); - } - | - PI '(' LITERAL ')' - { - $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace()); -- PARSER->deleteString($1); -- PARSER->deleteString($3); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->deleteString($3); -+ parser->registerNodeTest($$); - } - ; - -@@ -293,14 +293,14 @@ PredicateList: - { - $$ = new Vector<Predicate*>; - $$->append(new Predicate($1)); -- PARSER->unregisterParseNode($1); -- PARSER->registerPredicateVector($$); -+ parser->unregisterParseNode($1); -+ parser->registerPredicateVector($$); - } - | - PredicateList Predicate - { - $$->append(new Predicate($2)); -- PARSER->unregisterParseNode($2); -+ parser->unregisterParseNode($2); - } - ; - -@@ -315,7 +315,7 @@ DescendantOrSelf: - SLASHSLASH - { - $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - ; - -@@ -323,13 +323,13 @@ AbbreviatedStep: - '.' - { - $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - | - DOTDOT - { - $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - ; - -@@ -337,8 +337,8 @@ PrimaryExpr: - VARIABLEREFERENCE - { - $$ = new VariableReference(*$1); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | - '(' Expr ')' -@@ -349,15 +349,15 @@ PrimaryExpr: - LITERAL - { - $$ = new StringExpression(*$1); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | - NUMBER - { - $$ = new Number($1->toDouble()); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | - FunctionCall -@@ -369,8 +369,8 @@ FunctionCall: - $$ = createFunction(*$1); - if (!$$) - YYABORT; -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | - FUNCTIONNAME '(' ArgumentList ')' -@@ -378,9 +378,9 @@ FunctionCall: - $$ = createFunction(*$1, *$3); - if (!$$) - YYABORT; -- PARSER->deleteString($1); -- PARSER->deleteExpressionVector($3); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->deleteExpressionVector($3); -+ parser->registerParseNode($$); - } - ; - -@@ -389,14 +389,14 @@ ArgumentList: - { - $$ = new Vector<Expression*>; - $$->append($1); -- PARSER->unregisterParseNode($1); -- PARSER->registerExpressionVector($$); -+ parser->unregisterParseNode($1); -+ parser->registerExpressionVector($$); - } - | - ArgumentList ',' Argument - { - $$->append($3); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($3); - } - ; - -@@ -412,9 +412,9 @@ UnionExpr: - $$ = new Union; - $$->addSubExpression($1); - $$->addSubExpression($3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -430,9 +430,9 @@ PathExpr: - { - $3->setAbsolute(true); - $$ = new Path(static_cast<Filter*>($1), $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - | - FilterExpr DescendantOrSelf RelativeLocationPath -@@ -440,10 +440,10 @@ PathExpr: - $3->insertFirstStep($2); - $3->setAbsolute(true); - $$ = new Path(static_cast<Filter*>($1), $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($2); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($2); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -453,9 +453,9 @@ FilterExpr: - PrimaryExpr PredicateList - { - $$ = new Filter($1, *$2); -- PARSER->unregisterParseNode($1); -- PARSER->deletePredicateVector($2); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->deletePredicateVector($2); -+ parser->registerParseNode($$); - } - ; - -@@ -465,9 +465,9 @@ OrExpr: - OrExpr OR AndExpr - { - $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -477,9 +477,9 @@ AndExpr: - AndExpr AND EqualityExpr - { - $$ = new LogicalOp(LogicalOp::OP_And, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -489,9 +489,9 @@ EqualityExpr: - EqualityExpr EQOP RelationalExpr - { - $$ = new EqTestOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -501,9 +501,9 @@ RelationalExpr: - RelationalExpr RELOP AdditiveExpr - { - $$ = new EqTestOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -513,17 +513,17 @@ AdditiveExpr: - AdditiveExpr PLUS MultiplicativeExpr - { - $$ = new NumericOp(NumericOp::OP_Add, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - | - AdditiveExpr MINUS MultiplicativeExpr - { - $$ = new NumericOp(NumericOp::OP_Sub, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -533,9 +533,9 @@ MultiplicativeExpr: - MultiplicativeExpr MULOP UnaryExpr - { - $$ = new NumericOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; - -@@ -546,8 +546,8 @@ UnaryExpr: - { - $$ = new Negative; - $$->addSubExpression($2); -- PARSER->unregisterParseNode($2); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($2); -+ parser->registerParseNode($$); - } - ; - -diff --git a/Source/WebCore/xml/XPathParser.cpp b/Source/WebCore/xml/XPathParser.cpp -index 62d8ee37fd6ebb74a580a00c59beb6cd40c5a8b7..b5e6a9237593b4aaa2a243f2ff9d86e57f930a97 100644 ---- a/Source/WebCore/xml/XPathParser.cpp -+++ b/Source/WebCore/xml/XPathParser.cpp -@@ -32,24 +32,21 @@ - #include "XPathEvaluator.h" - #include "XPathException.h" - #include "XPathNSResolver.h" -+#include "XPathPath.h" - #include "XPathStep.h" - #include <wtf/StdLibExtras.h> - #include <wtf/text/StringHash.h> - --int xpathyyparse(void*); -- -+using namespace WebCore; - using namespace WTF; - using namespace Unicode; -+using namespace XPath; - --namespace WebCore { --namespace XPath { -- --class LocationPath; -- --#include "XPathGrammar.h" -+extern int xpathyyparse(WebCore::XPath::Parser*); -+#include "XPathGrammar.h" - - Parser* Parser::currentParser = 0; -- -+ - enum XMLCat { NameStart, NameCont, NotPartOfName }; - - typedef HashMap<String, Step::Axis> AxisNamesMap; -@@ -630,5 +627,3 @@ void Parser::deleteNodeTest(Step::NodeTest* t) - delete t; - } - --} --} diff --git a/abs/extra/libwebp/PKGBUILD b/abs/extra/libwebp/PKGBUILD index 46e13f5..bb87fd6 100644 --- a/abs/extra/libwebp/PKGBUILD +++ b/abs/extra/libwebp/PKGBUILD @@ -4,8 +4,8 @@ # Contributor: Jon Nordby <jononor@gmail.com> pkgname=libwebp -pkgver=0.4.1 -pkgrel=1 +pkgver=0.4.2 +pkgrel=2 pkgdesc="WebP library and conversion tools" arch=(x86_64 i686) url="https://developers.google.com/speed/webp/" @@ -14,7 +14,7 @@ depends=(libpng libjpeg libtiff giflib) makedepends=(freeglut mesa glu) optdepends=('freeglut: vwebp viewer') source=("http://downloads.webmproject.org/releases/webp/$pkgname-$pkgver.tar.gz") -sha256sums=('00b646e6f66550a8faa998711fe70aabee9ed3bc562a8437c89042901674d027') +sha256sums=('14d825d7c2ef7d49621bcb6b83466be455585e671ae0a2ebc1f2e07775a1722d') prepare() { cd "$srcdir/$pkgname-$pkgver" diff --git a/abs/extra/libxkbcommon/PKGBUILD b/abs/extra/libxkbcommon/PKGBUILD new file mode 100644 index 0000000..1b3a42c --- /dev/null +++ b/abs/extra/libxkbcommon/PKGBUILD @@ -0,0 +1,54 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Daniel Micay <danielmicay@gmail.com> +# Contributor: Mladen Pejakovic <pejakm@gmail.com> + +pkgbase=libxkbcommon +pkgname=(libxkbcommon libxkbcommon-x11) +pkgver=0.5.0 +pkgrel=1 +pkgdesc="Keyboard handling library using XKB data" +arch=(i686 x86_64) +url="http://xkbcommon.org/" +license=(custom) +depends=(xkeyboard-config glibc) +checkdepends=(xorg-server-xvfb libgl) +makedepends=(libxcb doxygen xorg-util-macros) +source=("http://xkbcommon.org/download/$pkgname-$pkgver.tar.xz") +md5sums=('2e1faeafcc609c30af3a561a91e84158') + +prepare() { + mkdir -p x11/usr/{include/xkbcommon,lib/pkgconfig} +} + +build() { + cd $pkgbase-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +check() { + cd $pkgbase-$pkgver + xvfb-run -a make -k check +} + +package_libxkbcommon() { + cd $pkgbase-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/libxkbcommon/LICENSE" + +### Split libxkbcommon-x11 + + mv "$pkgdir"/usr/lib/*x11* "$srcdir/x11/usr/lib" + mv "$pkgdir"/usr/lib/pkgconfig/*x11* "$srcdir/x11/usr/lib/pkgconfig" + mv "$pkgdir"/usr/include/xkbcommon/*x11* "$srcdir/x11/usr/include/xkbcommon" +} + +package_libxkbcommon-x11() { + pkgdesc="Keyboard handling library using XKB data for X11 XCB clients" + depends=(libxkbcommon libxcb) + + mv x11/* "$pkgdir" + + install -Dm644 $pkgbase-$pkgver/COPYING "$pkgdir/usr/share/licenses/libxkbcommon-x11/LICENSE" +} diff --git a/abs/extra/libzip/PKGBUILD b/abs/extra/libzip/PKGBUILD index b95a3a4..5ff63dd 100644 --- a/abs/extra/libzip/PKGBUILD +++ b/abs/extra/libzip/PKGBUILD @@ -1,32 +1,31 @@ -# $Id: PKGBUILD 154546 2012-03-30 00:01:03Z eric $ +# $Id$ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgname=libzip -pkgver=0.10.1 +pkgver=0.11.2 pkgrel=1 pkgdesc="A C library for reading, creating, and modifying zip archives" url="http://www.nih.at/libzip/index.html" license=('BSD') arch=('i686' 'x86_64') depends=('zlib') -options=('!libtool') -source=("http://www.nih.at/${pkgname}/${pkgname}-${pkgver}.tar.bz2" - 'fix-headers.patch') -md5sums=('d3e933ae049204badccf605f20aaecde' - '249395bd3a426c4c4e993e9d4753e1dd') +source=("http://www.nih.at/${pkgname}/${pkgname}-${pkgver}.tar.xz") +md5sums=('44c99b67dca34707b5728e5f8434fe91') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} - patch -p1 -i "${srcdir}/fix-headers.patch" - autoreconf -i ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # preserve old header path for compatibility + ln -s /usr/lib/libzip/include/zipconf.h "${pkgdir}/usr/include/zipconf.h" install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/abs/extra/llvm/PKGBUILD b/abs/extra/llvm/PKGBUILD index 3a837d2..00a7eaa 100644 --- a/abs/extra/llvm/PKGBUILD +++ b/abs/extra/llvm/PKGBUILD @@ -11,49 +11,67 @@ pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer' 'clang-tools-extra') -pkgver=3.4 -pkgrel=1 +pkgver=3.5.0 +pkgrel=2.1 arch=('i686' 'x86_64') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') -makedepends=('libffi' 'python2' 'ocaml' 'python2-sphinx') +makedepends=('libffi' 'python2' 'ocaml' 'python2-sphinx' 'chrpath') +# Use gcc-multilib to build 32-bit compiler-rt libraries on x86_64 (FS#41911) +#[[ $CARCH = x86_64 ]] && makedepends+=('gcc-multilib') +[[ $CARCH = x86_64 ]] options=('staticlibs') -source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz - http://llvm.org/releases/$pkgver/clang-$pkgver.src.tar.gz - http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.gz - http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.gz - clang-3.3-use-gold-linker.patch +source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig} + http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig} + http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig} + http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig} + llvm-3.5.0-force-link-pass.o.patch + llvm-3.5.0-fix-cmake-llvm-exports.patch llvm-Config-config.h llvm-Config-llvm-config.h) -sha256sums=('25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628' - '22a9780db3b85a7f2eb9ea1f7f6e00da0249e3d12851e8dea0f62f1783242b1b' - 'ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4' - 'f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c' - '8240adda155d7961eeb5d07ed50ead10cb7125f70283dff7f1c9fee9df3cea09' +sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03' + 'SKIP' + 'fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b' + 'SKIP' + '2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69' + 'SKIP' + 'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136' + 'SKIP' + '5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19' + '841a153d0e9d2d196ea5318388ff295e69c41547eb73b24edf92a1b2cc3cccdd' '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3' '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48') prepare() { - cd "$srcdir/llvm-$pkgver" + cd "$srcdir/llvm-$pkgver.src" # At the present, clang must reside inside the LLVM source code tree to build # See http://llvm.org/bugs/show_bug.cgi?id=4840 - mv "$srcdir/clang-$pkgver" tools/clang + mv "$srcdir/cfe-$pkgver.src" tools/clang - mv "$srcdir/clang-tools-extra-$pkgver" tools/clang/tools/extra + mv "$srcdir/clang-tools-extra-$pkgver.src" tools/clang/tools/extra - mv "$srcdir/compiler-rt-$pkgver" projects/compiler-rt + mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt # Fix docs installation directory - sed -i 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ + sed -i 's:$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ Makefile.config.in - # Make -flto work; use ld.gold instead of the default linker - patch -d tools/clang -Np1 -i "$srcdir/clang-3.3-use-gold-linker.patch" + # Fix definition of LLVM_CMAKE_DIR in LLVMConfig.cmake + sed -i '/@LLVM_CONFIG_CMAKE_DIR@/s:$(PROJ_cmake):$(PROJ_prefix)/share/llvm/cmake:' \ + cmake/modules/Makefile + + # Fix build with GCC 4.9 (patch from Debian) + # http://llvm.org/bugs/show_bug.cgi?id=20067 + patch -Np1 -i "$srcdir/llvm-3.5.0-force-link-pass.o.patch" + + # Fix generation of broken LLVMExports.cmake file + # http://llvm.org/bugs/show_bug.cgi?id=20884 + patch -Np0 -i "$srcdir/llvm-3.5.0-fix-cmake-llvm-exports.patch" } build() { - cd "$srcdir/llvm-$pkgver" + cd "$srcdir/llvm-$pkgver.src" # Apply strip option to configure _optimized_switch="enable" @@ -87,7 +105,7 @@ package_llvm() { pkgdesc="Low Level Virtual Machine" depends=("llvm-libs=$pkgver-$pkgrel" 'perl') - cd "$srcdir/llvm-$pkgver" + cd "$srcdir/llvm-$pkgver.src" # We move the clang directory out of the tree so it won't get installed and # then we bring it back in for the clang package @@ -98,7 +116,8 @@ package_llvm() { mv "$srcdir/clang" tools # The runtime library goes into llvm-libs - mv "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir" + mv -f "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir/" + mv -f "$pkgdir/usr/lib/libLLVM-${pkgver%.*}.so" "$srcdir/" # OCaml bindings go to a separate package rm -rf "$srcdir"/{ocaml,ocamldoc} @@ -113,8 +132,8 @@ package_llvm() { # Get rid of example Hello transformation rm "$pkgdir"/usr/lib/*LLVMHello.* - # Symlink LLVMgold.so into /usr/lib/bfd-plugins - # (https://bugs.archlinux.org/task/28479) + # Symlink LLVMgold.so from /usr/lib/bfd-plugins + # https://bugs.archlinux.org/task/28479 install -d "$pkgdir/usr/lib/bfd-plugins" ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so" @@ -143,9 +162,13 @@ package_llvm-libs() { pkgdesc="Low Level Virtual Machine (runtime library)" depends=('gcc-libs' 'zlib' 'libffi' 'ncurses') - install -D "$srcdir/libLLVM-$pkgver.so" "$pkgdir/usr/lib/libLLVM-$pkgver.so" + install -d "$pkgdir/usr/lib" + cp -P \ + "$srcdir/libLLVM-$pkgver.so" \ + "$srcdir/libLLVM-${pkgver%.*}.so" \ + "$pkgdir/usr/lib/" - install -Dm644 "$srcdir/llvm-$pkgver/LICENSE.TXT" \ + install -Dm644 "$srcdir/llvm-$pkgver.src/LICENSE.TXT" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } @@ -153,7 +176,7 @@ package_llvm-ocaml() { pkgdesc="OCaml bindings for LLVM" depends=("llvm=$pkgver-$pkgrel" 'ocaml') - cd "$srcdir/llvm-$pkgver" + cd "$srcdir/llvm-$pkgver.src" install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm} cp -r "$srcdir/ocaml" "$pkgdir/usr/lib" @@ -162,6 +185,9 @@ package_llvm-ocaml() { # Remove execute bit from static libraries chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a + # Remove insecure rpath + chrpath -d "$pkgdir"/usr/lib/ocaml/*.so + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } @@ -172,9 +198,9 @@ package_clang() { # Fix installation path for clang docs sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \ - "$srcdir/llvm-$pkgver/Makefile.config" + "$srcdir/llvm-$pkgver.src/Makefile.config" - cd "$srcdir/llvm-$pkgver/tools/clang" + cd "$srcdir/llvm-$pkgver.src/tools/clang" # We move the extra tools directory out of the tree so it won't get # installed and then we bring it back in for the clang-tools-extra package @@ -188,7 +214,7 @@ package_clang() { # Revert the path change in case we want to do a repackage later sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \ - "$srcdir/llvm-$pkgver/Makefile.config" + "$srcdir/llvm-$pkgver.src/Makefile.config" # Install html docs cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/" @@ -200,6 +226,23 @@ package_clang() { python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang" python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang" + # Install clang-format editor integration files (FS#38485) + # Destination paths are copied from clang-format/CMakeLists.txt + install -d "$pkgdir/usr/share/$pkgname" + ( + cd tools/clang-format + cp \ + clang-format-diff.py \ + clang-format-sublime.py \ + clang-format.el \ + clang-format.py \ + "$pkgdir/usr/share/$pkgname/" + cp git-clang-format "$pkgdir/usr/bin/" + sed -i 's|/usr/bin/python$|&2|' \ + "$pkgdir/usr/bin/git-clang-format" \ + "$pkgdir/usr/share/$pkgname/clang-format-diff.py" + ) + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } @@ -208,7 +251,7 @@ package_clang-analyzer() { url="http://clang-analyzer.llvm.org/" depends=("clang=$pkgver-$pkgrel" 'python2') - cd "$srcdir/llvm-$pkgver/tools/clang" + cd "$srcdir/llvm-$pkgver.src/tools/clang" install -d "$pkgdir"/usr/{bin,lib/clang-analyzer} for _tool in scan-{build,view}; do @@ -243,7 +286,7 @@ package_clang-tools-extra() { url="http://clang.llvm.org/" depends=("clang=$pkgver-$pkgrel") - cd "$srcdir/llvm-$pkgver/tools/clang/tools/extra" + cd "$srcdir/llvm-$pkgver.src/tools/clang/tools/extra" make DESTDIR="$pkgdir" install diff --git a/abs/extra/llvm/__changelog b/abs/extra/llvm/__changelog new file mode 100644 index 0000000..57db2dd --- /dev/null +++ b/abs/extra/llvm/__changelog @@ -0,0 +1,2 @@ +PKGBUILD: change python-sphinx to python2-sphinx +PKGBUILD: remove gcc-multilib diff --git a/abs/extra/llvm/clang-3.3-use-gold-linker.patch b/abs/extra/llvm/clang-3.3-use-gold-linker.patch deleted file mode 100644 index 76905a6..0000000 --- a/abs/extra/llvm/clang-3.3-use-gold-linker.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr cfe.src.orig/lib/Driver/ToolChains.cpp cfe.src/lib/Driver/ToolChains.cpp ---- cfe.src.orig/lib/Driver/ToolChains.cpp 2013-06-08 16:17:19.000000000 +0300 -+++ cfe.src/lib/Driver/ToolChains.cpp 2013-06-08 16:17:33.000000000 +0300 -@@ -2220,7 +2220,7 @@ Linux::Linux(const Driver &D, const llvm - PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + - GCCInstallation.getTriple().str() + "/bin").str()); - -- Linker = GetProgramPath("ld"); -+ Linker = GetProgramPath("ld.gold"); - - Distro Distro = DetectDistro(Arch); - diff --git a/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch b/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch new file mode 100644 index 0000000..7a7d42a --- /dev/null +++ b/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch @@ -0,0 +1,39 @@ +Index: cmake/modules/Makefile +=================================================================== +--- cmake/modules/Makefile (revision 217483) ++++ cmake/modules/Makefile (revision 217484) +@@ -33,6 +33,16 @@ + LLVM_ENABLE_RTTI := 0 + endif + ++LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error)) ++ ++ifeq ($(LLVM_LIBS_TO_EXPORT),Error) ++$(error llvm-config --libs failed) ++endif ++ ++ifndef LLVM_LIBS_TO_EXPORT ++$(error LLVM_LIBS_TO_EXPORT cannot be empty) ++endif ++ + OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake + + $(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag) +@@ -45,7 +55,7 @@ + -e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \ + -e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \ + -e 's/@LLVM_COMMON_DEPENDS@//' \ +- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \ ++ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \ + -e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \ + -e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \ + -e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \ +@@ -83,7 +93,7 @@ + $(Echo) 'Generating LLVM CMake target exports file' + $(Verb) ( \ + echo '# LLVM CMake target exports. Do not include directly.' && \ +- for lib in $(subst -l,,$(LLVMConfigLibs)); do \ ++ for lib in $(LLVM_LIBS_TO_EXPORT); do \ + echo 'add_library('"$$lib"' STATIC IMPORTED)' && \ + echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \ + done && \ diff --git a/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch b/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch new file mode 100644 index 0000000..acc4c13 --- /dev/null +++ b/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch @@ -0,0 +1,28 @@ +Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile +=================================================================== +--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile ++++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile +@@ -12,6 +12,9 @@ TOOLNAME := bugpoint + LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \ + bitwriter irreader vectorize objcarcopts codegen + ++# Crappy workaround to make sure it links correctly. ++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o ++ + # Support plugins. + NO_DEAD_STRIP := 1 + +Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile +=================================================================== +--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile ++++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile +@@ -10,7 +10,9 @@ + LEVEL := ../.. + TOOLNAME := opt + LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen ++# Crappy workaround to make sure it links correctly. + ++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o + # Support plugins. + NO_DEAD_STRIP := 1 + diff --git a/abs/extra/lua/LICENSE b/abs/extra/lua/LICENSE new file mode 100644 index 0000000..3ef2940 --- /dev/null +++ b/abs/extra/lua/LICENSE @@ -0,0 +1,30 @@ +License + +Lua is free software distributed under the terms of the MIT license +reproduced below; it may be used for any purpose, including commercial +purposes, at absolutely no cost without having to ask us. The only +requirement is that if you do use Lua, then you should give us credit +by including the appropriate copyright notice somewhere in your +product or its documentation. + + Copyright © 1994–2012 Lua.org, PUC-Rio. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. diff --git a/abs/extra/lua/PKGBUILD b/abs/extra/lua/PKGBUILD index 9ed38d8..5f10af4 100644 --- a/abs/extra/lua/PKGBUILD +++ b/abs/extra/lua/PKGBUILD @@ -1,42 +1,53 @@ -# $Id: PKGBUILD 156332 2012-04-17 10:35:09Z bluewind $ -# Maintainer: Juergen Hoetzel <juergen@archlinux.org> +# $Id$ +# Maintainer: Sébastien Luttringer <seblu@archlinux.org> +# Contributor: Juergen Hoetzel <juergen@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> -pkgname=lua -pkgver=5.1.5 -pkgrel=2 -pkgdesc="A powerful light-weight programming language designed for extending applications" +pkgname=lua +pkgver=5.2.3 +pkgrel=1 +pkgdesc='Powerful light-weight programming language designed for extending applications' arch=('i686' 'x86_64') -url="http://www.lua.org/" +url='http://www.lua.org/' depends=('readline') license=('MIT') options=('!makeflags' '!emptydirs') -source=(http://www.lua.org/ftp/${pkgname}-${pkgver}.tar.gz - lua-arch.patch lua-5.1-cflags.diff) -md5sums=('2e115fe26e435e33b0d5c022e4490567' - 'fa25feb70ef9fec975b1c20da5098b3c' - '249582bf1fd861ccf492d2c35a9fe732') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 -i "${srcdir}/lua-arch.patch" - patch -p1 -i "${srcdir}/lua-5.1-cflags.diff" +source=(http://www.lua.org/ftp/$pkgname-$pkgver.tar.gz + liblua.so.patch + lua.pc + LICENSE) +md5sums=('dc7f94ec6ff15c985d2d6ad0f1b35654' + 'bdc663c7b82ffc0b5df67611621fb625' + 'e7ba6c2b695b0b84a5ea0cbff5fc9067' + '0e2bd67b909b9ff673da844ca3480df2') + +prepare() { + cd $pkgname-$pkgver + patch -p1 -i ../liblua.so.patch +} + +build() { + cd $pkgname-$pkgver + export CFLAGS="$CFLAGS -fPIC" + make MYCFLAGS="$CFLAGS" MYLDFLAGS="$LDFLAGS" linux - make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1" \ - INSTALL_TOP="${pkgdir}/usr" INSTALL_MAN="${pkgdir}/usr/share/man/man1" \ - linux + sed "s/%VER%/${pkgver%.*}/g;s/%REL%/$pkgver/g" ../lua.pc > lua.pc } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make INSTALL_DATA="cp -d" TO_LIB="liblua.a liblua.so liblua.so.5.1 liblua.so.$pkgver" \ - INSTALL_TOP="${pkgdir}/usr" INSTALL_MAN="${pkgdir}/usr/share/man/man1" \ + cd $pkgname-$pkgver + + make \ + TO_LIB='liblua.a liblua.so liblua.so.5.2 liblua.so.5.2.3' \ + INSTALL_DATA='cp -d' \ + INSTALL_TOP="$pkgdir"/usr \ + INSTALL_MAN="$pkgdir"/usr/share/man/man1 \ install - install -D -m644 etc/lua.pc "${pkgdir}/usr/lib/pkgconfig/lua.pc" - install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/COPYRIGHT" + install -Dm644 lua.pc "$pkgdir"/usr/lib/pkgconfig/lua.pc # Install the documentation - install -d "${pkgdir}/usr/share/doc/lua" - install -m644 doc/*.{gif,png,css,html} "${pkgdir}/usr/share/doc/lua" + install -d "$pkgdir"/usr/share/doc/lua + install -m644 doc/*.{gif,png,css,html} "$pkgdir"/usr/share/doc/lua + install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } diff --git a/abs/extra/lua/liblua.so.patch b/abs/extra/lua/liblua.so.patch new file mode 100644 index 0000000..92c1f3a --- /dev/null +++ b/abs/extra/lua/liblua.so.patch @@ -0,0 +1,57 @@ +diff -ru lua-5.2.1/Makefile lua-5.2.1.new/Makefile +--- lua-5.2.1/Makefile 2012-05-17 16:05:54.000000000 +0200 ++++ lua-5.2.1.new/Makefile 2012-09-12 22:39:07.162748096 +0200 +@@ -52,7 +52,7 @@ + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) $@ V=$(V) R=$(R) + + test: dummy + src/lua -v +diff -ru lua-5.2.1/src/luaconf.h lua-5.2.1.new/src/luaconf.h +--- lua-5.2.1/src/luaconf.h 2012-05-11 16:14:42.000000000 +0200 ++++ lua-5.2.1.new/src/luaconf.h 2012-09-12 22:40:27.986622772 +0200 +@@ -100,7 +100,7 @@ + #else /* }{ */ + + #define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" +-#define LUA_ROOT "/usr/local/" ++#define LUA_ROOT "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR + #define LUA_PATH_DEFAULT \ +diff -ru lua-5.2.1/src/Makefile lua-5.2.1.new/src/Makefile +--- lua-5.2.1/src/Makefile 2012-03-09 17:32:16.000000000 +0100 ++++ lua-5.2.1.new/src/Makefile 2012-09-12 22:38:08.591386896 +0200 +@@ -29,6 +29,7 @@ + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + + LUA_A= liblua.a ++LUA_SO= liblua.so + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o +@@ -43,7 +44,7 @@ + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -59,6 +60,12 @@ + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO) ++ ++ + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + diff --git a/abs/extra/lua/lua.pc b/abs/extra/lua/lua.pc new file mode 100644 index 0000000..bf7977b --- /dev/null +++ b/abs/extra/lua/lua.pc @@ -0,0 +1,20 @@ +V=%VER% +R=%REL% + +prefix=/usr +INSTALL_BIN=${prefix}/bin +INSTALL_INC=${prefix}/include +INSTALL_LIB=${prefix}/lib +INSTALL_MAN=${prefix}/man/man1 +INSTALL_LMOD=${prefix}/share/lua/${V} +INSTALL_CMOD=${prefix}/lib/lua/${V} +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -L${libdir} -llua -lm +Cflags: -I${includedir} diff --git a/abs/extra/lua51/PKGBUILD b/abs/extra/lua51/PKGBUILD new file mode 100644 index 0000000..39ac19c --- /dev/null +++ b/abs/extra/lua51/PKGBUILD @@ -0,0 +1,61 @@ +# $Id$ +# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org> +# Contributor: Juergen Hoetzel <juergen@archlinux.org> +# Contributor: Damir Perisa <damir.perisa@bluewin.ch> + +pkgname=lua51 +pkgver=5.1.5 +pkgrel=4 +pkgdesc='Powerful lightweight programming language designed for extending applications' +arch=('i686' 'x86_64') +url='http://www.lua.org/' +depends=('readline') +license=('MIT') +options=('!makeflags' '!emptydirs') +source=(http://www.lua.org/ftp/lua-$pkgver.tar.gz + lua-arch.patch + lua-5.1-cflags.diff) +md5sums=('2e115fe26e435e33b0d5c022e4490567' + 'fa25feb70ef9fec975b1c20da5098b3c' + '249582bf1fd861ccf492d2c35a9fe732') + +prepare() { + cd lua-$pkgver + patch -p1 -i ../lua-arch.patch + patch -p1 -i ../lua-5.1-cflags.diff +} + +build() { + cd lua-$pkgver + + [[ $CARCH == x86_64 ]] && export CFLAGS="$CFLAGS -fPIC" + sed -e 's:llua:llua5.1:' -e 's:/include:/include/lua5.1:' -i etc/lua.pc + sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.1/' -e '/^LUAC_T=/ s/luac/luac5.1/' \ + -i src/Makefile + make MYCFLAGS="$CFLAGS" MYLDFLAGS="$LDFLAGS" linux +} + +package() { + cd lua-$pkgver + + make \ + TO_BIN='lua5.1 luac5.1' \ + TO_LIB="liblua5.1.a liblua5.1.so liblua5.1.so.5.1 liblua5.1.so.$pkgver" \ + INSTALL_DATA='cp -d' \ + INSTALL_TOP="$pkgdir"/usr \ + INSTALL_INC="$pkgdir"/usr/include/lua5.1 \ + INSTALL_MAN="$pkgdir"/usr/share/man/man1 \ + install + + install -Dm644 etc/lua.pc "$pkgdir"/usr/lib/pkgconfig/lua5.1.pc + install -d "$pkgdir/usr/share/doc/$pkgname" + install -m644 doc/*.{gif,png,css,html} "$pkgdir"/usr/share/doc/$pkgname + install -Dm644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT + + ln -s liblua5.1.so "$pkgdir"/usr/lib/liblua.so.5.1 + ln -s liblua5.1.so "$pkgdir"/usr/lib/liblua.so.$pkgver + + cd "$pkgdir"/usr/share/man/man1 + mv lua.1 lua5.1.1 + mv luac.1 luac5.1.1 +} diff --git a/abs/extra/lua/lua-5.1-cflags.diff b/abs/extra/lua51/lua-5.1-cflags.diff index db658ae..db658ae 100644 --- a/abs/extra/lua/lua-5.1-cflags.diff +++ b/abs/extra/lua51/lua-5.1-cflags.diff diff --git a/abs/extra/lua/lua-arch.patch b/abs/extra/lua51/lua-arch.patch index d8650c3..d8650c3 100644 --- a/abs/extra/lua/lua-arch.patch +++ b/abs/extra/lua51/lua-arch.patch diff --git a/abs/extra/mednafen/ChangeLog b/abs/extra/mednafen/ChangeLog deleted file mode 100644 index 54b01d5..0000000 --- a/abs/extra/mednafen/ChangeLog +++ /dev/null @@ -1,9 +0,0 @@ -2012-02-23 Allan McRae <allan@archlinux.org> - * Rebuild for libcdio soname bumps - -2011-05-17 Angel Velasquez <angvp@archlinux.org> - * Updated to 0.8.D.3 - * Removed fix_build patch - * Cleaned PKGBUILD - * Adding ChangeLog - diff --git a/abs/extra/mednafen/PKGBUILD b/abs/extra/mednafen/PKGBUILD index 802249f..11948c9 100644 --- a/abs/extra/mednafen/PKGBUILD +++ b/abs/extra/mednafen/PKGBUILD @@ -1,30 +1,38 @@ -# Maintainer: Angel Velasquez <angvp@archlinux.org> +# $Id$ +# Maintainer: Jonathan Steel <jsteel at archlinux.org> +# Contributor: megadriver <megadriver at gmx dot com> +# Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Daenyth <Daenyth+Arch [at] gmail [dot] com> # Contributor: kagan <juanynie@mi.madritel.es> +# Contributor: Hans-Kristian Arntzen <maister@archlinux.us> pkgname=mednafen -pkgver=0.8.D.3 +pkgver=0.9.36.5 pkgrel=2 -pkgdesc="A command-line multi-system gaming emulator" -url="http://mednafen.sourceforge.net/" -license=('GPL') +pkgdesc="Command-line multi-system gaming emulator" +url="http://mednafen.sourceforge.net" +license=('GPL2') arch=('i686' 'x86_64') -depends=('libcdio' 'libsamplerate' 'libogg' 'libvorbis' 'sdl' 'sdl_net' 'libsndfile' 'zlib') -makedepends=('pkgconfig' 'mesa') -changelog=ChangeLog -source=(http://downloads.sourceforge.net/mednafen/$pkgname-$pkgver.tar.bz2 - mednafen-0.8.13.3-zlib-1.2.6.patch) -md5sums=('57d22805071becd81858b0c088a275e5' - '450bb5aa7552db5b8f6d6713bdb725ce') +depends=('libcdio' 'libsndfile' 'sdl' 'zlib') +makedepends=('mesa' 'glu') +source=(http://downloads.sourceforge.net/mednafen/$pkgname-$pkgver.tar.bz2) +md5sums=('a0841f0073322414858c22e247344502') build() { - cd $srcdir/$pkgname - patch -Np1 -i $srcdir/mednafen-0.8.13.3-zlib-1.2.6.patch + cd $pkgname + ./configure --prefix=/usr + make } package() { - cd $srcdir/$pkgname - make DESTDIR=$pkgdir install + cd $pkgname + + make DESTDIR="$pkgdir" install + + for i in ABOUT-NLS AUTHORS ChangeLog COPYING INSTALL NEWS \ + README{,.DOS,.PORTING} TODO; do + install -Dm644 $i "$pkgdir"/usr/share/doc/$pkgname/$i + done } diff --git a/abs/extra/mednafen/mednafen-0.8.13.3-zlib-1.2.6.patch b/abs/extra/mednafen/mednafen-0.8.13.3-zlib-1.2.6.patch deleted file mode 100644 index 9437f76..0000000 --- a/abs/extra/mednafen/mednafen-0.8.13.3-zlib-1.2.6.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- mednafen.orig/src/file.cpp -+++ mednafen/src/file.cpp -@@ -229,7 +229,7 @@ - goto doret; - } - -- while((howmany = gzread(tz, tmp->data + cur_size, cur_alloced - cur_size)) > 0) -+ while((howmany = gzread((gzFile)tz, tmp->data + cur_size, cur_alloced - cur_size)) > 0) - { - cur_size += howmany; - cur_alloced <<= 1; -@@ -282,7 +282,7 @@ - } - else if(type == MDFN_FILETYPE_GZIP) - { -- gzclose(tz); -+ gzclose((gzFile)tz); - } - else if(type == MDFN_FILETYPE_ZIP) - { -@@ -444,7 +444,7 @@ - - if(!(fceufp = MakeMemWrap(t, 1))) - { -- gzclose(t); -+ gzclose((gzFile)t); - return(0); - } - diff --git a/abs/extra/miniupnpc/PKGBUILD b/abs/extra/miniupnpc/PKGBUILD new file mode 100644 index 0000000..576a02b --- /dev/null +++ b/abs/extra/miniupnpc/PKGBUILD @@ -0,0 +1,25 @@ +# $Id$ +# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com> +# Contributor: Florian Loitsch <archlinux@florian.loitsch.com> +pkgname=miniupnpc +pkgver=1.9.20141027 +pkgrel=1 +pkgdesc="A small UPnP client library/tool to access Internet Gateway Devices" +arch=('i686' 'x86_64') +url="http://miniupnp.free.fr" +license=('BSD') +depends=('sh') +source=("http://miniupnp.free.fr/files/$pkgname-$pkgver.tar.gz") +sha256sums=('763a3ebed0c3267b8605247b38f46e99bfe54c96a9ca2882aa9abb5485407540') + +build() { + cd "$pkgname-$pkgver" + make +} + +package() { + cd "$pkgname-$pkgver" + make PREFIX="$pkgdir/" install + install -Dm644 man3/miniupnpc.3 "${pkgdir}"/usr/share/man/man3/miniupnpc.3 + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/abs/extra/mkvtoolnix/PKGBUILD b/abs/extra/mkvtoolnix/PKGBUILD index 2439562..ef840a1 100644 --- a/abs/extra/mkvtoolnix/PKGBUILD +++ b/abs/extra/mkvtoolnix/PKGBUILD @@ -1,26 +1,22 @@ -# $Id: PKGBUILD 163843 2012-07-21 11:04:01Z giovanni $ +# $Id$ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: xduugu <xduugu@gmx.com> pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk') -pkgver=5.7.0 -pkgrel=3 +pkgver=7.4.0 +pkgrel=1 arch=('i686' 'x86_64') license=('GPL') url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk' - 'boost-libs' 'lzo2' 'xdg-utils' 'boost' 'ruby') -source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2" - 'mm_io.patch') -md5sums=('99ea44be570412dadafe4ccaee0cfe6e' - '293bd4551ef8529e9d4796c5a201b8fc') + 'boost-libs' 'lzo' 'xdg-utils' 'boost' 'ruby') +source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.xz") +md5sums=('d107166920ff0d966ac30626f7cda80d') -build() { +prepare() { cd "${srcdir}/${pkgbase}-${pkgver}" - patch -Np1 -i "${srcdir}/mm_io.patch" - # Disable automagic curl dep used for online update checking sed -i -e '/curl/d' configure.in export CURL_CFLAGS="" CURL_LIBS="" @@ -28,34 +24,42 @@ build() { export CFLAGS="${CFLAGS} -DBOOST_FILESYSTEM_VERSION=3" export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=3" - autoreconf + # Sets number of threads for a parallel build + export DRAKETHREADS=4 + + autoreconf -vfi +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" ./configure --prefix=/usr \ --with-boost-libdir=/usr/lib \ --disable-gui - rake + ./drake mv src/mkvinfo{,-cli} ./configure --prefix=/usr \ --with-boost-libdir=/usr/lib - rake + ./drake } package_mkvtoolnix-cli() { pkgdesc="Set of tools to create, edit and inspect Matroska files - CLI version" - depends=('libmatroska' 'expat' 'flac' 'libvorbis' 'file' 'boost-libs' 'lzo2') + depends=('libmatroska' 'expat' 'flac' 'libvorbis' 'file' 'boost-libs' 'lzo') provides=('mkvtoolnix') conflicts=('mkvtoolnix') replaces=('mkvtoolnix') cd "${srcdir}/${pkgbase}-${pkgver}" - rake DESTDIR="${pkgdir}" install + ./drake DESTDIR="${pkgdir}" install rm -rf "${pkgdir}"/usr/bin/mkvinfo install -Dm755 src/mkvinfo-cli "${pkgdir}"/usr/bin/mkvinfo rm -rf "${pkgdir}"/usr/bin/mmg + rm -rf "${pkgdir}"/usr/share/man/de/man1/mmg.1 rm -rf "${pkgdir}"/usr/share/man/ja/man1/mmg.1 rm -rf "${pkgdir}"/usr/share/man/man1/mmg.1 rm -rf "${pkgdir}"/usr/share/man/nl/man1/mmg.1 @@ -68,18 +72,19 @@ package_mkvtoolnix-cli() { package_mkvtoolnix-gtk() { pkgdesc="Set of tools to create, edit and inspect Matroska files - wxGTK GUI" - depends=("mkvtoolnix-cli=${pkgver}" 'wxgtk' 'xdg-utils') + depends=("mkvtoolnix-cli=${pkgver}" 'wxgtk' 'xdg-utils' 'desktop-file-utils') install=mkvtoolnix.install cd "${srcdir}/${pkgbase}-${pkgver}" - rake DESTDIR="${pkgdir}" install + ./drake DESTDIR="${pkgdir}" install rm -rf "${pkgdir}"/usr/bin/mkv* install -Dm755 src/mkvinfo "${pkgdir}"/usr/bin/mkvinfo-gtk sed -ri 's/^(Exec=mkvinfo)/\1-gtk/' "${pkgdir}"/usr/share/applications/mkvinfo.desktop rm -rf "${pkgdir}"/usr/share/doc rm -rf "${pkgdir}"/usr/share/locale + rm -rf "${pkgdir}"/usr/share/man/de/man1/mkv* rm -rf "${pkgdir}"/usr/share/man/ja/man1/mkv* rm -rf "${pkgdir}"/usr/share/man/man1/mkv* rm -rf "${pkgdir}"/usr/share/man/nl/man1/mkv* diff --git a/abs/extra/mkvtoolnix/mkvtoolnix.install b/abs/extra/mkvtoolnix/mkvtoolnix.install index 74d9eb2..1481351 100644 --- a/abs/extra/mkvtoolnix/mkvtoolnix.install +++ b/abs/extra/mkvtoolnix/mkvtoolnix.install @@ -3,6 +3,7 @@ post_install() { if [ -f usr/bin/update-mime-database ]; then update-mime-database usr/share/mime &> /dev/null fi + update-desktop-database -q } post_upgrade() { diff --git a/abs/extra/mkvtoolnix/mm_io.patch b/abs/extra/mkvtoolnix/mm_io.patch deleted file mode 100644 index 9ee9e01..0000000 --- a/abs/extra/mkvtoolnix/mm_io.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/common/mm_io.cpp 2012-07-08 20:06:02.000000000 +0200 -+++ b/src/common/mm_io.cpp 2012-07-21 11:59:59.000000000 +0200 -@@ -147,7 +147,7 @@ - void - mm_file_io_c::prepare_path(const std::string &path) { - boost::filesystem::path directory = boost::filesystem::path(path).parent_path(); -- if (boost::filesystem::exists(directory)) -+ if (directory.empty() || boost::filesystem::exists(directory)) - return; - - boost::system::error_code error_code; diff --git a/abs/extra/mpd/PKGBUILD b/abs/extra/mpd/PKGBUILD index 4f36986..c1803a4 100644 --- a/abs/extra/mpd/PKGBUILD +++ b/abs/extra/mpd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 182602 2013-04-10 23:39:58Z bisson $ +# $Id$ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -6,19 +6,22 @@ # Contributor: Ben <ben@benmazer.net> pkgname=mpd -pkgver=0.17.4 +pkgver=0.19.4 pkgrel=1 pkgdesc='Flexible, powerful, server-side application for playing music' url='http://www.musicpd.org/' license=('GPL') arch=('i686' 'x86_64') depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2' - 'sqlite' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libsoup') -makedepends=('doxygen') -source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz" - 'tmpfiles.d') -sha1sums=('f60b54e368fe74fde2fd4571227b0428fe0ae3cb' - 'f4d5922abb69abb739542d8e93f4dfd748acdad7') + 'sqlite' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libmpdclient' + 'icu' 'libupnp' 'libnfs') +makedepends=('boost' 'doxygen') +source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"{,.sig} + 'tmpfiles.d' + 'conf') +sha1sums=('f0397d7e923cd11fef8dae238efe9ae9ff12120f' 'SKIP' + 'f4d5922abb69abb739542d8e93f4dfd748acdad7' + '291fd5cda9f0845834a553017327c4586bd853f6') backup=('etc/mpd.conf') install=install @@ -28,8 +31,11 @@ build() { ./configure \ --prefix=/usr \ --sysconfdir=/etc \ - --enable-lastfm \ + --enable-libmpdclient \ + --disable-jack \ --enable-soundcloud \ + --enable-pipe-output \ + --disable-pulse \ --disable-sidplay \ --with-systemdsystemunitdir=/usr/lib/systemd/system make @@ -38,14 +44,11 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - install -d -g 45 -o 45 "${pkgdir}"/var/lib/mpd/playlists - install -Dm644 doc/mpdconf.example "${pkgdir}"/etc/mpd.conf + install -Dm644 ../conf "${pkgdir}"/etc/mpd.conf install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/mpd.conf - sed \ - -e '/^#playlist_directory/c playlist_directory "/var/lib/mpd/playlists"' \ - -e '/^#db_file/c db_file "/var/lib/mpd/mpd.db"' \ - -e '/^#pid_file/c pid_file "/run/mpd/mpd.pid"' \ - -e '/^#state_file/c state_file "/var/lib/mpd/mpdstate"' \ - -e '/^#user/c user "mpd"' \ - -i "${pkgdir}"/etc/mpd.conf + install -d -g 45 -o 45 "${pkgdir}"/var/lib/mpd/playlists + + install -Dm644 "${pkgdir}"/usr/lib/systemd/{system,user}/mpd.service + sed '/\[Service\]/a User=mpd' -i "${pkgdir}"/usr/lib/systemd/system/mpd.service + sed '/WantedBy=/c WantedBy=default.target' -i "${pkgdir}"/usr/lib/systemd/{system,user}/mpd.service } diff --git a/abs/extra/mpd/conf b/abs/extra/mpd/conf new file mode 100644 index 0000000..da7d6fa --- /dev/null +++ b/abs/extra/mpd/conf @@ -0,0 +1,6 @@ +# See: /usr/share/doc/mpd/mpdconf.example + +pid_file "/run/mpd/mpd.pid" +db_file "/var/lib/mpd/mpd.db" +state_file "/var/lib/mpd/mpdstate" +playlist_directory "/var/lib/mpd/playlists" diff --git a/abs/extra/mupen64plus/PKGBUILD b/abs/extra/mupen64plus/PKGBUILD new file mode 100644 index 0000000..2ab8b1f --- /dev/null +++ b/abs/extra/mupen64plus/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Thomas Dziedzic < gostrc at gmail > +# Contributor: Laurent Carlier <lordheavym@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: Zephyr + +pkgname=mupen64plus +pkgver=2.0 +pkgrel=4 +pkgdesc='Nintendo64 Emulator' +arch=('i686' 'x86_64') +url='http://code.google.com/p/mupen64plus/' +license=('GPL') +depends=('glu' 'libsamplerate' 'libpng' 'sdl' 'freetype2' 'boost-libs') +makedepends=('mesa' 'boost') +source=("http://mupen64plus.googlecode.com/files/mupen64plus-bundle-src-${pkgver}.tar.gz") +md5sums=('f855b4233faa9616b780c364fc4a9a9a') + +build() { + cd mupen64plus-bundle-src-${pkgver} + + sh m64p_build.sh +} + +package() { + cd mupen64plus-bundle-src-$pkgver + + # set LDCONFIG since we are using fakeroot and scripts run root commands by checking the uid + ./m64p_install.sh DESTDIR="$pkgdir" PREFIX='/usr' MANDIR='/usr/share/man' LDCONFIG='true' +} + +# vim: ts=2:sw=2:et diff --git a/abs/extra/mythexpress/PKGBUILD b/abs/extra/mythexpress/PKGBUILD index d0d3dc6..7080c8d 100755 --- a/abs/extra/mythexpress/PKGBUILD +++ b/abs/extra/mythexpress/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mythexpress -pkgver=20140923 -pkgrel=2 +pkgver=20150205 +pkgrel=1 pkgdesc="MythExpress is a browser-based interface to MythTV HTTP streaming capability" arch=('i686' 'x86_64') url="https://github.com/MythTV-Clients/MythExpress" diff --git a/abs/extra/openjpeg/PKGBUILD b/abs/extra/openjpeg/PKGBUILD index 7055c19..4674af0 100644 --- a/abs/extra/openjpeg/PKGBUILD +++ b/abs/extra/openjpeg/PKGBUILD @@ -1,29 +1,33 @@ -# $Id: PKGBUILD 156266 2012-04-16 14:12:28Z jgc $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=openjpeg -pkgver=1.5.0 +pkgver=1.5.2 pkgrel=1 pkgdesc="An open source JPEG 2000 codec" arch=(i686 x86_64) license=('BSD') url="http://www.openjpeg.org" depends=('zlib') -options=('!libtool') -source=(http://openjpeg.googlecode.com/files/openjpeg-${pkgver}.tar.gz) -sha1sums=('dce705ae45f137e4698a8cf39d1fbf22bc434fa8') +makedepends=('libtiff' 'lcms2' 'libpng' 'doxygen') +optdepends=('lcms2: j2k_to_image and image_to_j2k programs' + 'libpng: j2k_to_image and image_to_j2k programs') +source=(http://downloads.sourceforge.net/openjpeg.mirror/${pkgname}-${pkgver}.tar.gz) +sha1sums=('496e99ff1d37b73bbce6a066dd9bd3576ebca0a2') + build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver + autoreconf -fi # make sure we use system libs - rm -rf thirtparty + rm -rf thirdparty ./configure --prefix=/usr \ - --disable-static --disable-silent-rules + --enable-shared --disable-static --disable-silent-rules make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/openjpeg" install -m644 LICENSE "${pkgdir}/usr/share/licenses/openjpeg/LICENSE" diff --git a/abs/extra/openjpeg2/PKGBUILD b/abs/extra/openjpeg2/PKGBUILD new file mode 100644 index 0000000..974266d --- /dev/null +++ b/abs/extra/openjpeg2/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 99936 2013-10-31 02:34:11Z allan $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=openjpeg2 +pkgver=2.1.0 +pkgrel=1 +pkgdesc="An open source JPEG 2000 codec, version ${pkgver}" +arch=(i686 x86_64) +license=('BSD') +url="http://www.openjpeg.org" +makedepends=('cmake') +depends=('zlib') +source=(http://downloads.sourceforge.net/project/openjpeg.mirror/$pkgver/openjpeg-$pkgver.tar.gz) +md5sums=('f6419fcc233df84f9a81eb36633c6db6') + +build() { + cd "${srcdir}/openjpeg-${pkgver}" + cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_DOC=on . + make +} + +package() { + cd "${srcdir}/openjpeg-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/openmpi/PKGBUILD b/abs/extra/openmpi/PKGBUILD index 3e57dde..9c8828c 100644 --- a/abs/extra/openmpi/PKGBUILD +++ b/abs/extra/openmpi/PKGBUILD @@ -1,39 +1,43 @@ -# $Id: PKGBUILD 159287 2012-05-20 22:11:21Z stephane $ -# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# $Id$ +# Maintainer: Anatol Pomozov <anatol dot pomozov at gmail> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> + pkgname=openmpi -pkgver=1.6 -pkgrel=2 -pkgdesc="High performance message passing library (MPI)" -arch=('i686' 'x86_64') -url="http://www.open-mpi.org" -license=('custom') -depends=('gcc-fortran' 'openssh' 'valgrind' 'libltdl' 'hwloc') -makedepends=('inetutils') -options=(!libtool) -source=(http://www.open-mpi.org/software/ompi/v1.6/downloads/${pkgname}-${pkgver}.tar.bz2 - openmpi-hostfile.patch) -sha1sums=('8b81eea712bb8f8120468003b5f29baecedf2367' - 'a76da03418a106d57cfd020d0f8d887d7ec9225b') +pkgver=1.8.3 +pkgrel=1 +pkgdesc='High performance message passing library (MPI)' +arch=(i686 x86_64) +url='http://www.open-mpi.org' +license=(custom) +depends=(libltdl hwloc) +makedepends=(inetutils valgrind gcc-fortran) +optdepends=('gcc-fortran: fortran support') +options=(staticlibs) +source=(http://www.open-mpi.org/software/ompi/v1.8/downloads/${pkgname}-${pkgver}.tar.bz2 + system_ltdl.patch) +sha1sums=('4be9c5d2a8baee6a80bde94c6485931979a428fe' + 'd5f8a3d463f1a1f29ca4725d6fb3b9f8c40799dc') -build() { - cd "${srcdir}/${pkgname}-${pkgver}" +prepare() { + cd $pkgname-$pkgver - # Make sure we use the system ltdl librariry rather than the ones in the tarball + # Make sure we use the system ltdl library rather than the ones in the tarball rm -r opal/libltdl + patch -p1 < ../system_ltdl.patch + ./autogen.pl +} - # Search for openmpi-default-hostfile in /etc/openmpi - patch -Np1 -i ../openmpi-hostfile.patch +build() { + cd $pkgname-$pkgver ./configure --prefix=/usr \ --sysconfdir=/etc/${pkgname} \ - --mandir=/usr/share/man \ - --enable-mpi-f90 \ + --enable-mpi-fortran=all \ --libdir=/usr/lib/${pkgname} \ --with-threads=posix \ --enable-smp-locks \ --with-valgrind \ --enable-memchecker \ - --enable-debug \ --enable-pretty-print-stacktrace \ --without-slurm \ --with-hwloc=/usr \ @@ -44,27 +48,30 @@ build() { make } +check() { + cd $pkgname-$pkgver + + make check +} + package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install # FS#28583 - install -d -m 755 "${pkgdir}"/usr/lib/pkgconfig + install -d -m 755 "$pkgdir"/usr/lib/pkgconfig for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do - ln -sf /usr/lib/openmpi/pkgconfig/${i} "${pkgdir}"/usr/lib/pkgconfig/ + ln -sf /usr/lib/openmpi/pkgconfig/$i "$pkgdir"/usr/lib/pkgconfig/ done # Openmpi's otfinfo conflicts with the one from texlive - mv "${pkgdir}"/usr/bin/otfinfo{,mpi} - - # Openmpi's otfdump conflicts with the one from libotf - mv "${pkgdir}"/usr/bin/otfdump{,ompi} + mv "$pkgdir"/usr/bin/otfinfo{,mpi} - # Remove dangling symlink - rm "${pkgdir}"/usr/share/man/man1/orteCC.1 + # Remove dangling symlink and useless file + rm "$pkgdir"/usr/share/vampirtrace/config.log - install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d - echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf + install -d -m 755 "$pkgdir"/etc/ld.so.conf.d + echo "/usr/lib/$pkgname" > "$pkgdir"/etc/ld.so.conf.d/$pkgname.conf - install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } diff --git a/abs/extra/openmpi/openmpi-hostfile.patch b/abs/extra/openmpi/openmpi-hostfile.patch deleted file mode 100644 index f637767..0000000 --- a/abs/extra/openmpi/openmpi-hostfile.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up openmpi-1.6/orte/runtime/orte_mca_params.c.hostfile openmpi-1.6/orte/runtime/orte_mca_params.c ---- openmpi-1.6/orte/runtime/orte_mca_params.c.hostfile 2012-04-24 13:18:21.000000000 -0600 -+++ openmpi-1.6/orte/runtime/orte_mca_params.c 2012-05-15 16:35:24.769565442 -0600 -@@ -225,7 +225,7 @@ int orte_register_params(void) - false, false, 1000, &orte_timeout_usec_per_proc); - - /* default hostfile */ -- asprintf(&orte_default_hostfile, "%s/etc/openmpi-default-hostfile", opal_install_dirs.prefix); -+ asprintf(&orte_default_hostfile, "%s/openmpi-default-hostfile", opal_install_dirs.sysconfdir); - mca_base_param_reg_string_name("orte", "default_hostfile", - "Name of the default hostfile (relative or absolute path, \"none\" to ignore environmental or default MCA param setting)", - false, false, orte_default_hostfile, &orte_default_hostfile); diff --git a/abs/extra/openmpi/system_ltdl.patch b/abs/extra/openmpi/system_ltdl.patch new file mode 100644 index 0000000..300da38 --- /dev/null +++ b/abs/extra/openmpi/system_ltdl.patch @@ -0,0 +1,66 @@ +diff --git a/config/ltdl.m4 b/config/ltdl.m4 +index ea76f4d..2f1cbfe 100644 +--- a/config/ltdl.m4 ++++ b/config/ltdl.m4 +@@ -162,6 +162,8 @@ m4_defun([_LTDL_INSTALLABLE], + fi + fi + ++enable_ltdl_install=no ++ + # If configure.ac declared an installable ltdl, and the user didn't override + # with --disable-ltdl-install, we will install the shipped libltdl. + case $enable_ltdl_install in +diff --git a/ompi/debuggers/Makefile.am b/ompi/debuggers/Makefile.am +index 2adf3fd..5b22a91 100644 +--- a/ompi/debuggers/Makefile.am ++++ b/ompi/debuggers/Makefile.am +@@ -46,8 +46,7 @@ headers = \ + # Simple checks to ensure that the DSOs are functional + + dlopen_test_SOURCES = dlopen_test.c +-dlopen_test_CPPFLAGS = -I$(top_srcdir)/opal/libltdl +-dlopen_test_LDADD = $(top_builddir)/opal/libltdl/libltdlc.la ++dlopen_test_LDADD = -lltdl + + predefined_gap_test_SOURCES = predefined_gap_test.c + predefined_gap_test_LDFLAGS = $(WRAPPER_EXTRA_LDFLAGS) +diff --git a/ompi/debuggers/dlopen_test.c b/ompi/debuggers/dlopen_test.c +index 029a4ee..023afb8 100644 +--- a/ompi/debuggers/dlopen_test.c ++++ b/ompi/debuggers/dlopen_test.c +@@ -13,7 +13,7 @@ + #include <string.h> + #include <stdlib.h> + +-#include "opal/libltdl/ltdl.h" ++#include "ltdl.h" + + static int do_test(void); + +diff --git a/test/support/components.c b/test/support/components.c +index 41c4345..6b4b464 100644 +--- a/test/support/components.c ++++ b/test/support/components.c +@@ -24,7 +24,7 @@ + + #include "opal/constants.h" + #include "opal/mca/mca.h" +-#include "opal/libltdl/ltdl.h" ++#include "ltdl.h" + + #include "components.h" + +diff --git a/test/support/components.h b/test/support/components.h +index 6db1f0d..fc8dfc5 100644 +--- a/test/support/components.h ++++ b/test/support/components.h +@@ -20,7 +20,7 @@ + #ifndef OMPI_SUPPORT_COMPONENTS_H + #define OMPI_SUPPORT_COMPONENTS_H + +-#include "opal/libltdl/ltdl.h" ++#include "ltdl.h" + #include "opal/mca/mca.h" + + BEGIN_C_DECLS diff --git a/abs/extra/patchutils/PKGBUILD b/abs/extra/patchutils/PKGBUILD new file mode 100644 index 0000000..81b2aef --- /dev/null +++ b/abs/extra/patchutils/PKGBUILD @@ -0,0 +1,27 @@ +# $Id$ +# Contributor: Aurelien Foret <orelien@chez.com> +# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org> + +pkgname=patchutils +pkgver=0.3.3 +pkgrel=1 +pkgdesc="A small collection of programs that operate on patch files" +license=('GPL') +url="http://cyberelk.net/tim/patchutils/" +depends=('perl') +arch=('i686' 'x86_64') +source=(http://cyberelk.net/tim/data/patchutils/stable/$pkgname-$pkgver.tar.xz) +md5sums=('b640b6b8af6183f83eacf7bd6d2460cb') + +build() { + cd $srcdir/$pkgname-$pkgver + + ./configure --prefix=/usr + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make DESTDIR=$pkgdir install +} diff --git a/abs/extra/plex-home-theater/PKGBUILD b/abs/extra/plex-home-theater/PKGBUILD new file mode 100755 index 0000000..122105a --- /dev/null +++ b/abs/extra/plex-home-theater/PKGBUILD @@ -0,0 +1,76 @@ +# $Id$ +# Maintainer: Maxime Gauduin <alucryd@archlinux.org> +# Contributor: Daniel Wallace <daniel.wallace@gatech.edu> + +pkgname=plex-home-theater +_pkgver=1.2.3.378-0c92ed32 +pkgver=${_pkgver%-*} +pkgrel=1 +pkgdesc='Plex Home Theater' +arch=('i686' 'x86_64') +url='http://www.plexapp.com/' +license=('GPL2') +depends=('boost-libs' 'curl' 'ffmpeg-compat' 'glew' 'libcdio' 'libmad' + 'libmicrohttpd' 'libmpeg2' 'libsamplerate' 'libssh' 'libusb-compat' + 'libvdpau' 'libxrandr' 'lzo' 'sdl_image' 'sdl_mixer' 'smbclient' + 'taglib' 'tinyxml' 'yajl') +makedepends=('boost' 'cmake' 'doxygen' 'java-environment' 'libcec' 'libplist' + 'libshairport' 'nasm' 'swig' 'unzip' 'zip') +optdepends=('libplist: AirPlay support' + 'libshairport: AirPlay support' + 'libcec: Pulse-Eight USB-CEC adapter support') +source=("https://github.com/plexinc/plex-home-theater-public/archive/v${_pkgver}.tar.gz" + 'plex-ffmpeg-compat.patch' + 'plex-libcec-2.2.0.patch' + 'plex-lirc-socket.patch' + 'plex_lib.conf' + 'plexhometheater.sh') + +prepare() { + cd plex-home-theater-public-${_pkgver} + + patch -Np1 -i ../plex-libcec-2.2.0.patch + patch -Np1 -i ../plex-lirc-socket.patch + patch -Np1 -i ../plex-ffmpeg-compat.patch +} + +build() { + cd plex-home-theater-public-${_pkgver} + + if [[ -d build ]]; then + rm -rf build + fi + mkdir build && cd build + + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' \ + -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ + -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ + -DENABLE_{AUTOUPDATE,DUMP_SYMBOLS}='FALSE' -DENABLE_PYTHON='TRUE' \ + -DPYTHON_EXEC='/usr/bin/python2' -DUSE_INTERNAL_FFMPEG='FALSE' \ + -DCREATE_BUNDLE='FALSE' + make +} + +package() { + cd plex-home-theater-public-${_pkgver}/build + + make DESTDIR="${pkgdir}" install + install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}} + mv "${pkgdir}"/usr/bin/{system,xbmc-xrandr} "${pkgdir}"/usr/lib/plexhometheater/ + mv "${pkgdir}"/usr/share/XBMC "${pkgdir}"/usr/share/plexhometheater + install -m 755 "${srcdir}"/plexhometheater.sh "${pkgdir}"/usr/bin/ + install -m 644 ../plex/Resources/plexhometheater.desktop "${pkgdir}"/usr/share/applications/ + install -m 644 ../plex/Resources/plex-icon-256.png "${pkgdir}"/usr/share/pixmaps/plexhometheater.png + + # LinHES stuff + #add in plex_lib.conf + install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf +} + +# vim: ts=2 sw=2 et: +md5sums=('59f6d8386d9533b7c9a0c9e559a83c0f' + '6704244166497db7fa6b3ddd43a0e53b' + '066484ad4949f96ddddaa8b1d4d709e1' + 'b96a1d70174d80d3f2272bdc5b48e4a3' + '8735a4e7857bc85085482c4f8bcb1d01' + '8fae1350cc36f40ed65fbf96128a02d0') diff --git a/abs/extra/plex-home-theater/__changelog b/abs/extra/plex-home-theater/__changelog new file mode 100644 index 0000000..83f5069 --- /dev/null +++ b/abs/extra/plex-home-theater/__changelog @@ -0,0 +1,3 @@ +PKGBUILD - Remove opt dep pulseaudio +PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/ +plexhometheater.install - add gen_lib_xml.py to post_install and post_remove diff --git a/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch b/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch new file mode 100755 index 0000000..1601500 --- /dev/null +++ b/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch @@ -0,0 +1,29 @@ +diff -rupN plex-home-theater.orig/plex/CMakeModules/FindFFmpeg.cmake plex-home-theater/plex/CMakeModules/FindFFmpeg.cmake +--- plex-home-theater.orig/plex/CMakeModules/FindFFmpeg.cmake 2014-09-15 11:46:21.751638700 +0200 ++++ plex-home-theater/plex/CMakeModules/FindFFmpeg.cmake 2014-09-15 11:43:25.678039000 +0200 +@@ -41,7 +41,7 @@ MACRO(FFMPEG_FIND varname shortname head + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include +- PATH_SUFFIXES ffmpeg ++ PATH_SUFFIXES ffmpeg-compat + DOC "Location of FFMPEG Headers" + ) + +@@ -62,7 +62,7 @@ MACRO(FFMPEG_FIND varname shortname head + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include +- PATH_SUFFIXES ffmpeg ++ PATH_SUFFIXES ffmpeg-compat + DOC "Location of FFMPEG Headers" + ) + ENDIF(NOT FFMPEG_${varname}_INCLUDE_DIRS) +@@ -85,6 +85,7 @@ MACRO(FFMPEG_FIND varname shortname head + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 ++ PATH_SUFFIXES ffmpeg-compat + DOC "Location of FFMPEG Libraries" + ) + diff --git a/abs/extra/plex-home-theater/plex-home-theater.install b/abs/extra/plex-home-theater/plex-home-theater.install new file mode 100644 index 0000000..3633bdc --- /dev/null +++ b/abs/extra/plex-home-theater/plex-home-theater.install @@ -0,0 +1,7 @@ +post_install() { + gen_lib_xml.py +} + +post_remove() { + gen_lib_xml.py +} diff --git a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch b/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch new file mode 100644 index 0000000..8c35296 --- /dev/null +++ b/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch @@ -0,0 +1,114 @@ +From e62cdd0c9ae9818c5c35c6b6b57ba8ff322ca052 Mon Sep 17 00:00:00 2001 +From: Maxime Gauduin <alucryd@gmail.com> +Date: Tue, 4 Nov 2014 17:07:10 +0100 +Subject: [PATCH] libCEC 2.2.0 fixes + +--- + project/BuildDependencies/scripts/0_package.list | 1 + + project/BuildDependencies/scripts/libcec_d.bat | 15 --------------- + project/BuildDependencies/scripts/libcec_d.txt | 2 +- + system/peripherals.xml | 2 +- + xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++ + xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 11 ++++++++--- + 6 files changed, 13 insertions(+), 20 deletions(-) + delete mode 100644 project/BuildDependencies/scripts/libcec_d.bat + +diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list +index d2a00aa..6f441f3 100644 +--- a/project/BuildDependencies/scripts/0_package.list ++++ b/project/BuildDependencies/scripts/0_package.list +@@ -11,4 +11,5 @@ libnfs-1.6.0-win32 + libshairplay-d689c6-win32 + libjpeg-turbo-1.2.0-win32 + libbluray-0.2.3-win32 ++libcec-2.2.0-win32-1 + taglib-1.8beta-win32 +diff --git a/project/BuildDependencies/scripts/libcec_d.bat b/project/BuildDependencies/scripts/libcec_d.bat +deleted file mode 100644 +index 0b41b8a..0000000 +--- a/project/BuildDependencies/scripts/libcec_d.bat ++++ /dev/null +@@ -1,15 +0,0 @@ +-@ECHO OFF +- +-SET LOC_PATH=%CD% +-SET FILES=%LOC_PATH%\libcec_d.txt +- +-CALL dlextract.bat libcec %FILES% +- +-cd %TMP_PATH% +- +-mkdir "%CUR_PATH%\include\libcec" +-xcopy libcec\include\* "%CUR_PATH%\include\libcec\." /E /Q /I /Y +- +-copy libcec\libcec.dll "%XBMC_PATH%\system\." +- +-cd %LOC_PATH% +diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt +index 065ce3a..3d0265e 100644 +--- a/project/BuildDependencies/scripts/libcec_d.txt ++++ b/project/BuildDependencies/scripts/libcec_d.txt +@@ -1,3 +1,3 @@ + ; filename source of the file + +-libcec-2.1.1.zip http://mirrors.xbmc.org/build-deps/win32/ ++libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/ +diff --git a/system/peripherals.xml b/system/peripherals.xml +index 68205df..ea0bb17 100644 +--- a/system/peripherals.xml ++++ b/system/peripherals.xml +@@ -28,7 +28,7 @@ + <setting key="device_type" type="int" value="1" configurable="0" /> + <setting key="wake_devices_advanced" type="string" value="" configurable="0" /> + <setting key="standby_devices_advanced" type="string" value="" configurable="0" /> +- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" /> ++ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" /> + </peripheral> + + <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec"> +diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp +index da169c1..f3c8149 100644 +--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp ++++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp +@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results) + break; + case ADAPTERTYPE_RPI: + result.m_mappedBusType = PERIPHERAL_BUS_RPI; ++ // the Pi's adapter cannot be removed, no need to rescan ++ m_bNeedsPolling = false; + break; + default: + break; +diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +index 056a77e..9823427 100644 +--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp ++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +@@ -1302,8 +1302,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu + + void CPeripheralCecAdapter::SetConfigurationFromSettings(void) + { +- // use the same client version as libCEC version +- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT; ++ // client version matches the version of libCEC that we originally used the API from ++ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0; + + // device name 'XBMC' + snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str()); +@@ -1378,8 +1378,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void) + m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0; + m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0; + +- // double tap prevention timeout in ms ++#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD) ++ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50 ++ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50; ++#else ++ // backwards compatibility. will be removed once the next major release of libCEC is out + m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); ++#endif + } + + void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses) +-- +2.1.3 + diff --git a/abs/extra/plex-home-theater/plex-lirc-socket.patch b/abs/extra/plex-home-theater/plex-lirc-socket.patch new file mode 100644 index 0000000..7110252 --- /dev/null +++ b/abs/extra/plex-home-theater/plex-lirc-socket.patch @@ -0,0 +1,56 @@ +From c20e1deb62521acaca945fe6af780cdfb477610b Mon Sep 17 00:00:00 2001 +From: Maxime Gauduin <alucryd@gmail.com> +Date: Thu, 30 Oct 2014 09:43:48 +0100 +Subject: [PATCH] Fix lirc socket path + +--- + configure.in | 4 ++-- + plex/CMakeModules/PlatformConfigLINUX.cmake | 2 +- + plex/CMakeModules/PlatformConfigRPI.cmake | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index 002245a..85ad398 100644 +--- a/configure.in ++++ b/configure.in +@@ -452,9 +452,9 @@ AC_ARG_ENABLE([texturepacker], + + AC_ARG_WITH([lirc-device], + [AS_HELP_STRING([--with-lirc-device=file], +- [specify the default LIRC device (default is /dev/lircd)])], ++ [specify the default LIRC device (default is /var/run/lirc/lircd)])], + [lirc_device=$withval], +- [lirc_device=/dev/lircd]) ++ [lirc_device=/var/run/lirc/lircd]) + AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device]) + + AC_ARG_ENABLE([udev], +diff --git a/plex/CMakeModules/PlatformConfigLINUX.cmake b/plex/CMakeModules/PlatformConfigLINUX.cmake +index 078fafb..3afa5c1 100644 +--- a/plex/CMakeModules/PlatformConfigLINUX.cmake ++++ b/plex/CMakeModules/PlatformConfigLINUX.cmake +@@ -126,7 +126,7 @@ if(DEFINED OPENGL_FOUND) + endif()
+
+ #### default lircdevice
+-set(LIRC_DEVICE "/dev/lircd")
++set(LIRC_DEVICE "/var/run/lirc/lircd")
+
+ #### on linux we want to use a "easy" name
+ set(EXECUTABLE_NAME "plexhometheater")
+diff --git a/plex/CMakeModules/PlatformConfigRPI.cmake b/plex/CMakeModules/PlatformConfigRPI.cmake +index 82aa751..367cdc9 100644 +--- a/plex/CMakeModules/PlatformConfigRPI.cmake ++++ b/plex/CMakeModules/PlatformConfigRPI.cmake +@@ -103,7 +103,7 @@ list(APPEND CONFIG_INTERNAL_LIBS lib_dllsymbols) +
+
+ #### default lircdevice
+-set(LIRC_DEVICE "/dev/lircd")
++set(LIRC_DEVICE "/var/run/lirc/lircd")
+
+ #### on linux we want to use a "easy" name
+ set(EXECUTABLE_NAME "plexhometheater")
+-- +2.1.3 + diff --git a/abs/extra/plex-home-theater/plex_lib.conf b/abs/extra/plex-home-theater/plex_lib.conf new file mode 100644 index 0000000..70db20a --- /dev/null +++ b/abs/extra/plex-home-theater/plex_lib.conf @@ -0,0 +1,9 @@ +<!--#PLEX--> + <button> + <type>MENU_PLEX</type> + <text>Launch Plex</text> + <description>Open Plex Home Theater</description> + <action>EXEC /usr/bin/plexhometheater.sh</action> + </button> +<!--#PLEX--> + diff --git a/abs/extra/plex-home-theater/plexhometheater.sh b/abs/extra/plex-home-theater/plexhometheater.sh new file mode 100755 index 0000000..53276ff --- /dev/null +++ b/abs/extra/plex-home-theater/plexhometheater.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +export XBMC_BIN_HOME='/usr/lib/plexhometheater' +export XBMC_HOME='/usr/share/plexhometheater' +exec plexhometheater diff --git a/abs/extra/polkit/PKGBUILD b/abs/extra/polkit/PKGBUILD index e86dbbc..b120d65 100644 --- a/abs/extra/polkit/PKGBUILD +++ b/abs/extra/polkit/PKGBUILD @@ -1,27 +1,26 @@ -# $Id: PKGBUILD 158972 2012-05-13 21:06:37Z jgc $ +# $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=polkit -pkgver=0.105 -pkgrel=1 +pkgver=0.112 +pkgrel=2 pkgdesc="Application development toolkit for controlling system-wide privileges" arch=(i686 x86_64) -license=('LGPL') -url="http://www.freedesktop.org/wiki/Software/PolicyKit" -depends=('glib2' 'pam' 'expat') -makedepends=('intltool' 'gtk-doc' 'gobject-introspection') -replaces=('policykit') -options=('!libtool') +license=(LGPL) +url="http://www.freedesktop.org/wiki/Software/polkit" +depends=(glib2 pam expat systemd js17) +makedepends=(intltool gtk-doc gobject-introspection) +install=polkit.install source=(http://www.freedesktop.org/software/polkit/releases/$pkgname-$pkgver.tar.gz polkit.pam) -md5sums=('9c29e1b6c214f0bd6f1d4ee303dfaed9' - '6564f95878297b954f0572bc1610dd15') build() { cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --libexecdir=/usr/lib/polkit-1 \ - --disable-static --enable-gtk-doc + --enable-libsystemd-login=no --disable-static \ + --enable-gtk-doc make } @@ -29,5 +28,10 @@ package() { cd $pkgname-$pkgver make DESTDIR="$pkgdir" install + chown 102 "$pkgdir/etc/polkit-1/rules.d" + chown 102 "$pkgdir/usr/share/polkit-1/rules.d" + install -m644 "$srcdir/polkit.pam" "$pkgdir/etc/pam.d/polkit-1" } +md5sums=('b0f2fa00a55f47c6a5d88e9b73f80127' + '6564f95878297b954f0572bc1610dd15') diff --git a/abs/extra/polkit/__changelog b/abs/extra/polkit/__changelog new file mode 100644 index 0000000..8a7d752 --- /dev/null +++ b/abs/extra/polkit/__changelog @@ -0,0 +1 @@ +PKGBUILD: change --enable-libsystemd-login=yes to --enable-libsystemd-login=no diff --git a/abs/extra/polkit/polkit.install b/abs/extra/polkit/polkit.install new file mode 100644 index 0000000..fbb9891 --- /dev/null +++ b/abs/extra/polkit/polkit.install @@ -0,0 +1,18 @@ +post_install() { + getent group polkitd >/dev/null || groupadd -g 102 polkitd + getent passwd polkitd >/dev/null || useradd -c 'Policy Kit Daemon' -u 102 -g polkitd -d '/' -s /bin/false polkitd + passwd -l polkitd &>/dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + if getent passwd polkitd >/dev/null; then + userdel polkitd + fi + if getent group polkitd >/dev/null; then + groupdel polkitd + fi +} diff --git a/abs/extra/polkit/systemd-fallback.patch b/abs/extra/polkit/systemd-fallback.patch deleted file mode 100644 index f89ce10..0000000 --- a/abs/extra/polkit/systemd-fallback.patch +++ /dev/null @@ -1,1571 +0,0 @@ -diff -u -rN polkit-0.104/configure.ac polkit-0.104-systemd-fallback/configure.ac ---- polkit-0.104/configure.ac 2012-01-03 17:25:49.000000000 +0100 -+++ polkit-0.104-systemd-fallback/configure.ac 2012-03-06 15:45:55.275860194 +0100 -@@ -160,14 +160,14 @@ - [enable_systemd=auto]) - if test "$enable_systemd" != "no"; then - PKG_CHECK_MODULES(SYSTEMD, -- [libsystemd-login], -+ [libsystemd-login libsystemd-daemon], - have_systemd=yes, - have_systemd=no) - if test "$have_systemd" = "yes"; then - SESSION_TRACKING=systemd - else - if test "$enable_systemd" = "yes"; then -- AC_MSG_ERROR([systemd support requested but libsystemd-login1 library not found]) -+ AC_MSG_ERROR([systemd support requested but systemd libraries not found]) - fi - fi - fi -diff -u -rN polkit-0.104/src/polkit/Makefile.am polkit-0.104-systemd-fallback/src/polkit/Makefile.am ---- polkit-0.104/src/polkit/Makefile.am 2012-01-03 16:03:47.000000000 +0100 -+++ polkit-0.104-systemd-fallback/src/polkit/Makefile.am 2012-03-06 15:19:25.108853325 +0100 -@@ -79,15 +79,8 @@ - polkitimplicitauthorization.c polkitimplicitauthorization.h \ - polkittemporaryauthorization.c polkittemporaryauthorization.h \ - polkitpermission.c polkitpermission.h \ -- $(NULL) -- --if HAVE_SYSTEMD --libpolkit_gobject_1_la_SOURCES += \ -- polkitunixsession-systemd.c polkitunixsession.h --else --libpolkit_gobject_1_la_SOURCES += \ - polkitunixsession.c polkitunixsession.h --endif -+ $(NULL) - - libpolkit_gobject_1_la_CFLAGS = \ - -D_POLKIT_COMPILATION \ -diff -u -rN polkit-0.104/src/polkit/polkitunixsession.c polkit-0.104-systemd-fallback/src/polkit/polkitunixsession.c ---- polkit-0.104/src/polkit/polkitunixsession.c 2011-10-18 19:02:27.000000000 +0200 -+++ polkit-0.104-systemd-fallback/src/polkit/polkitunixsession.c 2012-03-06 15:17:29.829788021 +0100 -@@ -23,12 +23,18 @@ - # include "config.h" - #endif - -+#include <stdlib.h> - #include <string.h> - #include "polkitunixsession.h" - #include "polkitsubject.h" - #include "polkiterror.h" - #include "polkitprivate.h" - -+#ifdef HAVE_SYSTEMD -+# include <systemd/sd-daemon.h> -+# include <systemd/sd-login.h> -+#endif -+ - /** - * SECTION:polkitunixsession - * @title: PolkitUnixSession -@@ -364,34 +370,44 @@ - PolkitUnixSession *session = POLKIT_UNIX_SESSION (subject); - GDBusConnection *connection; - GVariant *result; -- gboolean ret; -- -- ret = FALSE; -+ gboolean ret = FALSE; - -- connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error); -- if (connection == NULL) -- goto out; -- -- result = g_dbus_connection_call_sync (connection, -- "org.freedesktop.ConsoleKit", /* name */ -- session->session_id, /* object path */ -- "org.freedesktop.ConsoleKit.Session", /* interface name */ -- "GetUser", /* method */ -- NULL, /* parameters */ -- G_VARIANT_TYPE ("(u)"), -- G_DBUS_CALL_FLAGS_NONE, -- -1, -- cancellable, -- error); -- if (result == NULL) -- goto out; -+#ifdef HAVE_SYSTEMD -+ uid_t uid; -+ -+ if (sd_booted () > 0) -+ { -+ if (sd_session_get_uid (session->session_id, &uid) == 0) -+ ret = TRUE; -+ } -+ else -+#endif -+ { -+ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error); -+ if (connection == NULL) -+ goto out; -+ -+ result = g_dbus_connection_call_sync (connection, -+ "org.freedesktop.ConsoleKit", /* name */ -+ session->session_id, /* object path */ -+ "org.freedesktop.ConsoleKit.Session", /* interface name */ -+ "GetUser", /* method */ -+ NULL, /* parameters */ -+ G_VARIANT_TYPE ("(u)"), -+ G_DBUS_CALL_FLAGS_NONE, -+ -1, -+ cancellable, -+ error); -+ if (result == NULL) -+ goto out; - -- ret = TRUE; -- g_variant_unref (result); -+ ret = TRUE; -+ g_variant_unref (result); - -- out: -- if (connection != NULL) -- g_object_unref (connection); -+ out: -+ if (connection != NULL) -+ g_object_unref (connection); -+ } - return ret; - } - -@@ -470,12 +486,9 @@ - GError **error) - { - PolkitUnixSession *session = POLKIT_UNIX_SESSION (initable); -- GDBusConnection *connection; -+ GDBusConnection *connection = NULL; - GVariant *result; -- gboolean ret; -- -- connection = NULL; -- ret = FALSE; -+ gboolean ret = FALSE; - - if (session->session_id != NULL) - { -@@ -484,33 +497,56 @@ - goto out; - } - -- connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error); -- if (connection == NULL) -- goto out; -+#ifdef HAVE_SYSTEMD -+ char *s; -+ -+ if (sd_booted () > 0) -+ { -+ if (sd_pid_get_session (session->pid, &s) == 0) -+ { -+ session->session_id = g_strdup (s); -+ free (s); -+ ret = TRUE; -+ goto out; -+ } -+ -+ g_set_error (error, -+ POLKIT_ERROR, -+ POLKIT_ERROR_FAILED, -+ "No session for pid %d", -+ (gint) session->pid); -+ } -+ else -+#endif -+ { -+ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error); -+ if (connection == NULL) -+ goto out; -+ -+ result = g_dbus_connection_call_sync (connection, -+ "org.freedesktop.ConsoleKit", /* name */ -+ "/org/freedesktop/ConsoleKit/Manager", /* object path */ -+ "org.freedesktop.ConsoleKit.Manager", /* interface name */ -+ "GetSessionForUnixProcess", /* method */ -+ g_variant_new ("(u)", session->pid), /* parameters */ -+ G_VARIANT_TYPE ("(o)"), -+ G_DBUS_CALL_FLAGS_NONE, -+ -1, -+ cancellable, -+ error); -+ if (result == NULL) -+ goto out; - -- result = g_dbus_connection_call_sync (connection, -- "org.freedesktop.ConsoleKit", /* name */ -- "/org/freedesktop/ConsoleKit/Manager", /* object path */ -- "org.freedesktop.ConsoleKit.Manager", /* interface name */ -- "GetSessionForUnixProcess", /* method */ -- g_variant_new ("(u)", session->pid), /* parameters */ -- G_VARIANT_TYPE ("(o)"), -- G_DBUS_CALL_FLAGS_NONE, -- -1, -- cancellable, -- error); -- if (result == NULL) -- goto out; -+ g_variant_get (result, "(o)", &session->session_id); -+ g_variant_unref (result); - -- g_variant_get (result, "(o)", &session->session_id); -- g_variant_unref (result); -+ ret = TRUE; -+ } - -- ret = TRUE; - - out: - if (connection != NULL) - g_object_unref (connection); -- - return ret; - } - -diff -u -rN polkit-0.104/src/polkit/polkitunixsession-systemd.c polkit-0.104-systemd-fallback/src/polkit/polkitunixsession-systemd.c ---- polkit-0.104/src/polkit/polkitunixsession-systemd.c 2012-01-03 16:03:47.000000000 +0100 -+++ polkit-0.104-systemd-fallback/src/polkit/polkitunixsession-systemd.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,481 +0,0 @@ --/* -- * Copyright (C) 2011 Red Hat, Inc. -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General -- * Public License along with this library; if not, write to the -- * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -- * Boston, MA 02111-1307, USA. -- * -- * Author: Matthias Clasen -- */ -- --#ifdef HAVE_CONFIG_H --# include "config.h" --#endif -- --#include <string.h> --#include "polkitunixsession.h" --#include "polkitsubject.h" --#include "polkiterror.h" --#include "polkitprivate.h" -- --#include <systemd/sd-login.h> -- --/** -- * SECTION:polkitunixsession -- * @title: PolkitUnixSession -- * @short_description: Unix sessions -- * -- * An object that represents an user session. -- * -- * The session id is an opaque string obtained from ConsoleKit. -- */ -- --/** -- * PolkitUnixSession: -- * -- * The #PolkitUnixSession struct should not be accessed directly. -- */ --struct _PolkitUnixSession --{ -- GObject parent_instance; -- -- gchar *session_id; -- -- gint pid; --}; -- --struct _PolkitUnixSessionClass --{ -- GObjectClass parent_class; --}; -- --enum --{ -- PROP_0, -- PROP_SESSION_ID, -- PROP_PID, --}; -- --static void subject_iface_init (PolkitSubjectIface *subject_iface); --static void initable_iface_init (GInitableIface *initable_iface); --static void async_initable_iface_init (GAsyncInitableIface *async_initable_iface); -- --G_DEFINE_TYPE_WITH_CODE (PolkitUnixSession, polkit_unix_session, G_TYPE_OBJECT, -- G_IMPLEMENT_INTERFACE (POLKIT_TYPE_SUBJECT, subject_iface_init) -- G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init) -- G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE, async_initable_iface_init) -- ); -- --static void --polkit_unix_session_init (PolkitUnixSession *session) --{ --} -- --static void --polkit_unix_session_finalize (GObject *object) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (object); -- -- g_free (session->session_id); -- -- if (G_OBJECT_CLASS (polkit_unix_session_parent_class)->finalize != NULL) -- G_OBJECT_CLASS (polkit_unix_session_parent_class)->finalize (object); --} -- --static void --polkit_unix_session_get_property (GObject *object, -- guint prop_id, -- GValue *value, -- GParamSpec *pspec) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (object); -- -- switch (prop_id) -- { -- case PROP_SESSION_ID: -- g_value_set_string (value, session->session_id); -- break; -- -- default: -- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -- break; -- } --} -- --static void --polkit_unix_session_set_property (GObject *object, -- guint prop_id, -- const GValue *value, -- GParamSpec *pspec) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (object); -- -- switch (prop_id) -- { -- case PROP_SESSION_ID: -- polkit_unix_session_set_session_id (session, g_value_get_string (value)); -- break; -- -- case PROP_PID: -- session->pid = g_value_get_int (value); -- break; -- -- default: -- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -- break; -- } --} -- --static void --polkit_unix_session_class_init (PolkitUnixSessionClass *klass) --{ -- GObjectClass *gobject_class = G_OBJECT_CLASS (klass); -- -- gobject_class->finalize = polkit_unix_session_finalize; -- gobject_class->get_property = polkit_unix_session_get_property; -- gobject_class->set_property = polkit_unix_session_set_property; -- -- /** -- * PolkitUnixSession:session-id: -- * -- * The UNIX session id. -- */ -- g_object_class_install_property (gobject_class, -- PROP_SESSION_ID, -- g_param_spec_string ("session-id", -- "Session ID", -- "The UNIX session ID", -- NULL, -- G_PARAM_CONSTRUCT | -- G_PARAM_READWRITE | -- G_PARAM_STATIC_NAME | -- G_PARAM_STATIC_BLURB | -- G_PARAM_STATIC_NICK)); -- -- -- /** -- * PolkitUnixSession:pid: -- * -- * The UNIX process id to look up the session. -- */ -- g_object_class_install_property (gobject_class, -- PROP_PID, -- g_param_spec_int ("pid", -- "Process ID", -- "Process ID to use for looking up the session", -- 0, -- G_MAXINT, -- 0, -- G_PARAM_CONSTRUCT_ONLY | -- G_PARAM_WRITABLE | -- G_PARAM_STATIC_NAME | -- G_PARAM_STATIC_BLURB | -- G_PARAM_STATIC_NICK)); -- --} -- --/** -- * polkit_unix_session_get_session_id: -- * @session: A #PolkitUnixSession. -- * -- * Gets the session id for @session. -- * -- * Returns: The session id for @session. Do not free this string, it -- * is owned by @session. -- **/ --const gchar * --polkit_unix_session_get_session_id (PolkitUnixSession *session) --{ -- g_return_val_if_fail (POLKIT_IS_UNIX_SESSION (session), NULL); -- return session->session_id; --} -- --/** -- * polkit_unix_session_set_session_id: -- * @session: A #PolkitUnixSession. -- * @session_id: The session id. -- * -- * Sets the session id for @session to @session_id. -- **/ --void --polkit_unix_session_set_session_id (PolkitUnixSession *session, -- const gchar *session_id) --{ -- g_return_if_fail (POLKIT_IS_UNIX_SESSION (session)); -- /*g_return_if_fail (session_id != NULL);*/ -- g_free (session->session_id); -- session->session_id = g_strdup (session_id); --} -- --/** -- * polkit_unix_session_new: -- * @session_id: The session id. -- * -- * Creates a new #PolkitUnixSession for @session_id. -- * -- * Returns: (transfer full): A #PolkitUnixSession. Free with g_object_unref(). -- **/ --PolkitSubject * --polkit_unix_session_new (const gchar *session_id) --{ -- return POLKIT_SUBJECT (g_object_new (POLKIT_TYPE_UNIX_SESSION, -- "session-id", session_id, -- NULL)); --} -- --/** -- * polkit_unix_session_new_for_process: -- * @pid: The process id of the process to get the session for. -- * @cancellable: (allow-none): A #GCancellable or %NULL. -- * @callback: A #GAsyncReadyCallback to call when the request is satisfied -- * @user_data: The data to pass to @callback. -- * -- * Asynchronously creates a new #PolkitUnixSession object for the -- * process with process id @pid. -- * -- * When the operation is finished, @callback will be invoked in the -- * <link linkend="g-main-context-push-thread-default">thread-default -- * main loop</link> of the thread you are calling this method -- * from. You can then call -- * polkit_unix_session_new_for_process_finish() to get the result of -- * the operation. -- * -- * This method constructs the object asynchronously, for the synchronous and blocking version -- * use polkit_unix_session_new_for_process_sync(). -- **/ --void --polkit_unix_session_new_for_process (gint pid, -- GCancellable *cancellable, -- GAsyncReadyCallback callback, -- gpointer user_data) --{ -- g_async_initable_new_async (POLKIT_TYPE_UNIX_SESSION, -- G_PRIORITY_DEFAULT, -- cancellable, -- callback, -- user_data, -- "pid", pid, -- NULL); --} -- --/** -- * polkit_unix_session_new_for_process_finish: -- * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_unix_session_new_for_process(). -- * @error: (allow-none): Return location for error. -- * -- * Finishes constructing a #PolkitSubject for a process id. -- * -- * Returns: (transfer full) (allow-none): A #PolkitUnixSession for the @pid passed to -- * polkit_unix_session_new_for_process() or %NULL if @error is -- * set. Free with g_object_unref(). -- **/ --PolkitSubject * --polkit_unix_session_new_for_process_finish (GAsyncResult *res, -- GError **error) --{ -- GObject *object; -- GObject *source_object; -- -- source_object = g_async_result_get_source_object (res); -- g_assert (source_object != NULL); -- -- object = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), -- res, -- error); -- g_object_unref (source_object); -- -- if (object != NULL) -- return POLKIT_SUBJECT (object); -- else -- return NULL; --} -- -- --/** -- * polkit_unix_session_new_for_process_sync: -- * @pid: The process id of the process to get the session for. -- * @cancellable: (allow-none): A #GCancellable or %NULL. -- * @error: (allow-none): Return location for error. -- * -- * Creates a new #PolkitUnixSession for the process with process id @pid. -- * -- * This is a synchronous call - the calling thread is blocked until a -- * reply is received. For the asynchronous version, see -- * polkit_unix_session_new_for_process(). -- * -- * Returns: (allow-none) (transfer full): A #PolkitUnixSession for -- * @pid or %NULL if @error is set. Free with g_object_unref(). -- **/ --PolkitSubject * --polkit_unix_session_new_for_process_sync (gint pid, -- GCancellable *cancellable, -- GError **error) --{ -- return POLKIT_SUBJECT (g_initable_new (POLKIT_TYPE_UNIX_SESSION, -- cancellable, -- error, -- "pid", pid, -- NULL)); --} -- --static guint --polkit_unix_session_hash (PolkitSubject *subject) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (subject); -- -- return g_str_hash (session->session_id); --} -- --static gboolean --polkit_unix_session_equal (PolkitSubject *a, -- PolkitSubject *b) --{ -- PolkitUnixSession *session_a; -- PolkitUnixSession *session_b; -- -- session_a = POLKIT_UNIX_SESSION (a); -- session_b = POLKIT_UNIX_SESSION (b); -- -- return g_strcmp0 (session_a->session_id, session_b->session_id) == 0; --} -- --static gchar * --polkit_unix_session_to_string (PolkitSubject *subject) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (subject); -- -- return g_strdup_printf ("unix-session:%s", session->session_id); --} -- --static gboolean --polkit_unix_session_exists_sync (PolkitSubject *subject, -- GCancellable *cancellable, -- GError **error) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (subject); -- gboolean ret; -- uid_t uid; -- -- ret = FALSE; -- -- if (!sd_session_get_uid (session->session_id, &uid)) -- ret = FALSE; -- -- return ret; --} -- --static void --exists_in_thread_func (GSimpleAsyncResult *res, -- GObject *object, -- GCancellable *cancellable) --{ -- GError *error; -- error = NULL; -- if (!polkit_unix_session_exists_sync (POLKIT_SUBJECT (object), -- cancellable, -- &error)) -- { -- g_simple_async_result_set_from_error (res, error); -- g_error_free (error); -- } --} -- --static void --polkit_unix_session_exists (PolkitSubject *subject, -- GCancellable *cancellable, -- GAsyncReadyCallback callback, -- gpointer user_data) --{ -- GSimpleAsyncResult *simple; -- -- g_return_if_fail (POLKIT_IS_UNIX_SESSION (subject)); -- -- simple = g_simple_async_result_new (G_OBJECT (subject), -- callback, -- user_data, -- polkit_unix_session_exists); -- g_simple_async_result_run_in_thread (simple, -- exists_in_thread_func, -- G_PRIORITY_DEFAULT, -- cancellable); -- g_object_unref (simple); --} -- --static gboolean --polkit_unix_session_exists_finish (PolkitSubject *subject, -- GAsyncResult *res, -- GError **error) --{ -- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res); -- gboolean ret; -- -- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_unix_session_exists); -- -- ret = FALSE; -- -- if (g_simple_async_result_propagate_error (simple, error)) -- goto out; -- -- ret = g_simple_async_result_get_op_res_gboolean (simple); -- -- out: -- return ret; --} -- --static void --subject_iface_init (PolkitSubjectIface *subject_iface) --{ -- subject_iface->hash = polkit_unix_session_hash; -- subject_iface->equal = polkit_unix_session_equal; -- subject_iface->to_string = polkit_unix_session_to_string; -- subject_iface->exists = polkit_unix_session_exists; -- subject_iface->exists_finish = polkit_unix_session_exists_finish; -- subject_iface->exists_sync = polkit_unix_session_exists_sync; --} -- --static gboolean --polkit_unix_session_initable_init (GInitable *initable, -- GCancellable *cancellable, -- GError **error) --{ -- PolkitUnixSession *session = POLKIT_UNIX_SESSION (initable); -- gboolean ret; -- -- ret = FALSE; -- -- if (session->session_id != NULL) -- { -- /* already set, nothing to do */ -- ret = TRUE; -- goto out; -- } -- -- if (!sd_pid_get_session (session->pid, &session->session_id)) -- ret = TRUE; -- --out: -- return ret; --} -- --static void --initable_iface_init (GInitableIface *initable_iface) --{ -- initable_iface->init = polkit_unix_session_initable_init; --} -- --static void --async_initable_iface_init (GAsyncInitableIface *async_initable_iface) --{ -- /* use default implementation to run GInitable code in a thread */ --} -diff -u -rN polkit-0.104/src/polkitbackend/Makefile.am polkit-0.104-systemd-fallback/src/polkitbackend/Makefile.am ---- polkit-0.104/src/polkitbackend/Makefile.am 2012-01-03 16:03:47.000000000 +0100 -+++ polkit-0.104-systemd-fallback/src/polkitbackend/Makefile.am 2012-03-06 15:44:15.380014886 +0100 -@@ -41,15 +41,8 @@ - polkitbackendconfigsource.h polkitbackendconfigsource.c \ - polkitbackendactionlookup.h polkitbackendactionlookup.c \ - polkitbackendlocalauthorizationstore.h polkitbackendlocalauthorizationstore.c \ -- $(NULL) -- --if HAVE_SYSTEMD --libpolkit_backend_1_la_SOURCES += \ -- polkitbackendsessionmonitor.h polkitbackendsessionmonitor-systemd.c --else --libpolkit_backend_1_la_SOURCES += \ - polkitbackendsessionmonitor.h polkitbackendsessionmonitor.c --endif -+ $(NULL) - - libpolkit_backend_1_la_CFLAGS = \ - -D_POLKIT_COMPILATION \ -diff -u -rN polkit-0.104/src/polkitbackend/polkitbackendsessionmonitor.c polkit-0.104-systemd-fallback/src/polkitbackend/polkitbackendsessionmonitor.c ---- polkit-0.104/src/polkitbackend/polkitbackendsessionmonitor.c 2011-10-18 19:02:27.000000000 +0200 -+++ polkit-0.104-systemd-fallback/src/polkitbackend/polkitbackendsessionmonitor.c 2012-03-06 15:43:49.353562242 +0100 -@@ -26,6 +26,12 @@ - #include <string.h> - #include <glib/gstdio.h> - -+#ifdef HAVE_SYSTEMD -+# include <systemd/sd-daemon.h> -+# include <systemd/sd-login.h> -+# include <stdlib.h> -+#endif -+ - #include <polkit/polkit.h> - #include "polkitbackendsessionmonitor.h" - -@@ -39,6 +45,88 @@ - * The #PolkitBackendSessionMonitor class is a utility class to track and monitor sessions. - */ - -+#ifdef HAVE_SYSTEMD -+typedef struct -+{ -+ GSource source; -+ GPollFD pollfd; -+ sd_login_monitor *monitor; -+} SdSource; -+ -+static gboolean -+sd_source_prepare (GSource *source, -+ gint *timeout) -+{ -+ *timeout = -1; -+ return FALSE; -+} -+ -+static gboolean -+sd_source_check (GSource *source) -+{ -+ SdSource *sd_source = (SdSource *)source; -+ -+ return sd_source->pollfd.revents != 0; -+} -+ -+static gboolean -+sd_source_dispatch (GSource *source, -+ GSourceFunc callback, -+ gpointer user_data) -+ -+{ -+ SdSource *sd_source = (SdSource *)source; -+ gboolean ret; -+ -+ g_warn_if_fail (callback != NULL); -+ -+ ret = (*callback) (user_data); -+ -+ sd_login_monitor_flush (sd_source->monitor); -+ -+ return ret; -+} -+ -+static void -+sd_source_finalize (GSource *source) -+{ -+ SdSource *sd_source = (SdSource*)source; -+ -+ sd_login_monitor_unref (sd_source->monitor); -+} -+ -+static GSourceFuncs sd_source_funcs = { -+ sd_source_prepare, -+ sd_source_check, -+ sd_source_dispatch, -+ sd_source_finalize -+}; -+ -+static GSource * -+sd_source_new (void) -+{ -+ GSource *source; -+ SdSource *sd_source; -+ int ret; -+ -+ source = g_source_new (&sd_source_funcs, sizeof (SdSource)); -+ sd_source = (SdSource *)source; -+ -+ if ((ret = sd_login_monitor_new (NULL, &sd_source->monitor)) < 0) -+ { -+ g_printerr ("Error getting login monitor: %d", ret); -+ } -+ else -+ { -+ sd_source->pollfd.fd = sd_login_monitor_get_fd (sd_source->monitor); -+ sd_source->pollfd.events = G_IO_IN; -+ g_source_add_poll (source, &sd_source->pollfd); -+ } -+ -+ return source; -+} -+#endif /* HAVE_SYSTEMD */ -+ - struct _PolkitBackendSessionMonitor - { - GObject parent_instance; -@@ -48,6 +136,10 @@ - GKeyFile *database; - GFileMonitor *database_monitor; - time_t database_mtime; -+ -+#ifdef HAVE_SYSTEMD -+ GSource *sd_source; -+#endif - }; - - struct _PolkitBackendSessionMonitorClass -@@ -162,6 +254,18 @@ - g_signal_emit (monitor, signals[CHANGED_SIGNAL], 0); - } - -+#ifdef HAVE_SYSTEMD -+static gboolean -+sessions_changed (gpointer user_data) -+{ -+ PolkitBackendSessionMonitor *monitor = POLKIT_BACKEND_SESSION_MONITOR (user_data); -+ -+ g_signal_emit (monitor, signals[CHANGED_SIGNAL], 0); -+ -+ return TRUE; -+} -+#endif -+ - static void - polkit_backend_session_monitor_init (PolkitBackendSessionMonitor *monitor) - { -@@ -176,31 +280,47 @@ - g_error_free (error); - } - -- error = NULL; -- if (!ensure_database (monitor, &error)) -- { -- g_printerr ("Error loading " CKDB_PATH ": %s", error->message); -- g_error_free (error); -- } -+#ifdef HAVE_SYSTEMD -+ monitor->sd_source = NULL; -+ -+ if (sd_booted () > 0) -+ { -+ monitor->sd_source = sd_source_new (); -+ g_source_set_callback (monitor->sd_source, sessions_changed, monitor, NULL); -+ g_source_attach (monitor->sd_source, NULL); - -- error = NULL; -- file = g_file_new_for_path (CKDB_PATH); -- monitor->database_monitor = g_file_monitor_file (file, -- G_FILE_MONITOR_NONE, -- NULL, -- &error); -- g_object_unref (file); -- if (monitor->database_monitor == NULL) -- { -- g_printerr ("Error monitoring " CKDB_PATH ": %s", error->message); -- g_error_free (error); -+ monitor->database = NULL; -+ monitor->database_monitor = NULL; - } - else -+#endif - { -- g_signal_connect (monitor->database_monitor, -- "changed", -- G_CALLBACK (on_file_monitor_changed), -- monitor); -+ error = NULL; -+ if (!ensure_database (monitor, &error)) -+ { -+ g_printerr ("Error loading " CKDB_PATH ": %s", error->message); -+ g_error_free (error); -+ } -+ -+ error = NULL; -+ file = g_file_new_for_path (CKDB_PATH); -+ monitor->database_monitor = g_file_monitor_file (file, -+ G_FILE_MONITOR_NONE, -+ NULL, -+ &error); -+ g_object_unref (file); -+ if (monitor->database_monitor == NULL) -+ { -+ g_printerr ("Error monitoring " CKDB_PATH ": %s", error->message); -+ g_error_free (error); -+ } -+ else -+ { -+ g_signal_connect (monitor->database_monitor, -+ "changed", -+ G_CALLBACK (on_file_monitor_changed), -+ monitor); -+ } - } - } - -@@ -212,6 +332,14 @@ - if (monitor->system_bus != NULL) - g_object_unref (monitor->system_bus); - -+#ifdef HAVE_SYSTEMD -+ if (monitor->sd_source != NULL) -+ { -+ g_source_destroy (monitor->sd_source); -+ g_source_unref (monitor->sd_source); -+ } -+#endif -+ - if (monitor->database_monitor != NULL) - g_object_unref (monitor->database_monitor); - -@@ -328,22 +456,38 @@ - } - else if (POLKIT_IS_UNIX_SESSION (subject)) - { -- if (!ensure_database (monitor, error)) -+#ifdef HAVE_SYSTEMD -+ if (monitor->sd_source != NULL) - { -- g_prefix_error (error, "Error getting user for session: Error ensuring CK database at " CKDB_PATH ": "); -- goto out; -+ if (sd_session_get_uid (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject)), &uid) < 0) -+ { -+ g_set_error (error, -+ POLKIT_ERROR, -+ POLKIT_ERROR_FAILED, -+ "Error getting uid for session"); -+ goto out; -+ } - } -- -- group = g_strdup_printf ("Session %s", polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject))); -- local_error = NULL; -- uid = g_key_file_get_integer (monitor->database, group, "uid", &local_error); -- if (local_error != NULL) -+ else -+#endif - { -- g_propagate_prefixed_error (error, local_error, "Error getting uid using " CKDB_PATH ": "); -+ if (!ensure_database (monitor, error)) -+ { -+ g_prefix_error (error, "Error getting user for session: Error ensuring CK database at " CKDB_PATH ": "); -+ goto out; -+ } -+ -+ group = g_strdup_printf ("Session %s", polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject))); -+ local_error = NULL; -+ uid = g_key_file_get_integer (monitor->database, group, "uid", &local_error); -+ if (local_error != NULL) -+ { -+ g_propagate_prefixed_error (error, local_error, "Error getting uid using " CKDB_PATH ": "); -+ g_free (group); -+ goto out; -+ } - g_free (group); -- goto out; - } -- g_free (group); - - ret = polkit_unix_user_new (uid); - } -@@ -373,29 +517,46 @@ - - if (POLKIT_IS_UNIX_PROCESS (subject)) - { -- const gchar *session_id; -- GVariant *result; -- result = g_dbus_connection_call_sync (monitor->system_bus, -- "org.freedesktop.ConsoleKit", -- "/org/freedesktop/ConsoleKit/Manager", -- "org.freedesktop.ConsoleKit.Manager", -- "GetSessionForUnixProcess", -- g_variant_new ("(u)", polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject))), -- G_VARIANT_TYPE ("(o)"), -- G_DBUS_CALL_FLAGS_NONE, -- -1, /* timeout_msec */ -- NULL, /* GCancellable */ -- error); -- if (result == NULL) -- goto out; -- g_variant_get (result, "(&o)", &session_id); -- session = polkit_unix_session_new (session_id); -- g_variant_unref (result); -+#ifdef HAVE_SYSTEMD -+ if (monitor->sd_source != NULL) -+ { -+ gchar *session_id; -+ pid_t pid; -+ -+ pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)); -+ if (sd_pid_get_session (pid, &session_id) < 0) -+ goto out; -+ -+ session = polkit_unix_session_new (session_id); -+ free (session_id); -+ } -+ else -+#endif -+ { -+ const gchar *session_id; -+ GVariant *result; -+ result = g_dbus_connection_call_sync (monitor->system_bus, -+ "org.freedesktop.ConsoleKit", -+ "/org/freedesktop/ConsoleKit/Manager", -+ "org.freedesktop.ConsoleKit.Manager", -+ "GetSessionForUnixProcess", -+ g_variant_new ("(u)", polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject))), -+ G_VARIANT_TYPE ("(o)"), -+ G_DBUS_CALL_FLAGS_NONE, -+ -1, /* timeout_msec */ -+ NULL, /* GCancellable */ -+ error); -+ if (result == NULL) -+ goto out; -+ g_variant_get (result, "(&o)", &session_id); -+ session = polkit_unix_session_new (session_id); -+ g_variant_unref (result); -+ } - } - else if (POLKIT_IS_SYSTEM_BUS_NAME (subject)) - { - guint32 pid; -- const gchar *session_id; -+ gchar *session_id; - GVariant *result; - - result = g_dbus_connection_call_sync (monitor->system_bus, -@@ -414,22 +575,35 @@ - g_variant_get (result, "(u)", &pid); - g_variant_unref (result); - -- result = g_dbus_connection_call_sync (monitor->system_bus, -- "org.freedesktop.ConsoleKit", -- "/org/freedesktop/ConsoleKit/Manager", -- "org.freedesktop.ConsoleKit.Manager", -- "GetSessionForUnixProcess", -- g_variant_new ("(u)", pid), -- G_VARIANT_TYPE ("(o)"), -- G_DBUS_CALL_FLAGS_NONE, -- -1, /* timeout_msec */ -- NULL, /* GCancellable */ -- error); -- if (result == NULL) -- goto out; -- g_variant_get (result, "(&o)", &session_id); -- session = polkit_unix_session_new (session_id); -- g_variant_unref (result); -+#ifdef HAVE_SYSTEMD -+ if (monitor->sd_source != NULL) -+ { -+ if (sd_pid_get_session (pid, &session_id) < 0) -+ goto out; -+ -+ session = polkit_unix_session_new (session_id); -+ free (session_id); -+ } -+ else -+#endif -+ { -+ result = g_dbus_connection_call_sync (monitor->system_bus, -+ "org.freedesktop.ConsoleKit", -+ "/org/freedesktop/ConsoleKit/Manager", -+ "org.freedesktop.ConsoleKit.Manager", -+ "GetSessionForUnixProcess", -+ g_variant_new ("(u)", pid), -+ G_VARIANT_TYPE ("(o)"), -+ G_DBUS_CALL_FLAGS_NONE, -+ -1, /* timeout_msec */ -+ NULL, /* GCancellable */ -+ error); -+ if (result == NULL) -+ goto out; -+ g_variant_get (result, "(&o)", &session_id); -+ session = polkit_unix_session_new (session_id); -+ g_variant_unref (result); -+ } - } - else - { -@@ -490,7 +664,22 @@ - polkit_backend_session_monitor_is_session_local (PolkitBackendSessionMonitor *monitor, - PolkitSubject *session) - { -- return get_boolean (monitor, session, "is_local"); -+#ifdef HAVE_SYSTEMD -+ if (monitor->sd_source != NULL) -+ { -+ char *seat; -+ -+ if (!sd_session_get_seat (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session)), &seat)) -+ { -+ free (seat); -+ return TRUE; -+ } -+ -+ return FALSE; -+ } -+ else -+#endif -+ return get_boolean (monitor, session, "is_local"); - } - - -@@ -498,6 +687,11 @@ - polkit_backend_session_monitor_is_session_active (PolkitBackendSessionMonitor *monitor, - PolkitSubject *session) - { -- return get_boolean (monitor, session, "is_active"); -+#ifdef HAVE_SYSTEMD -+ if (monitor->sd_source != NULL) -+ return sd_session_is_active (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session))); -+ else -+#endif -+ return get_boolean (monitor, session, "is_active"); - } - -diff -u -rN polkit-0.104/src/polkitbackend/polkitbackendsessionmonitor-systemd.c polkit-0.104-systemd-fallback/src/polkitbackend/polkitbackendsessionmonitor-systemd.c ---- polkit-0.104/src/polkitbackend/polkitbackendsessionmonitor-systemd.c 2012-01-03 16:03:47.000000000 +0100 -+++ polkit-0.104-systemd-fallback/src/polkitbackend/polkitbackendsessionmonitor-systemd.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,414 +0,0 @@ --/* -- * Copyright (C) 2011 Red Hat, Inc. -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General -- * Public License along with this library; if not, write to the -- * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -- * Boston, MA 02111-1307, USA. -- * -- * Author: Matthias Clasen -- */ -- --#include "config.h" --#include <errno.h> --#include <pwd.h> --#include <grp.h> --#include <string.h> --#include <glib/gstdio.h> --#include <systemd/sd-login.h> --#include <stdlib.h> -- --#include <polkit/polkit.h> --#include "polkitbackendsessionmonitor.h" -- --/* <internal> -- * SECTION:polkitbackendsessionmonitor -- * @title: PolkitBackendSessionMonitor -- * @short_description: Monitor sessions -- * -- * The #PolkitBackendSessionMonitor class is a utility class to track and monitor sessions. -- */ -- --typedef struct --{ -- GSource source; -- GPollFD pollfd; -- sd_login_monitor *monitor; --} SdSource; -- --static gboolean --sd_source_prepare (GSource *source, -- gint *timeout) --{ -- *timeout = -1; -- return FALSE; --} -- --static gboolean --sd_source_check (GSource *source) --{ -- SdSource *sd_source = (SdSource *)source; -- -- return sd_source->pollfd.revents != 0; --} -- --static gboolean --sd_source_dispatch (GSource *source, -- GSourceFunc callback, -- gpointer user_data) -- --{ -- SdSource *sd_source = (SdSource *)source; -- gboolean ret; -- -- g_warn_if_fail (callback != NULL); -- -- ret = (*callback) (user_data); -- -- sd_login_monitor_flush (sd_source->monitor); -- -- return ret; --} -- --static void --sd_source_finalize (GSource *source) --{ -- SdSource *sd_source = (SdSource*)source; -- -- sd_login_monitor_unref (sd_source->monitor); --} -- --static GSourceFuncs sd_source_funcs = { -- sd_source_prepare, -- sd_source_check, -- sd_source_dispatch, -- sd_source_finalize --}; -- --static GSource * --sd_source_new (void) --{ -- GSource *source; -- SdSource *sd_source; -- int ret; -- -- source = g_source_new (&sd_source_funcs, sizeof (SdSource)); -- sd_source = (SdSource *)source; -- -- if ((ret = sd_login_monitor_new (NULL, &sd_source->monitor)) < 0) -- { -- g_printerr ("Error getting login monitor: %d", ret); -- } -- else -- { -- sd_source->pollfd.fd = sd_login_monitor_get_fd (sd_source->monitor); -- sd_source->pollfd.events = G_IO_IN; -- g_source_add_poll (source, &sd_source->pollfd); -- } -- -- return source; --} -- --struct _PolkitBackendSessionMonitor --{ -- GObject parent_instance; -- -- GDBusConnection *system_bus; -- -- GSource *sd_source; --}; -- --struct _PolkitBackendSessionMonitorClass --{ -- GObjectClass parent_class; -- -- void (*changed) (PolkitBackendSessionMonitor *monitor); --}; -- -- --enum --{ -- CHANGED_SIGNAL, -- LAST_SIGNAL, --}; -- --static guint signals[LAST_SIGNAL] = {0}; -- --G_DEFINE_TYPE (PolkitBackendSessionMonitor, polkit_backend_session_monitor, G_TYPE_OBJECT); -- --/* ---------------------------------------------------------------------------------------------------- */ -- --static gboolean --sessions_changed (gpointer user_data) --{ -- PolkitBackendSessionMonitor *monitor = POLKIT_BACKEND_SESSION_MONITOR (user_data); -- -- g_signal_emit (monitor, signals[CHANGED_SIGNAL], 0); -- -- return TRUE; --} -- -- --static void --polkit_backend_session_monitor_init (PolkitBackendSessionMonitor *monitor) --{ -- GError *error; -- -- error = NULL; -- monitor->system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); -- if (monitor->system_bus == NULL) -- { -- g_printerr ("Error getting system bus: %s", error->message); -- g_error_free (error); -- } -- -- monitor->sd_source = sd_source_new (); -- g_source_set_callback (monitor->sd_source, sessions_changed, monitor, NULL); -- g_source_attach (monitor->sd_source, NULL); --} -- --static void --polkit_backend_session_monitor_finalize (GObject *object) --{ -- PolkitBackendSessionMonitor *monitor = POLKIT_BACKEND_SESSION_MONITOR (object); -- -- if (monitor->system_bus != NULL) -- g_object_unref (monitor->system_bus); -- -- if (monitor->sd_source != NULL) -- { -- g_source_destroy (monitor->sd_source); -- g_source_unref (monitor->sd_source); -- } -- -- if (G_OBJECT_CLASS (polkit_backend_session_monitor_parent_class)->finalize != NULL) -- G_OBJECT_CLASS (polkit_backend_session_monitor_parent_class)->finalize (object); --} -- --static void --polkit_backend_session_monitor_class_init (PolkitBackendSessionMonitorClass *klass) --{ -- GObjectClass *gobject_class; -- -- gobject_class = G_OBJECT_CLASS (klass); -- -- gobject_class->finalize = polkit_backend_session_monitor_finalize; -- -- /** -- * PolkitBackendSessionMonitor::changed: -- * @monitor: A #PolkitBackendSessionMonitor -- * -- * Emitted when something changes. -- */ -- signals[CHANGED_SIGNAL] = g_signal_new ("changed", -- POLKIT_BACKEND_TYPE_SESSION_MONITOR, -- G_SIGNAL_RUN_LAST, -- G_STRUCT_OFFSET (PolkitBackendSessionMonitorClass, changed), -- NULL, /* accumulator */ -- NULL, /* accumulator data */ -- g_cclosure_marshal_VOID__VOID, -- G_TYPE_NONE, -- 0); --} -- --PolkitBackendSessionMonitor * --polkit_backend_session_monitor_new (void) --{ -- PolkitBackendSessionMonitor *monitor; -- -- monitor = POLKIT_BACKEND_SESSION_MONITOR (g_object_new (POLKIT_BACKEND_TYPE_SESSION_MONITOR, NULL)); -- -- return monitor; --} -- --/* ---------------------------------------------------------------------------------------------------- */ -- --GList * --polkit_backend_session_monitor_get_sessions (PolkitBackendSessionMonitor *monitor) --{ -- /* TODO */ -- return NULL; --} -- --/* ---------------------------------------------------------------------------------------------------- */ -- --/** -- * polkit_backend_session_monitor_get_user: -- * @monitor: A #PolkitBackendSessionMonitor. -- * @subject: A #PolkitSubject. -- * @error: Return location for error. -- * -- * Gets the user corresponding to @subject or %NULL if no user exists. -- * -- * Returns: %NULL if @error is set otherwise a #PolkitUnixUser that should be freed with g_object_unref(). -- */ --PolkitIdentity * --polkit_backend_session_monitor_get_user_for_subject (PolkitBackendSessionMonitor *monitor, -- PolkitSubject *subject, -- GError **error) --{ -- PolkitIdentity *ret; -- guint32 uid; -- -- ret = NULL; -- -- if (POLKIT_IS_UNIX_PROCESS (subject)) -- { -- uid = polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)); -- if ((gint) uid == -1) -- { -- g_set_error (error, -- POLKIT_ERROR, -- POLKIT_ERROR_FAILED, -- "Unix process subject does not have uid set"); -- goto out; -- } -- ret = polkit_unix_user_new (uid); -- } -- else if (POLKIT_IS_SYSTEM_BUS_NAME (subject)) -- { -- GVariant *result; -- -- result = g_dbus_connection_call_sync (monitor->system_bus, -- "org.freedesktop.DBus", -- "/org/freedesktop/DBus", -- "org.freedesktop.DBus", -- "GetConnectionUnixUser", -- g_variant_new ("(s)", polkit_system_bus_name_get_name (POLKIT_SYSTEM_BUS_NAME (subject))), -- G_VARIANT_TYPE ("(u)"), -- G_DBUS_CALL_FLAGS_NONE, -- -1, /* timeout_msec */ -- NULL, /* GCancellable */ -- error); -- if (result == NULL) -- goto out; -- g_variant_get (result, "(u)", &uid); -- g_variant_unref (result); -- -- ret = polkit_unix_user_new (uid); -- } -- else if (POLKIT_IS_UNIX_SESSION (subject)) -- { -- -- if (sd_session_get_uid (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject)), &uid) < 0) -- { -- g_set_error (error, -- POLKIT_ERROR, -- POLKIT_ERROR_FAILED, -- "Error getting uid for session"); -- goto out; -- } -- -- ret = polkit_unix_user_new (uid); -- } -- -- out: -- return ret; --} -- --/** -- * polkit_backend_session_monitor_get_session_for_subject: -- * @monitor: A #PolkitBackendSessionMonitor. -- * @subject: A #PolkitSubject. -- * @error: Return location for error. -- * -- * Gets the session corresponding to @subject or %NULL if no session exists. -- * -- * Returns: %NULL if @error is set otherwise a #PolkitUnixSession that should be freed with g_object_unref(). -- */ --PolkitSubject * --polkit_backend_session_monitor_get_session_for_subject (PolkitBackendSessionMonitor *monitor, -- PolkitSubject *subject, -- GError **error) --{ -- PolkitSubject *session; -- -- session = NULL; -- -- if (POLKIT_IS_UNIX_PROCESS (subject)) -- { -- gchar *session_id; -- pid_t pid; -- -- pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)); -- if (sd_pid_get_session (pid, &session_id) < 0) -- goto out; -- -- session = polkit_unix_session_new (session_id); -- free (session_id); -- } -- else if (POLKIT_IS_SYSTEM_BUS_NAME (subject)) -- { -- guint32 pid; -- gchar *session_id; -- GVariant *result; -- -- result = g_dbus_connection_call_sync (monitor->system_bus, -- "org.freedesktop.DBus", -- "/org/freedesktop/DBus", -- "org.freedesktop.DBus", -- "GetConnectionUnixProcessID", -- g_variant_new ("(s)", polkit_system_bus_name_get_name (POLKIT_SYSTEM_BUS_NAME (subject))), -- G_VARIANT_TYPE ("(u)"), -- G_DBUS_CALL_FLAGS_NONE, -- -1, /* timeout_msec */ -- NULL, /* GCancellable */ -- error); -- if (result == NULL) -- goto out; -- g_variant_get (result, "(u)", &pid); -- g_variant_unref (result); -- -- if (sd_pid_get_session (pid, &session_id) < 0) -- goto out; -- -- session = polkit_unix_session_new (session_id); -- free (session_id); -- } -- else -- { -- g_set_error (error, -- POLKIT_ERROR, -- POLKIT_ERROR_NOT_SUPPORTED, -- "Cannot get user for subject of type %s", -- g_type_name (G_TYPE_FROM_INSTANCE (subject))); -- } -- -- out: -- -- return session; --} -- --gboolean --polkit_backend_session_monitor_is_session_local (PolkitBackendSessionMonitor *monitor, -- PolkitSubject *session) --{ -- char *seat; -- -- if (!sd_session_get_seat (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session)), &seat)) -- { -- free (seat); -- return TRUE; -- } -- -- return FALSE; --} -- -- --gboolean --polkit_backend_session_monitor_is_session_active (PolkitBackendSessionMonitor *monitor, -- PolkitSubject *session) --{ -- return sd_session_is_active (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session))); --} -- diff --git a/abs/extra/poppler-data/PKGBUILD b/abs/extra/poppler-data/PKGBUILD index 49db88e..c60a073 100644 --- a/abs/extra/poppler-data/PKGBUILD +++ b/abs/extra/poppler-data/PKGBUILD @@ -1,18 +1,19 @@ # $Id: PKGBUILD 22380 2008-12-26 16:33:15Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> +# Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgname=poppler-data -pkgver=0.4.5 +pkgver=0.4.7 pkgrel=1 pkgdesc="Encoding data for the poppler PDF rendering library" -arch=(any) +arch=('any') license=('custom' 'GPL2') conflicts=('poppler<0.10.5') url="http://poppler.freedesktop.org/" source=(http://poppler.freedesktop.org/${pkgname}-${pkgver}.tar.gz) -md5sums=('448dd7c5077570e340340706cef931aa') +md5sums=('636a8f2b9f6df9e7ced8ec0946961eaf') -build() { +package() { cd "${srcdir}/${pkgname}-${pkgver}" make prefix=/usr DESTDIR="${pkgdir}" install diff --git a/abs/extra/powerpanel/PKGBUILD b/abs/extra/powerpanel/PKGBUILD new file mode 100644 index 0000000..22edba7 --- /dev/null +++ b/abs/extra/powerpanel/PKGBUILD @@ -0,0 +1,69 @@ +# Contributor: das-ich <das-ich@yandex.ru> +pkgname=powerpanel +pkgver=1.2.3 +pkgrel=6 +pkgdesc="PowerPanel for Linux software can be used with most CyberPower UPS products." +arch=("x86_64" "i686") +url="http://www.cyberpowersystems.com" +license=("custom:CyberPower") +depends=('libusb') +install=pwrstatd.install +source=(http://www.cyberpowersystems.com/software/powerpanel_123_x86_64.tar.gz pwrstatd.service) +backup=(etc/powerpanel/pwrstatd-{powerfail,lowbatt,email}.sh + etc/pwrstatd.conf) + +if [ "$CARCH" = "x86_64" ]; then + md5sums=('0226b17e9470b93cd1e4fd2f149c5d05' + 'b945ff7c15ef206022c8df29a96338c8') +fi + +if [ "$CARCH" = "i686" ]; then +source=(http://www.cyberpowersystems.com/software/powerpanel_123_i386.tar.gz) + md5sums=('79d1b60f5146b5286c786c93b90e6c87' + 'b945ff7c15ef206022c8df29a96338c8') +fi + +package() { + cd ${srcdir}/$pkgname-$pkgver-0 +# +# copy files +# + +# PowerPanel for Linux client program +install -Dm755 bin/pwrstat ${pkgdir}/usr/bin/pwrstat + +# PowerPanel for Linux daemon program +install -Dm755 bin/pwrstatd ${pkgdir}/usr/bin/pwrstatd + +# PowerPanel for Linux daemon configuration +install -Dm600 conf/pwrstatd.conf ${pkgdir}/etc/pwrstatd.conf +sed -e 's#/etc#/etc/powerpanel#' -i ${pkgdir}/etc/pwrstatd.conf + +# Script command for event of power failure +install -Dm755 script/pwrstatd-powerfail.sh ${pkgdir}/etc/powerpanel/pwrstatd-powerfail.sh + +# Script command for event of battery low +install -Dm755 script/pwrstatd-lowbatt.sh ${pkgdir}/etc/powerpanel/pwrstatd-lowbatt.sh + +# Script command for e-mail notification +install -Dm755 script/pwrstatd-email.sh ${pkgdir}/etc/powerpanel/pwrstatd-email.sh + +# Systemd unit +install -Dm644 ../pwrstatd.service ${pkgdir}/usr/lib/systemd/system/pwrstatd.service + +# PowerPanel for Linux client man-page +install -Dm644 doc/pwrstat.8 ${pkgdir}/usr/share/man/man8/pwrstat.8 + +# PowerPanel for Linux daemon man-page +install -Dm644 doc/pwrstatd.8 ${pkgdir}/usr/share/man/man8/pwrstatd.8 + +# +# compress the man page file +# +gzip -9 ${pkgdir}/usr/share/man/man8/pwrstat.8 +gzip -9 ${pkgdir}/usr/share/man/man8/pwrstatd.8 + +} + +md5sums=('0226b17e9470b93cd1e4fd2f149c5d05' + 'b945ff7c15ef206022c8df29a96338c8') diff --git a/abs/extra/powerpanel/__changelog b/abs/extra/powerpanel/__changelog new file mode 100644 index 0000000..503964f --- /dev/null +++ b/abs/extra/powerpanel/__changelog @@ -0,0 +1,2 @@ +add pwrstatd.install to have runit start the service + diff --git a/abs/extra/powerpanel/pwrstatd.install b/abs/extra/powerpanel/pwrstatd.install new file mode 100644 index 0000000..5fe72ff --- /dev/null +++ b/abs/extra/powerpanel/pwrstatd.install @@ -0,0 +1,14 @@ +post_install() { + add_service.sh pwrstatd + sv start pwrstatd +} + +post_upgrade() { + post_install + sv restart pwrstatd +} + +post_remove() { + sv stop pwrstatd + remove_service.sh pwrstatd +} diff --git a/abs/extra/powerpanel/pwrstatd.service b/abs/extra/powerpanel/pwrstatd.service new file mode 100644 index 0000000..9a1160c --- /dev/null +++ b/abs/extra/powerpanel/pwrstatd.service @@ -0,0 +1,8 @@ +[Unit] +Description=PowerPanel for Linux software can be used with most CyberPower UPS products. + +[Service] +ExecStart=/usr/bin/pwrstatd + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/r/PKGBUILD b/abs/extra/r/PKGBUILD new file mode 100644 index 0000000..7b4f031 --- /dev/null +++ b/abs/extra/r/PKGBUILD @@ -0,0 +1,90 @@ +# $Id$ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Damir Perisa <damir.perisa@bluewin.ch> +# Contributor: K. Piche <kpiche@rogers.com> + +pkgname=r +pkgver=3.1.2 +pkgrel=1 +pkgdesc="Language and environment for statistical computing and graphics" +arch=('i686' 'x86_64') +license=('GPL') +url=('http://www.r-project.org/') +depends=('blas' 'lapack' 'bzip2' 'libpng' 'libjpeg' 'libtiff' + 'ncurses' 'pcre' 'readline' 'zlib' 'perl' 'gcc-libs' + 'libxt' 'libxmu' 'pango' 'xz' 'desktop-file-utils' 'zip' 'unzip') +makedepends=('jdk7-openjdk' 'gcc-fortran' 'tk') +optdepends=('tk: tcl/tk interface' 'texlive-bin: latex sty files') +backup=('etc/R/Makeconf' 'etc/R/Renviron' 'etc/R/ldpaths' 'etc/R/repositories' 'etc/R/javaconf') +options=('!makeflags' '!emptydirs') +install=r.install +source=("http://cran.r-project.org/src/base/R-${pkgver%%.*}/R-${pkgver}.tar.gz" + 'r.desktop' + 'r.png' + 'R.conf') +sha1sums=('93809368e5735a630611633ac1fa99010020c5d6' + 'd7fa521345b230a4187d60d07d06ce4b6d573e3f' + 'a69a07ec363440efc18ce0a7f2af103375dea978' + '43668da6cfd1b4455a99f23e79e2059294dddac9') + +prepare() { + cd R-${pkgver} + # set texmf dir correctly in makefile + sed -i 's|$(rsharedir)/texmf|${datarootdir}/texmf|' share/Makefile.in + # fix for texinfo 5.X + sed -i 's|test ${makeinfo_version_min} -lt 7|test ${makeinfo_version_min} -lt 0|' configure +} + +build() { + cd R-${pkgver} + ./configure --prefix=/usr \ + --libdir=/usr/lib \ + --sysconfdir=/etc/R \ + --datarootdir=/usr/share \ + rsharedir=/usr/share/R/ \ + rincludedir=/usr/include/R/ \ + rdocdir=/usr/share/doc/R/ \ + --with-x \ + --enable-R-shlib \ + --with-lapack \ + --with-blas \ + F77=gfortran \ + LIBnn=lib + make + +# make libRmath.so + cd src/nmath/standalone + make shared +} + +package() { + cd R-${pkgver} + make DESTDIR="${pkgdir}" install + +# install libRmath.so + cd src/nmath/standalone + make DESTDIR="${pkgdir}" install + + # Fixup R wrapper scripts. + sed -i "s|${pkgdir} ||" "${pkgdir}/usr/bin/R" + rm "${pkgdir}/usr/lib/R/bin/R" + cd "${pkgdir}/usr/lib/R/bin" + ln -s ../../../bin/R + + # install some freedesktop.org compatibility + install -Dm644 "${srcdir}/r.desktop" \ + "${pkgdir}/usr/share/applications/r.desktop" + install -Dm644 "${srcdir}/r.png" \ + "${pkgdir}/usr/share/pixmaps/r.png" + + # move the config directory to /etc and create symlinks + install -d "${pkgdir}/etc/R" + cd "${pkgdir}/usr/lib/R/etc" + for i in *; do + mv -f ${i} "${pkgdir}/etc/R" + ln -s /etc/R/${i} ${i} + done + + # Install ld.so.conf.d file to ensure other applications access the shared lib + install -Dm644 "${srcdir}/R.conf" "${pkgdir}/etc/ld.so.conf.d/R.conf" +} diff --git a/abs/extra/r/R.conf b/abs/extra/r/R.conf new file mode 100644 index 0000000..e360859 --- /dev/null +++ b/abs/extra/r/R.conf @@ -0,0 +1,2 @@ +/usr/lib/R/lib + diff --git a/abs/extra/r/r.desktop b/abs/extra/r/r.desktop new file mode 100644 index 0000000..7732c9b --- /dev/null +++ b/abs/extra/r/r.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=R +GenericName=environment for statistical computing +Comment=language and environment for statistical computing and graphics +Exec=R +Icon=/usr/share/pixmaps/r.png +DocPath=/usr/lib/R/doc/html/index.html +StartupNotify=true +Terminal=true +Type=Application +Categories=Science; diff --git a/abs/extra/r/r.install b/abs/extra/r/r.install new file mode 100644 index 0000000..522ce52 --- /dev/null +++ b/abs/extra/r/r.install @@ -0,0 +1,16 @@ +post_install() { + update-desktop-database -q + if [[ -x /usr/bin/mktexlsr ]]; then + echo ">>> updating the filename database for texlive..." + mktexlsr --quiet usr/share/texmf + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + diff --git a/abs/extra/r/r.png b/abs/extra/r/r.png Binary files differnew file mode 100644 index 0000000..1303ccd --- /dev/null +++ b/abs/extra/r/r.png diff --git a/abs/extra/rest/PKGBUILD b/abs/extra/rest/PKGBUILD new file mode 100644 index 0000000..050f42d --- /dev/null +++ b/abs/extra/rest/PKGBUILD @@ -0,0 +1,29 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> + +pkgname=rest +pkgver=0.7.92 +pkgrel=1 +pkgdesc="A helper library for RESTful services." +arch=(i686 x86_64) +url="http://www.gtk.org/" +license=(GPL2) +depends=(glib2 libxml2 'libsoup') +makedepends=(gobject-introspection python2) +source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-${pkgver}.tar.xz) +sha256sums=('07548c8785a3e743daf54a82b952ff5f32af94fee68997df4c83b00d52f9c0ec') + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/rrdtool/PKGBUILD b/abs/extra/rrdtool/PKGBUILD index d22d133..fb5a6fe 100644 --- a/abs/extra/rrdtool/PKGBUILD +++ b/abs/extra/rrdtool/PKGBUILD @@ -1,39 +1,48 @@ -# $Id: PKGBUILD 88191 2010-08-21 01:59:03Z eric $ -# Maintainer: Eric Belanger <eric@archlinux.org> -# Contributor: Tom K <tom@archlinux.org> +# $Id$ +# Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=rrdtool -pkgver=1.4.4 -pkgrel=2 +pkgver=1.4.8 +pkgrel=4 pkgdesc="Data logging and graphing application" arch=('i686' 'x86_64') url="http://www.rrdtool.org" license=('GPL' 'custom') -depends=('libpng' 'libxml2' 'pango') -makedepends=('intltool' 'ruby' 'python2' 'tcl' 'lua') +depends=('libxml2' 'pango' 'ttf-dejavu') +makedepends=('intltool' 'ruby' 'python2' 'tcl' 'lua51') optdepends=('tcl: to use corresponding binding' \ 'python2: to use corresponding binding' \ 'ruby: to use corresponding binding' \ - 'lua: to use corresponding binding') -options=('!libtool' '!emptydirs' '!makeflags') -changelog=ChangeLog -source=(http://oss.oetiker.ch/rrdtool/pub/rrdtool-${pkgver}.tar.gz) -md5sums=('93ad2fc2e9ddcd7d99c611fe30284a54') -sha1sums=('e4715c13f2a6fd077c54911d396eb573788377b0') + 'lua51: to use corresponding binding') +options=('!emptydirs' '!makeflags') +source=(http://oss.oetiker.ch/rrdtool/pub/rrdtool-${pkgver}.tar.gz + rrdtool-pangofont.patch rrdtool-systemd.patch) +sha1sums=('56d68857f39e70bfa32360947614d8220702ed02' + '8c600285bdab7776c1d5301df7cf486d69eae048' + '963b600f8056d85305b6ff4554fa1e7b9b5a4ae1') + +prepare() { + cd ${pkgname}-${pkgver} + # fix FS#28521 make ruby install to vendor_ruby instead of site_ruby + sed -e 's/$(RUBY) extconf.rb/& --vendor/' -i bindings/Makefile.am + patch -p1 -i "${srcdir}/rrdtool-pangofont.patch" + patch -p1 -i "${srcdir}/rrdtool-systemd.patch" +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --localstatedir=/var --disable-rpath --enable-perl \ - --enable-perl-site-install --with-perl-options='INSTALLDIRS=vendor' \ + cd ${pkgname}-${pkgver} + autoreconf + PYTHON=python2 LUA=/usr/bin/lua5.1 \ + LUA_CFLAGS="-I/usr/include/lua5.1 -llua5.1" LUA_INSTALL_CMOD="/usr/lib/lua/5.1" \ + ./configure --prefix=/usr --localstatedir=/var --disable-rpath \ + --enable-perl --enable-perl-site-install --with-perl-options='INSTALLDIRS=vendor' \ --enable-ruby --enable-ruby-site-install --enable-python \ - --enable-lua --enable-lua-site-install \ - --enable-tcl - make + --enable-lua --enable-lua-site-install --enable-tcl --disable-libwrap + make LIBS+="-lglib-2.0" } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" LIBRUBYARG_SHARED="-Wl,-L/usr/lib -lruby" \ - LIBPATH="-L. -L/usr/lib -L../../src/.libs" install + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" includedir=/usr/include install install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/abs/extra/rrdtool/rrdtool-pangofont.patch b/abs/extra/rrdtool/rrdtool-pangofont.patch new file mode 100644 index 0000000..60936d8 --- /dev/null +++ b/abs/extra/rrdtool/rrdtool-pangofont.patch @@ -0,0 +1,39 @@ +From ba76d4915eb3d379d69205957e48edea4aee27b6 Mon Sep 17 00:00:00 2001 +From: Tobias Oetiker <tobi@oetiker.ch> +Date: Wed, 24 Apr 2013 23:49:28 +0200 +Subject: [PATCH] move to non-deprecated pango_font_map_create_context + +--- + configure.ac | 2 +- + src/rrd_graph.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2f9e395..d6b2722 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -535,7 +535,7 @@ EX_CHECK_ALL(cairo, cairo_font_options_create, cairo.h, + EX_CHECK_ALL(cairo, cairo_svg_surface_create, cairo-svg.h, cairo-svg, 1.10.2, http://cairographics.org/releases/, "") + EX_CHECK_ALL(cairo, cairo_pdf_surface_create, cairo-pdf.h, cairo-pdf, 1.10.2, http://cairographics.org/releases/, "") + EX_CHECK_ALL(cairo, cairo_ps_surface_create, cairo-ps.h, cairo-ps, 1.10.2, http://cairographics.org/releases/, "") +-EX_CHECK_ALL(pangocairo-1.0, pango_cairo_context_set_font_options, pango/pango.h, pangocairo, 1.28.4, http://ftp.gnome.org/pub/GNOME/sources/pango/1.28, "") ++EX_CHECK_ALL(pangocairo-1.0, pango_font_map_create_context, pango/pango.h, pangocairo, 1.28.4, http://ftp.gnome.org/pub/GNOME/sources/pango/1.28, "") + + fi + EX_CHECK_ALL(glib-2.0, glib_check_version, glib.h, glib-2.0, 2.28.7, ftp://ftp.gtk.org/pub/glib/2.28/, "") +diff --git a/src/rrd_graph.c b/src/rrd_graph.c +index 5547aa6..25ae485 100644 +--- a/src/rrd_graph.c ++++ b/src/rrd_graph.c +@@ -4282,7 +4282,7 @@ void rrd_graph_init( + fontmap = pango_cairo_font_map_get_default(); + } + +- context = pango_cairo_font_map_create_context((PangoCairoFontMap*)fontmap); ++ context = pango_font_map_create_context(fontmap); + + pango_cairo_context_set_resolution(context, 100); + +-- +1.8.1.6 + diff --git a/abs/extra/rrdtool/rrdtool-systemd.patch b/abs/extra/rrdtool/rrdtool-systemd.patch new file mode 100644 index 0000000..856f9ef --- /dev/null +++ b/abs/extra/rrdtool/rrdtool-systemd.patch @@ -0,0 +1,140 @@ +From 78b519eb2ffa786d6427bb13277e9151ef7b111e Mon Sep 17 00:00:00 2001 +From: Tobias Oetiker <tobi@oetiker.ch> +Date: Mon, 2 Jul 2012 15:05:32 +0000 +Subject: [PATCH] serviced config etc files for rrdtool + +git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@2292 a5681a0c-68f1-0310-ab6d-d61299d08faa +--- + etc/rrdcached.service.in | 19 +++++++++++++++++++ + etc/rrdcached.socket.in | 18 ++++++++++++++++++ + 2 files changed, 37 insertions(+) + create mode 100644 etc/rrdcached.service.in + create mode 100644 etc/rrdcached.socket.in + +diff --git a/etc/rrdcached.service.in b/etc/rrdcached.service.in +new file mode 100644 +index 0000000..3b6f309 +--- /dev/null ++++ b/etc/rrdcached.service.in +@@ -0,0 +1,19 @@ ++# ++# To customize, copy this file to /etc/systemd/system/ ++# and edit there ++# ++ ++[Unit] ++Description=Data caching daemon for rrdtool ++Documentation=man:rrdcached(1) ++ ++[Service] ++# If you enable socket-activable rrdcached.socket, ++# command line socket declarations will be ignored ++ExecStart=@prefix@/bin/rrdcached -g ++#WorkingDirectory= ++#User= ++#Group= ++ ++[Install] ++WantedBy=multi-user.target +diff --git a/etc/rrdcached.socket.in b/etc/rrdcached.socket.in +new file mode 100644 +index 0000000..7a2d63e +--- /dev/null ++++ b/etc/rrdcached.socket.in +@@ -0,0 +1,18 @@ ++# ++# To customize, copy this file to /etc/systemd/system/ ++# and edit there ++# ++ ++[Unit] ++Description=sockets activating rrdcached ++Documentation=man:rrdcached(1) ++ ++[Socket] ++ListenStream=/tmp/rrdcached.sock ++#ListenStream=[::1]:42217 ++#DirectoryMode=0755 ++#SocketMode=0666 ++#BindToDevice= ++ ++[Install] ++WantedBy=sockets.target +-- +1.8.4 + +From 134ed0d33953e7e71c55454591c1078f7ae1db8a Mon Sep 17 00:00:00 2001 +From: Tobias Oetiker <tobi@oetiker.ch> +Date: Mon, 2 Jul 2012 14:01:06 +0000 +Subject: [PATCH] wire up systemd support in autoconf -- tomek@pipebreaker.pl + +git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@2291 a5681a0c-68f1-0310-ab6d-d61299d08faa +--- + Makefile.am | 6 ++++++ + configure.ac | 12 ++++++++++++ + doc/rrdcached.pod | 2 ++ + 3 files changed, 20 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 20b2e0a..11d16d3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -29,6 +29,12 @@ ACLOCAL_M4= $(top_srcdir)/aclocal.m4 + + # $(RSYNC) CHANGES archive/$(PACKAGE)-$(VERSION).tar.gz tobi@ipn.caida.org:/ipn/web/Tools/RRDtool/pub/ + ++if HAVE_SYSTEMD ++systemdsystemunit_DATA = \ ++ etc/rrdcached.socket \ ++ etc/rrdcached.service ++endif ++ + site-perl-inst: site-perl-install + + site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefile +diff --git a/configure.ac b/configure.ac +index 51c3f81..ab210d1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -918,6 +918,17 @@ AC_ARG_VAR(RRDDOCDIR, [[DATADIR/doc/PACKAGE-VERSION] Documentation directory]) + if test -z "$RRDDOCDIR"; then + RRDDOCDIR='${datadir}/doc/${PACKAGE}-${VERSION}'; fi + ++# systemd check ++PKG_PROG_PKG_CONFIG ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) ++if test "x$with_systemdsystemunitdir" != xno; then ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ++ AC_OUTPUT([etc/rrdcached.socket etc/rrdcached.service]) ++fi ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) ++ + + CONFIGURE_PART(Apply Configuration Information) + +@@ -993,6 +1004,7 @@ echo " Build librrd MT: $enable_pthread" + echo " Use gettext: $USE_NLS" + echo " With libDBI: $have_libdbi" + echo " With libwrap: $have_libwrap" ++echo " With systemd dir: $with_systemdsystemunitdir" + echo + echo " Libraries: $ALL_LIBS" + echo +diff --git a/doc/rrdcached.pod b/doc/rrdcached.pod +index 18adcf1..7c0b30c 100644 +--- a/doc/rrdcached.pod ++++ b/doc/rrdcached.pod +@@ -448,6 +448,8 @@ accepted commands to those needed by external clients. If, for example, + external clients want to draw graphs of the cached data, they should only be + allowed to use the C<FLUSH> command. + ++Authorization does not work when rrcached is socket-activated by systemd. ++ + =head2 Encryption + + There is no encryption. +-- +1.8.4 + diff --git a/abs/extra/samba/PKGBUILD b/abs/extra/samba/PKGBUILD index d1b2e44..f813ab6 100644 --- a/abs/extra/samba/PKGBUILD +++ b/abs/extra/samba/PKGBUILD @@ -10,17 +10,17 @@ pkgbase=samba pkgname=('libwbclient' 'smbclient' 'samba') -pkgver=4.1.12 +pkgver=4.1.14 # We use the 'A' to fake out pacman's version comparators. Samba chooses # to append 'a','b',etc to their subsequent releases, which pamcan # misconstrues as alpha, beta, etc. Bad samba! -_realver=4.1.12 +_realver=4.1.14 pkgrel=1 arch=(i686 x86_64) url="http://www.samba.org" license=('GPL3') makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups' - 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.17' 'krb5' 'pam' + 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam' 'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus') source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz samba.logrotate @@ -241,7 +241,7 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ # copy ldap example install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('232016d7581a1ba11e991ec2674553c4' +md5sums=('9f7bae123ed39d2aa9ba842d3a138d54' '5697da77590ec092cc8a883bae06093c' '96f82c38f3f540b53f3e5144900acf17' 'ee4763a656cf00d92bfda31b6bb2c5cb' diff --git a/abs/extra/samba/__changelog b/abs/extra/samba/__changelog index b6a8d39..8fcf9eb 100644 --- a/abs/extra/samba/__changelog +++ b/abs/extra/samba/__changelog @@ -1,2 +1,2 @@ -PKGBUILD: removefam/gamin, systemd +PKGBUILD: remove fam/gamin, systemd samba.install: add systemconfig.py -m fileshare diff --git a/abs/extra/sdl2/PKGBUILD b/abs/extra/sdl2/PKGBUILD new file mode 100644 index 0000000..0511e43 --- /dev/null +++ b/abs/extra/sdl2/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +pkgname=sdl2 +pkgver=2.0.3 +pkgrel=1 +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2)" +arch=('i686' 'x86_64') +url="http://www.libsdl.org" +license=('MIT') +depends=('glibc' 'libxext' 'libxrender' 'libx11' 'libgl' 'libxcursor') +makedepends=('alsa-lib' 'mesa' 'libxrandr' 'libxinerama' 'wayland' 'libxkbcommon') +optdepends=('alsa-lib: ALSA audio driver') +source=("http://www.libsdl.org/release/SDL2-${pkgver}.tar.gz") +md5sums=('fe6c61d2e9df9ef570e7e80c6e822537') + +prepare() { + mkdir build +} + +build() { + cd build + ../SDL2-$pkgver/configure --prefix=/usr \ + --enable-sdl-dlopen \ + --disable-arts --disable-esd --disable-nas \ + --enable-alsa --disable-pulseaudio-shared \ + --enable-video-wayland \ + --disable-rpath + make +} + +package() { + cd build + make DESTDIR="$pkgdir" install + install -Dm644 ../SDL2-$pkgver/COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/abs/extra/sdl2/__changelog b/abs/extra/sdl2/__changelog new file mode 100644 index 0000000..8f75429 --- /dev/null +++ b/abs/extra/sdl2/__changelog @@ -0,0 +1,2 @@ +PKGBUILD: remove libpulse dep +PKGBUILD: in configure: --disable-pulseaudio-shared diff --git a/abs/extra/sdl_image/PKGBUILD b/abs/extra/sdl_image/PKGBUILD index 3f5fefb..b34aa05 100644 --- a/abs/extra/sdl_image/PKGBUILD +++ b/abs/extra/sdl_image/PKGBUILD @@ -1,28 +1,27 @@ -# $Id: PKGBUILD 148924 2012-02-05 11:56:07Z ibiru $ +# $Id$ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=sdl_image pkgver=1.2.12 -pkgrel=2 +pkgrel=3 pkgdesc="A simple library to load images of various formats as SDL surfaces" arch=('i686' 'x86_64') license=('custom') depends=('sdl>=1.2.13' 'libpng' 'libjpeg>=7' 'libtiff' 'zlib') -options=('!libtool') url="http://www.libsdl.org/projects/SDL_image/" source=(http://www.libsdl.org/projects/SDL_image/release/SDL_image-$pkgver.tar.gz) md5sums=('a0f9098ebe5400f0bdc9b62e60797ecb') build() { - cd "$srcdir/SDL_image-$pkgver" + cd SDL_image-$pkgver ./configure --prefix=/usr --disable-static make } package() { - cd "$srcdir/SDL_image-$pkgver" + cd SDL_image-$pkgver make DESTDIR="$pkgdir" install install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" diff --git a/abs/extra/sdl_mixer/PKGBUILD b/abs/extra/sdl_mixer/PKGBUILD index 626d401..1ac5bbe 100644 --- a/abs/extra/sdl_mixer/PKGBUILD +++ b/abs/extra/sdl_mixer/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 170804 2012-11-12 02:00:36Z heftig $ +# $Id$ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> @@ -6,7 +6,7 @@ pkgname=sdl_mixer pkgver=1.2.12 -pkgrel=3 +pkgrel=4 pkgdesc="A simple multi-channel audio mixer" arch=('i686' 'x86_64') url="http://www.libsdl.org/projects/SDL_mixer/" @@ -14,7 +14,6 @@ license=('custom') depends=('sdl>=1.2.12' 'libvorbis' 'libmikmod' 'smpeg') makedepends=('fluidsynth') optdepends=('fluidsynth: MIDI software synth, replaces built-in timidity') -options=('!libtool') source=(http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-$pkgver.tar.gz mikmod1.patch mikmod2.patch fluidsynth-volume.patch double-free-crash.patch) md5sums=('e03ff73d77a55e3572ad0217131dc4a1' diff --git a/abs/extra/shairplay/PKGBUILD b/abs/extra/shairplay/PKGBUILD index e5f4d44..6dcd537 100644 --- a/abs/extra/shairplay/PKGBUILD +++ b/abs/extra/shairplay/PKGBUILD @@ -5,7 +5,7 @@ pkgname=shairplay _gitname=shairplay pkgver=20140422 -pkgrel=1 +pkgrel=2 pkgdesc='Apple airplay and raop protocol server' arch=('i686' 'x86_64') url='https://github.com/juhovh/shairplay' @@ -18,8 +18,6 @@ source=("$_gitname::git://github.com/juhovh/shairplay.git#commit=64d59e3087f8290 sha256sums=('SKIP' 'f0a176539a6c5be46dc832d054be2f18c3256e5fd34c5f1416c9463bd75c82b3') options=(!libtool) -provides=('libshairport') -conflicts=('libshairport') build() { cd $_gitname diff --git a/abs/extra/snes9x/PKGBUILD b/abs/extra/snes9x/PKGBUILD index 68b8032..a38ac44 100644 --- a/abs/extra/snes9x/PKGBUILD +++ b/abs/extra/snes9x/PKGBUILD @@ -1,37 +1,42 @@ -# $Id: PKGBUILD 78959 2012-10-28 04:11:03Z ebelanger $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgbase=snes9x pkgname=('snes9x' 'snes9x-gtk') pkgver=1.53 -pkgrel=5 +pkgrel=8 arch=('i686' 'x86_64') url="https://code.google.com/p/snes9x-gtk/" license=('custom') -makedepends=('intltool' 'nasm' 'mesa' 'libpng' 'sdl' 'gtk2' 'libxv' \ - 'desktop-file-utils' ) +makedepends=('intltool' 'nasm' 'mesa' 'libpng' 'sdl' 'gtk2' 'libxv' + 'desktop-file-utils') source=(http://snes9x-gtk.googlecode.com/files/${pkgbase}-${pkgver}-src.tar.bz2 - snes9x-gtk2.24.diff.gz) + snes9x-gtk2.24.diff.gz snes9x-fix-crash.patch) sha1sums=('57be6480369f66b9aaaeb722789ce114f58ed1e2' - '680dbe0a70f1821bc7931539e72f5a1a95e3938c') + '680dbe0a70f1821bc7931539e72f5a1a95e3938c' + '995495c68ffc00d8266d10a7bd8fc74fb6c147b1') -build() { - cd "${srcdir}/${pkgbase}-${pkgver}-src" +prepare() { + cd ${pkgbase}-${pkgver}-src patch -p1 -i "${srcdir}/snes9x-gtk2.24.diff" - cd unix + patch -p1 -i "${srcdir}/snes9x-fix-crash.patch" +} + +build() { + cd ${pkgbase}-${pkgver}-src/unix ./configure --prefix=/usr --with-sdd1-decomp --enable-netplay make - cd "${srcdir}/${pkgbase}-${pkgver}-src/gtk" + cd ../gtk ./configure --prefix=/usr --with-sdd1-decomp --with-netplay --with-opengl make } package_snes9x() { pkgdesc="A portable Emulator for the Super Nintendo Entertainment System" - depends=('gcc-libs' 'libpng' 'libxext' 'libsm') + depends=('libpng' 'libxext' 'libsm') - cd "${srcdir}/${pkgbase}-${pkgver}-src/unix" + cd ${pkgbase}-${pkgver}-src/unix install -D -m755 snes9x "${pkgdir}/usr/bin/snes9x" install -d "${pkgdir}/usr/share/doc/${pkgname}" install -D -m644 ../docs/{snes9x.conf.default,{control-inputs,controls,snapshots}.txt} \ @@ -43,10 +48,10 @@ package_snes9x() { package_snes9x-gtk() { pkgdesc="A portable Emulator for the Super Nintendo Entertainment System - GTK version" license=('custom' 'LGPL') - depends=('sdl' 'libgl' 'libpulse' 'gtk2' 'libxv' 'desktop-file-utils' 'gnome-icon-theme') + depends=('sdl' 'libpulse' 'gtk2' 'libxv' 'desktop-file-utils' 'gnome-icon-theme') install=snes9x-gtk.install - cd "${srcdir}/${pkgbase}-${pkgver}-src/gtk" + cd ${pkgbase}-${pkgver}-src/gtk make DESTDIR="${pkgdir}" install install -d "${pkgdir}/usr/share/doc/${pkgname}" install -D -m644 ../docs/{snes9x.conf.default,{control-inputs,controls,snapshots}.txt} \ diff --git a/abs/extra/snes9x/snes9x-fix-crash.patch b/abs/extra/snes9x/snes9x-fix-crash.patch new file mode 100644 index 0000000..95ed192 --- /dev/null +++ b/abs/extra/snes9x/snes9x-fix-crash.patch @@ -0,0 +1,30 @@ +From 6d74746342a73cf65db215f4fdecdfb0cae66792 Mon Sep 17 00:00:00 2001 +From: Brandon Wright <bearoso@gmail.com> +Date: Mon, 10 Feb 2014 16:28:05 -0600 +Subject: [PATCH] Fix bug caused by virtual directories. + +--- + gtk/src/gtk_file.cpp | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/gtk/src/gtk_file.cpp b/gtk/src/gtk_file.cpp +index a0df75d..9c0e000 100644 +--- a/gtk/src/gtk_file.cpp ++++ b/gtk/src/gtk_file.cpp +@@ -465,8 +465,11 @@ S9xOpenROMDialog (void) + filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); + directory = + gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog)); +- strncpy (gui_config->last_directory, directory, PATH_MAX); +- g_free (directory); ++ if (directory) ++ { ++ strncpy (gui_config->last_directory, directory, PATH_MAX); ++ g_free (directory); ++ } + } + + else +-- +1.9.3 + diff --git a/abs/extra/soundtouch/PKGBUILD b/abs/extra/soundtouch/PKGBUILD new file mode 100644 index 0000000..0ea927e --- /dev/null +++ b/abs/extra/soundtouch/PKGBUILD @@ -0,0 +1,31 @@ +# $Id$ +# Maintainer: Eric Bélanger <eric@archlinux.org> + +pkgname=soundtouch +pkgver=1.8.0 +pkgrel=1 +pkgdesc="An audio processing library" +arch=('i686' 'x86_64') +url="http://www.surina.net/soundtouch/" +license=('LGPL') +depends=('gcc-libs') +source=(http://www.surina.net/soundtouch/${pkgname}-${pkgver}.tar.gz) +sha1sums=('2cee2c63194227b4a58da01a7cd92b8632f139cd') + +prepare() { + cd ${pkgname} + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADER/' configure.ac +} + +build() { + cd ${pkgname} + [ "${CARCH}" = "x86_64" ] && CONFIGFLAG="--with-pic" + ./bootstrap + ./configure --prefix=/usr --enable-shared ${CONFIGFLAG} + make +} + +package() { + cd ${pkgname} + make DESTDIR="${pkgdir}" pkgdocdir=/usr/share/doc/soundtouch install +} diff --git a/abs/extra/syslinux/PKGBUILD b/abs/extra/syslinux/PKGBUILD index e68cc11..4b81011 100644 --- a/abs/extra/syslinux/PKGBUILD +++ b/abs/extra/syslinux/PKGBUILD @@ -1,18 +1,26 @@ -# Maintainer : Tobias Powalowski <tpowa@archlinux.org> -# Maintainer : Thomas Bächler <thomas@archlinux.org> -# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> -pkgname="syslinux" -pkgver="6.02" -pkgrel="8" -arch=('x86_64' 'i686') -pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE" -url="http://syslinux.zytor.com/" -license=('GPL2') -options=('!makeflags' '!emptydirs') -backup=('boot/syslinux/syslinux.cfg') -makedepends=('python2' 'nasm' 'gnu-efi-libs') -depends=('perl' 'glibc') +pkgname=syslinux +pkgver=6.03 +_tag=syslinux-$pkgver +pkgrel=2 +pkgdesc='Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE' +url='http://www.syslinux.org/' +arch=(i686 x86_64) +backup=(boot/syslinux/syslinux.cfg) +install=syslinux.install +license=(GPL2) +# syslinux build system is a mess of submakes that does not work with -jN +# efi32/com32 do not like Arch cflags/ldflags, though it would be nice to have the flags for userspace tools +options=(!makeflags !buildflags) +makedepends=(git python2 nasm upx asciidoc) +if [[ "$CARCH" == x86_64 ]]; then + # efi32 needs it + makedepends+=(lib32-glibc) +fi optdepends=('perl-passwd-md5: For md5pass' 'perl-digest-sha1: For sha1pass' 'mtools: For mkdiskimage and syslinux support' @@ -20,174 +28,53 @@ optdepends=('perl-passwd-md5: For md5pass' 'util-linux: For isohybrid' 'efibootmgr: For EFI support' 'dosfstools: For EFI support') -install="${pkgname}.install" -source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/${pkgname}-${pkgver}.tar.xz" - 'syslinux.cfg' - 'syslinux-install_update' - 'syslinux-6.02-fix-chainloading.patch' - 'syslinux-6.02-fix-bios-isolinux.patch' - 'syslinux-6.02-fix-efi-ovmf.patch') -prepare() { - - cd "${srcdir}/${pkgname}-${pkgver}/" - - ## Do not try to build the Windows or DOS installers and DIAG files - sed 's|diag libinstaller dos win32 win64 dosutil txt|libinstaller txt|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|win32/syslinux.exe win64/syslinux64.exe||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|dosutil/*.com dosutil/*.sys||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|dos/syslinux.com||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|INSTALLSUBDIRS = com32 utils dosutil|INSTALLSUBDIRS = com32 utils|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - sed 's|install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|# install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true - - ## Fix FHS manpage path - sed 's|/usr/man|/usr/share/man|g' -i "${srcdir}/${pkgname}-${pkgver}/mk/syslinux.mk" || true - - # fix chainloading - # http://bugzilla.syslinux.org/show_bug.cgi?id=31 - # http://www.syslinux.org/archives/2013-October/020971.html - patch -Np1 -i "${srcdir}/syslinux-6.02-fix-chainloading.patch" - - # fix bios booting from isohybrid - # http://www.syslinux.org/archives/2013-November/021189.html - patch -Np1 -i "${srcdir}/syslinux-6.02-fix-bios-isolinux.patch" - # fix efi booting in qemu/ovmf - # http://bugzilla.syslinux.org/show_bug.cgi?id=23 - patch -Np1 -i "${srcdir}/syslinux-6.02-fix-efi-ovmf.patch" - -} +# The syslinux-install_update script is maintained at https://gist.github.com/pyther/772138 +# Script not yet updated for syslinux-efi +source=(git://git.kernel.org/pub/scm/boot/syslinux/syslinux.git#tag=$_tag + syslinux.cfg + syslinux-install_update) +sha1sums=('SKIP' + '1145f454bd297d373ad123425f93620c3e92f585' + 'd22e7e3fc544cf8a49f27ae9a25f17e65f575ea1') -_build_syslinux_bios() { - - rm -rf "${srcdir}/${pkgname}-${pkgver}-bios/" || true - cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-bios" - cd "${srcdir}/${pkgname}-${pkgver}-bios/" - - ## Do not try to build syslinux with our default LDFLAGS, it will fail - unset LDFLAGS - make PYTHON="python2" bios - make PYTHON="python2" bios installer - -} +_targets='bios efi32' +case "$CARCH" in + x86_64) _targets+=' efi64' ;; +esac -_build_syslinux_efi64() { - - rm -rf "${srcdir}/${pkgname}-${pkgver}-efi64/" || true - cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi64" - cd "${srcdir}/${pkgname}-${pkgver}-efi64/" - - ## Unset all compiler FLAGS for efi64 build - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - make PYTHON="python2" efi64 - make PYTHON="python2" efi64 installer - -} +prepare() { + cd syslinux -_build_syslinux_efi32() { - - rm -rf "${srcdir}/${pkgname}-${pkgver}-efi32/" || true - cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi32" - cd "${srcdir}/${pkgname}-${pkgver}-efi32/" - - ## Unset all compiler FLAGS for efi32 build - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - make PYTHON="python2" efi32 - make PYTHON="python2" efi32 installer - -} + # do not swallow efi compilation output to make debugging easier + sed 's|> /dev/null 2>&1||' -i efi/check-gnu-efi.sh -build() { - - cd "${srcdir}/${pkgname}-${pkgver}/" - - ## Build syslinux-efi - if [[ "${CARCH}" == "x86_64" ]]; then - _build_syslinux_efi64 - fi - - if [[ "${CARCH}" == "i686" ]]; then - _build_syslinux_efi32 - fi - - ## Build syslinux-bios - _build_syslinux_bios - + # disable debug and development flags to reduce bootloader size + truncate --size 0 mk/devel.mk } -_package_syslinux_bios() { - - cd "${srcdir}/${pkgname}-${pkgver}-bios/" - - ## Install Syslinux bios - make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/bios/" bios install - - ## Remove syslinux.exe,syslinux64.exe,syslinux.com and dosutil dir - rm "${pkgdir}/usr/lib/syslinux/bios"/syslinux.{com,exe} || true - rm "${pkgdir}/usr/lib/syslinux/bios/syslinux64.exe" || true - rm -rf "${pkgdir}/usr/lib/syslinux/bios/dosutil/" || true - - ## Remove com32 and diag dirs - rm -rf "${pkgdir}/usr/lib/syslinux/bios/diag/" || true - rm -rf "${pkgdir}/usr/lib/syslinux/bios/com32/" || true - - ## Move extlinux binary to /usr/bin - install -d "${pkgdir}/usr/bin" - mv "${pkgdir}/sbin/extlinux" "${pkgdir}/usr/bin/extlinux" - rm -rf "${pkgdir}/sbin/" - - ## Install docs - install -d "${pkgdir}/usr/share/doc" - cp -ar "${srcdir}/${pkgname}-${pkgver}/doc" "${pkgdir}/usr/share/doc/syslinux" - - ## Install the default configuration - install -D -m0644 "${srcdir}/syslinux.cfg" "${pkgdir}/boot/syslinux/syslinux.cfg" - - ## Install the installation and update script - ## This script is maintained at git://gist.github.com/772138.git - ## Script not yet updated for syslinux-efi - install -D -m0755 "${srcdir}/syslinux-install_update" "${pkgdir}/usr/bin/syslinux-install_update" - +build() { + cd syslinux + make PYTHON=python2 $_targets } -_package_syslinux_efi() { - - cd "${srcdir}/${pkgname}-${pkgver}/" - - if [[ "${CARCH}" == "x86_64" ]]; then - cd "${srcdir}/${pkgname}-${pkgver}-efi64/" - make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi64 install - fi - - if [[ "${CARCH}" == "i686" ]]; then - cd "${srcdir}/${pkgname}-${pkgver}-efi32/" - make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi32 install - fi - +check() { + cd syslinux + make unittest } package() { - - cd "${srcdir}/${pkgname}-${pkgver}/" - - _package_syslinux_efi - - _package_syslinux_bios - -} + cd syslinux + make $_targets install INSTALLROOT="$pkgdir" SBINDIR=/usr/bin MANDIR=/usr/share/man AUXDIR=/usr/lib/syslinux -md5sums=('6f275813a1b08cf852e55c0a3f8fbc78' - '46ca150f53322ff8f1597d9a342f7e40' - '9376f18fa3e42fc36cffa4cff0a84c09' - '9dbede6b71a4de9e46aac4aad65334d7' - 'adf71eceb4fccecd9a7efe1ab3d54918' - '62d22b101ef2ef53e25b4f86d9f41cb5') + rm -r "$pkgdir"/usr/lib/syslinux/{com32,dosutil,syslinux.com} + install -D -m644 COPYING "$pkgdir"/usr/share/licenses/syslinux/COPYING + install -d "$pkgdir"/usr/share/doc + cp -ar doc "$pkgdir"/usr/share/doc/syslinux + + install -d "$pkgdir"/usr/lib/syslinux/bios + mv "$pkgdir"/usr/lib/syslinux/{*.bin,*.c32,*.0,memdisk} "$pkgdir"/usr/lib/syslinux/bios + + install -D -m0644 ../syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg + install -D -m0755 ../syslinux-install_update "$pkgdir"/usr/bin/syslinux-install_update +} diff --git a/abs/extra/syslinux/syslinux-6.02-fix-bios-isolinux.patch b/abs/extra/syslinux/syslinux-6.02-fix-bios-isolinux.patch deleted file mode 100644 index 48df46f..0000000 --- a/abs/extra/syslinux/syslinux-6.02-fix-bios-isolinux.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/core/isolinux.asm b/core/isolinux.asm -index bd4e9556922d..c4db4133e274 100644 ---- a/core/isolinux.asm -+++ b/core/isolinux.asm -@@ -420,7 +420,7 @@ MaxLMA equ 384*1024 ; Reasonable limit (384K) - call getlinsec - pop eax - pop cx -- mov dx,cx -+ movzx edx,cx - pop bp - pop bx diff --git a/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch b/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch deleted file mode 100644 index 6fd7ef4..0000000 --- a/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch +++ /dev/null @@ -1,47 +0,0 @@ -Reported-by: Dark Raven <drdarkraven at gmail.com> -Signed-off-by: Raphael S. Carvalho <raphael.scarv at gmail.com> ---- - com32/lib/syslinux/disk.c | 22 ++++++++++++++-------- - 1 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/com32/lib/syslinux/disk.c b/com32/lib/syslinux/disk.c -index 0b0c737..47ecb52 100644 ---- a/com32/lib/syslinux/disk.c -+++ b/com32/lib/syslinux/disk.c -@@ -171,22 +171,28 @@ out: - static void *ebios_setup(const struct disk_info *const diskinfo, com32sys_t *inreg, - uint64_t lba, uint8_t count, uint8_t op_code) - { -- static __lowmem struct disk_ebios_dapa dapa; -+ static struct disk_ebios_dapa *dapa = NULL; - void *buf; - -+ if (!dapa) { -+ dapa = lmalloc(sizeof *dapa); -+ if (!dapa) -+ return NULL; -+ } -+ - buf = lmalloc(count * diskinfo->bps); - if (!buf) - return NULL; - -- dapa.len = sizeof(dapa); -- dapa.count = count; -- dapa.off = OFFS(buf); -- dapa.seg = SEG(buf); -- dapa.lba = lba; -+ dapa->len = sizeof(*dapa); -+ dapa->count = count; -+ dapa->off = OFFS(buf); -+ dapa->seg = SEG(buf); -+ dapa->lba = lba; - - inreg->eax.b[1] = op_code; -- inreg->esi.w[0] = OFFS(&dapa); -- inreg->ds = SEG(&dapa); -+ inreg->esi.w[0] = OFFS(dapa); -+ inreg->ds = SEG(dapa); - inreg->edx.b[0] = diskinfo->disk; - - return buf; diff --git a/abs/extra/syslinux/syslinux-6.02-fix-efi-ovmf.patch b/abs/extra/syslinux/syslinux-6.02-fix-efi-ovmf.patch deleted file mode 100644 index f33f4c1..0000000 --- a/abs/extra/syslinux/syslinux-6.02-fix-efi-ovmf.patch +++ /dev/null @@ -1,621 +0,0 @@ -The value of the field rva_and_sizes_nr is used by OVMF to check the -consistency of the PE file with respect to the field optional_hdr_sz. It -now have the right value. - -Signed-off-by: Celelibi <celelibi at gmail.com> ---- - efi/wrapper.c | 6 +++--- - efi/wrapper.h | 28 ++++++++++++++++------------ - 2 files changed, 19 insertions(+), 15 deletions(-) - -diff --git a/efi/wrapper.c b/efi/wrapper.c -index 04c895f..ec77271 100644 ---- a/efi/wrapper.c -+++ b/efi/wrapper.c -@@ -102,7 +102,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - e_hdr.image_sz = total_sz; - e_hdr.headers_sz = 512; - e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; -- e_hdr.rva_and_sizes_nr = 1; -+ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t); - fwrite(&e_hdr, sizeof(e_hdr), 1, f); - } - else if (class == ELFCLASS64) { -@@ -130,7 +130,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - e_hdr_pe32p.image_sz = total_sz; - e_hdr_pe32p.headers_sz = 512; - e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; -- e_hdr_pe32p.rva_and_sizes_nr = 1; -+ e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t); - fwrite(&e_hdr_pe32p, sizeof(e_hdr_pe32p), 1, f); - } - -@@ -237,7 +237,7 @@ int main(int argc, char **argv) - fprintf(stderr, "Unsupported architecture\n"); - exit(EXIT_FAILURE); - } -- -+ - if (id[EI_MAG0] != ELFMAG0 || - id[EI_MAG1] != ELFMAG1 || - id[EI_MAG2] != ELFMAG2 || -diff --git a/efi/wrapper.h b/efi/wrapper.h -index 4f76991..0e6b38e 100644 ---- a/efi/wrapper.h -+++ b/efi/wrapper.h -@@ -102,12 +102,14 @@ struct extra_hdr { - __uint32_t heap_commit_sz; - __uint32_t loader_flags; - __uint32_t rva_and_sizes_nr; -- __uint64_t export_table; -- __uint64_t import_table; -- __uint64_t resource_table; -- __uint64_t exception_table; -- __uint64_t certification_table; -- __uint64_t base_relocation_table; -+ struct { -+ __uint64_t export_table; -+ __uint64_t import_table; -+ __uint64_t resource_table; -+ __uint64_t exception_table; -+ __uint64_t certification_table; -+ __uint64_t base_relocation_table; -+ } data_directory; - } __packed; - - /* Extra header for PE32+ format -@@ -136,12 +138,14 @@ struct extra_hdr_pe32p { - __uint64_t heap_commit_sz; - __uint32_t loader_flags; - __uint32_t rva_and_sizes_nr; -- __uint64_t export_table; -- __uint64_t import_table; -- __uint64_t resource_table; -- __uint64_t exception_table; -- __uint64_t certification_table; -- __uint64_t base_relocation_table; -+ struct { -+ __uint64_t export_table; -+ __uint64_t import_table; -+ __uint64_t resource_table; -+ __uint64_t exception_table; -+ __uint64_t certification_table; -+ __uint64_t base_relocation_table; -+ } data_directory; - } __packed; - - struct section { -In the generated PE file, the section header for the .text section used -to address more than the whole file. Starting at offset 0 (before the -end of the headers) is illegal and is rejected by OVMF. Giving a size -greater than the actual file size is also illegal and rejected. - -Moreover, the actual data inside the PE file have to be aligned to at -least 512 bytes. Hence, .text need to be aligned as well. - -Signed-off-by: Celelibi <celelibi at gmail.com> ---- - efi/wrapper.c | 44 +++++++++++++++++++++++++------------------- - 1 file changed, 25 insertions(+), 19 deletions(-) - -diff --git a/efi/wrapper.c b/efi/wrapper.c -index ec77271..bd2c175 100644 ---- a/efi/wrapper.c -+++ b/efi/wrapper.c -@@ -54,11 +54,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - struct coff_hdr c_hdr; - struct header hdr; - struct coff_reloc c_rel; -- __uint32_t total_sz = so_size; -+ __uint32_t total_sz = data_size; - __uint32_t dummy = 0; - __uint32_t hdr_sz; - __uint32_t reloc_start, reloc_end; - -+ hdr_sz = 512; -+ total_sz += hdr_sz; -+ entry += hdr_sz; -+ - memset(&hdr, 0, sizeof(hdr)); - hdr.msdos_signature = MSDOS_SIGNATURE; - -@@ -77,11 +81,6 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - c_hdr.nr_sections = 2; - c_hdr.nr_syms = 1; - if (class == ELFCLASS32) { -- hdr_sz = sizeof(o_hdr) + sizeof(t_sec) + sizeof(e_hdr) + -- sizeof(r_sec) + sizeof(c_hdr) + sizeof(hdr) + sizeof(c_rel) -- + sizeof(dummy); -- total_sz += hdr_sz; -- entry += hdr_sz; - c_hdr.arch = IMAGE_FILE_MACHINE_I386; - c_hdr.characteristics = IMAGE_FILE_32BIT_MACHINE | - IMAGE_FILE_DEBUG_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE | -@@ -92,25 +91,20 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - o_hdr.format = PE32_FORMAT; - o_hdr.major_linker_version = 0x02; - o_hdr.minor_linker_version = 0x14; -- o_hdr.code_sz = total_sz; -+ o_hdr.code_sz = data_size; - o_hdr.entry_point = entry; - o_hdr.initialized_data_sz = data_size; - fwrite(&o_hdr, sizeof(o_hdr), 1, f); - memset(&e_hdr, 0, sizeof(e_hdr)); - e_hdr.section_align = 4096; - e_hdr.file_align = 512; -- e_hdr.image_sz = total_sz; -- e_hdr.headers_sz = 512; -+ e_hdr.image_sz = hdr_sz + so_size; -+ e_hdr.headers_sz = hdr_sz; - e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; - e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t); - fwrite(&e_hdr, sizeof(e_hdr), 1, f); - } - else if (class == ELFCLASS64) { -- hdr_sz = sizeof(o_hdr_pe32p) + sizeof(t_sec) + sizeof(e_hdr_pe32p) + -- sizeof(r_sec) + sizeof(c_hdr) + sizeof(hdr) + sizeof(c_rel) -- + sizeof(dummy); -- total_sz += hdr_sz; -- entry += hdr_sz; - c_hdr.arch = IMAGE_FILE_MACHINE_X86_64; - c_hdr.characteristics = IMAGE_FILE_DEBUG_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE | - IMAGE_FILE_LINE_NUMBERS_STRIPPED; -@@ -120,15 +114,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - o_hdr_pe32p.format = PE32P_FORMAT; - o_hdr_pe32p.major_linker_version = 0x02; - o_hdr_pe32p.minor_linker_version = 0x14; -- o_hdr_pe32p.code_sz = total_sz; -+ o_hdr_pe32p.code_sz = data_size; - o_hdr_pe32p.entry_point = entry; - o_hdr.initialized_data_sz = data_size; - fwrite(&o_hdr_pe32p, sizeof(o_hdr_pe32p), 1, f); - memset(&e_hdr_pe32p, 0, sizeof(e_hdr)); - e_hdr_pe32p.section_align = 4096; - e_hdr_pe32p.file_align = 512; -- e_hdr_pe32p.image_sz = total_sz; -- e_hdr_pe32p.headers_sz = 512; -+ e_hdr_pe32p.image_sz = hdr_sz + so_size; -+ e_hdr_pe32p.headers_sz = hdr_sz; - e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; - e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t); - fwrite(&e_hdr_pe32p, sizeof(e_hdr_pe32p), 1, f); -@@ -136,8 +130,10 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - - memset(&t_sec, 0, sizeof(t_sec)); - strcpy((char *)t_sec.name, ".text"); -- t_sec.virtual_sz = total_sz; -- t_sec.raw_data_sz = total_sz; -+ t_sec.virtual_sz = data_size; -+ t_sec.virtual_address = hdr_sz; -+ t_sec.raw_data_sz = t_sec.virtual_sz; -+ t_sec.raw_data = t_sec.virtual_address; - t_sec.characteristics = IMAGE_SCN_CNT_CODE | - IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE | - IMAGE_SCN_MEM_READ; -@@ -163,6 +159,16 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - fwrite(&c_rel, sizeof(c_rel), 1, f); - fwrite(&dummy, sizeof(dummy), 1, f); - -+ /* -+ * Add some padding to align the ELF as needed -+ */ -+ if (ftell(f) > t_sec.virtual_address) { -+ // A fseek that rewind would be a bug hard to track -+ fprintf(stderr, "PE+ headers are too large.\n"); -+ exit(EXIT_FAILURE); -+ } -+ -+ fseek(f, t_sec.virtual_address, SEEK_SET); - } - - static void usage(char *progname) -There is no need to have a relocation section that nothing points at. -The image is still seen as relocatable as long as the Characteristics of -the FileHeader do not say otherwise. - -Moreover, the field base_relocation_table wasn't initialized properly -leading to unpredictable bugs. - -Signed-off-by: Celelibi <celelibi at gmail.com> ---- - -I'm not 100% positive about the uselessness of the relocation section. However: -1) it works on my real hardware; -2) OVMF doesn't check the section headers at all; -3) all the docs I could find say that the section names are arbitrary; -4) the only way to make the relocation actually happen is by setting the -base_relocation_table field of the extra headers to point to this section; -5) The right way to indicate the image is not relocatable would be by setting -the characteristics IMAGE_FILE_RELOCS_STRIPPED in the coff header. - -Moreover, the relocation entry cannot be inserted before the end of the headers -(512 bytes), this mean we would have to push everything a few bytes further. -And I think it's better if it can be avoided. :) - - efi/wrapper.c | 28 +++------------------------- - 1 file changed, 3 insertions(+), 25 deletions(-) - -diff --git a/efi/wrapper.c b/efi/wrapper.c -index bd2c175..9652368 100644 ---- a/efi/wrapper.c -+++ b/efi/wrapper.c -@@ -48,14 +48,12 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - { - struct optional_hdr o_hdr; - struct optional_hdr_pe32p o_hdr_pe32p; -- struct section t_sec, r_sec; -+ struct section t_sec; - struct extra_hdr e_hdr; - struct extra_hdr_pe32p e_hdr_pe32p; - struct coff_hdr c_hdr; - struct header hdr; -- struct coff_reloc c_rel; - __uint32_t total_sz = data_size; -- __uint32_t dummy = 0; - __uint32_t hdr_sz; - __uint32_t reloc_start, reloc_end; - -@@ -78,7 +76,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - fwrite(&hdr, sizeof(hdr), 1, f); - - memset(&c_hdr, 0, sizeof(c_hdr)); -- c_hdr.nr_sections = 2; -+ c_hdr.nr_sections = 1; - c_hdr.nr_syms = 1; - if (class == ELFCLASS32) { - c_hdr.arch = IMAGE_FILE_MACHINE_I386; -@@ -118,7 +116,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - o_hdr_pe32p.entry_point = entry; - o_hdr.initialized_data_sz = data_size; - fwrite(&o_hdr_pe32p, sizeof(o_hdr_pe32p), 1, f); -- memset(&e_hdr_pe32p, 0, sizeof(e_hdr)); -+ memset(&e_hdr_pe32p, 0, sizeof(e_hdr_pe32p)); - e_hdr_pe32p.section_align = 4096; - e_hdr_pe32p.file_align = 512; - e_hdr_pe32p.image_sz = hdr_sz + so_size; -@@ -140,26 +138,6 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - fwrite(&t_sec, sizeof(t_sec), 1, f); - - /* -- * Write our dummy relocation and reloc section. -- */ -- memset(&r_sec, 0, sizeof(r_sec)); -- strcpy((char *)r_sec.name, ".reloc"); -- r_sec.virtual_sz = sizeof(c_rel); -- r_sec.virtual_address = ftell(f) + sizeof(r_sec); -- r_sec.raw_data_sz = r_sec.virtual_sz; -- r_sec.raw_data = r_sec.virtual_address; -- r_sec.characteristics = IMAGE_SCN_CNT_INITIALIZED_DATA | -- IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_MEM_DISCARDABLE | -- IMAGE_SCN_MEM_READ; -- fwrite(&r_sec, sizeof(r_sec), 1, f); -- -- memset(&c_rel, 0, sizeof(c_rel)); -- c_rel.virtual_address = ftell(f) + sizeof(c_rel); -- c_rel.symtab_index = 10; -- fwrite(&c_rel, sizeof(c_rel), 1, f); -- fwrite(&dummy, sizeof(dummy), 1, f); -- -- /* - * Add some padding to align the ELF as needed - */ - if (ftell(f) > t_sec.virtual_address) { -PE headers code_sz and image_sz indicate more or less, the size of the -file and the size of the in-memory image. They are now given the right -value. - -In the ELF format, only the program headers are reliable to determine -the actually needed part of the file and the in-memory size. - -The .bss section should always be marked as NOLOAD for ld since its -content shouldn't be included into the binary file. - -Signed-off-by: Celelibi <celelibi at gmail.com> ---- - -Again, I'm not 100% positive about the semantics of NOLOAD in a linker script. -However I found this make things work better. -Actually the file core/fs/fs.o have a .bss16 section that is not empty. If I -understood correctly, only .bss can be empty in a .o. Thus ld generates the -zeros that belong to that section in the .o. Then, when merging the section -.bss16 into the .bss of syslinux.so, ld is forced to generate ALL the zeros -that belong to the .bss section. Marking this section as NOLOAD make ld to -ignore its content but still produce a PT_LOAD program header with the right -memory size, as needed for the bss. - - efi/i386/syslinux.ld | 4 +- - efi/wrapper.c | 138 +++++++++++++++---------------------------------- - efi/x86_64/syslinux.ld | 4 +- - 3 files changed, 45 insertions(+), 101 deletions(-) - -diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld -index 523a9b9..bab3fc7 100644 ---- a/efi/i386/syslinux.ld -+++ b/efi/i386/syslinux.ld -@@ -136,7 +136,7 @@ SECTIONS - *(.strtab) - } - -- .bss : { -+ .bss (NOLOAD) : { - /* the EFI loader doesn't seem to like a .bss section, - so we stick it all into .data: */ - __bss_start = .; -@@ -153,7 +153,7 @@ SECTIONS - __bss_dwords = (__bss_len + 3) >> 2; - - . = ALIGN(128); -- -+ - /* Very large objects which don't need to be zeroed */ - - .hugebss : { -diff --git a/efi/wrapper.c b/efi/wrapper.c -index 9652368..a5247ae 100644 ---- a/efi/wrapper.c -+++ b/efi/wrapper.c -@@ -35,7 +35,7 @@ typedef Elf64_Addr Elf_Addr; - #endif - - /* -- * 'so_size' is the file size of the ELF shared object. -+ * 'so_memsz' is the size of the ELF shared object once loaded. - * 'data_size' is the size of initialised data in the shared object. - * 'class' dictates how the header is written - * For 32bit machines (class == ELFCLASS32), the optional -@@ -44,7 +44,7 @@ typedef Elf64_Addr Elf_Addr; - * header includes PE32+header fields - */ - static void write_header(FILE *f, __uint32_t entry, size_t data_size, -- __uint32_t so_size, __uint8_t class) -+ __uint32_t so_memsz, __uint8_t class) - { - struct optional_hdr o_hdr; - struct optional_hdr_pe32p o_hdr_pe32p; -@@ -96,7 +96,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - memset(&e_hdr, 0, sizeof(e_hdr)); - e_hdr.section_align = 4096; - e_hdr.file_align = 512; -- e_hdr.image_sz = hdr_sz + so_size; -+ e_hdr.image_sz = hdr_sz + so_memsz; - e_hdr.headers_sz = hdr_sz; - e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; - e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t); -@@ -119,7 +119,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, - memset(&e_hdr_pe32p, 0, sizeof(e_hdr_pe32p)); - e_hdr_pe32p.section_align = 4096; - e_hdr_pe32p.file_align = 512; -- e_hdr_pe32p.image_sz = hdr_sz + so_size; -+ e_hdr_pe32p.image_sz = hdr_sz + so_memsz; - e_hdr_pe32p.headers_sz = hdr_sz; - e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; - e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t); -@@ -157,17 +157,16 @@ static void usage(char *progname) - - int main(int argc, char **argv) - { -- struct stat st; - Elf32_Ehdr e32_hdr; - Elf64_Ehdr e64_hdr; - __uint32_t entry; - __uint8_t class; -- __uint64_t shoff; -- __uint16_t shnum, shentsize, shstrndx; -+ __uint64_t phoff = 0; -+ __uint16_t phnum = 0, phentsize = 0; - unsigned char *id; - FILE *f_in, *f_out; - void *buf; -- size_t datasz, rv; -+ size_t datasz, memsz, rv; - - if (argc < 3) { - usage(argv[0]); -@@ -180,11 +179,6 @@ int main(int argc, char **argv) - exit(EXIT_FAILURE); - } - -- if (stat(argv[1], &st) != 0) { -- perror("stat"); -- exit(EXIT_FAILURE); -- } -- - f_out = fopen(argv[2], "w"); - if (!f_out) { - perror("fopen"); -@@ -194,15 +188,14 @@ int main(int argc, char **argv) - /* - * Parse the ELF header and find the entry point. - */ -- fread((void *)&e32_hdr, sizeof(e32_hdr), 1, f_in); -+ fread((void *)&e32_hdr, sizeof(e32_hdr), 1, f_in); - if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS32) { - id = e32_hdr.e_ident; - class = ELFCLASS32; - entry = e32_hdr.e_entry; -- shoff = e32_hdr.e_shoff; -- shnum = e32_hdr.e_shnum; -- shstrndx = e32_hdr.e_shstrndx; -- shentsize = e32_hdr.e_shentsize; -+ phoff = e32_hdr.e_phoff; -+ phnum = e32_hdr.e_phnum; -+ phentsize = e32_hdr.e_phentsize; - } - else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) { - /* read the header again for x86_64 -@@ -213,10 +206,9 @@ int main(int argc, char **argv) - fread((void *)&e64_hdr, sizeof(e64_hdr), 1, f_in); - id = e64_hdr.e_ident; - entry = e64_hdr.e_entry; -- shoff = e64_hdr.e_shoff; -- shnum = e64_hdr.e_shnum; -- shstrndx = e64_hdr.e_shstrndx; -- shentsize = e64_hdr.e_shentsize; -+ phoff = e64_hdr.e_phoff; -+ phnum = e64_hdr.e_phnum; -+ phentsize = e64_hdr.e_phentsize; - } else { - fprintf(stderr, "Unsupported architecture\n"); - exit(EXIT_FAILURE); -@@ -230,98 +222,47 @@ int main(int argc, char **argv) - exit(EXIT_FAILURE); - } - -- if (!shoff || !shnum || (shstrndx == SHN_UNDEF)) { -- fprintf(stderr, "Cannot find section table\n"); -+ if (!phoff || !phnum) { -+ fprintf(stderr, "Cannot find segment table\n"); - exit(EXIT_FAILURE); - } - - /* -- * Find the beginning of the .bss section. Everything preceding -- * it is copied verbatim to the output file. -+ * Find the LOAD program header. Everything in this segment -+ * is copied verbatim to the output file. -+ * Although there may be several LOAD program headers, only -+ * one is currently copied. - */ - if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS32) { -- const char *shstrtab, *name; -- Elf32_Shdr shdr; -+ Elf32_Phdr phdr; - int i; -- void *strtab; -- -- fseek(f_in, shoff, SEEK_SET); -- -- /* First find the strtab section */ -- fseek(f_in, shstrndx * shentsize, SEEK_CUR); -- fread(&shdr, sizeof(shdr), 1, f_in); - -- strtab = malloc(shdr.sh_size); -- if (!strtab) { -- fprintf(stderr, "Failed to malloc strtab\n"); -- exit(EXIT_FAILURE); -- } -- -- fseek(f_in, shdr.sh_offset, SEEK_SET); -- fread(strtab, shdr.sh_size, 1, f_in); -- -- /* Now search for the .bss section */ -- fseek(f_in, shoff, SEEK_SET); -- for (i = 0; i < shnum; i++) { -- rv = fread(&shdr, sizeof(shdr), 1, f_in); -- if (!rv) { -- fprintf(stderr, "Failed to read section table\n"); -- exit(EXIT_FAILURE); -- } -+ /* Find the first LOAD program header */ -+ for (i = 0; i < phnum; i++) { -+ fseek(f_in, phoff + i * phentsize, SEEK_SET); -+ fread(&phdr, sizeof(phdr), 1, f_in); - -- name = strtab + shdr.sh_name; -- if (!strcmp(name, ".bss")) -+ if (phdr.p_type == PT_LOAD) - break; - } - -- if (i == shnum) { -- fprintf(stderr, "Failed to find .bss section\n"); -- exit(EXIT_FAILURE); -- } -- -- datasz = shdr.sh_offset; -- } -- else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) { -- const char *shstrtab, *name; -- Elf64_Shdr shdr; -+ datasz = phdr.p_filesz; -+ memsz = phdr.p_memsz; -+ } else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) { -+ Elf64_Phdr phdr; - int i; -- void *strtab; -- -- fseek(f_in, shoff, SEEK_SET); - -- /* First find the strtab section */ -- fseek(f_in, shstrndx * shentsize, SEEK_CUR); -- fread(&shdr, sizeof(shdr), 1, f_in); -- -- strtab = malloc(shdr.sh_size); -- if (!strtab) { -- fprintf(stderr, "Failed to malloc strtab\n"); -- exit(EXIT_FAILURE); -- } -+ /* Find the first LOAD program header */ -+ for (i = 0; i < phnum; i++) { -+ fseek(f_in, phoff + i * phentsize, SEEK_SET); -+ fread(&phdr, sizeof(phdr), 1, f_in); - -- fseek(f_in, shdr.sh_offset, SEEK_SET); -- fread(strtab, shdr.sh_size, 1, f_in); -- -- /* Now search for the .bss section */ -- fseek(f_in, shoff, SEEK_SET); -- for (i = 0; i < shnum; i++) { -- rv = fread(&shdr, sizeof(shdr), 1, f_in); -- if (!rv) { -- fprintf(stderr, "Failed to read section table\n"); -- exit(EXIT_FAILURE); -- } -- -- name = strtab + shdr.sh_name; -- if (!strcmp(name, ".bss")) -+ if (phdr.p_type == PT_LOAD) - break; - } - -- if (i == shnum) { -- fprintf(stderr, "Failed to find .bss section\n"); -- exit(EXIT_FAILURE); -- } -- -- datasz = shdr.sh_offset; -+ datasz = phdr.p_filesz; -+ memsz = phdr.p_memsz; - } - - buf = malloc(datasz); -@@ -330,7 +271,7 @@ int main(int argc, char **argv) - exit(EXIT_FAILURE); - } - -- write_header(f_out, entry, datasz, st.st_size, class); -+ write_header(f_out, entry, datasz, memsz, class); - - /* Write out the entire ELF shared object */ - rewind(f_in); -@@ -341,5 +282,8 @@ int main(int argc, char **argv) - } - - fwrite(buf, datasz, rv, f_out); -+ free(buf); -+ fclose(f_out); -+ fclose(f_in); - return 0; - } -diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld -index 95160bd..450641c 100644 ---- a/efi/x86_64/syslinux.ld -+++ b/efi/x86_64/syslinux.ld -@@ -136,7 +136,7 @@ SECTIONS - *(.strtab) - } - -- .bss : { -+ .bss (NOLOAD) : { - /* the EFI loader doesn't seem to like a .bss section, - so we stick it all into .data: */ - __bss_start = .; -@@ -153,7 +153,7 @@ SECTIONS - __bss_dwords = (__bss_len + 3) >> 2; - - . = ALIGN(128); -- -+ - /* Very large objects which don't need to be zeroed */ - - .hugebss : { diff --git a/abs/extra/syslinux/syslinux-install_update b/abs/extra/syslinux/syslinux-install_update index 3843b5f..513d06b 100644 --- a/abs/extra/syslinux/syslinux-install_update +++ b/abs/extra/syslinux/syslinux-install_update @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/bash # # Syslinux Installer / Updater Script (for BIOS only) # Copyright (C) 2011-2013 Matthew Gyurgyik <pyther@pyther.net> @@ -449,5 +449,3 @@ if [[ $SET_ACTIVE ]] || [[ $MBR ]]; then fi exit 0 - -# vim: set et sw=4: diff --git a/abs/extra/syslinux/syslinux.cfg b/abs/extra/syslinux/syslinux.cfg index 2b77038..d7f69c2 100644 --- a/abs/extra/syslinux/syslinux.cfg +++ b/abs/extra/syslinux/syslinux.cfg @@ -19,13 +19,13 @@ # The wiki provides further configuration examples DEFAULT arch -PROMPT 0 # Set to 1 if you always want to display the boot: prompt +PROMPT 0 # Set to 1 if you always want to display the boot: prompt TIMEOUT 50 # You can create syslinux keymaps with the keytab-lilo tool #KBDMAP de.ktl # Menu Configuration -# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux +# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux UI menu.c32 #UI vesamenu.c32 diff --git a/abs/extra/syslinux/syslinux.install b/abs/extra/syslinux/syslinux.install index 4bb7f85..cbc4e9e 100644 --- a/abs/extra/syslinux/syslinux.install +++ b/abs/extra/syslinux/syslinux.install @@ -1,43 +1,32 @@ -post_install() { - +show_efi_msg() { cat << EOF -==> For setting up Syslinux BIOS using the syslinux-install_update script follow - https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install -EOF - - ## Message specific to Syslinux 4.xx (or 5.xx) to 6.xx upgrade - if [ "$(vercmp $2 6.00)" -lt 0 ]; then - - cat << EOF +==> For setting up Syslinux EFI follow + https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems -==> If you are upgrading from Syslinux 4.xx or 5.xx, please re-install - (not update) Syslinux BIOS manually (not using the install script) once - by following https://wiki.archlinux.org/index.php/Syslinux#Manual_install +==> The syslinux-install_update script does not currently support EFI install -==> The install script may not properly upgrade Syslinux to 6.xx version EOF - - fi - +} + +show_bios_autoupdate_msg() { cat << EOF -==> For setting up Syslinux EFI follow - https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems +==> For setting up Syslinux BIOS using the syslinux-install_update script follow + https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install +EOF +} -==> The syslinux-install_update script does not currently support EFI install +post_install() { + [ -f /boot/syslinux/SYSLINUX_AUTOUPDATE ] || show_bios_autoupdate_msg + [ -d /sys/firmware/efi ] && show_efi_msg -EOF - + true } post_upgrade() { - ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists /usr/bin/syslinux-install_update -s - + post_install - } - -# vim:set ts=2 sw=2 et: diff --git a/abs/extra/ucl/PKGBUILD b/abs/extra/ucl/PKGBUILD new file mode 100644 index 0000000..e58af96 --- /dev/null +++ b/abs/extra/ucl/PKGBUILD @@ -0,0 +1,27 @@ +# $Id$ +# Maintainer: Kyle Keen <keenerd@gmail.com> +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> +# Contributor: arjan <arjan@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> + +pkgname=ucl +pkgver=1.03 +pkgrel=7 +pkgdesc="Portable lossless data compression library written in ANSI C" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.oberhumer.com/opensource/ucl/" +source=("http://www.oberhumer.com/opensource/$pkgname/download/$pkgname-$pkgver.tar.gz") +md5sums=('852bd691d8abc75b52053465846fba34') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --enable-shared --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/unrar/PKGBUILD b/abs/extra/unrar/PKGBUILD index f4ef1a1..68bd852 100644 --- a/abs/extra/unrar/PKGBUILD +++ b/abs/extra/unrar/PKGBUILD @@ -1,35 +1,37 @@ -# $Id: PKGBUILD 161802 2012-06-14 17:00:58Z giovanni $ +# $Id$ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: dorphell <dorphell@gmx.net> pkgbase=unrar pkgname=('unrar' 'libunrar') -pkgver=4.2.4 +pkgver=5.2.2 pkgrel=1 +epoch=1 arch=('i686' 'x86_64') url="http://www.rarlab.com/rar_add.htm" license=('custom') makedepends=('gcc-libs') source=("http://www.rarlab.com/rar/unrarsrc-${pkgver}.tar.gz" - 'unrar-4.2.1-soname.patch') -md5sums=('8ea9d1b4139474b282d76e627a2de3e4' - 'b9ec767da9a36f5ac38034c974e77758') + 'unrar-5.2.2-soname.patch') +md5sums=('69ef5af8442cbb7dfdebe298bfb9c61a' + 'cd9a5291db0379d73148872cf6e6d3ce') -build() { +prepare() { cd "${srcdir}/${pkgbase}" + patch -Np1 -i "${srcdir}/unrar-5.2.2-soname.patch" +} - patch -Np0 -i "${srcdir}/unrar-4.2.1-soname.patch" - +build() { + cd "${srcdir}/${pkgbase}" cp -a ${srcdir}/unrar ${srcdir}/libunrar - make -C "${srcdir}"/libunrar -f makefile.unix lib libversion=${pkgver} CXXFLAGS="-fPIC ${CXXFLAGS}" - make -f makefile.unix CXXFLAGS="-fPIC ${CXXFLAGS}" STRIP="true" + make -C "${srcdir}"/libunrar lib libversion=${pkgver} CXXFLAGS="-fPIC ${CXXFLAGS}" + make CXXFLAGS="-fPIC ${CXXFLAGS}" STRIP="true" } package_unrar() { pkgdesc="The RAR uncompression program" depends=('gcc-libs') cd "${srcdir}/${pkgbase}" - install -Dm755 unrar "${pkgdir}/usr/bin/unrar" # install license install -Dm644 license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" @@ -39,10 +41,9 @@ package_libunrar() { pkgdesc="Library and header file for applications that use libunrar" depends=('gcc-libs') cd "${srcdir}/libunrar" - install -Dm755 libunrar.so.${pkgver} "${pkgdir}/usr/lib/libunrar.so.${pkgver}" install -Dm644 dll.hpp "${pkgdir}/usr/include/unrar/dll.hpp" - ln -s libunrar.so.${pkgver} "${pkgdir}/usr/lib/libunrar.so.4" + ln -s libunrar.so.${pkgver} "${pkgdir}/usr/lib/libunrar.so.5" ln -s libunrar.so.${pkgver} "${pkgdir}/usr/lib/libunrar.so" # install license install -Dm644 license.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" diff --git a/abs/extra/unrar/unrar-4.2.1-soname.patch b/abs/extra/unrar/unrar-5.2.2-soname.patch index 83ebe96..24d250a 100644 --- a/abs/extra/unrar/unrar-4.2.1-soname.patch +++ b/abs/extra/unrar/unrar-5.2.2-soname.patch @@ -1,6 +1,6 @@ ---- makefile.unix 2012-02-23 10:23:14.000000000 +0100 -+++ makefile.unix 2012-05-05 12:58:13.000000000 +0200 -@@ -131,7 +131,7 @@ +--- a/makefile 2013-04-29 16:27:05.000000000 +0200 ++++ b/makefile 2013-10-01 22:07:29.611485989 +0200 +@@ -133,7 +133,7 @@ lib: CXXFLAGS+=$(LIBFLAGS) lib: clean $(OBJECTS) $(LIB_OBJ) @rm -f libunrar.so diff --git a/abs/extra/upx/PKGBUILD b/abs/extra/upx/PKGBUILD new file mode 100644 index 0000000..712920f --- /dev/null +++ b/abs/extra/upx/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: bekks <eduard.warkentin@gmail.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=upx +pkgver=3.91 +pkgrel=1 +pkgdesc='Ultimate executable compressor.' +arch=('i686' 'x86_64') +url='http://upx.sourceforge.net/' +license=('GPL') +depends=('zlib') +makedepends=('ucl') +source=("http://upx.sourceforge.net/download/${pkgname}-${pkgver}-src.tar.bz2" + 'http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2') +md5sums=('c6d0b3ea2ecb28cb8031d59a4b087a43' + '29d5ffd03a5a3e51aef6a74e9eafb759') + +build() { + cd "${pkgname}-${pkgver}-src" + make UPX_LZMA_VERSION=0x465 UPX_LZMADIR="${srcdir}" all +} + +package() { + cd "${pkgname}-${pkgver}-src" + + install -Dm0755 src/upx.out "${pkgdir}/usr/bin/upx" + install -Dm0644 doc/upx.1 "${pkgdir}/usr/share/man/man1/upx.1" +} diff --git a/abs/extra/vala/PKGBUILD b/abs/extra/vala/PKGBUILD index 3d0681d..ed48bef 100644 --- a/abs/extra/vala/PKGBUILD +++ b/abs/extra/vala/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162223 2012-06-23 20:04:12Z ibiru $ +# $Id$ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Timm Preetz <timm@preetz.us> pkgname=vala -pkgver=0.16.1 +pkgver=0.26.1 pkgrel=1 pkgdesc="Compiler for the GObject type system" arch=('i686' 'x86_64') @@ -11,9 +11,8 @@ url="http://live.gnome.org/Vala" license=('LGPL') depends=('glib2') makedepends=('libxslt') -options=('!libtool') -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('8be28ff6347feecb391220ceb4e2209d32b697278e87ed7fc6c9fb1e9345e0d8') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz) +sha256sums=('8407abb19ab3a58bbfc0d288abb47666ef81f76d0540258c03965e7545f59e6b') build() { cd $pkgname-$pkgver diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD index 1e65355..61c9997 100644 --- a/abs/extra/valgrind/PKGBUILD +++ b/abs/extra/valgrind/PKGBUILD @@ -3,32 +3,33 @@ # Maintainer: Allan McRae <allan@archlinux.org> pkgname=valgrind -pkgver=3.9.0 +pkgver=3.10.0 pkgrel=1 -pkgdesc="A tool to help find memory-management problems in programs" -arch=('i686' 'x86_64') -license=('GPL') -url="http://valgrind.org/" -depends=('glibc>=2.18' 'glibc<2.19' 'perl') -makedepends=('gdb') +pkgdesc='A tool to help find memory-management problems in programs' +arch=(i686 x86_64) +license=(GPL) +url='http://valgrind.org/' +depends=('glibc>=2.20' 'glibc<2.21' 'perl') +makedepends=('gdb' 'openmpi') +optdepends=('openmpi: MPI support') options=('staticlibs' '!emptydirs') -source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2) -md5sums=('0947de8112f946b9ce64764af7be6df2') +source=(http://valgrind.org/downloads/$pkgname-$pkgver.tar.bz2 + valgrind-3.9.0-glibc-2.20.patch) +sha1sums=('aec0b8cd042ec36c8cce4f6027b98627ab202f26' + '2080c3d44de20857f18b03a93404a8f3d3721f7e') +prepare() { + cd $pkgname-$pkgver + patch -p1 -i "$srcdir"/valgrind-3.9.0-glibc-2.20.patch +} build() { - cd ${srcdir}/${pkgname}-${pkgver} - - if [[ ${CARCH} = "x86_64" ]]; then - ./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit - else - ./configure --prefix=/usr --mandir=/usr/share/man - fi - + cd $pkgname-$pkgver + ./configure --prefix=/usr --mandir=/usr/share/man --with-mpicc=mpicc make } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install } diff --git a/abs/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch b/abs/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch deleted file mode 100644 index 9f471ad..0000000 --- a/abs/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur valgrind-3.8.1-orig/configure.in valgrind-3.8.1/configure.in ---- valgrind-3.8.1-orig/configure.in 2013-08-13 22:36:20.201676976 +1000 -+++ valgrind-3.8.1/configure.in 2013-08-13 22:38:18.402750093 +1000 -@@ -906,6 +906,20 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.17) -+ AC_MSG_RESULT(2.17 family) -+ AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x]) -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; -+ 2.18) -+ AC_MSG_RESULT(2.18 family) -+ AC_DEFINE([GLIBC_2_18], 1, [Define to 1 if you're using glibc 2.18.x]) -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; - darwin) - AC_MSG_RESULT(Darwin) - AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) -@@ -919,7 +933,7 @@ - - *) - AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) -- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16]) -+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.18]) - AC_MSG_ERROR([or Darwin libc]) - ;; - esac diff --git a/abs/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch b/abs/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch deleted file mode 100644 index 89af000..0000000 --- a/abs/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch +++ /dev/null @@ -1,78 +0,0 @@ -Index: coregrind/vgdb.c -=================================================================== ---- coregrind/vgdb.c (revision 13470) -+++ coregrind/vgdb.c (revision 13471) -@@ -100,11 +100,10 @@ - - #if defined(PTRACEINVOKER) - #include <sys/user.h> - #if defined(VGO_linux) - # include <sys/prctl.h> --# include <linux/ptrace.h> - #endif - #endif - - - // Outputs information for the user about ptrace not working. - -Index: coregrind/vgdb.c -=================================================================== ---- coregrind/vgdb.c (revision 13481) -+++ coregrind/vgdb.c (revision 13482) -@@ -691,7 +691,7 @@ - // runtime check not yet done. - // 0 : PTRACE_GETREGS runtime check has failed. - // 1 : PTRACE_GETREGS defined and runtime check ok. --#ifdef PTRACE_GETREGS -+#ifdef HAVE_PTRACE_GETREGS - static int has_working_ptrace_getregs = -1; - #endif - -@@ -702,7 +702,7 @@ - Bool getregs (int pid, void *regs, long regs_bsz) - { - DEBUG(1, "getregs regs_bsz %ld\n", regs_bsz); --# ifdef PTRACE_GETREGS -+# ifdef HAVE_PTRACE_GETREGS - if (has_working_ptrace_getregs) { - // Platforms having GETREGS - long res; -@@ -773,7 +773,7 @@ - DEBUG(1, "setregs regs_bsz %ld\n", regs_bsz); - // Note : the below is checking for GETREGS, not SETREGS - // as if one is defined and working, the other one should also work. --# ifdef PTRACE_GETREGS -+# ifdef HAVE_PTRACE_GETREGS - if (has_working_ptrace_getregs) { - // Platforms having SETREGS - long res; -Index: configure.in -=================================================================== ---- configure.in (revision 13481) -+++ configure.in (revision 13482) -@@ -1040,6 +1040,25 @@ - - AM_CONDITIONAL([HAVE_GNU_STPNCPY], [test x$ac_have_gnu_stpncpy = xyes]) - -+# Check for PTRACE_GETREGS -+ -+AC_MSG_CHECKING([for PTRACE_GETREGS]) -+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -+#include <stddef.h> -+#include <sys/ptrace.h> -+#include <sys/user.h> -+]], [[ -+ void *p; -+ long res = ptrace (PTRACE_GETREGS, 0, p, p); -+]])], [ -+AC_MSG_RESULT([yes]) -+AC_DEFINE([HAVE_PTRACE_GETREGS], 1, -+ [Define to 1 if you have the `PTRACE_GETREGS' ptrace request.]) -+], [ -+AC_MSG_RESULT([no]) -+]) -+ -+ - # Check for CLOCK_MONOTONIC - - AC_MSG_CHECKING([for CLOCK_MONOTONIC]) diff --git a/abs/extra/valgrind/valgrind-3.8.1-xaddb.patch b/abs/extra/valgrind/valgrind-3.8.1-xaddb.patch deleted file mode 100644 index ca5a597..0000000 --- a/abs/extra/valgrind/valgrind-3.8.1-xaddb.patch +++ /dev/null @@ -1,34 +0,0 @@ -Index: priv/guest_amd64_toIR.c -=================================================================== ---- VEX/priv/guest_amd64_toIR.c (revision 2580) -+++ VEX/priv/guest_amd64_toIR.c (revision 2581) -@@ -20268,6 +20268,14 @@ - delta = dis_movx_E_G ( vbi, pfx, delta, 2, sz, True ); - return delta; - -+ case 0xC0: { /* XADD Gb,Eb */ -+ Bool decode_OK = False; -+ delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, 1, delta ); -+ if (!decode_OK) -+ goto decode_failure; -+ return delta; -+ } -+ - case 0xC1: { /* XADD Gv,Ev */ - Bool decode_OK = False; - delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, sz, delta ); -@@ -27143,14 +27151,6 @@ - - /* =-=-=-=-=-=-=-=-=- XADD -=-=-=-=-=-=-=-=-=-= */ - -- case 0xC0: { /* XADD Gb,Eb */ -- Bool decode_OK = False; -- delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, 1, delta ); -- if (!decode_OK) -- goto decode_failure; -- break; -- } -- - /* =-=-=-=-=-=-=-=-=- SGDT and SIDT =-=-=-=-=-=-=-=-=-=-= */ - - /* =-=-=-=-=-=-=-=-=- unimp2 =-=-=-=-=-=-=-=-=-=-= */ diff --git a/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch b/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch new file mode 100644 index 0000000..d9c622e --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch @@ -0,0 +1,37 @@ +diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure +--- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000 ++++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000 +@@ -6689,6 +6689,16 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.20) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.20 family" >&5 ++$as_echo "2.20 family" >&6; } ++ ++$as_echo "#define GLIBC_2_20 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 + $as_echo "Darwin" >&6; } +diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac +--- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000 ++++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000 +@@ -918,6 +918,13 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.20) ++ AC_MSG_RESULT(2.20 family) ++ AC_DEFINE([GLIBC_2_20], 1, [Define to 1 if you're using glibc 2.20.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) diff --git a/abs/extra/wayland/PKGBUILD b/abs/extra/wayland/PKGBUILD index 65d50f3..63bef97 100644 --- a/abs/extra/wayland/PKGBUILD +++ b/abs/extra/wayland/PKGBUILD @@ -1,10 +1,10 @@ # $Id$ # Maintainer: Tom Gundersen <teg@jklm.no> -# Contributor: Sébastien Luttringer +# Maintainer: Sébastien Luttringer <seblu@archlinux.org> # Contributor: Joel Teichroeb <joel@teichroeb.net> pkgname=wayland -pkgver=1.4.0 +pkgver=1.6.0 pkgrel=1 pkgdesc='A computer display server protocol' arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ license=('MIT') depends=('libffi' 'expat') makedepends=('doxygen') source=("http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz") -sha1sums=('bc91befb8386ec5c1ff4f24ad8464c24a7496ae2') +sha1sums=('6183108a3bffb204c05b7f37b763b6278760572d') build() { cd $pkgname-$pkgver diff --git a/abs/extra/web-on-linhes/PKGBUILD b/abs/extra/web-on-linhes/PKGBUILD index 64afe1e..0d916bf 100644 --- a/abs/extra/web-on-linhes/PKGBUILD +++ b/abs/extra/web-on-linhes/PKGBUILD @@ -2,8 +2,8 @@ # Maintainer: Cecil Watson<knoppmyth@gmail.com> pkgname=web-on-linhes -pkgver=1.00.0 -pkgrel=7 +pkgver=1.01.0 +pkgrel=1 pkgdesc="Added multiple websites with 10' UIs to Play Online Streams." arch=('i686' 'x86_64') license=('GPL2') @@ -19,5 +19,5 @@ package() { #add in file for gen_is.xml install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf } -md5sums=('bf15498dcbdc3852aca9cccb0aacd913' - 'c342f02c88728b227f02018658d6ee53') +md5sums=('b04992d48e45411bdeed23e6aa9f95f7' + '926982798d1c1a8bfd45da8eef8a56f3') diff --git a/abs/extra/web-on-linhes/web-on-linhes.sh b/abs/extra/web-on-linhes/web-on-linhes.sh index 11098ba..7d9b99b 100644 --- a/abs/extra/web-on-linhes/web-on-linhes.sh +++ b/abs/extra/web-on-linhes/web-on-linhes.sh @@ -1,11 +1,13 @@ #!/bin/sh #Script to facilitate Web On LinHES #Runs irxevent -irxevent /home/mythtv/.mythtv/wol-lircrc & -#Stops xscreensaver from running. +irxevent /etc/wol-lircrc & +irxPID=$! +#Stops xscreensaver from running. stop_xss.sh & -#Launches chromium in full screen -chromium $@ +xssPID=$! +#Launches chrome in full screen +google-chrome --no-first-run --user-data-dir=/home/mythtv/.cache/google-chrome/Default/ --kiosk $@ #Once done, stops irxevent and stop_xss.sh -killall irxevent -killall stop_xss.sh +kill $irxPID +kill $xssPID diff --git a/abs/extra/web-on-linhes/web-on-linhes_is.conf b/abs/extra/web-on-linhes/web-on-linhes_is.conf index 0e9ff60..ec895be 100755 --- a/abs/extra/web-on-linhes/web-on-linhes_is.conf +++ b/abs/extra/web-on-linhes/web-on-linhes_is.conf @@ -1,48 +1,16 @@ <!--#WebOnTV--> <button> <type>STREAM</type> - <text>Google Spotlight</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.google.com/tv/spotlight-gallery.html</action> - </button> - <!--#WebOnTV--> - - <!--#WebOnTV--> - <button> - <type>STREAM</type> - <text>Blip tv</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://blip.tv/?skin=googletv</action> - </button> - <!--#WebOnTV--> - - <!--#WebOnTV--> - <button> - <type>STREAM</type> - <text>Chow</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.chow.com/tv</action> - </button> - <!--#WebOnTV--> - - <!--#WebOnTV--> - <button> - <type>STREAM</type> - <text>Clicker TV</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://tv.clicker.com/</action> - </button> - <!--#WebOnTV--> - - <!--#WebOnTV--> - <button> - <type>STREAM</type> - <text>Crackle</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.crackle.com/gtv/</action> + <text>NetFlix</text> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://netflix.com/WiHome</action> </button> <!--#WebOnTV--> <!--#WebOnTV--> <button> <type>STREAM</type> - <text>Dailymotion</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://iptv-app.dailymotion.com/dm-front-googletv/dojoroot/app/pages/webkit/index.jsp?&qlang=us</action> + <text>Google Spotlight</text> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.google.com/tv/spotlight-gallery.html</action> </button> <!--#WebOnTV--> @@ -50,39 +18,39 @@ <button> <type>STREAM</type> <text>Flixster</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.flixster.com/tv/google</action> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://admin.flixster.com/googletv</action> </button> <!--#WebOnTV--> <!--#WebOnTV--> <button> <type>STREAM</type> - <text>Fraboom</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://fraboom.com/google/tv/ </action> + <text>The Onion</text> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.theonion.com/video/googletv/</action> </button> <!--#WebOnTV--> <!--#WebOnTV--> <button> <type>STREAM</type> - <text>KQED</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://kqed.tv/</action> + <text>The New York Times</text> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.nytimes.com/gtv/</action> </button> <!--#WebOnTV--> <!--#WebOnTV--> <button> <type>STREAM</type> - <text>Revision 3</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://tv.revision3.com</action> + <text>NPR</text> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.npr.org/googletv/</action> </button> <!--#WebOnTV--> <!--#WebOnTV--> <button> <type>STREAM</type> - <text>The Onion</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.theonion.com/video/googletv/</action> + <text>PBS Kids</text> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://pbskids.org/video/</action> </button> <!--#WebOnTV--> @@ -90,7 +58,7 @@ <button> <type>STREAM</type> <text>TuneIn </text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://tv.tunein.com/</action> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://tv.tunein.com/</action> </button> <!--#WebOnTV--> @@ -98,7 +66,7 @@ <button> <type>STREAM</type> <text>Vimeo</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.vimeo.com/couchmode</action> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.vimeo.com/couchmode</action> </button> <!--#WebOnTV--> @@ -106,6 +74,6 @@ <button> <type>STREAM</type> <text>YouTube</text> - <action>EXEC /usr/LH/bin/web-on-linhes.sh --no-first-run --kiosk http://www.youtube.com/leanback</action> + <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.youtube.com/tv</action> </button> <!--#WebOnTV--> diff --git a/abs/extra/webkitgtk/PKGBUILD b/abs/extra/webkitgtk/PKGBUILD new file mode 100644 index 0000000..c0e836f --- /dev/null +++ b/abs/extra/webkitgtk/PKGBUILD @@ -0,0 +1,79 @@ +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +pkgbase=webkitgtk +pkgname=(webkitgtk webkitgtk2) +pkgver=2.4.7 +pkgrel=1 +pkgdesc="GTK+ Web content engine library" +arch=(i686 x86_64) +url="http://webkitgtk.org/" +license=(custom) +depends=(libxt libxslt sqlite libsoup enchant libgl geoclue gst-plugins-base-libs + libsecret libwebp harfbuzz-icu) +makedepends=(gtk3 gtk2 gperf gobject-introspection python2 mesa ruby) +optdepends=('gst-plugins-base: free media decoding' + 'gst-plugins-good: media decoding' + 'gst-libav: nonfree media decoding') +options=(!emptydirs) +source=(http://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz + fix-pretty-quotes.patch) +sha256sums=('f5cf26e39abf1d6b2d25f1398348fef6bbe6c03fb4f99e11c569091c05197d38' + '56316228bbbf0b7ebcbe210a35120f4e72cb9c1b680dd82cc2bde0f4549245e6') + +prepare() { + mkdir build-gtk{,2} path + + ln -s /usr/bin/python2 path/python + + cd $pkgbase-$pkgver + patch -Np0 -i ../fix-pretty-quotes.patch +} + +_build() ( + _ver="$1"; shift + cd build-${_ver} + + ../$pkgbase-$pkgver/configure --prefix=/usr \ + --libexecdir=/usr/lib/webkit${_ver} \ + --enable-introspection \ + --disable-webkit2 \ + --disable-gtk-doc \ + "$@" + + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make all stamp-po +) + +build() { + PATH="$srcdir/path:$PATH" + + _build gtk + _build gtk2 --with-gtk=2.0 +} + +package_webkitgtk() { + depends+=(gtk3) + optdepends+=('gtk2: Netscape plugin support') + provides=("webkitgtk3=${pkgver}" "libwebkit3=${pkgver}") + conflicts=(webkitgtk3 libwebkit3) + replaces=(webkitgtk3 libwebkit3) + + make -C build-gtk -j1 DESTDIR="$pkgdir" install + install -Dm644 $pkgbase-$pkgver/Source/WebKit/LICENSE \ + "$pkgdir/usr/share/licenses/webkitgtk/LICENSE" +} + +package_webkitgtk2() { + pkgdesc+=" for GTK2" + depends+=(gtk2) + provides=("libwebkit=${pkgver}") + conflicts=(libwebkit) + replaces=(libwebkit) + + make -C build-gtk2 -j1 DESTDIR="$pkgdir" install + install -Dm644 $pkgbase-$pkgver/Source/WebKit/LICENSE \ + "$pkgdir/usr/share/licenses/webkitgtk2/LICENSE" +} diff --git a/abs/extra/webkitgtk/__changelog b/abs/extra/webkitgtk/__changelog new file mode 100644 index 0000000..fc5f669 --- /dev/null +++ b/abs/extra/webkitgtk/__changelog @@ -0,0 +1 @@ +PKGBUILD: change geoclue2 to geoclue diff --git a/abs/extra/webkitgtk/fix-pretty-quotes.patch b/abs/extra/webkitgtk/fix-pretty-quotes.patch new file mode 100644 index 0000000..fce4a8e --- /dev/null +++ b/abs/extra/webkitgtk/fix-pretty-quotes.patch @@ -0,0 +1,26 @@ +Pretty quotes in licence break Python stdin. + +https://bugs.webkit.org/show_bug.cgi?id=128971 + +--- Source/WebCore/xml/XMLViewer.css.orig 2014-01-23 16:49:58.000000000 +0000 ++++ Source/WebCore/xml/XMLViewer.css +@@ -14,7 +14,7 @@ + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS +- * “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. + * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +--- Source/WebCore/xml/XMLViewer.js.orig 2014-01-23 16:49:58.000000000 +0000 ++++ Source/WebCore/xml/XMLViewer.js +@@ -15,7 +15,7 @@ + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS +- * “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. + * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, diff --git a/abs/extra/webmin/PKGBUILD b/abs/extra/webmin/PKGBUILD index 5e0da7e..edce250 100644 --- a/abs/extra/webmin/PKGBUILD +++ b/abs/extra/webmin/PKGBUILD @@ -1,7 +1,7 @@ # $Id$ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=webmin -pkgver=1.700 +pkgver=1.730 pkgrel=1 pkgdesc="a web-based interface for system administration" arch=(i686 x86_64) @@ -196,6 +196,15 @@ package() { # make it only accessible by localhost echo 'allow=127.0.0.1 192.168. 172.16. 10.' >> "$pkgdir"/etc/webmin/miniserv.conf + # add don't fork so runit can manage it + echo 'nofork=1' >> "$pkgdir"/etc/webmin/miniserv.conf + + # change mysql start stop cmds + sed -i -e 's:start_cmd=/etc/rc.d/mysqld start:start_cmd=/usr/bin/sv start mysql:g' \ + -e 's:pass=foo:pass=mythtv:g' -e 's:login=root:login=mythtv:g' \ + -e 's:stop_cmd=/etc/rc.d/mysqld stop:stop_cmd=/usr/bin/sv stop mysql:g' \ + "$pkgdir"/etc/webmin/mysql/config + # install pacman menu cd "$srcdir"/webmin-pacman/config cp -rfp * "$pkgdir"/etc/webmin/pacman @@ -210,7 +219,7 @@ package() { # install license install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE } -md5sums=('e5261114a6a6ed10caf570d3239ed5b7' +md5sums=('a54d11c32372b8361da1ad363a2d3ad9' 'b0b3e3fb231a12e60165b6b4d604dcfa' 'bfebb75bb94029b48c46b7f1ba1aa811' 'fc29ecb6a5cd8c278abe054e60381095') diff --git a/abs/extra/webmin/__changelog b/abs/extra/webmin/__changelog index 9f14075..741481a 100644 --- a/abs/extra/webmin/__changelog +++ b/abs/extra/webmin/__changelog @@ -1,2 +1,4 @@ -PKGBUILD: Added private networks +PKGBUILD: Added private networks to miniserv.conf +PKGBUILD: Added nofork=1 to miniserv.conf PKGBUILD: Change OS name to LinHES +PKGBUILD: Change mysql start and stop and login and pass in mysql/config diff --git a/abs/extra/webmin/webmin.install b/abs/extra/webmin/webmin.install index efdd929..fc9fd44 100644 --- a/abs/extra/webmin/webmin.install +++ b/abs/extra/webmin/webmin.install @@ -10,7 +10,6 @@ Note: ==> It is not allowed to install 3rd party modules, or delete existing modules. ==> Please write your own PKGBUILDS for 3rd party modules and additional themes. Setup: -==> To make webmin start at boot time, add webmin to rc.conf daemons ==> Point your web browser to http://localhost:10000 to use webmin. ==> The access is restricted to localhost, if you want to connect from other locations ==> change /etc/webmin/miniserv.conf to something like that: allow=127.0.0.1 <your-ip> diff --git a/abs/extra/wxgtk/PKGBUILD b/abs/extra/wxgtk/PKGBUILD index 62dfb90..da0cdab 100644 --- a/abs/extra/wxgtk/PKGBUILD +++ b/abs/extra/wxgtk/PKGBUILD @@ -1,37 +1,32 @@ -# $Id: PKGBUILD 148966 2012-02-05 11:58:12Z ibiru $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=wxgtk -pkgver=2.8.12.1 -pkgrel=3 +pkgver=3.0.2 +pkgrel=2 pkgdesc="GTK+ implementation of wxWidgets API for GUI" arch=('i686' 'x86_64') url="http://wxwidgets.org" license=('custom:wxWindows') -depends=('gtk2' 'gstreamer0.10-base' 'libgl' 'libxxf86vm' 'libsm') -makedepends=('gstreamer0.10-base-plugins' 'gconf' 'mesa') -#source=(http://downloads.sourceforge.net/wxwindows/wxGTK-${pkgver}.tar.bz2) -source=(http://downloads.sourceforge.net/wxpython/wxPython-src-${pkgver}.tar.bz2) -sha1sums=('05688dc03d61631750f5904273122bb40a2115f5') +depends=('gtk2' 'gstreamer0.10-base' 'libsm') +makedepends=('gstreamer0.10-base-plugins' 'gconf' 'webkitgtk2' 'glu') +optdepends=('webkitgtk2: for webview support') +options=('!emptydirs') +source=(http://downloads.sourceforge.net/wxwindows/wxWidgets-${pkgver}.tar.bz2) +sha1sums=('6461eab4428c0a8b9e41781b8787510484dea800') build() { - cd "${srcdir}/wxPython-src-${pkgver}" -# cd "${srcdir}/wxGTK-${pkgver}" + cd wxWidgets-${pkgver} ./configure --prefix=/usr --libdir=/usr/lib --with-gtk=2 --with-opengl --enable-unicode \ - --enable-graphics_ctx --disable-optimize --enable-mediactrl --with-regex=builtin \ + --enable-graphics_ctx --enable-mediactrl --enable-webview --with-regex=builtin \ --with-libpng=sys --with-libxpm=sys --with-libjpeg=sys --with-libtiff=sys \ --disable-precomp-headers make make -C locale allmo - cd contrib/src - make } package() { - cd "${srcdir}/wxPython-src-${pkgver}" -# cd "${srcdir}/wxGTK-${pkgver}" - make DESTDIR="${pkgdir}" install - cd contrib/src + cd wxWidgets-${pkgver} make DESTDIR="${pkgdir}" install - install -D -m644 ../../docs/licence.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -D -m644 docs/licence.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch b/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch new file mode 100644 index 0000000..f2fc11b --- /dev/null +++ b/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch @@ -0,0 +1,41 @@ +From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001 +From: Lars Op den Kamp <lars@opdenkamp.eu> +Date: Mon, 27 Oct 2014 14:42:30 +0100 +Subject: [PATCH 1/8] [CEC] fixed: don't try to stick a value > 255 in a byte + +--- + system/peripherals.xml | 2 +- + xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/system/peripherals.xml b/system/peripherals.xml +index 57af5d1..5fcff7c 100644 +--- a/system/peripherals.xml ++++ b/system/peripherals.xml +@@ -30,7 +30,7 @@ + <setting key="device_type" type="int" value="1" configurable="0" /> + <setting key="wake_devices_advanced" type="string" value="" configurable="0" /> + <setting key="standby_devices_advanced" type="string" value="" configurable="0" /> +- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" /> ++ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" /> + </peripheral> + + <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec"> +diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +index 9907ba2..1d068dc 100644 +--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp ++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +@@ -1347,8 +1347,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void) + m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0; + m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0; + +- // double tap prevention timeout in ms +- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); ++ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50 ++ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50; + } + + void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses) +-- +2.1.2 + diff --git a/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch b/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch new file mode 100644 index 0000000..e7aecd7 --- /dev/null +++ b/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch @@ -0,0 +1,39 @@ +From 6cd70921650dda8864a844033e36f1bea55d034b Mon Sep 17 00:00:00 2001 +From: Lars Op den Kamp <lars@opdenkamp.eu> +Date: Mon, 27 Oct 2014 12:29:09 +0100 +Subject: [PATCH 2/8] [CEC] bump libCEC to 2.2.0 + +--- + project/BuildDependencies/scripts/libcec_d.txt | 2 +- + tools/depends/target/libcec/Makefile | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt +index a126c74..3d0265e 100644 +--- a/project/BuildDependencies/scripts/libcec_d.txt ++++ b/project/BuildDependencies/scripts/libcec_d.txt +@@ -1,3 +1,3 @@ + ; filename source of the file + +-libcec-2.1.4.zip http://mirrors.xbmc.org/build-deps/win32/ ++libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/ +diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile +index 16fec1b..6c72240 100644 +--- a/tools/depends/target/libcec/Makefile ++++ b/tools/depends/target/libcec/Makefile +@@ -3,9 +3,9 @@ DEPS= ../../Makefile.include Makefile + + # lib name, version + LIBNAME=libcec +-VERSION=2.1.4 +-SOURCE=$(LIBNAME)-$(VERSION)-2 +-ARCHIVE=$(SOURCE).tar.gz ++VERSION=2.2.0 ++SOURCE=$(LIBNAME)-$(VERSION) ++ARCHIVE=$(SOURCE)-3.tar.gz + + # configuration settings + CONFIGURE=./configure --prefix=$(PREFIX) --disable-rpi \ +-- +2.1.2 + diff --git a/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch b/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch new file mode 100644 index 0000000..e8f5837 --- /dev/null +++ b/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch @@ -0,0 +1,26 @@ +From e59d7e028288464e6890141a830e4a83d4b9d065 Mon Sep 17 00:00:00 2001 +From: Lars Op den Kamp <lars@opdenkamp.eu> +Date: Mon, 27 Oct 2014 15:32:36 +0100 +Subject: [PATCH 3/8] [CEC] prevent bus rescan on a Pi, since the adapter + cannot be removed + +--- + xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp +index b02535a..4941ae6 100644 +--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp ++++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp +@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results) + break; + case ADAPTERTYPE_RPI: + result.m_mappedBusType = PERIPHERAL_BUS_RPI; ++ /** the Pi's adapter cannot be removed, no need to rescan */ ++ m_bNeedsPolling = false; + break; + default: + break; +-- +2.1.2 + diff --git a/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch b/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch new file mode 100644 index 0000000..d4556ae --- /dev/null +++ b/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch @@ -0,0 +1,112 @@ +From 6544830d1a0b9810c2feb2fcb34df3f90b010d2f Mon Sep 17 00:00:00 2001 +From: Lars Op den Kamp <lars@opdenkamp.eu> +Date: Mon, 27 Oct 2014 21:01:00 +0100 +Subject: [PATCH 4/8] [CEC] fixed: don't return garbage from CEC related app + messenger methods see + https://github.com/xbmc/xbmc/commit/19d37944ca2a2ac2f3e71a40a94e9ea289d8f2db#commitcomment-8248480 + +--- + xbmc/Application.cpp | 14 ++++++++------ + xbmc/ApplicationMessenger.cpp | 20 +++++--------------- + xbmc/ApplicationMessenger.h | 4 ++-- + 3 files changed, 15 insertions(+), 23 deletions(-) + +diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp +index d5604dc..4d26183 100644 +--- a/xbmc/Application.cpp ++++ b/xbmc/Application.cpp +@@ -2351,16 +2351,18 @@ + + if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState") || StringUtils::StartsWithNoCase(action.GetName(),"CECStandby")) + { +- bool ret = true; +- +- CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID()); + // do not wake up the screensaver right after switching off the playing device + if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState")) +- ret = CApplicationMessenger::Get().CECToggleState(); ++ { ++ CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID()); ++ if (!CApplicationMessenger::Get().CECToggleState()) ++ return true; ++ } + else +- ret = CApplicationMessenger::Get().CECStandby(); +- if (!ret) /* display is switched off */ ++ { ++ CApplicationMessenger::Get().CECStandby(); + return true; ++ } + } + + ResetScreenSaver(); +diff --git a/xbmc/ApplicationMessenger.cpp b/xbmc/ApplicationMessenger.cpp +index 1a59c5c..d228273 100644 +--- a/xbmc/ApplicationMessenger.cpp ++++ b/xbmc/ApplicationMessenger.cpp +@@ -843,12 +843,12 @@ void CApplicationMessenger::ProcessMessage(ThreadMessage *pMsg) + } + case TMSG_CECACTIVATESOURCE: + { +- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE); ++ g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE); + break; + } + case TMSG_CECSTANDBY: + { +- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_STANDBY); ++ g_peripherals.ToggleDeviceState(STATE_STANDBY); + break; + } + case TMSG_START_ANDROID_ACTIVITY: +@@ -1396,29 +1396,19 @@ bool CApplicationMessenger::CECToggleState() + + ThreadMessage tMsg = {TMSG_CECTOGGLESTATE}; + tMsg.lpVoid = (void*)&result; +- SendMessage(tMsg, false); ++ SendMessage(tMsg, true); + + return result; + } + +-bool CApplicationMessenger::CECActivateSource() ++void CApplicationMessenger::CECActivateSource() + { +- bool result; +- + ThreadMessage tMsg = {TMSG_CECACTIVATESOURCE}; +- tMsg.lpVoid = (void*)&result; + SendMessage(tMsg, false); +- +- return result; + } + +-bool CApplicationMessenger::CECStandby() ++void CApplicationMessenger::CECStandby() + { +- bool result; +- + ThreadMessage tMsg = {TMSG_CECSTANDBY}; +- tMsg.lpVoid = (void*)&result; + SendMessage(tMsg, false); +- +- return result; + } +diff --git a/xbmc/ApplicationMessenger.h b/xbmc/ApplicationMessenger.h +index 9013567..543e065 100644 +--- a/xbmc/ApplicationMessenger.h ++++ b/xbmc/ApplicationMessenger.h +@@ -219,8 +219,8 @@ public: + + void LoadProfile(unsigned int idx); + bool CECToggleState(); +- bool CECActivateSource(); +- bool CECStandby(); ++ void CECActivateSource(); ++ void CECStandby(); + + CStdString GetResponse(); + int SetResponse(CStdString response); +-- +2.1.2 + diff --git a/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch b/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch new file mode 100644 index 0000000..023257c --- /dev/null +++ b/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch @@ -0,0 +1,32 @@ +From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001 +From: Lars Op den Kamp <lars@opdenkamp.eu> +Date: Tue, 28 Oct 2014 14:52:16 +0100 +Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC + for clarity. does not change binary compatibility + +--- + xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +index 1d068dc..ad123d9 100644 +--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp ++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void) + m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0; + m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0; + ++#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD) + // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50 +- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50; ++ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50; ++#else ++ // backwards compatibility. will be removed once the next major release of libCEC is out ++ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); ++#endif + } + + void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses) +-- +2.1.2 + diff --git a/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch b/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch new file mode 100644 index 0000000..cd53396 --- /dev/null +++ b/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch @@ -0,0 +1,29 @@ +From fa01c108b60f74abb16992c1376bcca896093eac Mon Sep 17 00:00:00 2001 +From: Lars Op den Kamp <lars@opdenkamp.eu> +Date: Tue, 28 Oct 2014 16:08:00 +0100 +Subject: [PATCH 6/8] [CEC] fixed - don't use CEC_CLIENT_VERSION_CURRENT for + the client version, because it will lead to issues when XBMC is rebuilt after + a libCEC bump that changes something + +--- + xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +index ad123d9..015daef 100644 +--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp ++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +@@ -1268,8 +1268,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu + + void CPeripheralCecAdapter::SetConfigurationFromSettings(void) + { +- // use the same client version as libCEC version +- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT; ++ // client version matches the version of libCEC that we originally used the API from ++ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0; + + // device name 'XBMC' + snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str()); +-- +2.1.2 + diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD index ab30af1..1737aff 100644 --- a/abs/extra/xbmc/PKGBUILD +++ b/abs/extra/xbmc/PKGBUILD @@ -1,3 +1,4 @@ +# vim:set ts=2 sw=2 et: # $Id$ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Brad Fanella <bradfanella@archlinux.us> @@ -12,13 +13,13 @@ _prefix=/usr pkgname=xbmc pkgver=13.2 _codename=Gotham -pkgrel=6 +pkgrel=8 pkgdesc="A software media player and entertainment hub for digital media" arch=('i686' 'x86_64') url="http://xbmc.org" license=('GPL2') depends=( -'avahi' 'glu' 'hicolor-icon-theme' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad' +'avahi' 'hicolor-icon-theme' 'glu' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad' 'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libssh' 'libva' 'libvdpau' 'libvorbis' 'libxrandr' 'libxslt' 'lzo' 'mesa' 'mesa-demos' 'python2' 'python2-pillow' 'rtmpdump' 'sdl_image' @@ -36,7 +37,6 @@ optdepends=( 'shairplay: AirPlay support' 'libcec: Pulse-Eight USB-CEC adapter support' 'polkit: power management' -'pulseaudio: for pulseaudio support' 'lirc: remote controller support' 'unrar: access compressed files without unpacking them' 'udisks: automount external drives' @@ -45,16 +45,26 @@ optdepends=( install="${pkgname}.install" source=( "xbmc-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" - "xbmc.sh" - "xbmc_lib.conf" + '0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch' + '0002-CEC-bump-libCEC-to-2.2.0.patch' + '0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch' + '0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch' + '0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch' + '0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch' + 'xbmc.sh' + 'xbmc_lib.conf' ) -#sha256sums=( -# 'acbf5dffa3034a3406240ee3cf81e721386cd383d23d056ddde1f769e050e585' -#) prepare() { cd "$srcdir/xbmc-$pkgver-$_codename" + patch -Np1 -i "$srcdir/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch" + patch -Np1 -i "$srcdir/0002-CEC-bump-libCEC-to-2.2.0.patch" + patch -Np1 -i "$srcdir/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch" + patch -Np1 -i "$srcdir/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch" + patch -Np1 -i "$srcdir/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch" + patch -Np1 -i "$srcdir/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch" + find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" + sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl sed 's/python/python2/' -i tools/Linux/xbmc.sh.in @@ -126,7 +136,12 @@ package() { #add in xbmc_lib.conf install -D -m0744 ${srcdir}/xbmc_lib.conf ${pkgdir}/etc/gen_lib_xml.d/xbmc_lib.conf } -# vim:set ts=2 sw=2 et: md5sums=('d80153b2cc78b88966458ab136e9494f' + 'd00af955c000f285a230568004209117' + '6ee855d2cd6ada08b2c72b5c15d5ae76' + '3e810f451e58d5704cdd15b83552aa53' + '693869eb72d696c3457e795722e707c6' + 'b6346f66286195189e41839e9a23ef87' + '47b765e1d4299fac32bf92f108548d06' 'e48a3d87984669ef206e902bc8290ff9' '71176cb0e5aaa230d7c9634c37245bfb') diff --git a/abs/extra/xmltoman/PKGBUILD b/abs/extra/xmltoman/PKGBUILD new file mode 100644 index 0000000..030c79c --- /dev/null +++ b/abs/extra/xmltoman/PKGBUILD @@ -0,0 +1,23 @@ +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + +pkgname=xmltoman +pkgver=0.4 +pkgrel=2 +pkgdesc='Convert xml to man pages in groff format or html' +url='http://xmltoman.sourceforge.net/' +license=('GPL') +arch=('any') +depends=('perl-xml-parser') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}.tar.gz/${pkgname}-${pkgver}.tar.gz") +sha1sums=('151f75d78d1fa53bca25b94dc00e46a27fabfee8') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + make PREFIX=/usr +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make install PREFIX=/usr DESTDIR="${pkgdir}" +} diff --git a/abs/extra/xscreensaver/ChangeLog b/abs/extra/xscreensaver/ChangeLog deleted file mode 100644 index ea08818..0000000 --- a/abs/extra/xscreensaver/ChangeLog +++ /dev/null @@ -1,46 +0,0 @@ -2010-09-26 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.12-1 - * Upstream update - * Added libxxf86vm depends - -2010-05-17 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.11-1 - * Upstream update - -2009-10-17 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.10-2 - * Added support for electricsheep (close FS#16400) - -2009-09-09 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.10-1 - * Upstream update - -2009-09-03 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.09-1 - * Upstream update - -2009-01-02 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.08-1 - * Upstream update - -2008-08-11 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.07-1 - * Upstream update - -2008-07-18 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.06-1 - * Upstream update - -2008-03-02 Eric Belanger <eric@archlinux.org> - - * xscreensaver 5.05-1 - * Upstream update - * FHS man pages diff --git a/abs/extra/xscreensaver/LICENSE b/abs/extra/xscreensaver/LICENSE index 4f587b5..406467c 100644 --- a/abs/extra/xscreensaver/LICENSE +++ b/abs/extra/xscreensaver/LICENSE @@ -1,4 +1,5 @@ -/* xscreensaver, Copyright (c) 1993-2006 Jamie Zawinski <jwz@jwz.org> +/* xscreensaver, Copyright (c) 1991-2013 Jamie Zawinski <jwz@jwz.org> + * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that diff --git a/abs/extra/xscreensaver/PKGBUILD b/abs/extra/xscreensaver/PKGBUILD index 9393774..abdddd0 100644 --- a/abs/extra/xscreensaver/PKGBUILD +++ b/abs/extra/xscreensaver/PKGBUILD @@ -1,31 +1,30 @@ -# $Id: PKGBUILD 163563 2012-07-16 01:29:27Z eric $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=xscreensaver -pkgver=5.18 -pkgrel=3 +pkgver=5.32 +pkgrel=1 pkgdesc="Screen saver and locker for the X Window System" arch=('i686' 'x86_64') url="http://www.jwz.org/xscreensaver/" license=('BSD') -depends=('libxxf86vm' 'libglade' 'mesa' 'pam' 'xorg-appres' 'libxmu' \ - 'perl-libwww' 'perl-http-message') -makedepends=('bc' 'libxpm' ) -optdepends=('gdm: for login manager support') +depends=('libglade' 'libxmu' 'glu' 'xorg-appres' 'perl-libwww') +makedepends=('bc' 'intltool' 'libxpm') +#optdepends=('gdm: for login manager support') backup=('etc/pam.d/xscreensaver') -source=(http://www.jwz.org/xscreensaver/${pkgname}-${pkgver}.tar.gz \ - add-electricsheep.diff xscreensaver.pam LICENSE - xscreensaver-5.18-sonar-compile.patch) -sha1sums=('a9f66d3f5094d2c1ef46c1209730e7cb653f33a7' - '677496218b81a42d90bee400026e94dd87fb8ffb' - '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8' - '4209ea586b204fd1d81c382a0522c654f9fd9134' - '95e1d74e0e5ff1a6600c8a9cd0a12d392b24a7b1') +source=(http://www.jwz.org/xscreensaver/${pkgname}-${pkgver}.tar.gz + xscreensaver-add-electricsheep.diff LICENSE) +sha1sums=('3131d45295b9a18a2901737c9b95f1c5434f53a6' + 'e8dc57b6471fb3867ee099304ac6bf628351cb98' + '3eedb8b91b13c29df9b1fe5cbb027e1470b802d2') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p0 -i "${srcdir}/xscreensaver-add-electricsheep.diff" +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p0 -i "${srcdir}/add-electricsheep.diff" - patch -p1 -i "${srcdir}/xscreensaver-5.18-sonar-compile.patch" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --libexecdir=/usr/lib --with-x-app-defaults=/usr/share/X11/app-defaults \ --with-pam --with-login-manager --with-gtk --with-gl \ @@ -34,11 +33,11 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + install -d "${pkgdir}/etc/pam.d" make install_prefix="${pkgdir}" install install -D -m644 ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - install -D -m644 ../xscreensaver.pam "${pkgdir}/etc/pam.d/xscreensaver" chmod 755 "${pkgdir}/usr/bin/xscreensaver" echo "NotShowIn=KDE;GNOME;" >> "${pkgdir}/usr/share/applications/xscreensaver-properties.desktop" - ls $pkgdir/usr/lib/xscreensaver > $startdir/xscreensavers + ls $pkgdir/usr/lib/xscreensaver > $startdir/xscreensavers } diff --git a/abs/extra/xscreensaver/__changelog b/abs/extra/xscreensaver/__changelog index ca14a40..317fa78 100644 --- a/abs/extra/xscreensaver/__changelog +++ b/abs/extra/xscreensaver/__changelog @@ -1,3 +1,3 @@ -print out list of screensavers to xscreensaver - ls $pkgdir/usr/lib/xscreensaver > $startdir/xscreensavers +PKGBUILD: print out list of screensavers to xscreensavers + ls $pkgdir/usr/lib/xscreensaver > $startdir/xscreensavers diff --git a/abs/extra/xscreensaver/add-electricsheep.diff b/abs/extra/xscreensaver/add-electricsheep.diff deleted file mode 100644 index 18b4dea..0000000 --- a/abs/extra/xscreensaver/add-electricsheep.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- driver/XScreenSaver.ad.in-orig 2009-10-17 02:19:06.000000000 -0400 -+++ driver/XScreenSaver.ad.in 2009-10-17 02:21:16.000000000 -0400 -@@ -347,7 +347,8 @@ - @GL_KLUDGE@ GL: rubikblocks -root \n\ - @GL_KLUDGE@ GL: companioncube -root \n\ - @GL_KLUDGE@ GL: hilbert -root \n\ --@GL_KLUDGE@ GL: tronbit -root \n -+@GL_KLUDGE@ GL: tronbit -root \n\ -+ electricsheep --root 1 \n - - - diff --git a/abs/extra/xscreensaver/xscreensaver-5.18-sonar-compile.patch b/abs/extra/xscreensaver/xscreensaver-5.18-sonar-compile.patch deleted file mode 100644 index e0adde0..0000000 --- a/abs/extra/xscreensaver/xscreensaver-5.18-sonar-compile.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- xscreensaver-5.18/hacks/glx/sonar-icmp.c.compile 2012-07-03 04:18:53.000000000 +0900 -+++ xscreensaver-5.18/hacks/glx/sonar-icmp.c 2012-07-04 09:17:12.580996448 +0900 -@@ -591,7 +591,9 @@ - fprintf (stderr, "%s: if: %4s: %s\n", progname, - ifa->ifa_name, - (ifa->ifa_addr->sa_family == AF_UNIX ? "local" : -+#ifdef AF_LINK - ifa->ifa_addr->sa_family == AF_LINK ? "link" : -+#endif - ifa->ifa_addr->sa_family == AF_INET6 ? "ipv6" : - "other")); - continue; diff --git a/abs/extra/xscreensaver/xscreensaver-add-electricsheep.diff b/abs/extra/xscreensaver/xscreensaver-add-electricsheep.diff new file mode 100644 index 0000000..0c5c3ff --- /dev/null +++ b/abs/extra/xscreensaver/xscreensaver-add-electricsheep.diff @@ -0,0 +1,10 @@ +--- driver/XScreenSaver.ad.in-orig 2013-07-16 16:47:10.183068023 -0400 ++++ driver/XScreenSaver.ad.in 2013-07-16 16:48:23.293473297 -0400 +@@ -157,6 +157,7 @@ + ! + *programs: \ + maze -root \n\ ++ electricsheep --root 1 \n\ + @GL_KLUDGE@ GL: superquadrics -root \n\ + attraction -root \n\ + blitspin -root \n\ diff --git a/abs/extra/xscreensaver/xscreensaver.pam b/abs/extra/xscreensaver/xscreensaver.pam deleted file mode 100644 index b4d80c2..0000000 --- a/abs/extra/xscreensaver/xscreensaver.pam +++ /dev/null @@ -1 +0,0 @@ -auth required pam_unix_auth.so diff --git a/abs/extra/xscreensaver/xscreensavers b/abs/extra/xscreensaver/xscreensavers index b3d17e0..46e7c93 100644 --- a/abs/extra/xscreensaver/xscreensavers +++ b/abs/extra/xscreensaver/xscreensavers @@ -10,6 +10,7 @@ atlantis attraction atunnel barcode +binaryring blaster blinkbox blitspin @@ -28,6 +29,7 @@ carousel ccurve celtic circuit +cityflow cloudlife companioncube compass @@ -68,6 +70,8 @@ fontglide fuzzyflakes galaxy gears +geodesic +geodesicgears gflux glblur glcells @@ -86,6 +90,7 @@ greynetic halftone halo helix +hexadrop hilbert hopalong hypertorus @@ -100,6 +105,7 @@ jigsaw juggler3d julia kaleidescope +kaleidocycle klein kumppa lament @@ -140,10 +146,12 @@ polyominoes polytopes pong popsquares +projectiveplane providence pulsar pyro qix +quasicrystal queens rd-bomb ripples @@ -175,6 +183,7 @@ superquadrics surfaces swirl tangram +tessellimage thornbird timetunnel topblock @@ -182,6 +191,7 @@ triangle tronbit truchet twang +unknownpleasures vermiculate vidwhacker voronoi @@ -189,6 +199,7 @@ wander webcollage webcollage-helper whirlwindwarp +winduprobot wormhole xanalogtv xflame diff --git a/abs/extra/zip/PKGBUILD b/abs/extra/zip/PKGBUILD index dca1103..2182077 100644 --- a/abs/extra/zip/PKGBUILD +++ b/abs/extra/zip/PKGBUILD @@ -1,28 +1,32 @@ -# $Id: PKGBUILD 149604 2012-02-08 19:38:19Z pierre $ -# Maintainer: +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org> pkgname=zip pkgver=3.0 -_pkgver=30 -pkgrel=3 -pkgdesc="Creates PKZIP-compatible .zip files" +_pkgver=${pkgver/./} +pkgrel=4 +pkgdesc='Compressor/archiver for creating and modifying zipfiles' +url='http://www.info-zip.org/Zip.html' arch=('i686' 'x86_64') -url="http://www.info-zip.org/Zip.html" -license=('BSD') +license=('custom') depends=('bzip2') +source=("http://downloads.sourceforge.net/infozip/${pkgname}${_pkgver}.tar.gz") +sha1sums=('c9f4099ecf2772b53c2dd4a8e508064ce015d182') + options=('!makeflags') -source=("ftp://ftp.info-zip.org/pub/infozip/src/${pkgname}${_pkgver}.zip") -md5sums=('e88492c8abd68fa9cfba72bc08757dba') build() { - cd "${srcdir}/${pkgname}${_pkgver}" - make -f unix/Makefile LOCAL_ZIP="$CFLAGS" prefix=/usr generic_gcc + cd "${srcdir}/${pkgname}${_pkgver}" + make -f unix/Makefile prefix=/usr \ + LOCAL_ZIP="$CFLAGS $CPPFLAGS $LDFLAGS" \ + generic_gcc } package() { - cd "${srcdir}/${pkgname}${_pkgver}" - make -f unix/Makefile INSTALL=/bin/install prefix=${pkgdir}/usr \ - MANDIR=${pkgdir}/usr/share/man/man1 install - install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE + cd "${srcdir}/${pkgname}${_pkgver}" + make -f unix/Makefile prefix="${pkgdir}"/usr \ + MANDIR=${pkgdir}/usr/share/man/man1 \ + install + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } |