diff options
84 files changed, 3532 insertions, 809 deletions
diff --git a/community-testing/cdfs/PKGBUILD b/community-testing/cdfs/PKGBUILD new file mode 100644 index 000000000..0ea673faf --- /dev/null +++ b/community-testing/cdfs/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 73211 2012-07-04 00:43:09Z dreisner $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: J. Santiago Hirschfeld <jsantiagoh@yahoo.com.ar> + +pkgname=cdfs +pkgver=2.6.27 +pkgrel=23 +pkgdesc="File system module that 'exports' all tracks and boot images on a CD as normal files." +arch=(i686 x86_64) +url="http://www.elis.UGent.be/~ronsse/cdfs/" +license=('GPL') +makedepends=('linux-headers') +install=cdfs.install +source=("http://www.elis.UGent.be/~ronsse/cdfs/download/$pkgname-$pkgver.tar.bz2" + "cdfs-3.0.patch" + "cdfs-3.2.patch" + "cdfs-3.4.patch") +md5sums=('ac64c014a90e3c488394832ea29605b3' + 'aba7da94a9dcbb8a93ea423cb6958fef' + 'e934407b3460257a301822ffc4ab3933' + '9215e7bdac728bd2f889fb525e543454') + +build() { + _kernver=`pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -` + depends=("linux>=3.${_kernver}" "linux<3.`expr ${_kernver} + 1`") + _kernverfull=`cat /usr/lib/modules/extramodules-3.${_kernver}-ARCH/version` + + cd $srcdir/$pkgname-$pkgver + patch -p1 <$srcdir/cdfs-3.0.patch + patch -p1 <$srcdir/cdfs-3.2.patch + patch -p1 <$srcdir/cdfs-3.4.patch + make KDIR=/usr/lib/modules/${_kernverfull}/build + install -Dm0644 cdfs.ko $pkgdir/usr/lib/modules/extramodules-3.${_kernver}-ARCH/cdfs.ko + sed -i "s|extramodules-.*-ARCH|extramodules-3.${_kernver}-ARCH|" $startdir/cdfs.install +} diff --git a/community-testing/cdfs/cdfs-3.0.patch b/community-testing/cdfs/cdfs-3.0.patch new file mode 100644 index 000000000..20194b848 --- /dev/null +++ b/community-testing/cdfs/cdfs-3.0.patch @@ -0,0 +1,274 @@ +diff -wbBur cdfs-2.6.27/cddata.c cdfs-2.6.27.my/cddata.c +--- cdfs-2.6.27/cddata.c 2009-12-21 17:04:03.000000000 +0300 ++++ cdfs-2.6.27.my/cddata.c 2011-07-24 21:18:44.000000000 +0400 +@@ -83,7 +83,7 @@ + #else + .mmap = generic_file_readonly_mmap, + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27) +- .sendfile = generic_file_sendfile ++// .sendfile = generic_file_sendfile + #else + .splice_read = generic_file_splice_read + #endif +diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c +--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 ++++ cdfs-2.6.27.my/root.c 2011-07-25 13:16:59.000000000 +0400 +@@ -32,19 +30,14 @@ + * Added code to transform /proc/cdfs into a sequential synthetic file. * + *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ + +- + #include <linux/seq_file.h> +- +-#ifndef OLD_KERNEL + #include <linux/statfs.h> +-#endif ++#include <linux/sched.h> + + extern struct seq_operations cdfs_operations; + extern struct _track_info *dummy_track_p; + +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + struct inode *cdfs_iget(struct super_block *sp, unsigned long ino); +-#endif + /*============================================================================* + * cdfs_open() * + * Description: * +@@ -115,15 +108,8 @@ + + /********************************************************************/ + +-#ifdef OLD_KERNEL +-static struct super_block * cdfs_mount(struct super_block *sb, void *data, int silent){ +- kdev_t dev = sb->s_dev; +- int i, j, t; +- struct cdrom_tochdr hdr; +-#else + static int cdfs_fill_super(struct super_block *sb, void *data, int silent){ + int i, t; +-#endif + struct cdrom_tocentry entry; + int no_audio=0, no_data=0; + cd * this_cd; +@@ -131,24 +117,13 @@ + + PRINT("cdfs_mount\n"); + +-#ifdef OLD_KERNEL +- MOD_INC_USE_COUNT; +- +- set_blocksize(dev, CD_FRAMESIZE); // voor bread met ide-cd +-#else + sb_set_blocksize(sb, CD_FRAMESIZE); // voor bread met ide-cd +-#endif + + sb->s_blocksize = CD_FRAMESIZE; + sb->s_blocksize_bits = 11; + + if (!(this_cd = cdfs_info(sb) = kmalloc(sizeof(cd), GFP_KERNEL))){ +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + return -ENOMEM; +-#endif + } + + this_cd->mode = MODE; +@@ -160,13 +135,8 @@ + + // Initialize cache for maximum sector size + if (!(this_cd->cache = kmalloc(CD_FRAMESIZE_RAWER*CACHE_SIZE, GFP_KERNEL))) { +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + kfree(cdfs_info(sb)); + return -ENOMEM; +-#endif + } + + // Cache is still invalid +@@ -183,23 +153,13 @@ + if (this_cd->toc_scsi){ + if (cdfs_toc_read_full(sb)){ + printk("TOC read failed\n"); +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + goto invalid; +-#endif + } + } else { + //if (cdfs_ioctl(sb, CDROMREADTOCHDR, (unsigned long)&hdr)){ + if (cdfs_toc_read(sb)){ + printk("cdfs_toc_read failed\n"); +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + goto invalid; +-#endif + } + } + +@@ -365,11 +325,7 @@ + sb->s_flags |= MS_RDONLY; + sb->s_op = &cdfs_ops; + /* always get inode status */ +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + retinode=cdfs_iget(sb, 0); +-#else +- retinode=iget(sb, 0); +-#endif + if ( IS_ERR(retinode) ) + return PTR_ERR(retinode); + +@@ -379,16 +335,12 @@ + + cdfs_proc_cd = this_cd; + +-#ifdef OLD_KERNEL +- return sb; +-#else + return 0; + + invalid: + kfree(this_cd->cache); + kfree(cdfs_info(sb)); + return -EINVAL; +-#endif + } + + /************************************************************************/ +@@ -410,27 +362,12 @@ + // Remove /proc entry + cdfs_proc_cd = NULL; + kfree(cdfs_info(sb)); +- +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +-#endif +- + } + + /************************************************************************/ + +-#ifdef OLD_KERNEL +-static int cdfs_statfs(struct super_block *sb, struct statfs *buf) { +- cd * this_cd = cdfs_info(sb); +-#else +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) + static int cdfs_statfs(struct dentry *d, struct kstatfs *buf) { + cd * this_cd = cdfs_info(d->d_sb); +-#else +-static int cdfs_statfs(struct super_block *sb, struct kstatfs *buf) { +- cd * this_cd = cdfs_info(sb); +-#endif +-#endif + PRINT("rmfs_statfs\n"); + + buf->f_type = CDFS_MAGIC; +@@ -460,11 +397,7 @@ + + /************************************************************************/ + +-#ifdef OLD_KERNEL +-static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry){ +-#else + static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd){ +-#endif + struct inode * inode; + int i; + cd * this_cd = cdfs_info(dir->i_sb); +@@ -480,15 +413,9 @@ + /* Use goto and read inode with iget()/cdfs_iget() */ + /* Thanks to David Howells for patch and Master class in his mail */ + found: +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + inode = cdfs_iget(dir->i_sb, i); + if (IS_ERR(inode)) + return ERR_CAST(inode); +-#else +- inode = iget(dir->i_sb, i); +- if (!inode) +- return ERR_PTR(-ENOMEM); +-#endif + d_add(dentry, inode); + return NULL; + } +@@ -529,12 +456,8 @@ + i->i_fop = &cdfs_dir_operations; + } else { /* file */ + i->i_size = this_cd->track[i->i_ino].size; +-#ifdef OLD_KERNEL +- i->i_mtime = i->i_atime = i->i_ctime = this_cd->track[i->i_ino].time; +-#else + i->i_mtime.tv_sec = i->i_atime.tv_sec = i->i_ctime.tv_sec = this_cd->track[i->i_ino].time; + i->i_mtime.tv_nsec = i->i_atime.tv_nsec = i->i_ctime.tv_nsec = 0; +-#endif + i->i_mode = this_cd->mode; + if ((this_cd->track[i->i_ino].type==DATA) && this_cd->track[i->i_ino].iso_size) { + i->i_fop = &cdfs_cddata_file_operations; +@@ -587,33 +510,21 @@ + /******************************************************************/ + + static struct super_operations cdfs_ops = { +-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) +- .read_inode = cdfs_read_inode, +-#endif + .put_super = cdfs_umount, + .statfs = cdfs_statfs + }; + +-#ifdef OLD_KERNEL +-static DECLARE_FSTYPE_DEV(cdfs_fs_type, FSNAME, cdfs_mount); +-#else +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) +-static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) { +- return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt); +-#else +-static struct super_block *cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { +- return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super); +-#endif +-} ++//static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) { ++// return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt); ++//} + + static struct file_system_type cdfs_fs_type = { + .owner = THIS_MODULE, + .name = "cdfs", +- .get_sb = cdfs_get_sb, ++// .get_sb = cdfs_get_sb, + .kill_sb = kill_block_super, + .fs_flags = FS_REQUIRES_DEV + }; +-#endif + + /******************************************************/ + +@@ -621,10 +532,6 @@ + MODULE_DESCRIPTION("CDfs: a CD filesystem"); + MODULE_LICENSE("GPL"); + +-#ifdef OLD_KERNEL +-EXPORT_NO_SYMBOLS; +-#endif +- + /******************************************************************/ + + static int __init cdfs_init(void) { +@@ -676,11 +583,7 @@ + + if (!options) return; + +-#ifdef OLD_KERNEL +- for (this_char = strtok(options,","); this_char; this_char = strtok(NULL,",")) { +-#else + while ((this_char = strsep(&options,",")) != NULL) { +-#endif + + if (!strcmp(this_char,"single")) + this_cd->single=TRUE; diff --git a/community-testing/cdfs/cdfs-3.2.patch b/community-testing/cdfs/cdfs-3.2.patch new file mode 100644 index 000000000..d3300bdbc --- /dev/null +++ b/community-testing/cdfs/cdfs-3.2.patch @@ -0,0 +1,12 @@ +diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c +--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 ++++ cdfs-2.6.27.my/root.c 2012-01-18 11:23:03.000000000 +0400 +@@ -517,7 +517,7 @@ + + i->i_uid = this_cd->uid; + i->i_gid = this_cd->gid; +- i->i_nlink = 1; ++ i->__i_nlink = 1; + i->i_op = &cdfs_inode_operations; + i->i_fop = NULL; + i->i_data.a_ops = NULL; diff --git a/community-testing/cdfs/cdfs-3.4.patch b/community-testing/cdfs/cdfs-3.4.patch new file mode 100644 index 000000000..5c2cb9b24 --- /dev/null +++ b/community-testing/cdfs/cdfs-3.4.patch @@ -0,0 +1,12 @@ +diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c +--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 ++++ cdfs-2.6.27.my/root.c 2012-06-15 17:09:27.000000000 +0400 +@@ -375,7 +375,7 @@ + + PRINT("retinode = %ld\n", retinode->i_ino); + +- sb->s_root = d_alloc_root(retinode); ++ sb->s_root = d_make_root(retinode); + + cdfs_proc_cd = this_cd; + diff --git a/community-testing/cdfs/cdfs.install b/community-testing/cdfs/cdfs.install new file mode 100644 index 000000000..6be46f6d5 --- /dev/null +++ b/community-testing/cdfs/cdfs.install @@ -0,0 +1,14 @@ +post_install() { + EXTRAMODULES='extramodules-3.4-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.4-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_remove() { + EXTRAMODULES='extramodules-3.4-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} diff --git a/community-testing/r8168-lts/PKGBUILD b/community-testing/r8168-lts/PKGBUILD new file mode 100644 index 000000000..1278371e7 --- /dev/null +++ b/community-testing/r8168-lts/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 73215 2012-07-04 00:45:12Z dreisner $ +# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> + +pkgname=r8168-lts +_pkgname=r8168 +pkgver=8.031.00 +pkgrel=2 +pkgdesc="A kernel module for Realtek 8168 network cards for linux-lts" +url="http://www.realtek.com.tw" +license=("GPL") +arch=('i686' 'x86_64') +depends=('glibc' "linux-lts>=3.0" "linux-lts<3.1") +makedepends=("linux-lts-headers>=3.0" "linux-lts-headers<3.1") +source=(http://r8168.googlecode.com/files/$_pkgname-$pkgver.tar.bz2) +install=$pkgname.install +md5sums=('ec1654f02e2dad930bbeb0210ddab7e5') +sha256sums=('5c617b3c08aca18d1eb24d33f77df40020eb64fb32c8e4008265e08b7ffe5779') + +_extramodules=extramodules-3.0-lts +_kernver="$(cat /usr/lib/modules/$_extramodules/version || true)" + +build() { + cd "$_pkgname-$pkgver" + make -C /usr/lib/modules/$_kernver/build \ + SUBDIRS="$srcdir/$_pkgname-$pkgver/src" \ + EXTRA_CFLAGS="-DCONFIG_R8168_NAPI -DCONFIG_R8168_VLAN" \ + modules +} + +package() { + cd "$_pkgname-$pkgver" + install -Dm644 src/$_pkgname.ko "$pkgdir/usr/lib/modules/$_extramodules/$_pkgname.ko" + find "$pkgdir" -name '*.ko' -exec gzip -9 {} + +} diff --git a/community-testing/r8168-lts/r8168-lts.install b/community-testing/r8168-lts/r8168-lts.install new file mode 100644 index 000000000..2aab9e1e3 --- /dev/null +++ b/community-testing/r8168-lts/r8168-lts.install @@ -0,0 +1,17 @@ +rebuild_module_dependencies() { + EXTRAMODULES='extramodules-3.0-lts' + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_install() { + rebuild_module_dependencies + echo '>>> The module r8168 conflicts with r8169. You can blacklist it with:' + echo '>>> `echo "blacklist r8169" > /etc/modprobe.d/r8169_blacklist.conf`' +} +post_upgrade() { + rebuild_module_dependencies +} + +post_remove() { + rebuild_module_dependencies +} diff --git a/community-testing/vhba-module/PKGBUILD b/community-testing/vhba-module/PKGBUILD index 083415a0c..2384a2c8a 100644 --- a/community-testing/vhba-module/PKGBUILD +++ b/community-testing/vhba-module/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 72680 2012-06-19 12:52:14Z heftig $ +# $Id: PKGBUILD 73232 2012-07-04 01:02:29Z dreisner $ # Maintainer: Ray Rashif <schiv@archlinux.org> # Contributor: Mateusz Herych <heniekk@gmail.com> # Contributor: Charles Lindsay <charles@chaoslizard.org> @@ -6,13 +6,14 @@ pkgname=vhba-module pkgver=20120422 _extramodules=extramodules-3.4-ARCH -pkgrel=2 +pkgrel=3 pkgdesc="Kernel module that emulates SCSI devices" arch=('i686' 'x86_64') url="http://cdemu.sourceforge.net/" license=('GPL') depends=('linux>=3.4' 'linux<3.5') makedepends=('linux-headers>=3.4') +options=(!makeflags) install=$pkgname.install source=("http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.bz2" '60-vhba.rules') @@ -22,15 +23,15 @@ md5sums=('d97372da1d270d1605742b2995fb6678' build() { cd "$srcdir/$pkgname-$pkgver" - _kernver="$(cat /lib/modules/$_extramodules/version)" + _kernver="$(cat /usr/lib/modules/$_extramodules/version)" - make -j1 KDIR=/usr/src/linux-$_kernver + make KDIR=/usr/lib/modules/$_kernver/build } package() { cd "$srcdir/$pkgname-$pkgver" - install -D vhba.ko "$pkgdir/lib/modules/$_extramodules/vhba.ko" + install -D vhba.ko "$pkgdir/usr/lib/modules/$_extramodules/vhba.ko" sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extramodules'/" \ "$startdir/vhba-module.install" diff --git a/community-testing/vhba-module/vhba-module.install b/community-testing/vhba-module/vhba-module.install index d9264d853..8458b2ae7 100644 --- a/community-testing/vhba-module/vhba-module.install +++ b/community-testing/vhba-module/vhba-module.install @@ -2,7 +2,7 @@ post_upgrade() { ! grep -q 'cdemu' /etc/group && groupadd cdemu echo " > Updating module dependencies..." EXTRAMODULES='extramodules-3.4-ARCH' - depmod $(cat /lib/modules/$EXTRAMODULES/version) + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) } diff --git a/community/allegro/PKGBUILD b/community/allegro/PKGBUILD index 3269d92ac..62ca6a91e 100644 --- a/community/allegro/PKGBUILD +++ b/community/allegro/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 71052 2012-05-22 19:41:59Z arodseth $ +# $Id: PKGBUILD 73179 2012-07-03 10:15:07Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> # Contributor: arjan <arjan@archlinux.org> pkgname=allegro -pkgver=5.0.6 -pkgrel=3 +pkgver=5.0.7 +pkgrel=1 pkgdesc="Portable library mainly aimed at video game and multimedia programming" arch=('x86_64' 'i686') url="http://alleg.sourceforge.net/" @@ -14,7 +14,7 @@ license=('custom') depends=('jack' 'libxpm' 'libxxf86dga' 'libgl' 'physfs' 'gtk2' 'libpulse') makedepends=('cmake' 'mesa') source=("http://downloads.sourceforge.net/alleg/$pkgname-$pkgver.tar.gz") -sha256sums=('d981a1cac937085e6636e597c492ddb743066516c1d215c2a39e4049bd70dc24') +sha256sums=('47f29e564d9a4babfbbf024f34fc8a04eea932a073af921d17caffbec0c3ad9b') build() { cd "$srcdir" diff --git a/community/cdemu-daemon/PKGBUILD b/community/cdemu-daemon/PKGBUILD index 4163ffbc1..4dec04ed8 100644 --- a/community/cdemu-daemon/PKGBUILD +++ b/community/cdemu-daemon/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 68530 2012-03-26 10:24:56Z schiv $ +# $Id: PKGBUILD 73196 2012-07-03 19:16:11Z dreisner $ # Maintainer: Ray Rashif <schiv@archlinux.org> # Contributor: Mateusz Herych <heniekk@gmail.com> # Contributor: Charles Lindsay <charles@chaoslizard.org> pkgname=cdemu-daemon pkgver=1.5.0 -pkgrel=5 +pkgrel=6 pkgdesc="CD/DVD-ROM device emulator daemon" arch=('i686' 'x86_64') url="http://cdemu.sourceforge.net/" @@ -17,13 +17,14 @@ backup=('etc/conf.d/cdemud' 'etc/dbus-1/system.d/cdemud-dbus.conf') install=$pkgname.install source=("http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.bz2" - 'cdemud.conf' - 'cdemud.rc' - 'system.patch') + 'cdemud.conf' 'cdemud.rc' 'system.patch' 'cdemu-daemon.service' + 'cdemud-dbus.conf') md5sums=('5ba780caa26d855942512b5b3c22405a' - '5d9e08255e45ca3c0987329b7920e206' - '4bbf42b69133e4e91c1be2c6825fa392' - '90a2516639c05737fa10a110a1cba467') + '6f31ad7a64d320cf4d6820432184070b' + 'cbc0937ef4ac50db3ce5cdbbe2e17a3b' + '90a2516639c05737fa10a110a1cba467' + 'be9a8f50da3f42129c0a0e3dea8cd56c' + 'afbf24bcdec382f58d95ba5de29bff71') build() { cd "$srcdir/$pkgname-$pkgver" @@ -42,13 +43,21 @@ package() { make DESTDIR="$pkgdir" install + # Custom dbus policy, tightening security to console and 'cdemu' group + install -m644 "$srcdir/cdemud-dbus.conf" \ + "$pkgdir/etc/dbus-1/system.d/cdemud-dbus.conf" + # the init stuff install -Dm644 "$srcdir/cdemud.conf" "$pkgdir/etc/conf.d/cdemud" install -Dm755 "$srcdir/cdemud.rc" "$pkgdir/etc/rc.d/cdemud" - - # for systemd install -d "$pkgdir/usr/lib/modules-load.d" echo "vhba" > "$pkgdir/usr/lib/modules-load.d/cdemu.conf" + + # for systemd + install -Dm644 "$srcdir/cdemu-daemon.service" \ + "$pkgdir/usr/lib/systemd/system/cdemu-daemon.service" + echo "SystemdService=cdemu-daemon.service" >> \ + "$pkgdir/usr/share/dbus-1/system-services/net.sf.cdemu.CDEMUD_Daemon.service" } # vim:set ts=2 sw=2 et: diff --git a/community/cdemu-daemon/cdemu-daemon.install b/community/cdemu-daemon/cdemu-daemon.install index 7a3e8a9f5..ba34d1ea0 100644 --- a/community/cdemu-daemon/cdemu-daemon.install +++ b/community/cdemu-daemon/cdemu-daemon.install @@ -1,20 +1,27 @@ -post_upgrade() { - echo " > The 'cdemu' group is now created by vhba-module" - echo " >> you may have to re-add yourself to the group and relogin" - echo - echo " > Daemon can be used in session mode as user, simply run 'cdemud'" - echo " >> you do not need to use the init script in this case" - echo " >> put your configuration in ~/.cdemud instead" +post_install () { + cat <<MSG + > The daemon is automatically started, but can be manually + started via /etc/rc.d/cdemud or cdemu-daemon.service. + > See /etc/conf.d/cdemud for further configuration. + + > Only users at the console or in the 'cdemu' group can + communicate with the system daemon or use a session + daemon. + + > If you want to output CD-Audio, write AUDIO_DRIVER=pulse or + AUDIO_DRIVER=alsa to ~/.cdemud and use "cdemu -b session" + to control a session daemon. +MSG + + return 0 } -post_install () { - echo " > Add yourself to the 'cdemu' group for non-root access" - echo " > Start the daemon as root with /etc/rc.d/cdemud" - echo " > See /etc/conf.d/cdemud for further configuration" - echo - echo " > Daemon can be used in session mode as user, simply run 'cdemud'" - echo " >> you do not need to use the init script in this case" - echo " >> put your configuration in ~/.cdemud instead" +post_upgrade () { + # Repeat install message due to policy changes + # Added on 2012-06-19, remove after a grace period + post_install + + return 0 } # vim:set ts=2 sw=2 et: diff --git a/community/cdemu-daemon/cdemu-daemon.service b/community/cdemu-daemon/cdemu-daemon.service new file mode 100644 index 000000000..9879a3e6f --- /dev/null +++ b/community/cdemu-daemon/cdemu-daemon.service @@ -0,0 +1,10 @@ +[Unit] +Description=CDEmu Daemon + +[Service] +Type=dbus +BusName=net.sf.cdemu.CDEMUD_Daemon +ExecStart=/usr/lib/cdemu-daemon/cdemu-daemon-system.sh + +[Install] +WantedBy=multi-user.target diff --git a/community/cdemu-daemon/cdemud-dbus.conf b/community/cdemu-daemon/cdemud-dbus.conf new file mode 100644 index 000000000..3043fe251 --- /dev/null +++ b/community/cdemu-daemon/cdemud-dbus.conf @@ -0,0 +1,24 @@ +<!DOCTYPE busconfig PUBLIC + "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> + +<busconfig> + <!-- Only root can own the CDEMUD_Daemon service on bus --> + <policy user="root"> + <allow own="net.sf.cdemu.CDEMUD_Daemon"/> + </policy> + <policy group="root"> + <allow own="net.sf.cdemu.CDEMUD_Daemon"/> + </policy> + + <!-- Allow users at the console to invoke methods on the interface --> + <policy at_console="true"> + <allow send_destination="net.sf.cdemu.CDEMUD_Daemon"/> + </policy> + + <!-- Allow users in the 'cdemu' group to invoke methods on the interface --> + <policy group="cdemu"> + <allow send_destination="net.sf.cdemu.CDEMUD_Daemon"/> + </policy> +</busconfig> + diff --git a/community/cdemu-daemon/cdemud.conf b/community/cdemu-daemon/cdemud.conf index 6f14947a6..1d8c55fe6 100644 --- a/community/cdemu-daemon/cdemud.conf +++ b/community/cdemu-daemon/cdemud.conf @@ -6,6 +6,3 @@ AUDIO_DRIVER=null # log file LOG_FILE=/var/log/cdemud.log - -# bus to use (system or session) -BUS="system" diff --git a/community/cdemu-daemon/cdemud.rc b/community/cdemu-daemon/cdemud.rc index e8dab1f08..09b9ec345 100644 --- a/community/cdemu-daemon/cdemud.rc +++ b/community/cdemu-daemon/cdemud.rc @@ -2,32 +2,11 @@ . /etc/rc.conf . /etc/rc.d/functions -. /etc/conf.d/cdemud case "$1" in start) - stat_busy "Loading vhba and loop modules" - modprobe vhba - if [ $? -ne 0 ]; then - stat_fail - else - stat_done - fi - - stat_busy "Waiting for /dev/vhba_ctl" - i=0 - until [ -c /dev/vhba_ctl -o $i -ge 10 ]; do - i=`expr $i + 1` - sleep 1 - done - if [ -c /dev/vhba_ctl ]; then - stat_done - else - stat_fail - fi - stat_busy "Starting cdemud" - cdemud --ctl-device=/dev/vhba_ctl --bus=$BUS --num-devices=$NUM_DEVICES --audio-driver=$AUDIO_DRIVER --logfile=$LOG_FILE & + /usr/lib/cdemu-daemon/cdemu-daemon-system.sh & if [ $? -ne 0 ]; then stat_fail else @@ -37,7 +16,7 @@ case "$1" in ;; stop) stat_busy "Stopping cdemud" - kill -9 `pidof cdemud` &>/dev/null && sleep 1 && rmmod vhba + kill `pidof cdemud` &>/dev/null if [ $? -ne 0 ]; then stat_fail else diff --git a/community/converseen/PKGBUILD b/community/converseen/PKGBUILD index 7b44ecc55..95e10cc13 100644 --- a/community/converseen/PKGBUILD +++ b/community/converseen/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 72015 2012-06-05 17:23:40Z giovanni $ +# $Id: PKGBUILD 73175 2012-07-03 06:23:26Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: archtux <antonio.arias99999 at gmail.com> pkgname=converseen -pkgver=0.5 +pkgver=0.5.1 pkgrel=1 pkgdesc="The batch image converter and resizer" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('imagemagick' 'qt' 'libwmf' 'openexr') makedepends=('cmake') install=converseen.install source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('b1ed24de45456a76dac0e3bcbea0033f') +md5sums=('db00c0cf86977494effa971fd238c786') build() { cd "${srcdir}" diff --git a/community/me-tv/PKGBUILD b/community/me-tv/PKGBUILD index 12bd3392d..d0d6c1d33 100644 --- a/community/me-tv/PKGBUILD +++ b/community/me-tv/PKGBUILD @@ -5,14 +5,14 @@ #Previous Contributor: Jeff Bailes <thepizzaking@gmail.com> pkgname=me-tv -pkgver=1.4.0.9 +pkgver=1.4.0.10 pkgrel=1 epoch=1 pkgdesc="A GTK desktop application for watching digital television services that use the DVB standard" arch=('i686' 'x86_64') url="https://launchpad.net/me-tv" license=('GPL') -depends=('glibmm' 'gtkmm' 'gconfmm' 'glib2' 'xine-lib' 'sqlite3' 'linuxtv-dvb-apps' 'libunique' 'libxml++' 'vlc' 'gstreamer0.10-base') +depends=('glibmm' 'gtkmm' 'gconfmm' 'glib2' 'xine-lib' 'sqlite' 'linuxtv-dvb-apps' 'libunique' 'libxml++' 'vlc' 'gstreamer0.10-base') makedepends=('intltool' 'gnome-common') install='me-tv.install' source=("http://launchpad.net/${pkgname}/${pkgver:0:3}/${pkgver:0:5}/+download/${pkgname}-${pkgver}.tar.gz") @@ -24,6 +24,13 @@ build() { ./autogen.sh ./configure CXXFLAGS="$CXXFLAGS -D__KERNEL_STRICT_NAMES" --prefix=/usr + + # Missing unistd.h includes :| https://bugs.launchpad.net/me-tv/+bug/1020690 + for file in common/common.cc server/thread.cc; do + sed -i '1 i\ + #include <unistd.h>' $file + done + make } @@ -42,4 +49,4 @@ package() { } -md5sums=('4d097d8893bc8c5dec0811e6cdcf4d7b') +md5sums=('842953c4e9eb37f79704ebd8bb23608a') diff --git a/community/milkytracker/PKGBUILD b/community/milkytracker/PKGBUILD index e8e54ee08..cad1cfc2e 100644 --- a/community/milkytracker/PKGBUILD +++ b/community/milkytracker/PKGBUILD @@ -4,26 +4,27 @@ pkgname=milkytracker pkgver=0.90.85 -pkgrel=5 +pkgrel=6 pkgdesc="Fast Tracker II inspired music tracker" arch=('x86_64' 'i686') url="http://www.milkytracker.org/" license=('GPL3') -depends=('sdl>=1.2.0' 'alsa-lib' 'zlib' 'gcc-libs') +depends=('sdl>=1.2.0' 'alsa-lib' 'zlib' 'gcc-libs' 'setconf' 'gendesk') makedepends=('jack-audio-connection-kit') optdepends=('jack-audio-connection-kit: JACK audio support') options=('docs' '!strip') install=$pkgname.install source=("http://milkytracker.org/files/$pkgname-$pkgver.tar.bz2" - 'arch.patch' - "$pkgname.desktop") + 'arch.patch') sha256sums=('59a0d294d63752be74b157e07b0c70252c9198c312d9b1ad0ca460129fe5bd80' - 'cb9dfa99491d72eae7c09e7bae6c35871dddbc5b6a71730e772daa2f31f922bc' - 'c947a7b0689900c8ebfa29113553be87b7b151714c24f84f286ff81cd5e69063') + 'cb9dfa99491d72eae7c09e7bae6c35871dddbc5b6a71730e772daa2f31f922bc') +_name=('MilkyTracker') build() { - cd "$srcdir/$pkgname-$pkgver" - + cd "$srcdir" + gendesk -n + setconf "$pkgname.desktop" Categories 'AudioVideo;Audio;AudioVideoEditing;' + cd "$pkgname-$pkgver" patch -p1 -i ../arch.patch ./configure --prefix=/usr --with-alsa --with-jack make diff --git a/community/nethack/PKGBUILD b/community/nethack/PKGBUILD index a3da43710..ccb4a8c60 100644 --- a/community/nethack/PKGBUILD +++ b/community/nethack/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 54249 2011-08-15 09:38:46Z schuay $ +# $Id: PKGBUILD 73189 2012-07-03 18:35:52Z schuay $ # Maintainer : schuay <jakob.gruber@gmail.com> # Contributor : kevin <kevin@archlinux.org> # Contributor : Christian Schmidt <mucknert@gmx.net> @@ -7,7 +7,7 @@ pkgname=nethack pkgver=3.4.3 -pkgrel=6 +pkgrel=7 pkgdesc='A single player dungeon exploration game' arch=('i686' 'x86_64') url="http://www.nethack.org/index.html" @@ -22,7 +22,7 @@ build(){ sh sys/unix/setup.sh sed -e '/define HACKDIR/ s|/usr/games/lib/nethackdir|/var/games/nethack/|' \ - -e '/^#define COMPRESS\s/ s|/usr/bin/compress|/bin/gzip|' \ + -e "/^#define COMPRESS\s/ s|/usr/bin/compress|$(which gzip)|" \ -e '/^#define COMPRESS_EXTENSION/ s|".Z"|".gz"|' \ -e 's|^/\* \(#define DLB\) \*/|\1|' -i include/config.h diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD index c045ceb98..adb01b4f5 100644 --- a/community/nginx/PKGBUILD +++ b/community/nginx/PKGBUILD @@ -1,19 +1,11 @@ -# $Id: PKGBUILD 72049 2012-06-07 08:10:36Z bpiotrowski $ +# $Id: PKGBUILD 73197 2012-07-03 19:16:22Z dreisner $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Bartłomiej Piotrowski <barthalion@gmal.com> # Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl> -_doc_root=/usr/share/nginx/http -_server_root=/etc/nginx -_conf_path=${_server_root}/conf -_tmp_path=/var/spool/nginx -_log_path=/var/log/nginx -_user=http -_group=http - pkgname=nginx pkgver=1.2.1 -pkgrel=1 +pkgrel=6 pkgdesc="lightweight HTTP server and IMAP/POP3 proxy server" arch=('i686' 'x86_64') depends=('pcre' 'zlib' 'openssl') @@ -21,47 +13,54 @@ makedepends=('passenger') optdepends=('passenger') url="http://nginx.org" license=('custom') -backup=("etc/nginx/conf/fastcgi.conf" - "etc/nginx/conf/fastcgi_params" - "etc/nginx/conf/koi-win" - "etc/nginx/conf/koi-utf" - "etc/nginx/conf/mime.types" - "etc/nginx/conf/nginx.conf" - "etc/nginx/conf/scgi_params" - "etc/nginx/conf/uwsgi_params" - "etc/nginx/conf/win-utf" - "etc/logrotate.d/nginx" - "etc/conf.d/nginx") -source=("http://nginx.org/download/nginx-$pkgver.tar.gz" - 'nginx') +install=nginx.install +backup=('etc/nginx/fastcgi.conf' + 'etc/nginx/fastcgi_params' + 'etc/nginx/koi-win' + 'etc/nginx/koi-utf' + 'etc/nginx/mime.types' + 'etc/nginx/nginx.conf' + 'etc/nginx/scgi_params' + 'etc/nginx/uwsgi_params' + 'etc/nginx/win-utf' + 'etc/logrotate.d/nginx') +source=(http://nginx.org/download/nginx-$pkgver.tar.gz + rc.d service + nginx.logrotate) md5sums=('ceacae12d66d1f021bf3737a0269b6f4' - '0e8032d3ba26c3276e8c7c30588d375f') + 'f62c7c9b5a53471d4666a4c49ad363fb' + '16c6b4cbe24001a3f4f58b9d5f4e3d4c' + 'b38744739022876554a0444d92e6603b') + +_cfgdir=/etc/nginx +_tmpdir=/var/tmp/nginx build() { - cd "$srcdir/nginx-${pkgver}" + cd "$srcdir"/$pkgname-$pkgver ./configure \ - --prefix=${_server_root} \ + --prefix=$_cfgdir \ + --conf-path=$_cfgdir/nginx.conf \ --sbin-path=/usr/sbin/nginx \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ - --http-client-body-temp-path=${_tmp_path}/client_body_temp \ - --http-proxy-temp-path=${_tmp_path}/proxy_temp \ - --http-fastcgi-temp-path=${_tmp_path}/fastcgi_temp \ - --http-log-path=${_log_path}/access.log \ - --error-log-path=${_log_path}/error.log \ - --user=${_user} --group=${_group} \ - --with-imap --with-imap_ssl_module --with-http_ssl_module \ - --with-http_stub_status_module \ + --user=http --group=http \ + --http-log-path=/var/log/nginx/access.log \ + --error-log-path=/var/log/nginx/error.log \ + --http-client-body-temp-path=$_tmpdir/client-body \ + --http-proxy-temp-path=$_tmpdir/proxy \ + --http-fastcgi-temp-path=$_tmpdir/fastcgi \ + --http-scgi-temp-path=$_tmpdir/scgi \ + --http-uwsgi-temp-path=$_tmpdir/uwsgi \ + --with-imap --with-imap_ssl_module \ + --with-ipv6 --with-pcre-jit \ + --with-file-aio \ --with-http_dav_module \ --with-http_gzip_static_module \ - --with-ipv6 \ + --with-http_realip_module \ + --with-http_ssl_module \ + --with-http_stub_status_module \ --add-module=/usr/lib/passenger/ext/nginx \ - --conf-path=${_conf_path}/nginx.conf \ - --http-scgi-temp-path=${_tmp_path} \ - --http-uwsgi-temp-path=${_tmp_path} \ - --with-pcre-jit \ - --with-http_realip_module --with-file-aio #--with-http_mp4_module \ #--with-http_realip_module \ #--with-http_addition_module \ @@ -82,34 +81,23 @@ package() { cd "$srcdir/nginx-${pkgver}" make DESTDIR="$pkgdir" install - install -d "$pkgdir"/etc/logrotate.d/ - cat <<EOF > $pkgdir/etc/logrotate.d/nginx - $_log_path/*log { - create 640 http log - compress - postrotate - /bin/kill -USR1 \`cat /var/run/nginx.pid 2>/dev/null\` 2> /dev/null || true - endscript - } -EOF - - sed -i -e "s/\<user\s\+\w\+;/user $_user;/g" $pkgdir/${_conf_path}/nginx.conf - - install -d $pkgdir/$_tmp_path + install -d "$pkgdir"/etc/logrotate.d + install -m644 $srcdir/nginx.logrotate $pkgdir/etc/logrotate.d/nginx + + sed -e 's|\<user\s\+\w\+;|user html;|g' \ + -e '44s|html|/usr/share/nginx/html|' \ + -e '54s|html|/usr/share/nginx/html|' \ + -i $pkgdir/etc/nginx/nginx.conf + rm $pkgdir/etc/nginx/*.default - # move default document root outside server root - install -d $pkgdir/$_doc_root - mv $pkgdir/$_server_root/html/* $pkgdir/$_doc_root/ - rm -rf $pkgdir/$_server_root/html - rm -f $pkgdir/$_doc_root/index.html + install -dm1777 $pkgdir/var/tmp + install -d $pkgdir/$_tmpdir - # let's create links for relative paths in config file - ln -s $_log_path $pkgdir/$_server_root/logs - ln -s $_doc_root $pkgdir/$_server_root/html + install -d $pkgdir/usr/share/nginx + mv $pkgdir/etc/nginx/html/ $pkgdir/usr/share/nginx - install -D -m755 $srcdir/nginx $pkgdir/etc/rc.d/nginx + install -D -m755 $srcdir/rc.d $pkgdir/etc/rc.d/nginx + install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/nginx.service install -D -m644 LICENSE $pkgdir/usr/share/licenses/nginx/LICENSE - mkdir -p $pkgdir/etc/conf.d - echo "NGINX_CONFIG=/etc/nginx/conf/nginx.conf" >$pkgdir/etc/conf.d/nginx rm -rf $pkgdir/var/run } diff --git a/community/nginx/nginx.install b/community/nginx/nginx.install new file mode 100644 index 000000000..b31ee41d7 --- /dev/null +++ b/community/nginx/nginx.install @@ -0,0 +1,11 @@ +post_upgrade() { + if [[ $(vercmp $2 1.2.1-2) -le 0 ]]; then + echo " >>> Since 1.2.1-2 several changes has been made in package:" + echo " - *.conf files have been moved to /etc/nginx" + echo " - /etc/conf.d/nginx has been removed" + echo " Main configuration file is set to /etc/nginx/nginx.conf" + echo " - access.log and error.log can be found in /var/log/nginx by default" + echo " - bundled *.html files have been moved to /usr/share/nginx/html" + echo " - /etc/nginx/{html,logs} symbolic links and *.default files have been removed" + fi +} diff --git a/community/nginx/nginx.logrotate b/community/nginx/nginx.logrotate new file mode 100644 index 000000000..d490d5d9b --- /dev/null +++ b/community/nginx/nginx.logrotate @@ -0,0 +1,8 @@ +/var/log/nginx/*.log { + missingok + sharedscripts + compress + postrotate + test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid` + endscript +} diff --git a/community/nginx/rc.d b/community/nginx/rc.d new file mode 100644 index 000000000..eb9031e81 --- /dev/null +++ b/community/nginx/rc.d @@ -0,0 +1,68 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +function check_config { + stat_busy "Checking nginx configuration" + /usr/sbin/nginx -t -q -c /etc/nginx/nginx.conf + if [ $? -ne 0 ]; then + stat_die + else + stat_done + fi +} + +case "$1" in + start) + check_config + $0 careless_start + ;; + careless_start) + stat_busy "Starting nginx" + if [ -s /var/run/nginx.pid ]; then + stat_fail + # probably ;) + stat_busy "Nginx is already running" + stat_die + fi + /usr/sbin/nginx -c /etc/nginx/nginx.conf &>/dev/null + if [ $? -ne 0 ]; then + stat_fail + else + add_daemon nginx + stat_done + fi + ;; + stop) + stat_busy "Stopping nginx" + PID=$(cat /var/run/nginx.pid) + kill -QUIT $PID &>/dev/null + if [ $? -ne 0 ]; then + stat_fail + else + for i in {1..10}; do + [ -d /proc/$PID ] || { stat_done; rm_daemon nginx; exit 0; } + sleep 1 + done + stat_fail + fi + ;; + restart) + check_config + $0 stop + sleep 1 + $0 careless_start + ;; + reload) + check_config + if [ -s /var/run/nginx.pid ]; then + status "Reloading nginx configuration" kill -HUP $(cat /var/run/nginx.pid) + fi + ;; + check) + check_config + ;; + *) + echo "usage: $0 {start|stop|restart|reload|check|careless_start}" +esac diff --git a/community/nginx/service b/community/nginx/service new file mode 100644 index 000000000..78d0a492c --- /dev/null +++ b/community/nginx/service @@ -0,0 +1,13 @@ +[Unit] +Description=A high performance web server and a reverse proxy server + +[Service] +Type=forking +PIDFile=/run/nginx.pid +ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /run/nginx.pid; daemon on; master_process on;' +ExecStart=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' +ExecReload=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' -s reload +ExecStop=/usr/sbin/nginx -g 'pid /run/nginx.pid;' -s quit + +[Install] +WantedBy=multi-user.target diff --git a/community/puzzles/PKGBUILD b/community/puzzles/PKGBUILD index b6a96fe17..645f6555f 100644 --- a/community/puzzles/PKGBUILD +++ b/community/puzzles/PKGBUILD @@ -3,7 +3,7 @@ # Maintainer: schuay <jakob.gruber@gmail.com> pkgname=puzzles -pkgver=9455 +pkgver=9561 pkgrel=1 pkgdesc="Simon Tatham's Portable Puzzle Collection" arch=('i686' 'x86_64') @@ -38,4 +38,4 @@ package() { mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox } -md5sums=('b1c08158b5ea14f374485cc72b7307f1') +md5sums=('d8b900ae4a7d70c692003a412241e94f') diff --git a/community/spectrwm/PKGBUILD b/community/spectrwm/PKGBUILD index b97b60386..323262e45 100644 --- a/community/spectrwm/PKGBUILD +++ b/community/spectrwm/PKGBUILD @@ -1,13 +1,14 @@ -# $Id: PKGBUILD 68224 2012-03-19 15:53:19Z kkeen $ +# $Id: PKGBUILD 73201 2012-07-03 19:38:15Z kkeen $ # Maintainer: Kyle Keen <keenerd@gmail.com> # Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org> pkgname=spectrwm -pkgver=1.0.0 -pkgrel=3 -pkgdesc="A minimalistic dynamic tiling window manager that tries to stay out of the way." +pkgver=1.1.1 +pkgrel=1 +pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way." arch=('i686' 'x86_64') url="http://www.spectrwm.org" +_watch="https://opensource.conformal.com/snapshots/spectrwm/" license=('custom:ISC') depends=('dmenu' 'libxrandr' 'libxtst' 'profont') replaces=('scrotwm') @@ -17,7 +18,7 @@ backup=(etc/spectrwm.conf) source=(http://opensource.conformal.com/snapshots/$pkgname/$pkgname-$pkgver.tgz \ LICENSE \ baraction.sh) -md5sums=('8dd279f53f998c0543fa1ce35a9b4a13' +md5sums=('fd97b626ea09c3ab302fc9082efe8c31' 'a67cfe51079481e5b0eab1ad371379e3' '950d663692e1da56e0ac864c6c3ed80e') diff --git a/community/vhba-module/60-vhba.rules b/community/vhba-module/60-vhba.rules index 91de6f86a..e4de1dca7 100644 --- a/community/vhba-module/60-vhba.rules +++ b/community/vhba-module/60-vhba.rules @@ -1 +1,13 @@ -KERNEL=="vhba_ctl", NAME="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu" +ACTION=="remove", GOTO="vhba_end" +KERNEL!="vhba_ctl", GOTO="vhba_end" + +NAME="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu" + +TEST=="/sys/fs/cgroup/systemd", GOTO="vhba_uaccess" +TAG+="udev-acl" +GOTO="vhba_end" + +LABEL="vhba_uaccess" +TAG+="uaccess" + +LABEL="vhba_end" diff --git a/community/vhba-module/PKGBUILD b/community/vhba-module/PKGBUILD index 27c41637c..5df6ebe38 100644 --- a/community/vhba-module/PKGBUILD +++ b/community/vhba-module/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 72473 2012-06-15 09:20:59Z ibiru $ +# $Id: PKGBUILD 73199 2012-07-03 19:16:32Z dreisner $ # Maintainer: Ray Rashif <schiv@archlinux.org> # Contributor: Mateusz Herych <heniekk@gmail.com> # Contributor: Charles Lindsay <charles@chaoslizard.org> @@ -6,7 +6,7 @@ pkgname=vhba-module pkgver=20120422 _extramodules=extramodules-3.4-ARCH -pkgrel=1 +pkgrel=2 pkgdesc="Kernel module that emulates SCSI devices" arch=('i686' 'x86_64') url="http://cdemu.sourceforge.net/" @@ -17,7 +17,7 @@ install=$pkgname.install source=("http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.bz2" '60-vhba.rules') md5sums=('d97372da1d270d1605742b2995fb6678' - '549bd2d9696bd1884c8eed7193c00e21') + 'b5e82d0160e7a181219b67c1794d5c27') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/vhba-module/vhba-module.install b/community/vhba-module/vhba-module.install index 73029498f..d9264d853 100644 --- a/community/vhba-module/vhba-module.install +++ b/community/vhba-module/vhba-module.install @@ -1,7 +1,7 @@ post_upgrade() { ! grep -q 'cdemu' /etc/group && groupadd cdemu echo " > Updating module dependencies..." - EXTRAMODULES='extramodules-3.2-ARCH' + EXTRAMODULES='extramodules-3.4-ARCH' depmod $(cat /lib/modules/$EXTRAMODULES/version) } diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 9b371168a..4ef028e0a 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162069 2012-06-19 12:27:55Z allan $ +# $Id: PKGBUILD 162898 2012-07-03 10:44:15Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') pkgver=4.7.1 -pkgrel=1 +pkgrel=3 #_snapshot=4.7-20120505 _libstdcppmanver=20120605 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection" @@ -20,13 +20,11 @@ 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-4.7.0-cloog-0.17.patch gcc-4.7.1-libada-pic.patch gcc-4.7.1-libgo-write.patch) md5sums=('933e6f15f51c031060af64a9e14149ff' '767c62f9a047c4434f2345decf1d0819' 'ced48436c1b3c981d721a829f1094de1' - '575f7d17b022e609447a590e481b18b5' '2acbc9d35cc9d72329dc71d6b1f162ef' 'df82dd175ac566c8a6d46b11ac21f14c') @@ -50,9 +48,6 @@ build() { patch -p1 -i ${srcdir}/gcc_pure64.patch fi - # compatibility with latest cloog - patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679 patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch @@ -75,6 +70,7 @@ build() { --disable-libstdcxx-pch --enable-libstdcxx-time \ --enable-gnu-unique-object --enable-linker-build-id \ --with-ppl --enable-cloog-backend=isl \ + --disable-ppl-version-check --disable-cloog-version-check \ --enable-lto --enable-gold --enable-ld=default \ --enable-plugin --with-plugin-ld=ld.gold \ --with-linker-hash-style=gnu \ @@ -157,8 +153,8 @@ package_gcc() rm $pkgdir/usr/share/man/man3/ffi* # many packages require these symlinks - install -dm755 ${pkgdir}/lib - ln -s /usr/bin/cpp ${pkgdir}/lib/cpp + #install -dm755 ${pkgdir}/lib + #ln -s /usr/bin/cpp ${pkgdir}/lib/cpp ln -s gcc ${pkgdir}/usr/bin/cc # POSIX conformance launcher scripts for c89 and c99 diff --git a/core/ppl/PKGBUILD b/core/ppl/PKGBUILD index ca648d973..daa119661 100644 --- a/core/ppl/PKGBUILD +++ b/core/ppl/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 156588 2012-04-21 10:27:00Z allan $ +# $Id: PKGBUILD 162899 2012-07-03 10:44:19Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: ezzetabi <ezzetabi at gawab dot com> pkgname=ppl -pkgver=0.12.1 +pkgver=1.0 pkgrel=1 pkgdesc="A modern library for convex polyhedra and other numerical abstractions." arch=('i686' 'x86_64') @@ -12,8 +12,8 @@ license=('GPL3') depends=('gmp>=5.0') options=('!docs' '!libtool') source=(http://bugseng.com/products/ppl/download/ftp/releases/$pkgver/ppl-$pkgver.tar.gz{,.sign}) -md5sums=('cec8144f2072ac45a850214cca97d075' - '43eeeb147f9d8b3608aead63486c9545') +md5sums=('c4566928c6b7bb63e95f96d1a7b5cb4c' + '5f490df826c76fed296060ca8fca4eb5') build() { cd $srcdir/ppl-$pkgver diff --git a/core/run-parts/PKGBUILD b/core/run-parts/PKGBUILD index 5cb43c056..00ed2fc69 100644 --- a/core/run-parts/PKGBUILD +++ b/core/run-parts/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 160667 2012-06-03 14:22:11Z pierre $ +# $Id: PKGBUILD 162908 2012-07-03 17:24:27Z pierre $ # Maintainer: Pierre Schmitz <pierre@archlinux.de> pkgname=run-parts -pkgver=4.3.1 +pkgver=4.3.2 pkgrel=1 pkgdesc='run scripts or programs in a directory' arch=('i686' 'x86_64') @@ -10,7 +10,7 @@ url='http://packages.qa.debian.org/d/debianutils.html' license=('GPL') depends=('glibc') source=("ftp://ftp.archlinux.org/other/run-parts/debianutils_${pkgver}.tar.gz") -sha256sums=('03cbb242b8b86f444477e0bbe8e391c18aec8f8d08a2a02e8893efd1d5d6e4bc') +sha256sums=('0062d774306a6acc34d3b855a5c4eeb845653b0cd34dbb5c13aa00b4ecb8af22') build() { cd $srcdir/debianutils-$pkgver diff --git a/core/wpa_supplicant/PKGBUILD b/core/wpa_supplicant/PKGBUILD index b8f264e29..5a7db187f 100644 --- a/core/wpa_supplicant/PKGBUILD +++ b/core/wpa_supplicant/PKGBUILD @@ -1,49 +1,56 @@ -# $Id: PKGBUILD 150896 2012-02-23 13:54:14Z allan $ +# $Id: PKGBUILD 162909 2012-07-03 19:16:48Z dreisner $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=wpa_supplicant -pkgver=0.7.3 -pkgrel=5 +pkgver=1.0 +pkgrel=1 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="http://hostap.epitest.fi/wpa_supplicant" arch=('i686' 'x86_64') -depends=('openssl' 'dbus-core>=1.2.4' 'readline>=6.0' 'libnl') +depends=('openssl' 'dbus-core' 'readline' 'libnl') optdepends=('wpa_supplicant_gui: wpa_gui program') license=('GPL') groups=('base') -backup=('etc/wpa_supplicant.conf') -source=(http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz - config dbus.patch hostap_allow-linking-with-libnl-3.2.patch) -sha256sums=('d0cd50caa85346ccc376dcda5ed3c258eef19a93b3cade39d25760118ad59443' - 'd00f306e53c22cc0d7352a0d4ed701fd77b9ff20e3a2422d81ac1fddcc11dff4' - '13effa9ed6a1bb940ffc056a3eabcf64c8cc057069eca5cc1822b98ed769812a' - 'ac805bf6e5aaec733dfc2c333417e519239cd58663a6e1cb34a54fd0f2bcc3c5') +backup=('etc/wpa_supplicant/wpa_supplicant.conf') +source=("http://w1.fi/releases/${pkgname}-${pkgver}.tar.gz" + config hostap_allow-linking-with-libnl-3.2.patch) +md5sums=('8650f6aa23646ef634402552d0669640' + '380d8d1fe24bccb2a2636cb2a6038c39' + '473fb6b77909ec5a50b6f4d91370e86b') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${pkgname}-${pkgver}/" + + # from fedora patch -Np1 -i "$srcdir/hostap_allow-linking-with-libnl-3.2.patch" - cd ${pkgname} - # Required by NetworkManager 0.8.995 - patch -Np2 -i "$srcdir/dbus.patch" + cd "${pkgname}" + cp "${srcdir}/config" ./.config + sed -i 's@/usr/local@$(PREFIX)@g' Makefile - make + + make PREFIX=/usr } package() { cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}" make PREFIX=/usr DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/etc" - install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant.conf" + + install -d -m755 "${pkgdir}/etc/wpa_supplicant" + install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant/wpa_supplicant.conf" + install -d -m755 "${pkgdir}/usr/share/man/man"{5,8} install -m644 doc/docbook/*.5 "${pkgdir}/usr/share/man/man5/" install -m644 doc/docbook/*.8 "${pkgdir}/usr/share/man/man8/" rm -f "${pkgdir}/usr/share/man/man8/wpa_"{priv,gui}.8 - install -m755 -d "${pkgdir}/usr/share/dbus-1/system-services" + install -d -m755 "${pkgdir}/usr/share/dbus-1/system-services" install -m644 dbus/{fi.epitest.hostap.WPASupplicant.service,fi.w1.wpa_supplicant1.service} "${pkgdir}/usr/share/dbus-1/system-services/" - sed -e 's/sbin/usr\/sbin/' -i "${pkgdir}/usr/share/dbus-1/system-services/"*.service - install -m755 -d "${pkgdir}/etc/dbus-1/system.d" + + install -d -m755 "${pkgdir}/etc/dbus-1/system.d" install -m644 dbus/dbus-wpa_supplicant.conf "${pkgdir}/etc/dbus-1/system.d/wpa_supplicant.conf" + + install -d -m755 "${pkgdir}/usr/lib/systemd/system" + install -m644 systemd/*.service "${pkgdir}/usr/lib/systemd/system/" } diff --git a/core/wpa_supplicant/config b/core/wpa_supplicant/config index eef35d045..59da1e27e 100644 --- a/core/wpa_supplicant/config +++ b/core/wpa_supplicant/config @@ -78,6 +78,11 @@ #CONFIG_DRIVER_RALINK=y # Driver interface for generic Linux wireless extensions +# Note: WEXT is deprecated in the current Linux kernel version and no new +# functionality is added to it. nl80211-based interface is the new +# replacement for WEXT and its use allows wpa_supplicant to properly control +# the driver to improve existing functionality like roaming and to support new +# functionality. CONFIG_DRIVER_WEXT=y # Driver interface for Linux drivers using the nl80211 kernel interface @@ -109,11 +114,6 @@ CONFIG_DRIVER_NL80211=y # Driver interface for development testing #CONFIG_DRIVER_TEST=y -# Include client MLME (management frame processing) for test driver -# This can be used to test MLME operations in hostapd with the test interface. -# space. -#CONFIG_CLIENT_MLME=y - # Driver interface for wired Ethernet drivers CONFIG_DRIVER_WIRED=y @@ -123,6 +123,10 @@ CONFIG_DRIVER_WIRED=y # Driver interface for no driver (e.g., WPS ER only) #CONFIG_DRIVER_NONE=y +# Solaris libraries +#LIBS += -lsocket -ldlpi -lnsl +#LIBS_c += -lsocket + # Enable IEEE 802.1X Supplicant (automatically included if any EAP method is # included) CONFIG_IEEE8021X_EAPOL=y @@ -161,6 +165,9 @@ CONFIG_EAP_OTP=y # EAP-PSK (experimental; this is _not_ needed for WPA-PSK) #CONFIG_EAP_PSK=y +# EAP-pwd (secure authentication using only a password) +#CONFIG_EAP_PWD=y + # EAP-PAX #CONFIG_EAP_PAX=y @@ -190,6 +197,13 @@ CONFIG_EAP_LEAP=y # Wi-Fi Protected Setup (WPS) CONFIG_WPS=y +# Enable WSC 2.0 support +#CONFIG_WPS2=y +# Enable WPS external registrar functionality +#CONFIG_WPS_ER=y +# Disable credentials for an open network by default when acting as a WPS +# registrar. +#CONFIG_WPS_REG_DISABLE_OPEN=y # EAP-IKEv2 #CONFIG_EAP_IKEV2=y @@ -224,6 +238,10 @@ CONFIG_CTRL_IFACE=y # the resulting binary. CONFIG_READLINE=y +# Include internal line edit mode in wpa_cli. This can be used as a replacement +# for GNU Readline to provide limited command line editing and history support. +#CONFIG_WPA_CLI_EDIT=y + # Remove debugging code that is printing out debug message to stdout. # This can be used to reduce the size of the wpa_supplicant considerably # if debugging code is not needed. The size reduction can be around 35% @@ -305,18 +323,17 @@ CONFIG_PEERKEY=y # Select TLS implementation # openssl = OpenSSL (default) -# gnutls = GnuTLS (needed for TLS/IA, see also CONFIG_GNUTLS_EXTRA) +# gnutls = GnuTLS # internal = Internal TLSv1 implementation (experimental) # none = Empty template #CONFIG_TLS=openssl -# Whether to enable TLS/IA support, which is required for EAP-TTLSv1. -# You need CONFIG_TLS=gnutls for this to have any effect. Please note that -# even though the core GnuTLS library is released under LGPL, this extra -# library uses GPL and as such, the terms of GPL apply to the combination -# of wpa_supplicant and GnuTLS if this option is enabled. BSD license may not -# apply for distribution of the resulting binary. -#CONFIG_GNUTLS_EXTRA=y +# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) +# can be enabled to get a stronger construction of messages when block ciphers +# are used. It should be noted that some existing TLS v1.0 -based +# implementation may not be compatible with TLS v1.1 message (ClientHello is +# sent prior to negotiating which version will be used) +#CONFIG_TLSV11=y # If CONFIG_TLS=internal is used, additional library and include paths are # needed for LibTomMath. Alternatively, an integrated, minimal version of @@ -378,6 +395,11 @@ CONFIG_CTRL_IFACE_DBUS_INTRO=y # Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) CONFIG_DEBUG_FILE=y +# Send debug messages to syslog instead of stdout +#CONFIG_DEBUG_SYSLOG=y +# Set syslog facility for debug messages +#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON + # Enable privilege separation (see README 'Privilege separation' for details) #CONFIG_PRIVSEP=y @@ -389,7 +411,7 @@ CONFIG_DEBUG_FILE=y # This tracks use of memory allocations and other registrations and reports # incorrect use with a backtrace of call (or allocation) location. #CONFIG_WPA_TRACE=y -# For BSD, comment out these. +# For BSD, uncomment these. #LIBS += -lexecinfo #LIBS_p += -lexecinfo #LIBS_c += -lexecinfo @@ -398,9 +420,49 @@ CONFIG_DEBUG_FILE=y # This enables use of libbfd to get more detailed symbols for the backtraces # generated by CONFIG_WPA_TRACE=y. #CONFIG_WPA_TRACE_BFD=y -# For BSD, comment out these. +# For BSD, uncomment these. #LIBS += -lbfd -liberty -lz #LIBS_p += -lbfd -liberty -lz #LIBS_c += -lbfd -liberty -lz +# wpa_supplicant depends on strong random number generation being available +# from the operating system. os_get_random() function is used to fetch random +# data when needed, e.g., for key generation. On Linux and BSD systems, this +# works by reading /dev/urandom. It should be noted that the OS entropy pool +# needs to be properly initialized before wpa_supplicant is started. This is +# important especially on embedded devices that do not have a hardware random +# number generator and may by default start up with minimal entropy available +# for random number generation. +# +# As a safety net, wpa_supplicant is by default trying to internally collect +# additional entropy for generating random data to mix in with the data fetched +# from the OS. This by itself is not considered to be very strong, but it may +# help in cases where the system pool is not initialized properly. However, it +# is very strongly recommended that the system pool is initialized with enough +# entropy either by using hardware assisted random number generator or by +# storing state over device reboots. +# +# wpa_supplicant can be configured to maintain its own entropy store over +# restarts to enhance random number generation. This is not perfect, but it is +# much more secure than using the same sequence of random numbers after every +# reboot. This can be enabled with -e<entropy file> command line option. The +# specified file needs to be readable and writable by wpa_supplicant. +# +# If the os_get_random() is known to provide strong random data (e.g., on +# Linux/BSD, the board in question is known to have reliable source of random +# data from /dev/urandom), the internal wpa_supplicant random pool can be +# disabled. This will save some in binary size and CPU use. However, this +# should only be considered for builds that are known to be used on devices +# that meet the requirements described above. +CONFIG_NO_RANDOM_POOL=y + +# IEEE 802.11n (High Throughput) support (mainly for AP mode) +#CONFIG_IEEE80211N=y + +# Interworking (IEEE 802.11u) +# This can be used to enable functionality to improve interworking with +# external networks (GAS/ANQP to learn more about the networks and network +# selection based on available credentials). +#CONFIG_INTERWORKING=y + CONFIG_LIBNL32=y diff --git a/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch b/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch index 8e7cd9a97..5d8903906 100644 --- a/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch +++ b/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch @@ -1,42 +1,12 @@ -Subject: [RFC] hostap: Allow linking with libnl-3. -Date: Tue, 15 Nov 2011 14:30:04 -0000 -From: Ben Greear <greearb@candelatech.com> - -I needed this patch to compile against the latest -libnl code. I added this to my config file: - -CONFIG_LIBNL32=y - -Signed-hostap: Ben Greear <greearb@candelatech.com> -rediffed against 0.7.3 by Stefan Lippers-Hollmann <s.l-h@gmx.de> - ---- -:100644 100644 5caeec5... 0cc81f9... M src/drivers/drivers.mak - src/drivers/drivers.mak | 21 ++++++++++++++------- - 2 files changed, 29 insertions(+), 14 deletions(-) - ---- a/src/drivers/drivers.mak -+++ b/src/drivers/drivers.mak -@@ -31,11 +31,18 @@ NEED_SME=y - NEED_AP_MLME=y - NEED_NETLINK=y - NEED_LINUX_IOCTL=y --DRV_LIBS += -lnl -+ifdef CONFIG_LIBNL32 -+ DRV_LIBS += -lnl-3 -+ DRV_LIBS += -lnl-genl-3 -+ DRV_CFLAGS += -DCONFIG_LIBNL20 -+ DRV_CFLAGS += -I/usr/include/libnl3/ -+else -+ DRV_LIBS += -lnl - --ifdef CONFIG_LIBNL20 --DRV_LIBS += -lnl-genl --DRV_CFLAGS += -DCONFIG_LIBNL20 -+ ifdef CONFIG_LIBNL20 -+ DRV_LIBS += -lnl-genl -+ DRV_CFLAGS += -DCONFIG_LIBNL20 -+ endif - endif - endif - +diff -up wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo wpa_supplicant-1.0-rc2/src/drivers/drivers.mak +--- wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo 2012-03-02 16:11:43.176448714 -0600 ++++ wpa_supplicant-1.0-rc2/src/drivers/drivers.mak 2012-03-02 16:12:29.759866341 -0600 +@@ -48,7 +48,7 @@ NEED_RFKILL=y + ifdef CONFIG_LIBNL32 + DRV_LIBS += -lnl-3 + DRV_LIBS += -lnl-genl-3 +- DRV_CFLAGS += -DCONFIG_LIBNL20 ++ DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0` + else + ifdef CONFIG_LIBNL_TINY + DRV_LIBS += -lnl-tiny diff --git a/extra/dovecot/PKGBUILD b/extra/dovecot/PKGBUILD index 94c123d16..153291e58 100644 --- a/extra/dovecot/PKGBUILD +++ b/extra/dovecot/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 161275 2012-06-08 13:30:23Z andyrtr $ +# $Id: PKGBUILD 162905 2012-07-03 15:00:02Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Paul Mattal <paul@mattal.com> # Contributor: Federico Quagliata (quaqo) <quaqo@despammed.com> # Contributor: GARETTE Emmanuel <gnunux at laposte dot net> pkgname=dovecot -pkgver=2.1.7 -pkgrel=4 +pkgver=2.1.8 +pkgrel=1 pkgdesc="An IMAP and POP3 server written with security primarily in mind" arch=('i686' 'x86_64') url="http://dovecot.org/" @@ -22,14 +22,17 @@ install=$pkgname.install source=(http://dovecot.org/releases/2.1/${pkgname}-${pkgver}.tar.gz{,.sig} dovecot.sh dovecot.tmpfilesd) -md5sums=('b52d0faf1b9ec21bc5552691fe0ff1d1' - '391cd5f98442ef446916c0f3b671d3f7' +md5sums=('c6d962653b0a7f2ab8d892b53ddf0101' + '99118d4accb282d70242e813975d86b5' '587159e84e2da6f83d70b3c706ba87cc' '342a28251d40f983c98c0d1f1bf3d07d') build() { cd ${srcdir}/$pkgname-$pkgver + # fix build with recent clucene (FC) + sed -i '/DEFAULT_INCLUDES *=/s|$| '"$(pkg-config --cflags libclucene-core)|" src/plugins/fts-lucene/Makefile.in + # configure with openssl, mysql, and postgresql support ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --libexecdir=/usr/lib --with-moduledir=/usr/lib/dovecot/modules \ diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index a9d142f7b..e6d5075c4 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 160792 2012-06-05 20:47:36Z andyrtr $ +# $Id: PKGBUILD 162907 2012-07-03 15:25:08Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnutls -pkgver=3.0.20 +pkgver=3.0.21 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64') @@ -13,8 +13,8 @@ options=('!libtool' '!zipman') depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit>=0.12') makedepends=('valgrind' 'strace') source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz{,.sig}) -md5sums=('1e9322764f4531b00b4a46a5d634695e' - 'efc0ac29d46219aa75f08f57ba679776') +md5sums=('7480dff7115e5af85215893c06b3ac5c' + 'c84eb5e67f1498c60ea6fd6ba9045def') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libjpeg-turbo/PKGBUILD b/extra/libjpeg-turbo/PKGBUILD index 1dc364c17..f8825590b 100644 --- a/extra/libjpeg-turbo/PKGBUILD +++ b/extra/libjpeg-turbo/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 158594 2012-05-05 02:02:44Z allan $ +# $Id: PKGBUILD 162914 2012-07-03 20:59:56Z eric $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Simone Sclavi 'Ito' <darkhado@gmail.com> pkgname=libjpeg-turbo -pkgver=1.2.0 -pkgrel=2 +pkgver=1.2.1 +pkgrel=1 pkgdesc="libjpeg derivative with accelerated baseline JPEG compression and decompression" arch=('i686' 'x86_64') url="http://libjpeg-turbo.virtualgl.org/" @@ -16,10 +16,10 @@ conflicts=('libjpeg') replaces=('libjpeg') options=('!libtool') source=(http://sourceforge.net/projects/$pkgname/files/$pkgver/$pkgname-$pkgver.tar.gz) -md5sums=('5329fa80953938cb4f097afae55059e2') +sha1sums=('a4992e102c6d88146709e8e6ce5896d5d0b5a361') build() { - cd $srcdir/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" # put documentation in a reasonable directory... sed -i "/docdir = /s#/doc#/doc/libjpeg-turbo#" Makefile.in @@ -30,27 +30,27 @@ build() { } check() { - cd $srcdir/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" make test } package() { - cd $srcdir/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" - make DESTDIR=$pkgdir/ install + make DESTDIR="$pkgdir/" install # provide jpegint.h as it is required by various software - install -m644 jpegint.h $pkgdir/usr/include/ + install -m644 jpegint.h "$pkgdir/usr/include/" # do not distributre libturbojpeg as it is unversioned - rm $pkgdir/usr/lib/libturbojpeg.{so,a} - rm $pkgdir/usr/include/turbojpeg.h - rm $pkgdir/usr/bin/tjbench + rm "$pkgdir"/usr/lib/libturbojpeg.{so,a} + rm "$pkgdir/usr/include/turbojpeg.h" + rm "$pkgdir/usr/bin/tjbench" - install -dm755 $pkgdir/usr/share/licenses/libjpeg-turbo/ + install -dm755 "$pkgdir/usr/share/licenses/libjpeg-turbo/" ln -s ../../doc/libjpeg-turbo/README \ - $pkgdir/usr/share/licenses/libjpeg-turbo/README + "$pkgdir/usr/share/licenses/libjpeg-turbo/README" ln -s ../../doc/libjpeg-turbo/README-turbo.txt \ - $pkgdir/usr/share/licenses/libjpeg-turbo/README-turbo.txt + "$pkgdir/usr/share/licenses/libjpeg-turbo/README-turbo.txt" } diff --git a/extra/wpa_supplicant_gui/PKGBUILD b/extra/wpa_supplicant_gui/PKGBUILD index 68c8280dd..897e5a150 100644 --- a/extra/wpa_supplicant_gui/PKGBUILD +++ b/extra/wpa_supplicant_gui/PKGBUILD @@ -1,19 +1,23 @@ -# $Id: PKGBUILD 149922 2012-02-11 22:38:54Z thomas $ +# $Id: PKGBUILD 162910 2012-07-03 19:17:02Z dreisner $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=wpa_supplicant_gui -pkgver=0.7.3 -pkgrel=2 +pkgver=1.0 +pkgrel=1 pkgdesc="A Qt frontend to wpa_supplicant" url="http://hostap.epitest.fi/wpa_supplicant" arch=('i686' 'x86_64') depends=('qt' "wpa_supplicant=$pkgver") license=('GPL') -source=("http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz") -sha256sums=('d0cd50caa85346ccc376dcda5ed3c258eef19a93b3cade39d25760118ad59443') +source=("http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz" + compile-fix.patch) +sha256sums=('91d41d473a5aafa2e25dd6577ebda975c4d4a3188850a53e31feaf7c04482b9c' + '044be1032faf93c5f0abf22d7ae77dc0d1d1fef0c2c30646d54950b86601709f') build() { - cd "${srcdir}/wpa_supplicant-${pkgver}/wpa_supplicant/wpa_gui-qt4" + cd wpa_supplicant-${pkgver} + patch -p1 <../compile-fix.patch + cd wpa_supplicant/wpa_gui-qt4 qmake make } diff --git a/extra/wpa_supplicant_gui/compile-fix.patch b/extra/wpa_supplicant_gui/compile-fix.patch new file mode 100644 index 000000000..3303b3699 --- /dev/null +++ b/extra/wpa_supplicant_gui/compile-fix.patch @@ -0,0 +1,14 @@ +diff -u -r wpa_supplicant-1.0/wpa_supplicant/wpa_gui-qt4/wpagui.cpp wpa_supplicant-1.0-fix/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +--- wpa_supplicant-1.0/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2012-05-09 23:56:09.000000000 +0200 ++++ wpa_supplicant-1.0-fix/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2012-06-25 12:06:46.045261398 +0200 +@@ -12,10 +12,8 @@ + * See README and COPYING for more details. + */ + +-#ifdef __MINGW32__ + /* Need to get getopt() */ + #include <unistd.h> +-#endif + + #ifdef CONFIG_NATIVE_WINDOWS + #include <windows.h> diff --git a/extra/xfce4-battery-plugin/PKGBUILD b/extra/xfce4-battery-plugin/PKGBUILD index 2093ef5e9..a89c29f4a 100644 --- a/extra/xfce4-battery-plugin/PKGBUILD +++ b/extra/xfce4-battery-plugin/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 158992 2012-05-14 14:50:58Z foutrelis $ +# $Id: PKGBUILD 162942 2012-07-04 01:13:14Z eric $ # Maintainer: aurelien <aurelien@archlinux.org> # Contributor: Aurelien Foret <orelien@chez.com> pkgname=xfce4-battery-plugin -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=1 pkgdesc="A battery monitor plugin for the Xfce panel" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ makedepends=('intltool') options=('!libtool') install=$pkgname.install source=(http://archive.xfce.org/src/panel-plugins/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2) -sha256sums=('2682d634f30511d09e65f70b3cb3bd7748cc684a745a252c47c4118b3adf6dd6') +sha256sums=('f659b1af40ab72c93448affaa693ab551827a5600ce9b97a799b7c2419bdeb11') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/xfce4-cpugraph-plugin/PKGBUILD b/extra/xfce4-cpugraph-plugin/PKGBUILD index 423c092a2..016527f96 100644 --- a/extra/xfce4-cpugraph-plugin/PKGBUILD +++ b/extra/xfce4-cpugraph-plugin/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 157918 2012-04-30 05:16:48Z foutrelis $ +# $Id: PKGBUILD 162947 2012-07-04 01:56:02Z eric $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Aurelien Foret <orelien@chez.com> pkgname=xfce4-cpugraph-plugin -pkgver=1.0.2 +pkgver=1.0.4 pkgrel=1 pkgdesc="CPU graph plugin for the Xfce4 panel" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ makedepends=('intltool') options=('!libtool') install=$pkgname.install source=(http://archive.xfce.org/src/panel-plugins/$pkgname/1.0/$pkgname-$pkgver.tar.bz2) -sha256sums=('b535a9c3d105c0d1597fa4071fe140912bb483c4401c84ad178531fc85de0577') +sha256sums=('7793824e42cc65937750b50b4afb43e51250e51aca05bd146b784a34fa02552e') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/xfce4-diskperf-plugin/PKGBUILD b/extra/xfce4-diskperf-plugin/PKGBUILD index 94b4275b2..dc1720006 100644 --- a/extra/xfce4-diskperf-plugin/PKGBUILD +++ b/extra/xfce4-diskperf-plugin/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 158990 2012-05-14 14:45:50Z foutrelis $ +# $Id: PKGBUILD 162949 2012-07-04 02:32:01Z eric $ # Maintainer: # Contributor: Aurelien Foret <orelien@chez.com> pkgname=xfce4-diskperf-plugin -pkgver=2.5.3 +pkgver=2.5.4 pkgrel=1 pkgdesc="Plugin for the Xfce4 panel displaying instant disk/partition performance" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ depends=('xfce4-panel') makedepends=('intltool') options=('!libtool') source=(http://archive.xfce.org/src/panel-plugins/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2) -sha256sums=('418a250fe8d48f1fd87658206a8e6762032d35dc1b2e98e27d309a35f873f9b6') +sha256sums=('aab6b9c4e2f78620920efac6874c4edf426f05b63b94cfda0da8c99a91110a0b') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/xfce4-fsguard-plugin/PKGBUILD b/extra/xfce4-fsguard-plugin/PKGBUILD index 55d61454e..a0bfdb2ec 100644 --- a/extra/xfce4-fsguard-plugin/PKGBUILD +++ b/extra/xfce4-fsguard-plugin/PKGBUILD @@ -1,24 +1,24 @@ -# $Id: PKGBUILD 157857 2012-04-30 04:20:25Z foutrelis $ +# $Id: PKGBUILD 162953 2012-07-04 03:10:03Z eric $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Ben <ben@benmazer.net> pkgname=xfce4-fsguard-plugin -pkgver=1.0.0 -pkgrel=3 +pkgver=1.0.1 +pkgrel=1 pkgdesc="File system usage monitor plugin for the Xfce4 panel" arch=(i686 x86_64) license=('GPL2') url="http://xfce-goodies.berlios.de/" groups=('xfce4-goodies') -depends=('xfce4-panel>=4.7.4' 'hicolor-icon-theme' 'libxfcegui4') +depends=('xfce4-panel') makedepends=('intltool') options=(!libtool) install=${pkgname}.install source=(http://archive.xfce.org/src/panel-plugins/${pkgname}/1.0/${pkgname}-${pkgver}.tar.bz2) -md5sums=('8378f922b59a0d5a378af5e45a18c4a3') +md5sums=('9c179371475e2837004cc208026e30c1') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib \ @@ -29,6 +29,6 @@ build() { } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/extra/xfce4-mpc-plugin/PKGBUILD b/extra/xfce4-mpc-plugin/PKGBUILD index 18e8fcd67..cc08d506e 100644 --- a/extra/xfce4-mpc-plugin/PKGBUILD +++ b/extra/xfce4-mpc-plugin/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 158996 2012-05-14 14:55:55Z foutrelis $ +# $Id: PKGBUILD 162957 2012-07-04 03:39:14Z eric $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: aurelien <aurelien@archlinux.org> # Contributor: Tobias Kieslich <tobias (at) archlinux.org> pkgname=xfce4-mpc-plugin -pkgver=0.4.3 +pkgver=0.4.4 pkgrel=1 pkgdesc="A plugin to control the music player daemon from the xfce4-panel" arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ depends=('xfce4-panel' 'libmpd>=0.16.1') makedepends=('intltool') options=('!libtool') source=(http://archive.xfce.org/src/panel-plugins/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2) -sha256sums=('54a44ff121df3416f19cce8ac52821c302aff877a8543bcb863167b26ff17af5') +sha256sums=('4f0ce6146aa2680a4c1ca7bad1be30187a8a179e8c4355a8fe13d1fc38dac5c5') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/extra/xfce4-systemload-plugin/PKGBUILD b/extra/xfce4-systemload-plugin/PKGBUILD index e05c5605a..760aba930 100644 --- a/extra/xfce4-systemload-plugin/PKGBUILD +++ b/extra/xfce4-systemload-plugin/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 157891 2012-04-30 04:21:26Z foutrelis $ +# $Id: PKGBUILD 162960 2012-07-04 03:50:50Z eric $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Aurelien Foret <orelien@chez.com> pkgname=xfce4-systemload-plugin -pkgver=1.1.0 -pkgrel=2 +pkgver=1.1.1 +pkgrel=1 pkgdesc="A system load plugin for the Xfce4 panel" arch=('i686' 'x86_64') license=('custom') url="http://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin" groups=('xfce4-goodies') -depends=('xfce4-panel>=4.7.4') +depends=('xfce4-panel') makedepends=('intltool') options=('!libtool') source=(http://archive.xfce.org/src/panel-plugins/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('130ad7befddd8705ca09a98e9cee5c3e') +md5sums=('22d48c0883f9d598bce24e81d93e692e') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/xfce4-wavelan-plugin/PKGBUILD b/extra/xfce4-wavelan-plugin/PKGBUILD index 8399b5898..2eb59bb2c 100644 --- a/extra/xfce4-wavelan-plugin/PKGBUILD +++ b/extra/xfce4-wavelan-plugin/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 157899 2012-04-30 04:21:35Z foutrelis $ +# $Id: PKGBUILD 162963 2012-07-04 04:01:30Z eric $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Tobias Kieslich <tobias (at) archlinux.org> pkgname=xfce4-wavelan-plugin -pkgver=0.5.10 -pkgrel=3 +pkgver=0.5.11 +pkgrel=1 pkgdesc="Plugin to monitor wifi connectivity for the Xfce4 panel" arch=('i686' 'x86_64') license=('custom') @@ -14,7 +14,7 @@ depends=('xfce4-panel' 'net-tools') makedepends=('intltool') options=('!libtool') source=(http://archive.xfce.org/src/panel-plugins/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('a4cd20ef471123936e762a139f1025e1') +md5sums=('50514bb286f1ed6761a1b36832bb7fe3') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD index f60e4c99f..c229767b1 100644 --- a/libre/linux-libre-api-headers/PKGBUILD +++ b/libre/linux-libre-api-headers/PKGBUILD @@ -1,25 +1,25 @@ -# $Id: PKGBUILD 161268 2012-06-08 11:32:36Z allan $ +# $Id: PKGBUILD 162855 2012-07-02 09:35:36Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> -# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> # toolchain build order: linux-libre-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=linux-libre-api-headers -_basekernel=3.3 -_sublevel=8 +_basekernel=3.4 +_sublevel=4 pkgver=${_basekernel}.${_sublevel} pkgrel=1 pkgdesc="Kernel Libre headers sanitized for use in userspace" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/libc" license=('GPL2') -provides=("linux-api-headers=${pkgver}" "kernel-headers=${pkgver}") -conflicts=('linux-api-headers' 'kernel-headers') -replaces=('linux-api-headers' 'kernel-headers') +provides=("linux-api-headers=${pkgver}") +conflicts=('linux-api-headers') +replaces=('linux-api-headers') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz") -md5sums=('5487da14ca81715a469c7594d39722fa' - 'd561c637365f1f0fca29aca39f7a3903') +md5sums=('a5e128ca059cceb8b69148b41ff4ac6f' + 'e9bb311ab329555a61696b1a18df2d34') build() { cd ${srcdir}/linux-${_basekernel} diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 6c163e5f5..f4807a4d8 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@lavabit.com> -# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> pkgbase=linux-libre-lts pkgname=('linux-libre-lts' 'linux-libre-lts-headers') # Build stock -LIBRE kernel @@ -12,7 +12,7 @@ _basekernel=3.0 _sublevel=36 pkgver=${_basekernel}.${_sublevel} _lxopkgver=${_basekernel}.36 # nearly always the same as pkgver -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -106,6 +106,9 @@ build() { # set extraversion to pkgrel sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile + # don't run depmod on 'make install'. We'll do this ourselves in packaging + sed -i '2iexit 0' scripts/depmod.sh + # get kernel version make prepare @@ -203,6 +206,12 @@ package_linux-libre-lts() { # add real version for building modules and running depmod from post_install/upgrade mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE-LTS}" echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE-LTS}/version" + + # move module tree /lib -> /usr/lib + mv "$pkgdir/lib" "$pkgdir/usr" + + # Now we call depmod... + depmod -b "$pkgdir" -F System.map "$_kernver" } package_linux-libre-lts-headers() { @@ -220,10 +229,10 @@ package_linux-libre-lts-headers() { _kernver="$(make kernelrelease)" fi - mkdir -p "${pkgdir}/lib/modules/${_kernver}" + install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" - cd "${pkgdir}/lib/modules/${_kernver}" - ln -sf ../../../usr/src/linux-${_kernver} build + cd "${pkgdir}/usr/lib/modules/${_kernver}" + ln -sf ../../../src/linux-${_kernver} build cd "${srcdir}/linux-${_basekernel}" install -D -m644 Makefile \ diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install index 4b6841658..8a688091d 100644 --- a/libre/linux-libre-lts/linux-libre-lts.install +++ b/libre/linux-libre-lts/linux-libre-lts.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-lts -KERNEL_VERSION=3.0.36-1-LIBRE-LTS +KERNEL_VERSION=3.0.36-2-LIBRE-LTS # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index f4fa860e8..4f4e557ae 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -15,7 +15,7 @@ _basekernel=3.4 _sublevel=4 pkgver=${_basekernel}.${_sublevel} _lxopkgver=${_basekernel}.4 # nearly always the same as pkgver -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -33,7 +33,6 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'change-default-console-loglevel.patch' 'i915-fix-ghost-tv-output.patch' '3.4.4-fix-backlight-regression.patch' - '3.4.4-fix-gtx560ti-nouveau-regression.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('a5e128ca059cceb8b69148b41ff4ac6f' 'e9bb311ab329555a61696b1a18df2d34' @@ -46,7 +45,6 @@ md5sums=('a5e128ca059cceb8b69148b41ff4ac6f' '9d3c56a4b999c8bfbd4018089a62f662' '263725f20c0b9eb9c353040792d644e5' '80a46681386bb87813989faeb92bdd9a' - '827ffd855dc8b0c91577545c5804c19f' '86910efeadb5d1e5d5416ff1a9dacb33') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. @@ -80,10 +78,6 @@ build() { # https://bugzilla.kernel.org/show_bug.cgi?id=43168 patch -Np1 -i "${srcdir}/3.4.4-fix-backlight-regression.patch" - # fix nouveau regression - # Arch Linux bug report: FS#30417 - patch -Np1 -i "${srcdir}/3.4.4-fix-gtx560ti-nouveau-regression.patch" - # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) @@ -118,6 +112,9 @@ build() { # set extraversion to pkgrel sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile + # don't run depmod on 'make install'. We'll do this ourselves in packaging + sed -i '2iexit 0' scripts/depmod.sh + # get kernel version make prepare @@ -216,6 +213,12 @@ package_linux-libre() { # add real version for building modules and running depmod from post_install/upgrade mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}" echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}/version" + + # move module tree /lib -> /usr/lib + mv "$pkgdir/lib" "$pkgdir/usr" + + # Now we call depmod... + depmod -b "$pkgdir" -F System.map "$_kernver" } package_linux-libre-headers() { @@ -233,10 +236,10 @@ package_linux-libre-headers() { _kernver="$(make kernelrelease)" fi - mkdir -p "${pkgdir}/lib/modules/${_kernver}" + install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" - cd "${pkgdir}/lib/modules/${_kernver}" - ln -sf ../../../usr/src/linux-${_kernver} build + cd "${pkgdir}/usr/lib/modules/${_kernver}" + ln -sf ../../../src/linux-${_kernver} build cd "${srcdir}/linux-${_basekernel}" install -D -m644 Makefile \ diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index 5e87c939e..44850230f 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.4.4-2-LIBRE +KERNEL_VERSION=3.4.4-3-LIBRE # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' diff --git a/libre/lirc-libre/PKGBUILD b/libre/lirc-libre/PKGBUILD index d6a294fe6..3b73a9f2f 100644 --- a/libre/lirc-libre/PKGBUILD +++ b/libre/lirc-libre/PKGBUILD @@ -1,12 +1,12 @@ # $Id$ # Maintainer: Paul Mattal <paul@archlinux.org> -# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> _pkgbase=lirc pkgbase=lirc-libre pkgname=('lirc-libre' 'lirc-utils-libre') pkgver=0.9.0 -pkgrel=18 +pkgrel=20 epoch=1 _extramodules=extramodules-3.4-LIBRE arch=('i686' 'x86_64' 'mips64el') @@ -34,7 +34,7 @@ md5sums=('b232aef26f23fe33ea8305d276637086' '69d099e6deedfa3c1ee2b6e82d9b8bfb') build() { - _kernver="$(cat /lib/modules/${_extramodules}/version)" + _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" cd "${srcdir}/lirc-${pkgver}" patch -Np1 -i "${srcdir}/lirc_wpc8769l.patch" patch -Np1 -i "${srcdir}/lircd-handle-large-config.patch" @@ -51,7 +51,7 @@ build() { PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \ --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \ - --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \ + --with-moduledir=/usr/lib/modules/${_kernver}/kernel/drivers/misc \ --with-transmitter # Remove drivers already in kernel @@ -71,7 +71,7 @@ package_lirc-libre() { install=lirc.install cd "${srcdir}/lirc-${pkgver}/drivers" - make DESTDIR="${pkgdir}" moduledir="/lib/modules/${_extramodules}" install + make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install # set the kernel we've built for inside the install script sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${_extramodules}/g" "${startdir}/lirc.install" @@ -108,5 +108,5 @@ package_lirc-utils-libre() { install -d "${pkgdir}/etc/lirc" # remove built modules - rm -r "${pkgdir}/lib/" + rm -r "${pkgdir}/usr/lib/modules" } diff --git a/libre/lirc-libre/lirc.install b/libre/lirc-libre/lirc.install index d6b9e5ff2..c50e384c8 100644 --- a/libre/lirc-libre/lirc.install +++ b/libre/lirc-libre/lirc.install @@ -3,7 +3,7 @@ EXTRAMODULES=extramodules-3.4-LIBRE post_install() { # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." - depmod $(cat /lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1 + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1 } post_upgrade() { diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD new file mode 100644 index 000000000..adcc23cf0 --- /dev/null +++ b/multilib-testing/binutils-multilib/PKGBUILD @@ -0,0 +1,88 @@ +# $Id: PKGBUILD 73235 2012-07-04 01:11:59Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=binutils-multilib +pkgver=2.22 +pkgrel=8 +_date=20120323 +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.16' 'zlib') +makedepends=('gcc-multilib') # Make sure we compile this with gcc-multilib +checkdepends=('dejagnu') +options=('!libtool' '!distcc' '!ccache') +install=binutils.install +source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2) +md5sums=('de2ac4298732827f8af706fc24020330') + +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 + + # Rebuild libiberty.a with -fPIC + cp -a libiberty libiberty-pic + make -C libiberty-pic clean + make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic + + # Rebuild libbfd.a with -fPIC + # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API + cp -a bfd bfd-pic + make -C bfd-pic clean + make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic + + # Rebuild libopcodes.a with -fPIC + cp -a opcodes opcodes-pic + make -C opcodes-pic clean + make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic +} + +check() { + cd ${srcdir}/binutils-build + + # do not abort on errors - manually check log files + # gold testsuite does not build with _FORTIFY_SOURCE (due to -O0 -Werror) + make CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" \ + CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" -k 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 + + # install libraries rebuilt with -fPIC + install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib + install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib + install -m644 opcodes/libopcodes.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 index 5a3c78674..85f73ad1b 100644 --- a/multilib-testing/gcc-multilib/PKGBUILD +++ b/multilib-testing/gcc-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 73123 2012-07-01 23:58:27Z heftig $ +# $Id: PKGBUILD 73236 2012-07-04 01:12:10Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -8,7 +8,7 @@ pkgbase='gcc-multilib' pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') pkgver=4.7.1 -pkgrel=3 +pkgrel=4 #_snapshot=4.7-20120505 _libstdcppmanver=20120605 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection for multilib" @@ -16,7 +16,7 @@ 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') + 'lib32-glibc>=2.16') checkdepends=('dejagnu') options=('!libtool' '!emptydirs') source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 @@ -24,12 +24,14 @@ source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 gcc_pure64-multilib.patch gcc-4.7.1-libada-pic.patch - gcc-4.7.1-libgo-write.patch) + gcc-4.7.1-libgo-write.patch + gcc-4.7.1-libgo-mksysinfo.patch) md5sums=('933e6f15f51c031060af64a9e14149ff' '767c62f9a047c4434f2345decf1d0819' 'ec24c32d3d1030c2bc8cb2ad2d1dc629' '2acbc9d35cc9d72329dc71d6b1f162ef' - 'df82dd175ac566c8a6d46b11ac21f14c') + 'df82dd175ac566c8a6d46b11ac21f14c' + '8e847244dba042d0aa3297713edaf70c') if [ -n "${_snapshot}" ]; then @@ -55,6 +57,9 @@ build() { # bug to file... patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch + # http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01946.html + patch -p0 -i ${srcdir}/gcc-4.7.1-libgo-mksysinfo.patch + echo ${pkgver} > gcc/BASE-VER cd ${srcdir} @@ -96,7 +101,7 @@ check() { package_gcc-libs-multilib() { pkgdesc="Runtime libraries shipped by GCC for multilib" - depends=('glibc>=2.15' "lib32-gcc-libs=$pkgver-$pkgrel") + depends=('glibc>=2.16' "lib32-gcc-libs=$pkgver-$pkgrel") provides=("gcc-libs=$pkgver-$pkgrel") conflicts=('gcc-libs') install=gcc-libs.install @@ -131,7 +136,7 @@ package_gcc-libs-multilib() package_lib32-gcc-libs() { pkgdesc="Runtime libraries shipped by GCC (32-bit)" - depends=('lib32-glibc>=2.15' "gcc-libs>=$pkgver") + depends=('lib32-glibc>=2.16' "gcc-libs>=$pkgver") cd gcc-build make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared diff --git a/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch b/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch new file mode 100644 index 000000000..427efe8a6 --- /dev/null +++ b/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch @@ -0,0 +1,15 @@ +--- libgo/mksysinfo.sh 2012-06-29 14:23:30.684708901 +0200 ++++ libgo/mksysinfo.sh 2012-06-29 14:23:20.782761973 +0200 +@@ -522,10 +522,10 @@ grep '^const _DT_' gen-sysinfo.go | + # The rusage struct. + rusage=`grep '^type _rusage struct' gen-sysinfo.go` + if test "$rusage" != ""; then +- rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'` +- rusage=`echo $rusage | sed -e 's/^ *//'` + # Remove anonymous unions from GNU/Linux <bits/resource.h>. + rusage=`echo $rusage | sed -e 's/Godump_[0-9]* struct {\([^}]*\)};/\1/g'` ++ rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'` ++ rusage=`echo $rusage | sed -e 's/^ *//'` + nrusage= + while test -n "$rusage"; do + field=`echo $rusage | sed -e 's/^\([^;]*\);.*$/\1/'` diff --git a/multilib-testing/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD index f8bbb8476..5fd14ee1d 100644 --- a/multilib-testing/lib32-glibc/PKGBUILD +++ b/multilib-testing/lib32-glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 72106 2012-06-08 20:59:52Z heftig $ +# $Id: PKGBUILD 73234 2012-07-04 01:11:56Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> @@ -8,221 +8,60 @@ _pkgbasename=glibc pkgname=lib32-$_pkgbasename -pkgver=2.15 -pkgrel=11 -_glibcdate=20111227 +pkgver=2.16.0 +pkgrel=1 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') +makedepends=('gcc-multilib>=4.7') options=('!strip' '!emptydirs') -source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz - glibc-2.15-do-not-install-timezone-files.patch - glibc-2.15-do-not-install-timezone-files-2.patch - glibc-__i686.patch - glibc-2.14-libdl-crash.patch - glibc-2.14-reexport-rpc-interface.patch - glibc-2.14-reinstall-nis-rpc-headers.patch +source=(http://ftp.gnu.org/gnu/libc/${_pkgbasename}-${pkgver}.tar.xz{,.sig} glibc-2.15-fix-res_query-assert.patch - glibc-2.15-regex.patch - glibc-2.15-lddebug-scopes.patch glibc-2.15-revert-c5a0802a.patch - glibc-2.15-scanf.patch - glibc-2.15-ifunc.patch - glibc-2.15-avx.patch - glibc-2.15-strcasecmp-disable-avx.patch - glibc-2.15-gb18030.patch.gz - glibc-2.15-revert-netlink-cache.patch - glibc-2.15-arena.patch - glibc-2.15-negative-result-cache.patch - glibc-2.15-multiarch-x86-strcmp.patch - glibc-2.15-vdso.patch - glibc-2.15-feraiseexcept-plt.patch - glibc-2.15-vfprintf-nargs.patch - glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch - glibc-2.15-fmtmsg-locking.patch - glibc-2.15-non-signalling-comparisons.patch - glibc-2.15-rintf-rounding.patch - glibc-2.15-nearbyintf-rounding.patch - glibc-2.15-confstr-local-buffer-extent.patch - glibc-2.15-testsuite.patch lib32-glibc.conf) -md5sums=('6ffdf5832192b92f98bdd125317c0dfc' - '7ef69c530a15106de93e4de2df2d393e' - 'b6c619e5cf91829a15ce34dccef676d5' - 'addfddd648a4bf832eb126aba944ebae' - '6970bcfeb3bf88913436d5112d16f588' - 'c5de2a946215d647c8af5432ec4b0da0' - '55febbb72139ac7b65757df085024b83' +md5sums=('80b181b02ab249524ec92822c0174cf7' + '2a1221a15575820751c325ef4d2fbb90' '31f415b41197d85d3bbee3d1eecd06a3' - 'b3526cbd5e29773560dba725db99af5a' - '3c219ddfb619b6df903cac4cc42c611d' - '7ae3e426251ae33e73dbad71f9c91378' - 'f0782ddbf38e0b30ec6b85348816046f' - '3d844b53b2dbb7c996e39c7ad932f55d' - '41ae047ac88e8f6f547c70b0a0bc3b72' - 'fccb89f6628f59752278e125c35941f8' - '001a4044ac3d59aca6ee144eaca57ab2' - '94b61302a7ca6c5764d013dc7738fcfe' - 'a9ffadcfd2d357f91fee0b861fd4a7c6' - '2c46b8e294de24c531f2253ff69aeef3' - '7a2998a04ebfcf8bf820540f490ce714' - '0d77d20fa7fe2f87ad945cb9edb4d91d' - 'bfdefac3d705f41fbf84b1de1dc945af' - '3443e89c1e98089cd6c3e3c23f0c3d85' - '340deaa582a95ddde86edb624c3bfea0' - '6bbac50e6ff82187654e6a0a7bd849e7' - 'c483504cf404ed0b44480af627813a97' - '1419d61fd1dbc6cdc48bb59da86fa66f' - '7ff501435078b1a2622124fbeaafc921' - '8d1023a51e0932681b46440d5f8551ee' - '6962c3fa29306bfbf6f0d22b19cb825d' + '0a0383d50d63f1c02919fe9943b82014' '6e052f1cb693d5d3203f50f9d4e8c33b') build() { - cd ${srcdir}/glibc - - # timezone data is in separate package (tzdata) - # http://sourceware.org/git/?p=glibc.git;a=commit;h=482ff4da - patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files.patch - # http://sourceware.org/git/?p=glibc.git;a=commit;h=a458e7fe - patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files-2.patch - - # undefine __i686 - # http://sourceware.org/glibc/wiki/Release/2.15#Build_Failures - patch -p1 -i ${srcdir}/glibc-__i686.patch - - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (fedora branch) - # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html - patch -p1 -i ${srcdir}/glibc-2.14-libdl-crash.patch - - # re-export RPC interface until libtirpc is ready as a replacement - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch + cd ${srcdir}/${_pkgbasename}-${pkgver} # fix res_query assertion # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 patch -p1 -i ${srcdir}/glibc-2.15-fix-res_query-assert.patch - # fix up regcomp/regexec - # http://sourceware.org/git/?p=glibc.git;a=commit;h=2ba92745 - patch -p1 -i ${srcdir}/glibc-2.15-regex.patch - - # propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223 - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch - # revert commit c5a0802a - causes various hangs - # https://bugzilla.redhat.com/show_bug.cgi?id=769421 - # Note: fedora may have actual fix (not submitted upstream yet...) - # http://pkgs.fedoraproject.org/gitweb/?p=glibc.git;a=blob_plain;f=glibc-rh552960-2.patch + # https://bugzilla.redhat.com/show_bug.cgi?id=552960 patch -p1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch - # fix realloc usage in vfscanf - # http://sourceware.org/git/?p=glibc.git;a=commit;h=20b38e03 - patch -p1 -i ${srcdir}/glibc-2.15-scanf.patch - - # fix ifunc relocations - # http://sourceware.org/git/?p=glibc.git;a=commit;h=6ee65ed6 - patch -p1 -i ${srcdir}/glibc-2.15-ifunc.patch - - # fix AVX detection - # http://sourceware.org/git/?p=glibc.git;a=commit;h=afc5ed09 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=08cf777f - patch -p1 -i ${srcdir}/glibc-2.15-avx.patch - # and "fix" strcasecmp - patch -p1 -i ${srcdir}/glibc-2.15-strcasecmp-disable-avx.patch - - # fix GB18030 charmap - # http://sourceware.org/bugzilla/show_bug.cgi?id=11837 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=2a57bd79 (fedora branch) - # http://sourceware.org/git/?p=glibc.git;a=commit;h=3d828a61 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.15-gb18030.patch - - # fix crash in __nscd_get_mapping if nscd not running - # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 (potential fix in comment) - # reverts commit 3a2c0242 and other necessary following changes... - patch -p1 -i ${srcdir}/glibc-2.15-revert-netlink-cache.patch - - # handle ARENA_TEST correctly - # http://sourceware.org/git/?p=glibc.git;a=commit;h=41b81892 - patch -p1 -i ${srcdir}/glibc-2.15-arena.patch - - # Do not cache negative results in nscd if these are transient - # http://sourceware.org/git/?p=glibc.git;a=commit;h=3e1aa84e - patch -p1 -i ${srcdir}/glibc-2.15-negative-result-cache.patch - - # strcasecmp_l, strncasecmp_l act as strcmp for multiarch x86 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=0bab47b6 - patch -p1 -i ${srcdir}/glibc-2.15-multiarch-x86-strcmp.patch - - # always set l_used for vDSO. - # http://sourceware.org/git/?p=glibc.git;a=commit;h=1f393a11 - patch -p1 -i ${srcdir}/glibc-2.15-vdso.patch - - # fix x86 PLT slot usage for feraiseexcept - # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c35ffed - patch -p1 -i ${srcdir}/glibc-2.15-feraiseexcept-plt.patch - - # vfprintf nargs overflow - CVE-2012-0864 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c1f4834 - patch -p1 -i ${srcdir}/glibc-2.15-vfprintf-nargs.patch - - # avoid out ouf bounds read in __libc_res_nquerydomain - # http://sourceware.org/git/?p=glibc.git;a=commit;h=8fdceb2e - patch -p1 -i ${srcdir}/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch - - # make fmtmsg function thread-safe - # http://sourceware.org/git/?p=glibc.git;a=commit;h=7724defc - patch -p1 -i ${srcdir}/glibc-2.15-fmtmsg-locking.patch - - # use non-signaling floating-point comparisons in math functions - # http://sourceware.org/git/?p=glibc.git;a=commit;h=92221550 - patch -p1 -i ${srcdir}/glibc-2.15-non-signalling-comparisons.patch - - # fix rintf rounding. - # http://sourceware.org/git/?p=glibc.git;a=commit;h=fe45ce09 - patch -p1 -i ${srcdir}/glibc-2.15-rintf-rounding.patch - - # fix nearbyintf rounding - # http://sourceware.org/git/?p=glibc.git;a=commit;h=6cbeae47 - patch -p1 -i ${srcdir}/glibc-2.15-nearbyintf-rounding.patch - - # fix varaible scope issue in confstr - # http://sourceware.org/git/?p=glibc.git;a=commit;h=ac4c54f0 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=d6a403f9 - patch -p1 -i ${srcdir}/glibc-2.15-confstr-local-buffer-extent.patch - - # fix testsuite failures with --as-needed - # http://sourceware.org/git/?p=glibc.git;a=commit;h=d4c2917f - patch -p1 -i ${srcdir}/glibc-2.15-testsuite.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 # TODO: make separate glibc-xen package for i686 export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" + export CC="gcc -m32" echo "slibdir=/usr/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 \ + ${srcdir}/${_pkgbasename}-${pkgver}/configure --prefix=/usr \ --libdir=/usr/lib32 --libexecdir=/usr/lib32 \ --with-headers=/usr/include \ --enable-add-ons=nptl,libidn \ + --enable-obsolete-rpc \ --enable-kernel=2.6.32 \ --enable-bind-now --disable-profile \ + --enable-stackguard-randomization \ --enable-multi-arch i686-unknown-linux-gnu # build libraries with hardening disabled @@ -265,9 +104,9 @@ package() { strip $STRIP_STATIC usr/lib32/*.a - strip $STRIP_SHARED usr/lib32/{libanl,libBrokenLocale,libcidn,libcrypt}-${pkgver}.so \ - usr/lib32/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-${pkgver}.so \ - usr/lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \ + strip $STRIP_SHARED usr/lib32/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \ + usr/lib32/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \ + usr/lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \ usr/lib32/{libmemusage,libpcprofile,libSegFault}.so \ usr/lib32/{pt_chown,{audit,gconv}/*.so} diff --git a/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch b/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch index f532b95e8..d8894723a 100644 --- a/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch +++ b/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch @@ -118,9 +118,9 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde #include <tcb-offsets.h> #include <pthread-pi-defines.h> -#include <pthread-errnos.h> + #include <stap-probe.h> #include <kernel-features.h> - @@ -137,14 +136,11 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 61f @@ -161,7 +161,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde -#if cond_lock != 0 - addq $cond_lock, %rdi -#endif -- cmpq $-1, dep_mutex-cond_lock(%rdi) +- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) - movl $LLL_PRIVATE, %eax - movl $LLL_SHARED, %esi - cmovne %eax, %esi @@ -187,7 +187,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde -#if cond_lock != 0 - addq $cond_lock, %rdi -#endif -- cmpq $-1, dep_mutex-cond_lock(%rdi) +- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) - movl $LLL_PRIVATE, %eax - movl $LLL_SHARED, %esi - cmovne %eax, %esi @@ -199,7 +199,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde -93: - /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ - xorq %r10, %r10 -- movq dep_mutex(%rdi), %r8 +- mov dep_mutex(%rdi), %R8_LP - leaq cond_futex(%rdi), %rdi - jmp 90b -.LcleanupEND2: @@ -224,6 +224,3 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde + .uleb128 0 .Lcstend: - -Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.orig -Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.rej diff --git a/multilib/gcc-multilib/PKGBUILD b/multilib/gcc-multilib/PKGBUILD index a46b67ee0..d60b23620 100644 --- a/multilib/gcc-multilib/PKGBUILD +++ b/multilib/gcc-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 72673 2012-06-19 12:27:24Z allan $ +# $Id: PKGBUILD 73180 2012-07-03 10:45:06Z allan $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -8,7 +8,7 @@ pkgbase='gcc-multilib' pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') pkgver=4.7.1 -pkgrel=1 +pkgrel=3 #_snapshot=4.7-20120505 _libstdcppmanver=20120605 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection for multilib" @@ -23,13 +23,11 @@ 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-multilib.patch - gcc-4.7.0-cloog-0.17.patch gcc-4.7.1-libada-pic.patch gcc-4.7.1-libgo-write.patch) md5sums=('933e6f15f51c031060af64a9e14149ff' '767c62f9a047c4434f2345decf1d0819' 'ec24c32d3d1030c2bc8cb2ad2d1dc629' - '575f7d17b022e609447a590e481b18b5' '2acbc9d35cc9d72329dc71d6b1f162ef' 'df82dd175ac566c8a6d46b11ac21f14c') @@ -51,9 +49,6 @@ build() { patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch - # compatibility with latest cloog - patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679 patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch @@ -76,6 +71,7 @@ build() { --disable-libstdcxx-pch --enable-libstdcxx-time \ --enable-gnu-unique-object --enable-linker-build-id \ --with-ppl --enable-cloog-backend=isl \ + --disable-ppl-version-check --disable-cloog-version-check \ --enable-lto --enable-gold --enable-ld=default \ --enable-plugin --with-plugin-ld=ld.gold \ --with-linker-hash-style=gnu \ @@ -194,8 +190,8 @@ package_gcc-multilib() rm $pkgdir/usr/share/man/man3/ffi* # many packages require these symlinks - install -dm755 ${pkgdir}/lib - ln -s /usr/bin/cpp ${pkgdir}/lib/cpp + #install -dm755 ${pkgdir}/lib + #ln -s /usr/bin/cpp ${pkgdir}/lib/cpp ln -s gcc ${pkgdir}/usr/bin/cc # POSIX conformance launcher scripts for c89 and c99 diff --git a/multilib/lib32-glibc/PKGBUILD b/multilib/lib32-glibc/PKGBUILD index cf034c7d9..2fae57f62 100644 --- a/multilib/lib32-glibc/PKGBUILD +++ b/multilib/lib32-glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 68827 2012-04-03 11:11:51Z allan $ +# $Id: PKGBUILD 73226 2012-07-04 00:49:28Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> @@ -9,7 +9,7 @@ _pkgbasename=glibc pkgname=lib32-$_pkgbasename pkgver=2.15 -pkgrel=10 +pkgrel=11 _glibcdate=20111227 pkgdesc="GNU C Library for multilib" arch=('x86_64') @@ -22,7 +22,6 @@ source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcda glibc-2.15-do-not-install-timezone-files.patch glibc-2.15-do-not-install-timezone-files-2.patch glibc-__i686.patch - glibc-2.12.2-ignore-origin-of-privileged-program.patch glibc-2.14-libdl-crash.patch glibc-2.14-reexport-rpc-interface.patch glibc-2.14-reinstall-nis-rpc-headers.patch @@ -34,7 +33,7 @@ source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcda glibc-2.15-ifunc.patch glibc-2.15-avx.patch glibc-2.15-strcasecmp-disable-avx.patch - glibc-2.15-gb18030.patch + glibc-2.15-gb18030.patch.gz glibc-2.15-revert-netlink-cache.patch glibc-2.15-arena.patch glibc-2.15-negative-result-cache.patch @@ -48,12 +47,12 @@ source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcda glibc-2.15-rintf-rounding.patch glibc-2.15-nearbyintf-rounding.patch glibc-2.15-confstr-local-buffer-extent.patch + glibc-2.15-testsuite.patch lib32-glibc.conf) md5sums=('6ffdf5832192b92f98bdd125317c0dfc' '7ef69c530a15106de93e4de2df2d393e' 'b6c619e5cf91829a15ce34dccef676d5' 'addfddd648a4bf832eb126aba944ebae' - 'e60e33591c9ec1447e4cddadcbb9cf3a' '6970bcfeb3bf88913436d5112d16f588' 'c5de2a946215d647c8af5432ec4b0da0' '55febbb72139ac7b65757df085024b83' @@ -65,7 +64,7 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc' '3d844b53b2dbb7c996e39c7ad932f55d' '41ae047ac88e8f6f547c70b0a0bc3b72' 'fccb89f6628f59752278e125c35941f8' - 'c4cd34f20ccd37817f6c1374bd4ee68e' + '001a4044ac3d59aca6ee144eaca57ab2' '94b61302a7ca6c5764d013dc7738fcfe' 'a9ffadcfd2d357f91fee0b861fd4a7c6' '2c46b8e294de24c531f2253ff69aeef3' @@ -79,6 +78,7 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc' '1419d61fd1dbc6cdc48bb59da86fa66f' '7ff501435078b1a2622124fbeaafc921' '8d1023a51e0932681b46440d5f8551ee' + '6962c3fa29306bfbf6f0d22b19cb825d' '6e052f1cb693d5d3203f50f9d4e8c33b') build() { @@ -94,10 +94,6 @@ build() { # http://sourceware.org/glibc/wiki/Release/2.15#Build_Failures patch -p1 -i ${srcdir}/glibc-__i686.patch - # http://www.exploit-db.com/exploits/15274/ - # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (fedora branch) # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html patch -p1 -i ${srcdir}/glibc-2.14-libdl-crash.patch @@ -148,7 +144,7 @@ build() { patch -p1 -i ${srcdir}/glibc-2.15-gb18030.patch # fix crash in __nscd_get_mapping if nscd not running - # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 (potential "fix" in comment) + # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 (potential fix in comment) # reverts commit 3a2c0242 and other necessary following changes... patch -p1 -i ${srcdir}/glibc-2.15-revert-netlink-cache.patch @@ -201,6 +197,10 @@ build() { # http://sourceware.org/git/?p=glibc.git;a=commit;h=d6a403f9 patch -p1 -i ${srcdir}/glibc-2.15-confstr-local-buffer-extent.patch + # fix testsuite failures with --as-needed + # http://sourceware.org/git/?p=glibc.git;a=commit;h=d4c2917f + patch -p1 -i ${srcdir}/glibc-2.15-testsuite.patch + cd ${srcdir} mkdir glibc-build cd glibc-build @@ -222,9 +222,7 @@ build() { --with-headers=/usr/include \ --enable-add-ons=nptl,libidn \ --enable-kernel=2.6.32 \ - --with-tls --with-__thread \ - --enable-bind-now --without-gd \ - --without-cvs --disable-profile \ + --enable-bind-now --disable-profile \ --enable-multi-arch i686-unknown-linux-gnu # build libraries with hardening disabled @@ -232,7 +230,7 @@ build() { make # re-enable hardening for programs - sed -i "s#=no#=yes#" configparms + sed -i "/build-programs=/s#no#yes#" configparms echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms make @@ -243,9 +241,7 @@ build() { check() { cd ${srcdir}/glibc-build - - # some errors are expected - manually check log files - make -k check || true + make -k check } package() { diff --git a/multilib/lib32-glibc/glibc-2.15-gb18030.patch.gz b/multilib/lib32-glibc/glibc-2.15-gb18030.patch.gz Binary files differnew file mode 100644 index 000000000..dde59c056 --- /dev/null +++ b/multilib/lib32-glibc/glibc-2.15-gb18030.patch.gz diff --git a/multilib/lib32-glibc/glibc-2.15-testsuite.patch b/multilib/lib32-glibc/glibc-2.15-testsuite.patch new file mode 100644 index 000000000..7eaeaed65 --- /dev/null +++ b/multilib/lib32-glibc/glibc-2.15-testsuite.patch @@ -0,0 +1,110 @@ +From d4c2917fc5091dae7ab1b30c165becb70d3c3453 Mon Sep 17 00:00:00 2001 +From: Allan McRae <allan@archlinux.org> +Date: Mon, 16 Apr 2012 14:06:47 +1000 +Subject: [PATCH] Fix test-suite failues with -Wl,--as-needed + +Signed-off-by: Allan McRae <allan@archlinux.org> +--- + ChangeLog | 24 ++++++++++++++++++++++++ + elf/Makefile | 21 ++++++++++++++++++++- + nptl/ChangeLog | 5 +++++ + nptl/Makefile | 3 ++- + stdlib/Makefile | 1 + + 5 files changed, 52 insertions(+), 2 deletions(-) + +diff --git a/elf/Makefile b/elf/Makefile +index 57dcab0..47729c3 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -500,6 +500,18 @@ $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb + $(objpfx)tst-initordera4.so: $(objpfx)tst-initordera3.so + $(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so $(objpfx)tst-initorderb2.so + ++LDFLAGS-nodel2mod3.so = $(no-as-needed) ++LDFLAGS-reldepmod5.so = $(no-as-needed) ++LDFLAGS-reldep6mod1.so = $(no-as-needed) ++LDFLAGS-reldep6mod4.so = $(no-as-needed) ++LDFLAGS-reldep8mod3.so = $(no-as-needed) ++LDFLAGS-unload4mod1.so = $(no-as-needed) ++LDFLAGS-unload4mod2.so = $(no-as-needed) ++LDFLAGS-tst-initorder = $(no-as-needed) ++LDFLAGS-tst-initordera2.so = $(no-as-needed) ++LDFLAGS-tst-initordera3.so = $(no-as-needed) ++LDFLAGS-tst-initordera4.so = $(no-as-needed) ++LDFLAGS-tst-initorderb2.so = $(no-as-needed) + LDFLAGS-tst-tlsmod5.so = -nostdlib + LDFLAGS-tst-tlsmod6.so = -nostdlib + +@@ -633,7 +645,7 @@ $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so) + vismain-ENV = LD_PRELOAD=$(addprefix $(objpfx),vismod3.so) + + $(objpfx)noload: $(objpfx)testobj1.so $(common-objpfx)dlfcn/libdl.so +-LDFLAGS-noload = -rdynamic ++LDFLAGS-noload = -rdynamic $(no-as-needed) + $(objpfx)noload.out: $(objpfx)testobj5.so + + $(objpfx)noload-mem: $(objpfx)noload.out +@@ -678,6 +690,7 @@ $(objpfx)reldep4: $(libdl) + $(objpfx)reldep4.out: $(objpfx)reldep4mod1.so $(objpfx)reldep4mod2.so + + $(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so $(libdl) ++LDFLAGS-next = $(no-as-needed) + + $(objpfx)unload2: $(libdl) + $(objpfx)unload2.out: $(objpfx)unload2mod.so $(objpfx)unload2dep.so +@@ -1025,6 +1038,8 @@ $(objpfx)order2mod1.so: $(objpfx)order2mod4.so + $(objpfx)order2mod4.so: $(objpfx)order2mod3.so + $(objpfx)order2mod2.so: $(objpfx)order2mod3.so + order2mod2.so-no-z-defs = yes ++LDFLAGS-order2mod1.so = $(no-as-needed) ++LDFLAGS-order2mod2.so = $(no-as-needed) + + tst-stackguard1-ARGS = --command "$(built-program-cmd) --child" + tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child" +@@ -1113,6 +1128,10 @@ $(objpfx)tst-initorder2: $(objpfx)tst-initorder2a.so $(objpfx)tst-initorder2d.so + $(objpfx)tst-initorder2a.so: $(objpfx)tst-initorder2b.so + $(objpfx)tst-initorder2b.so: $(objpfx)tst-initorder2c.so + $(objpfx)tst-initorder2c.so: $(objpfx)tst-initorder2d.so ++LDFLAGS-tst-initorder2 = $(no-as-needed) ++LDFLAGS-tst-initorder2a.so = $(no-as-needed) ++LDFLAGS-tst-initorder2b.so = $(no-as-needed) ++LDFLAGS-tst-initorder2c.so = $(no-as-needed) + define o-iterator-doit + $(objpfx)tst-initorder2$o.os: tst-initorder2.c; \ + $$(compile-command.c) -DNAME=\"$o\" +diff --git a/nptl/Makefile b/nptl/Makefile +index 09acd8a..07a1022 100644 +--- a/nptl/Makefile ++++ b/nptl/Makefile +@@ -458,6 +458,7 @@ $(objpfx)tst-tls4: $(libdl) $(shared-thread-library) + $(objpfx)tst-tls4.out: $(objpfx)tst-tls4moda.so $(objpfx)tst-tls4modb.so + + $(objpfx)tst-tls5: $(objpfx)tst-tls5mod.so $(shared-thread-library) ++LDFLAGS-tst-tls5 = $(no-as-needed) + LDFLAGS-tst-tls5mod.so = -Wl,-soname,tst-tls5mod.so + + ifeq ($(build-shared),yes) +@@ -503,7 +504,7 @@ $(objpfx)tst-clock2: $(common-objpfx)rt/librt.a + $(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.a + endif + +-LDFLAGS-tst-cancel24 = -lstdc++ ++LDFLAGS-tst-cancel24 = $(no-as-needed) -lstdc++ + + extra-B-pthread.so = -B$(common-objpfx)nptl/ + $(objpfx)libpthread.so: $(addprefix $(objpfx),$(crti-objs) $(crtn-objs)) +diff --git a/stdlib/Makefile b/stdlib/Makefile +index 44eb20d..f7811c5 100644 +--- a/stdlib/Makefile ++++ b/stdlib/Makefile +@@ -138,6 +138,7 @@ $(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/ + + $(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so ++LDFLAGS-tst-putenv = $(no-as-needed) + + $(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os + $(build-module) +-- +1.7.3.4 + diff --git a/multilib/wine/PKGBUILD b/multilib/wine/PKGBUILD index 57b4d1b55..59d7c4df5 100644 --- a/multilib/wine/PKGBUILD +++ b/multilib/wine/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 72833 2012-06-23 11:37:18Z svenstaro $ +# $Id: PKGBUILD 73204 2012-07-03 22:31:57Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Eduardo Romero <eduardo@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=wine -pkgver=1.5.7 +pkgver=1.5.8 pkgrel=1 _pkgbasever=${pkgver/rc/-rc} source=(http://prdownloads.sourceforge.net/$pkgname/$pkgname-$_pkgbasever.tar.bz2) -md5sums=('fde93976e0178a00dce55d2f43022e5b') +md5sums=('68ec9abe25b84104228cb24e7ff98c41') pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD new file mode 100644 index 000000000..79b1e53ab --- /dev/null +++ b/testing/binutils/PKGBUILD @@ -0,0 +1,95 @@ +# $Id: PKGBUILD 162939 2012-07-04 01:12:41Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=binutils +pkgver=2.22 +pkgrel=8 +_date=20120323 +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') +groups=('base-devel') +depends=('glibc>=2.16' 'zlib') +checkdepends=('dejagnu') +options=('!libtool' '!distcc' '!ccache') +install=binutils.install +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2) +md5sums=('de2ac4298732827f8af706fc24020330') + +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 + + # Rebuild libiberty.a with -fPIC + cp -a libiberty libiberty-pic + make -C libiberty-pic clean + make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic + + # Rebuild libbfd.a with -fPIC + # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API + cp -a bfd bfd-pic + make -C bfd-pic clean + make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic + + # Rebuild libopcodes.a with -fPIC + cp -a opcodes opcodes-pic + make -C opcodes-pic clean + make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic +} + +check() { + cd ${srcdir}/binutils-build + + # do not abort on errors - manually check log files + # gold testsuite does not build with _FORTIFY_SOURCE (due to -O0 -Werror) + make CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" \ + CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" -k 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 + + # install libraries rebuilt with -fPIC + install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib + install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib + install -m644 opcodes/libopcodes.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 index 6d1a84798..721cbafd6 100644 --- a/testing/gcc/PKGBUILD +++ b/testing/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162845 2012-07-01 22:08:41Z allan $ +# $Id: PKGBUILD 162941 2012-07-04 01:13:02Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') pkgver=4.7.1 -pkgrel=3 +pkgrel=4 #_snapshot=4.7-20120505 _libstdcppmanver=20120605 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection" @@ -21,12 +21,14 @@ source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 gcc_pure64.patch gcc-4.7.1-libada-pic.patch - gcc-4.7.1-libgo-write.patch) + gcc-4.7.1-libgo-write.patch + gcc-4.7.1-libgo-mksysinfo.patch) md5sums=('933e6f15f51c031060af64a9e14149ff' '767c62f9a047c4434f2345decf1d0819' 'ced48436c1b3c981d721a829f1094de1' '2acbc9d35cc9d72329dc71d6b1f162ef' - 'df82dd175ac566c8a6d46b11ac21f14c') + 'df82dd175ac566c8a6d46b11ac21f14c' + '8e847244dba042d0aa3297713edaf70c') if [ -n "${_snapshot}" ]; then @@ -54,6 +56,9 @@ build() { # bug to file... patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch + # http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01946.html + patch -p0 -i ${srcdir}/gcc-4.7.1-libgo-mksysinfo.patch + echo ${pkgver} > gcc/BASE-VER cd ${srcdir} @@ -96,7 +101,7 @@ package_gcc-libs() { pkgdesc="Runtime libraries shipped by GCC" groups=('base') - depends=('glibc>=2.15') + depends=('glibc>=2.16') install=gcc-libs.install cd gcc-build diff --git a/testing/gcc/gcc-4.7.1-libgo-mksysinfo.patch b/testing/gcc/gcc-4.7.1-libgo-mksysinfo.patch new file mode 100644 index 000000000..427efe8a6 --- /dev/null +++ b/testing/gcc/gcc-4.7.1-libgo-mksysinfo.patch @@ -0,0 +1,15 @@ +--- libgo/mksysinfo.sh 2012-06-29 14:23:30.684708901 +0200 ++++ libgo/mksysinfo.sh 2012-06-29 14:23:20.782761973 +0200 +@@ -522,10 +522,10 @@ grep '^const _DT_' gen-sysinfo.go | + # The rusage struct. + rusage=`grep '^type _rusage struct' gen-sysinfo.go` + if test "$rusage" != ""; then +- rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'` +- rusage=`echo $rusage | sed -e 's/^ *//'` + # Remove anonymous unions from GNU/Linux <bits/resource.h>. + rusage=`echo $rusage | sed -e 's/Godump_[0-9]* struct {\([^}]*\)};/\1/g'` ++ rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'` ++ rusage=`echo $rusage | sed -e 's/^ *//'` + nrusage= + while test -n "$rusage"; do + field=`echo $rusage | sed -e 's/^\([^;]*\);.*$/\1/'` diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD index 1e82d8ce2..a8f025ac5 100644 --- a/testing/glibc/PKGBUILD +++ b/testing/glibc/PKGBUILD @@ -1,230 +1,53 @@ -# $Id: PKGBUILD 161927 2012-06-16 17:14:28Z dreisner $ +# $Id: PKGBUILD 162943 2012-07-04 01:13:22Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc # NOTE: valgrind requires rebuilt with each major glibc version pkgname=glibc -pkgver=2.15 -pkgrel=12 -_glibcdate=20111227 +pkgver=2.16.0 +pkgrel=1 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.3' 'tzdata') -makedepends=('gcc>=4.6') +depends=('linux-api-headers>=3.4' 'tzdata') +makedepends=('gcc>=4.7') 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.15-do-not-install-timezone-files.patch - glibc-2.15-do-not-install-timezone-files-2.patch - glibc-__i686.patch - glibc-2.14-libdl-crash.patch - glibc-2.14-reexport-rpc-interface.patch - glibc-2.14-reinstall-nis-rpc-headers.patch +source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} glibc-2.15-fix-res_query-assert.patch - glibc-2.15-regex.patch - glibc-2.15-lddebug-scopes.patch glibc-2.15-revert-c5a0802a.patch - glibc-2.15-scanf.patch - glibc-2.15-ifunc.patch - glibc-2.15-avx.patch - glibc-2.15-strcasecmp-disable-avx.patch - glibc-2.15-gb18030.patch.gz - glibc-2.15-revert-netlink-cache.patch - glibc-2.15-arena.patch - glibc-2.15-negative-result-cache.patch - glibc-2.15-multiarch-x86-strcmp.patch - glibc-2.15-vdso.patch - glibc-2.15-feraiseexcept-plt.patch - glibc-2.15-vfprintf-nargs.patch - glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch - glibc-2.15-fmtmsg-locking.patch - glibc-2.15-non-signalling-comparisons.patch - glibc-2.15-rintf-rounding.patch - glibc-2.15-nearbyintf-rounding.patch - glibc-2.15-confstr-local-buffer-extent.patch - glibc-2.15-testsuite.patch nscd.rcd nscd.service nscd.tmpfiles locale.gen.txt locale-gen) -md5sums=('6ffdf5832192b92f98bdd125317c0dfc' - '7ef69c530a15106de93e4de2df2d393e' - 'b6c619e5cf91829a15ce34dccef676d5' - 'addfddd648a4bf832eb126aba944ebae' - '6970bcfeb3bf88913436d5112d16f588' - 'c5de2a946215d647c8af5432ec4b0da0' - '55febbb72139ac7b65757df085024b83' +md5sums=('80b181b02ab249524ec92822c0174cf7' + '2a1221a15575820751c325ef4d2fbb90' '31f415b41197d85d3bbee3d1eecd06a3' - 'b3526cbd5e29773560dba725db99af5a' - '3c219ddfb619b6df903cac4cc42c611d' - '7ae3e426251ae33e73dbad71f9c91378' - 'f0782ddbf38e0b30ec6b85348816046f' - '3d844b53b2dbb7c996e39c7ad932f55d' - '41ae047ac88e8f6f547c70b0a0bc3b72' - 'fccb89f6628f59752278e125c35941f8' - '001a4044ac3d59aca6ee144eaca57ab2' - '94b61302a7ca6c5764d013dc7738fcfe' - 'a9ffadcfd2d357f91fee0b861fd4a7c6' - '2c46b8e294de24c531f2253ff69aeef3' - '7a2998a04ebfcf8bf820540f490ce714' - '0d77d20fa7fe2f87ad945cb9edb4d91d' - 'bfdefac3d705f41fbf84b1de1dc945af' - '3443e89c1e98089cd6c3e3c23f0c3d85' - '340deaa582a95ddde86edb624c3bfea0' - '6bbac50e6ff82187654e6a0a7bd849e7' - 'c483504cf404ed0b44480af627813a97' - '1419d61fd1dbc6cdc48bb59da86fa66f' - '7ff501435078b1a2622124fbeaafc921' - '8d1023a51e0932681b46440d5f8551ee' - '6962c3fa29306bfbf6f0d22b19cb825d' + '0a0383d50d63f1c02919fe9943b82014' '589d79041aa767a5179eaa4e2737dd3f' 'ad8a9af15ab7eeaa23dc7ee85024af9f' 'bccbe5619e75cf1d97312ec3681c605c' '07ac979b6ab5eeb778d55f041529d623' '476e9113489f93b348b21e144b6a8fcf') - -mksource() { - git clone git://sourceware.org/git/glibc.git - pushd glibc - #git checkout -b glibc-2.15-arch origin/release/2.15/master - git checkout -b glibc-2.15-arch origin/master - popd - tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/* -} - - build() { - cd ${srcdir}/glibc - - # timezone data is in separate package (tzdata) - # http://sourceware.org/git/?p=glibc.git;a=commit;h=482ff4da - patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files.patch - # http://sourceware.org/git/?p=glibc.git;a=commit;h=a458e7fe - patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files-2.patch - - # undefine __i686 - # http://sourceware.org/glibc/wiki/Release/2.15#Build_Failures - patch -p1 -i ${srcdir}/glibc-__i686.patch - - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (fedora branch) - # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html - patch -p1 -i ${srcdir}/glibc-2.14-libdl-crash.patch - - # re-export RPC interface until libtirpc is ready as a replacement - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch + cd ${srcdir}/${pkgname}-${pkgver} # fix res_query assertion # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 patch -p1 -i ${srcdir}/glibc-2.15-fix-res_query-assert.patch - # fix up regcomp/regexec - # http://sourceware.org/git/?p=glibc.git;a=commit;h=2ba92745 - patch -p1 -i ${srcdir}/glibc-2.15-regex.patch - - # propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223 - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch - # revert commit c5a0802a - causes various hangs - # https://bugzilla.redhat.com/show_bug.cgi?id=769421 - # Note: fedora may have actual fix (not submitted upstream yet...) - # http://pkgs.fedoraproject.org/gitweb/?p=glibc.git;a=blob_plain;f=glibc-rh552960-2.patch + # https://bugzilla.redhat.com/show_bug.cgi?id=552960 patch -p1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch - # fix realloc usage in vfscanf - # http://sourceware.org/git/?p=glibc.git;a=commit;h=20b38e03 - patch -p1 -i ${srcdir}/glibc-2.15-scanf.patch - - # fix ifunc relocations - # http://sourceware.org/git/?p=glibc.git;a=commit;h=6ee65ed6 - patch -p1 -i ${srcdir}/glibc-2.15-ifunc.patch - - # fix AVX detection - # http://sourceware.org/git/?p=glibc.git;a=commit;h=afc5ed09 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=08cf777f - patch -p1 -i ${srcdir}/glibc-2.15-avx.patch - # and "fix" strcasecmp - patch -p1 -i ${srcdir}/glibc-2.15-strcasecmp-disable-avx.patch - - # fix GB18030 charmap - # http://sourceware.org/bugzilla/show_bug.cgi?id=11837 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=2a57bd79 (fedora branch) - # http://sourceware.org/git/?p=glibc.git;a=commit;h=3d828a61 (fedora branch) - patch -p1 -i ${srcdir}/glibc-2.15-gb18030.patch - - # fix crash in __nscd_get_mapping if nscd not running - # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 (potential fix in comment) - # reverts commit 3a2c0242 and other necessary following changes... - patch -p1 -i ${srcdir}/glibc-2.15-revert-netlink-cache.patch - - # handle ARENA_TEST correctly - # http://sourceware.org/git/?p=glibc.git;a=commit;h=41b81892 - patch -p1 -i ${srcdir}/glibc-2.15-arena.patch - - # Do not cache negative results in nscd if these are transient - # http://sourceware.org/git/?p=glibc.git;a=commit;h=3e1aa84e - patch -p1 -i ${srcdir}/glibc-2.15-negative-result-cache.patch - - # strcasecmp_l, strncasecmp_l act as strcmp for multiarch x86 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=0bab47b6 - patch -p1 -i ${srcdir}/glibc-2.15-multiarch-x86-strcmp.patch - - # always set l_used for vDSO. - # http://sourceware.org/git/?p=glibc.git;a=commit;h=1f393a11 - patch -p1 -i ${srcdir}/glibc-2.15-vdso.patch - - # fix x86 PLT slot usage for feraiseexcept - # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c35ffed - patch -p1 -i ${srcdir}/glibc-2.15-feraiseexcept-plt.patch - - # vfprintf nargs overflow - CVE-2012-0864 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c1f4834 - patch -p1 -i ${srcdir}/glibc-2.15-vfprintf-nargs.patch - - # avoid out ouf bounds read in __libc_res_nquerydomain - # http://sourceware.org/git/?p=glibc.git;a=commit;h=8fdceb2e - patch -p1 -i ${srcdir}/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch - - # make fmtmsg function thread-safe - # http://sourceware.org/git/?p=glibc.git;a=commit;h=7724defc - patch -p1 -i ${srcdir}/glibc-2.15-fmtmsg-locking.patch - - # use non-signaling floating-point comparisons in math functions - # http://sourceware.org/git/?p=glibc.git;a=commit;h=92221550 - patch -p1 -i ${srcdir}/glibc-2.15-non-signalling-comparisons.patch - - # fix rintf rounding. - # http://sourceware.org/git/?p=glibc.git;a=commit;h=fe45ce09 - patch -p1 -i ${srcdir}/glibc-2.15-rintf-rounding.patch - - # fix nearbyintf rounding - # http://sourceware.org/git/?p=glibc.git;a=commit;h=6cbeae47 - patch -p1 -i ${srcdir}/glibc-2.15-nearbyintf-rounding.patch - - # fix varaible scope issue in confstr - # http://sourceware.org/git/?p=glibc.git;a=commit;h=ac4c54f0 - # http://sourceware.org/git/?p=glibc.git;a=commit;h=d6a403f9 - patch -p1 -i ${srcdir}/glibc-2.15-confstr-local-buffer-extent.patch - - # fix testsuite failures with --as-needed - # http://sourceware.org/git/?p=glibc.git;a=commit;h=d4c2917f - patch -p1 -i ${srcdir}/glibc-2.15-testsuite.patch - - install -dm755 ${pkgdir}/etc - touch ${pkgdir}/etc/ld.so.conf - cd ${srcdir} mkdir glibc-build cd glibc-build @@ -241,12 +64,14 @@ build() { CFLAGS=${CFLAGS/-fstack-protector/} CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} - ${srcdir}/glibc/configure --prefix=/usr \ + ${srcdir}/${pkgname}-${pkgver}/configure --prefix=/usr \ --libdir=/usr/lib --libexecdir=/usr/lib \ --with-headers=/usr/include \ --enable-add-ons=nptl,libidn \ + --enable-obsolete-rpc \ --enable-kernel=2.6.32 \ --enable-bind-now --disable-profile \ + --enable-stackguard-randomization \ --enable-multi-arch # build libraries with hardening disabled @@ -270,39 +95,37 @@ check() { package() { cd ${srcdir}/glibc-build + + install -dm755 ${pkgdir}/etc + touch ${pkgdir}/etc/ld.so.conf + make install_root=${pkgdir} install rm -f ${pkgdir}/etc/ld.so.{cache,conf} install -dm755 ${pkgdir}/{etc/rc.d,usr/{sbin,lib/{,locale,systemd/system,tmpfiles.d}}} - install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf + install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf install -m755 ${srcdir}/nscd.rcd ${pkgdir}/etc/rc.d/nscd install -m644 ${srcdir}/nscd.service ${pkgdir}/usr/lib/systemd/system install -m644 ${srcdir}/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf - install -m644 ${srcdir}/glibc/posix/gai.conf ${pkgdir}/etc/gai.conf + install -m644 ${srcdir}/${pkgname}-${pkgver}/posix/gai.conf ${pkgdir}/etc/gai.conf install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin # 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 + sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \ + ${srcdir}/glibc-2.16.0/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen if [[ ${CARCH} = "x86_64" ]]; then - # fix for the linker + # fix paths and compliance with binary blobs... 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* . + ln -s /lib ${pkgdir}/lib64 fi - + # Do not strip the following files for improved debugging support # ("improved" as in not breaking gdb and valgrind...): # ld-${pkgver}.so @@ -320,9 +143,9 @@ package() { strip $STRIP_STATIC usr/lib/*.a - strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libcidn,libcrypt}-${pkgver}.so \ - lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-${pkgver}.so \ - lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \ + strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \ + lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \ + lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \ lib/{libmemusage,libpcprofile,libSegFault}.so \ usr/lib/{pt_chown,{audit,gconv}/*.so} } diff --git a/testing/glibc/glibc-2.15-revert-c5a0802a.patch b/testing/glibc/glibc-2.15-revert-c5a0802a.patch index f532b95e8..d8894723a 100644 --- a/testing/glibc/glibc-2.15-revert-c5a0802a.patch +++ b/testing/glibc/glibc-2.15-revert-c5a0802a.patch @@ -118,9 +118,9 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde #include <tcb-offsets.h> #include <pthread-pi-defines.h> -#include <pthread-errnos.h> + #include <stap-probe.h> #include <kernel-features.h> - @@ -137,14 +136,11 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 61f @@ -161,7 +161,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde -#if cond_lock != 0 - addq $cond_lock, %rdi -#endif -- cmpq $-1, dep_mutex-cond_lock(%rdi) +- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) - movl $LLL_PRIVATE, %eax - movl $LLL_SHARED, %esi - cmovne %eax, %esi @@ -187,7 +187,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde -#if cond_lock != 0 - addq $cond_lock, %rdi -#endif -- cmpq $-1, dep_mutex-cond_lock(%rdi) +- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) - movl $LLL_PRIVATE, %eax - movl $LLL_SHARED, %esi - cmovne %eax, %esi @@ -199,7 +199,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde -93: - /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ - xorq %r10, %r10 -- movq dep_mutex(%rdi), %r8 +- mov dep_mutex(%rdi), %R8_LP - leaq cond_futex(%rdi), %rdi - jmp 90b -.LcleanupEND2: @@ -224,6 +224,3 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde + .uleb128 0 .Lcstend: - -Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.orig -Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.rej diff --git a/testing/kmod/PKGBUILD b/testing/kmod/PKGBUILD index e4c947e97..a510578de 100644 --- a/testing/kmod/PKGBUILD +++ b/testing/kmod/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162116 2012-06-20 13:14:03Z dreisner $ +# $Id: PKGBUILD 162918 2012-07-04 00:18:58Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgname=kmod pkgver=9 -pkgrel=1 +pkgrel=2 pkgdesc="Linux kernel module handling" arch=('i686' 'x86_64') url='http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary' @@ -13,18 +13,15 @@ options=('!libtool') provides=('module-init-tools=3.16') conflicts=('module-init-tools') replaces=('module-init-tools') +install=kmod.install source=("ftp://ftp.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar.xz" - "depmod-search.conf" - "0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch") + "depmod-search.conf") md5sums=('c8ae2d2694fbca2b28e238b30543a0cd' - 'dd62cbf62bd8f212f51ef8c43bec9a77' - 'b099be8997331dcb549617188cabc6af') + 'dd62cbf62bd8f212f51ef8c43bec9a77') build() { cd "$pkgname-$pkgver" - patch -Np1 <"$srcdir"/0002-config-hardcode-the-path-to-modules-to-be-lib-module.patch - ./configure \ --sysconfdir=/etc \ --with-zlib \ diff --git a/testing/kmod/kmod.install b/testing/kmod/kmod.install new file mode 100644 index 000000000..0a2e88dc5 --- /dev/null +++ b/testing/kmod/kmod.install @@ -0,0 +1,9 @@ +#!/bin/sh + +post_upgrade() { + if [ "$(vercmp 9-2 "$2")" -eq 1 ]; then + echo "==> Kernel modules are now only read from /usr/lib/modules, all custom" + echo " built kernels and modules must be moved there before rebooting." + fi +} + diff --git a/testing/libusb-compat/PKGBUILD b/testing/libusb-compat/PKGBUILD new file mode 100644 index 000000000..3e4235ff4 --- /dev/null +++ b/testing/libusb-compat/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 162897 2012-07-03 09:52:18Z tpowa $ +# Maintainer: +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: arjan <arjan@archlinux.org> + +pkgname=libusb-compat +pkgver=0.1.4 +pkgrel=2 +pkgdesc="Library to enable user space application programs to communicate with USB devices" +arch=('i686' 'x86_64') +url="http://libusb.sourceforge.net/" +license=('LGPL') +depends=('libusb' 'sh') +options=('!libtool') +source=("http://downloads.sourceforge.net/${pkgname%-*}/${pkgname}-${pkgver%.*}/$pkgname-$pkgver/${pkgname}-${pkgver}.tar.bz2" + "libusb-0.1-libusbx.patch") +md5sums=('2ca521fffadd0c28fdf174e6ec73865b' + '1612c3982f307da1332d6db57b16742b') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # http://libusb.org/ticket/138 can be removed with libusbx 1.0.13 + patch -Np0 -i ../libusb-0.1-libusbx.patch + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + diff --git a/testing/libusb-compat/libusb-0.1-libusbx.patch b/testing/libusb-compat/libusb-0.1-libusbx.patch new file mode 100644 index 000000000..61563651b --- /dev/null +++ b/testing/libusb-compat/libusb-0.1-libusbx.patch @@ -0,0 +1,17 @@ +http://bugs.gentoo.org/423135 + +--- libusb/core.c ++++ libusb/core.c +@@ -32,12 +32,6 @@ + static libusb_context *ctx = NULL; + static int usb_debug = 0; + +-enum usbi_log_level { +- LOG_LEVEL_DEBUG, +- LOG_LEVEL_INFO, +- LOG_LEVEL_WARNING, +- LOG_LEVEL_ERROR, +-}; + + #ifdef ENABLE_LOGGING + #define _usbi_log(level, fmt...) usbi_log(level, __FUNCTION__, fmt) diff --git a/testing/lvm2/PKGBUILD b/testing/lvm2/PKGBUILD index ec2a69fa0..5b39c6701 100644 --- a/testing/lvm2/PKGBUILD +++ b/testing/lvm2/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 161932 2012-06-16 17:15:41Z dreisner $ +# $Id: PKGBUILD 162912 2012-07-03 20:25:58Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') pkgver=2.02.96 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') @@ -31,7 +31,8 @@ build() { ./configure --prefix=/ --sbindir=/sbin --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ --includedir=/usr/include --with-usrlibdir=/usr/lib --libdir=/usr/lib --with-udev-prefix=/usr \ --with-systemdsystemunitdir=/usr/lib/systemd/system --enable-pkgconfig --enable-readline \ - --enable-dmeventd --enable-cmdlib --enable-applib --enable-udev_sync --enable-udev_rules + --enable-dmeventd --enable-cmdlib --enable-applib --enable-udev_sync --enable-udev_rules \ + --with-default-locking-dir=/run/lock/lvm make } diff --git a/testing/mpfr/PKGBUILD b/testing/mpfr/PKGBUILD new file mode 100644 index 000000000..5f53b5efa --- /dev/null +++ b/testing/mpfr/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 162956 2012-07-04 03:39:00Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: damir <damir@archlinux.org> + +pkgname=mpfr +_pkgver=3.1.1 +#_patchlevel=p1 +#pkgver=${_pkgver}.${_patchlevel} +pkgver=${_pkgver} +pkgrel=1 +pkgdesc="Multiple-precision floating-point library" +arch=('i686' 'x86_64') +url="http://www.mpfr.org/" +license=('LGPL') +depends=('gmp>=5.0') +options=('!libtool') +install=mpfr.install +source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz{,.asc}) +md5sums=('91d51c41fcf2799e4ee7a7126fc95c17' + '91b187a2229211e543ba6fb82a079b2c') + +build() { + cd "${srcdir}/${pkgname}-${_pkgver}" + ./configure --prefix=/usr --enable-thread-safe --enable-shared + make +} + +check() { + cd "${srcdir}/${pkgname}-${_pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${_pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/mpfr/mpfr-3.1.0.p10.patch b/testing/mpfr/mpfr-3.1.0.p10.patch new file mode 100644 index 000000000..0073be709 --- /dev/null +++ b/testing/mpfr/mpfr-3.1.0.p10.patch @@ -0,0 +1,1896 @@ +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2011-10-05 21:39:57.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2011-10-05 21:39:57.000000000 +0000 +@@ -0,0 +1 @@ ++mpfr_unlikely +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2011-10-03 08:17:15.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2011-10-05 21:39:57.000000000 +0000 +@@ -1 +1 @@ +-3.1.0 ++3.1.0-p1 +diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h +--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000 +@@ -988,10 +988,11 @@ + ******************************************************/ + + /* Theses macros help the compiler to determine if a test is +- * likely or unlikely. */ ++ likely or unlikely. The !! is necessary in case x is larger ++ than a long. */ + #if __MPFR_GNUC(3,0) || __MPFR_ICC(8,1,0) + # define MPFR_LIKELY(x) (__builtin_expect(!!(x),1)) +-# define MPFR_UNLIKELY(x) (__builtin_expect((x),0)) ++# define MPFR_UNLIKELY(x) (__builtin_expect(!!(x),0)) + #else + # define MPFR_LIKELY(x) (x) + # define MPFR_UNLIKELY(x) (x) +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0" ++#define MPFR_VERSION_STRING "3.1.0-p1" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2011-10-05 21:39:57.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0"; ++ return "3.1.0-p1"; + } +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2011-10-14 10:43:32.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2011-10-14 10:43:32.000000000 +0000 +@@ -0,0 +1 @@ ++lib-search-path +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2011-10-05 21:39:57.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2011-10-14 10:43:32.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p1 ++3.1.0-p2 +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p1" ++#define MPFR_VERSION_STRING "3.1.0-p2" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2011-10-05 21:39:57.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2011-10-14 10:43:32.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p1"; ++ return "3.1.0-p2"; + } +diff -Naurd mpfr-3.1.0-a/tests/Makefile.am mpfr-3.1.0-b/tests/Makefile.am +--- mpfr-3.1.0-a/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000 +@@ -65,8 +65,24 @@ + TESTS = $(check_PROGRAMS) + TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND) + +-# Option to prevent libtool from generating wrapper scripts for the tests. ++# The -no-install option prevents libtool from generating wrapper scripts ++# for the tests. + # This is useful to easily run the test scripts under valgrind or gdb. + # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033 + # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular. +-AM_LDFLAGS = -no-install ++# ++# The -L$(top_builddir)/src/.libs option is necessary for some platforms, ++# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR ++# library is already installed in the corresponding lib directory: its ++# purpose is to make sure that the local .libs comes first in the library ++# search path (otherwise the tests are linked against the old MPFR library ++# by the LINK command -- see the generated Makefile). See: ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html ++# and ++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728 ++# ++AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs +diff -Naurd mpfr-3.1.0-a/tests/Makefile.in mpfr-3.1.0-b/tests/Makefile.in +--- mpfr-3.1.0-a/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000 ++++ mpfr-3.1.0-b/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000 +@@ -1124,11 +1124,27 @@ + TESTS = $(check_PROGRAMS) + TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND) + +-# Option to prevent libtool from generating wrapper scripts for the tests. ++# The -no-install option prevents libtool from generating wrapper scripts ++# for the tests. + # This is useful to easily run the test scripts under valgrind or gdb. + # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033 + # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular. +-AM_LDFLAGS = -no-install ++# ++# The -L$(top_builddir)/src/.libs option is necessary for some platforms, ++# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR ++# library is already installed in the corresponding lib directory: its ++# purpose is to make sure that the local .libs comes first in the library ++# search path (otherwise the tests are linked against the old MPFR library ++# by the LINK command -- see the generated Makefile). See: ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html ++# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html ++# and ++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728 ++# ++AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs + all: all-am + + .SUFFIXES: +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2011-11-03 15:15:11.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2011-11-03 15:15:11.000000000 +0000 +@@ -0,0 +1 @@ ++vasprintf +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2011-10-14 10:43:32.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2011-11-03 15:15:11.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p2 ++3.1.0-p3 +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p2" ++#define MPFR_VERSION_STRING "3.1.0-p3" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/vasprintf.c mpfr-3.1.0-b/src/vasprintf.c +--- mpfr-3.1.0-a/src/vasprintf.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/vasprintf.c 2011-11-03 15:15:11.000000000 +0000 +@@ -1178,7 +1178,7 @@ + mpfr_exp_t exp; + char * str; + const int spec_g = (spec.spec == 'g' || spec.spec == 'G'); +- const int keep_trailing_zeros = spec_g && spec.alt; ++ const int keep_trailing_zeros = !spec_g || spec.alt; + + /* WARNING: an empty precision field is forbidden (it means precision = 6 + and it should have been changed to 6 before the function call) */ +@@ -1356,7 +1356,7 @@ + else + /* 1 <= |p| */ + { +- size_t nsd; /* Number of significant digits */ ++ size_t str_len; + + /* Determine the position of the most significant decimal digit. */ + exp = floor_log10 (p); +@@ -1365,12 +1365,10 @@ + /* P is too large to print all its integral part digits */ + return -1; + +- np->ip_size = exp + 1; +- +- nsd = spec.prec + np->ip_size; + if (dec_info == NULL) +- { +- str = mpfr_get_str (NULL, &exp, 10, nsd, p, spec.rnd_mode); ++ { /* this case occurs with mpfr_printf ("%.0RUf", x) with x=9.5 */ ++ str = ++ mpfr_get_str (NULL, &exp, 10, spec.prec+exp+1, p, spec.rnd_mode); + register_string (np->sl, str); + } + else +@@ -1379,81 +1377,60 @@ + str = dec_info->str; + } + np->ip_ptr = MPFR_IS_NEG (p) ? ++str : str; /* skip sign */ ++ str_len = strlen (str); ++ ++ /* integral part */ ++ if (exp > str_len) ++ /* mpfr_get_str gives no trailing zero when p is rounded up to the next ++ power of 10 (p integer, so no fractional part) */ ++ { ++ np->ip_trailing_zeros = exp - str_len; ++ np->ip_size = str_len; ++ } ++ else ++ np->ip_size = exp; + + if (spec.group) + /* thousands separator in integral part */ + np->thousands_sep = MPFR_THOUSANDS_SEPARATOR; + +- if (nsd == 0 || (spec_g && !spec.alt)) +- /* compute how much non-zero digits in integral and fractional +- parts */ ++ /* fractional part */ ++ str += np->ip_size; ++ str_len -= np->ip_size; ++ if (!keep_trailing_zeros) ++ /* remove trailing zeros, if any */ + { +- size_t str_len; +- str_len = strlen (str); /* note: the sign has been skipped */ +- +- if (exp > str_len) +- /* mpfr_get_str doesn't give the trailing zeros when p is a +- multiple of 10 (p integer, so no fractional part) */ +- { +- np->ip_trailing_zeros = exp - str_len; +- np->ip_size = str_len; +- if (spec.alt) +- np->point = MPFR_DECIMAL_POINT; +- } +- else +- /* str may contain some digits which are in fractional part */ ++ char *ptr = str + str_len - 1; /* pointer to the last digit of ++ str */ ++ while ((*ptr == '0') && (str_len != 0)) + { +- char *ptr; +- +- ptr = str + str_len - 1; /* points to the end of str */ +- str_len -= np->ip_size; /* number of digits in fractional +- part */ +- +- if (!keep_trailing_zeros) +- /* remove trailing zeros, if any */ +- { +- while ((*ptr == '0') && (str_len != 0)) +- { +- --ptr; +- --str_len; +- } +- } +- +- if (str_len > INT_MAX) +- /* too many digits in fractional part */ +- return -1; +- +- if (str_len != 0) +- /* some digits in fractional part */ +- { +- np->point = MPFR_DECIMAL_POINT; +- np->fp_ptr = str + np->ip_size; +- np->fp_size = str_len; +- } ++ --ptr; ++ --str_len; + } + } +- else +- /* spec.prec digits in fractional part */ ++ ++ if (str_len > 0) ++ /* some nonzero digits in fractional part */ + { +- if (np->ip_size == exp - 1) +- /* the absolute value of the number has been rounded up to a power +- of ten. +- Insert an additional zero in integral part and put the rest of +- them in fractional part. */ +- np->ip_trailing_zeros = 1; ++ if (str_len > INT_MAX) ++ /* too many digits in fractional part */ ++ return -1; + +- if (spec.prec != 0) +- { +- MPFR_ASSERTD (np->ip_size + np->ip_trailing_zeros == exp); +- MPFR_ASSERTD (np->ip_size + spec.prec == nsd); ++ np->point = MPFR_DECIMAL_POINT; ++ np->fp_ptr = str; ++ np->fp_size = str_len; ++ } + +- np->point = MPFR_DECIMAL_POINT; +- np->fp_ptr = str + np->ip_size; +- np->fp_size = spec.prec; +- } +- else if (spec.alt) +- np->point = MPFR_DECIMAL_POINT; ++ if (keep_trailing_zeros && str_len < spec.prec) ++ /* add missing trailing zeros */ ++ { ++ np->point = MPFR_DECIMAL_POINT; ++ np->fp_trailing_zeros = spec.prec - np->fp_size; + } ++ ++ if (spec.alt) ++ /* add decimal point even if no digits follow it */ ++ np->point = MPFR_DECIMAL_POINT; + } + + return 0; +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2011-10-14 10:43:32.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2011-11-03 15:15:11.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p2"; ++ return "3.1.0-p3"; + } +diff -Naurd mpfr-3.1.0-a/tests/tsprintf.c mpfr-3.1.0-b/tests/tsprintf.c +--- mpfr-3.1.0-a/tests/tsprintf.c 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/tests/tsprintf.c 2011-11-03 15:15:11.000000000 +0000 +@@ -475,6 +475,18 @@ + check_sprintf ("-1.", "%- #0.1RG", x); + + /* precision zero */ ++ mpfr_set_d (x, 9.5, MPFR_RNDN); ++ check_sprintf ("9", "%.0RDf", x); ++ check_sprintf ("10", "%.0RUf", x); ++ ++ mpfr_set_d (x, 19.5, MPFR_RNDN); ++ check_sprintf ("19", "%.0RDf", x); ++ check_sprintf ("20", "%.0RUf", x); ++ ++ mpfr_set_d (x, 99.5, MPFR_RNDN); ++ check_sprintf ("99", "%.0RDf", x); ++ check_sprintf ("100", "%.0RUf", x); ++ + mpfr_set_d (x, -9.5, MPFR_RNDN); + check_sprintf ("-10", "%.0RDf", x); + check_sprintf ("-10", "%.0RYf", x); +@@ -1078,6 +1090,23 @@ + mpfr_clear (x); + } + ++static void ++bug20111102 (void) ++{ ++ mpfr_t t; ++ char s[100]; ++ ++ mpfr_init2 (t, 84); ++ mpfr_set_str (t, "999.99999999999999999999", 10, MPFR_RNDN); ++ mpfr_sprintf (s, "%.20RNg", t); ++ if (strcmp (s, "1000") != 0) ++ { ++ printf ("Error in bug20111102, expected 1000, got %s\n", s); ++ exit (1); ++ } ++ mpfr_clear (t); ++} ++ + /* In particular, the following test makes sure that the rounding + * for %Ra and %Rb is not done on the MPFR number itself (as it + * would overflow). Note: it has been reported on comp.std.c that +@@ -1161,6 +1190,7 @@ + locale = setlocale (LC_ALL, "C"); + #endif + ++ bug20111102 (); + native_types (); + hexadecimal (); + binary (); +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2011-11-28 12:22:52.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2011-11-28 12:22:52.000000000 +0000 +@@ -0,0 +1 @@ ++gmp41compat +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2011-11-03 15:15:11.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2011-11-28 12:22:52.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p3 ++3.1.0-p4 +diff -Naurd mpfr-3.1.0-a/doc/mpfr.info mpfr-3.1.0-b/doc/mpfr.info +--- mpfr-3.1.0-a/doc/mpfr.info 2011-10-03 09:43:04.000000000 +0000 ++++ mpfr-3.1.0-b/doc/mpfr.info 2011-11-28 12:22:52.000000000 +0000 +@@ -2994,11 +2994,12 @@ + + * `mpfr_urandom' and `mpfr_urandomb' changed in MPFR 3.1. Their + behavior no longer depends on the platform (assuming this is also +- true for GMP's random generator). As a consequence, the returned +- values can be different between MPFR 3.1 and previous MPFR +- versions. Note: as the reproducibility of these functions was not +- specified before MPFR 3.1, the MPFR 3.1 behavior is _not_ regarded +- as backward incompatible with previous versions. ++ true for GMP's random generator, which is not the case between GMP ++ 4.1 and 4.2 if `gmp_randinit_default' is used). As a consequence, ++ the returned values can be different between MPFR 3.1 and previous ++ MPFR versions. Note: as the reproducibility of these functions ++ was not specified before MPFR 3.1, the MPFR 3.1 behavior is _not_ ++ regarded as backward incompatible with previous versions. + + + +@@ -4239,13 +4240,13 @@ + Node: Type and Macro Changes129308 + Node: Added Functions132029 + Node: Changed Functions134972 +-Node: Removed Functions139167 +-Node: Other Changes139579 +-Node: Contributors141108 +-Node: References143574 +-Node: GNU Free Documentation License145315 +-Node: Concept Index167758 +-Node: Function and Type Index173677 ++Node: Removed Functions139253 ++Node: Other Changes139665 ++Node: Contributors141194 ++Node: References143660 ++Node: GNU Free Documentation License145401 ++Node: Concept Index167844 ++Node: Function and Type Index173763 + + End Tag Table + +diff -Naurd mpfr-3.1.0-a/doc/mpfr.texi mpfr-3.1.0-b/doc/mpfr.texi +--- mpfr-3.1.0-a/doc/mpfr.texi 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/doc/mpfr.texi 2011-11-28 12:22:52.000000000 +0000 +@@ -3466,8 +3466,9 @@ + a lack of specification. + + @item @code{mpfr_urandom} and @code{mpfr_urandomb} changed in MPFR 3.1. +-Their behavior no longer depends on the platform (assuming this is also +-true for GMP's random generator). As a consequence, the returned values ++Their behavior no longer depends on the platform (assuming this is also true ++for GMP's random generator, which is not the case between GMP 4.1 and 4.2 if ++@code{gmp_randinit_default} is used). As a consequence, the returned values + can be different between MPFR 3.1 and previous MPFR versions. + Note: as the reproducibility of these functions was not specified + before MPFR 3.1, the MPFR 3.1 behavior is @emph{not} regarded as +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p3" ++#define MPFR_VERSION_STRING "3.1.0-p4" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2011-11-03 15:15:11.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2011-11-28 12:22:52.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p3"; ++ return "3.1.0-p4"; + } +diff -Naurd mpfr-3.1.0-a/tests/trandom.c mpfr-3.1.0-b/tests/trandom.c +--- mpfr-3.1.0-a/tests/trandom.c 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/tests/trandom.c 2011-11-28 12:22:52.000000000 +0000 +@@ -114,21 +114,29 @@ + mpfr_t x; + gmp_randstate_t s; + ++#if __MPFR_GMP(4,2,0) ++# define C1 "0.895943" ++# define C2 "0.848824" ++#else ++# define C1 "0.479652" ++# define C2 "0.648529" ++#endif ++ + gmp_randinit_default (s); + gmp_randseed_ui (s, 42); + mpfr_init2 (x, 17); + mpfr_urandomb (x, s); +- if (mpfr_cmp_str1 (x, "0.895943") != 0) ++ if (mpfr_cmp_str1 (x, C1) != 0) + { +- printf ("Error in bug20100914, expected 0.895943, got "); ++ printf ("Error in bug20100914, expected " C1 ", got "); + mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN); + printf ("\n"); + exit (1); + } + mpfr_urandomb (x, s); +- if (mpfr_cmp_str1 (x, "0.848824") != 0) ++ if (mpfr_cmp_str1 (x, C2) != 0) + { +- printf ("Error in bug20100914, expected 0.848824, got "); ++ printf ("Error in bug20100914, expected " C2 ", got "); + mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN); + printf ("\n"); + exit (1); +diff -Naurd mpfr-3.1.0-a/tests/turandom.c mpfr-3.1.0-b/tests/turandom.c +--- mpfr-3.1.0-a/tests/turandom.c 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/tests/turandom.c 2011-11-28 12:22:52.000000000 +0000 +@@ -160,23 +160,29 @@ + mpfr_t x; + gmp_randstate_t s; + ++#if __MPFR_GMP(4,2,0) ++# define C1 "0.8488312" ++# define C2 "0.8156509" ++#else ++# define C1 "0.6485367" ++# define C2 "0.9362717" ++#endif ++ + gmp_randinit_default (s); + gmp_randseed_ui (s, 42); + mpfr_init2 (x, 17); + mpfr_urandom (x, s, MPFR_RNDN); +- /* the following values are obtained on a 32-bit computer, we should get +- the same values on a 64-bit computer */ +- if (mpfr_cmp_str1 (x, "0.8488312") != 0) ++ if (mpfr_cmp_str1 (x, C1) != 0) + { +- printf ("Error in bug20100914, expected 0.8488312, got "); ++ printf ("Error in bug20100914, expected " C1 ", got "); + mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN); + printf ("\n"); + exit (1); + } + mpfr_urandom (x, s, MPFR_RNDN); +- if (mpfr_cmp_str1 (x, "0.8156509") != 0) ++ if (mpfr_cmp_str1 (x, C2) != 0) + { +- printf ("Error in bug20100914, expected 0.8156509, got "); ++ printf ("Error in bug20100914, expected " C2 ", got "); + mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN); + printf ("\n"); + exit (1); +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2012-02-24 12:44:49.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2012-02-24 12:44:49.000000000 +0000 +@@ -0,0 +1 @@ ++logging-freeze +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2011-11-28 12:22:52.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2012-02-24 12:44:49.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p4 ++3.1.0-p5 +diff -Naurd mpfr-3.1.0-a/src/add_d.c mpfr-3.1.0-b/src/add_d.c +--- mpfr-3.1.0-a/src/add_d.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/add_d.c 2012-02-24 12:44:49.000000000 +0000 +@@ -34,7 +34,7 @@ + (("b[%Pu]=%.*Rg c=%.20g rnd=%d", + mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode), + ("a[%Pu]=%.*Rg inexact=%d", +- mpfr_get_prec (a), mpfr_get_prec, a, inexact)); ++ mpfr_get_prec (a), mpfr_log_prec, a, inexact)); + + MPFR_SAVE_EXPO_MARK (expo); + +diff -Naurd mpfr-3.1.0-a/src/add_ui.c mpfr-3.1.0-b/src/add_ui.c +--- mpfr-3.1.0-a/src/add_ui.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/add_ui.c 2012-02-24 12:44:49.000000000 +0000 +@@ -29,7 +29,7 @@ + MPFR_LOG_FUNC + (("x[%Pu]=%.*Rg u=%d rnd=%d", + mpfr_get_prec(x), mpfr_log_prec, x, u, rnd_mode), +- ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_get_prec, y)); ++ ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_log_prec, y)); + + if (MPFR_LIKELY(u != 0) ) /* if u=0, do nothing */ + { +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p4" ++#define MPFR_VERSION_STRING "3.1.0-p5" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/mul_d.c mpfr-3.1.0-b/src/mul_d.c +--- mpfr-3.1.0-a/src/mul_d.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/mul_d.c 2012-02-24 12:44:49.000000000 +0000 +@@ -34,7 +34,7 @@ + (("b[%Pu]=%.*Rg c=%.20g rnd=%d", + mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode), + ("a[%Pu]=%.*Rg inexact=%d", +- mpfr_get_prec (a), mpfr_get_prec, a, inexact)); ++ mpfr_get_prec (a), mpfr_log_prec, a, inexact)); + + MPFR_SAVE_EXPO_MARK (expo); + +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2011-11-28 12:22:52.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2012-02-24 12:44:49.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p4"; ++ return "3.1.0-p5"; + } +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2012-02-24 13:50:05.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2012-02-24 13:50:05.000000000 +0000 +@@ -0,0 +1 @@ ++logging-varfmt +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2012-02-24 12:44:49.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2012-02-24 13:50:05.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p5 ++3.1.0-p6 +diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h +--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000 +@@ -1592,7 +1592,7 @@ + do \ + if ((MPFR_LOG_INTERNAL_F & mpfr_log_type) && \ + (mpfr_log_current <= mpfr_log_level)) \ +- LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rf\n", __func__, __LINE__, \ ++ LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rg\n", __func__, __LINE__, \ + #x, mpfr_get_prec (x), mpfr_log_prec, x); \ + while (0) + +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p5" ++#define MPFR_VERSION_STRING "3.1.0-p6" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2012-02-24 12:44:49.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2012-02-24 13:50:05.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p5"; ++ return "3.1.0-p6"; + } +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2012-03-08 15:17:03.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2012-03-08 15:17:03.000000000 +0000 +@@ -0,0 +1 @@ ++large-prec +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2012-02-24 13:50:05.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2012-03-08 15:17:03.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p6 ++3.1.0-p7 +diff -Naurd mpfr-3.1.0-a/src/add1.c mpfr-3.1.0-b/src/add1.c +--- mpfr-3.1.0-a/src/add1.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/add1.c 2012-03-08 15:17:03.000000000 +0000 +@@ -44,12 +44,12 @@ + bq = MPFR_PREC(b); + cq = MPFR_PREC(c); + +- an = (aq-1)/GMP_NUMB_BITS+1; /* number of limbs of a */ ++ an = MPFR_PREC2LIMBS (aq); /* number of limbs of a */ + aq2 = (mpfr_prec_t) an * GMP_NUMB_BITS; + sh = aq2 - aq; /* non-significant bits in low limb */ + +- bn = (bq-1)/GMP_NUMB_BITS+1; /* number of limbs of b */ +- cn = (cq-1)/GMP_NUMB_BITS+1; /* number of limbs of c */ ++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */ ++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */ + + ap = MPFR_MANT(a); + bp = MPFR_MANT(b); +@@ -124,7 +124,7 @@ + dif = aq2 - diff_exp; + /* dif is the number of bits of c which overlap with a' */ + +- difn = (dif-1)/GMP_NUMB_BITS + 1; ++ difn = MPFR_PREC2LIMBS (dif); + /* only the highest difn limbs from c have to be considered */ + if (MPFR_UNLIKELY(difn > cn)) + { +diff -Naurd mpfr-3.1.0-a/src/add1sp.c mpfr-3.1.0-b/src/add1sp.c +--- mpfr-3.1.0-a/src/add1sp.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/add1sp.c 2012-03-08 15:17:03.000000000 +0000 +@@ -107,7 +107,7 @@ + + /* Read prec and num of limbs */ + p = MPFR_PREC(b); +- n = (p+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; ++ n = MPFR_PREC2LIMBS (p); + MPFR_UNSIGNED_MINUS_MODULO(sh, p); + bx = MPFR_GET_EXP(b); + d = (mpfr_uexp_t) (bx - MPFR_GET_EXP(c)); +diff -Naurd mpfr-3.1.0-a/src/agm.c mpfr-3.1.0-b/src/agm.c +--- mpfr-3.1.0-a/src/agm.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/agm.c 2012-03-08 15:17:03.000000000 +0000 +@@ -91,7 +91,7 @@ + q = MPFR_PREC(r); + p = q + MPFR_INT_CEIL_LOG2(q) + 15; + MPFR_ASSERTD (p >= 7); /* see algorithms.tex */ +- s = (p - 1) / GMP_NUMB_BITS + 1; ++ s = MPFR_PREC2LIMBS (p); + + /* b (op2) and a (op1) are the 2 operands but we want b >= a */ + compare = mpfr_cmp (op1, op2); +@@ -285,7 +285,7 @@ + + /* Next iteration */ + MPFR_ZIV_NEXT (loop, p); +- s = (p - 1) / GMP_NUMB_BITS + 1; ++ s = MPFR_PREC2LIMBS (p); + } + MPFR_ZIV_FREE (loop); + +diff -Naurd mpfr-3.1.0-a/src/eq.c mpfr-3.1.0-b/src/eq.c +--- mpfr-3.1.0-a/src/eq.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/eq.c 2012-03-08 15:17:03.000000000 +0000 +@@ -56,8 +56,8 @@ + if (uexp != vexp) + return 0; /* no bit agree */ + +- usize = (MPFR_PREC(u) - 1) / GMP_NUMB_BITS + 1; +- vsize = (MPFR_PREC(v) - 1) / GMP_NUMB_BITS + 1; ++ usize = MPFR_LIMB_SIZE (u); ++ vsize = MPFR_LIMB_SIZE (v); + + if (vsize > usize) /* exchange u and v */ + { +diff -Naurd mpfr-3.1.0-a/src/exp.c mpfr-3.1.0-b/src/exp.c +--- mpfr-3.1.0-a/src/exp.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/exp.c 2012-03-08 15:17:03.000000000 +0000 +@@ -133,7 +133,7 @@ + mp_size_t yn; + int sh; + +- yn = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS; ++ yn = MPFR_LIMB_SIZE (y); + sh = (mpfr_prec_t) yn * GMP_NUMB_BITS - MPFR_PREC(y); + MPFR_MANT(y)[0] += MPFR_LIMB_ONE << sh; + inexact = 1; +diff -Naurd mpfr-3.1.0-a/src/get_d.c mpfr-3.1.0-b/src/get_d.c +--- mpfr-3.1.0-a/src/get_d.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/get_d.c 2012-03-08 15:17:03.000000000 +0000 +@@ -100,7 +100,7 @@ + nbits += (1021 + e); + MPFR_ASSERTD (nbits >= 1); + } +- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; ++ np = MPFR_PREC2LIMBS (nbits); + MPFR_ASSERTD ( np <= MPFR_LIMBS_PER_DOUBLE ); + carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative, + nbits, rnd_mode); +diff -Naurd mpfr-3.1.0-a/src/get_flt.c mpfr-3.1.0-b/src/get_flt.c +--- mpfr-3.1.0-a/src/get_flt.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/get_flt.c 2012-03-08 15:17:03.000000000 +0000 +@@ -92,7 +92,7 @@ + nbits += (125 + e); + MPFR_ASSERTD (nbits >= 1); + } +- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; ++ np = MPFR_PREC2LIMBS (nbits); + MPFR_ASSERTD(np <= MPFR_LIMBS_PER_FLT); + carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative, + nbits, rnd_mode); +diff -Naurd mpfr-3.1.0-a/src/get_str.c mpfr-3.1.0-b/src/get_str.c +--- mpfr-3.1.0-a/src/get_str.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/get_str.c 2012-03-08 15:17:03.000000000 +0000 +@@ -2351,7 +2351,7 @@ + + /* the first digit will contain only r bits */ + prec = (m - 1) * pow2 + r; /* total number of bits */ +- n = (prec - 1) / GMP_NUMB_BITS + 1; ++ n = MPFR_PREC2LIMBS (prec); + + MPFR_TMP_MARK (marker); + x1 = MPFR_TMP_LIMBS_ALLOC (n + 1); +@@ -2417,12 +2417,12 @@ + exact = 1; + + /* number of limbs */ +- n = 1 + (prec - 1) / GMP_NUMB_BITS; ++ n = MPFR_PREC2LIMBS (prec); + + /* a will contain the approximation of the mantissa */ + a = MPFR_TMP_LIMBS_ALLOC (n); + +- nx = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS; ++ nx = MPFR_LIMB_SIZE (x); + + if ((mpfr_exp_t) m == g) /* final exponent is 0, no multiplication or + division to perform */ +diff -Naurd mpfr-3.1.0-a/src/init2.c mpfr-3.1.0-b/src/init2.c +--- mpfr-3.1.0-a/src/init2.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/init2.c 2012-03-08 15:17:03.000000000 +0000 +@@ -51,7 +51,7 @@ + which both have an odd mantissa */ + MPFR_ASSERTN(p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX); + +- xsize = (mp_size_t) ((p - 1) / GMP_NUMB_BITS) + 1; ++ xsize = MPFR_PREC2LIMBS (p); + tmp = (mpfr_limb_ptr) (*__gmp_allocate_func)(MPFR_MALLOC_SIZE(xsize)); + + MPFR_PREC(x) = p; /* Set prec */ +diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c +--- mpfr-3.1.0-a/src/lngamma.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000 +@@ -67,7 +67,7 @@ + + /* Now, the unit bit is represented. */ + +- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo; ++ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo; + /* number of represented fractional bits (including the trailing 0's) */ + + x0 = *(MPFR_MANT (x) + prec / GMP_NUMB_BITS); +diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h +--- mpfr-3.1.0-a/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-03-09 12:06:26.000000000 +0000 +@@ -646,10 +646,24 @@ + **************** mpfr_t properties ******************* + ******************************************************/ + ++/* In the following macro, p is usually a mpfr_prec_t, but this macro ++ works with other integer types (without integer overflow). Checking ++ that p >= 1 in debug mode is useful here because this macro can be ++ used on a computed precision (in particular, this formula does not ++ work for a degenerate case p = 0, and could give different results ++ on different platforms). But let us not use an assertion checking ++ in the MPFR_LAST_LIMB() and MPFR_LIMB_SIZE() macros below to avoid ++ too much expansion for assertions (in practice, this should be a ++ problem just when testing MPFR with the --enable-assert configure ++ option and the -ansi -pedantic-errors gcc compiler flags). */ ++#define MPFR_PREC2LIMBS(p) \ ++ (MPFR_ASSERTD ((p) >= 1), ((p) - 1) / GMP_NUMB_BITS + 1) ++ + #define MPFR_PREC(x) ((x)->_mpfr_prec) + #define MPFR_EXP(x) ((x)->_mpfr_exp) + #define MPFR_MANT(x) ((x)->_mpfr_d) +-#define MPFR_LIMB_SIZE(x) ((MPFR_PREC((x))-1)/GMP_NUMB_BITS+1) ++#define MPFR_LAST_LIMB(x) ((MPFR_PREC (x) - 1) / GMP_NUMB_BITS) ++#define MPFR_LIMB_SIZE(x) (MPFR_LAST_LIMB (x) + 1) + + + /****************************************************** +@@ -749,7 +763,8 @@ + #define MPFR_IS_FP(x) (!MPFR_IS_NAN(x) && !MPFR_IS_INF(x)) + #define MPFR_IS_SINGULAR(x) (MPFR_EXP(x) <= MPFR_EXP_INF) + #define MPFR_IS_PURE_FP(x) (!MPFR_IS_SINGULAR(x) && \ +- (MPFR_ASSERTD (MPFR_MANT(x)[MPFR_LIMB_SIZE(x)-1] & MPFR_LIMB_HIGHBIT), 1)) ++ (MPFR_ASSERTD ((MPFR_MANT(x)[MPFR_LAST_LIMB(x)] \ ++ & MPFR_LIMB_HIGHBIT) != 0), 1)) + + #define MPFR_ARE_SINGULAR(x,y) \ + (MPFR_UNLIKELY(MPFR_IS_SINGULAR(x)) || MPFR_UNLIKELY(MPFR_IS_SINGULAR(y))) +@@ -1061,7 +1076,7 @@ + /* Set a number to 1 (Fast) - It doesn't check if 1 is in the exponent range */ + #define MPFR_SET_ONE(x) \ + do { \ +- mp_size_t _size = MPFR_LIMB_SIZE(x) - 1; \ ++ mp_size_t _size = MPFR_LAST_LIMB(x); \ + MPFR_SET_POS(x); \ + MPFR_EXP(x) = 1; \ + MPN_ZERO ( MPFR_MANT(x), _size); \ +@@ -1213,8 +1228,8 @@ + _destp = MPFR_MANT (dest); \ + if (MPFR_UNLIKELY (_destprec >= _srcprec)) \ + { \ +- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \ +- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS - _srcs; \ ++ _srcs = MPFR_PREC2LIMBS (_srcprec); \ ++ _dests = MPFR_PREC2LIMBS (_destprec) - _srcs; \ + MPN_COPY (_destp + _dests, srcp, _srcs); \ + MPN_ZERO (_destp, _dests); \ + inexact = 0; \ +@@ -1227,8 +1242,8 @@ + mp_limb_t _rb, _sb, _ulp; \ + \ + /* Compute Position and shift */ \ +- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \ +- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \ ++ _srcs = MPFR_PREC2LIMBS (_srcprec); \ ++ _dests = MPFR_PREC2LIMBS (_destprec); \ + MPFR_UNSIGNED_MINUS_MODULO (_sh, _destprec); \ + _sp = (srcp) + _srcs - _dests; \ + \ +@@ -1372,7 +1387,7 @@ + if (MPFR_LIKELY (MPFR_PREC (dest) == MPFR_PREC (src))) \ + { \ + MPN_COPY (MPFR_MANT (dest), MPFR_MANT (src), \ +- (MPFR_PREC (src) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS); \ ++ MPFR_LIMB_SIZE (src)); \ + inexact = 0; \ + } \ + else \ +@@ -1682,7 +1697,7 @@ + MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \ + if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \ + mpfr_abort_prec_max (); \ +- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \ ++ _size = MPFR_PREC2LIMBS (_prec); \ + if (MPFR_UNLIKELY (_size * (num) > MPFR_GROUP_STATIC_SIZE)) \ + { \ + (g).alloc = (num) * _size * sizeof (mp_limb_t); \ +@@ -1733,7 +1748,7 @@ + MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \ + if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \ + mpfr_abort_prec_max (); \ +- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \ ++ _size = MPFR_PREC2LIMBS (_prec); \ + (g).alloc = (num) * _size * sizeof (mp_limb_t); \ + if (MPFR_LIKELY (_oalloc == 0)) \ + (g).mant = (mp_limb_t *) (*__gmp_allocate_func) ((g).alloc); \ +@@ -1886,7 +1901,7 @@ + MPFR_NORETURN_ATTR; + + __MPFR_DECLSPEC void mpfr_rand_raw _MPFR_PROTO((mpfr_limb_ptr, gmp_randstate_t, +- unsigned long)); ++ mpfr_prec_t)); + + __MPFR_DECLSPEC mpz_t* mpfr_bernoulli_internal _MPFR_PROTO((mpz_t*, + unsigned long)); +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p6" ++#define MPFR_VERSION_STRING "3.1.0-p7" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/mul.c mpfr-3.1.0-b/src/mul.c +--- mpfr-3.1.0-a/src/mul.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/mul.c 2012-03-08 15:17:03.000000000 +0000 +@@ -93,15 +93,15 @@ + + ax = MPFR_GET_EXP (b) + MPFR_GET_EXP (c); + +- bq = MPFR_PREC(b); +- cq = MPFR_PREC(c); ++ bq = MPFR_PREC (b); ++ cq = MPFR_PREC (c); + +- MPFR_ASSERTD(bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */ ++ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX); + +- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */ +- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */ ++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */ ++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */ + k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */ +- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; ++ tn = MPFR_PREC2LIMBS (bq + cq); + /* <= k, thus no int overflow */ + MPFR_ASSERTD(tn <= k); + +@@ -292,12 +292,12 @@ + bq = MPFR_PREC (b); + cq = MPFR_PREC (c); + +- MPFR_ASSERTD (bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */ ++ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX); + +- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */ +- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */ ++ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */ ++ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */ + k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */ +- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; ++ tn = MPFR_PREC2LIMBS (bq + cq); + MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */ + + /* Check for no size_t overflow*/ +diff -Naurd mpfr-3.1.0-a/src/pow.c mpfr-3.1.0-b/src/pow.c +--- mpfr-3.1.0-a/src/pow.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/pow.c 2012-03-08 15:17:03.000000000 +0000 +@@ -136,7 +136,7 @@ + (b) all the 'z' bits are zero + */ + +- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo; ++ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo; + /* number of z+0 bits */ + + yn = prec / GMP_NUMB_BITS; +diff -Naurd mpfr-3.1.0-a/src/print_raw.c mpfr-3.1.0-b/src/print_raw.c +--- mpfr-3.1.0-a/src/print_raw.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/print_raw.c 2012-03-08 15:17:03.000000000 +0000 +@@ -84,7 +84,7 @@ + int i; + mpfr_prec_t count = 0; + char c; +- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1; ++ mp_size_t n = MPFR_PREC2LIMBS (r); + + printf("%s ", str); + for(n-- ; n>=0 ; n--) +@@ -109,7 +109,7 @@ + int i; + mpfr_prec_t count = 0; + char c; +- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1; ++ mp_size_t n = MPFR_PREC2LIMBS (r); + + for(n-- ; n>=0 ; n--) + { +diff -Naurd mpfr-3.1.0-a/src/round_prec.c mpfr-3.1.0-b/src/round_prec.c +--- mpfr-3.1.0-a/src/round_prec.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/round_prec.c 2012-03-08 15:17:03.000000000 +0000 +@@ -55,12 +55,12 @@ + + MPFR_ASSERTN(prec >= MPFR_PREC_MIN && prec <= MPFR_PREC_MAX); + +- nw = 1 + (prec - 1) / GMP_NUMB_BITS; /* needed allocated limbs */ ++ nw = MPFR_PREC2LIMBS (prec); /* needed allocated limbs */ + + /* check if x has enough allocated space for the significand */ + /* Get the number of limbs from the precision. + (Compatible with all allocation methods) */ +- ow = (MPFR_PREC (x) + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; ++ ow = MPFR_LIMB_SIZE (x); + if (nw > ow) + { + /* FIXME: Variable can't be created using custom allocation, +diff -Naurd mpfr-3.1.0-a/src/round_raw_generic.c mpfr-3.1.0-b/src/round_raw_generic.c +--- mpfr-3.1.0-a/src/round_raw_generic.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/round_raw_generic.c 2012-03-08 15:17:03.000000000 +0000 +@@ -80,7 +80,7 @@ + (xprec <= yprec || MPFR_IS_LIKE_RNDZ (rnd_mode, neg))) + return 0; + +- xsize = (xprec-1)/GMP_NUMB_BITS + 1; ++ xsize = MPFR_PREC2LIMBS (xprec); + nw = yprec / GMP_NUMB_BITS; + rw = yprec & (GMP_NUMB_BITS - 1); + +diff -Naurd mpfr-3.1.0-a/src/set.c mpfr-3.1.0-b/src/set.c +--- mpfr-3.1.0-a/src/set.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/set.c 2012-03-08 15:17:03.000000000 +0000 +@@ -48,8 +48,7 @@ + /* Same precision and b is not singular: + * just copy the mantissa, and set the exponent and the sign + * The result is exact. */ +- MPN_COPY (MPFR_MANT (a), MPFR_MANT (b), +- (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS); ++ MPN_COPY (MPFR_MANT (a), MPFR_MANT (b), MPFR_LIMB_SIZE (b)); + MPFR_RET (0); + } + else +diff -Naurd mpfr-3.1.0-a/src/set_f.c mpfr-3.1.0-b/src/set_f.c +--- mpfr-3.1.0-a/src/set_f.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/set_f.c 2012-03-08 15:17:03.000000000 +0000 +@@ -43,7 +43,7 @@ + if (SIZ(x) * MPFR_FROM_SIGN_TO_INT(MPFR_SIGN(y)) < 0) + MPFR_CHANGE_SIGN (y); + +- sy = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS; ++ sy = MPFR_LIMB_SIZE (y); + my = MPFR_MANT(y); + mx = PTR(x); + +diff -Naurd mpfr-3.1.0-a/src/set_prec.c mpfr-3.1.0-b/src/set_prec.c +--- mpfr-3.1.0-a/src/set_prec.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/set_prec.c 2012-03-08 15:17:03.000000000 +0000 +@@ -32,7 +32,7 @@ + MPFR_ASSERTN (p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX); + + /* Calculate the new number of limbs */ +- xsize = (p - 1) / GMP_NUMB_BITS + 1; ++ xsize = MPFR_PREC2LIMBS (p); + + /* Realloc only if the new size is greater than the old */ + xoldsize = MPFR_GET_ALLOC_SIZE (x); +diff -Naurd mpfr-3.1.0-a/src/setmax.c mpfr-3.1.0-b/src/setmax.c +--- mpfr-3.1.0-a/src/setmax.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/setmax.c 2012-03-08 15:17:03.000000000 +0000 +@@ -32,7 +32,7 @@ + mp_limb_t *xp; + + MPFR_SET_EXP (x, e); +- xn = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS; ++ xn = MPFR_LIMB_SIZE (x); + sh = (mpfr_prec_t) xn * GMP_NUMB_BITS - MPFR_PREC(x); + xp = MPFR_MANT(x); + xp[0] = MP_LIMB_T_MAX << sh; +diff -Naurd mpfr-3.1.0-a/src/sqr.c mpfr-3.1.0-b/src/sqr.c +--- mpfr-3.1.0-a/src/sqr.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/sqr.c 2012-03-08 15:17:03.000000000 +0000 +@@ -56,11 +56,11 @@ + ax = 2 * MPFR_GET_EXP (b); + bq = MPFR_PREC(b); + +- MPFR_ASSERTD (2 * bq > bq); /* PREC_MAX is /2 so no integer overflow */ ++ MPFR_ASSERTN (2 * (mpfr_uprec_t) bq <= MPFR_PREC_MAX); + +- bn = MPFR_LIMB_SIZE(b); /* number of limbs of b */ +- tn = 1 + (2 * bq - 1) / GMP_NUMB_BITS; /* number of limbs of square, +- 2*bn or 2*bn-1 */ ++ bn = MPFR_LIMB_SIZE (b); /* number of limbs of b */ ++ tn = MPFR_PREC2LIMBS (2 * bq); /* number of limbs of square, ++ 2*bn or 2*bn-1 */ + + if (MPFR_UNLIKELY(bn > MPFR_SQR_THRESHOLD)) + return mpfr_mul (a, b, b, rnd_mode); +diff -Naurd mpfr-3.1.0-a/src/stack_interface.c mpfr-3.1.0-b/src/stack_interface.c +--- mpfr-3.1.0-a/src/stack_interface.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/stack_interface.c 2012-03-08 15:17:03.000000000 +0000 +@@ -26,7 +26,7 @@ + size_t + mpfr_custom_get_size (mpfr_prec_t prec) + { +- return (prec + GMP_NUMB_BITS -1) / GMP_NUMB_BITS * BYTES_PER_MP_LIMB; ++ return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB; + } + + #undef mpfr_custom_init +diff -Naurd mpfr-3.1.0-a/src/strtofr.c mpfr-3.1.0-b/src/strtofr.c +--- mpfr-3.1.0-a/src/strtofr.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/strtofr.c 2012-03-08 15:17:03.000000000 +0000 +@@ -467,7 +467,7 @@ + /* Set y to the value of the ~prec most significant bits of pstr->mant + (as long as we guarantee correct rounding, we don't need to get + exactly prec bits). */ +- ysize = (prec - 1) / GMP_NUMB_BITS + 1; ++ ysize = MPFR_PREC2LIMBS (prec); + /* prec bits corresponds to ysize limbs */ + ysize_bits = ysize * GMP_NUMB_BITS; + /* and to ysize_bits >= prec > MPFR_PREC (x) bits */ +diff -Naurd mpfr-3.1.0-a/src/sub1sp.c mpfr-3.1.0-b/src/sub1sp.c +--- mpfr-3.1.0-a/src/sub1sp.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/sub1sp.c 2012-03-08 15:17:03.000000000 +0000 +@@ -155,8 +155,8 @@ + MPFR_ASSERTD(MPFR_IS_PURE_FP(c)); + + /* Read prec and num of limbs */ +- p = MPFR_PREC(b); +- n = (p-1)/GMP_NUMB_BITS+1; ++ p = MPFR_PREC (b); ++ n = MPFR_PREC2LIMBS (p); + + /* Fast cmp of |b| and |c|*/ + bx = MPFR_GET_EXP (b); +diff -Naurd mpfr-3.1.0-a/src/urandomb.c mpfr-3.1.0-b/src/urandomb.c +--- mpfr-3.1.0-a/src/urandomb.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/urandomb.c 2012-03-08 15:17:03.000000000 +0000 +@@ -31,13 +31,20 @@ + a sufficient number of limbs */ + void + mpfr_rand_raw (mpfr_limb_ptr mp, gmp_randstate_t rstate, +- unsigned long int nbits) ++ mpfr_prec_t nbits) + { + mpz_t z; + ++ MPFR_ASSERTN (nbits >= 1); + /* To be sure to avoid the potential allocation of mpz_urandomb */ +- ALLOC(z) = SIZ(z) = ((nbits - 1) / GMP_NUMB_BITS) + 1; ++ ALLOC(z) = SIZ(z) = MPFR_PREC2LIMBS (nbits); + PTR(z) = mp; ++#if __MPFR_GMP(5,0,0) ++ /* Check for integer overflow (unless mp_bitcnt_t is signed, ++ but according to the GMP manual, this shouldn't happen). ++ Note: mp_bitcnt_t has been introduced in GMP 5.0.0. */ ++ MPFR_ASSERTN ((mp_bitcnt_t) -1 < 0 || nbits <= (mp_bitcnt_t) -1); ++#endif + mpz_urandomb (z, rstate, nbits); + } + +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2012-02-24 13:50:05.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2012-03-08 15:17:03.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p6"; ++ return "3.1.0-p7"; + } +diff -Naurd mpfr-3.1.0-a/tests/tinits.c mpfr-3.1.0-b/tests/tinits.c +--- mpfr-3.1.0-a/tests/tinits.c 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/tests/tinits.c 2012-03-08 15:17:03.000000000 +0000 +@@ -1,4 +1,4 @@ +-/* Test file for mpfr_inits, mpfr_inits2 and mpfr_clears. ++/* Test file for mpfr_init2, mpfr_inits, mpfr_inits2 and mpfr_clears. + + Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + Contributed by the Arenaire and Caramel projects, INRIA. +@@ -20,18 +20,43 @@ + http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ + ++#include <stdlib.h> ++ + #include "mpfr-test.h" + + int + main (void) + { + mpfr_t a, b, c; ++ long large_prec; + + tests_start_mpfr (); ++ + mpfr_inits (a, b, c, (mpfr_ptr) 0); + mpfr_clears (a, b, c, (mpfr_ptr) 0); + mpfr_inits2 (200, a, b, c, (mpfr_ptr) 0); + mpfr_clears (a, b, c, (mpfr_ptr) 0); ++ ++ /* test for precision 2^31-1, see ++ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13918 */ ++ large_prec = 2147483647; ++ if (getenv ("MPFR_CHECK_LARGEMEM") != NULL) ++ { ++ /* We assume that the precision won't be increased internally. */ ++ if (large_prec > MPFR_PREC_MAX) ++ large_prec = MPFR_PREC_MAX; ++ mpfr_inits2 (large_prec, a, b, (mpfr_ptr) 0); ++ mpfr_set_ui (a, 17, MPFR_RNDN); ++ mpfr_set (b, a, MPFR_RNDN); ++ if (mpfr_get_ui (a, MPFR_RNDN) != 17) ++ { ++ printf ("Error in mpfr_init2 with precision 2^31-1\n"); ++ exit (1); ++ } ++ mpfr_clears (a, b, (mpfr_ptr) 0); ++ } ++ + tests_end_mpfr (); ++ + return 0; + } +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2012-03-12 11:59:47.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2012-03-12 11:59:47.000000000 +0000 +@@ -0,0 +1 @@ ++__gmp_const +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2012-03-08 15:17:03.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2012-03-12 11:59:47.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p7 ++3.1.0-p8 +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2012-03-12 11:59:47.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p7" ++#define MPFR_VERSION_STRING "3.1.0-p8" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +@@ -39,6 +39,18 @@ + # include <gmp.h> + #endif + ++/* GMP's internal __gmp_const macro has been removed on 2012-03-04: ++ http://gmplib.org:8000/gmp/rev/d287cfaf6732 ++ const is standard and now assumed to be available. If the __gmp_const ++ definition is no longer present in GMP, this probably means that GMP ++ assumes that const is available; thus let's define it to const. ++ Note: this is a temporary fix that can be backported to previous MPFR ++ versions. In the future, __gmp_const should be replaced by const like ++ in GMP. */ ++#ifndef __gmp_const ++# define __gmp_const const ++#endif ++ + /* Avoid some problems with macro expansion if the user defines macros + with the same name as keywords. By convention, identifiers and macro + names starting with mpfr_ are reserved by MPFR. */ +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2012-03-08 15:17:03.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2012-03-12 11:59:47.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p7"; ++ return "3.1.0-p8"; + } +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2012-04-27 01:13:15.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2012-04-27 01:13:15.000000000 +0000 +@@ -0,0 +1 @@ ++gamma-underflow +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2012-03-12 11:59:47.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2012-04-27 01:13:15.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p8 ++3.1.0-p9 +diff -Naurd mpfr-3.1.0-a/src/gamma.c mpfr-3.1.0-b/src/gamma.c +--- mpfr-3.1.0-a/src/gamma.c 2011-10-03 08:17:09.000000000 +0000 ++++ mpfr-3.1.0-b/src/gamma.c 2012-04-27 01:13:15.000000000 +0000 +@@ -296,7 +296,7 @@ + /* we want an upper bound for x * [log(2-x)-1]. + since x < 0, we need a lower bound on log(2-x) */ + mpfr_ui_sub (xp, 2, x, MPFR_RNDD); +- mpfr_log2 (xp, xp, MPFR_RNDD); ++ mpfr_log (xp, xp, MPFR_RNDD); + mpfr_sub_ui (xp, xp, 1, MPFR_RNDD); + mpfr_mul (xp, xp, x, MPFR_RNDU); + +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2012-03-12 11:59:47.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2012-04-27 01:13:15.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p8" ++#define MPFR_VERSION_STRING "3.1.0-p9" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2012-03-12 11:59:47.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2012-04-27 01:13:15.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p8"; ++ return "3.1.0-p9"; + } +diff -Naurd mpfr-3.1.0-a/tests/tgamma.c mpfr-3.1.0-b/tests/tgamma.c +--- mpfr-3.1.0-a/tests/tgamma.c 2011-10-03 08:17:14.000000000 +0000 ++++ mpfr-3.1.0-b/tests/tgamma.c 2012-04-27 01:13:15.000000000 +0000 +@@ -478,6 +478,36 @@ + mpfr_clear (x); + } + ++/* bug found by Giridhar Tammana */ ++static void ++test20120426 (void) ++{ ++ mpfr_t xa, xb; ++ int i; ++ mpfr_exp_t emin; ++ ++ mpfr_init2 (xa, 53); ++ mpfr_init2 (xb, 53); ++ mpfr_set_d (xb, -168.5, MPFR_RNDN); ++ emin = mpfr_get_emin (); ++ mpfr_set_emin (-1073); ++ i = mpfr_gamma (xa, xb, MPFR_RNDN); ++ i = mpfr_subnormalize (xa, i, MPFR_RNDN); /* new ternary value */ ++ mpfr_set_str (xb, "-9.5737343987585366746184749943e-304", 10, MPFR_RNDN); ++ if (!((i > 0) && (mpfr_cmp (xa, xb) == 0))) ++ { ++ printf ("Error in test20120426, i=%d\n", i); ++ printf ("expected "); ++ mpfr_print_binary (xb); putchar ('\n'); ++ printf ("got "); ++ mpfr_print_binary (xa); putchar ('\n'); ++ exit (1); ++ } ++ mpfr_set_emin (emin); ++ mpfr_clear (xa); ++ mpfr_clear (xb); ++} ++ + static void + exprange (void) + { +@@ -821,6 +851,7 @@ + gamma_integer (); + test20071231 (); + test20100709 (); ++ test20120426 (); + + data_check ("data/gamma", mpfr_gamma, "mpfr_gamma"); + +diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES +--- mpfr-3.1.0-a/PATCHES 2012-05-07 18:52:45.000000000 +0000 ++++ mpfr-3.1.0-b/PATCHES 2012-05-07 18:52:45.000000000 +0000 +@@ -0,0 +1 @@ ++gamma-overunderflow +diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION +--- mpfr-3.1.0-a/VERSION 2012-04-27 01:13:15.000000000 +0000 ++++ mpfr-3.1.0-b/VERSION 2012-05-07 18:52:45.000000000 +0000 +@@ -1 +1 @@ +-3.1.0-p9 ++3.1.0-p10 +diff -Naurd mpfr-3.1.0-a/src/gamma.c mpfr-3.1.0-b/src/gamma.c +--- mpfr-3.1.0-a/src/gamma.c 2012-04-27 01:13:15.000000000 +0000 ++++ mpfr-3.1.0-b/src/gamma.c 2012-05-07 18:52:45.000000000 +0000 +@@ -100,7 +100,8 @@ + mpfr_t xp, GammaTrial, tmp, tmp2; + mpz_t fact; + mpfr_prec_t realprec; +- int compared, inex, is_integer; ++ int compared, is_integer; ++ int inex = 0; /* 0 means: result gamma not set yet */ + MPFR_GROUP_DECL (group); + MPFR_SAVE_EXPO_DECL (expo); + MPFR_ZIV_DECL (loop); +@@ -377,6 +378,15 @@ + mpfr_mul (GammaTrial, tmp2, xp, MPFR_RNDN); /* Pi*(2-x), error (1+u)^2 */ + err_g = MPFR_GET_EXP(GammaTrial); + mpfr_sin (GammaTrial, GammaTrial, MPFR_RNDN); /* sin(Pi*(2-x)) */ ++ /* If tmp is +Inf, we compute exp(lngamma(x)). */ ++ if (mpfr_inf_p (tmp)) ++ { ++ inex = mpfr_explgamma (gamma, x, &expo, tmp, tmp2, rnd_mode); ++ if (inex) ++ goto end; ++ else ++ goto ziv_next; ++ } + err_g = err_g + 1 - MPFR_GET_EXP(GammaTrial); + /* let g0 the true value of Pi*(2-x), g the computed value. + We have g = g0 + h with |h| <= |(1+u^2)-1|*g. +@@ -411,11 +421,16 @@ + if (MPFR_LIKELY (MPFR_CAN_ROUND (GammaTrial, realprec - err_g, + MPFR_PREC(gamma), rnd_mode))) + break; ++ ++ ziv_next: + MPFR_ZIV_NEXT (loop, realprec); + } ++ ++ end: + MPFR_ZIV_FREE (loop); + +- inex = mpfr_set (gamma, GammaTrial, rnd_mode); ++ if (inex == 0) ++ inex = mpfr_set (gamma, GammaTrial, rnd_mode); + MPFR_GROUP_CLEAR (group); + mpz_clear (fact); + +diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c +--- mpfr-3.1.0-a/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000 ++++ mpfr-3.1.0-b/src/lngamma.c 2012-05-07 18:52:45.000000000 +0000 +@@ -49,9 +49,72 @@ + mpfr_set_ui_2exp (s, 9, -1, MPFR_RNDN); /* 4.5 */ + } + +-#ifndef IS_GAMMA ++#ifdef IS_GAMMA ++ ++/* This function is called in case of intermediate overflow/underflow. ++ The s1 and s2 arguments are temporary MPFR numbers, having the ++ working precision. If the result could be determined, then the ++ flags are updated via pexpo, y is set to the result, and the ++ (non-zero) ternary value is returned. Otherwise 0 is returned ++ in order to perform the next Ziv iteration. */ + static int +-unit_bit (mpfr_srcptr (x)) ++mpfr_explgamma (mpfr_ptr y, mpfr_srcptr x, mpfr_save_expo_t *pexpo, ++ mpfr_ptr s1, mpfr_ptr s2, mpfr_rnd_t rnd) ++{ ++ mpfr_t t1, t2; ++ int inex1, inex2, sign; ++ MPFR_BLOCK_DECL (flags1); ++ MPFR_BLOCK_DECL (flags2); ++ MPFR_GROUP_DECL (group); ++ ++ MPFR_BLOCK (flags1, inex1 = mpfr_lgamma (s1, &sign, x, MPFR_RNDD)); ++ MPFR_ASSERTN (inex1 != 0); ++ /* s1 = RNDD(lngamma(x)), inexact */ ++ if (MPFR_UNLIKELY (MPFR_OVERFLOW (flags1))) ++ { ++ if (MPFR_SIGN (s1) > 0) ++ { ++ MPFR_SAVE_EXPO_UPDATE_FLAGS (*pexpo, MPFR_FLAGS_OVERFLOW); ++ return mpfr_overflow (y, rnd, sign); ++ } ++ else ++ { ++ MPFR_SAVE_EXPO_UPDATE_FLAGS (*pexpo, MPFR_FLAGS_UNDERFLOW); ++ return mpfr_underflow (y, rnd == MPFR_RNDN ? MPFR_RNDZ : rnd, sign); ++ } ++ } ++ ++ mpfr_set (s2, s1, MPFR_RNDN); /* exact */ ++ mpfr_nextabove (s2); /* v = RNDU(lngamma(z0)) */ ++ ++ if (sign < 0) ++ rnd = MPFR_INVERT_RND (rnd); /* since the result with be negated */ ++ MPFR_GROUP_INIT_2 (group, MPFR_PREC (y), t1, t2); ++ MPFR_BLOCK (flags1, inex1 = mpfr_exp (t1, s1, rnd)); ++ MPFR_BLOCK (flags2, inex2 = mpfr_exp (t2, s2, rnd)); ++ /* t1 is the rounding with mode 'rnd' of a lower bound on |Gamma(x)|, ++ t2 is the rounding with mode 'rnd' of an upper bound, thus if both ++ are equal, so is the wanted result. If t1 and t2 differ or the flags ++ differ, at some point of Ziv's loop they should agree. */ ++ if (mpfr_equal_p (t1, t2) && flags1 == flags2) ++ { ++ MPFR_ASSERTN ((inex1 > 0 && inex2 > 0) || (inex1 < 0 && inex2 < 0)); ++ mpfr_set4 (y, t1, MPFR_RNDN, sign); /* exact */ ++ if (sign < 0) ++ inex1 = - inex1; ++ MPFR_SAVE_EXPO_UPDATE_FLAGS (*pexpo, flags1); ++ } ++ else ++ inex1 = 0; /* couldn't determine the result */ ++ MPFR_GROUP_CLEAR (group); ++ ++ return inex1; ++} ++ ++#else ++ ++static int ++unit_bit (mpfr_srcptr x) + { + mpfr_exp_t expo; + mpfr_prec_t prec; +@@ -75,6 +138,7 @@ + + return (x0 >> (prec % GMP_NUMB_BITS)) & 1; + } ++ + #endif + + /* lngamma(x) = log(gamma(x)). +@@ -99,12 +163,14 @@ + mpfr_t s, t, u, v, z; + unsigned long m, k, maxm; + mpz_t *INITIALIZED(B); /* variable B declared as initialized */ +- int inexact, compared; ++ int compared; ++ int inexact = 0; /* 0 means: result y not set yet */ + mpfr_exp_t err_s, err_t; + unsigned long Bm = 0; /* number of allocated B[] */ + unsigned long oldBm; + double d; + MPFR_SAVE_EXPO_DECL (expo); ++ MPFR_ZIV_DECL (loop); + + compared = mpfr_cmp_ui (z0, 1); + +@@ -122,7 +188,7 @@ + if (MPFR_EXP(z0) <= - (mpfr_exp_t) MPFR_PREC(y)) + { + mpfr_t l, h, g; +- int ok, inex2; ++ int ok, inex1, inex2; + mpfr_prec_t prec = MPFR_PREC(y) + 14; + MPFR_ZIV_DECL (loop); + +@@ -157,14 +223,14 @@ + mpfr_sub (h, h, g, MPFR_RNDD); + mpfr_mul (g, z0, z0, MPFR_RNDU); + mpfr_add (h, h, g, MPFR_RNDU); +- inexact = mpfr_prec_round (l, MPFR_PREC(y), rnd); ++ inex1 = mpfr_prec_round (l, MPFR_PREC(y), rnd); + inex2 = mpfr_prec_round (h, MPFR_PREC(y), rnd); + /* Caution: we not only need l = h, but both inexact flags should + agree. Indeed, one of the inexact flags might be zero. In that + case if we assume lngamma(z0) cannot be exact, the other flag + should be correct. We are conservative here and request that both + inexact flags agree. */ +- ok = SAME_SIGN (inexact, inex2) && mpfr_cmp (l, h) == 0; ++ ok = SAME_SIGN (inex1, inex2) && mpfr_cmp (l, h) == 0; + if (ok) + mpfr_set (y, h, rnd); /* exact */ + mpfr_clear (l); +@@ -172,8 +238,9 @@ + mpfr_clear (g); + if (ok) + { ++ MPFR_ZIV_FREE (loop); + MPFR_SAVE_EXPO_FREE (expo); +- return mpfr_check_range (y, inexact, rnd); ++ return mpfr_check_range (y, inex1, rnd); + } + /* since we have log|gamma(x)| = - log|x| - gamma*x + O(x^2), + if x ~ 2^(-n), then we have a n-bit approximation, thus +@@ -205,9 +272,10 @@ + thus lngamma(x) = log(Pi*(x-1)/sin(Pi*(2-x))) - lngamma(2-x) */ + + w = precy + MPFR_INT_CEIL_LOG2 (precy); ++ w += MPFR_INT_CEIL_LOG2 (w) + 14; ++ MPFR_ZIV_INIT (loop, w); + while (1) + { +- w += MPFR_INT_CEIL_LOG2 (w) + 14; + MPFR_ASSERTD(w >= 3); + mpfr_set_prec (s, w); + mpfr_set_prec (t, w); +@@ -288,7 +356,9 @@ + + (rnd == MPFR_RNDN))) + goto end; + } ++ MPFR_ZIV_NEXT (loop, w); + } ++ MPFR_ZIV_FREE (loop); + } + + /* now z0 > 1 */ +@@ -298,10 +368,10 @@ + /* since k is O(w), the value of log(z0*...*(z0+k-1)) is about w*log(w), + so there is a cancellation of ~log(w) in the argument reconstruction */ + w = precy + MPFR_INT_CEIL_LOG2 (precy); +- +- do ++ w += MPFR_INT_CEIL_LOG2 (w) + 13; ++ MPFR_ZIV_INIT (loop, w); ++ while (1) + { +- w += MPFR_INT_CEIL_LOG2 (w) + 13; + MPFR_ASSERTD (w >= 3); + + /* argument reduction: we compute gamma(z0 + k), where the series +@@ -441,6 +511,15 @@ + #ifdef IS_GAMMA + err_s = MPFR_GET_EXP(s); + mpfr_exp (s, s, MPFR_RNDN); ++ /* If s is +Inf, we compute exp(lngamma(z0)). */ ++ if (mpfr_inf_p (s)) ++ { ++ inexact = mpfr_explgamma (y, z0, &expo, s, t, rnd); ++ if (inexact) ++ goto end0; ++ else ++ goto ziv_next; ++ } + /* before the exponential, we have s = s0 + h where + |h| <= (2m+48)*ulp(s), thus exp(s0) = exp(s) * exp(-h). + For |h| <= 1/4, we have |exp(h)-1| <= 1.2*|h| thus +@@ -480,16 +559,26 @@ + err_s = (err_t == err_s) ? 1 + err_s : ((err_t > err_s) ? err_t : err_s); + err_s += 1 - MPFR_GET_EXP(s); + #endif ++ if (MPFR_LIKELY (MPFR_CAN_ROUND (s, w - err_s, precy, rnd))) ++ break; ++#ifdef IS_GAMMA ++ ziv_next: ++#endif ++ MPFR_ZIV_NEXT (loop, w); + } +- while (MPFR_UNLIKELY (!MPFR_CAN_ROUND (s, w - err_s, precy, rnd))); + ++#ifdef IS_GAMMA ++ end0: ++#endif + oldBm = Bm; + while (Bm--) + mpz_clear (B[Bm]); + (*__gmp_free_func) (B, oldBm * sizeof (mpz_t)); + + end: +- inexact = mpfr_set (y, s, rnd); ++ if (inexact == 0) ++ inexact = mpfr_set (y, s, rnd); ++ MPFR_ZIV_FREE (loop); + + mpfr_clear (s); + mpfr_clear (t); +diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h +--- mpfr-3.1.0-a/src/mpfr.h 2012-04-27 01:13:15.000000000 +0000 ++++ mpfr-3.1.0-b/src/mpfr.h 2012-05-07 18:52:45.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.1.0-p9" ++#define MPFR_VERSION_STRING "3.1.0-p10" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c +--- mpfr-3.1.0-a/src/version.c 2012-04-27 01:13:15.000000000 +0000 ++++ mpfr-3.1.0-b/src/version.c 2012-05-07 18:52:45.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.0-p9"; ++ return "3.1.0-p10"; + } +diff -Naurd mpfr-3.1.0-a/tests/tgamma.c mpfr-3.1.0-b/tests/tgamma.c +--- mpfr-3.1.0-a/tests/tgamma.c 2012-04-27 01:13:15.000000000 +0000 ++++ mpfr-3.1.0-b/tests/tgamma.c 2012-05-07 18:52:45.000000000 +0000 +@@ -838,6 +838,175 @@ + exit (1); + } + ++/* Test mpfr_gamma in precision p1 by comparing it with exp(lgamma(x)) ++ computing with a working precision p2. Assume that x is not an ++ integer <= 2. */ ++static void ++exp_lgamma (mpfr_t x, mpfr_prec_t p1, mpfr_prec_t p2) ++{ ++ mpfr_t yd, yu, zd, zu; ++ int inexd, inexu, sign; ++ int underflow = -1, overflow = -1; /* -1: we don't know */ ++ int got_underflow, got_overflow; ++ ++ if (mpfr_integer_p (x) && mpfr_cmp_si (x, 2) <= 0) ++ { ++ printf ("Warning! x is an integer <= 2 in exp_lgamma: "); ++ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN); putchar ('\n'); ++ return; ++ } ++ mpfr_inits2 (p2, yd, yu, (mpfr_ptr) 0); ++ inexd = mpfr_lgamma (yd, &sign, x, MPFR_RNDD); ++ mpfr_set (yu, yd, MPFR_RNDN); /* exact */ ++ if (inexd) ++ mpfr_nextabove (yu); ++ mpfr_clear_flags (); ++ mpfr_exp (yd, yd, MPFR_RNDD); ++ if (! mpfr_underflow_p ()) ++ underflow = 0; ++ if (mpfr_overflow_p ()) ++ overflow = 1; ++ mpfr_clear_flags (); ++ mpfr_exp (yu, yu, MPFR_RNDU); ++ if (mpfr_underflow_p ()) ++ underflow = 1; ++ if (! mpfr_overflow_p ()) ++ overflow = 0; ++ if (sign < 0) ++ { ++ mpfr_neg (yd, yd, MPFR_RNDN); /* exact */ ++ mpfr_neg (yu, yu, MPFR_RNDN); /* exact */ ++ mpfr_swap (yd, yu); ++ } ++ /* yd < Gamma(x) < yu (strict inequalities since x != 1 and x != 2) */ ++ mpfr_inits2 (p1, zd, zu, (mpfr_ptr) 0); ++ mpfr_clear_flags (); ++ inexd = mpfr_gamma (zd, x, MPFR_RNDD); /* zd <= Gamma(x) < yu */ ++ got_underflow = underflow == -1 ? -1 : !! mpfr_underflow_p (); ++ got_overflow = overflow == -1 ? -1 : !! mpfr_overflow_p (); ++ if (! mpfr_less_p (zd, yu) || inexd > 0 || ++ got_underflow != underflow || ++ got_overflow != overflow) ++ { ++ printf ("Error in exp_lgamma on x = "); ++ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n'); ++ printf ("yu = "); ++ mpfr_dump (yu); ++ printf ("zd = "); ++ mpfr_dump (zd); ++ printf ("got inexd = %d, expected <= 0\n", inexd); ++ printf ("got underflow = %d, expected %d\n", got_underflow, underflow); ++ printf ("got overflow = %d, expected %d\n", got_overflow, overflow); ++ exit (1); ++ } ++ mpfr_clear_flags (); ++ inexu = mpfr_gamma (zu, x, MPFR_RNDU); /* zu >= Gamma(x) > yd */ ++ got_underflow = underflow == -1 ? -1 : !! mpfr_underflow_p (); ++ got_overflow = overflow == -1 ? -1 : !! mpfr_overflow_p (); ++ if (! mpfr_greater_p (zu, yd) || inexu < 0 || ++ got_underflow != underflow || ++ got_overflow != overflow) ++ { ++ printf ("Error in exp_lgamma on x = "); ++ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n'); ++ printf ("yd = "); ++ mpfr_dump (yd); ++ printf ("zu = "); ++ mpfr_dump (zu); ++ printf ("got inexu = %d, expected >= 0\n", inexu); ++ printf ("got underflow = %d, expected %d\n", got_underflow, underflow); ++ printf ("got overflow = %d, expected %d\n", got_overflow, overflow); ++ exit (1); ++ } ++ if (mpfr_equal_p (zd, zu)) ++ { ++ if (inexd != 0 || inexu != 0) ++ { ++ printf ("Error in exp_lgamma on x = "); ++ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n'); ++ printf ("zd = zu, thus exact, but inexd = %d and inexu = %d\n", ++ inexd, inexu); ++ exit (1); ++ } ++ MPFR_ASSERTN (got_underflow == 0); ++ MPFR_ASSERTN (got_overflow == 0); ++ } ++ else if (inexd == 0 || inexu == 0) ++ { ++ printf ("Error in exp_lgamma on x = "); ++ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n'); ++ printf ("zd != zu, thus inexact, but inexd = %d and inexu = %d\n", ++ inexd, inexu); ++ exit (1); ++ } ++ mpfr_clears (yd, yu, zd, zu, (mpfr_ptr) 0); ++} ++ ++static void ++exp_lgamma_tests (void) ++{ ++ mpfr_t x; ++ mpfr_exp_t emin, emax; ++ int i; ++ ++ emin = mpfr_get_emin (); ++ emax = mpfr_get_emax (); ++ set_emin (MPFR_EMIN_MIN); ++ set_emax (MPFR_EMAX_MAX); ++ ++ mpfr_init2 (x, 96); ++ for (i = 3; i <= 8; i++) ++ { ++ mpfr_set_ui (x, i, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ mpfr_nextbelow (x); ++ exp_lgamma (x, 53, 64); ++ mpfr_nextabove (x); ++ mpfr_nextabove (x); ++ exp_lgamma (x, 53, 64); ++ } ++ mpfr_set_str (x, "1.7", 10, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ mpfr_set_str (x, "-90.6308260837372266e+15", 10, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ /* The following test gives a large positive result < +Inf */ ++ mpfr_set_str (x, "1.2b13fc45a92dea1@14", 16, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ /* Idem for a large negative result > -Inf */ ++ mpfr_set_str (x, "-1.2b13fc45a92de81@14", 16, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ /* The following two tests trigger an endless loop in r8186 ++ on 64-bit machines (64-bit exponent). The second one (due ++ to undetected overflow) is a direct consequence of the ++ first one, due to the call of Gamma(2-x) if x < 1. */ ++ mpfr_set_str (x, "1.2b13fc45a92dec8@14", 16, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ mpfr_set_str (x, "-1.2b13fc45a92dea8@14", 16, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ /* Similar tests (overflow threshold) for 32-bit machines. */ ++ mpfr_set_str (x, "2ab68d8.657542f855111c61", 16, MPFR_RNDN); ++ exp_lgamma (x, 12, 64); ++ mpfr_set_str (x, "-2ab68d6.657542f855111c61", 16, MPFR_RNDN); ++ exp_lgamma (x, 12, 64); ++ /* The following test is an overflow on 32-bit and 64-bit machines. ++ Revision r8189 fails on 64-bit machines as the flag is unset. */ ++ mpfr_set_str (x, "1.2b13fc45a92ded8@14", 16, MPFR_RNDN); ++ exp_lgamma (x, 53, 64); ++ /* On the following tests, with r8196, one gets an underflow on ++ 32-bit machines, while a normal result is expected (see FIXME ++ in gamma.c:382). */ ++ mpfr_set_str (x, "-2ab68d6.657542f855111c6104", 16, MPFR_RNDN); ++ exp_lgamma (x, 12, 64); /* failure on 32-bit machines */ ++ mpfr_set_str (x, "-12b13fc45a92deb.1c6c5bc964", 16, MPFR_RNDN); ++ exp_lgamma (x, 12, 64); /* failure on 64-bit machines */ ++ mpfr_clear (x); ++ ++ set_emin (emin); ++ set_emax (emax); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -852,6 +1021,7 @@ + test20071231 (); + test20100709 (); + test20120426 (); ++ exp_lgamma_tests (); + + data_check ("data/gamma", mpfr_gamma, "mpfr_gamma"); + diff --git a/testing/mpfr/mpfr.install b/testing/mpfr/mpfr.install new file mode 100644 index 000000000..d6dd0475b --- /dev/null +++ b/testing/mpfr/mpfr.install @@ -0,0 +1,20 @@ +info_dir=usr/share/info +info_files=(mpfr.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for f in ${info_files[@]}; do + install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD index 2ddf56cb0..41a8f4649 100644 --- a/testing/systemd/PKGBUILD +++ b/testing/systemd/PKGBUILD @@ -3,8 +3,8 @@ pkgbase=systemd pkgname=('systemd' 'libsystemd' 'systemd-tools' 'systemd-sysvcompat') -pkgver=185 -pkgrel=4 +pkgver=186 +pkgrel=1 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" license=('GPL2' 'LGPL2.1' 'MIT') @@ -16,16 +16,12 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-install-udev' 'initcpio-install-timestamp' '0001-Reinstate-TIMEOUT-handling.patch' - '0001-vconsole-setup-enable-utf-8-mode-explicitly.patch' - '0001-udev-systemd-udev-settle.service-fix-After.patch' 'locale.sh') -md5sums=('a7dbbf05986eb0d2c164ec8e570eb78f' +md5sums=('17eff1d31e6e49bf82e129fe57efd59b' 'e99e9189aa2f6084ac28b8ddf605aeb8' '59e91c4d7a69b7bf12c86a9982e37ced' 'df69615503ad293c9ddf9d8b7755282d' '5543be25f205f853a21fa5ee68e03f0d' - '83f51149ff9c4d75ea946e2b3cc61e53' - 'b3e41e90beaff35c66ba1b4bc223430a' 'f15956945052bb911e5df81cf5e7e5dc') build() { @@ -34,12 +30,6 @@ build() { # still waiting on ipw2x00 to get fixed... patch -Np1 <"$srcdir/0001-Reinstate-TIMEOUT-handling.patch" - # upstream commit d305a67b46644d6360ef557109384c831ee8e018 - patch -Np1 <"$srcdir/0001-vconsole-setup-enable-utf-8-mode-explicitly.patch" - - # upstream commit 8e8eb8fbafcaa841fa5393e396acde27b26edf2f - patch -Np1 <"$srcdir/0001-udev-systemd-udev-settle.service-fix-After.patch" - ./configure \ --libexecdir=/usr/lib \ --localstatedir=/var \ @@ -62,10 +52,10 @@ package_systemd() { pkgdesc="system and service manager" depends=('acl' 'dbus-core' "libsystemd=$pkgver" 'kmod' 'libcap' 'pam' "systemd-tools=$pkgver" 'util-linux' 'xz') - optdepends=('python2-dbus: systemd-analyze' + optdepends=('python-dbus: systemd-analyze' 'initscripts: legacy support for hostname and vconsole setup' 'initscripts-systemd: legacy generator for initialization scripts' - 'python2-cairo: systemd-analyze' + 'python-cairo: systemd-analyze' 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts' 'systemd-sysvcompat: symlink package to provide sysvinit binaries') backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf @@ -86,9 +76,6 @@ package_systemd() { install -dm755 "$pkgdir/bin" ln -s ../usr/lib/systemd/systemd "$pkgdir/bin/systemd" - # fix systemd-analyze for python2 - sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" - # move bash-completion and symlink for loginctl install -Dm644 "$pkgdir/etc/bash_completion.d/systemd-bash-completion.sh" \ "$pkgdir/usr/share/bash-completion/completions/systemctl" diff --git a/testing/upower/PKGBUILD b/testing/upower/PKGBUILD new file mode 100644 index 000000000..06cf88c0a --- /dev/null +++ b/testing/upower/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 162916 2012-07-03 23:39:56Z tomegun $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=upower +pkgver=0.9.17 +pkgrel=1 +pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics" +arch=('i686' 'x86_64') +url="http://upower.freedesktop.org" +license=('GPL') +depends=('systemd-tools' 'libusb' 'polkit' 'pm-utils' 'dbus-glib' 'libimobiledevice') +makedepends=('intltool' 'docbook-xsl' 'gobject-introspection') +options=('!libtool') +source=($url/releases/$pkgname-$pkgver.tar.xz) + +build() { + cd "$pkgname-$pkgver" + + # put udev files in /usr/lib + sed -i "/slashlibdir=/s#/lib#/usr/lib#" configure + + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/upower \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --disable-static + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} +md5sums=('9ef7fc8ec438542f014f3a34552822aa') diff --git a/testing/valgrind/PKGBUILD b/testing/valgrind/PKGBUILD new file mode 100644 index 000000000..c2da0713a --- /dev/null +++ b/testing/valgrind/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 162945 2012-07-04 01:13:31Z allan $ +# Maintainer: Dan McGee <dan@archlinux.org> +# Maintainer: Allan McRae <allan@archlinux.org> + +pkgname=valgrind +pkgver=3.7.0 +pkgrel=3 +pkgdesc="A tool to help find memory-management problems in programs" +arch=('i686' 'x86_64') +license=('GPL') +url="http://valgrind.org/" +depends=('glibc>=2.16' 'glibc<2.17' 'perl') +makedepends=('gdb') +options=('!emptydirs') +source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2 + valgrind-3.7.0-glibc-2.16.patch) +md5sums=('a855fda56edf05614f099dca316d1775' + '8362c9c10b8d7d08d1be628a717cfba7') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + patch -Np1 -i ${srcdir}/valgrind-3.7.0-glibc-2.16.patch + + if [ "${CARCH}" = "x86_64" ]; then + ./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit + else + ./configure --prefix=/usr --mandir=/usr/share/man + fi + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/valgrind/valgrind-3.7.0-glibc-2.16.patch b/testing/valgrind/valgrind-3.7.0-glibc-2.16.patch new file mode 100644 index 000000000..4d28ff11a --- /dev/null +++ b/testing/valgrind/valgrind-3.7.0-glibc-2.16.patch @@ -0,0 +1,41 @@ +diff -Naur valgrind-3.7.0-orig/configure valgrind-3.7.0/configure +--- valgrind-3.7.0-orig/configure 2011-11-05 21:24:39.000000000 +1000 ++++ valgrind-3.7.0/configure 2011-12-27 15:43:54.832120449 +1000 +@@ -6402,6 +6402,28 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.15) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 ++$as_echo "2.15 family" >&6; } ++ ++$as_echo "#define GLIBC_2_15 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; ++ ++ 2.16) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.16 family" >&5 ++$as_echo "2.16 family" >&6; } ++ ++$as_echo "#define GLIBC_2_16 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; ++ + darwin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 + $as_echo "Darwin" >&6; } +@@ -6422,7 +6433,7 @@ + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5 + $as_echo "unsupported version ${GLIBC_VERSION}" >&6; } +- as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5 ++ as_fn_error "Valgrind requires glibc version 2.2 - 2.16" "$LINENO" 5 + as_fn_error "or Darwin libc" "$LINENO" 5 + ;; + esac |