summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-testing/cdfs/PKGBUILD35
-rw-r--r--community-testing/cdfs/cdfs-3.0.patch274
-rw-r--r--community-testing/cdfs/cdfs-3.2.patch12
-rw-r--r--community-testing/cdfs/cdfs-3.4.patch12
-rw-r--r--community-testing/cdfs/cdfs.install14
-rw-r--r--community-testing/r8168-lts/PKGBUILD34
-rw-r--r--community-testing/r8168-lts/r8168-lts.install17
-rw-r--r--community-testing/vhba-module/PKGBUILD11
-rw-r--r--community-testing/vhba-module/vhba-module.install2
-rw-r--r--community/allegro/PKGBUILD8
-rw-r--r--community/cdemu-daemon/PKGBUILD29
-rw-r--r--community/cdemu-daemon/cdemu-daemon.install37
-rw-r--r--community/cdemu-daemon/cdemu-daemon.service10
-rw-r--r--community/cdemu-daemon/cdemud-dbus.conf24
-rw-r--r--community/cdemu-daemon/cdemud.conf3
-rw-r--r--community/cdemu-daemon/cdemud.rc25
-rw-r--r--community/converseen/PKGBUILD6
-rw-r--r--community/me-tv/PKGBUILD13
-rw-r--r--community/milkytracker/PKGBUILD17
-rw-r--r--community/nethack/PKGBUILD6
-rw-r--r--community/nginx/PKGBUILD118
-rw-r--r--community/nginx/nginx.install11
-rw-r--r--community/nginx/nginx.logrotate8
-rw-r--r--community/nginx/rc.d68
-rw-r--r--community/nginx/service13
-rw-r--r--community/puzzles/PKGBUILD4
-rw-r--r--community/spectrwm/PKGBUILD11
-rw-r--r--community/vhba-module/60-vhba.rules14
-rw-r--r--community/vhba-module/PKGBUILD6
-rw-r--r--community/vhba-module/vhba-module.install2
-rw-r--r--core/gcc/PKGBUILD14
-rw-r--r--core/ppl/PKGBUILD8
-rw-r--r--core/run-parts/PKGBUILD6
-rw-r--r--core/wpa_supplicant/PKGBUILD49
-rw-r--r--core/wpa_supplicant/config92
-rw-r--r--core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch54
-rw-r--r--extra/dovecot/PKGBUILD13
-rw-r--r--extra/gnutls/PKGBUILD8
-rw-r--r--extra/libjpeg-turbo/PKGBUILD30
-rw-r--r--extra/wpa_supplicant_gui/PKGBUILD16
-rw-r--r--extra/wpa_supplicant_gui/compile-fix.patch14
-rw-r--r--extra/xfce4-battery-plugin/PKGBUILD6
-rw-r--r--extra/xfce4-cpugraph-plugin/PKGBUILD6
-rw-r--r--extra/xfce4-diskperf-plugin/PKGBUILD6
-rw-r--r--extra/xfce4-fsguard-plugin/PKGBUILD16
-rw-r--r--extra/xfce4-mpc-plugin/PKGBUILD6
-rw-r--r--extra/xfce4-systemload-plugin/PKGBUILD10
-rw-r--r--extra/xfce4-wavelan-plugin/PKGBUILD8
-rw-r--r--libre/linux-libre-api-headers/PKGBUILD18
-rw-r--r--libre/linux-libre-lts/PKGBUILD19
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.install2
-rw-r--r--libre/linux-libre/PKGBUILD23
-rw-r--r--libre/linux-libre/linux-libre.install2
-rw-r--r--libre/lirc-libre/PKGBUILD12
-rw-r--r--libre/lirc-libre/lirc.install2
-rw-r--r--multilib-testing/binutils-multilib/PKGBUILD88
-rw-r--r--multilib-testing/binutils-multilib/binutils.install17
-rw-r--r--multilib-testing/gcc-multilib/PKGBUILD19
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch15
-rw-r--r--multilib-testing/lib32-glibc/PKGBUILD195
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch11
-rw-r--r--multilib/gcc-multilib/PKGBUILD14
-rw-r--r--multilib/lib32-glibc/PKGBUILD32
-rw-r--r--multilib/lib32-glibc/glibc-2.15-gb18030.patch.gzbin0 -> 470126 bytes
-rw-r--r--multilib/lib32-glibc/glibc-2.15-testsuite.patch110
-rw-r--r--multilib/wine/PKGBUILD6
-rw-r--r--testing/binutils/PKGBUILD95
-rw-r--r--testing/binutils/binutils.install17
-rw-r--r--testing/gcc/PKGBUILD15
-rw-r--r--testing/gcc/gcc-4.7.1-libgo-mksysinfo.patch15
-rw-r--r--testing/glibc/PKGBUILD233
-rw-r--r--testing/glibc/glibc-2.15-revert-c5a0802a.patch11
-rw-r--r--testing/kmod/PKGBUILD13
-rw-r--r--testing/kmod/kmod.install9
-rw-r--r--testing/libusb-compat/PKGBUILD32
-rw-r--r--testing/libusb-compat/libusb-0.1-libusbx.patch17
-rw-r--r--testing/lvm2/PKGBUILD7
-rw-r--r--testing/mpfr/PKGBUILD36
-rw-r--r--testing/mpfr/mpfr-3.1.0.p10.patch1896
-rw-r--r--testing/mpfr/mpfr.install20
-rw-r--r--testing/systemd/PKGBUILD23
-rw-r--r--testing/upower/PKGBUILD34
-rw-r--r--testing/valgrind/PKGBUILD36
-rw-r--r--testing/valgrind/valgrind-3.7.0-glibc-2.16.patch41
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
new file mode 100644
index 000000000..dde59c056
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.15-gb18030.patch.gz
Binary files differ
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