diff options
Diffstat (limited to 'dev-libs/libaio')
-rw-r--r-- | dev-libs/libaio/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.106-build.patch | 17 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch | 17 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch | 101 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch | 31 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.107-sparc.patch | 151 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch | 62 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.109-install.patch | 45 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch | 19 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch | 73 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.109-x32.patch | 63 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.110-cppflags.patch | 25 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch | 30 | ||||
-rw-r--r-- | dev-libs/libaio/libaio-0.3.110.ebuild | 82 | ||||
-rw-r--r-- | dev-libs/libaio/metadata.xml | 12 |
15 files changed, 729 insertions, 0 deletions
diff --git a/dev-libs/libaio/Manifest b/dev-libs/libaio/Manifest new file mode 100644 index 000000000000..e55d7cfdf9ff --- /dev/null +++ b/dev-libs/libaio/Manifest @@ -0,0 +1 @@ +DIST libaio-0.3.110.tar.gz 42270 SHA256 e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e SHA512 664295d330d6e9adc005e2331e77582619625b479ffc2b81728ba6a682487380ee936079c4a69d35144b458bbe35c612f4ed9b32e913bd7e109b824345763eb3 WHIRLPOOL 21666b6d14e8091a52941b54b1c6d882dd495ed2d5ca9047a7951ee44e90aa33348ade0d3e4e7f12076a264b64b354a06cd96433cb39e18fc87b3655b59767af diff --git a/dev-libs/libaio/files/libaio-0.3.106-build.patch b/dev-libs/libaio/files/libaio-0.3.106-build.patch new file mode 100644 index 000000000000..812c2a4b0ea4 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.106-build.patch @@ -0,0 +1,17 @@ +--- src/Makefile.orig 2006-07-09 19:46:41.000000000 -0700 ++++ src/Makefile 2006-07-09 19:51:00.000000000 -0700 +@@ -2,11 +2,10 @@ + includedir=$(prefix)/include + libdir=$(prefix)/lib + +-ARCH := $(shell uname -m | sed -e s/i.86/i386/) +-CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC +-SO_CFLAGS=-shared $(CFLAGS) ++CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) +-LINK_FLAGS= ++LINK_FLAGS=-lgcc -lrt $(LDFLAGS) + + soname=libaio.so.1 + minor=0 diff --git a/dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch b/dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch new file mode 100644 index 000000000000..d1ec1403a0e9 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.107-ar-ranlib.patch @@ -0,0 +1,17 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -42,10 +42,12 @@ + $(CC) $(L_CFLAGS) -c -o $@ $< + + ++AR ?= ar ++RANLIB ?= ranlib + libaio.a: $(libaio_objs) + rm -f libaio.a +- ar r libaio.a $^ +- ranlib libaio.a ++ $(AR) r libaio.a $^ ++ $(RANLIB) libaio.a + + $(libname): $(libaio_sobjs) libaio.map + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) diff --git a/dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch b/dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch new file mode 100644 index 000000000000..6ecd7f10d5ba --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.107-generic-arch.patch @@ -0,0 +1,101 @@ +for arches that lack magic assembly (arm, blackfin, etc...), implement support +using standard syscall() function + +--- src/libaio.h ++++ src/libaio.h +@@ -49,38 +49,34 @@ typedef enum io_iocb_cmd { + IO_CMD_PWRITEV = 8, + } io_iocb_cmd_t; + +-#if defined(__i386__) /* little endian, 32 bits */ ++/* little endian, 32 bits */ ++#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \ ++ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__) + #define PADDED(x, y) x; unsigned y + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y ++ ++/* little endian, 64 bits */ + #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) + #define PADDED(x, y) x, y + #define PADDEDptr(x, y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__powerpc64__) /* big endian, 64 bits */ ++ ++/* big endian, 64 bits */ ++#elif defined(__powerpc64__) || defined(__s390x__) || \ ++ (defined(__sparc__) && defined(__arch64__)) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x,y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__PPC__) /* big endian, 32 bits */ ++ ++/* big endian, 32 bits */ ++#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \ ++ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \ ++ defined(__hppa__) || defined(__frv__) || defined(__avr32__) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x, y) unsigned y; x + #define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__s390x__) /* big endian, 64 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x,y) x +-#define PADDEDul(x, y) unsigned long x +-#elif defined(__s390__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__sparc__) && defined(__arch64__) /* big endian, 64 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x,y) x +-#define PADDEDul(x, y) unsigned long x +-#elif defined(__sparc__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x ++ + #else + #error endian? + #endif +--- /dev/null ++++ src/syscall-generic.h +@@ -0,0 +1,29 @@ ++#include <errno.h> ++#include <unistd.h> ++#include <sys/syscall.h> ++ ++#define _body_io_syscall(sname, args...) \ ++{ \ ++ int ret = syscall(__NR_##sname, ## args); \ ++ return ret < 0 ? -errno : ret; \ ++} ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++_body_io_syscall(sname, (long)arg1) ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2) ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3) ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4) ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \ ++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5) +--- src/syscall.h ++++ src/syscall.h +@@ -25,5 +25,6 @@ + #elif defined(__sparc__) + #include "syscall-sparc.h" + #else +-#error "add syscall-arch.h" ++#warning "using generic syscall method" ++#include "syscall-generic.h" + #endif diff --git a/dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch b/dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch new file mode 100644 index 000000000000..c47273631f05 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.107-install-to-slash.patch @@ -0,0 +1,31 @@ +based on fedora ptach + +--- libaio-0.3.107/src/Makefile ++++ libaio-0.3.107/src/Makefile +@@ -1,6 +1,7 @@ + prefix=/usr +-includedir=$(prefix)/include +-libdir=$(prefix)/lib ++includedir=/usr/include ++libdir=/usr/lib ++usrlibdir=$(libdir) + + ARCH := $(shell uname -m | sed -e s/i.86/i386/) + CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC +@@ -51,11 +52,11 @@ + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) + + install: $(all_targets) +- install -D -m 644 libaio.h $(includedir)/libaio.h +- install -D -m 644 libaio.a $(libdir)/libaio.a +- install -D -m 755 $(libname) $(libdir)/$(libname) +- ln -sf $(libname) $(libdir)/$(soname) +- ln -sf $(libname) $(libdir)/libaio.so ++ install -D -m 644 libaio.h $(DESTDIR)$(includedir)/libaio.h ++ install -D -m 644 libaio.a $(DESTDIR)$(usrlibdir)/libaio.a ++ install -D -m 755 $(libname) $(DESTDIR)$(libdir)/$(libname) ++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/$(soname) ++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/libaio.so + + $(libaio_objs): libaio.h + diff --git a/dev-libs/libaio/files/libaio-0.3.107-sparc.patch b/dev-libs/libaio/files/libaio-0.3.107-sparc.patch new file mode 100644 index 000000000000..92bcd5325e86 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.107-sparc.patch @@ -0,0 +1,151 @@ +ripped from fedora + +--- libaio-0.3.107/src/libaio.h ++++ libaio-0.3.107/src/libaio.h +@@ -73,6 +73,14 @@ + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x, y) unsigned y; x + #define PADDEDul(x, y) unsigned y; unsigned long x ++#elif defined(__sparc__) && defined(__arch64__) /* big endian, 64 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x,y) x ++#define PADDEDul(x, y) unsigned long x ++#elif defined(__sparc__) /* big endian, 32 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x, y) unsigned y; x ++#define PADDEDul(x, y) unsigned y; unsigned long x + #else + #error endian? + #endif +--- libaio-0.3.107/src/syscall.h ++++ libaio-0.3.107/src/syscall.h +@@ -22,6 +22,8 @@ + #include "syscall-s390.h" + #elif defined(__alpha__) + #include "syscall-alpha.h" ++#elif defined(__sparc__) ++#include "syscall-sparc.h" + #else + #error "add syscall-arch.h" + #endif +--- libaio-0.3.107/src/syscall-sparc.h ++++ libaio-0.3.107/src/syscall-sparc.h +@@ -0,0 +1,118 @@ ++#include <errno.h> ++ ++#define __NR_io_setup 268 ++#define __NR_io_destroy 269 ++#define __NR_io_submit 270 ++#define __NR_io_cancel 271 ++#define __NR_io_getevents 272 ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res >= 0) \ ++ return (type) __res; \ ++errno = -__res; \ ++return -1; \ ++} ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res >= 0) \ ++ return (type) __res; \ ++errno = -__res; \ ++return -1; \ ++} ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++register long __o2 __asm__ ("o2") = (long)(arg3); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res>=0) \ ++ return (type) __res; \ ++errno = -__res; \ ++return -1; \ ++} ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++register long __o2 __asm__ ("o2") = (long)(arg3); \ ++register long __o3 __asm__ ("o3") = (long)(arg4); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res>=0) \ ++ return (type) __res; \ ++errno = -__res; \ ++return -1; \ ++} ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ ++ type5,arg5) \ ++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++register long __o2 __asm__ ("o2") = (long)(arg3); \ ++register long __o3 __asm__ ("o3") = (long)(arg4); \ ++register long __o4 __asm__ ("o4") = (long)(arg5); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res>=0) \ ++ return (type) __res; \ ++errno = -__res; \ ++return -1; \ ++} diff --git a/dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch b/dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch new file mode 100644 index 000000000000..fea3aeeee420 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.109-generic-arch.patch @@ -0,0 +1,62 @@ +From 5e96c73d5dfbdea8d0be82b7f3fc8d6735e5dfa7 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sun, 17 Jan 2010 17:07:48 -0500 +Subject: [PATCH] add a generic syscall() fallback + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + src/syscall-generic.h | 29 +++++++++++++++++++++++++++++ + src/syscall.h | 3 ++- + 2 files changed, 31 insertions(+), 1 deletions(-) + create mode 100644 src/syscall-generic.h + +diff --git a/src/syscall-generic.h b/src/syscall-generic.h +new file mode 100644 +index 0000000..24d7c7c +--- /dev/null ++++ b/src/syscall-generic.h +@@ -0,0 +1,29 @@ ++#include <errno.h> ++#include <unistd.h> ++#include <sys/syscall.h> ++ ++#define _body_io_syscall(sname, args...) \ ++{ \ ++ int ret = syscall(__NR_##sname, ## args); \ ++ return ret < 0 ? -errno : ret; \ ++} ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++_body_io_syscall(sname, (long)arg1) ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2) ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3) ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4) ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \ ++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5) +diff --git a/src/syscall.h b/src/syscall.h +index 78becfe..d954af0 100644 +--- a/src/syscall.h ++++ b/src/syscall.h +@@ -25,5 +25,6 @@ + #elif defined(__arm__) + #include "syscall-arm.h" + #else +-#error "add syscall-arch.h" ++#warning "using generic syscall method" ++#include "syscall-generic.h" + #endif +-- +1.7.3.1 + diff --git a/dev-libs/libaio/files/libaio-0.3.109-install.patch b/dev-libs/libaio/files/libaio-0.3.109-install.patch new file mode 100644 index 000000000000..9c049fcbf5cd --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.109-install.patch @@ -0,0 +1,45 @@ +From 2e34caef82a2367a85de4f06daf5e5a92f61e845 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sun, 17 Jan 2010 17:10:14 -0500 +Subject: [PATCH] fix up install paths + +This is similar to the Fedora patch, but this uses more common conventions +like "DESTDIR" instead of "destdir". + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + src/Makefile | 11 ++++++----- + 1 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 687c7be..ee431a1 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1,6 +1,7 @@ + prefix=/usr + includedir=$(prefix)/include + libdir=$(prefix)/lib ++usrlibdir=$(libdir) + + CFLAGS ?= -g -fomit-frame-pointer -O2 + CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC +@@ -53,11 +54,11 @@ $(libname): $(libaio_sobjs) libaio.map + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) + + install: $(all_targets) +- install -D -m 644 libaio.h $(includedir)/libaio.h +- install -D -m 644 libaio.a $(libdir)/libaio.a +- install -D -m 755 $(libname) $(libdir)/$(libname) +- ln -sf $(libname) $(libdir)/$(soname) +- ln -sf $(libname) $(libdir)/libaio.so ++ install -D -m 644 libaio.h $(DESTDIR)$(includedir)/libaio.h ++ install -D -m 644 libaio.a $(DESTDIR)$(usrlibdir)/libaio.a ++ install -D -m 755 $(libname) $(DESTDIR)$(libdir)/$(libname) ++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/$(soname) ++ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/libaio.so + + $(libaio_objs): libaio.h + +-- +1.7.3.1 + diff --git a/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch new file mode 100644 index 000000000000..de66f2110f22 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch @@ -0,0 +1,19 @@ +Do not ignore return value of ftruncate(): testcases are compiled with -Werror, +and ftruncate is declared with attribute warn_unused_result. +--- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100 ++++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100 +@@ -9,12 +9,13 @@ + { + long long min = 0, max = 9223372036854775807LL; + char c = 0; ++ int ret; + + while (max - min > 1) { + if (pwrite64(fd, &c, 1, (min + max) / 2) == -1) + max = (min + max) / 2; + else { +- ftruncate(fd, 0); ++ ret = ftruncate(fd, 0); assert(ret == 0); + min = (min + max) / 2; + } + } diff --git a/dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch b/dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch new file mode 100644 index 000000000000..1a4e6ef12303 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.109-unify-bits-endian.patch @@ -0,0 +1,73 @@ +From be673c7afd7a86b89fbe2e09c758f2de3482d19b Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Sun, 17 Jan 2010 17:07:24 -0500 +Subject: [PATCH] unify LE/BE 32/64bit logic and add more arches + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + src/libaio.h | 36 +++++++++++++++--------------------- + 1 files changed, 15 insertions(+), 21 deletions(-) + +diff --git a/src/libaio.h b/src/libaio.h +index ffe8259..4a6c9fb 100644 +--- a/src/libaio.h ++++ b/src/libaio.h +@@ -49,40 +49,34 @@ typedef enum io_iocb_cmd { + IO_CMD_PWRITEV = 8, + } io_iocb_cmd_t; + +-#if defined(__i386__) /* little endian, 32 bits */ ++/* little endian, 32 bits */ ++#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \ ++ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__) + #define PADDED(x, y) x; unsigned y + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y ++ ++/* little endian, 64 bits */ + #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) + #define PADDED(x, y) x, y + #define PADDEDptr(x, y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__powerpc64__) /* big endian, 64 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x,y) x +-#define PADDEDul(x, y) unsigned long x +-#elif defined(__PPC__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__s390x__) /* big endian, 64 bits */ ++ ++/* big endian, 64 bits */ ++#elif defined(__powerpc64__) || defined(__s390x__) || \ ++ (defined(__sparc__) && defined(__arch64__)) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x,y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__s390__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__arm__) +-# if defined (__ARMEB__) /* big endian, 32 bits */ ++ ++/* big endian, 32 bits */ ++#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \ ++ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \ ++ defined(__hppa__) || defined(__frv__) || defined(__avr32__) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x, y) unsigned y; x + #define PADDEDul(x, y) unsigned y; unsigned long x +-# else /* little endian, 32 bits */ +-#define PADDED(x, y) x; unsigned y +-#define PADDEDptr(x, y) x; unsigned y +-#define PADDEDul(x, y) unsigned long x; unsigned y +-# endif ++ + #else + #error endian? + #endif +-- +1.7.3.1 + diff --git a/dev-libs/libaio/files/libaio-0.3.109-x32.patch b/dev-libs/libaio/files/libaio-0.3.109-x32.patch new file mode 100644 index 000000000000..1d2c2a9050fa --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.109-x32.patch @@ -0,0 +1,63 @@ +http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5c071d93c9e6f57930bce56b1e4f009c160a826 + +Upstream-Status: Pending + +Properly load arguments 5 an 6 for x86-64 syscall +Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64 +syscall so that it works with both x32 and x86-64. + +Received this patch from H.J. Lu <hjl.tools@gmail.com> + +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +2011/12/02 + +--- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700 ++++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800 +@@ -1,8 +1,18 @@ ++#ifndef __NR_io_setup + #define __NR_io_setup 206 ++#endif ++#ifndef __NR_io_destroy + #define __NR_io_destroy 207 ++#endif ++#ifndef __NR_io_getevents + #define __NR_io_getevents 208 ++#endif ++#ifndef __NR_io_submit + #define __NR_io_submit 209 ++#endif ++#ifndef __NR_io_cancel + #define __NR_io_cancel 210 ++#endif + + #define __syscall_clobber "r11","rcx","memory" + #define __syscall "syscall" +@@ -42,10 +52,11 @@ return __res; \ + type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ + { \ + long __res; \ +-__asm__ volatile ("movq %5,%%r10 ;" __syscall \ ++register long __a4 asm ("r10") = (long) arg4; \ ++__asm__ volatile (__syscall \ + : "=a" (__res) \ + : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \ +- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \ ++ "d" ((long)(arg3)),"r" (__a4)); \ + return __res; \ + } + +@@ -54,10 +65,11 @@ return __res; \ + type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ + { \ + long __res; \ +-__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \ ++register long __a4 asm ("r10") = (long) arg4; \ ++register long __a5 asm ("r8") = (long) arg5; \ ++__asm__ volatile ( __syscall \ + : "=a" (__res) \ + : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \ +- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \ +- __syscall_clobber,"r8","r10" ); \ ++ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \ + return __res; \ + } diff --git a/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch b/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch new file mode 100644 index 000000000000..4567ac946681 --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch @@ -0,0 +1,25 @@ +From 3bf96bb62370035dba18d4b25459406b32365cfc Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Wed, 26 Mar 2014 23:10:18 -0400 +Subject: [PATCH] respect env CPPFLAGS + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + src/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile b/src/Makefile +index 49f448f..b918c8b 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -5,6 +5,7 @@ usrlibdir=$(libdir) + + CFLAGS ?= -g -fomit-frame-pointer -O2 + CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++CFLAGS += $(CPPFLAGS) + SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) + LINK_FLAGS= +-- +1.9.1 + diff --git a/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch b/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch new file mode 100644 index 000000000000..2933cf5244bc --- /dev/null +++ b/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch @@ -0,0 +1,30 @@ +From 0cc7dc108d0b2288b40d82bb2fd1fd8bdc08f764 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Wed, 26 Mar 2014 23:07:58 -0400 +Subject: [PATCH] make -Werror into an optional flag + +This lets distros disable the flag as random errors might come up with +different compiler flags and older/newer toolchain versions. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- + harness/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/harness/Makefile b/harness/Makefile +index 2a88e71..cf8c90d 100644 +--- a/harness/Makefile ++++ b/harness/Makefile +@@ -6,7 +6,8 @@ PROGS:=$(PARTPROGS) $(EXTRAPROGS) + HARNESS_SRCS:=main.c + # io_queue.c + +-CFLAGS+=-Wall -Werror -I../src -g -O ++CFLAGS_WERROR?=-Werror ++CFLAGS+=-Wall $(CFLAGS_WERROR) -I../src -g -O + #-lpthread -lrt + + all: $(PROGS) +-- +1.9.1 + diff --git a/dev-libs/libaio/libaio-0.3.110.ebuild b/dev-libs/libaio/libaio-0.3.110.ebuild new file mode 100644 index 000000000000..a772baf97c40 --- /dev/null +++ b/dev-libs/libaio/libaio-0.3.110.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib-minimal toolchain-funcs flag-o-matic + +DESCRIPTION="Asynchronous input/output library that uses the kernels native interface" +HOMEPAGE="https://git.fedorahosted.org/cgit/libaio.git/ http://lse.sourceforge.net/io/aio.html" +SRC_URI="https://fedorahosted.org/releases/${PN:0:1}/${PN:1:1}/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux" +IUSE="static-libs test" + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-0.3.109-install.patch \ + "${FILESDIR}"/${PN}-0.3.109-x32.patch \ + "${FILESDIR}"/${PN}-0.3.109-testcase-8.patch \ + "${FILESDIR}"/${PN}-0.3.110-cppflags.patch \ + "${FILESDIR}"/${PN}-0.3.110-optional-werror.patch + + local sed_args=( + -e "/^prefix=/s:/usr:${EPREFIX}/usr:" + -e '/^libdir=/s:lib$:$(ABI_LIBDIR):' + ) + if ! use static-libs; then + sed_args+=( -e '/\tinstall .*\/libaio.a/d' ) + # Tests require the static library to be built. + use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' ) + fi + sed -i "${sed_args[@]}" src/Makefile Makefile || die + + multilib_copy_sources +} + +multilib_src_configure() { + if use arm ; then + # When building for thumb, we can't allow frame pointers. + # http://crbug.com/464517 + if $(tc-getCPP) ${CFLAGS} ${CPPFLAGS} - <<<$'#ifndef __thumb__\n#error\n#endif' >&/dev/null ; then + append-flags -fomit-frame-pointer + fi + fi +} + +_emake() { + CC=$(tc-getCC) \ + AR=$(tc-getAR) \ + RANLIB=$(tc-getRANLIB) \ + ABI_LIBDIR=$(get_libdir) \ + CFLAGS_WERROR= \ + emake "$@" +} + +multilib_src_compile() { + _emake +} + +multilib_src_test() { + mkdir -p testdir || die + # 'make check' breaks with sandbox, 'make partcheck' works + _emake partcheck prefix="${S}/src" libdir="${S}/src" +} + +multilib_src_install() { + _emake install DESTDIR="${D}" +} + +multilib_src_install_all() { + doman man/* + dodoc ChangeLog TODO + + # move crap to / for multipath-tools #325355 + gen_usr_ldscript -a aio + + # This lib is a bare minimal shim on top of kernel syscalls. + export QA_DT_NEEDED=$(find "${ED}" -type f -name 'libaio.so.*' -printf '/%P\n') +} diff --git a/dev-libs/libaio/metadata.xml b/dev-libs/libaio/metadata.xml new file mode 100644 index 000000000000..f739e440b654 --- /dev/null +++ b/dev-libs/libaio/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>proxy-maintainers</herd> +<maintainer> + <email>gokturk@binghamton.edu</email> + <name>Gokturk Yuksek</name> + <description>Primary Maintainer, Assign bugs</description> +</maintainer> +<longdescription>Library to provide user-level kernel Asynchronous I/O (AIO) + support for Linux (needs kernel patches as of 2.6.12)</longdescription> +</pkgmetadata> |