diff options
61 files changed, 1530 insertions, 175 deletions
diff --git a/community/barrage/PKGBUILD b/community/barrage/PKGBUILD index 2afa001cd..365ca015a 100644 --- a/community/barrage/PKGBUILD +++ b/community/barrage/PKGBUILD @@ -1,17 +1,20 @@ -# $Id: PKGBUILD 21744 2010-07-17 07:41:46Z lcarlier $ -# Maintainer: Allan McRae <mcrae_allan@hotmail.com> +# $Id: PKGBUILD 54560 2011-08-20 17:29:58Z jlichtblau $ +# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> +# Contributor: Allan McRae <mcrae_allan@hotmail.com> # Contributor: Angelo Theodorou <encelo@users.sourceforge.net> pkgname=barrage -pkgver=1.0.2 -pkgrel=4 +pkgver=1.0.4 +pkgrel=1 pkgdesc="A violent point-and-click shooting game with nice effects" arch=('i686' 'x86_64') url="http://lgames.sourceforge.net/index.php?project=Barrage" -license=("GPL") -depends=('sdl_mixer') -source=(http://downloads.sourceforge.net/lgames/${pkgname}-${pkgver}.tar.gz) -md5sums=('5dbecef907eb27215e8cc047eae2ee90') +license=('GPL') +depends=('hicolor-icon-theme' 'sdl_mixer') +install=$pkgname.install +changelog=$pkgname.changelog +source=(http://downloads.sourceforge.net/lgames/$pkgname-$pkgver.tar.gz) +sha256sums=('ad74e049dfded3bca28b8dc1c5870408cfad9e024b35cc5b501ba90486d9af25') build() { cd ${srcdir}/$pkgname-$pkgver @@ -23,5 +26,5 @@ build() { package() { cd ${srcdir}/$pkgname-$pkgver - make DESTDIR="$pkgdir" install + make DESTDIR=${pkgdir} install } diff --git a/community/barrage/barrage.changelog b/community/barrage/barrage.changelog new file mode 100644 index 000000000..62e407871 --- /dev/null +++ b/community/barrage/barrage.changelog @@ -0,0 +1,2 @@ +2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * barrage 1.0.4-1 diff --git a/community/barrage/barrage.install b/community/barrage/barrage.install new file mode 100644 index 000000000..b711352cb --- /dev/null +++ b/community/barrage/barrage.install @@ -0,0 +1,11 @@ +post_install() { + which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/community/cherokee/PKGBUILD b/community/cherokee/PKGBUILD index dba1f7211..e9fb17828 100644 --- a/community/cherokee/PKGBUILD +++ b/community/cherokee/PKGBUILD @@ -1,5 +1,5 @@ -# $Id: PKGBUILD 47874 2011-05-25 20:20:57Z foutrelis $ -# Maintainer: Evangelos Foutras <foutrelis@gmail.com> +# $Id: PKGBUILD 54590 2011-08-20 19:35:48Z foutrelis $ +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Link Dupont <link@subpop.net> pkgname=cherokee @@ -46,6 +46,7 @@ build() { --with-wwwroot=/srv/http \ --with-wwwuser=http \ --with-wwwgroup=http \ + --with-python=python2 \ --enable-os-string="Arch Linux" make } diff --git a/community/gtranslator/PKGBUILD b/community/gtranslator/PKGBUILD index 4b54df422..9f48a13f6 100644 --- a/community/gtranslator/PKGBUILD +++ b/community/gtranslator/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 46844 2011-05-12 21:09:34Z jlichtblau $ +# $Id: PKGBUILD 54573 2011-08-20 18:10:22Z jlichtblau $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Hugo Doria <hugo@archlinux.org> # Contributor: Christer Solskogen (solskogen@carebears.mine.nu) pkgname=gtranslator -pkgver=2.90.3 +pkgver=2.90.5 pkgrel=1 pkgdesc="An enhanced gettext po file editor for the GNOME" arch=('i686' 'x86_64') @@ -33,3 +33,4 @@ package() { make DESTDIR=${pkgdir} install } +sha256sums=('26425b2687f00658dd34eb5cc598d456f9e13bcc432991f455258cb0770b0505') diff --git a/community/gtranslator/gtranslator.changelog b/community/gtranslator/gtranslator.changelog index 7432844bb..4b715e6b1 100644 --- a/community/gtranslator/gtranslator.changelog +++ b/community/gtranslator/gtranslator.changelog @@ -1,3 +1,6 @@ +2011-08-20 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org> + * gtranslator 2.90.5-1 + 2011-05-12 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org> * gtranslator 2.90.3-1 diff --git a/community/mp3splt-gtk/PKGBUILD b/community/mp3splt-gtk/PKGBUILD index 49677067d..b17201866 100644 --- a/community/mp3splt-gtk/PKGBUILD +++ b/community/mp3splt-gtk/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 45270 2011-04-18 22:34:45Z jlichtblau $ +# $Id: PKGBUILD 54576 2011-08-20 18:15:41Z jlichtblau $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> pkgname=mp3splt-gtk -pkgver=0.6.1a +pkgver=0.7 pkgrel=1 pkgdesc="Split mp3 and ogg files without decoding" arch=('i686' 'x86_64') @@ -32,3 +32,5 @@ package() { install -D -m644 ${srcdir}/$pkgname.desktop \ ${pkgdir}/usr/share/applications/$pkgname.desktop } +sha256sums=('67046b0ab119907e8614089d42f180bdca034e758e24e2d078308e4d26fe8fd0' + 'a50dd43c28a723c824d658b9468ff3719dcc302c57ecb3b122124e63c20800ed') diff --git a/community/mp3splt-gtk/mp3splt-gtk.changelog b/community/mp3splt-gtk/mp3splt-gtk.changelog index 26e258b56..80666955e 100644 --- a/community/mp3splt-gtk/mp3splt-gtk.changelog +++ b/community/mp3splt-gtk/mp3splt-gtk.changelog @@ -1,3 +1,6 @@ +2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * mp3splt-gtk O.7-1 + 2011-04-18 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> * mp3splt-gtk O.6.1a-1 * FS#23275 fixed diff --git a/community/pragha/PKGBUILD b/community/pragha/PKGBUILD index e7e2472cb..9a247db2b 100755 --- a/community/pragha/PKGBUILD +++ b/community/pragha/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 51754 2011-07-14 08:47:32Z ttopper $ +# $Id: PKGBUILD 54544 2011-08-20 07:24:22Z ttopper $ # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> # Contributor: Alois Nespor <alois.nespor@gmail.com> # Contributor: JerichoKru <jerichokru(AT)htomail.com> pkgname=pragha -pkgver=0.97.0 +pkgver=0.98.0 pkgrel=1 pkgdesc="A lightweight GTK+ music manager - fork of Consonance Music Manager." arch=('i686' 'x86_64') @@ -18,7 +18,7 @@ optdepends=('notification-daemon: OSD notification') replaces=('dissonance') install=pragha.install source=(http://dissonance.googlecode.com/files/$pkgname-$pkgver.tar.bz2) -sha1sums=('e9cc474449cc38f5efa512adad979bd6f15b4309') +sha1sums=('b648a9fc7881709711097e394a7e854595709772') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/qstardict/PKGBUILD b/community/qstardict/PKGBUILD index 6310c9c5e..e265cc22b 100755 --- a/community/qstardict/PKGBUILD +++ b/community/qstardict/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 14399 2010-04-03 11:38:56Z foutrelis $ +# $Id: PKGBUILD 54585 2011-08-20 18:29:13Z jlichtblau $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Alois Nespor <alois.nespor@gmail.com> pkgname=qstardict -pkgver=0.13.1 -pkgrel=3 -pkgdesc="Qt4 clone of StarDict with full support of StarDict dictionaries." +pkgver=1.0 +pkgrel=1 +pkgdesc="Qt4 clone of StarDict with full support of StarDict dictionaries" arch=('i686' 'x86_64') url="http://qstardict.ylsoftware.com/index.php" license=('GPL2') @@ -15,19 +15,19 @@ optdepends=('festival-awb-arctic: for pronouncing words, Scottish English male s 'festival-kallpc16k: for pronouncing words, British English RP male speaker' 'festival-rablpc16k: for pronouncing words, British English RP male speaker') provides=('stardict') -source=(http://qstardict.ylsoftware.com/files/${pkgname}-${pkgver}.tar.bz2 - gcc4.4.patch) - -md5sums=('0828c3fa01c5237db8a67d356a9d1a8c' - 'c6ed927f349025bdbf202f1c5a5888e8') +changelog=$pkgname.changelog +source=(http://qstardict.ylsoftware.com/files/$pkgname-$pkgver.tar.bz2) +sha256sums=('9cb20f8829be0983176bc52728d3701b0862522741cac1a9967222c86aaaa9fb') build() { cd ${srcdir}/$pkgname-$pkgver - # This patch is commited upstream, remove on next release - patch -Np1 -i "$srcdir/gcc4.4.patch" || return 1 + qmake ENABLED_PLUGINS="stardict web swac" + make +} + +package() { + cd ${srcdir}/$pkgname-$pkgver - qmake ENABLED_PLUGINS="stardict web swac" || return 1 - make || return 1 make INSTALL_ROOT=${pkgdir} install } diff --git a/community/qstardict/qstardict.changelog b/community/qstardict/qstardict.changelog new file mode 100644 index 000000000..aa794fc98 --- /dev/null +++ b/community/qstardict/qstardict.changelog @@ -0,0 +1,11 @@ +2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * qstardict 1.0-1 + +2008-02-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 0.13.1 + +2008-02-04 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Update to major release 0.13.0 + +2008-10-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * Moved to [community] diff --git a/community/surf/PKGBUILD b/community/surf/PKGBUILD index c456f5c45..9929db995 100644 --- a/community/surf/PKGBUILD +++ b/community/surf/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 44535 2011-04-08 08:10:39Z lfleischer $ +# $Id: PKGBUILD 54600 2011-08-20 20:14:06Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Pierre Chapuis <catwell at archlinux dot us> # Contributor: Ray Kohler <ataraxia937 at gmail dot com> @@ -6,12 +6,12 @@ pkgname=surf pkgver=0.4.1 -pkgrel=2 +pkgrel=3 pkgdesc="A simple web browser based on WebKit/GTK+." arch=('i686' 'x86_64') url='http://surf.suckless.org/' license=('MIT') -depends=('libwebkit') +depends=('libwebkit' 'xorg-xprop') optdepends=('dmenu: URL-bar' 'wget: default download handler') makedepends=('pkgconfig') diff --git a/community/vifm/PKGBUILD b/community/vifm/PKGBUILD index e0af13c05..ba061e7d9 100644 --- a/community/vifm/PKGBUILD +++ b/community/vifm/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 52068 2011-07-19 20:56:41Z jlichtblau $ +# $Id: PKGBUILD 54568 2011-08-20 17:57:49Z jlichtblau $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> pkgname=vifm -pkgver=0.6.2 +pkgver=0.6.3 pkgrel=1 pkgdesc="Ncurses based file manager with vi like keybindings" arch=('i686' 'x86_64') @@ -11,17 +11,17 @@ license=('GPL') depends=('ncurses' 'gtk2') changelog=$pkgname.changelog source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2) -sha256sums=('8375f0cce8e1a703cf97322dbbab7ce2fc3be2b2ee072085b10623510b88c137') +sha256sums=('7b6ac1056e7fbca46fb8eb1a40f31c92fc5694b19ca4267fc63e9e295d8cb3ec') build() { - cd ${srcdir}/$pkgname + cd ${srcdir}/$pkgname-$pkgver ./configure --prefix=/usr make } package() { - cd ${srcdir}/$pkgname + cd ${srcdir}/$pkgname-$pkgver make DESTDIR=${pkgdir} install } diff --git a/community/vifm/vifm.changelog b/community/vifm/vifm.changelog index 167e102a9..94305ad1f 100644 --- a/community/vifm/vifm.changelog +++ b/community/vifm/vifm.changelog @@ -1,3 +1,6 @@ +2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * vifm 0.6.3-1 + 2011-07-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> * vifm 0.6.2-1 diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD index 790948675..6e37940ad 100644 --- a/core/binutils/PKGBUILD +++ b/core/binutils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 129398 2011-06-27 11:06:48Z allan $ +# $Id: PKGBUILD 135920 2011-08-20 07:14:19Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=binutils pkgver=2.21.1 -pkgrel=1 +pkgrel=2 _date=20110627 pkgdesc="A set of programs to assemble and manipulate binary and object files" arch=('i686' 'x86_64') diff --git a/core/cloog/PKGBUILD b/core/cloog/PKGBUILD index 39645a7e5..3542e0f0d 100644 --- a/core/cloog/PKGBUILD +++ b/core/cloog/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 119094 2011-04-10 21:37:04Z allan $ +# $Id: PKGBUILD 135904 2011-08-20 07:13:54Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> pkgname=cloog pkgver=0.16.2 -pkgrel=1 +pkgrel=2 pkgdesc="Library that generates loops for scanning polyhedra" arch=('i686' 'x86_64') url="http://www.bastoul.net/cloog/" diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index ecba694b3..a5ac9be2b 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 130912 2011-07-09 03:10:41Z allan $ +# $Id: PKGBUILD 135922 2011-08-20 07:14:22Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') pkgver=4.6.1 -pkgrel=2 +pkgrel=3 #_snapshot=4.6-20110603 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection" @@ -66,6 +66,14 @@ build() { --disable-multilib --disable-libstdcxx-pch \ --enable-checking=release make + + # rebuild libssp without -fstack-protector and -D_FORTIFY_SOURCE=2 + # adjusting Makefile.in prior to build still results in these leaking through (yay libtool...) + cd $CHOST/libssp + sed -i -e "s#-fstack-protector#-fno-stack-protector#" \ + -e "s#-D_FORTIFY_SOURCE=2#-U_FORTIFY_SOURCE#" Makefile + make clean + make } check() { diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index f3a040236..0008d80ac 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 128661 2011-06-25 11:56:19Z allan $ +# $Id: PKGBUILD 135924 2011-08-20 07:14:27Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,15 +6,15 @@ pkgname=glibc pkgver=2.14 -pkgrel=4 +pkgrel=5 _glibcdate=20110617 pkgdesc="GNU C Library" arch=('i686' 'x86_64') url="http://www.gnu.org/software/libc" license=('GPL' 'LGPL') groups=('base') -depends=('linux-api-headers>=2.6.39' 'tzdata') -makedepends=('gcc>=4.4') +depends=('linux-api-headers>=3.0' 'tzdata') +makedepends=('gcc>=4.6') backup=(etc/locale.gen etc/nscd.conf) options=('!strip') @@ -112,6 +112,10 @@ build() { echo "slibdir=/lib" >> configparms + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + ${srcdir}/glibc/configure --prefix=/usr \ --libdir=/usr/lib --libexecdir=/usr/lib \ --with-headers=/usr/include \ @@ -121,8 +125,19 @@ build() { --enable-bind-now --without-gd \ --without-cvs --disable-profile \ --disable-multi-arch - + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms make + + # re-enable hardening for programs + sed -i "s#=no#=yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms } check() { diff --git a/core/gmp/PKGBUILD b/core/gmp/PKGBUILD index c8b486dec..60ed858b2 100644 --- a/core/gmp/PKGBUILD +++ b/core/gmp/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 131961 2011-07-18 11:43:05Z allan $ +# $Id: PKGBUILD 135906 2011-08-20 07:13:57Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gmp pkgver=5.0.2 -pkgrel=2 +pkgrel=3 pkgdesc="A free library for arbitrary precision arithmetic" arch=('i686' 'x86_64') url="http://gmplib.org/" diff --git a/core/isl/PKGBUILD b/core/isl/PKGBUILD index bba92fb24..c6912f4fc 100644 --- a/core/isl/PKGBUILD +++ b/core/isl/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 119089 2011-04-10 21:34:57Z allan $ +# $Id: PKGBUILD 135908 2011-08-20 07:13:59Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> pkgname=isl pkgver=0.06 -pkgrel=1 +pkgrel=2 pkgdesc="Library for manipulating sets and relations of integer points bounded by linear constraints" arch=('i686' 'x86_64') url="http://www.kotnet.org/~skimo/isl/" diff --git a/core/libmpc/PKGBUILD b/core/libmpc/PKGBUILD index 58dc50c42..f482d4104 100644 --- a/core/libmpc/PKGBUILD +++ b/core/libmpc/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 129838 2011-06-29 04:23:14Z allan $ +# $Id: PKGBUILD 135910 2011-08-20 07:14:03Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> pkgname=libmpc pkgver=0.9 -pkgrel=1 +pkgrel=2 pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision" arch=('i686' 'x86_64') url="http://www.multiprecision.org/" diff --git a/core/linux-api-headers/PKGBUILD b/core/linux-api-headers/PKGBUILD index 0a3f8da6e..cc3c67a28 100644 --- a/core/linux-api-headers/PKGBUILD +++ b/core/linux-api-headers/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 126765 2011-06-07 07:31:07Z allan $ +# $Id: PKGBUILD 135918 2011-08-20 07:14:16Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=linux-api-headers -pkgver=2.6.39.1 -_basever=2.6.39 +pkgver=3.0.1 +_basever=3.0 pkgrel=1 pkgdesc="Kernel headers sanitized for use in userspace" arch=('i686' 'x86_64') @@ -14,10 +14,10 @@ license=('GPL2') provides=("kernel-headers=${pkgver}") conflicts=('kernel-headers') replaces=('kernel-headers') -source=(http://www.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2 - http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2) -md5sums=('1aab7a741abe08d42e8eccf20de61e05' - '215f7ebaafe1175dbc5d1e439c9a96d5') +source=(http://www.kernel.org/pub/linux/kernel/v${_basever}/linux-${_basever}.tar.bz2 + http://www.kernel.org/pub/linux/kernel/v${_basever}/patch-${pkgver}.bz2) +md5sums=('398e95866794def22b12dfbc15ce89c0' + 'ac49f7907f1fc85fbab92d0f1aa1552a') build() { cd ${srcdir}/linux-${_basever} diff --git a/core/mpfr/PKGBUILD b/core/mpfr/PKGBUILD index 3f593116a..d55d4897d 100644 --- a/core/mpfr/PKGBUILD +++ b/core/mpfr/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 128942 2011-06-25 14:51:58Z allan $ +# $Id: PKGBUILD 135912 2011-08-20 07:14:08Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: damir <damir@archlinux.org> @@ -7,7 +7,7 @@ pkgname=mpfr _pkgver=3.0.1 _patchlevel=p4 pkgver=${_pkgver}.${_patchlevel} -pkgrel=1 +pkgrel=2 pkgdesc="Multiple-precision floating-point library" arch=('i686' 'x86_64') url="http://www.mpfr.org/" diff --git a/core/ppl/PKGBUILD b/core/ppl/PKGBUILD index ba8477680..953f1da9b 100644 --- a/core/ppl/PKGBUILD +++ b/core/ppl/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 129854 2011-06-29 04:31:09Z allan $ +# $Id: PKGBUILD 135914 2011-08-20 07:14:11Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: ezzetabi <ezzetabi at gawab dot com> pkgname=ppl pkgver=0.11.2 -pkgrel=1 +pkgrel=2 pkgdesc="A modern library for convex polyhedra and other numerical abstractions." arch=('i686' 'x86_64') url="http://www.cs.unipr.it/ppl" diff --git a/core/sudo/PKGBUILD b/core/sudo/PKGBUILD index fee69d2c1..7bccb05d4 100644 --- a/core/sudo/PKGBUILD +++ b/core/sudo/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 124889 2011-05-24 21:47:33Z eric $ +# $Id: PKGBUILD 135926 2011-08-20 07:14:30Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=sudo -_ver=1.8.1p2 +_ver=1.8.2 pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}} pkgrel=1 pkgdesc="Give certain users the ability to run some commands as root" @@ -15,7 +15,7 @@ backup=('etc/sudoers' 'etc/pam.d/sudo') options=('!libtool' '!makeflags') source=(ftp://ftp.sudo.ws/pub/sudo/$pkgname-$_ver.tar.gz sudo.pam) -md5sums=('e8330f0e63b0ecb2e12b5c76922818cc' +md5sums=('000f458e7391be9fdf459a9ad6a4912a' '4e7ad4ec8f2fe6a40e12bcb2c0b256e3') build() { diff --git a/core/zlib/PKGBUILD b/core/zlib/PKGBUILD index ee91eff75..d1f16c1b2 100644 --- a/core/zlib/PKGBUILD +++ b/core/zlib/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 100000 2010-11-19 17:40:38Z pierre $ +# $Id: PKGBUILD 135916 2011-08-20 07:14:14Z allan $ # Maintainer: Pierre Schmitz <pierre@archlinux.de> pkgname=zlib pkgver=1.2.5 -pkgrel=3 +pkgrel=4 pkgdesc='Compression library implementing the deflate compression method found in gzip and PKZIP' arch=('i686' 'x86_64') license=('custom') @@ -18,7 +18,7 @@ md5sums=('c735eab2d659a96e5a594c9e8541ad63' build() { cd ${srcdir}/zlib-$pkgver # see http://bugs.archlinux.org/task/19280 - patch -p1 -i ${srcdir}/zlib-1.2.5-lfs-decls.patch || return 1 + patch -p1 -i ${srcdir}/zlib-1.2.5-lfs-decls.patch # work around gcc bug; see https://bugs.archlinux.org/task/20647 export CFLAGS="${CFLAGS/-O2/-O3} -fno-tree-vectorize -DUNALIGNED_OK" ./configure --prefix=/usr @@ -27,6 +27,11 @@ build() { grep -A 24 '^ Copyright' zlib.h > LICENSE } +check() { + cd ${srcdir}/zlib-$pkgver + make check +} + package() { cd ${srcdir}/zlib-$pkgver make install DESTDIR=${pkgdir} diff --git a/extra/eject/PKGBUILD b/extra/eject/PKGBUILD index b03fd577d..131f4584e 100644 --- a/extra/eject/PKGBUILD +++ b/extra/eject/PKGBUILD @@ -1,29 +1,50 @@ -# $Id: PKGBUILD 122087 2011-05-02 06:23:02Z andrea $ -# Maintainer: +# $Id: PKGBUILD 135944 2011-08-20 17:05:11Z tomegun $ +# Maintainer: Tom Gundersen <teg@jlkm.no> +# Contributor: Natrio <natrio@list.ru> # Contributor: dorphell <dorphell@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=eject pkgver=2.1.5 -pkgrel=5 -pkgdesc="A program for ejecting removable media under software control" +pkgrel=7 +pkgdesc="A program for ejecting removable media under software control." arch=('i686' 'x86_64') url="http://eject.sourceforge.net/" license=('GPL') depends=('glibc') -source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2" - 'eject-2.1.5-handle-spaces.patch') +source=("ftp://ftp.archlinux.org/other/eject/eject-${pkgver}.tar.bz2" + 'eject-2.1.1-verbose.patch' + 'eject-2.1.5-lock.patch' + 'eject-2.1.5-spaces.patch' + 'eject-2.1.5-umount.patch' + 'eject-timeout.patch' + 'eject-2.1.5-unlock.patch' + 'eject-2.1.5-openrw.patch') md5sums=('5a6cab2184ae4ed21128054d931d558f' - '595b97c3bd56fd41e3b01b07885f81dc') + '4fb81806de181d5f353a459b7f122081' + '7d18c14f7b1bb50149fd2b41215dc4f2' + '64f5c54dac064e6dbc427025d919221b' + '34221248a269703d3a47a8d2a6fdd2e2' + 'f6b1b702ef9174e2fd05a56ee2de850e' + 'f384f98fa689b087d99217a7403bf706' + 'e74d742540e4f399d348af495bf00e85') build() { - cd "${srcdir}/${pkgname}" - patch -Np0 -i "${srcdir}/eject-2.1.5-handle-spaces.patch" - ./configure --prefix=/usr --mandir=/usr/share/man + cd "${srcdir}/eject" + patch -p1 -i "${srcdir}/eject-2.1.1-verbose.patch" + patch -p1 -i "${srcdir}/eject-2.1.5-lock.patch" + patch -p1 -i "${srcdir}/eject-2.1.5-spaces.patch" + patch -p1 -i "${srcdir}/eject-2.1.5-umount.patch" + patch -p1 -i "${srcdir}/eject-timeout.patch" + patch -p1 -i "${srcdir}/eject-2.1.5-unlock.patch" + patch -p1 -i "${srcdir}/eject-2.1.5-openrw.patch" + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-default-device=sr0 make } package() { - cd "${srcdir}/${pkgname}" + cd "${srcdir}/eject" make DESTDIR="${pkgdir}" install } diff --git a/extra/eject/eject-2.1.1-verbose.patch b/extra/eject/eject-2.1.1-verbose.patch new file mode 100644 index 000000000..44c05d881 --- /dev/null +++ b/extra/eject/eject-2.1.1-verbose.patch @@ -0,0 +1,15 @@ +diff --git a/eject.c b/eject.c +index b14d5f2..662ba54 100644 +--- a/eject.c ++++ b/eject.c +@@ -709,7 +709,9 @@ static int EjectScsi(int fd) + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { +- printf("not an sg device, or old sg driver\n"); ++ if (v_option) { ++ printf(_("not an sg device, or old sg driver\n")); ++ } + return 0; + } + diff --git a/extra/eject/eject-2.1.5-lock.patch b/extra/eject/eject-2.1.5-lock.patch new file mode 100644 index 000000000..25f84651e --- /dev/null +++ b/extra/eject/eject-2.1.5-lock.patch @@ -0,0 +1,171 @@ + eject.1 | 13 +++++++++++-- + eject.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 63 insertions(+), 4 deletions(-) + +diff --git a/eject.1 b/eject.1 +index 3c388c6..315dc6d 100644 +--- a/eject.1 ++++ b/eject.1 +@@ -17,6 +17,8 @@ eject [\-vn] \-a on|off|1|0 [<name>] + .br + eject [\-vn] \-c slot [<name>] + .br ++eject [\-vn] \-i on|off|1|0 [<name>] ++.br + eject [\-vn] \-t [<name>] + .br + eject [\-vn] \-T [<name>] +@@ -83,6 +85,13 @@ for a change request to work. Please also note that the first slot of + the changer is referred to as 0, not 1. + + .TP 0.5i ++.B \-i on|1|off|0 ++This option controls locking of the hardware eject button. When ++enabled, the drive will not be ejected when the button is pressed. ++This is useful when you are carrying a laptop in a bag or case and ++don't want it to eject if the button is inadvertently pressed. ++ ++.TP 0.5i + .B \-t + With this option the drive is given a CD-ROM tray close command. Not + all devices support this command. +@@ -121,8 +130,8 @@ performed. + .B \-r + This option specifies that the drive should be ejected using a + CDROM eject command. +-.TP 0.5i + ++.TP 0.5i + .B \-s + This option specifies that the drive should be ejected using + SCSI commands. +@@ -145,7 +154,7 @@ also passes the \-n option to umount(1). + .TP 0.5i + .B \-m + This option allows eject to work with device drivers which automatically +-mount removable media and therefore must be always mount()ed. ++mount removable media and therefore must be always mount(1)ed. + The option tells eject to not try to unmount the given device, + even if it is mounted according to /etc/mtab or /proc/mounts. + +diff --git a/eject.c b/eject.c +index f7b2a2e..4175756 100644 +--- a/eject.c ++++ b/eject.c +@@ -116,6 +116,7 @@ int d_option = 0; + int f_option = 0; + int h_option = 0; + int n_option = 0; ++int i_option = 0; + int q_option = 0; + int r_option = 0; + int s_option = 0; +@@ -129,6 +130,7 @@ int m_option = 0; + int a_arg = 0; + int c_arg = 0; + int x_arg = 0; ++int i_arg = 0; + static char *programName; /* used in error messages */ + + /* +@@ -163,6 +165,7 @@ static void usage() + " eject [-vn] -c <slot> [<name>] -- switch discs on a CD-ROM changer\n" + " eject [-vn] -t [<name>] -- close tray\n" + " eject [-vn] -T [<name>] -- toggle tray\n" ++" eject [-vn] -i on|off|1|0 [<name>] -- toggle manual eject protection on/off\n" + " eject [-vn] -x <speed> [<name>] -- set CD-ROM max speed\n" + " eject [-vn] -X [<name>] -- list CD-ROM available speeds\n" + "Options:\n" +@@ -200,7 +203,7 @@ static void usage() + #endif + "\n" + " -n --noop -V --version\n" +-" -p --proc -m --no-unmount -T --traytoggle\n")); ++" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); + #endif /* GETOPTLONG */ + fprintf(stderr,_( + "Parameter <name> can be a device file or a mount point.\n" +@@ -214,7 +217,7 @@ static void usage() + /* Handle command line options. */ + static void parse_args(int argc, char **argv, char **device) + { +- const char *flags = "a:c:x:dfhnqrstTXvVpm"; ++ const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; + #ifdef GETOPTLONG + static struct option long_options[] = + { +@@ -223,6 +226,7 @@ static void parse_args(int argc, char **argv, char **device) + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, ++ {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, +@@ -297,6 +301,21 @@ static void parse_args(int argc, char **argv, char **device) + usage(); + exit(0); + break; ++ case 'i': ++ i_option = 1; ++ if (!strcmp(optarg, "0")) ++ i_arg = 0; ++ else if (!strcmp(optarg, "off")) ++ i_arg = 0; ++ else if (!strcmp(optarg, "1")) ++ i_arg = 1; ++ else if (!strcmp(optarg, "on")) ++ i_arg = 1; ++ else { ++ fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); ++ exit(1); ++ } ++ break; + case 'm': + m_option = 1; + break; +@@ -482,6 +501,30 @@ static char *FindDevice(const char *name) + } + + ++/* ++ * Stops CDROM from opening on manual eject pressing the button. ++ * This can be useful when you carry your laptop ++ * in your bag while it's on and no CD inserted in it's drive. ++ * Implemented as found in Documentation/ioctl/cdrom.txt ++ * ++ * TODO: Maybe we should check this also: ++ * EDRIVE_CANT_DO_THIS Door lock function not supported. ++ * EBUSY Attempt to unlock when multiple users ++ * have the drive open and not CAP_SYS_ADMIN ++ */ ++static void ManualEject(int fd, int onOff) ++{ ++ if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { ++ perror("ioctl on CDROM_LOCKDOOR"); ++ } else { ++ if (onOff) ++ printf("CD-Drive may NOT be ejected with device button\n"); ++ else ++ printf("CD-Drive may be ejected with device button\n"); ++ } ++} ++ ++ + /* Set or clear auto-eject mode. */ + static void AutoEject(int fd, int onOff) + { +@@ -1233,6 +1276,13 @@ int main(int argc, char **argv) + exit(0); + } + ++ /* handle -i option */ ++ if (i_option) { ++ fd = OpenDevice(deviceName); ++ ManualEject(fd, i_arg); ++ exit(0); ++ } ++ + /* handle -a option */ + if (a_option) { + if (v_option) { diff --git a/extra/eject/eject-2.1.5-openrw.patch b/extra/eject/eject-2.1.5-openrw.patch new file mode 100644 index 000000000..092bfcfda --- /dev/null +++ b/extra/eject/eject-2.1.5-openrw.patch @@ -0,0 +1,17 @@ +diff -pur eject-1/eject.c eject/eject.c +--- eject-1/eject.c 2011-08-19 11:42:22.697388647 +0400 ++++ eject/eject.c 2011-08-19 11:57:27.636724026 +0400 +@@ -911,7 +911,12 @@ static void Unmount(const char *fullName + /* Open a device file. */ + static int OpenDevice(const char *fullName) + { +- int fd = open(fullName, O_RDONLY|O_NONBLOCK); ++ int fd = open(fullName, O_RDWR|O_NONBLOCK); ++ if (fd == -1 && errno == EACCES) { ++ if (v_option) ++ printf(_("%s: unable to open `%s' for R/W, SCSI commands can be fail. Trying Read-Only\n"), programName, fullName); ++ fd = open(fullName, O_RDONLY|O_NONBLOCK); ++ } + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); diff --git a/extra/eject/eject-2.1.5-spaces.patch b/extra/eject/eject-2.1.5-spaces.patch new file mode 100644 index 000000000..40834d902 --- /dev/null +++ b/extra/eject/eject-2.1.5-spaces.patch @@ -0,0 +1,62 @@ +diff --git a/eject.c b/eject.c +index d67089c..f7b2a2e 100644 +--- a/eject.c ++++ b/eject.c +@@ -370,6 +370,30 @@ static int FileExists(const char *name, const int try, int *found) + + + /* ++ * Linux mangles spaces in mount points by changing them to an octal string ++ * of '\040'. So lets scan the mount point and fix it up by replacing all ++ * occurrences off '\0##' with the ASCII value of 0##. Requires a writable ++ * string as input as we mangle in place. Some of this was taken from the ++ * util-linux package. ++ */ ++#define octalify(a) ((a) & 7) ++#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) ++#define isoctal(a) (((a) & ~7) == '0') ++static char *DeMangleMount(char *s) ++{ ++ char *tmp = s; ++ while ((tmp = strchr(tmp, '\\')) != NULL) { ++ if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { ++ tmp[0] = tooctal(tmp); ++ memmove(tmp+1, tmp+4, strlen(tmp)-3); ++ } ++ ++tmp; ++ } ++ return s; ++} ++ ++ ++/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') +@@ -882,6 +906,8 @@ static int MountedDevice(const char *name, char **mountName, char **deviceName) + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; ++ DeMangleMount(s1); ++ DeMangleMount(s2); + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { +@@ -928,6 +954,8 @@ static int MountableDevice(const char *name, char **mountName, char **deviceName + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); ++ DeMangleMount(s1); ++ DeMangleMount(s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); +@@ -968,6 +996,8 @@ static void UnmountDevices(const char *pattern) + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { ++ DeMangleMount(s1); ++ DeMangleMount(s2); + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) diff --git a/extra/eject/eject-2.1.5-umount.patch b/extra/eject/eject-2.1.5-umount.patch new file mode 100644 index 000000000..2c588a01d --- /dev/null +++ b/extra/eject/eject-2.1.5-umount.patch @@ -0,0 +1,176 @@ +diff --git a/eject.c b/eject.c +index 4175756..057d2ea 100644 +--- a/eject.c ++++ b/eject.c +@@ -42,6 +42,7 @@ + #include <string.h> + #include <fcntl.h> + #include <limits.h> ++#include <dirent.h> + + #ifdef GETOPTLONG + #include <getopt.h> +@@ -1133,6 +1134,145 @@ static char *MultiplePartitions(const char *name) + return 0; + } + ++/* ++ * Find device name in /sys/block/. Returns NULL if not ++ * found. The returned pointer must be free()'d. ++ */ ++static char* FindDeviceSysBlock(const char* deviceName) ++{ ++ DIR *dir = opendir("/sys/block"); ++ struct dirent *d; ++ const char *baseName = strrchr(deviceName, '/'); ++ char *device; ++ int len; ++ ++ baseName = baseName ? baseName + 1 : deviceName; ++ if (!dir) { ++ fprintf(stderr, _("%s: can not open directory /sys/block/"), programName); ++ return NULL; ++ } ++ while ((d = readdir(dir)) != NULL) { ++ if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN) ++ continue; ++ len = strlen(d->d_name); ++ if (!strncmp(baseName, d->d_name, len)) { ++ if ((*(baseName+len) >= '0' && ++ *(baseName+len) <= '9') || ++ *(baseName+len) == '\0') { ++ device = strdup(d->d_name); ++ closedir(dir); ++ return device; ++ } ++ } ++ } ++ closedir(dir); ++ return NULL; ++} ++ ++/* ++ * From given path gets a subsystem. Returns subsystem if any found ++ * otherwise returns NULL. Returned value must not be free()'d ++ */ ++static char *GetSubSystem(const char *sysfspath) ++{ ++ static char subsystem[PATH_MAX]; ++ char link_subsystem[PATH_MAX]; ++ struct stat buf; ++ char *pos; ++ ++ snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath); ++ ++ if (lstat(link_subsystem, &buf) == -1) ++ return NULL; ++ if (!S_ISLNK(buf.st_mode)) ++ return NULL; ++ if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1) ++ return NULL; ++ if ((pos = strrchr(subsystem, '/')) == NULL) ++ return NULL; ++ strncpy(subsystem, pos+1, sizeof(subsystem)); ++ ++ return subsystem; ++} ++ ++/* ++ * Check content of /sys/block/<dev>/removable. Returns 1 if the file ++ * contains '1' otherwise returns 0. ++ */ ++static int CheckRemovable(const char* deviceName) ++{ ++ FILE *fp; ++ int removable = 0; ++ char *device; ++ char path[PATH_MAX]; ++ ++ if ((device = FindDeviceSysBlock(deviceName)) == NULL) { ++ fprintf(stderr, ++ _("%s: did not find a device %s in /sys/block/\n"), ++ programName, deviceName); ++ exit(1); ++ } ++ snprintf(path, sizeof(path), "/sys/block/%s/removable", device); ++ free(device); ++ if((fp = fopen(path, "r")) == NULL) ++ return removable; ++ if (fgetc(fp) == '1') ++ removable = 1; ++ ++ fclose(fp); ++ return removable; ++} ++ ++/* Check if a device is on hotpluggable subsystem. Returns 1 if is ++ * otherwise returns 0. ++ */ ++static int CheckHotpluggable(const char* deviceName) ++{ ++ int hotpluggable = 0; ++ char *device; ++ char path[PATH_MAX]; ++ char *device_chain; ++ struct stat buf; ++ char *subsystem; ++ char *pos; ++ ++ if ((device = FindDeviceSysBlock(deviceName)) == NULL) { ++ fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"), ++ programName, deviceName); ++ exit(1); ++ } ++ snprintf(path, sizeof(path), "/sys/block/%s/device", device); ++ free(device); ++ ++ if (lstat(path, &buf) == -1) ++ return hotpluggable; ++ if (!S_ISLNK(buf.st_mode)) ++ return hotpluggable; ++ if ((device_chain = SymLink(path)) == NULL) ++ return hotpluggable; ++ while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) { ++ subsystem = GetSubSystem(device_chain); ++ if (subsystem) { ++ /* as hotpluggable we assume devices on these buses */ ++ if (strncmp("usb", subsystem, sizeof("usb")) == 0 || ++ strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 || ++ strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 || ++ strncmp("mmc", subsystem, sizeof("mmc")) == 0 || ++ strncmp("ccw", subsystem, sizeof("ccw")) == 0) { ++ hotpluggable = 1; ++ break; ++ } ++ } ++ /* remove one member from devicechain */ ++ pos = strrchr(device_chain, '/'); ++ if (pos) ++ pos[0] = '\0'; ++ else ++ device_chain[0] = '\0'; ++ } ++ ++ return hotpluggable; ++} + + /* handle -x option */ + static void HandleXOption(char *deviceName) +@@ -1276,6 +1416,17 @@ int main(int argc, char **argv) + exit(0); + } + ++ /* Check if device has removable flag*/ ++ if (v_option) ++ printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"), ++ programName, deviceName); ++ if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName)) ++ { ++ fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"), ++ programName, deviceName); ++ exit(1); ++ } ++ + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); diff --git a/extra/eject/eject-2.1.5-unlock.patch b/extra/eject/eject-2.1.5-unlock.patch new file mode 100644 index 000000000..d554f9bdf --- /dev/null +++ b/extra/eject/eject-2.1.5-unlock.patch @@ -0,0 +1,59 @@ +diff -pur eject-orig/eject.c eject/eject.c +--- eject-orig/eject.c 2006-02-11 04:54:38.000000000 +0300 ++++ eject/eject.c 2011-08-11 13:12:16.568112725 +0400 +@@ -527,6 +527,25 @@ static void CloseTray(int fd) + } + + /* ++ * Unlock tray using CDROM_LOCKDOOR ioctl. ++ * New kernels doesn't automatically unlock tray before ejecting, ++ * and the new udev automatically locks it. ++ */ ++static int UnlockCdrom(int fd) ++{ ++ int status = -1; ++ ++ if (v_option) ++ printf(_("%s: unlocking tray using CDROM_LOCKDOOR ioctl\n"), programName); ++ ++ status = ioctl(fd, CDROM_LOCKDOOR, 0); ++ if (v_option && status != 0) ++ printf(_("%s: CDROM_LOCKDOOR ioctl failed\n"), programName); ++ ++ return (status == 0); ++} ++ ++/* + * Toggle tray. + * + * Written by Benjamin Schwenk <benjaminschwenk@yahoo.de> and +@@ -543,6 +562,8 @@ static void ToggleTray(int fd) + + #ifdef CDROMCLOSETRAY + ++ UnlockCdrom(fd); ++ + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds +@@ -566,7 +587,11 @@ static void ToggleTray(int fd) + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) ++ { ++ if (v_option) ++ printf(_("%s: CD-ROM tray was already open, closing it\n"), programName); + CloseTray(fd); ++ } + + #else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +@@ -681,7 +706,7 @@ static void ListSpeedCdrom(const char *f + static int EjectCdrom(int fd) + { + int status = -1; +- ++ UnlockCdrom(fd); + #if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); + #elif defined(CDIOCEJECT) diff --git a/extra/eject/eject-timeout.patch b/extra/eject/eject-timeout.patch new file mode 100644 index 000000000..a542d2c2f --- /dev/null +++ b/extra/eject/eject-timeout.patch @@ -0,0 +1,11 @@ +--- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200 ++++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200 +@@ -723,7 +723,7 @@ + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; +- io_hdr.timeout = 2000; ++ io_hdr.timeout = 10000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); diff --git a/extra/emacs/PKGBUILD b/extra/emacs/PKGBUILD index c411dd4fc..df9d68480 100644 --- a/extra/emacs/PKGBUILD +++ b/extra/emacs/PKGBUILD @@ -1,50 +1,50 @@ -# $Id: PKGBUILD 134523 2011-08-05 07:55:30Z juergen $ +# $Id: PKGBUILD 135954 2011-08-21 02:30:32Z eric $ # Maintainer: Juergen Hoetzel <juergen@archlinux.org> # Contributor: Renchi Raju <renchi@green.tam.uiuc.edu> pkgname=emacs -pkgver=23.3a -pkgrel=1 -pkgdesc="The Emacs Editor" -arch=(i686 x86_64) +_majorver=23.3 +_minorver=a +# We want something like "23.3.a" so pacman version comparison works, but +# upstream uses "23.3a", which is a bit silly and interpreted as alpha. +pkgver=$_majorver.$_minorver +_realver=$_majorver$_minorver +pkgrel=2 +pkgdesc="The extensible, customizable, self-documenting real-time display editor" +arch=('i686' 'x86_64') url="http://www.gnu.org/software/emacs/emacs.html" -license=('GPL') -options=(docs) -replaces=(cedet) -depends=('dbus-core' 'librsvg' 'gpm' 'giflib' 'libtiff' 'libxpm' 'libjpeg' 'gtk2' 'texinfo' 'hicolor-icon-theme' 'gconf') -source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.gz emacs.desktop) +license=('GPL3') +depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk2' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils') +install=emacs.install +source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$_realver.tar.gz emacs.desktop) md5sums=('20aef9ea5b5bf8050d39f8b1e96a1c04' '8af038d2ba4561271e935bb444ceb4e3') -install=emacs.install build() { - cd $startdir/src/$pkgname-${pkgver%[a-z]} - mandir=/usr/share/man - - # gcc 4.5 Workaround: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904 - CFLAGS="${CFLAGS} -fno-optimize-sibling-calls"\ - ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ - --localstatedir=/var --mandir=${mandir} --without-sound --with-x-toolkit=gtk + cd "$srcdir"/$pkgname-$_majorver + ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ + --localstatedir=/var --without-sound --with-x-toolkit=gtk --with-xft make - make DESTDIR=$startdir/pkg install +} + +package() { + cd "$srcdir"/$pkgname-$_majorver + make DESTDIR="$pkgdir" install # remove conflict with ctags package - mv $startdir/pkg/usr/bin/{ctags,ctags.emacs} - mv $startdir/pkg/usr/bin/{etags,etags.emacs} - mv $startdir/pkg${mandir}/man1/{etags.1,etags.emacs.1} - mv $startdir/pkg${mandir}/man1/{ctags.1,ctags.emacs.1} + mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} + mv "$pkgdir"/usr/share/man/man1/{ctags.1,ctags.emacs.1} # fix all the 777 perms on directories - find $startdir/pkg/usr/share/emacs/${pkgver%[a-z]} -type d -exec chmod 755 {} \; + find "$pkgdir"/usr/share/emacs/$_majorver -type d -exec chmod 755 {} \; # fix user/root permissions on usr/share files - find $startdir/pkg/usr/share/emacs/${pkgver%[a-z]} -exec chown root.root {} \; + find "$pkgdir"/usr/share/emacs/$_majorver -exec chown root:root {} \; # fix perms on /var/games - chmod 775 ${startdir}/pkg/var/games - chmod 775 ${startdir}/pkg/var/games/emacs - chmod 664 ${startdir}/pkg/var/games/emacs/* - chown -R root:50 ${startdir}/pkg/var/games - + chmod 775 "$pkgdir"/var/games + chmod 775 "$pkgdir"/var/games/emacs + chmod 664 "$pkgdir"/var/games/emacs/* + chown -R root:games "$pkgdir"/var/games # fix FS#9253 - mkdir -p $startdir/pkg/usr/share/pixmaps ${startdir}/pkg/usr/share/applications - install -D -m644 ${startdir}/src/${pkgname}.desktop ${startdir}/pkg/usr/share/applications - ln -s ../emacs/${pkgver%[a-z]}/etc/images/icons/hicolor/48x48/apps/emacs.png $startdir/pkg/usr/share/pixmaps/emacs-icon.png + mkdir -p "$pkgdir"/usr/share/pixmaps "$pkgdir"/usr/share/applications + install -D -m644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications + ln -s ../emacs/$_majorver/etc/images/icons/hicolor/48x48/apps/emacs.png "$pkgdir"/usr/share/pixmaps/emacs-icon.png } diff --git a/extra/emacs/emacs.install b/extra/emacs/emacs.install index 80bcb20bf..d84f1de14 100644 --- a/extra/emacs/emacs.install +++ b/extra/emacs/emacs.install @@ -1,15 +1,17 @@ -ICON_PATH=/usr/share/icons/hicolor -INFO_DIR=/usr/share/info +ICON_PATH=usr/share/icons/hicolor +INFO_DIR=usr/share/info INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse -ediff efaq eintr elisp emacs emacs-mime epa erc eshell eudc flymake +ede ediff edt efaq eieio eintr elisp emacs emacs-mime epa erc eshell eudc flymake forms gnus idlwave info mairix-el message mh-e newsticker nxml-mode -org pcl-cvs pgg rcirc reftex remember sasl sc ses sieve smtpmail +org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar tramp url vip viper widget woman) post_install() { gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + [[ -x usr/bin/install-info ]] || return 0 for f in ${INFO_FILES[@]}; do install-info ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null done @@ -21,7 +23,9 @@ post_upgrade() { pre_remove() { gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + [[ -x usr/bin/install-info ]] || return 0 for f in ${INFO_FILES[@]}; do install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null done diff --git a/extra/i8kutils/PKGBUILD b/extra/i8kutils/PKGBUILD index 51329a77f..6c932a3a7 100644 --- a/extra/i8kutils/PKGBUILD +++ b/extra/i8kutils/PKGBUILD @@ -1,6 +1,6 @@ -# $Id: PKGBUILD 66619 2010-02-01 02:26:09Z giovanni $ -# Contributor: Eric Johnson <eric@coding-zone.com> +# $Id: PKGBUILD 135896 2011-08-20 04:45:48Z eric $ # Maintainer: Thayer Williams <thayer@archlinux.org> +# Contributor: Eric Johnson <eric@coding-zone.com> pkgname=i8kutils pkgver=1.33 @@ -10,7 +10,7 @@ url="http://people.debian.org/~dz/i8k/" license=('GPL2') arch=('i686' 'x86_64') depends=('glibc') -source=(http://ftp.archlinux.org/other/i8kutils/$pkgname\_$pkgver.tar.gz) +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}_${pkgver}.tar.gz) md5sums=('1ab077b301dbb0f4be8ef52eb3b97628') build() { diff --git a/extra/pidgin/PKGBUILD b/extra/pidgin/PKGBUILD index 8f6b5e32e..59c3a4f31 100644 --- a/extra/pidgin/PKGBUILD +++ b/extra/pidgin/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 135431 2011-08-13 11:30:30Z foutrelis $ +# $Id: PKGBUILD 135966 2011-08-21 02:57:32Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -6,8 +6,8 @@ # Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl> pkgname=('pidgin' 'libpurple' 'finch') -pkgver=2.9.0 -pkgrel=3 +pkgver=2.10.0 +pkgrel=1 arch=('i686' 'x86_64') url="http://pidgin.im/" license=('GPL') @@ -17,11 +17,9 @@ makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm' 'networkmanager') options=('!libtool') source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 - nm09-more.patch - ticket-14351-multiple-display-of-room-members.patch) -md5sums=('2cd285c7a40f93b7a51bfe733971d3a6' - 'a673659d86c7a65aa710f7c8c7feda82' - '47f16f838b741cfdeda18d7b08a7b816') + nm09-more.patch) +md5sums=('e1453c9093c4f32beec19abd14069a3f' + 'a673659d86c7a65aa710f7c8c7feda82') build() { cd "$srcdir/$pkgname-$pkgver" @@ -30,10 +28,6 @@ build() { # http://developer.pidgin.im/ticket/13859 patch -Np1 -i "$srcdir/nm09-more.patch" - # Fix upstream issue #14351: multiple display of room members - # http://developer.pidgin.im/ticket/14351 - patch -Np0 -i "$srcdir/ticket-14351-multiple-display-of-room-members.patch" - # Use Python 2 sed -i 's/env python$/\02/' */plugins/*.py \ libpurple/purple-{remote,notifications-example,url-handler} diff --git a/extra/xfdesktop/PKGBUILD b/extra/xfdesktop/PKGBUILD index 08901285f..b0a502474 100644 --- a/extra/xfdesktop/PKGBUILD +++ b/extra/xfdesktop/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 125789 2011-05-29 16:59:08Z andyrtr $ +# $Id: PKGBUILD 135949 2011-08-20 21:30:39Z eric $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: tobias <tobias funnychar archlinux.org> pkgname=xfdesktop pkgver=4.8.2 -pkgrel=2 +pkgrel=3 pkgdesc="A desktop manager for Xfce" arch=('i686' 'x86_64') license=('GPL2') @@ -17,11 +17,14 @@ conflicts=('xfce4-menueditor') replaces=('xfce4-menueditor') options=('!libtool') install=xfdesktop.install -source=(http://archive.xfce.org/src/xfce/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2) -md5sums=('ed25d59f478afda552d121e96657d16f') +source=(http://archive.xfce.org/src/xfce/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2 + fix-desktop-drag-and-drop.patch) +md5sums=('ed25d59f478afda552d121e96657d16f' + '86d464bcd8ffae9f048454f49603658a') build() { cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ../fix-desktop-drag-and-drop.patch ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib \ diff --git a/extra/xfdesktop/fix-desktop-drag-and-drop.patch b/extra/xfdesktop/fix-desktop-drag-and-drop.patch new file mode 100644 index 000000000..8c0c4bcc8 --- /dev/null +++ b/extra/xfdesktop/fix-desktop-drag-and-drop.patch @@ -0,0 +1,57 @@ +diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c +index 2711646..d3ca2eb 100644 +--- a/src/xfdesktop-file-icon-manager.c ++++ b/src/xfdesktop-file-icon-manager.c +@@ -2794,7 +2794,7 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager + GFile *tfile = NULL; + gboolean copy_only = TRUE, drop_ok = FALSE; + GList *file_list; +- ++ + if(info == TARGET_XDND_DIRECT_SAVE0) { + /* we don't suppose XdndDirectSave stage 3, result F, i.e., the app + * has to save the data itself given the filename we provided in +@@ -2816,7 +2816,7 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager + /* data is "URL\nTITLE" */ + GFile *source_file = NULL; + gchar *exo_desktop_item_edit = g_find_program_in_path("exo-desktop-item-edit"); +- ++ + if(drop_icon) { + GFileInfo *finfo = xfdesktop_file_icon_peek_file_info(XFDESKTOP_FILE_ICON(drop_icon)); + if(g_file_info_get_file_type(finfo) == G_FILE_TYPE_DIRECTORY) +@@ -2911,8 +2911,15 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager + gchar *dest_basename = g_file_get_basename(l->data); + + if(dest_basename && *dest_basename != '\0') { +- GFile *dest_file = g_file_get_child(base_dest_file, dest_basename); +- dest_file_list = g_list_prepend(dest_file_list, dest_file); ++ /* If we copy a file, we need to use the new absolute filename ++ * as the destination. If we move, we need to use the destination ++ * directory. */ ++ if(copy_only) { ++ GFile *dest_file = g_file_get_child(base_dest_file, dest_basename); ++ dest_file_list = g_list_prepend(dest_file_list, dest_file); ++ } else { ++ dest_file_list = g_list_prepend(dest_file_list, base_dest_file); ++ } + } + + g_free(dest_basename); +@@ -2923,10 +2930,10 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager + if(dest_file_list) { + dest_file_list = g_list_reverse(dest_file_list); + +- drop_ok =xfdesktop_file_utils_transfer_files(context->action, +- file_list, +- dest_file_list, +- fmanager->priv->gscreen); ++ drop_ok = xfdesktop_file_utils_transfer_files(context->action, ++ file_list, ++ dest_file_list, ++ fmanager->priv->gscreen); + } + + xfdesktop_file_utils_file_list_free(dest_file_list); + + diff --git a/extra/zile/PKGBUILD b/extra/zile/PKGBUILD index 8ada94ea7..e1457b41b 100644 --- a/extra/zile/PKGBUILD +++ b/extra/zile/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 125598 2011-05-26 20:47:05Z kevin $ +# $Id: PKGBUILD 135981 2011-08-21 03:51:34Z eric $ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> # Maintainer: Kevin Piche <kevin@archlinux.org> @@ -9,20 +9,19 @@ pkgdesc="A small, fast, and powerful Emacs clone" arch=(i686 x86_64) url="http://www.gnu.org/software/zile/" # Lua is not required, the author uses it to generate some source files. -makedepends=('help2man') depends=('ncurses') license=('GPL') source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz) md5sums=('fe77d801ba69e0fb9b4914a04b9ff506') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}"/${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install } diff --git a/multilib/binutils-multilib/PKGBUILD b/multilib/binutils-multilib/PKGBUILD index 549c084f0..8d1bbadc3 100644 --- a/multilib/binutils-multilib/PKGBUILD +++ b/multilib/binutils-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50278 2011-06-27 16:01:59Z heftig $ +# $Id: PKGBUILD 54543 2011-08-20 07:14:17Z allan $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -6,7 +6,7 @@ pkgname=binutils-multilib pkgver=2.21.1 -pkgrel=1 +pkgrel=2 _date=20110627 pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib" arch=('x86_64') diff --git a/multilib/gcc-multilib/PKGBUILD b/multilib/gcc-multilib/PKGBUILD index d3125e7b8..5071a49b7 100644 --- a/multilib/gcc-multilib/PKGBUILD +++ b/multilib/gcc-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 51469 2011-07-09 18:11:54Z heftig $ +# $Id: PKGBUILD 54542 2011-08-20 07:14:14Z allan $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -8,7 +8,7 @@ pkgbase='gcc-multilib' pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') pkgver=4.6.1 -pkgrel=2 +pkgrel=3 #_snapshot=4.6-20110603 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection for multilib" @@ -67,6 +67,21 @@ build() { --enable-multilib --disable-libstdcxx-pch \ --enable-checking=release make + + # rebuild libssp without -fstack-protector and -D_FORTIFY_SOURCE=2 + # adjusting Makefile.in prior to build still results in these leaking through (yay libtool...) + cd $CHOST/libssp + sed -i -e "s#-fstack-protector#-fno-stack-protector#" \ + -e "s#-D_FORTIFY_SOURCE=2#-U_FORTIFY_SOURCE#" Makefile + make clean + make + + # rebuild 32-bit libssp + cd ../32/libssp + sed -i -e "s#-fstack-protector#-fno-stack-protector#" \ + -e "s#-D_FORTIFY_SOURCE=2#-U_FORTIFY_SOURCE#" Makefile + make clean + make } check() { diff --git a/multilib/lib32-glibc/PKGBUILD b/multilib/lib32-glibc/PKGBUILD index 276d465cd..c4b759ef9 100644 --- a/multilib/lib32-glibc/PKGBUILD +++ b/multilib/lib32-glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50168 2011-06-25 17:22:07Z heftig $ +# $Id: PKGBUILD 54541 2011-08-20 07:14:05Z allan $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> @@ -9,14 +9,14 @@ _pkgbasename=glibc pkgname=lib32-$_pkgbasename pkgver=2.14 -pkgrel=4 +pkgrel=5 _glibcdate=20110617 pkgdesc="GNU C Library for multilib" arch=('x86_64') url="http://www.gnu.org/software/libc" license=('GPL' 'LGPL') depends=("glibc>=$pkgver") -makedepends=('gcc-multilib>=4.4') +makedepends=('gcc-multilib>=4.6') options=('!strip' '!emptydirs') source=(http://mirrors.kernel.org/archlinux/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz glibc-2.10-dont-build-timezone.patch @@ -88,12 +88,16 @@ build() { mkdir glibc-build cd glibc-build + export CC="gcc -m32" + # Hack to fix NPTL issues with Xen, only required on 32bit platforms export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" echo "slibdir=/usr/lib32" >> configparms - export CC="gcc -m32" + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} ${srcdir}/glibc/configure --prefix=/usr \ --libdir=/usr/lib32 --libexecdir=/usr/lib32 \ @@ -104,8 +108,19 @@ build() { --enable-bind-now --without-gd \ --without-cvs --disable-profile \ --disable-multi-arch i686-unknown-linux-gnu - + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "s#=no#=yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms } check() { diff --git a/staging/cloog/PKGBUILD b/staging/cloog/PKGBUILD new file mode 100644 index 000000000..392921e6c --- /dev/null +++ b/staging/cloog/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 135964 2011-08-21 02:51:57Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +pkgname=cloog +pkgver=0.16.3 +pkgrel=1 +pkgdesc="Library that generates loops for scanning polyhedra" +arch=('i686' 'x86_64') +url="http://www.bastoul.net/cloog/" +license=('GPL') +depends=('isl' 'gmp') +conflicts=('cloog-ppl<0.15.10-2') +options=('!libtool') +source=(http://www.bastoul.net/cloog/pages/download/$pkgname-$pkgver.tar.gz) +md5sums=('a0f8a241cd1c4f103f8d2c91642b3498') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr --with-isl=system --with-gmp=system + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} diff --git a/staging/gcc/PKGBUILD b/staging/gcc/PKGBUILD new file mode 100644 index 000000000..de5781ab3 --- /dev/null +++ b/staging/gcc/PKGBUILD @@ -0,0 +1,254 @@ +# $Id: PKGBUILD 135972 2011-08-21 03:00:57Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') +pkgver=4.6.1 +pkgrel=4 +_snapshot=4.6-20110819 +_libstdcppmanver=20110814 # Note: check source directory name when updating this +pkgdesc="The GNU Compiler Collection" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL' 'custom') +url="http://gcc.gnu.org" +makedepends=('binutils>=2.21-9' 'libmpc' 'cloog' 'ppl' 'gcc-ada') +checkdepends=('dejagnu') +options=('!libtool' '!emptydirs') +source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 + gcc_pure64.patch + gcc-hash-style-both.patch) +md5sums=('b14d22730f9085eab7fd927039e68d28' + 'ce920d2550ff7e042b9f091d27764d8f' + '4030ee1c08dd1e843c0225b772360e76' + '4df25b623799b148a0703eaeec8fdf3f') + +if [ -n "${_snapshot}" ]; then + _basedir="${srcdir}/gcc-${_snapshot}" +else + _basedir="${srcdir}/gcc-${pkgver}" +fi + +build() { + cd ${_basedir} + + # Do not install libiberty + sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + if [ "${CARCH}" = "x86_64" ]; then + patch -Np1 -i ${srcdir}/gcc_pure64.patch + fi + patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch + + echo ${pkgver} > gcc/BASE-VER + + cd ${srcdir} + mkdir gcc-build && cd gcc-build + + ${_basedir}/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --mandir=/usr/share/man --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ + --enable-shared --enable-threads=posix \ + --with-system-zlib --enable-__cxa_atexit \ + --disable-libunwind-exceptions --enable-clocale=gnu \ + --enable-gnu-unique-object --enable-linker-build-id \ + --with-ppl --enable-cloog-backend=isl \ + --enable-lto --enable-gold --enable-ld=default \ + --enable-plugin --with-plugin-ld=ld.gold \ + --disable-multilib --disable-libssp --disable-libstdcxx-pch \ + --enable-checking=release + make +} + +check() { + cd gcc-build + + # increase stack size to prevent test failures + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 + ulimit -s 32768 + + # do not abort on error as some are "expected" + make -k check || true + ${_basedir}/contrib/test_summary +} + +package_gcc-libs() +{ + pkgdesc="Runtime libraries shipped by GCC" + groups=('base') + depends=('glibc>=2.14') + install=gcc-libs.install + + cd gcc-build + make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src; do + make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install + make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info + + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=${pkgdir} install-target-libgfortran + make -j1 DESTDIR=${pkgdir} install-target-libobjc + + # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} + rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc() +{ + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.21.1' 'libmpc' 'cloog' 'ppl') + groups=('base-devel') + install=gcc.install + + cd gcc-build + + # unfortunately it is much, much easier to install the lot and clean-up the mess... + make -j1 DESTDIR=${pkgdir} install + rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} + rm $pkgdir/usr/lib/*.so* + rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a + rm $pkgdir/usr/lib/libgfortran.spec + rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,libgfortranbegin.a} + rm -r $pkgdir/usr/lib/go + rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info + rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo + rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 + rm $pkgdir/usr/share/man/man3/ffi* + + # many packages require these symlinks + install -dm755 ${pkgdir}/lib + ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp + ln -sf gcc ${pkgdir}/usr/bin/cc + ln -sf g++ ${pkgdir}/usr/bin/c++ + + # install gengtype for plugin support + install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/ + + # POSIX conformance launcher scripts for c89 and c99 + cat > $pkgdir/usr/bin/c89 <<"EOF" +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + cat > $pkgdir/usr/bin/c99 <<"EOF" +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + chmod 755 $pkgdir/usr/bin/c{8,9}9 + + # install the libstdc++ man pages + install -dm755 ${pkgdir}/usr/share/man/man3 + install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/ + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-fortran() +{ + pkgdesc="Fortran front-end for GCC" + depends=("gcc=$pkgver-$pkgrel") + install=gcc-fortran.install + + cd gcc-build + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=$pkgdir install-target-libgfortran + make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS + make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} + install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so* + rm ${pkgdir}/usr/share/info/libquadmath.info + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-objc() +{ + pkgdesc="Objective-C front-end for GCC" + depends=("gcc=$pkgver-$pkgrel") + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libobjc + install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib/libobjc.so* + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-ada() +{ + pkgdesc="Ada front-end for GCC (GNAT)" + depends=("gcc=$pkgver-$pkgrel") + install=gcc-ada.install + + cd gcc-build/gcc + make -j1 DESTDIR=$pkgdir ada.install-{common,info} + install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-go() +{ + pkgdesc="Go front-end for GCC" + depends=("gcc=$pkgver-$pkgrel") + install=gcc-go.install + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libgo + make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} + install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION +} diff --git a/staging/gcc/gcc-ada.install b/staging/gcc/gcc-ada.install new file mode 100644 index 000000000..df0553a4f --- /dev/null +++ b/staging/gcc/gcc-ada.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gnat-style.info gnat_rm.info gnat_ugn.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/staging/gcc/gcc-fortran.install b/staging/gcc/gcc-fortran.install new file mode 100644 index 000000000..b15d89a97 --- /dev/null +++ b/staging/gcc/gcc-fortran.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file="gfortran.info" + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file.gz $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null +} diff --git a/staging/gcc/gcc-go.install b/staging/gcc/gcc-go.install new file mode 100644 index 000000000..7dc50dee5 --- /dev/null +++ b/staging/gcc/gcc-go.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gccgo.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/staging/gcc/gcc-hash-style-both.patch b/staging/gcc/gcc-hash-style-both.patch new file mode 100644 index 000000000..8b59f4535 --- /dev/null +++ b/staging/gcc/gcc-hash-style-both.patch @@ -0,0 +1,122 @@ +--- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000 ++++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000 +@@ -41,7 +41,7 @@ + + #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +--- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000 ++++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000 +@@ -78,7 +78,7 @@ + %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" + + #undef LINK_SPEC +-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ ++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000 ++++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000 +@@ -104,7 +104,7 @@ + { "dynamic_linker", LINUX_DYNAMIC_LINKER } + + #undef LINK_SPEC +-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +--- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000 ++++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000 +@@ -64,7 +64,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC "--hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000 ++++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000 +@@ -389,11 +389,11 @@ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) + + +-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}" + +-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}" + +--- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000 ++++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000 +@@ -830,7 +830,7 @@ + #define LINUX_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + -dynamic-linker " LINUX_DYNAMIC_LINKER "}}" + +--- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000 ++++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000 +@@ -77,7 +77,7 @@ + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +--- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000 ++++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000 +@@ -113,7 +113,7 @@ + { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ + { "link_arch", LINK_ARCH_SPEC }, + +-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \ ++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +@@ -121,7 +121,7 @@ + %{static:-static}} \ + " + +-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +@@ -193,7 +193,7 @@ + #else /* !SPARC_BI_ARCH */ + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ ++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +--- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000 ++++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000 +@@ -74,7 +74,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!static: \ diff --git a/staging/gcc/gcc-libs.install b/staging/gcc/gcc-libs.install new file mode 100644 index 000000000..23553b8f0 --- /dev/null +++ b/staging/gcc/gcc-libs.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +filelist=(libgomp.info libquadmath.info) + +post_upgrade() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/staging/gcc/gcc.install b/staging/gcc/gcc.install new file mode 100644 index 000000000..3407a5e1f --- /dev/null +++ b/staging/gcc/gcc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/staging/gcc/gcc_pure64.patch b/staging/gcc/gcc_pure64.patch new file mode 100644 index 000000000..8c0baf8e2 --- /dev/null +++ b/staging/gcc/gcc_pure64.patch @@ -0,0 +1,26 @@ +diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h +--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400 ++++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400 +@@ -49,8 +49,8 @@ + When the -shared link option is used a final link is not being + done. */ + +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + + #undef LINK_SPEC + #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ +diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64 +--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400 ++++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400 +@@ -6,7 +6,7 @@ + + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = ../lib ../lib32 + + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib diff --git a/staging/isl/PKGBUILD b/staging/isl/PKGBUILD new file mode 100644 index 000000000..553af2b6f --- /dev/null +++ b/staging/isl/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 135962 2011-08-21 02:50:34Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +pkgname=isl +pkgver=0.07 +pkgrel=1 +pkgdesc="Library for manipulating sets and relations of integer points bounded by linear constraints" +arch=('i686' 'x86_64') +url="http://www.kotnet.org/~skimo/isl/" +license=('LGPL2.1') +options=('!libtool') +source=(http://www.kotnet.org/~skimo/isl/$pkgname-$pkgver.tar.bz2) +md5sums=('0d1a38db9f1c7d526758092b985827ea') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make -j1 DESTDIR="$pkgdir/" install + + # this seems a better place for this file... + install -dm755 $pkgdir/usr/share/gdb/auto-load/ + mv $pkgdir/usr/{lib,share/gdb/auto-load}/libisl.so.7.0.0-gdb.py +} diff --git a/testing/avahi/PKGBUILD b/testing/avahi/PKGBUILD new file mode 100644 index 000000000..4e9934d63 --- /dev/null +++ b/testing/avahi/PKGBUILD @@ -0,0 +1,75 @@ +# $Id: PKGBUILD 135978 2011-08-21 03:40:24Z allan $ +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> +# Maintainer: Gaetan Bisson <bisson@archlinux.org> + +pkgname=avahi +pkgver=0.6.30 +pkgrel=5 +pkgdesc='A multicast/unicast DNS-SD framework' +arch=('i686' 'x86_64') +url='http://www.avahi.org/' +license=('LGPL') +depends=('expat' 'libdaemon' 'glib2' 'dbus' 'libcap' 'gdbm') +optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc' + 'gtk2: gtk2 bindings' + 'qt3: qt3 bindings' + 'qt: qt bindings' + 'pygtk: avahi-bookmarks, avahi-discover' + 'twisted: avahi-bookmarks' + 'mono: mono bindings' + 'dbus-python: avahi-discover' + 'nss-mdns: NSS support for mDNS') +makedepends=('qt' 'qt3' 'pygtk' 'mono' 'intltool' 'dbus-python' + 'gtk-sharp-2' 'gobject-introspection' 'gtk3') +backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service) +install=install +conflicts=('howl' 'mdnsresponder') +provides=('howl' 'mdnsresponder') +replaces=('howl' 'mdnsresponder') +options=('!libtool') +source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz" + 'gnome-nettool.png' + 'rc.d.patch') +sha1sums=('5b77443537600a00770e4c77e3c443eeb5861d06' + 'cf56387c88aed246b9f435efc182ef44de4d52f3' + '625ad7c131c0c1c383caeddef18fc7a32d8f3ab9') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i 's/netdev/network/g' avahi-daemon/avahi-dbus.conf + patch -p1 -i "../rc.d.patch" + + # pygtk requires python2; make it explicit in case other python are installed: FS#21865 + PYTHON=python2 \ + PKG_CONFIG_PATH=/opt/qt/lib/pkgconfig \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --disable-monodoc \ + --disable-doxygen-doc \ + --disable-xmltoman \ + --enable-compat-libdns_sd \ + --enable-compat-howl \ + --with-distro=archlinux \ + --with-avahi-priv-access-group=network \ + --with-autoipd-user=avahi \ + --with-autoipd-group=avahi \ + --with-systemdsystemunitdir=/lib/systemd/system # See FS#20999 + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m 644 ../gnome-nettool.png "${pkgdir}"/usr/share/pixmaps/gnome-nettool.png + + cd "${pkgdir}" + sed -i '1c #!/usr/bin/python2' usr/bin/avahi-{bookmarks,discover} + # howl and mdnsresponder compatability + (cd usr/include; ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h; ln -s avahi-compat-howl howl) + (cd usr/lib/pkgconfig; ln -s avahi-compat-howl.pc howl.pc) +} diff --git a/testing/avahi/gnome-nettool.png b/testing/avahi/gnome-nettool.png Binary files differnew file mode 100644 index 000000000..227d0678a --- /dev/null +++ b/testing/avahi/gnome-nettool.png diff --git a/testing/avahi/install b/testing/avahi/install new file mode 100644 index 000000000..7c75c3dd4 --- /dev/null +++ b/testing/avahi/install @@ -0,0 +1,21 @@ +post_install() { + getent group avahi &>/dev/null || groupadd -r -g 84 avahi >/dev/null + getent passwd avahi &>/dev/null || useradd -r -u 84 -g avahi -d / -s /bin/false -c avahi avahi >/dev/null + + cat <<EOF +==> The following daemons may be added to DAEMONS in /etc/rc.conf: +==> avahi-daemon: the mdns responder, you probably want this. +==> dbus needs to be running when you start it. +==> avahi-dnsconfd: daemon used for peer-to-peer automatic dns +==> configuration on dhcp-less networks. + +==> To use some of the client applications you will have to install python. +==> In addition, pygtk is required for the graphical ones and +==> twisted for avahi-bookmarks. +EOF +} + +post_remove() { + getent passwd avahi &>/dev/null && userdel avahi >/dev/null + getent group avahi &>/dev/null && groupdel avahi >/dev/null +} diff --git a/testing/avahi/rc.d.patch b/testing/avahi/rc.d.patch new file mode 100644 index 000000000..fd735734b --- /dev/null +++ b/testing/avahi/rc.d.patch @@ -0,0 +1,11 @@ +diff -aur old/initscript/archlinux/avahi-daemon.in new/initscript/archlinux/avahi-daemon.in +--- old/initscript/archlinux/avahi-daemon.in 2011-06-24 03:07:00.916170590 +0200 ++++ new/initscript/archlinux/avahi-daemon.in 2011-06-24 03:16:32.220596377 +0200 +@@ -33,6 +33,7 @@ + + case "$1" in + start) ++ ck_daemon dbus && { echo -n "Start dbus first." >&2; stat_die; } + stat_busy "Starting $DESC" + $DAEMON -D > /dev/null 2>&1 + if [ $? -gt 0 ]; then diff --git a/testing/gpsd/PKGBUILD b/testing/gpsd/PKGBUILD index d4c1119cd..88fdd571d 100644 --- a/testing/gpsd/PKGBUILD +++ b/testing/gpsd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 135847 2011-08-19 16:38:40Z andrea $ +# $Id: PKGBUILD 135939 2011-08-20 16:11:39Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org @@ -6,7 +6,7 @@ pkgname=gpsd pkgver=3.0 -pkgrel=1 +pkgrel=3 pkgdesc="GPS daemon and library to support USB/serial GPS devices" arch=('i686' 'x86_64') url="http://gpsd.berlios.de" @@ -19,9 +19,10 @@ backup=('etc/conf.d/gpsd' 'lib/udev/rules.d/99-gpsd-usb.rules') options=('!libtool' '!buildflags') install="${pkgname}.install" source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.gz" - 'gpsd') + 'gpsd' 'gpsd.conf.d') md5sums=('c63d41a26868e9bdd48d9e311a9cc42c' - 'e287d4b34a4eb1da27f12533ae9b6dd5') + '1f3402f8e33a7032b9ae6dfd077234f7' + '3e963df3f9f7ef3572ecc648ae829315') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -43,15 +44,13 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" + # Fix man pages path (FS#21715) + sed -i 's|.so gps.1|.so man1/gps.1|' cgps.1 lcdgps.1 xgps.1 xgpsspeed.1 + export DESTDIR="${pkgdir}" scons install - # Our own udev-install since the Makefile uses absolute paths - # Original file names are [mostly] unmodified: useful to match process name in case of error - # Following the switch from hotplug to udev helper scripts now live in /lib/udev/ instead of /etc/hotplug/ - sed -i 's|GPSD_OPTIONS=""|GPSD_OPTIONS="-P /var/run/gpsd/gpsd.pid"|' packaging/deb/etc_default_gpsd - sed -i 's|"/var/run/gpsd.sock"|"/var/run/gpsd/gpsd.sock"|' packaging/deb/etc_default_gpsd - install -D -m644 "packaging/deb/etc_default_gpsd" "${pkgdir}/etc/conf.d/gpsd" + install -D -m644 "${srcdir}/gpsd.conf.d" "${pkgdir}/etc/conf.d/gpsd" install -D -m644 "gpsd.rules" "${pkgdir}/lib/udev/rules.d/99-gpsd-usb.rules" @@ -74,5 +73,3 @@ package() { install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } -md5sums=('c63d41a26868e9bdd48d9e311a9cc42c' - '0d5879df32833ca67a5491ce1ff98dcc') diff --git a/testing/gpsd/gpsd b/testing/gpsd/gpsd index cc8b1ec74..b510a7542 100755 --- a/testing/gpsd/gpsd +++ b/testing/gpsd/gpsd @@ -6,29 +6,30 @@ NAME=gpsd DAEMON=/usr/sbin/$NAME -PID=$(pidof -o %PPID /usr/sbin/gpsd) +PIDFILE=/var/run/$NAME/$NAME.pid +PID=$(cat $PIDFILE 2>/dev/null) case "$1" in start) - stat_busy "Starting gpsd" - [ ! -d /var/run/gpsd ] && install -d /var/run/gpsd - [ -z "$PID" ] && "$DAEMON" ${GPSD_OPTIONS} -F ${GPSD_SOCKET} ${DEVICES} + stat_busy "Starting $NAME" + [ ! -d /var/run/$NAME ] && install -d /var/run/$NAME + [ -z "$PID" ] && "$DAEMON" -P $PIDFILE -F /var/run/$NAME/$NAME.sock ${GPSD_OPTIONS} ${DEVICES} if [ $? -gt 0 ]; then stat_fail else - add_daemon gpsd + add_daemon $NAME stat_done fi ;; stop) - stat_busy "Stopping gpsd" + stat_busy "Stopping $NAME" [ ! -z "$PID" ] && kill $PID &> /dev/null if [ $? -gt 0 ]; then stat_fail else - rm -f /var/run/gpsd/$PID.pid &>/dev/null - rm_daemon gpsd - stat_done + rm -f $PIDFILE &>/dev/null + rm_daemon $NAME + stat_done fi ;; diff --git a/testing/gpsd/gpsd.conf.d b/testing/gpsd/gpsd.conf.d new file mode 100644 index 000000000..9fef72cb9 --- /dev/null +++ b/testing/gpsd/gpsd.conf.d @@ -0,0 +1,5 @@ +# Default settings for gpsd. +START_DAEMON="true" +GPSD_OPTIONS="" +DEVICES="" +USBAUTO="true" |