From 851376cd7720e1f9b35e0a7c26bfd66399f0c4d3 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 3 Dec 2011 23:14:41 +0000 Subject: Sat Dec 3 23:14:41 UTC 2011 --- community/bird/PKGBUILD | 75 ++ community/bird/bird.conf | 3 + community/bird/bird.rc | 34 + community/bird/bird.service | 10 + community/bird/bird6.service | 10 + community/calibre/PKGBUILD | 6 +- community/cclive/PKGBUILD | 4 +- community/conntrack-tools/PKGBUILD | 25 +- community/conntrack-tools/conntrackd.conf | 3 + community/conntrack-tools/conntrackd.rc | 34 + community/encfs/PKGBUILD | 4 +- community/fatrat/PKGBUILD | 4 +- community/glob2/PKGBUILD | 8 +- community/glom/PKGBUILD | 6 +- community/gnash/PKGBUILD | 2 +- community/gpsdrive/PKGBUILD | 6 +- community/gummi/PKGBUILD | 6 +- community/libvirt/PKGBUILD | 6 +- community/libvirt/libvirtd-guests.rc.d | 2 +- community/lightspark/PKGBUILD | 2 +- community/luxrays/PKGBUILD | 16 +- .../luxrays/luxrays_opencl1.2_use_deprecated.diff | 12 + community/luxrender/PKGBUILD | 4 +- community/makedev/PKGBUILD | 26 + community/mapnik/PKGBUILD | 4 +- community/mongodb/PKGBUILD | 22 +- community/mygui/PKGBUILD | 4 +- community/performous/PKGBUILD | 11 +- community/pingus/PKGBUILD | 8 +- community/pion-net/PKGBUILD | 4 +- community/pokerth/PKGBUILD | 6 +- community/python-pymongo/PKGBUILD | 10 +- community/qbittorrent/PKGBUILD | 4 +- community/quvi/PKGBUILD | 9 +- community/root/PKGBUILD | 12 +- community/schroot/PKGBUILD | 4 +- community/smc/PKGBUILD | 4 +- community/spring/PKGBUILD | 24 +- community/springlobby/PKGBUILD | 4 +- community/sslh/PKGBUILD | 14 +- community/sslh/sslh.conf | 3 + community/sslh/sslh.rc | 34 + community/tagpy/PKGBUILD | 4 +- community/tcc/ChangeLog | 3 + community/tcc/PKGBUILD | 46 ++ community/twinkle/PKGBUILD | 4 +- community/wine/PKGBUILD | 7 +- community/wt/PKGBUILD | 24 +- extra/akonadi/PKGBUILD | 4 +- extra/avogadro/PKGBUILD | 32 +- extra/avogadro/avogadro.install | 11 + extra/avogadro/fix-boost.patch | 33 + .../replace-qt4_automoc-with-qt4_wrap_cpp.patch | 778 +++++++++++++++++++++ extra/boost/BOOST_FOREACH.patch | 60 ++ extra/boost/PKGBUILD | 21 +- extra/ekiga/PKGBUILD | 4 +- extra/ethtool/PKGBUILD | 22 +- extra/hugin/PKGBUILD | 4 +- extra/kdeedu-kig/PKGBUILD | 4 +- extra/liborigin2/PKGBUILD | 13 +- extra/libpst/PKGBUILD | 4 +- extra/libtorrent-rasterbar/PKGBUILD | 17 +- extra/lyx/PKGBUILD | 18 +- extra/mkvtoolnix/PKGBUILD | 28 +- extra/rxvt-unicode/ChangeLog | 3 + extra/rxvt-unicode/PKGBUILD | 8 +- extra/source-highlight/PKGBUILD | 4 +- extra/thinkfinger/PKGBUILD | 27 +- extra/thinkfinger/gcc46.patch | 22 + extra/wesnoth/PKGBUILD | 35 +- extra/wesnoth/wesnoth.tmpfiles.conf | 1 + extra/xine-ui/PKGBUILD | 27 +- multilib-testing/binutils-multilib/PKGBUILD | 75 ++ .../binutils-multilib/binutils.install | 17 + multilib-testing/gcc-multilib/PKGBUILD | 303 ++++++++ multilib-testing/gcc-multilib/gcc-ada.install | 20 + multilib-testing/gcc-multilib/gcc-fortran.install | 16 + multilib-testing/gcc-multilib/gcc-go.install | 20 + .../gcc-multilib/gcc-hash-style-both.patch | 122 ++++ multilib-testing/gcc-multilib/gcc-libs.install | 16 + multilib-testing/gcc-multilib/gcc.install | 20 + multilib-testing/gcc-multilib/gcc_pure64.patch | 26 + multilib-testing/lib32-glibc/PKGBUILD | 167 +++++ .../lib32-glibc/glibc-2.10-bz4781.patch | 42 ++ .../glibc-2.10-dont-build-timezone.patch | 13 + .../glibc-2.12.1-static-shared-getpagesize.patch | 11 + ....12.2-ignore-origin-of-privileged-program.patch | 26 + .../lib32-glibc/glibc-2.13-futex.patch | 31 + .../lib32-glibc/glibc-2.14-libdl-crash.patch | 132 ++++ .../glibc-2.14-reexport-rpc-interface.patch | 26 + .../glibc-2.14-reinstall-nis-rpc-headers.patch | 28 + .../lib32-glibc/glibc-2.14-revert-4768ae77.patch | 37 + multilib-testing/lib32-glibc/glibc-__i686.patch | 13 + multilib-testing/lib32-glibc/lib32-glibc.conf | 2 + multilib/dev86/PKGBUILD | 48 ++ multilib/dev86/dev86-0.16.17-fortify.patch | 43 ++ multilib/dev86/dev86-pic.patch | 20 + multilib/lib32-gettext/PKGBUILD | 38 + multilib/wine/PKGBUILD | 7 +- testing/binutils/PKGBUILD | 82 +++ testing/binutils/binutils.install | 17 + testing/gcc/PKGBUILD | 254 +++++++ testing/gcc/gcc-ada.install | 20 + testing/gcc/gcc-fortran.install | 16 + testing/gcc/gcc-go.install | 20 + testing/gcc/gcc-hash-style-both.patch | 122 ++++ testing/gcc/gcc-libs.install | 16 + testing/gcc/gcc.install | 20 + testing/gcc/gcc_pure64.patch | 26 + testing/glibc/PKGBUILD | 204 ++++++ testing/glibc/glibc-2.10-bz4781.patch | 42 ++ testing/glibc/glibc-2.10-dont-build-timezone.patch | 13 + .../glibc-2.12.1-static-shared-getpagesize.patch | 11 + ....12.2-ignore-origin-of-privileged-program.patch | 26 + testing/glibc/glibc-2.13-futex.patch | 31 + testing/glibc/glibc-2.14-libdl-crash.patch | 132 ++++ .../glibc/glibc-2.14-reexport-rpc-interface.patch | 26 + .../glibc-2.14-reinstall-nis-rpc-headers.patch | 28 + testing/glibc/glibc-2.14-revert-4768ae77.patch | 37 + testing/glibc/glibc-__i686.patch | 13 + testing/glibc/glibc.install | 20 + testing/glibc/locale-gen | 42 ++ testing/glibc/locale.gen.txt | 23 + testing/glibc/nscd | 40 ++ testing/linux-api-headers/PKGBUILD | 42 ++ ~mtjm/h-client/PKGBUILD | 4 +- 126 files changed, 4177 insertions(+), 226 deletions(-) create mode 100644 community/bird/PKGBUILD create mode 100644 community/bird/bird.conf create mode 100644 community/bird/bird.rc create mode 100644 community/bird/bird.service create mode 100644 community/bird/bird6.service create mode 100644 community/conntrack-tools/conntrackd.conf create mode 100644 community/conntrack-tools/conntrackd.rc create mode 100644 community/luxrays/luxrays_opencl1.2_use_deprecated.diff create mode 100644 community/makedev/PKGBUILD create mode 100644 community/sslh/sslh.conf create mode 100644 community/sslh/sslh.rc create mode 100644 community/tcc/ChangeLog create mode 100644 community/tcc/PKGBUILD create mode 100644 extra/avogadro/avogadro.install create mode 100644 extra/avogadro/fix-boost.patch create mode 100644 extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch create mode 100644 extra/boost/BOOST_FOREACH.patch create mode 100644 extra/thinkfinger/gcc46.patch create mode 100644 extra/wesnoth/wesnoth.tmpfiles.conf create mode 100644 multilib-testing/binutils-multilib/PKGBUILD create mode 100644 multilib-testing/binutils-multilib/binutils.install create mode 100644 multilib-testing/gcc-multilib/PKGBUILD create mode 100644 multilib-testing/gcc-multilib/gcc-ada.install create mode 100644 multilib-testing/gcc-multilib/gcc-fortran.install create mode 100644 multilib-testing/gcc-multilib/gcc-go.install create mode 100644 multilib-testing/gcc-multilib/gcc-hash-style-both.patch create mode 100644 multilib-testing/gcc-multilib/gcc-libs.install create mode 100644 multilib-testing/gcc-multilib/gcc.install create mode 100644 multilib-testing/gcc-multilib/gcc_pure64.patch create mode 100644 multilib-testing/lib32-glibc/PKGBUILD create mode 100644 multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.13-futex.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch create mode 100644 multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch create mode 100644 multilib-testing/lib32-glibc/glibc-__i686.patch create mode 100644 multilib-testing/lib32-glibc/lib32-glibc.conf create mode 100644 multilib/dev86/PKGBUILD create mode 100644 multilib/dev86/dev86-0.16.17-fortify.patch create mode 100644 multilib/dev86/dev86-pic.patch create mode 100644 multilib/lib32-gettext/PKGBUILD create mode 100644 testing/binutils/PKGBUILD create mode 100644 testing/binutils/binutils.install create mode 100644 testing/gcc/PKGBUILD create mode 100644 testing/gcc/gcc-ada.install create mode 100644 testing/gcc/gcc-fortran.install create mode 100644 testing/gcc/gcc-go.install create mode 100644 testing/gcc/gcc-hash-style-both.patch create mode 100644 testing/gcc/gcc-libs.install create mode 100644 testing/gcc/gcc.install create mode 100644 testing/gcc/gcc_pure64.patch create mode 100644 testing/glibc/PKGBUILD create mode 100644 testing/glibc/glibc-2.10-bz4781.patch create mode 100644 testing/glibc/glibc-2.10-dont-build-timezone.patch create mode 100644 testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch create mode 100644 testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch create mode 100644 testing/glibc/glibc-2.13-futex.patch create mode 100644 testing/glibc/glibc-2.14-libdl-crash.patch create mode 100644 testing/glibc/glibc-2.14-reexport-rpc-interface.patch create mode 100644 testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch create mode 100644 testing/glibc/glibc-2.14-revert-4768ae77.patch create mode 100644 testing/glibc/glibc-__i686.patch create mode 100644 testing/glibc/glibc.install create mode 100755 testing/glibc/locale-gen create mode 100644 testing/glibc/locale.gen.txt create mode 100755 testing/glibc/nscd create mode 100644 testing/linux-api-headers/PKGBUILD diff --git a/community/bird/PKGBUILD b/community/bird/PKGBUILD new file mode 100644 index 000000000..95c6821cc --- /dev/null +++ b/community/bird/PKGBUILD @@ -0,0 +1,75 @@ +# $Id$ +# Maintainer: Sebastien Luttringer + +pkgbase=bird +pkgname=('bird' 'bird6') +pkgver=1.3.4 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://bird.network.cz/' +license=('GPL2') +depends=('readline' 'ncurses') +source=("ftp://bird.network.cz/pub/bird/${pkgname}-${pkgver}.tar.gz" + 'bird.rc' + 'bird.conf' + 'bird.service' + 'bird6.service') +md5sums=('20f5aa9d3f853d2c922438dc9d922ecc' + 'e5ef4a753623e15e9daacb0874747bfb' + 'fbd56e7ce085107e6b6c5600f4f1a4b8' + 'e82a0519dca0b289685fda44787f5911' + 'c32e7f6cf1be6ed6f9aa98feea25176d') + +build() { + # different directory to build seprate version of bird + cp -a ${pkgbase}-${pkgver} ${pkgbase}6-${pkgver} + + # build classic bird + cd ${pkgbase}-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make + + # build ipv6 bird + cd "$srcdir/${pkgbase}6-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-ipv6 + make +} + +package_bird () { + pkgdesc='RIP, OSPFv2 and BGP daemon' + backup=('etc/bird.conf') + + # iniscripts files + install -D -m 755 bird.rc "${pkgdir}/etc/rc.d/bird" + install -D -m 644 bird.conf "${pkgdir}/etc/conf.d/bird" + # systemd file + install -D -m 644 bird.service "${pkgdir}/lib/systemd/system/bird.service" + + cd ${pkgname}-${pkgver} + make prefix="${pkgdir}/usr" sysconfdir="${pkgdir}/etc" localstatedir="${pkgdir}/var" install + make docdir="${pkgdir}/usr/share/doc/${pkgname}" install-docs + + # no /var inside pkg + rm -r "$pkgdir/var" +} + +package_bird6 () { + pkgdesc='RIP, OSPFv3, RADV and BGP daemon (ipv6 version)' + backup=('etc/bird6.conf') + + # iniscripts files + install -D -m 755 bird.rc "${pkgdir}/etc/rc.d/bird6" + install -D -m 644 bird.conf "${pkgdir}/etc/conf.d/bird6" + sed -ri 's/bird/bird6/' "${pkgdir}/etc/rc.d/bird6" + # systemd config file + install -D -m 644 bird6.service "${pkgdir}/lib/systemd/system/bird6.service" + + cd ${pkgname}-${pkgver} + make prefix="${pkgdir}/usr" sysconfdir="${pkgdir}/etc" localstatedir="${pkgdir}/var" install + make docdir="${pkgdir}/usr/share/doc/${pkgname}" install-docs + + # no /var inside pkg + rm -r "$pkgdir/var" +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community/bird/bird.conf b/community/bird/bird.conf new file mode 100644 index 000000000..1730475a7 --- /dev/null +++ b/community/bird/bird.conf @@ -0,0 +1,3 @@ +# vim:set ts=2 sw=2 ft=sh noet: + +DAMEON_OPTIONS='-u noboby -g nobody' diff --git a/community/bird/bird.rc b/community/bird/bird.rc new file mode 100644 index 000000000..85b816e3e --- /dev/null +++ b/community/bird/bird.rc @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/${0##*/} + +NAME=bird +DAEMON=/usr/sbin/bird +PID=$(pidof -o %PPID $DAEMON) + +case "$1" in + start) + stat_busy "Starting $NAME daemon" + [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0 + stat_fail + ;; + stop) + stat_busy "Stopping $NAME daemon" + [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0 + stat_fail + ;; + restart) + $0 stop + $0 start + exit 0 + ;; + *) + echo "usage: ${0##*/} {start|stop|restart}" >&2 + ;; +esac + +exit 1 + +# vim:set ts=2 sw=2 ft=sh noet: diff --git a/community/bird/bird.service b/community/bird/bird.service new file mode 100644 index 000000000..ebdcd6078 --- /dev/null +++ b/community/bird/bird.service @@ -0,0 +1,10 @@ +[Unit] +Description=BIRD routing daemon + +[Service] +ExecStart=/usr/sbin/bird +ExecReload=/bin/sh -c "echo configure | /usr/sbin/birdc" +ExecStop=/bin/sh -c "echo down | /usr/sbin/birdc" + +[Install] +WantedBy=multi-user.target diff --git a/community/bird/bird6.service b/community/bird/bird6.service new file mode 100644 index 000000000..e4b824ee2 --- /dev/null +++ b/community/bird/bird6.service @@ -0,0 +1,10 @@ +[Unit] +Description=BIRD6 routing daemon + +[Service] +ExecStart=/usr/sbin/bird6 +ExecReload=/bin/sh -c "echo configure | /usr/sbin/birdc6" +ExecStop=/bin/sh -c "echo down | /usr/sbin/birdc6" + +[Install] +WantedBy=multi-user.target diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD index ac7d304dc..e34512718 100644 --- a/community/calibre/PKGBUILD +++ b/community/calibre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 59472 2011-11-26 10:23:12Z giovanni $ +# $Id: PKGBUILD 59984 2011-12-02 22:33:05Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Petrov Roman # Contributor: Andrea Fagiani pkgname=calibre -pkgver=0.8.28 +pkgver=0.8.29 pkgrel=1 pkgdesc="Ebook management application" arch=('i686' 'x86_64') @@ -21,7 +21,7 @@ install=calibre.install source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" 'desktop_integration.patch' 'calibre-mount-helper') -md5sums=('08aa2568300e8781824c62de7c23faae' +md5sums=('e51c2b889e0bdfc217000ebba93af8a7' '253ce4fe5d01f8ff76b63cd3825755ea' '675cd87d41342119827ef706055491e7') diff --git a/community/cclive/PKGBUILD b/community/cclive/PKGBUILD index 101f4950e..720e06a85 100644 --- a/community/cclive/PKGBUILD +++ b/community/cclive/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 57078 2011-10-20 17:07:27Z lfleischer $ +# $Id: PKGBUILD 59926 2011-12-02 20:58:05Z ibiru $ # Maintainer: Lukas Fleischer # Contributor: joyfulgirl@archlinux.us # Contributor: nathan owe ndowens04 at gmail dot com pkgname=cclive pkgver=0.7.7 -pkgrel=1 +pkgrel=2 pkgdesc='Commandline downloader for popular video websites.' arch=('i686' 'x86_64') url='http://cclive.sourceforge.net/' diff --git a/community/conntrack-tools/PKGBUILD b/community/conntrack-tools/PKGBUILD index a70a1663f..6a850f19c 100644 --- a/community/conntrack-tools/PKGBUILD +++ b/community/conntrack-tools/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 59559 2011-11-28 03:06:32Z seblu $ +# $Id: PKGBUILD 60002 2011-12-03 04:09:30Z seblu $ # Maintainer: Sebastien Luttringer # Contributor: Valere Monseur # Contributor: Alessandro Sagratini @@ -6,14 +6,18 @@ pkgname=conntrack-tools pkgver=1.0.0 -pkgrel=1 -pkgdesc="Userspace tools to interact with the Netfilter's Connection Tracking System" +pkgrel=2 +pkgdesc='Userspace tools to interact with the Netfilter connection tracking system' arch=('i686' 'x86_64') url='http://www.netfilter.org/projects/conntrack-tools' license=('GPL2') depends=('libnetfilter_conntrack') -source=(http://www.netfilter.org/projects/${pkgname}/files/${pkgname}-${pkgver}.tar.bz2) -md5sums=('5add24d4761baf17af630d5627a71752') +source=("http://www.netfilter.org/projects/${pkgname}/files/${pkgname}-${pkgver}.tar.bz2" + 'conntrackd.rc' + 'conntrackd.conf') +md5sums=('5add24d4761baf17af630d5627a71752' + '619ab1e15837436b47cbdc739d69ee78' + '728570bd7a13263606d97f6cc7f2d095') build() { cd ${pkgname}-${pkgver} @@ -22,13 +26,16 @@ build() { } package() { - cd ${pkgname}-${pkgver} + # initscripts scripts + install -D -m 755 conntrackd.rc "$pkgdir/etc/rc.d/conntrackd" + install -D -m 644 conntrackd.conf "$pkgdir/etc/conf.d/conntrackd" + + # install configuration directories + install -d "${pkgdir}/etc/conntrackd" # install binaries + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install - - # install directories - install -d "${pkgdir}/etc/conntrackd" } # vim:set ts=2 sw=2 ft=sh et: diff --git a/community/conntrack-tools/conntrackd.conf b/community/conntrack-tools/conntrackd.conf new file mode 100644 index 000000000..910bb6eda --- /dev/null +++ b/community/conntrack-tools/conntrackd.conf @@ -0,0 +1,3 @@ +# vim:set ts=2 sw=2 ft=sh noet: + +DAMEON_OPTIONS='-d' diff --git a/community/conntrack-tools/conntrackd.rc b/community/conntrack-tools/conntrackd.rc new file mode 100644 index 000000000..ba1c7ef49 --- /dev/null +++ b/community/conntrack-tools/conntrackd.rc @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/${0##*/} + +NAME=conntrackd +DAEMON=/usr/sbin/conntrackd +PID=$(pidof -o %PPID $DAEMON) + +case "$1" in + start) + stat_busy "Starting $NAME daemon" + [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0 + stat_fail + ;; + stop) + stat_busy "Stopping $NAME daemon" + [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0 + stat_fail + ;; + restart) + $0 stop + $0 start + exit 0 + ;; + *) + echo "usage: ${0##*/} {start|stop|restart}" >&2 + ;; +esac + +exit 1 + +# vim:set ts=2 sw=2 ft=sh noet: diff --git a/community/encfs/PKGBUILD b/community/encfs/PKGBUILD index d0c4950fe..3e920f673 100644 --- a/community/encfs/PKGBUILD +++ b/community/encfs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 52537 2011-07-26 04:21:21Z svenstaro $ +# $Id: PKGBUILD 59928 2011-12-02 20:58:12Z ibiru $ # Contributor: Andrea Scarpino # Contributor: Jaroslaw Swierczynski # Contributor: Sven Kauber, @@ -6,7 +6,7 @@ pkgname=encfs pkgver=1.7.4 -pkgrel=5 +pkgrel=6 pkgdesc='Encrypted filesystem in user-space' arch=('i686' 'x86_64') url='http://www.arg0.net/encfs' diff --git a/community/fatrat/PKGBUILD b/community/fatrat/PKGBUILD index 6a6175009..4a1075411 100644 --- a/community/fatrat/PKGBUILD +++ b/community/fatrat/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 58520 2011-11-13 15:38:01Z andrea $ +# $Id: PKGBUILD 59930 2011-12-02 20:58:17Z ibiru $ # Maintainer: Lukas Jirkovsky pkgname=fatrat pkgver=1.2.0_beta1 -pkgrel=1 +pkgrel=2 pkgdesc="QT4 based download manager with support for HTTP, FTP, SFTP, BitTorrent, rapidshare and more" arch=('i686' 'x86_64') url="http://fatrat.dolezel.info/" diff --git a/community/glob2/PKGBUILD b/community/glob2/PKGBUILD index efd6ac298..900518957 100644 --- a/community/glob2/PKGBUILD +++ b/community/glob2/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 52543 2011-07-26 04:33:02Z svenstaro $ +# $Id: PKGBUILD 59934 2011-12-02 20:58:35Z ibiru $ # Contributor: Jaroslaw Swierczynski # Contributor: Roman Kyrylych pkgname=glob2 pkgver=0.9.4.4 -pkgrel=9 +pkgrel=10 pkgdesc="RTS game which minimizes micro-management by automatically assigning tasks to units" arch=('i686' 'x86_64') url="http://www.globulation2.org/" license=('GPL3') -depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa' \ +depends=('boost-libs' 'sdl_net' 'sdl_image' 'sdl_ttf' 'libvorbis' 'speex' 'mesa' 'fribidi' 'desktop-file-utils') makedepends=('scons' 'boost') install=glob2.install -source=(http://dl.sv.nongnu.org/releases/${pkgname}/0.9.4/${pkgname}-${pkgver}.tar.gz \ +source=(http://dl.sv.nongnu.org/releases/${pkgname}/0.9.4/${pkgname}-${pkgver}.tar.gz glob2-0.9.4.1-gcc44.patch) md5sums=('94c527325f355a29a2807f8f18a6e6a8' 'b13cb1f73ece23bfc6413773678d583e') sha1sums=('14aa8d840ef5f95a9af591789082fe2322fa8cad' '3e5ae81d85a727387a7049c3a0dfb3db930391b3') diff --git a/community/glom/PKGBUILD b/community/glom/PKGBUILD index eccdd121d..fab10c6bb 100644 --- a/community/glom/PKGBUILD +++ b/community/glom/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 59046 2011-11-20 23:01:47Z heftig $ +# $Id: PKGBUILD 59936 2011-12-02 20:58:42Z ibiru $ # Maintainer: Roman Kyrylych # Contributor: William Rea # Contributor: Jaroslav Lichtblau pkgname=glom -pkgver=1.20.0 +pkgver=1.20.1 pkgrel=1 pkgdesc="An easy-to-use database designer and user interface" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ makedepends=('intltool' 'gnome-doc-utils' 'python-sphinx' 'boost') options=('!libtool') install=$pkgname.install source=(http://ftp.gnome.org/pub/GNOME/sources/glom/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('047ce7bd6e5a0214f6f49cad15cc0ee1d2e8eeb61462e094328ed32676c15e5b') +sha256sums=('c76edc09d767eb2de8673fa8bb1cebbf8863fb3c8eb365e4a42fc430730f68d5') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/gnash/PKGBUILD b/community/gnash/PKGBUILD index 0b4a6d049..8b5849e88 100644 --- a/community/gnash/PKGBUILD +++ b/community/gnash/PKGBUILD @@ -4,7 +4,7 @@ pkgbase=gnash pkgname=(gnash-common gnash-gtk) pkgver=0.8.9 -pkgrel=6 +pkgrel=7 arch=(i686 x86_64) url="http://www.gnu.org/software/gnash/" license=(GPL3) diff --git a/community/gpsdrive/PKGBUILD b/community/gpsdrive/PKGBUILD index ac5ae29e5..2b66a8418 100644 --- a/community/gpsdrive/PKGBUILD +++ b/community/gpsdrive/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 52604 2011-07-26 10:16:12Z jelle $ +# $Id: PKGBUILD 59940 2011-12-02 20:59:00Z ibiru $ # Maintainer: Sergej Pupykin # Contributor: Tom Newsom # Maintainer: damir pkgname=gpsdrive pkgver=2.11 -pkgrel=9 +pkgrel=11 pkgdesc="A car (bike, ship, plane) navigation system" arch=("i686" "x86_64") url="http://www.gpsdrive.de/" @@ -41,8 +41,8 @@ build() { export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/ export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/ export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/ - export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" + unset LDFLAGS # see DefineOptions.cmake for a list of common options and defaults # cmake -L for a more in-depth listing diff --git a/community/gummi/PKGBUILD b/community/gummi/PKGBUILD index f09805e96..a7d2e215c 100644 --- a/community/gummi/PKGBUILD +++ b/community/gummi/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: soeren pkgname=gummi -pkgver=0.6.0 +pkgver=0.6.1 pkgrel=1 pkgdesc='Simple LaTex editor for GTK users' arch=('i686' 'x86_64') @@ -11,8 +11,8 @@ url='http://gummi.midnightcoding.org/' license=('MIT') depends=('texlive-core' 'gtkspell' 'gtksourceview2' 'poppler-glib') makedepends=('glib2' 'gtk2' 'pango' 'poppler' 'intltool') -source=("http://dev.midnightcoding.org/redmine/attachments/download/212/gummi-0.6.0.tar.gz") -md5sums=('45c727b815460e108a4442db27edd385') +source=("http://dev.midnightcoding.org/redmine/attachments/download/217/gummi-0.6.1.tar.gz") +md5sums=('f9a257a4cec208642028ccde6b6514e0') build() { cd ${pkgname}-${pkgver} diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD index 069d34cce..60345be5e 100644 --- a/community/libvirt/PKGBUILD +++ b/community/libvirt/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 58183 2011-11-08 12:06:30Z spupykin $ +# $Id: PKGBUILD 59898 2011-12-02 09:11:25Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Jonathan Wiersma pkgname=libvirt pkgver=0.9.7 -pkgrel=1 +pkgrel=2 pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)" arch=('i686' 'x86_64') url="http://libvirt.org/" @@ -39,7 +39,7 @@ source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz" md5sums=('4308b3f4d23f5b0c5196260a9a22a38b' 'c43244c40a0437038c82089618e7beaa' '3ed0e24f5b5e25bf553f5427d64915e6' - '6f36bf189ef0e5847038787d13535420' + '737ec24aa56871fbabfa892789457db4' 'bc2971dacdbac967fc3474e50affc345' 'b0be50eb9dfe4d133decf23b60880f7d' 'db95aecdf2ccf3693fef5821cdcb7eba' diff --git a/community/libvirt/libvirtd-guests.rc.d b/community/libvirt/libvirtd-guests.rc.d index a97a8d9d1..b4331964a 100755 --- a/community/libvirt/libvirtd-guests.rc.d +++ b/community/libvirt/libvirtd-guests.rc.d @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash . /etc/conf.d/libvirtd-guests . /etc/rc.conf diff --git a/community/lightspark/PKGBUILD b/community/lightspark/PKGBUILD index b7d1a8812..d85d74344 100644 --- a/community/lightspark/PKGBUILD +++ b/community/lightspark/PKGBUILD @@ -3,7 +3,7 @@ pkgname=lightspark pkgver=0.5.3 -pkgrel=1 +pkgrel=2 pkgdesc='An alternative Flash Player for Linux.' arch=('i686' 'x86_64') url='http://lightspark.sourceforge.net' diff --git a/community/luxrays/PKGBUILD b/community/luxrays/PKGBUILD index c9d204dc6..ff955101f 100644 --- a/community/luxrays/PKGBUILD +++ b/community/luxrays/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 57940 2011-11-04 18:08:34Z stativ $ +# $Id: PKGBUILD 59944 2011-12-02 20:59:16Z ibiru $ # Maintainer: Lukas Jirkovsky pkgname=luxrays pkgver=0.8 _pkgver=ed424ec77571 -pkgrel=6 +pkgrel=7 epoch=0 pkgdesc="Accelerate the ray intersection process by using GPUs" arch=('i686' 'x86_64') @@ -11,12 +11,20 @@ url="http://www.luxrender.net/" license=('GPL') depends=('freeimage' 'freeglut' 'glew' 'libcl') makedepends=('cmake' 'boost' 'opencl-headers') -source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2) -md5sums=('2ac9c588675c5971c57f473ef10ac67d') +source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2 \ + luxrays_opencl1.2_use_deprecated.diff) +md5sums=('2ac9c588675c5971c57f473ef10ac67d' + '27b3eb7c6332aa7f040cc4ca94dc3df6') build() { cd "$srcdir/luxrender-$pkgname-$_pkgver" + # fix the build with opencl-headers 1.2 + # they doesn't support OpenCL 1.1, so we have to use this ugly hack of using deprecated API + patch -Np1 < "$srcdir/luxrays_opencl1.2_use_deprecated.diff" + # fix the break caused by the change of the name of the namespace 'detail' to 'ipcdetail' + sed -i 's|::detail|::ipcdetail|' include/luxrays/utils/core/atomic.h + export CXXFLAGS="$CXXFLAGS -lpthread" cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_SKIP_RPATH=ON \ diff --git a/community/luxrays/luxrays_opencl1.2_use_deprecated.diff b/community/luxrays/luxrays_opencl1.2_use_deprecated.diff new file mode 100644 index 000000000..0876628d7 --- /dev/null +++ b/community/luxrays/luxrays_opencl1.2_use_deprecated.diff @@ -0,0 +1,12 @@ +diff -rup luxrender-luxrays-ed424ec77571.orig/include/luxrays/luxrays.h luxrender-luxrays-ed424ec77571/include/luxrays/luxrays.h +--- luxrender-luxrays-ed424ec77571.orig/include/luxrays/luxrays.h 2011-04-24 17:43:08.000000000 +0200 ++++ luxrender-luxrays-ed424ec77571/include/luxrays/luxrays.h 2011-11-26 11:38:00.336459874 +0100 +@@ -30,6 +30,8 @@ + + #define __CL_ENABLE_EXCEPTIONS + ++#define CL_USE_DEPRECATED_OPENCL_1_1_APIS ++ + #if defined(__APPLE__) + #include + #else diff --git a/community/luxrender/PKGBUILD b/community/luxrender/PKGBUILD index 0796e26b4..b1e626d15 100644 --- a/community/luxrender/PKGBUILD +++ b/community/luxrender/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 57947 2011-11-04 18:37:21Z stativ $ +# $Id: PKGBUILD 59946 2011-12-02 20:59:23Z ibiru $ # Maintainer: Lukas Jirkovsky # Initial contributor: flixie <69one@gmx.net> # Contributor: Imanol Celaya @@ -7,7 +7,7 @@ pkgver=0.8 _pkgver=45d3e13eb94c _luxblend=9cb3fcee0be8 _blender=2.60 -pkgrel=9 +pkgrel=10 pkgdesc="Rendering system for physically correct, unbiased image synthesis" arch=('i686' 'x86_64') url="http://www.luxrender.net/" diff --git a/community/makedev/PKGBUILD b/community/makedev/PKGBUILD new file mode 100644 index 000000000..bb21237d9 --- /dev/null +++ b/community/makedev/PKGBUILD @@ -0,0 +1,26 @@ +# $Id$ +# Maintainer: Sebastien Luttringer +# Contributor: Jonathan Liu +# Contributor: Judd Vinet + +pkgname=makedev +pkgver=3.23_1 +pkgrel=1 +pkgdesc='The ubiquitous script to create static device nodes' +arch=('i686' 'x86_64') +license=('GPL2') +url='http://people.redhat.com/nalin/MAKEDEV/' +source=("http://people.redhat.com/nalin/MAKEDEV/MAKEDEV-${pkgver//_/-}.tar.gz") +md5sums=('554faf6cbc9a84e4bd58ccfa32d74e2f') + +build() { + cd ${pkgname^^*}-${pkgver/_*} + make +} + +package() { + cd ${pkgname^^*}-${pkgver/_*} + make DESTDIR="${pkgdir}" devdir=/usr/sbin makedevdir=/usr/sbin install +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community/mapnik/PKGBUILD b/community/mapnik/PKGBUILD index 0dee64d65..98af0c4d7 100644 --- a/community/mapnik/PKGBUILD +++ b/community/mapnik/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 52462 2011-07-25 20:12:25Z jelle $ +# $Id: PKGBUILD 59948 2011-12-02 20:59:31Z ibiru $ # Maintainer: Sergej Pupykin # Contributor: David Dent # Contributor: orbisvicis pkgname=mapnik pkgver=0.7.1 -pkgrel=11 +pkgrel=12 pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps." arch=('i686' 'x86_64') url="http://mapnik.org/" diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD index 78b32e1f0..aac341450 100644 --- a/community/mongodb/PKGBUILD +++ b/community/mongodb/PKGBUILD @@ -4,13 +4,14 @@ pkgname=mongodb pkgver=2.0.1 -pkgrel=2 +pkgrel=3 pkgdesc='A high-performance, open source, schema-free document-oriented database.' arch=('i686' 'x86_64') url='http://www.mongodb.org' license=('AGPL3') depends=('boost-libs') makedepends=('scons' 'boost') +#checkdepends=('python2-pymongo') optdepends=('libpcap: needed for mongosniff') backup=('etc/mongodb.conf') install="mongodb.install" @@ -26,12 +27,31 @@ build() { cd mongodb-src-r${pkgver} + # fix python name for smoke tests + sed \ + -e 's/python/&2/' \ + -i SConstruct + scons \ all \ --full } +< # Contributor: Andrew Belitsky pkgbase=mygui pkgname=('mygui' 'mygui-docs') pkgver=3.2.0rc1 -pkgrel=9 +pkgrel=10 pkgdesc="A multilayer and overlappable GUI System for OGRE" arch=('i686' 'x86_64') url="http://mygui.info/" diff --git a/community/performous/PKGBUILD b/community/performous/PKGBUILD index 1b5652a0e..ba8c7a3db 100644 --- a/community/performous/PKGBUILD +++ b/community/performous/PKGBUILD @@ -1,17 +1,18 @@ -# $Id: PKGBUILD 58417 2011-11-12 17:18:28Z ibiru $ +# $Id: PKGBUILD 59954 2011-12-02 20:59:56Z ibiru $ # Maintainer : Laurent Carlier # Contributor: Christoph Zeiler pkgname=performous pkgver=0.6.1 -pkgrel=10 +pkgrel=11 pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"' arch=('i686' 'x86_64') url="http://performous.org/" license=('GPL') -depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \ - 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo') -makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.47') +depends=('boost-libs>=1.48' 'imagemagick' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' 'opencv' 'librsvg') +#depends=('boost-libs>=1.48' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'libxml++' 'portaudio' 'portmidi' \ +# 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo') +makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.48') optdepends=('performous-freesongs: free songs for performous') source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2 boost-filesystem-v3.patch diff --git a/community/pingus/PKGBUILD b/community/pingus/PKGBUILD index f65d49886..1e0509d49 100644 --- a/community/pingus/PKGBUILD +++ b/community/pingus/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 57378 2011-10-26 15:40:42Z lcarlier $ +# $Id: PKGBUILD 59956 2011-12-02 21:00:04Z ibiru $ # Maintainer: Eric Belanger pkgname=pingus pkgver=0.7.5 -pkgrel=1 +pkgrel=2 pkgdesc="A Lemmings clone, i.e. a level-based puzzle game." arch=('i686' 'x86_64') url="http://pingus.seul.org" license=('GPL') -depends=('gcc-libs' 'sdl_image' 'sdl_mixer' 'libgl' 'boost-libs>=1.47') -makedepends=('scons' 'boost>=1.47' 'mesa') +depends=('sdl_image' 'sdl_mixer' 'libgl' 'boost-libs>=1.48') +makedepends=('scons' 'boost>=1.48' 'mesa') source=(http://pingus.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 pingus.desktop) md5sums=('68e0bd1327e0eedcaab64d64528540ba' '9eec34047bdcff49e08f41e81764e20c') diff --git a/community/pion-net/PKGBUILD b/community/pion-net/PKGBUILD index 22669236d..c47091deb 100644 --- a/community/pion-net/PKGBUILD +++ b/community/pion-net/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 59342 2011-11-23 19:04:28Z stativ $ +# $Id: PKGBUILD 59958 2011-12-02 21:00:12Z ibiru $ # Maintainer: Lukas Jirkovsky # Contributor: David Watzke pkgname=pion-net pkgver=4.0.7 -pkgrel=1 +pkgrel=2 pkgdesc="A C++ development library for implementing lightweight HTTP interfaces" url="http://www.pion.org/projects/pion-network-library" arch=('i686' 'x86_64') diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD index 1ba1a463b..97ade0741 100644 --- a/community/pokerth/PKGBUILD +++ b/community/pokerth/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 52482 2011-07-25 20:51:19Z jelle $ +# $Id: PKGBUILD 59960 2011-12-02 21:00:17Z ibiru $ # Maintainer: Mateusz Herych # Contributor: Vasco Costa pkgname=pokerth _realname=PokerTH pkgver=0.8.3 -pkgrel=5 +pkgrel=6 pkgdesc="Poker game written in C++/QT4" arch=('i686' 'x86_64') url="http://www.pokerth.net/" @@ -13,7 +13,7 @@ license=('GPL' 'custom') depends=('curl' 'boost-libs>=1.43.0' 'gsasl' 'gnutls' 'qt' 'sdl_mixer') makedepends=('boost') source=(http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2) -md5sums=('adbe56ad5f547eb255dad91de564bf1c') +md5sums=('adbe56ad5f547eb255dad91de564bf1c') build() { cd $_realname-$pkgver-src diff --git a/community/python-pymongo/PKGBUILD b/community/python-pymongo/PKGBUILD index 14012a35d..7c5d1d00b 100644 --- a/community/python-pymongo/PKGBUILD +++ b/community/python-pymongo/PKGBUILD @@ -1,18 +1,20 @@ -# Maintainer: Thomas S Hatch +# $Id: PKGBUILD 59902 2011-12-02 11:04:21Z andrea $ +# Maintainer: +# Contributor: Thomas S Hatch pkgname=python-pymongo pkgver=1.9b1 -pkgrel=1 +pkgrel=2 pkgdesc="Python driver for MongoDB" license=("APACHE") url="http://pypi.python.org/pypi/pymongo/" +arch=('i686' 'x86_64') depends=('python') makedepends=('python-distribute') source=(http://pypi.python.org/packages/source/p/pymongo3/pymongo3-$pkgver.tar.gz) -arch=('i686' 'x86_64') md5sums=('6c65dcad8674f37ffc8bc3d6e1fd4155') package() { cd $srcdir/pymongo3-$pkgver - python setup.py install --root=$pkgdir --optimize=1 + LANG=en_US.UTF8 python setup.py install --root=$pkgdir --optimize=1 } diff --git a/community/qbittorrent/PKGBUILD b/community/qbittorrent/PKGBUILD index d700cfceb..00b3e8182 100644 --- a/community/qbittorrent/PKGBUILD +++ b/community/qbittorrent/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 58528 2011-11-13 15:59:35Z andrea $ +# $Id: PKGBUILD 59962 2011-12-02 21:00:24Z ibiru $ # Maintainer: Thomas Dziedzic < gostrc at gmail > # Contributor: Daniel J Griffiths # Contributor: Geoffroy Carrier pkgname=qbittorrent pkgver=2.9.2 -pkgrel=3 +pkgrel=5 pkgdesc="A bittorrent client written in C++ / Qt4 using the good libtorrent library" arch=('i686' 'x86_64') url="http://www.qbittorrent.org/" diff --git a/community/quvi/PKGBUILD b/community/quvi/PKGBUILD index d90b7e798..ea737ac4b 100644 --- a/community/quvi/PKGBUILD +++ b/community/quvi/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 57074 2011-10-20 16:44:35Z lfleischer $ +# $Id: PKGBUILD 59896 2011-12-02 07:00:15Z lfleischer $ # Maintainer: Lukas Fleischer # Contributor: joyfulgirl@archlinux.us pkgname=quvi -pkgver=0.4.0 +pkgver=0.4.1 pkgrel=1 pkgdesc='Command-line tool for parsing video download links.' arch=('i686' 'x86_64') @@ -11,8 +11,9 @@ url='http://quvi.sourceforge.net/' license=('LGPL') depends=('libquvi') options=('!libtool') -source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz") -md5sums=('302652f7e3d97051d7250e3a7bc04250') +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}) +md5sums=('0975e3d8cdf570d2143c49c249e698c5' + '53e2e206c17cb6a38c8c6b7b427b8b4a') build() { cd "${pkgname}-${pkgver}" diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD index a324faead..32d5ad0a3 100644 --- a/community/root/PKGBUILD +++ b/community/root/PKGBUILD @@ -2,7 +2,7 @@ # Contributor: Sebastian Voecking pkgname=root -pkgver=5.30.05 +pkgver=5.32.00 pkgrel=1 pkgdesc='C++ data analysis framework and interpreter from CERN.' arch=('i686' 'x86_64') @@ -12,11 +12,12 @@ depends=('avahi' 'desktop-file-utils' 'ftgl' 'giflib' 'glew' 'graphviz' 'gsl' 'l 'libxft' 'postgresql-libs' 'python2' 'unixodbc' 'shared-mime-info' 'xmlrpc-c' 'xorg-fonts-75dpi' 'mesa' 'gcc-fortran' 'hicolor-icon-theme') makedepends=('fftw') install='root.install' +options=('!emptydirs') source=("ftp://root.cern.ch/root/root_v${pkgver}.source.tar.gz" 'root.sh' 'rootd' 'root.xml') -md5sums=('195de7e75fcd6c260d4f78ba943d48df' +md5sums=('1c30e4e6eeae62ff1ad5118cd1309679' '0e883ad44f99da9bc7c23bc102800b62' 'efd06bfa230cc2194b38e0c8939e72af' 'e2cf69b204192b5889ceb5b4dedc66f7') @@ -31,7 +32,9 @@ build() { fi # python2 switch - find . -type f -exec sed -i -e 's/python -O/python2 -O/g' -e 's/python -c/python2 -c/g' {} \; + find . -type f -exec sed -i -e 's_#!/usr/bin/env python_&2_' \ + -e 's/python -O/python2 -O/g' \ + -e 's/python -c/python2 -c/g' {} \; sed \ -e 's/python 2/python2 2/g' \ -i configure @@ -58,8 +61,7 @@ build() { --enable-roofit \ --enable-python \ --with-python-incdir=/usr/include/python2.7 \ - --with-python-libdir=/usr/lib \ - --enable-explicitlink + --with-python-libdir=/usr/lib # move from aur #--disable-builtin-afterimage \ diff --git a/community/schroot/PKGBUILD b/community/schroot/PKGBUILD index 513e190b1..6109c8c51 100644 --- a/community/schroot/PKGBUILD +++ b/community/schroot/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 59179 2011-11-21 13:59:03Z spupykin $ +# $Id: PKGBUILD 59964 2011-12-02 21:00:43Z ibiru $ # Maintainer: Sergej Pupykin # Contributor: Andreas Wagner pkgname=schroot pkgver=1.4.23 -pkgrel=2 +pkgrel=3 pkgdesc="Allows users to execute shell commands under different root filesystems. (Successor to dchroot)." url="http://packages.qa.debian.org/s/schroot.html" license=('GPL3') diff --git a/community/smc/PKGBUILD b/community/smc/PKGBUILD index f96d771bf..b93398345 100644 --- a/community/smc/PKGBUILD +++ b/community/smc/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 52531 2011-07-26 04:15:24Z svenstaro $ +# $Id: PKGBUILD 59966 2011-12-02 21:00:57Z ibiru $ # Maintainer: # Contributor: Juergen Hoetzel # Contributor: Kritoke pkgname=smc pkgver=1.9 -pkgrel=12 +pkgrel=13 pkgdesc="Secret Maryo Chronicles" arch=('i686' 'x86_64') url="http://www.secretmaryo.org/" diff --git a/community/spring/PKGBUILD b/community/spring/PKGBUILD index fd64a345f..7496a585b 100644 --- a/community/spring/PKGBUILD +++ b/community/spring/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 58224 2011-11-09 01:31:15Z svenstaro $ +# $Id: PKGBUILD 59968 2011-12-02 21:01:02Z ibiru $ # Maintainer: Sven-Hendrik Haase # Contributor: Arkham # Contributor: Christoph Zeiler pkgname=spring -pkgver=0.83.0 -_pkgver=83.0 +pkgver=0.84.0 +_pkgver=84.0 pkgrel=1 pkgdesc='A free 3D real-time-strategy (RTS) game engine' arch=('i686' 'x86_64') @@ -16,13 +16,27 @@ makedepends=('boost' 'cmake' 'zip' 'lzma-utils' 'p7zip' 'python2') optdepends=('python2: python-based bots' 'java-runtime: java-based bots') source=(http://downloads.sourceforge.net/sourceforge/springrts/${pkgname}_${_pkgver}_src.tar.lzma) -md5sums=('05f1c625f2dd81b0d7f30269435ab2f7') +md5sums=('2aae395c055adceec5326fb3faec92ba') build() { bsdtar -xf ${pkgname}_${_pkgver}_src.tar.lzma cd spring_${_pkgver} - + + sed -i "s/FE_DFL_ENV/FE_DFL_ENV_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp rts/lib/streflop/SMath.cpp + sed -i "s/FE_INVALID/FE_INVALID_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_DENORMAL/FE_DENORMAL_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_DIVBYZERO/FE_DIVBYZERO_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_OVERFLOW/FE_OVERFLOW_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_UNDERFLOW/FE_UNDERFLOW_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_INEXACT/FE_INEXACT_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_ALL_EXCEPT/FE_ALL_EXCEPT_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_DOWNWARD/FE_DOWNWARD_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_TONEAREST/FE_TONEAREST_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_TOWARDZERO/FE_TOWARDZERO_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/FE_UPWARD/FE_UPWARD_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + sed -i "s/feclearexcept/feclearexcept_/g" rts/lib/streflop/FPUSettings.h rts/System/Sync/FPUCheck.cpp rts/System/myMath.cpp rts/Lua/LuaParser.cpp + cmake . \ -DCMAKE_INSTALL_PREFIX=/usr \ -DDATADIR=share/spring diff --git a/community/springlobby/PKGBUILD b/community/springlobby/PKGBUILD index f79b489ef..a5925b193 100644 --- a/community/springlobby/PKGBUILD +++ b/community/springlobby/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 55636 2011-09-17 00:06:15Z svenstaro $ +# $Id: PKGBUILD 59970 2011-12-02 21:01:10Z ibiru $ # Maintainer: Sven-Hendrik Haase # Contributor: DuGi pkgname=springlobby pkgver=0.139 -pkgrel=1 +pkgrel=3 pkgdesc="A free cross-platform lobby client for the Spring RTS project." arch=('i686' 'x86_64') url="http://springlobby.info/" diff --git a/community/sslh/PKGBUILD b/community/sslh/PKGBUILD index 1a3c77533..55a3b9402 100644 --- a/community/sslh/PKGBUILD +++ b/community/sslh/PKGBUILD @@ -5,18 +5,18 @@ pkgname=sslh pkgver=1.10 -pkgrel=3 +pkgrel=4 pkgdesc='SSL/SSH/OpenVPN/XMPP/tinc port multiplexer' arch=('i686' 'x86_64') url='http://www.rutschle.net/tech/sslh.shtml' license=('GPL2') backup=('etc/conf.d/sslh') source=("http://www.rutschle.net/tech/${pkgname}-${pkgver}.tar.gz" - 'rc.sslh' - 'conf.sslh') + 'sslh.rc' + 'sslh.conf') md5sums=('bc34e9a4770d634633e70589c72708cc' - '1ad105ad572284fa137d06ae8d1f16fc' - 'e9b05de9d626803e35f46bdd1e968421') + '42f3cda8f18abdf5edcd762e6dcda5d7' + '8275b5dd363891139398be1d0e92dd57') build() { cd $pkgname-$pkgver @@ -27,8 +27,8 @@ build() { } package() { - install -D -m 755 rc.sslh "${pkgdir}/etc/rc.d/sslh" - install -D -m 644 conf.sslh "${pkgdir}/etc/conf.d/sslh" + install -D -m 755 sslh.rc "${pkgdir}/etc/rc.d/sslh" + install -D -m 644 sslh.conf "${pkgdir}/etc/conf.d/sslh" cd $pkgname-$pkgver make PREFIX="$pkgdir/usr" install } diff --git a/community/sslh/sslh.conf b/community/sslh/sslh.conf new file mode 100644 index 000000000..2c4e676a8 --- /dev/null +++ b/community/sslh/sslh.conf @@ -0,0 +1,3 @@ +# vim:set ts=2 sw=2 ft=sh noet: + +DAMEON_OPTIONS='-p 192.168.0.1:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 -u nobody -P /var/lock/sslh.lock' diff --git a/community/sslh/sslh.rc b/community/sslh/sslh.rc new file mode 100644 index 000000000..1532b8c10 --- /dev/null +++ b/community/sslh/sslh.rc @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/${0##*/} + +NAME=sslh +DAEMON=/usr/sbin/sslh +PID=$(pidof -o %PPID $DAEMON) + +case "$1" in + start) + stat_busy "Starting $NAME daemon" + [[ ! $PID ]] && $DAEMON $DAEMON_OPTIONS && add_daemon $NAME && stat_done && exit 0 + stat_fail + ;; + stop) + stat_busy "Stopping $NAME daemon" + [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0 + stat_fail + ;; + restart) + $0 stop + $0 start + exit 0 + ;; + *) + echo "usage: ${0##*/} {start|stop|restart}" >&2 + ;; +esac + +exit 1 + +# vim:set ts=2 sw=2 ft=sh noet: diff --git a/community/tagpy/PKGBUILD b/community/tagpy/PKGBUILD index 7b26e83da..9190b78a8 100644 --- a/community/tagpy/PKGBUILD +++ b/community/tagpy/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 52446 2011-07-25 19:31:48Z jelle $ +# $Id: PKGBUILD 59972 2011-12-02 21:01:17Z ibiru $ # Maintainer: Andrea Scarpino # Contributor: Callan Barrett # Contributor: Scott Horowitz pkgname=tagpy pkgver=0.94.8 -pkgrel=5 +pkgrel=6 pkgdesc="Python bindings for TagLib" arch=('i686' 'x86_64') url="http://pypi.python.org/pypi/tagpy" diff --git a/community/tcc/ChangeLog b/community/tcc/ChangeLog new file mode 100644 index 000000000..460adba69 --- /dev/null +++ b/community/tcc/ChangeLog @@ -0,0 +1,3 @@ +0.9.25-2: + + + Added libtcc.so as well, for dynamic code. diff --git a/community/tcc/PKGBUILD b/community/tcc/PKGBUILD new file mode 100644 index 000000000..c5cc9d845 --- /dev/null +++ b/community/tcc/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 59917 2002-02-02 03:01:25Z spupykin $ +# Maintainer: Sergej Pupykin +# Maintainer : Gergely Imreh +# Contributor : dschauer +# Contributor : Stefan Husmann +# Contributor : Jeremy Cowgar + +pkgname=tcc +pkgver=0.9.25 +pkgrel=2 +pkgdesc="Tiny C Compiler" +arch=('i686' 'x86_64') +url="http://bellard.org/tcc/" +license=('LGPL') +makedepends=('gcc') +options=('docs') +source=(http://download.savannah.nongnu.org/releases/tinycc/${pkgname}-${pkgver}.tar.bz2) +md5sums=('991c2a1986cce15f03ca6ddc86ea5f43') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # sed fixes from Gentoo ebuild, cheers! + # Don't strip + sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile + + # Fix examples + sed -i -e '1{ + i#! /usr/bin/tcc -run + /^#!/d + }' examples/ex*.c + sed -i -e '1s/$/ -lX11/' examples/ex4.c + + ./configure --prefix=/usr + make + make tccdir=${pkgdir}/usr/lib/tcc libdir=${pkgdir}/usr/lib \ + mandir=${pkgdir}/usr/share/man bindir=${pkgdir}/usr/bin \ + includedir=${pkgdir}/usr/include \ + docdir=${pkgdir}/usr/share/doc/tcc \ + install + + make clean + make CFLAGS="-fPIC" libtcc.o + ld -shared -soname libtcc.so -o libtcc.so libtcc.o + install -D -m 755 libtcc.so "${pkgdir}/usr/lib/libtcc.so" +} diff --git a/community/twinkle/PKGBUILD b/community/twinkle/PKGBUILD index bce91098e..5c58111cc 100644 --- a/community/twinkle/PKGBUILD +++ b/community/twinkle/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 52444 2011-07-25 19:31:08Z jelle $ +# $Id: PKGBUILD 59974 2011-12-02 21:01:27Z ibiru $ # Maintainer: # Contributor: Jeff Mickey # Contributor: Alexander Baldeck @@ -6,7 +6,7 @@ pkgname=twinkle pkgver=1.4.2 -pkgrel=11 +pkgrel=12 pkgdesc="A softphone for voice over IP and instant messaging communications using the SIP protocol" arch=('i686' 'x86_64') url="http://www.twinklephone.com/" diff --git a/community/wine/PKGBUILD b/community/wine/PKGBUILD index 8a8198de4..004bb7207 100644 --- a/community/wine/PKGBUILD +++ b/community/wine/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 58857 2011-11-19 02:52:24Z svenstaro $ +# $Id: PKGBUILD 59923 2011-12-02 20:03:51Z svenstaro $ # Maintainer: Sven-Hendrik Haase # Contributor: Jan "heftig" Steffens # Contributor: Eduardo Romero # Contributor: Giovanni Scafora pkgname=wine -pkgver=1.3.33 +pkgver=1.3.34 pkgrel=1 _pkgbasever=${pkgver/rc/-rc} source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2) -md5sums=('24807ef7d9a5e8c2635541880672db7b') +md5sums=('ae7be1767e95e27360fc86f573649c19') pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" @@ -26,6 +26,7 @@ depends=( libxrandr lib32-libxrandr libxdamage lib32-libxdamage libxi lib32-libxi + gettext lib32-gettext desktop-file-utils ) diff --git a/community/wt/PKGBUILD b/community/wt/PKGBUILD index 0ca32716f..f7575f818 100644 --- a/community/wt/PKGBUILD +++ b/community/wt/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 56173 2011-10-02 20:43:18Z spupykin $ +# $Id: PKGBUILD 59976 2011-12-02 21:01:36Z ibiru $ # Maintainer: Sergej Pupykin # Contributor: Denis Martinez pkgname=wt -pkgver=3.1.11 +pkgver=3.2.0 pkgrel=1 pkgdesc="a C++ library and application server for developing and deploying web applications" arch=('i686' 'x86_64') @@ -13,18 +13,18 @@ depends=('boost-libs>=1.36') makedepends=('boost>=1.36' 'cmake>=2.8' 'postgresql-libs' 'zlib' 'fcgi' 'sqlite3' 'libharu' 'graphicsmagick' 'pango' 'mysql++' 'qt') optdepends=('openssl: for SSL support in built-in webserver' - 'zlib: for compression in HTTP protocol' - 'fcgi: for FastCGI support' - 'postgresql-libs: for PostgreSQL Dbo support' - 'sqlite3: for Sqlite3 Dbo support' - 'libharu: for PDF generation (WPdfImage)' - 'graphicsmagick: for raster image support (WRasterImage)' - 'pango: for advanced font rendering (WRasterImage)' - 'mysql++: for the hangman example' - 'qt: for the Wt/Qt interopability example (wtwithqt)') + 'zlib: for compression in HTTP protocol' + 'fcgi: for FastCGI support' + 'postgresql-libs: for PostgreSQL Dbo support' + 'sqlite3: for Sqlite3 Dbo support' + 'libharu: for PDF generation (WPdfImage)' + 'graphicsmagick: for raster image support (WRasterImage)' + 'pango: for advanced font rendering (WRasterImage)' + 'mysql++: for the hangman example' + 'qt: for the Wt/Qt interopability example (wtwithqt)') backup=('etc/wt/wt_config.xml') source=(http://downloads.sourceforge.net/witty/$pkgname-${pkgver}.tar.gz) -md5sums=('0e1701db78a899d1f7e943098678cc7a') +md5sums=('82ff039bccf7a941b37142c9d3fc7f32') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/extra/akonadi/PKGBUILD b/extra/akonadi/PKGBUILD index 3194c2099..97712e104 100644 --- a/extra/akonadi/PKGBUILD +++ b/extra/akonadi/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 139641 2011-10-04 06:53:59Z andrea $ +# $Id: PKGBUILD 144041 2011-12-02 20:54:07Z ibiru $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz pkgname=akonadi pkgver=1.6.2 -pkgrel=1 +pkgrel=2 pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data" arch=('i686' 'x86_64') url='http://pim.kde.org/akonadi' diff --git a/extra/avogadro/PKGBUILD b/extra/avogadro/PKGBUILD index f85ad30cd..e73bdd8f0 100644 --- a/extra/avogadro/PKGBUILD +++ b/extra/avogadro/PKGBUILD @@ -1,30 +1,42 @@ -# $Id: PKGBUILD 132785 2011-07-26 07:29:20Z andrea $ -# Maintainer: Andrea Scarpino +# $Id: PKGBUILD 144043 2011-12-02 20:54:10Z ibiru $ +# Maintainer: +# Contributor: Andrea Scarpino # Contributor: Nick B pkgname=avogadro pkgver=1.0.3 -pkgrel=3 +pkgrel=4 pkgdesc="An advanced molecular editor based on Qt" arch=('i686' 'x86_64') url="http://avogadro.openmolecules.net/wiki/Main_Page" license=('GPL2') -depends=('eigen' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy') +depends=('eigen2' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy') makedepends=('cmake' 'boost') -source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('92c2702c1980f70fb6d87a1a58147911') +install=avogadro.install +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2" + 'replace-qt4_automoc-with-qt4_wrap_cpp.patch' + 'fix-boost.patch') +md5sums=('92c2702c1980f70fb6d87a1a58147911' + 'aec516daab066c15326a9681f8f15abc' + '46282e4709429447e44a0a54d51ad2ec') build() { - cd ${srcdir} + cd "${srcdir}"/${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/replace-qt4_automoc-with-qt4_wrap_cpp.patch + patch -p1 -i "${srcdir}"/fix-boost.patch + + cd "${srcdir}" mkdir build cd build cmake ../${pkgname}-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + -DQT_MKSPECS_RELATIVE=share/qt/mkspecs make } package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install } diff --git a/extra/avogadro/avogadro.install b/extra/avogadro/avogadro.install new file mode 100644 index 000000000..2eaa60550 --- /dev/null +++ b/extra/avogadro/avogadro.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/extra/avogadro/fix-boost.patch b/extra/avogadro/fix-boost.patch new file mode 100644 index 000000000..8fb53ef12 --- /dev/null +++ b/extra/avogadro/fix-boost.patch @@ -0,0 +1,33 @@ +--- avogadro-1.0.3/libavogadro/src/CMakeLists.txt~ 2011-11-29 18:33:01.777291627 +0000 ++++ avogadro-1.0.3/libavogadro/src/CMakeLists.txt 2011-11-29 18:33:23.480814612 +0000 +@@ -149,7 +149,7 @@ + endforeach(P_ITEM ${PYTHON_SRCS}) + endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND) + +-QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS}) ++QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + + # you have to add link_directories before you add the target + if(ENABLE_PYTHON AND ALL_PYTHON_FOUND) +--- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt~ 2011-11-29 18:37:15.449506548 +0000 ++++ avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt 2011-11-29 18:37:52.729831744 +0000 +@@ -11,7 +11,7 @@ + # use all cpp files in this directory + FILE(GLOB wrapper_SRCS "*.cpp") + +-QT4_WRAP_CPP(MOC_SRCS moleculelist.h) ++QT4_WRAP_CPP(MOC_SRCS moleculelist.h OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + + ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS}) + SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro) +--- avogadro-1.0.3/libavogadro/CMakeLists.txt~ 2011-11-29 19:41:34.066938217 +0000 ++++ avogadro-1.0.3/libavogadro/CMakeLists.txt 2011-11-29 19:42:53.084320315 +0000 +@@ -18,7 +18,7 @@ + # Assume all MOC stuff is in the headers, replace .cpp and use qt4_wrap_cpp + # We should probably scan the header to verify the Q_OBJECT macro is used + string(REPLACE ".cpp" ".h" hdr_list "${src_list}") +- qt4_wrap_cpp(moc_files ${hdr_list}) ++ qt4_wrap_cpp(moc_files ${hdr_list} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + # Now sort out the ui and qrc files, process them as appropriate + set(ui_plugin_files) + set(qrc_plugin_files) diff --git a/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch b/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch new file mode 100644 index 000000000..11f58a505 --- /dev/null +++ b/extra/avogadro/replace-qt4_automoc-with-qt4_wrap_cpp.patch @@ -0,0 +1,778 @@ +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt +--- avogadro-1.0.3/libavogadro/src/CMakeLists.txt 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt 2011-11-29 18:49:58.520790652 +0100 +@@ -75,6 +75,42 @@ + zmatrix.h + ) + ++SET(libavogadro_MOC_HDRS ++ animation.h ++ atom.h ++ bond.h ++ color.h ++ colorbutton.h ++ colors/elementcolor.h ++ cube.h ++ elementdetail_p.h ++ elementtranslator.h ++ engine.h ++ engines/bsdyengine.h ++ extension.h ++ fragment.h ++ glwidget.h ++ mesh.h ++ molecule.h ++ moleculefile.h ++ moleculefile_p.h ++ periodictablescene_p.h ++ periodictableview.h ++ plotwidget.h ++ plugin.h ++ pluginmanager.h ++ primitive.h ++ protein.h ++ pythonengine_p.h ++ pythonerror.h ++ pythonextension_p.h ++ pythontool_p.h ++ residue.h ++ tool.h ++ toolgroup.h ++ zmatrix.h ++) ++ + set(libavogadro_SRCS ${libavogadro_SRCS} ${libavogadro_UIS}) + # Also add in the qtiocompressor class + #set(libavogadro_SRCS ${libavogadro_SRCS} ../qtiocompressor/qtiocompressor.cpp) +@@ -113,7 +148,7 @@ + endforeach(P_ITEM ${PYTHON_SRCS}) + endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND) + +-qt4_automoc(${libavogadro_SRCS}) ++QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS}) + + # you have to add link_directories before you add the target + if(ENABLE_PYTHON AND ALL_PYTHON_FOUND) +@@ -149,7 +184,7 @@ + COMMAND ${CMAKE_COMMAND} -E ${header_cmd} "${from}" "${to}") + endforeach(headerFile ${libavogadro_HDRS}) + +-add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS}) ++add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_MOC_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS}) + set_target_properties(avogadro + PROPERTIES VERSION ${Avogadro_VERSION_FULL} SOVERSION 1 ) + target_link_libraries(avogadro ${AVO_LINK_LIBRARIES}) +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/animation.cpp avogadro-1.0.3-edit/libavogadro/src/animation.cpp +--- avogadro-1.0.3/libavogadro/src/animation.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/animation.cpp 2011-11-29 18:48:47.967839537 +0100 +@@ -224,5 +224,3 @@ + } + + } // end namespace Avogadro +- +-#include "animation.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/atom.cpp avogadro-1.0.3-edit/libavogadro/src/atom.cpp +--- avogadro-1.0.3/libavogadro/src/atom.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/atom.cpp 2011-11-29 18:48:39.561218412 +0100 +@@ -293,5 +293,3 @@ + } + + } // End namespace Avogadro +- +-#include "atom.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/bond.cpp avogadro-1.0.3-edit/libavogadro/src/bond.cpp +--- avogadro-1.0.3/libavogadro/src/bond.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/bond.cpp 2011-11-29 18:49:00.067773985 +0100 +@@ -166,5 +166,3 @@ + } + + } // End namespace Avogadro +- +-#include "bond.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/color.cpp avogadro-1.0.3-edit/libavogadro/src/color.cpp +--- avogadro-1.0.3/libavogadro/src/color.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/color.cpp 2011-11-29 18:49:05.207746140 +0100 +@@ -152,5 +152,3 @@ + return "Generic Color"; + } + } +- +-#include "color.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colorbutton.cpp avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp +--- avogadro-1.0.3/libavogadro/src/colorbutton.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp 2011-11-29 18:49:11.987709410 +0100 +@@ -94,5 +94,3 @@ + } + + } // end namespace +- +-#include "colorbutton.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp +--- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp 2011-11-29 18:50:11.077389292 +0100 +@@ -63,7 +63,5 @@ + + } + +-#include "elementcolor.moc" + //this is a static color plugin... + //Q_EXPORT_PLUGIN2(elementcolor, Avogadro::ElementColorFactory) +- +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/cube.cpp avogadro-1.0.3-edit/libavogadro/src/cube.cpp +--- avogadro-1.0.3/libavogadro/src/cube.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/cube.cpp 2011-11-29 18:50:26.357306516 +0100 +@@ -322,5 +322,3 @@ + } + + } // End namespace Avogadro +- +-#include "cube.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp +--- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp 2011-11-29 18:50:37.680578505 +0100 +@@ -132,5 +132,3 @@ + } + + } // End namespace Avogadro +- +-#include "elementdetail_p.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp +--- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp 2011-11-29 18:50:48.160521729 +0100 +@@ -401,5 +401,3 @@ + } + + } // End namespace Avogadro +- +-#include "elementtranslator.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engine.cpp avogadro-1.0.3-edit/libavogadro/src/engine.cpp +--- avogadro-1.0.3/libavogadro/src/engine.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/engine.cpp 2011-11-29 18:50:54.397154610 +0100 +@@ -377,5 +377,3 @@ + return m_molecule->bonds(); + } + } +- +-#include "engine.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp +--- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp 2011-11-29 18:51:18.733689435 +0100 +@@ -442,7 +442,5 @@ + } + + } +- +-#include "bsdyengine.moc" + // This is a static engine... + // Q_EXPORT_PLUGIN2( bsdyengine, Avogadro::BSDYEngineFactory ) +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/extension.cpp avogadro-1.0.3-edit/libavogadro/src/extension.cpp +--- avogadro-1.0.3/libavogadro/src/extension.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/extension.cpp 2011-11-29 18:51:56.360152261 +0100 +@@ -80,5 +80,3 @@ + } + + } +- +-#include "extension.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/fragment.cpp avogadro-1.0.3-edit/libavogadro/src/fragment.cpp +--- avogadro-1.0.3/libavogadro/src/fragment.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/fragment.cpp 2011-11-29 18:52:01.906788880 +0100 +@@ -82,5 +82,3 @@ + } + + } // End namespace Avogadro +- +-#include "fragment.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/glwidget.cpp avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp +--- avogadro-1.0.3/libavogadro/src/glwidget.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp 2011-11-29 18:52:14.346721486 +0100 +@@ -1966,5 +1966,3 @@ + d->updateCache = true; + } + } +- +-#include "glwidget.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/mesh.cpp avogadro-1.0.3-edit/libavogadro/src/mesh.cpp +--- avogadro-1.0.3/libavogadro/src/mesh.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/mesh.cpp 2011-11-29 18:52:23.033341093 +0100 +@@ -231,5 +231,3 @@ + } + + } // End namespace Avogadro +- +-#include "mesh.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/molecule.cpp avogadro-1.0.3-edit/libavogadro/src/molecule.cpp +--- avogadro-1.0.3/libavogadro/src/molecule.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/molecule.cpp 2011-11-29 18:52:33.573283993 +0100 +@@ -1575,5 +1575,3 @@ + } + + } // End namespace Avogadro +- +-#include "molecule.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile.cpp avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp +--- avogadro-1.0.3/libavogadro/src/moleculefile.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp 2011-11-29 18:56:26.728687548 +0100 +@@ -22,23 +22,14 @@ + 02110-1301, USA. + **********************************************************************/ + +-#include "moleculefile.h" ++#include "moleculefile_p.h" + + #include + +-#include + #include +-#include +-#include + #include + #include + +-#include +-#include +- +-// Included in obconversion.h +-//#include +- + namespace Avogadro { + + using OpenBabel::OBConversion; +@@ -578,164 +569,6 @@ + return false; + } + +- class ReadFileThread : public QThread +- { +- // Q_OBJECT +- +- public: +- ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile) +- { +- } +- +- void addConformer(const OpenBabel::OBMol &conformer) +- { +- unsigned int numAtoms = conformer.NumAtoms(); +- std::vector *coords = new std::vector(numAtoms); +- for (unsigned int i = 0; i < numAtoms; ++i) +- coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray())); +- m_moleculeFile->m_conformers.push_back(coords); +- } +- +- void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol ¤t) +- { +- if (!c) { +- // this is the first molecule read +- m_moleculeFile->setConformerFile(true); +- addConformer(current); +- return; +- } +- +- if (!m_moleculeFile->isConformerFile()) +- return; +- +- // as long as we are not sure if this really is a +- // conformer/trajectory file, add the conformers +- addConformer(current); +- +- // performance: check only certain molecule 1-10,20,50 +- switch (c) { +- case 1: +- case 2: +- case 3: +- case 4: +- case 5: +- case 6: +- case 7: +- case 8: +- case 9: +- case 10: +- case 20: +- case 50: +- break; +- default: +- return; +- } +- +- if (first.NumAtoms() != current.NumAtoms()) { +- m_moleculeFile->setConformerFile(false); +- m_moleculeFile->m_conformers.clear(); +- return; +- } +- +- for (unsigned int i = 0; i < first.NumAtoms(); ++i) { +- OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1); +- OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1); +- if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) { +- m_moleculeFile->setConformerFile(false); +- m_moleculeFile->m_conformers.clear(); +- return; +- } +- } +- } +- +- void run() +- { +- // Check that the file can be read from disk +- if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) { +- // Cannot read the file +- m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.") +- .arg(m_moleculeFile->m_fileName)); +- return; +- } +- +- // Construct the OpenBabel objects, set the file type +- OpenBabel::OBConversion conv; +- OpenBabel::OBFormat *inFormat; +- if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) { +- // Input format not supported +- m_moleculeFile->m_error.append( +- QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType)); +- return; +- } else { +- inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data()); +- if (!inFormat || !conv.SetInFormat(inFormat)) { +- // Input format not supported +- m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.") +- .arg(m_moleculeFile->m_fileName)); +- return; +- } +- } +- +- // set any options +- if (!m_moleculeFile->m_fileOptions.isEmpty()) { +- foreach(const QString &option, +- m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) { +- conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS); +- } +- } +- +- // Now attempt to read the molecule in +- ifstream ifs; +- ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc +- if (!ifs) // Should not happen, already checked file could be opened +- return; +- +- // read all molecules +- OpenBabel::OBMol firstOBMol, currentOBMol; +- unsigned int c = 0; +- conv.SetInStream(&ifs); +- m_moleculeFile->streamposRef().push_back(ifs.tellg()); +- while (ifs.good() && conv.Read(¤tOBMol)) { +- if (!c) +- firstOBMol = currentOBMol; +- +- if (c > 20 && !m_moleculeFile->isConformerFile()) +- m_moleculeFile->setFirstReady(true); +- +- // detect conformer/trajectory files +- detectConformers(c, firstOBMol, currentOBMol); +- // store information about molecule +- m_moleculeFile->streamposRef().push_back(ifs.tellg()); +- m_moleculeFile->titlesRef().append(currentOBMol.GetTitle()); +- // increment count +- ++c; +- } +- m_moleculeFile->streamposRef().pop_back(); +- +- // signle molecule files are not conformer files +- if (c == 1) { +- m_moleculeFile->setConformerFile(false); +- m_moleculeFile->m_conformers.clear(); +- } +- +- // check for empty titles +- for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) { +- if (!m_moleculeFile->titlesRef()[i].isEmpty()) +- continue; +- +- QString title; +- if (m_moleculeFile->isConformerFile()) +- title = tr("Conformer %1").arg(i+1); +- else +- title = tr("Molecule %1").arg(i+1); +- +- m_moleculeFile->titlesRef()[i] = title; +- } +- } +- +- MoleculeFile *m_moleculeFile; +- }; // end ReadFileThread class +- + MoleculeFile* MoleculeFile::readFile(const QString &fileName, + const QString &fileType, const QString &fileOptions, bool wait) + { +@@ -794,6 +627,3 @@ + } + + } // end namespace Avogadro +- +-#include "moleculefile.moc" +- +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile_p.h avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h +--- avogadro-1.0.3/libavogadro/src/moleculefile_p.h 1970-01-01 01:00:00.000000000 +0100 ++++ avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h 2011-11-29 18:57:43.108273764 +0100 +@@ -0,0 +1,202 @@ ++/********************************************************************** ++ MoleculeFile - Class representing molecule file. ++ ++ Copyright (C) 2009 Marcus Hanwell, Tim Vandermeersch ++ ++ This file is part of the Avogadro molecular editor project. ++ For more information, see ++ ++ Avogadro is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ Avogadro 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. ++ **********************************************************************/ ++ ++#ifndef MOLECULEFILE_P_H ++#define MOLECULEFILE_P_H ++ ++#include "moleculefile.h" ++ ++#include ++#include ++ ++#include ++#include ++#include ++ ++namespace Avogadro { ++ ++ using OpenBabel::OBConversion; ++ using std::ifstream; ++ ++class ReadFileThread : public QThread ++{ ++ Q_OBJECT ++ ++ public: ++ ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile) ++ { ++ } ++ ++ void addConformer(const OpenBabel::OBMol &conformer) ++ { ++ unsigned int numAtoms = conformer.NumAtoms(); ++ std::vector *coords = new std::vector(numAtoms); ++ for (unsigned int i = 0; i < numAtoms; ++i) ++ coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray())); ++ m_moleculeFile->m_conformers.push_back(coords); ++ } ++ ++ void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol ¤t) ++ { ++ if (!c) { ++ // this is the first molecule read ++ m_moleculeFile->setConformerFile(true); ++ addConformer(current); ++ return; ++ } ++ ++ if (!m_moleculeFile->isConformerFile()) ++ return; ++ ++ // as long as we are not sure if this really is a ++ // conformer/trajectory file, add the conformers ++ addConformer(current); ++ ++ // performance: check only certain molecule 1-10,20,50 ++ switch (c) { ++ case 1: ++ case 2: ++ case 3: ++ case 4: ++ case 5: ++ case 6: ++ case 7: ++ case 8: ++ case 9: ++ case 10: ++ case 20: ++ case 50: ++ break; ++ default: ++ return; ++ } ++ ++ if (first.NumAtoms() != current.NumAtoms()) { ++ m_moleculeFile->setConformerFile(false); ++ m_moleculeFile->m_conformers.clear(); ++ return; ++ } ++ ++ for (unsigned int i = 0; i < first.NumAtoms(); ++i) { ++ OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1); ++ OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1); ++ if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) { ++ m_moleculeFile->setConformerFile(false); ++ m_moleculeFile->m_conformers.clear(); ++ return; ++ } ++ } ++ } ++ ++ void run() ++ { ++ // Check that the file can be read from disk ++ if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) { ++ // Cannot read the file ++ m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.") ++ .arg(m_moleculeFile->m_fileName)); ++ return; ++ } ++ ++ // Construct the OpenBabel objects, set the file type ++ OpenBabel::OBConversion conv; ++ OpenBabel::OBFormat *inFormat; ++ if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) { ++ // Input format not supported ++ m_moleculeFile->m_error.append( ++ QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType)); ++ return; ++ } else { ++ inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data()); ++ if (!inFormat || !conv.SetInFormat(inFormat)) { ++ // Input format not supported ++ m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.") ++ .arg(m_moleculeFile->m_fileName)); ++ return; ++ } ++ } ++ ++ // set any options ++ if (!m_moleculeFile->m_fileOptions.isEmpty()) { ++ foreach(const QString &option, ++ m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) { ++ conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS); ++ } ++ } ++ ++ // Now attempt to read the molecule in ++ ifstream ifs; ++ ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc ++ if (!ifs) // Should not happen, already checked file could be opened ++ return; ++ ++ // read all molecules ++ OpenBabel::OBMol firstOBMol, currentOBMol; ++ unsigned int c = 0; ++ conv.SetInStream(&ifs); ++ m_moleculeFile->streamposRef().push_back(ifs.tellg()); ++ while (ifs.good() && conv.Read(¤tOBMol)) { ++ if (!c) ++ firstOBMol = currentOBMol; ++ ++ if (c > 20 && !m_moleculeFile->isConformerFile()) ++ m_moleculeFile->setFirstReady(true); ++ ++ // detect conformer/trajectory files ++ detectConformers(c, firstOBMol, currentOBMol); ++ // store information about molecule ++ m_moleculeFile->streamposRef().push_back(ifs.tellg()); ++ m_moleculeFile->titlesRef().append(currentOBMol.GetTitle()); ++ // increment count ++ ++c; ++ } ++ m_moleculeFile->streamposRef().pop_back(); ++ ++ // signle molecule files are not conformer files ++ if (c == 1) { ++ m_moleculeFile->setConformerFile(false); ++ m_moleculeFile->m_conformers.clear(); ++ } ++ ++ // check for empty titles ++ for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) { ++ if (!m_moleculeFile->titlesRef()[i].isEmpty()) ++ continue; ++ ++ QString title; ++ if (m_moleculeFile->isConformerFile()) ++ title = tr("Conformer %1").arg(i+1); ++ else ++ title = tr("Molecule %1").arg(i+1); ++ ++ m_moleculeFile->titlesRef()[i] = title; ++ } ++ } ++ ++ MoleculeFile *m_moleculeFile; ++}; ++ ++} // end namespace Avogadro ++ ++#endif // MOLECULEFILE_P_H +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp +--- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp 2011-11-29 18:52:50.259860261 +0100 +@@ -213,5 +213,3 @@ + } + + } // End namespace Avogadro +- +-#include "periodictablescene_p.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictableview.cpp avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp +--- avogadro-1.0.3/libavogadro/src/periodictableview.cpp 2011-11-29 19:30:25.130970122 +0000 ++++ avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp 2011-11-29 18:52:50.259860261 +0100 +@@ -69,4 +69,3 @@ + + } // End namespace Avogadro + +-#include "periodictableview.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plotwidget.cpp avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp +--- avogadro-1.0.3/libavogadro/src/plotwidget.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp 2011-11-29 18:53:09.389756626 +0100 +@@ -27,7 +27,6 @@ + **********************************************************************/ + + #include "plotwidget.h" +-#include "plotwidget.moc" + + #include + #include +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plugin.cpp avogadro-1.0.3-edit/libavogadro/src/plugin.cpp +--- avogadro-1.0.3/libavogadro/src/plugin.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/plugin.cpp 2011-11-29 18:53:16.016387394 +0100 +@@ -65,5 +65,3 @@ + } + + } // end namespace Avogadro +- +-#include "plugin.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp +--- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp 2011-11-29 18:53:23.569679807 +0100 +@@ -784,5 +784,3 @@ + } + + } +- +-#include "pluginmanager.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/primitive.cpp avogadro-1.0.3-edit/libavogadro/src/primitive.cpp +--- avogadro-1.0.3/libavogadro/src/primitive.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/primitive.cpp 2011-11-29 18:53:29.139649631 +0100 +@@ -77,5 +77,3 @@ + } + + } +- +-#include "primitive.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/protein.cpp avogadro-1.0.3-edit/libavogadro/src/protein.cpp +--- avogadro-1.0.3/libavogadro/src/protein.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/protein.cpp 2011-11-29 18:53:37.952935219 +0100 +@@ -978,5 +978,3 @@ + } + + } // End namespace Avogadro +- +-#include "protein.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt +--- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt 2011-11-29 18:58:02.354836165 +0100 +@@ -11,9 +11,9 @@ + # use all cpp files in this directory + FILE(GLOB wrapper_SRCS "*.cpp") + +-qt4_automoc(moleculelist.cpp) ++QT4_WRAP_CPP(MOC_SRCS moleculelist.h) + +-ADD_LIBRARY(python-module MODULE ${wrapper_SRCS}) ++ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS}) + SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro) + SET_TARGET_PROPERTIES(python-module PROPERTIES PREFIX "") + if (WIN32) +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp +--- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp 2011-11-29 19:26:07.562214311 +0100 ++++ avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp 2011-11-29 19:26:14.538843182 +0100 +@@ -70,4 +70,3 @@ + + } + +-#include "moleculelist.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp +--- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp 2011-11-29 18:53:45.492894371 +0100 +@@ -289,5 +289,3 @@ + + + } +- +-#include "pythonengine_p.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonerror.cpp avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp +--- avogadro-1.0.3/libavogadro/src/pythonerror.cpp 2011-11-29 19:24:26.949426045 +0100 ++++ avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp 2011-11-29 19:24:41.176015640 +0100 +@@ -112,4 +112,3 @@ + + } // namespace + +-#include "pythonerror.moc" + +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp +--- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp 2011-11-29 18:53:54.082847836 +0100 +@@ -340,5 +340,3 @@ + } + + } +- +-#include "pythonextension_p.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp +--- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp 2011-11-29 18:54:02.269470152 +0100 +@@ -344,5 +344,3 @@ + } + + } +- +-#include "pythontool_p.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/residue.cpp avogadro-1.0.3-edit/libavogadro/src/residue.cpp +--- avogadro-1.0.3/libavogadro/src/residue.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/residue.cpp 2011-11-29 18:54:14.316071557 +0100 +@@ -160,6 +160,3 @@ + } + + } // End namespace Avogadro +- +- #include "residue.moc" +- +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/tool.cpp avogadro-1.0.3-edit/libavogadro/src/tool.cpp +--- avogadro-1.0.3/libavogadro/src/tool.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/tool.cpp 2011-11-29 18:55:05.515794184 +0100 +@@ -117,5 +117,3 @@ + } + + } // end namespace Avogadro +- +-#include "tool.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/toolgroup.cpp avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp +--- avogadro-1.0.3/libavogadro/src/toolgroup.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp 2011-11-29 18:55:11.699094018 +0100 +@@ -206,5 +206,3 @@ + } + + } // end namespace Avogadro +- +-#include "toolgroup.moc" +diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/zmatrix.cpp avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp +--- avogadro-1.0.3/libavogadro/src/zmatrix.cpp 2011-04-25 07:22:18.000000000 +0200 ++++ avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp 2011-11-29 18:55:17.209064168 +0100 +@@ -149,5 +149,3 @@ + + + } // End namespace Avogadro +- +-#include "zmatrix.moc" diff --git a/extra/boost/BOOST_FOREACH.patch b/extra/boost/BOOST_FOREACH.patch new file mode 100644 index 000000000..12cf08800 --- /dev/null +++ b/extra/boost/BOOST_FOREACH.patch @@ -0,0 +1,60 @@ +Index: /trunk/boost/foreach_fwd.hpp +=================================================================== +--- /trunk/boost/foreach_fwd.hpp (revision 62661) ++++ /trunk/boost/foreach_fwd.hpp (revision 75540) +@@ -15,4 +15,6 @@ + #define BOOST_FOREACH_FWD_HPP + ++#include // for std::pair ++ + // This must be at global scope, hence the uglified name + enum boost_foreach_argument_dependent_lookup_hack +@@ -26,4 +28,7 @@ + namespace foreach + { ++ template ++ std::pair in_range(T begin, T end); ++ + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::tag +@@ -47,4 +52,22 @@ + } // namespace foreach + ++// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131 ++namespace BOOST_FOREACH ++{ ++ using foreach::in_range; ++ using foreach::tag; ++ ++ template ++ struct is_lightweight_proxy ++ : foreach::is_lightweight_proxy ++ {}; ++ ++ template ++ struct is_noncopyable ++ : foreach::is_noncopyable ++ {}; ++ ++} // namespace BOOST_FOREACH ++ + } // namespace boost + +Index: /trunk/boost/foreach.hpp +=================================================================== +--- /trunk/boost/foreach.hpp (revision 75077) ++++ /trunk/boost/foreach.hpp (revision 75540) +@@ -166,5 +166,5 @@ + // at the global namespace for your type. + template +-inline boost::foreach::is_lightweight_proxy * ++inline boost::BOOST_FOREACH::is_lightweight_proxy * + boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } + +@@ -191,5 +191,5 @@ + // at the global namespace for your type. + template +-inline boost::foreach::is_noncopyable * ++inline boost::BOOST_FOREACH::is_noncopyable * + boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } + diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD index 62c11fdb2..8efad5ecc 100644 --- a/extra/boost/PKGBUILD +++ b/extra/boost/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 141623 2011-10-31 21:27:41Z ibiru $ +# $Id: PKGBUILD 144045 2011-12-02 20:54:13Z ibiru $ # Maintainer: kevin # Contributor: Giovanni Scafora # Contributor: Kritoke @@ -6,17 +6,19 @@ pkgbase=boost pkgname=('boost-libs' 'boost') -pkgver=1.47.0 +pkgver=1.48.0 _boostver=${pkgver//./_} -pkgrel=3 +pkgrel=2 arch=('i686' 'x86_64') url="http://www.boost.org/" makedepends=('icu' 'python' 'python2' 'bzip2' 'zlib' 'openmpi') source=(http://downloads.sourceforge.net/${pkgbase}/${pkgbase}_${_boostver}.tar.gz - exceptions.patch) + exceptions.patch + BOOST_FOREACH.patch) license=('custom') -md5sums=('ff180a5276bec773a7625cac7e2288e8' - '9b44c28b36303152050c8c82469569c5') +md5sums=('313a11e97eb56eb7efd18325354631be' + '9b44c28b36303152050c8c82469569c5' + '2db6098a1a39bced4c6162eb46418320') _stagedir="${srcdir}/stagedir" @@ -27,9 +29,12 @@ build() { 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 - # http://web.archiveorange.com/archive/v/Q0J4VE5bwsy3zxRXqUgd cd "${srcdir}"/${pkgbase}_${_boostver} - patch -p0 -i "${srcdir}"/exceptions.patch + # https://svn.boost.org/trac/boost/ticket/5731 + patch -p0 -i "${srcdir}/exceptions.patch" + # https://svn.boost.org/trac/boost/ticket/6131 + patch -p2 -i "${srcdir}/BOOST_FOREACH.patch" + # build bjam cd "${srcdir}/${pkgbase}_${_boostver}/tools/build/v2/engine" diff --git a/extra/ekiga/PKGBUILD b/extra/ekiga/PKGBUILD index e39a60b26..12d999c2d 100644 --- a/extra/ekiga/PKGBUILD +++ b/extra/ekiga/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 136102 2011-08-23 01:57:57Z heftig $ +# $Id: PKGBUILD 144047 2011-12-02 20:54:17Z ibiru $ # Maintainer: Jan de Groot # Contributor: Tom K pkgname=ekiga pkgver=3.3.2 -pkgrel=1 +pkgrel=2 pkgdesc="VOIP/Videoconferencing app with full SIP and H.323 support (GnomeMeeting expanded and renamed)" url="http://www.ekiga.org" license=(GPL) diff --git a/extra/ethtool/PKGBUILD b/extra/ethtool/PKGBUILD index fb8437925..67aef973b 100644 --- a/extra/ethtool/PKGBUILD +++ b/extra/ethtool/PKGBUILD @@ -1,8 +1,10 @@ -# $Id: PKGBUILD 134800 2011-08-07 20:06:54Z ibiru $ -# Maintainer: Paul Mattal -# Contributer: Martin Kemp +# $Id: PKGBUILD 144039 2011-12-02 20:49:22Z ibiru $ +# Maintainer : Ionut Biru +# Contributor: Paul Mattal +# Contributor: Martin Kemp + pkgname=ethtool -pkgver=3.0 +pkgver=3.1 pkgrel=1 epoch=1 pkgdesc="Utility for controlling network drivers and hardware" @@ -10,16 +12,18 @@ arch=('i686' 'x86_64') url="http://www.kernel.org/pub/software/network/ethtool/" license=('GPL') depends=('glibc') -source=(http://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.bz2) -md5sums=('cb129398cbbf39859901b55ecac101da') +#source=(http://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.bz2) +source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz) + +md5sums=('83a538a864b50549b7e4c79e7dd69849') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --mandir=/usr/share/man make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install } diff --git a/extra/hugin/PKGBUILD b/extra/hugin/PKGBUILD index 311733ad9..8c91a9561 100644 --- a/extra/hugin/PKGBUILD +++ b/extra/hugin/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 139887 2011-10-05 19:06:49Z andrea $ +# $Id: PKGBUILD 144049 2011-12-02 20:54:20Z ibiru $ # Maintainer: Tobias Kieslich # Contributor: Giovanni Scafora # Contributor: Dominik Ryba pkgname=hugin pkgver=2011.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="A frontend to the panorama-tools" arch=('i686' 'x86_64') url="http://hugin.sourceforge.net/" diff --git a/extra/kdeedu-kig/PKGBUILD b/extra/kdeedu-kig/PKGBUILD index b0e9cf7dc..fa002c6b7 100644 --- a/extra/kdeedu-kig/PKGBUILD +++ b/extra/kdeedu-kig/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 143501 2011-11-25 08:27:09Z andrea $ +# $Id: PKGBUILD 144051 2011-12-02 20:54:24Z ibiru $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kig pkgver=4.7.3 -pkgrel=1 +pkgrel=2 pkgdesc="Interactive Geometry" url="http://kde.org/applications/education/kig/" arch=('i686' 'x86_64') diff --git a/extra/liborigin2/PKGBUILD b/extra/liborigin2/PKGBUILD index 61dd30f38..19099c355 100644 --- a/extra/liborigin2/PKGBUILD +++ b/extra/liborigin2/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 132812 2011-07-26 11:18:58Z ibiru $ +# $Id: PKGBUILD 144053 2011-12-02 20:54:26Z ibiru $ # Maintainer: Ronald van Haren # Contributor: damir pkgbase=liborigin2 pkgname=('liborigin2' 'liborigin2-docs') pkgver=20100913 -pkgrel=5 +pkgrel=6 arch=('i686' 'x86_64') url="http://soft.proindependent.com/liborigin2/" license=('GPL3') @@ -15,10 +15,9 @@ provides=('liborigin') source=(http://download.berlios.de/qtiplot/${pkgbase}-13092010.zip liborigin.pro.archlinux http://tree.phi-sci.com/tree.hh) -md5sums=('e2b41c4d8a1e2d357dd2b5b331d31375' '2b19f7a4bd120f6d689edc327468e48e'\ - 'd24a1c3bdd811354ea7f5885d86ddacb') -sha1sums=('3f17d5a8c484ddb864a29a91a94d677b0b3b18d7' '1664b00929d6fba6e5ebcf7cb422e1da1b3897a5'\ - 'd10344d969e0b892c21e1bd5bd3541d838526b24') +md5sums=('e2b41c4d8a1e2d357dd2b5b331d31375' + '2b19f7a4bd120f6d689edc327468e48e' + '966ef25cb42d192a694a71eedf484c1c') build() { cd "${srcdir}/${pkgbase}" @@ -35,7 +34,7 @@ build() { package_liborigin2() { pkgdesc="A library for reading OriginLab OPJ project files" - depends=('gcc-libs' 'boost-libs') + depends=('boost-libs') cd "${srcdir}/${pkgbase}" diff --git a/extra/libpst/PKGBUILD b/extra/libpst/PKGBUILD index 9241e1ad8..835fdeb38 100644 --- a/extra/libpst/PKGBUILD +++ b/extra/libpst/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 132809 2011-07-26 11:04:44Z ibiru $ +# $Id: PKGBUILD 144055 2011-12-02 20:54:29Z ibiru $ # Maintainer: Jan de Groot pkgbase=libpst pkgname=('libpst' 'libpst-docs') pkgver=0.6.53 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://www.five-ten-sg.com/libpst/" license=('GPL') diff --git a/extra/libtorrent-rasterbar/PKGBUILD b/extra/libtorrent-rasterbar/PKGBUILD index 122798148..9f7b84ac9 100644 --- a/extra/libtorrent-rasterbar/PKGBUILD +++ b/extra/libtorrent-rasterbar/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 140204 2011-10-09 10:15:48Z ibiru $ +# $Id: PKGBUILD 144057 2011-12-02 20:54:34Z ibiru $ # Maintainer : Ionut Biru # Contributor: Hugo Doria pkgname=libtorrent-rasterbar -pkgver=0.15.8 +pkgver=0.15.9 pkgrel=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/" @@ -11,17 +11,18 @@ arch=('i686' 'x86_64') license=('custom') depends=('boost-libs' 'python2') makedepends=('boost') -source=(http://libtorrent.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) -sha1sums=('9e21ebfa6fba19b237754a10ae9b8007781c48f0') +options=('!libtool' '!emptydirs') +source=(http://libtorrent.googlecode.com/files/$pkgname-$pkgver.tar.gz) +sha1sums=('d86eb9d4452d07715a355d3a67312f162d6eff3a') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --enable-python-binding make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - install -D COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE" + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -D COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } diff --git a/extra/lyx/PKGBUILD b/extra/lyx/PKGBUILD index 156688814..b07340749 100644 --- a/extra/lyx/PKGBUILD +++ b/extra/lyx/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 137636 2011-09-10 09:15:43Z ronald $ +# $Id: PKGBUILD 144059 2011-12-02 20:54:39Z ibiru $ # Maintainer: Ronald van Haren # Contributor: Jason Chu pkgname=lyx pkgver=2.0.1 -pkgrel=2 -pkgdesc="An advanced open-source document processor." +pkgrel=3 +pkgdesc="An advanced open-source document processor" arch=('i686' 'x86_64') url="http://www.lyx.org" depends=('qt' 'texlive-core' 'python2' 'perl' 'imagemagick' 'enchant' 'boost-libs' 'libmythes') makedepends=('boost') license=('GPL') -source=(ftp://ftp.lip6.fr/pub/lyx/stable/2.0.x/$pkgname-$pkgver.tar.xz \ +source=(ftp://ftp.lip6.fr/pub/lyx/stable/2.0.x/$pkgname-$pkgver.tar.xz lyx.desktop lyxrc.dist) backup=('etc/lyx/lyxrc.dist') install=lyx.install @@ -36,10 +36,12 @@ package() { make DESTDIR="${pkgdir}" install # install desktop entry - install -Dm644 "${srcdir}/lyx.desktop" "${pkgdir}/usr/share/applications/lyx.desktop" + install -Dm644 "${srcdir}/lyx.desktop" \ + "${pkgdir}/usr/share/applications/lyx.desktop" + install -Dm644 "lib/images/lyx.png" \ + "${pkgdir}/usr/share/pixmaps/lyx.png" # install default config file - install -Dm644 ${srcdir}/lyxrc.dist ${pkgdir}/etc/lyx/lyxrc.dist - ln -sf /etc/lyx/lyxrc.dist ${pkgdir}/usr/share/lyx/lyxrc.dist + install -Dm644 "${srcdir}/lyxrc.dist" "${pkgdir}/etc/lyx/lyxrc.dist" + ln -sf /etc/lyx/lyxrc.dist "${pkgdir}/usr/share/lyx/lyxrc.dist" } - diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD index d43b4a2fd..f19be33ce 100644 --- a/extra/mkvtoolnix/PKGBUILD +++ b/extra/mkvtoolnix/PKGBUILD @@ -1,17 +1,18 @@ -# $Id: PKGBUILD 141066 2011-10-23 00:15:19Z giovanni $ +# $Id: PKGBUILD 144061 2011-12-02 20:54:42Z ibiru $ # Maintainer: Giovanni Scafora +# Contributor: xduugu pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk') -pkgver=5.0.1 -pkgrel=4 +pkgver=5.1.0 +pkgrel=1 arch=('i686' 'x86_64') license=('GPL') url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" -makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk'\ +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") -md5sums=('93fbbe946de6013eca699c0c2a93a4e9') +md5sums=('fed878893a7f292969e8bd81c7ab9209') build() { cd "${srcdir}/${pkgbase}-${pkgver}" @@ -20,11 +21,18 @@ build() { sed -i -e '/curl/d' configure.in export CURL_CFLAGS="" CURL_LIBS="" - export CFLAGS="${CFLAGS} -DBOOST_FILESYSTEM_VERSION=2" - export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" + export CFLAGS="${CFLAGS} -DBOOST_FILESYSTEM_VERSION=3" + export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=3" autoreconf + ./configure --prefix=/usr \ + --with-boost-libdir=/usr/lib \ + --disable-gui + rake + + mv src/mkvinfo{,-cli} + ./configure --prefix=/usr \ --with-boost-libdir=/usr/lib rake @@ -40,6 +48,9 @@ package_mkvtoolnix-cli() { cd "${srcdir}/${pkgbase}-${pkgver}" rake 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/ja/man1/mmg.1 rm -rf "${pkgdir}"/usr/share/man/man1/mmg.1 @@ -59,6 +70,9 @@ package_mkvtoolnix-gtk() { rake 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/ja/man1/mkv* diff --git a/extra/rxvt-unicode/ChangeLog b/extra/rxvt-unicode/ChangeLog index d4275a700..a374f7b27 100644 --- a/extra/rxvt-unicode/ChangeLog +++ b/extra/rxvt-unicode/ChangeLog @@ -1,3 +1,6 @@ +2011-12-02 Angel Velasquez + * Moved perl from optdepend to depend (closes FS#25782) + 2011-05-22 Angel Velasquez * Rebuilt against perl 5.14.0 diff --git a/extra/rxvt-unicode/PKGBUILD b/extra/rxvt-unicode/PKGBUILD index 789246858..40571e181 100644 --- a/extra/rxvt-unicode/PKGBUILD +++ b/extra/rxvt-unicode/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 129923 2011-06-29 23:05:47Z stephane $ +# $Id: PKGBUILD 144079 2011-12-03 04:45:00Z angvp $ # Maintainer: Angel Velasquez # Contributor: tobias # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org pkgname=rxvt-unicode pkgver=9.12 -pkgrel=1 +pkgrel=2 pkgdesc="An unicode enabled rxvt-clone terminal emulator (urxvt)" arch=('i686' 'x86_64') url="http://software.schmorp.de/pkg/rxvt-unicode.html" license=('GPL') -depends=('gcc-libs' 'libxft' 'gdk-pixbuf2') -optdepends=('perl: lots of utilities' 'gtk2-perl: to use the urxvt-tabbed') +depends=('gcc-libs' 'libxft' 'gdk-pixbuf2' 'perl') +optdepends=('gtk2-perl: to use the urxvt-tabbed') changelog=ChangeLog source=(http://dist.schmorp.de/rxvt-unicode/${pkgname}-${pkgver}.tar.bz2 \ ${pkgname}.desktop) diff --git a/extra/source-highlight/PKGBUILD b/extra/source-highlight/PKGBUILD index 037f20817..2b3619cbb 100644 --- a/extra/source-highlight/PKGBUILD +++ b/extra/source-highlight/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 136931 2011-09-03 00:12:21Z giovanni $ +# $Id: PKGBUILD 144063 2011-12-02 20:54:47Z ibiru $ # Maintainer: Giovanni Scafora # Contributor: Douglas Soares de Andrade pkgname=source-highlight pkgver=3.1.5 -pkgrel=1 +pkgrel=2 pkgdesc="Convert source code to syntax highlighted document" arch=('i686' 'x86_64') url="http://www.gnu.org/software/src-highlite/" diff --git a/extra/thinkfinger/PKGBUILD b/extra/thinkfinger/PKGBUILD index bf6c8c9bc..04d7b5b2d 100644 --- a/extra/thinkfinger/PKGBUILD +++ b/extra/thinkfinger/PKGBUILD @@ -1,27 +1,35 @@ -# $Id: PKGBUILD 101457 2010-11-29 10:02:41Z allan $ -# Maintainer: François Charette +# $Id: PKGBUILD 144027 2011-12-02 07:42:30Z andrea $ +# Maintainer: +# Contributor: François Charette # Contributor: Damir Perisa # Contributor: Björn Martensen pkgname=thinkfinger pkgver=0.3 -pkgrel=4 -pkgdesc="ThinkFinger is a driver for the SGS Thomson Microelectronics fingerprint reader found in most IBM/Lenovo ThinkPads" +pkgrel=5 +pkgdesc="A driver for the SGS Thomson Microelectronics fingerprint reader found in most IBM/Lenovo ThinkPads" url="http://thinkfinger.sourceforge.net/" arch=('i686' 'x86_64') license=("GPL") depends=('pam' 'libusb-compat') install=thinkfinger.install -options=('!libtool') -source=(http://downloads.sourceforge.net/thinkfinger/$pkgname-$pkgver.tar.gz thinkfinger-uinput-hack.patch) +options=('!libtool' 'emptydirs') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + 'thinkfinger-uinput-hack.patch' + 'gcc46.patch') md5sums=('588565233bcbea5ff0a7f5314361c380' - '71dc334282d19e6db4f6254542ba563c') + '71dc334282d19e6db4f6254542ba563c' + '93c80f342329a5bd40f5f324fe670225') build() { cd $srcdir/$pkgname-$pkgver + # Patch from Ubuntu: see http://bugs.archlinux.org/task/12580 - patch -p0 < ../thinkfinger-uinput-hack.patch - ./configure --prefix=/usr \ + patch -p0 -i "${srcdir}"/thinkfinger-uinput-hack.patch + + patch -p1 -i "${srcdir}"/gcc46.patch + + ./configure --prefix=/usr \ --with-securedir=/lib/security \ --with-birdir=/etc/pam_thinkfinger make @@ -35,4 +43,3 @@ package() { make DESTDIR=$pkgdir install } - diff --git a/extra/thinkfinger/gcc46.patch b/extra/thinkfinger/gcc46.patch new file mode 100644 index 000000000..24e4b534f --- /dev/null +++ b/extra/thinkfinger/gcc46.patch @@ -0,0 +1,22 @@ +--- a/pam/Makefile.am ++++ b/pam/Makefile.am +@@ -8,7 +8,7 @@ pam_thinkfinger_so_SOURCES = pam_thinkfinger-compat.c pam_thinkfinger-compat.h p + else + pam_thinkfinger_so_SOURCES = pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c + endif +-pam_thinkfinger_so_LDFLAGS = -shared --strip-all -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed ++pam_thinkfinger_so_LDFLAGS = -shared -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed + pam_thinkfinger_so_CFLAGS = $(CFLAGS) + pam_thinkfinger_so_LDADD = $(top_builddir)/libthinkfinger/libthinkfinger.la $(PAM_LIBS) $(PTHREAD_LIBS) + +--- a/pam/Makefile.in ++++ b/pam/Makefile.in +@@ -201,7 +201,7 @@ pamdir = $(SECUREDIR) + INCLUDES = -I$(top_srcdir)/libthinkfinger + @HAVE_OLD_PAM_FALSE@pam_thinkfinger_so_SOURCES = pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c + @HAVE_OLD_PAM_TRUE@pam_thinkfinger_so_SOURCES = pam_thinkfinger-compat.c pam_thinkfinger-compat.h pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c +-pam_thinkfinger_so_LDFLAGS = -shared --strip-all -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed ++pam_thinkfinger_so_LDFLAGS = -shared -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed + pam_thinkfinger_so_CFLAGS = $(CFLAGS) + pam_thinkfinger_so_LDADD = $(top_builddir)/libthinkfinger/libthinkfinger.la $(PAM_LIBS) $(PTHREAD_LIBS) + all: all-am diff --git a/extra/wesnoth/PKGBUILD b/extra/wesnoth/PKGBUILD index bdac470ae..6631575b6 100644 --- a/extra/wesnoth/PKGBUILD +++ b/extra/wesnoth/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 132797 2011-07-26 09:16:15Z ibiru $ +# $Id: PKGBUILD 144065 2011-12-02 20:54:51Z ibiru $ # Maintainer: Jan de Groot # Contributor: Tobias Powalowski # Contributor: Jacobo Arvelo @@ -6,7 +6,7 @@ pkgname=wesnoth pkgver=1.8.6 -pkgrel=2 +pkgrel=3 pkgdesc="A turn-based strategy game on a fantasy world" arch=('i686' 'x86_64') license=('GPL') @@ -14,18 +14,33 @@ url="http://www.wesnoth.org/" depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data=${pkgver}" 'dbus-core') makedepends=('boost') install=wesnoth.install -source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2 +options=(!emptydirs) +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 wesnoth-libpng-1.4.0.patch - wesnoth-1.8.6-boost-foreach.patch) + wesnoth-1.8.6-boost-foreach.patch + wesnoth.tmpfiles.conf) md5sums=('f1c3179869b01b61e253e74aeb241034' 'ca7412ffc4682ef55ddf82d56b0e2f08' - 'dc414ab7e1334941548e9db6db9c2460') + 'dc414ab7e1334941548e9db6db9c2460' + 'b8122f5054e3895c9c054e87460869dc') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/wesnoth-libpng-1.4.0.patch" - patch -Np1 -i "${srcdir}/wesnoth-1.8.6-boost-foreach.patch" + cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i "$srcdir/wesnoth-libpng-1.4.0.patch" + patch -Np1 -i "$srcdir/wesnoth-1.8.6-boost-foreach.patch" ./autogen.sh - ./configure --prefix=/usr --localstatedir=/var --enable-tools --enable-editor --enable-server - make DESTDIR="${pkgdir}" install-exec + ./configure --prefix=/usr --localstatedir=/var --enable-tools \ + --enable-editor --enable-server --with-fifodir=/run/wesnothd +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install-exec + install -dm755 "$pkgdir/usr/lib/tmpfiles.d/" + install -m644 "$srcdir/wesnoth.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/wesnoth.conf" + + sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wesnoth_addon_manager" + sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmlindent" + sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmlscope" + sed -i "s|#!/usr/bin/env python|#!/usr/bin/env python2|" "$pkgdir/usr/bin/wmllint" } diff --git a/extra/wesnoth/wesnoth.tmpfiles.conf b/extra/wesnoth/wesnoth.tmpfiles.conf new file mode 100644 index 000000000..3ec0f6013 --- /dev/null +++ b/extra/wesnoth/wesnoth.tmpfiles.conf @@ -0,0 +1 @@ +D /run/wesnothd 0700 root root - diff --git a/extra/xine-ui/PKGBUILD b/extra/xine-ui/PKGBUILD index 9cc134600..f0563b8b3 100644 --- a/extra/xine-ui/PKGBUILD +++ b/extra/xine-ui/PKGBUILD @@ -1,27 +1,27 @@ -# $Id: PKGBUILD 118860 2011-04-09 04:40:36Z eric $ +# $Id: PKGBUILD 144037 2011-12-02 17:33:46Z eric $ # Maintainer: Eric Bélanger pkgname=xine-ui pkgver=0.99.6 -pkgrel=2 +pkgrel=3 pkgdesc="A free video player for Unix" arch=('i686' 'x86_64') license=('GPL') url="http://www.xine-project.org" -depends=('xine-lib' 'curl' 'libxtst' 'libxinerama' 'libxv' 'libpng' 'libxft' - 'libxxf86vm' 'readline' 'xdg-utils' 'shared-mime-info' 'hicolor-icon-theme' - 'desktop-file-utils' 'lirc-utils') +depends=('xine-lib' 'curl' 'libxtst' 'libpng' 'libxft' 'libxxf86vm' + 'xdg-utils' 'shared-mime-info' 'hicolor-icon-theme' + 'desktop-file-utils' 'lirc-utils') makedepends=('libxt') -options=('!emptydirs' '!strip') +options=('!strip') install=xine-ui.install source=(http://downloads.sourceforge.net/xine/${pkgname}-${pkgver}.tar.xz lirc-check-a89347673097.patch lirc-makefile-a68dd15ff7ae.patch fix_lirc.diff xine-ui-xdg.diff) -md5sums=('d468b4e7fe39ff19888261e1da9be914' - '4f06f63f5fd55b08a648e5d63f881898' - '9f5acaf14f3945aa2ce428631d09cd47' - '0174bd096756b9c6f47e9b8b5ff6e145' - '5972b4061acf3b553760de9ae2178d38') +sha1sums=('abbdb331898c14025ee6b132f63ab7d3c1b5b31e' + 'b2df43ede3a9d1a34b80139704a4cbbc7295c584' + '8bbd39f61de7b6991385457a4944b8ea104da88b' + '2361df9ddad59c426b0f863414c6d527b463a38a' + '9c70c6543dae6815710b239b4638ffe3843bac86') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -29,6 +29,7 @@ build() { patch -p1 < "${srcdir}/lirc-makefile-a68dd15ff7ae.patch" patch -p1 < "${srcdir}/fix_lirc.diff" patch -p1 < "${srcdir}/xine-ui-xdg.diff" + sed -i '/\#include /d' src/xitk/download.c autoconf ./configure --prefix=/usr --mandir=/usr/share/man \ --with-x --enable-lirc --without-aalib --enable-debug @@ -37,7 +38,5 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - install -d "${pkgdir}/usr/share/applications" - mv "${pkgdir}/usr/share/xine/desktop/xine.desktop" "${pkgdir}/usr/share/applications" + make DESTDIR="${pkgdir}" desktopdir=/usr/share/applications install } diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD new file mode 100644 index 000000000..5cef1fa67 --- /dev/null +++ b/multilib-testing/binutils-multilib/PKGBUILD @@ -0,0 +1,75 @@ +# $Id: PKGBUILD 59997 2011-12-03 03:15:32Z heftig $ +# Maintainer: Jan "heftig" Steffens +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=binutils-multilib +pkgver=2.22 +pkgrel=1 +_date=20111201 +pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib" +arch=('x86_64') +url="http://www.gnu.org/software/binutils/" +license=('GPL') +groups=('multilib-devel') +provides=("binutils=$pkgver-$pkgrel") +conflicts=('binutils') +depends=('glibc>=2.14' 'zlib') +makedepends=('dejagnu' 'gcc-multilib') # Make sure we compile this with gcc-multilib +options=('!libtool' '!distcc' '!ccache') +install=binutils.install +source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2) +md5sums=('77c15027ac112c65fd5f73ca91b0651c') + +build() { + cd ${srcdir} + mkdir binutils-build && cd binutils-build + + ${srcdir}/binutils/configure --prefix=/usr \ + --enable-ld=default --enable-gold \ + --enable-plugins --enable-threads \ + --enable-shared \ + --enable-64-bit-bfd --enable-multilib + + # check the host environment and makes sure all the necessary tools are available + make configure-host + + make tooldir=${pkgdir}/usr +} + +check() { + cd ${srcdir}/binutils-build + + # do not abort on errors - manually check log files + make -k -j1 check || true +} + +package() { + cd ${srcdir}/binutils-build + make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install + + # Add some useful headers + install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include + install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include + + # Rebuild libiberty.a with -fPIC + make -C libiberty clean + make CFLAGS="$CFLAGS -fPIC" -C libiberty + install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib + + # Rebuild libbfd.a with -fPIC + make -C bfd clean + # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API + make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd + install -m644 bfd/libbfd.a ${pkgdir}/usr/lib + + # Remove Windows/Novell specific man pages + rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* + + # Remove these symlinks, they are not ABI stable. + # Programs should compile static to the .a file. + rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so + echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so + echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so +} diff --git a/multilib-testing/binutils-multilib/binutils.install b/multilib-testing/binutils-multilib/binutils.install new file mode 100644 index 000000000..8bf9f3a47 --- /dev/null +++ b/multilib-testing/binutils-multilib/binutils.install @@ -0,0 +1,17 @@ +infodir=usr/share/info +filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.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/multilib-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD new file mode 100644 index 000000000..2ce757d3f --- /dev/null +++ b/multilib-testing/gcc-multilib/PKGBUILD @@ -0,0 +1,303 @@ +# $Id: PKGBUILD 59998 2011-12-03 03:38:14Z heftig $ +# Maintainer: Jan "heftig" Steffens +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: libtool requires rebuilt with each new gcc version + +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.2 +pkgrel=2 +_snapshot=4.6-20111125 +_libstdcppmanver=20110814 # Note: check source directory name when updating this +pkgdesc="The GNU Compiler Collection for multilib" +arch=('x86_64') +license=('GPL' 'LGPL' 'FDL' 'custom') +url="http://gcc.gnu.org" +makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' + 'lib32-glibc>=2.14') +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=('922b0ee688669c188d237bbd21d42d07' + '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 + + patch -Np1 -i ${srcdir}/gcc_pure64.patch + 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 \ + --enable-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-multilib() +{ + pkgdesc="Runtime libraries shipped by GCC for multilib" + depends=('glibc>=2.14' "lib32-gcc-libs=$pkgver-$pkgrel") + provides=("gcc-libs=$pkgver-$pkgrel") + conflicts=('gcc-libs') + 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 stuff in lib32-gcc-libs + rm -rf ${pkgdir}/usr/lib32 + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_lib32-gcc-libs() +{ + pkgdesc="Runtime libraries shipped by GCC (32-bit)" + depends=('lib32-glibc>=2.14' "gcc-libs>=$pkgver") + + cd gcc-build + make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src; do + make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + + 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 ${pkgdir}/usr/lib32/libgfortran.spec + + # remove stuff in gcc-libs-multilib + rm -rf ${pkgdir}/usr/lib + rm -rf ${pkgdir}/usr/share/info + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-multilib() +{ + pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib" + depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl') + groups=('multilib-devel') + provides=("gcc=$pkgver-$pkgrel") + conflicts=('gcc') + 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{,32}/*.so* + rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a + rm $pkgdir/usr/lib{,32}/libgfortran.spec + rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}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,{,32/}libgfortranbegin.a} + rm -r $pkgdir/usr/lib{,32}/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-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-fortran-multilib() +{ + pkgdesc="Fortran front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-fortran=$pkgver-$pkgrel") + conflicts=('gcc-fortran') + 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{,32}/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-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-objc-multilib() +{ + pkgdesc="Objective-C front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-objc=$pkgver-$pkgrel") + conflicts=('gcc-objc') + + 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{,32}/libobjc.so* + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-ada-multilib() +{ + pkgdesc="Ada front-end for GCC (GNAT) for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-ada=$pkgver-$pkgrel") + conflicts=('gcc-ada') + 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 + + cd ../$CHOST/32/libada + make -j1 DESTDIR=${pkgdir} INSTALL="install" \ + INSTALL_DATA="install -m644" install-gnatlib + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-go-multilib() +{ + pkgdesc="Go front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-go=$pkgver-$pkgrel") + conflicts=('gcc-go') + 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/multilib-testing/gcc-multilib/gcc-ada.install b/multilib-testing/gcc-multilib/gcc-ada.install new file mode 100644 index 000000000..df0553a4f --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-fortran.install b/multilib-testing/gcc-multilib/gcc-fortran.install new file mode 100644 index 000000000..b15d89a97 --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-go.install b/multilib-testing/gcc-multilib/gcc-go.install new file mode 100644 index 000000000..7dc50dee5 --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-hash-style-both.patch b/multilib-testing/gcc-multilib/gcc-hash-style-both.patch new file mode 100644 index 000000000..8b59f4535 --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-libs.install b/multilib-testing/gcc-multilib/gcc-libs.install new file mode 100644 index 000000000..23553b8f0 --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc.install b/multilib-testing/gcc-multilib/gcc.install new file mode 100644 index 000000000..3407a5e1f --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc_pure64.patch b/multilib-testing/gcc-multilib/gcc_pure64.patch new file mode 100644 index 000000000..8c0baf8e2 --- /dev/null +++ b/multilib-testing/gcc-multilib/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/multilib-testing/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD new file mode 100644 index 000000000..61b3494d5 --- /dev/null +++ b/multilib-testing/lib32-glibc/PKGBUILD @@ -0,0 +1,167 @@ +# $Id: PKGBUILD 59996 2011-12-03 03:13:45Z heftig $ +# Maintainer: Jan "heftig" Steffens +# Contributor: Jan de Groot +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuild with each new glibc version + +_pkgbasename=glibc +pkgname=lib32-$_pkgbasename +pkgver=2.14.1 +pkgrel=2 +_glibcdate=20111025 +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.6') +options=('!strip' '!emptydirs') +source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz + glibc-2.10-dont-build-timezone.patch + glibc-2.10-bz4781.patch + glibc-__i686.patch + glibc-2.12.1-static-shared-getpagesize.patch + glibc-2.12.2-ignore-origin-of-privileged-program.patch + glibc-2.13-futex.patch + glibc-2.14-libdl-crash.patch + glibc-2.14-revert-4768ae77.patch + glibc-2.14-reexport-rpc-interface.patch + glibc-2.14-reinstall-nis-rpc-headers.patch + lib32-glibc.conf) +md5sums=('c52a15134dfa9f2c94f2ccd4cb155cf1' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'a3ac6f318d680347bb6e2805d42b73b2' + 'b042647ea7d6f22ad319e12e796bd13e' + '7d0154b7e17ea218c9fa953599d24cc4' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + 'a8f4549c716cd37244fbf1ed059497f8') + +build() { + cd ${srcdir}/glibc + + # timezone data is in separate package (tzdata) + patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 + patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + patch -Np1 -i ${srcdir}/glibc-__i686.patch + + # http://sourceware.org/bugzilla/show_bug.cgi?id=11929 + # using Fedora "fix" as patch in that bug report causes breakages... + patch -Np1 -i ${srcdir}/glibc-2.12.1-static-shared-getpagesize.patch + + # http://www.exploit-db.com/exploits/15274/ + # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch + + # http://sourceware.org/bugzilla/show_bug.cgi?id=12403 + patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch + + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...) + # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html + patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch + + # Revert commit causing issues with crappy DNS servers... + # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER! + # Note that both these patches do not fix the issue completely: + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch + + # re-export RPC interface until libtirpc is ready as a replacement + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch + + cd ${srcdir} + 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=/lib32" >> 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/lib32 --libexecdir=/usr/lib32 \ + --with-headers=/usr/include \ + --enable-add-ons=nptl,libidn \ + --enable-kernel=2.6.27 \ + --with-tls --with-__thread \ + --enable-bind-now --without-gd \ + --without-cvs --disable-profile \ + --enable-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() { + cd ${srcdir}/glibc-build + + # some errors are expected - manually check log files + make -k check || true +} + +package() { + cd ${srcdir}/glibc-build + make install_root=${pkgdir} install + + rm -rf ${pkgdir}/{etc,sbin,usr/{bin,sbin,share}} + + # We need one 32 bit specific header file + find ${pkgdir}/usr/include -type f -not -name stubs-32.h -delete + + # manually strip files as stripping libpthread-*.so and libthread_db.so + # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks + # valgrind on x86_64 + + cd $pkgdir + strip $STRIP_BINARIES usr/lib32/getconf/* + + strip $STRIP_STATIC usr/lib32/*.a \ + lib32/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so + + strip $STRIP_SHARED lib32/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \ + lib32/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \ + lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \ + lib32/{libmemusage,libpcprofile,libSegFault}.so \ + usr/lib32/{pt_chown,{audit,gconv}/*.so} + + # Dynamic linker + mkdir ${pkgdir}/lib + ln -s ../lib32/ld-linux.so.2 ${pkgdir}/lib/ + + # Add lib32 paths to the default library search path + install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf" + + # Symlink /usr/lib32/locale to /usr/lib/locale + ln -s ../lib/locale "$pkgdir/usr/lib32/locale" +} diff --git a/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch b/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch b/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch new file mode 100644 index 000000000..d3abeff17 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch @@ -0,0 +1,13 @@ +timezone data has been split into the package sys-libs/timezone-data + +--- glibc-2.4/Makeconfig ++++ glibc-2.4/Makeconfig +@@ -931,7 +931,7 @@ + stdlib stdio-common libio malloc string wcsmbs time dirent \ + grp pwd posix io termios resource misc socket sysvipc gmon \ + gnulib iconv iconvdata wctype manual shadow gshadow po argp \ +- crypt nss localedata timezone rt conform debug \ ++ crypt nss localedata rt conform debug \ + $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) + + ifndef avoid-generated diff --git a/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch b/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch new file mode 100644 index 000000000..e84754279 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch @@ -0,0 +1,11 @@ +--- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c ++++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c +@@ -28,7 +28,7 @@ + int + __getpagesize () + { +-#ifdef __ASSUME_AT_PAGESIZE ++#if 0 && defined __ASSUME_AT_PAGESIZE + assert (GLRO(dl_pagesize) != 0); + return GLRO(dl_pagesize); + #else diff --git a/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch new file mode 100644 index 000000000..ce089b49c --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch @@ -0,0 +1,26 @@ +From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH 1/1] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 22a1635..7674d49 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.2 diff --git a/multilib-testing/lib32-glibc/glibc-2.13-futex.patch b/multilib-testing/lib32-glibc/glibc-2.13-futex.patch new file mode 100644 index 000000000..9b9c3ac45 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.13-futex.patch @@ -0,0 +1,31 @@ +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S +@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S +@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock: + + 7: movq %rdx, %rax + +-#ifndef __ASSUME_PRIVATE_FUTEX ++#ifndef __ASSUME_FUTEX_CLOCK_REALTIME + addq $16, %rsp + cfi_adjust_cfa_offset(-16) + popq %r14 +@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) diff --git a/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch b/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch new file mode 100644 index 000000000..6c9d2718e --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch @@ -0,0 +1,132 @@ +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 73b2a2f..9bd91e3 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -1,5 +1,5 @@ + /* Close a shared object opened by `_dl_open'. +- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) + if (map->l_direct_opencount > 0 || map->l_type != lt_loaded + || dl_close_state != not_pending) + { +- if (map->l_direct_opencount == 0) +- { +- if (map->l_type == lt_loaded) +- dl_close_state = rerun; +- else if (map->l_type == lt_library) +- { +- struct link_map **oldp = map->l_initfini; +- map->l_initfini = map->l_orig_initfini; +- _dl_scope_free (oldp); +- } +- } ++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) ++ dl_close_state = rerun; + + /* There are still references to this object. Do nothing more. */ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index 9e30594..3890d00 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING")); + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING")); + _dl_scope_free (old_l_reldeps); + } + if (old_l_initfini != NULL) +- map->l_orig_initfini = old_l_initfini; ++ _dl_scope_free (old_l_initfini); + +diff --git a/elf/dl-libc.c b/elf/dl-libc.c +index 7be9483..a13fce3 100644 +--- a/elf/dl-libc.c ++++ b/elf/dl-libc.c +@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) + { +- /* Remove all additional names added to the objects. */ + for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + { + struct libname_list *lnp = l->l_libname->next; + + l->l_libname->next = NULL; + ++ /* Remove all additional names added to the objects. */ + while (lnp != NULL) + { + struct libname_list *old = lnp; +@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +diff --git a/elf/rtld.c b/elf/rtld.c +index 4a9109e..617e30e 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +diff --git a/include/link.h b/include/link.h +index e877104..051b99a 100644 +--- a/include/link.h ++++ b/include/link.h +@@ -1,6 +1,6 @@ + /* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. +- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -192,6 +192,9 @@ struct link_map + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +@@ -240,9 +243,6 @@ struct link_map + + /* List of object in order of the init and fini calls. */ + struct link_map **l_initfini; +- /* The init and fini list generated at startup, saved when the +- object is also loaded dynamically. */ +- struct link_map **l_orig_initfini; + + /* List of the dependencies introduced through symbol binding. */ + struct link_map_reldeps diff --git a/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch b/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..e2beea881 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch @@ -0,0 +1,26 @@ +diff --git a/include/libc-symbols.h b/include/libc-symbols.h +index 67e1ca2..5e7cca5 100644 +--- a/include/libc-symbols.h ++++ b/include/libc-symbols.h +@@ -635,7 +635,7 @@ for linking") + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libc_hidden_def(name) hidden_def (name) + # define libc_hidden_weak(name) hidden_weak (name) +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) ++# define libc_hidden_nolink(name, version) hidden_def (name) + # define libc_hidden_ver(local, name) hidden_ver (local, name) + # define libc_hidden_data_def(name) hidden_data_def (name) + # define libc_hidden_data_weak(name) hidden_data_weak (name) +diff --git a/sunrpc/Makefile b/sunrpc/Makefile +index 5134ce9..40c73d1 100644 +--- a/sunrpc/Makefile ++++ b/sunrpc/Makefile +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + des_crypt.h) + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-headers = rpc/netdb.h ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) + install-others = $(inst_sysconfdir)/rpc + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen diff --git a/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..eb0fd822d --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch @@ -0,0 +1,28 @@ +From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Tue, 17 May 2011 17:42:30 +0200 +Subject: [PATCH] Reinstall NIS RPC headers + +--- + nis/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nis/Makefile b/nis/Makefile +index b5c9609..d2934d9 100644 +--- a/nis/Makefile ++++ b/nis/Makefile +@@ -23,9 +23,9 @@ subdir := nis + + aux := nis_hash + ++headers := $(wildcard rpcsvc/*.[hx]) + distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ +- nisplus-parser.h nis_xdr.h nss \ +- $(wildcard rpcsvc/*.[hx]) ++ nisplus-parser.h nis_xdr.h nss + + # These are the databases available for the nis (and perhaps later nisplus) + # service. This must be a superset of the services in nss. +-- +1.7.5.4 + diff --git a/multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch b/multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch new file mode 100644 index 000000000..11f087cb7 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.14-revert-4768ae77.patch @@ -0,0 +1,37 @@ +diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c +--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000 ++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000 +@@ -549,7 +549,7 @@ + ns, ansp, ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + } else { + /* Use datagrams. */ +@@ -559,7 +559,7 @@ + ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + if (v_circuit) + // XXX Check whether both requests failed or +@@ -1275,14 +1275,10 @@ + (*thisresplenp > *thisanssizp) + ? *thisanssizp : *thisresplenp); + +- if (recvresp1 || (buf2 != NULL && recvresp2)) { +- *resplen2 = 0; ++ if (recvresp1 || (buf2 != NULL && recvresp2)) + return resplen; +- } + if (buf2 != NULL) + { +- /* No data from the first reply. */ +- resplen = 0; + /* We are waiting for a possible second reply. */ + if (hp->id == anhp->id) + recvresp1 = 1; diff --git a/multilib-testing/lib32-glibc/glibc-__i686.patch b/multilib-testing/lib32-glibc/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/multilib-testing/lib32-glibc/lib32-glibc.conf b/multilib-testing/lib32-glibc/lib32-glibc.conf new file mode 100644 index 000000000..a1c8c4199 --- /dev/null +++ b/multilib-testing/lib32-glibc/lib32-glibc.conf @@ -0,0 +1,2 @@ +/lib32 +/usr/lib32 diff --git a/multilib/dev86/PKGBUILD b/multilib/dev86/PKGBUILD new file mode 100644 index 000000000..634592a08 --- /dev/null +++ b/multilib/dev86/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 59310 2011-11-23 10:19:34Z spupykin $ +# Maintainer: Sergej Pupykin +# Maintainer: Alessio 'mOLOk' Bolognino +# Contributor: Suat SARIALP + +pkgname=dev86 +pkgver=0.16.18 +pkgrel=2 +pkgdesc="Simple C compiler to generate 8086 code" +arch=('i686' 'x86_64') +url="http://www.debath.co.uk/dev86/" +license=(GPL) +[ "${CARCH}" == "x86_64" ] && depends=('lib32-glibc') +makedepends=('bin86') +options=('!libtool' '!strip' '!makeflags') +source=(http://www.debath.co.uk/dev86/Dev86src-$pkgver.tar.gz + dev86-pic.patch + dev86-0.16.17-fortify.patch) +md5sums=('f2e06b547397383b2b2650b9c4fd9bab' + '1b750c5561a4bde5f83f65e5827feb73' + '07238f9203c6528ea1e34198e771ea12') + +build() { + cd $srcdir/$pkgname-$pkgver + patch -Np0 -i $srcdir/dev86-pic.patch + patch -Np1 -i $srcdir/dev86-0.16.17-fortify.patch + if [ "${CARCH}" = "x86_64" ]; then + # x86_64 fix + sed -i.orig -e 's,alt-libs elksemu,alt-libs,' \ + -e 's,install-lib install-emu,install-lib,' \ + $srcdir/$pkgname-$pkgver/makefile.in + sed -i -e "s/-O2 -g/-O2 -g -m32/" makefile.in + sed -i 's|^LDFLAGS.*=$|LDFLAGS=-m32|' makefile.in + fi + + unset CFLAGS + unset LDFLAGS + unset CPPFLAGS + unset CXXFLAGS + + make PREFIX=/usr DIST="$pkgdir" + make install-all DIST="$pkgdir" + mkdir -p $pkgdir/usr/share + mv $pkgdir/usr/man $pkgdir/usr/share + # remove all the stuff supplied by bin86 + rm $pkgdir/usr/bin/{as,ld,nm,objdump,size}86 + rm $pkgdir/usr/share/man/man1/{as,ld}86.1 +} diff --git a/multilib/dev86/dev86-0.16.17-fortify.patch b/multilib/dev86/dev86-0.16.17-fortify.patch new file mode 100644 index 000000000..715d0c4ca --- /dev/null +++ b/multilib/dev86/dev86-0.16.17-fortify.patch @@ -0,0 +1,43 @@ +--- dev86-0.16.17/bcc/bcc.c ++++ dev86-0.16.17/bcc/bcc.c +@@ -19,6 +19,7 @@ + #ifdef __STDC__ + #include + #ifndef MSDOS ++#include + #include + #endif + #else +@@ -596,12 +597,17 @@ + } + } + +-void +-command_reset() +-{ + #ifndef MAXPATHLEN ++#ifdef PATH_MAX ++#define MAXPATHLEN PATH_MAX ++#else + #define MAXPATHLEN 1024 + #endif ++#endif ++ ++void ++command_reset() ++{ + char buf[MAXPATHLEN]; + char ** prefix; + char * saved_cmd; +@@ -1308,11 +1314,7 @@ + + for(d=s=ptr; d && *s; s=d) + { +-#ifdef MAXPATHLEN + char buf[MAXPATHLEN]; +-#else +- char buf[1024]; +-#endif + + free(temp); + d=strchr(s, ':'); diff --git a/multilib/dev86/dev86-pic.patch b/multilib/dev86/dev86-pic.patch new file mode 100644 index 000000000..439c2648b --- /dev/null +++ b/multilib/dev86/dev86-pic.patch @@ -0,0 +1,20 @@ +--- elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100 ++++ elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100 +@@ -129,8 +129,17 @@ + static inline int vm86_mine(struct vm86_struct* v86) + { + int __res; ++#ifndef __PIC__ + __asm__ __volatile__("int $0x80\n" + :"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86)); ++#else ++ __asm__ __volatile__( ++ "movl %%ebx,%%ecx\n\t" ++ "movl %2,%%ebx\n\t" ++ "int $0x80\n\t" ++ "movl %%ecx,%%ebx\n\t" ++ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx"); ++#endif + return __res; + } + #endif diff --git a/multilib/lib32-gettext/PKGBUILD b/multilib/lib32-gettext/PKGBUILD new file mode 100644 index 000000000..94f9b4aa5 --- /dev/null +++ b/multilib/lib32-gettext/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Florian Pritz +# Contributor: Joakim Hernberg +_pkgbasename=gettext +pkgname=lib32-$_pkgbasename +pkgver=0.18.1.1 +pkgrel=2 +pkgdesc="GNU internationalization library (32-bit)" +arch=('x86_64') +url="http://www.gnu.org/software/gettext/" +license=('GPL') +depends=('lib32-acl' $_pkgbasename) +makedepends=(gcc-multilib) +optdepends=('cvs: for autopoint tool') +options=(!libtool !docs) +source=(ftp://ftp.gnu.org/pub/gnu/gettext/${_pkgbasename}-${pkgver}.tar.gz) +md5sums=('3dd55b952826d2b32f51308f2f91aa89') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd "${srcdir}/${_pkgbasename}-${pkgver}" + sed -i -e 's/libexpat.so.0/libexpat.so.1/' gettext-tools/src/x-glade.c + ./configure --prefix=/usr --enable-csharp --libdir=/usr/lib32 + make +} + +#check() { +# cd "${srcdir}/${pkgname}-${pkgver}" +# make check +#} + +package() { + cd "${srcdir}/${_pkgbasename}-${pkgver}" + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/usr/{bin,include,share} +} diff --git a/multilib/wine/PKGBUILD b/multilib/wine/PKGBUILD index 264d7e38f..1676c5a0a 100644 --- a/multilib/wine/PKGBUILD +++ b/multilib/wine/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 58858 2011-11-19 02:53:46Z svenstaro $ +# $Id: PKGBUILD 59924 2011-12-02 20:08:04Z svenstaro $ # Maintainer: Sven-Hendrik Haase # Contributor: Jan "heftig" Steffens # Contributor: Eduardo Romero # Contributor: Giovanni Scafora pkgname=wine -pkgver=1.3.33 +pkgver=1.3.34 pkgrel=1 _pkgbasever=${pkgver/rc/-rc} source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2) -md5sums=('24807ef7d9a5e8c2635541880672db7b') +md5sums=('ae7be1767e95e27360fc86f573649c19') pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" @@ -26,6 +26,7 @@ depends=( libxrandr lib32-libxrandr libxdamage lib32-libxdamage libxi lib32-libxi + gettext lib32-gettext desktop-file-utils ) diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD new file mode 100644 index 000000000..adaf7563c --- /dev/null +++ b/testing/binutils/PKGBUILD @@ -0,0 +1,82 @@ +# $Id: PKGBUILD 144069 2011-12-02 21:03:50Z allan $ +# Maintainer: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=binutils +pkgver=2.22 +pkgrel=1 +_date=20111201 +pkgdesc="A set of programs to assemble and manipulate binary and object files" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/binutils/" +license=('GPL') +depends=('glibc>=2.14' 'zlib') +checkdepends=('dejagnu') +options=('!libtool' '!distcc' '!ccache') +install=binutils.install +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2) +md5sums=('77c15027ac112c65fd5f73ca91b0651c') + +mksource() { + mkdir ${pkgname}-${_date} + cd ${pkgname}-${_date} + export _TAG=binutils-2_22-branch + export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src' + cvs -z9 co -r $_TAG binutils || return 1 + mv src binutils + tar -cvjf ../binutils-${pkgver}_${_date}.tar.bz2 binutils/* +} + +build() { + cd ${srcdir} + mkdir binutils-build && cd binutils-build + + [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib" + + ${srcdir}/binutils/configure --prefix=/usr \ + --enable-ld=default --enable-gold \ + --enable-plugins --enable-threads \ + --enable-shared $CONFIGFLAG + + # check the host environment and makes sure all the necessary tools are available + make configure-host + + make tooldir=${pkgdir}/usr +} + +check() { + cd ${srcdir}/binutils-build + + # do not abort on errors - manually check log files + make -k -j1 check || true +} + +package() { + cd ${srcdir}/binutils-build + make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install + + # Add some useful headers + install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include + install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include + + # Rebuild libiberty.a with -fPIC + make -C libiberty clean + make CFLAGS="$CFLAGS -fPIC" -C libiberty + install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib + + # Rebuild libbfd.a with -fPIC + make -C bfd clean + # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API + make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd + install -m644 bfd/libbfd.a ${pkgdir}/usr/lib + + # Remove Windows/Novell specific man pages + rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* + + # Remove these symlinks, they are not ABI stable. + # Programs should compile static to the .a file. + rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so + echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so + echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so +} diff --git a/testing/binutils/binutils.install b/testing/binutils/binutils.install new file mode 100644 index 000000000..8bf9f3a47 --- /dev/null +++ b/testing/binutils/binutils.install @@ -0,0 +1,17 @@ +infodir=usr/share/info +filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.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/testing/gcc/PKGBUILD b/testing/gcc/PKGBUILD new file mode 100644 index 000000000..4c4cec15d --- /dev/null +++ b/testing/gcc/PKGBUILD @@ -0,0 +1,254 @@ +# $Id: PKGBUILD 144071 2011-12-02 21:13:00Z allan $ +# Maintainer: Allan McRae + +# 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.2 +pkgrel=2 +_snapshot=4.6-20111125 +_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.22' '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=('922b0ee688669c188d237bbd21d42d07' + '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.22' '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/testing/gcc/gcc-ada.install b/testing/gcc/gcc-ada.install new file mode 100644 index 000000000..df0553a4f --- /dev/null +++ b/testing/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/testing/gcc/gcc-fortran.install b/testing/gcc/gcc-fortran.install new file mode 100644 index 000000000..b15d89a97 --- /dev/null +++ b/testing/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/testing/gcc/gcc-go.install b/testing/gcc/gcc-go.install new file mode 100644 index 000000000..7dc50dee5 --- /dev/null +++ b/testing/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/testing/gcc/gcc-hash-style-both.patch b/testing/gcc/gcc-hash-style-both.patch new file mode 100644 index 000000000..8b59f4535 --- /dev/null +++ b/testing/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/testing/gcc/gcc-libs.install b/testing/gcc/gcc-libs.install new file mode 100644 index 000000000..23553b8f0 --- /dev/null +++ b/testing/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/testing/gcc/gcc.install b/testing/gcc/gcc.install new file mode 100644 index 000000000..3407a5e1f --- /dev/null +++ b/testing/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/testing/gcc/gcc_pure64.patch b/testing/gcc/gcc_pure64.patch new file mode 100644 index 000000000..8c0baf8e2 --- /dev/null +++ b/testing/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/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD new file mode 100644 index 000000000..4e0c2d26e --- /dev/null +++ b/testing/glibc/PKGBUILD @@ -0,0 +1,204 @@ +# $Id: PKGBUILD 144073 2011-12-02 21:32:48Z allan $ +# Maintainer: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuilt with each major glibc version + +pkgname=glibc +pkgver=2.14.1 +pkgrel=2 +_glibcdate=20111025 +pkgdesc="GNU C Library" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +groups=('base') +depends=('linux-api-headers>=3.1' 'tzdata') +makedepends=('gcc>=4.6') +backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) +options=('!strip') +install=glibc.install +source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz + glibc-2.10-dont-build-timezone.patch + glibc-2.10-bz4781.patch + glibc-__i686.patch + glibc-2.12.1-static-shared-getpagesize.patch + glibc-2.12.2-ignore-origin-of-privileged-program.patch + glibc-2.13-futex.patch + glibc-2.14-libdl-crash.patch + glibc-2.14-revert-4768ae77.patch + glibc-2.14-reexport-rpc-interface.patch + glibc-2.14-reinstall-nis-rpc-headers.patch + nscd + locale.gen.txt + locale-gen) +md5sums=('c52a15134dfa9f2c94f2ccd4cb155cf1' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'a3ac6f318d680347bb6e2805d42b73b2' + 'b042647ea7d6f22ad319e12e796bd13e' + '7d0154b7e17ea218c9fa953599d24cc4' + '6970bcfeb3bf88913436d5112d16f588' + '7da8c554a3b591c7401d7023b1928afc' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') + + +mksource() { + git clone git://sourceware.org/git/glibc.git + pushd glibc + git checkout -b glibc-2.14-arch origin/release/2.14/master + popd + tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/* +} + +build() { + cd ${srcdir}/glibc + + # timezone data is in separate package (tzdata) + patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 + patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + patch -Np1 -i ${srcdir}/glibc-__i686.patch + + # http://sourceware.org/bugzilla/show_bug.cgi?id=11929 + # using Fedora "fix" as patch in that bug report causes breakages... + patch -Np1 -i ${srcdir}/glibc-2.12.1-static-shared-getpagesize.patch + + # http://www.exploit-db.com/exploits/15274/ + # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch + + # http://sourceware.org/bugzilla/show_bug.cgi?id=12403 + patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch + + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...) + # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html + patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch + + # Revert commit causing issues with crappy DNS servers... + # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER! + # Note that both these patches do not fix the issue completely: + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch + + # re-export RPC interface until libtirpc is ready as a replacement + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch + + install -dm755 ${pkgdir}/etc + touch ${pkgdir}/etc/ld.so.conf + + cd ${srcdir} + mkdir glibc-build + cd glibc-build + + if [[ ${CARCH} = "i686" ]]; then + # Hack to fix NPTL issues with Xen, only required on 32bit platforms + export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" + fi + + 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 \ + --enable-add-ons=nptl,libidn \ + --enable-kernel=2.6.27 \ + --with-tls --with-__thread \ + --enable-bind-now --without-gd \ + --without-cvs --disable-profile \ + --enable-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() { + cd ${srcdir}/glibc-build + + # some errors are expected - manually check log files + make -k check || true +} + +package() { + cd ${srcdir}/glibc-build + make install_root=${pkgdir} install + + rm -f ${pkgdir}/etc/ld.so.{cache,conf} + + install -dm755 ${pkgdir}/etc/rc.d + install -dm755 ${pkgdir}/usr/sbin + install -dm755 ${pkgdir}/usr/lib/locale + install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf + install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd + install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin + install -m644 ${srcdir}/glibc/posix/gai.conf ${pkgdir}/etc/gai.conf + + sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf + + # create /etc/locale.gen + install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen + sed -i "s|/| |g" ${srcdir}/glibc/localedata/SUPPORTED + sed -i 's|\\| |g' ${srcdir}/glibc/localedata/SUPPORTED + sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/glibc/localedata/SUPPORTED + cat ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen + sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen + + if [[ ${CARCH} = "x86_64" ]]; then + # fix for the linker + sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd + # Comply with multilib binaries, they look for the linker in /lib64 + mkdir ${pkgdir}/lib64 + cd ${pkgdir}/lib64 + ln -v -s ../lib/ld* . + fi + + # manually strip files as stripping libpthread-*.so and libthread_db.so + # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks + # valgrind on x86_64 + + cd $pkgdir + strip $STRIP_BINARIES sbin/{ldconfig,sln} \ + usr/bin/{gencat,getconf,getent,iconv,locale} \ + usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \ + usr/lib/getconf/* \ + usr/sbin/{iconvconfig,nscd} + [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4 + + strip $STRIP_STATIC usr/lib/*.a \ + lib/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so + + strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \ + lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \ + lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \ + lib/{libmemusage,libpcprofile,libSegFault}.so \ + usr/lib/{pt_chown,{audit,gconv}/*.so} +} diff --git a/testing/glibc/glibc-2.10-bz4781.patch b/testing/glibc/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/testing/glibc/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/testing/glibc/glibc-2.10-dont-build-timezone.patch b/testing/glibc/glibc-2.10-dont-build-timezone.patch new file mode 100644 index 000000000..d3abeff17 --- /dev/null +++ b/testing/glibc/glibc-2.10-dont-build-timezone.patch @@ -0,0 +1,13 @@ +timezone data has been split into the package sys-libs/timezone-data + +--- glibc-2.4/Makeconfig ++++ glibc-2.4/Makeconfig +@@ -931,7 +931,7 @@ + stdlib stdio-common libio malloc string wcsmbs time dirent \ + grp pwd posix io termios resource misc socket sysvipc gmon \ + gnulib iconv iconvdata wctype manual shadow gshadow po argp \ +- crypt nss localedata timezone rt conform debug \ ++ crypt nss localedata rt conform debug \ + $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) + + ifndef avoid-generated diff --git a/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch b/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch new file mode 100644 index 000000000..e84754279 --- /dev/null +++ b/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch @@ -0,0 +1,11 @@ +--- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c ++++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c +@@ -28,7 +28,7 @@ + int + __getpagesize () + { +-#ifdef __ASSUME_AT_PAGESIZE ++#if 0 && defined __ASSUME_AT_PAGESIZE + assert (GLRO(dl_pagesize) != 0); + return GLRO(dl_pagesize); + #else diff --git a/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch new file mode 100644 index 000000000..ce089b49c --- /dev/null +++ b/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch @@ -0,0 +1,26 @@ +From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH 1/1] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 22a1635..7674d49 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.2 diff --git a/testing/glibc/glibc-2.13-futex.patch b/testing/glibc/glibc-2.13-futex.patch new file mode 100644 index 000000000..9b9c3ac45 --- /dev/null +++ b/testing/glibc/glibc-2.13-futex.patch @@ -0,0 +1,31 @@ +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S +@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S +@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock: + + 7: movq %rdx, %rax + +-#ifndef __ASSUME_PRIVATE_FUTEX ++#ifndef __ASSUME_FUTEX_CLOCK_REALTIME + addq $16, %rsp + cfi_adjust_cfa_offset(-16) + popq %r14 +@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) diff --git a/testing/glibc/glibc-2.14-libdl-crash.patch b/testing/glibc/glibc-2.14-libdl-crash.patch new file mode 100644 index 000000000..6c9d2718e --- /dev/null +++ b/testing/glibc/glibc-2.14-libdl-crash.patch @@ -0,0 +1,132 @@ +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 73b2a2f..9bd91e3 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -1,5 +1,5 @@ + /* Close a shared object opened by `_dl_open'. +- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) + if (map->l_direct_opencount > 0 || map->l_type != lt_loaded + || dl_close_state != not_pending) + { +- if (map->l_direct_opencount == 0) +- { +- if (map->l_type == lt_loaded) +- dl_close_state = rerun; +- else if (map->l_type == lt_library) +- { +- struct link_map **oldp = map->l_initfini; +- map->l_initfini = map->l_orig_initfini; +- _dl_scope_free (oldp); +- } +- } ++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) ++ dl_close_state = rerun; + + /* There are still references to this object. Do nothing more. */ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index 9e30594..3890d00 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING")); + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING")); + _dl_scope_free (old_l_reldeps); + } + if (old_l_initfini != NULL) +- map->l_orig_initfini = old_l_initfini; ++ _dl_scope_free (old_l_initfini); + +diff --git a/elf/dl-libc.c b/elf/dl-libc.c +index 7be9483..a13fce3 100644 +--- a/elf/dl-libc.c ++++ b/elf/dl-libc.c +@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) + { +- /* Remove all additional names added to the objects. */ + for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + { + struct libname_list *lnp = l->l_libname->next; + + l->l_libname->next = NULL; + ++ /* Remove all additional names added to the objects. */ + while (lnp != NULL) + { + struct libname_list *old = lnp; +@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +diff --git a/elf/rtld.c b/elf/rtld.c +index 4a9109e..617e30e 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +diff --git a/include/link.h b/include/link.h +index e877104..051b99a 100644 +--- a/include/link.h ++++ b/include/link.h +@@ -1,6 +1,6 @@ + /* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. +- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -192,6 +192,9 @@ struct link_map + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +@@ -240,9 +243,6 @@ struct link_map + + /* List of object in order of the init and fini calls. */ + struct link_map **l_initfini; +- /* The init and fini list generated at startup, saved when the +- object is also loaded dynamically. */ +- struct link_map **l_orig_initfini; + + /* List of the dependencies introduced through symbol binding. */ + struct link_map_reldeps diff --git a/testing/glibc/glibc-2.14-reexport-rpc-interface.patch b/testing/glibc/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..e2beea881 --- /dev/null +++ b/testing/glibc/glibc-2.14-reexport-rpc-interface.patch @@ -0,0 +1,26 @@ +diff --git a/include/libc-symbols.h b/include/libc-symbols.h +index 67e1ca2..5e7cca5 100644 +--- a/include/libc-symbols.h ++++ b/include/libc-symbols.h +@@ -635,7 +635,7 @@ for linking") + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libc_hidden_def(name) hidden_def (name) + # define libc_hidden_weak(name) hidden_weak (name) +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) ++# define libc_hidden_nolink(name, version) hidden_def (name) + # define libc_hidden_ver(local, name) hidden_ver (local, name) + # define libc_hidden_data_def(name) hidden_data_def (name) + # define libc_hidden_data_weak(name) hidden_data_weak (name) +diff --git a/sunrpc/Makefile b/sunrpc/Makefile +index 5134ce9..40c73d1 100644 +--- a/sunrpc/Makefile ++++ b/sunrpc/Makefile +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + des_crypt.h) + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-headers = rpc/netdb.h ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) + install-others = $(inst_sysconfdir)/rpc + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen diff --git a/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..eb0fd822d --- /dev/null +++ b/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch @@ -0,0 +1,28 @@ +From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Tue, 17 May 2011 17:42:30 +0200 +Subject: [PATCH] Reinstall NIS RPC headers + +--- + nis/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/nis/Makefile b/nis/Makefile +index b5c9609..d2934d9 100644 +--- a/nis/Makefile ++++ b/nis/Makefile +@@ -23,9 +23,9 @@ subdir := nis + + aux := nis_hash + ++headers := $(wildcard rpcsvc/*.[hx]) + distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ +- nisplus-parser.h nis_xdr.h nss \ +- $(wildcard rpcsvc/*.[hx]) ++ nisplus-parser.h nis_xdr.h nss + + # These are the databases available for the nis (and perhaps later nisplus) + # service. This must be a superset of the services in nss. +-- +1.7.5.4 + diff --git a/testing/glibc/glibc-2.14-revert-4768ae77.patch b/testing/glibc/glibc-2.14-revert-4768ae77.patch new file mode 100644 index 000000000..11f087cb7 --- /dev/null +++ b/testing/glibc/glibc-2.14-revert-4768ae77.patch @@ -0,0 +1,37 @@ +diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c +--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000 ++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000 +@@ -549,7 +549,7 @@ + ns, ansp, ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + } else { + /* Use datagrams. */ +@@ -559,7 +559,7 @@ + ansp2, nansp2, resplen2); + if (n < 0) + return (-1); +- if (n == 0 && (buf2 == NULL || *resplen2 == 0)) ++ if (n == 0) + goto next_ns; + if (v_circuit) + // XXX Check whether both requests failed or +@@ -1275,14 +1275,10 @@ + (*thisresplenp > *thisanssizp) + ? *thisanssizp : *thisresplenp); + +- if (recvresp1 || (buf2 != NULL && recvresp2)) { +- *resplen2 = 0; ++ if (recvresp1 || (buf2 != NULL && recvresp2)) + return resplen; +- } + if (buf2 != NULL) + { +- /* No data from the first reply. */ +- resplen = 0; + /* We are waiting for a possible second reply. */ + if (hp->id == anhp->id) + recvresp1 = 1; diff --git a/testing/glibc/glibc-__i686.patch b/testing/glibc/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/testing/glibc/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/testing/glibc/glibc.install b/testing/glibc/glibc.install new file mode 100644 index 000000000..7f85ade96 --- /dev/null +++ b/testing/glibc/glibc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) + +post_upgrade() { + sbin/ldconfig -r . + [ -x sbin/init ] && sbin/init u + usr/sbin/locale-gen + + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/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 + usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/glibc/locale-gen b/testing/glibc/locale-gen new file mode 100755 index 000000000..5aff344c4 --- /dev/null +++ b/testing/glibc/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/testing/glibc/locale.gen.txt b/testing/glibc/locale.gen.txt new file mode 100644 index 000000000..ccdd81734 --- /dev/null +++ b/testing/glibc/locale.gen.txt @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# +# +# where is one of the locales given in /usr/share/i18n/locales +# and is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# diff --git a/testing/glibc/nscd b/testing/glibc/nscd new file mode 100755 index 000000000..8b14f2a3f --- /dev/null +++ b/testing/glibc/nscd @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/nscd` +case "$1" in + start) + stat_busy "Starting nscd" + # create necessary directories if they don't already exist + mkdir -p /var/run/nscd /var/db/nscd 2>/dev/null + # remove stale files + rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null + [ -z "$PID" ] && /usr/sbin/nscd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon nscd + stat_done + fi + ;; + stop) + stat_busy "Stopping nscd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon nscd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/linux-api-headers/PKGBUILD b/testing/linux-api-headers/PKGBUILD new file mode 100644 index 000000000..7cb4c6034 --- /dev/null +++ b/testing/linux-api-headers/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 144067 2011-12-02 21:02:11Z allan $ +# Maintainer: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=linux-api-headers +pkgver=3.1.4 +_basever=3.1 +pkgrel=1 +pkgdesc="Kernel headers sanitized for use in userspace" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL2') +provides=("kernel-headers=${pkgver}") +conflicts=('kernel-headers') +replaces=('kernel-headers') +source=(http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_basever}.tar.xz + http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz) +# NOTE: signatures are not automatically verified by makepkg + #http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_basever}.tar.sign + #http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.sign +md5sums=('edbdc798f23ae0f8045c82f6fa22c536' + 'ffb768bb3c42c94876f3f84aa6f779e5') + +build() { + cd ${srcdir}/linux-${_basever} + [[ $pkgver != $_basever ]] && patch -Np1 -i ${srcdir}/patch-${pkgver} + + make mrproper + make headers_check +} + +package() { + cd ${srcdir}/linux-${_basever} + make INSTALL_HDR_PATH=${pkgdir}/usr headers_install + + # use headers from libdrm + rm -rf ${pkgdir}/usr/include/drm + + # clean-up unnecessary files generated during install + find ${pkgdir} -name .install -or -name ..install.cmd | xargs rm -f +} diff --git a/~mtjm/h-client/PKGBUILD b/~mtjm/h-client/PKGBUILD index a92c2eb6d..4df7f5f28 100644 --- a/~mtjm/h-client/PKGBUILD +++ b/~mtjm/h-client/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Michał Masłowski pkgname=h-client -_pkgver=0.0a0.dev-r50 +_pkgver=0.0a0.dev-r80 pkgver=${_pkgver/-/.} pkgrel=1 pkgdesc="A client for an h-source server (such as http://www.h-node.com)" @@ -12,7 +12,7 @@ depends=('python2' 'python2-distribute' 'python-pycurl' 'pygtk') options=(!emptydirs) # Official source is in SVN, this is made by "python2 setup.py sdist". source=("http://mtjm.eu/releases/hclient-${_pkgver}.tar.gz") -sha512sums=('fa9c494d32d900bf34d9af1a68e79abbffb29380fbc1812290130e4183b496c1c29f09da216ada7898d69c8ecda58621862507672193cc4fd14ce942dfb7c986') +sha512sums=('d148084be40aa741f012ba49285ea428b4d6c032a015f732e1a7987f8125acd04a033df97e4536cc9587a3535f701305e4d44f641479e99d0e49a0da652abf2a') check() { cd "$srcdir/hclient-${_pkgver}" -- cgit v1.2.3-54-g00ecf