summaryrefslogtreecommitdiffstats
path: root/abs/extra
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra')
-rw-r--r--abs/extra/libx86/PKGBUILD43
-rw-r--r--abs/extra/libx86/libx86-ifmask.patch21
2 files changed, 64 insertions, 0 deletions
diff --git a/abs/extra/libx86/PKGBUILD b/abs/extra/libx86/PKGBUILD
new file mode 100644
index 0000000..355f18f
--- /dev/null
+++ b/abs/extra/libx86/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: tardo <tardo@nagi-fanboi.net>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+
+pkgname=libx86
+pkgver=1.1
+pkgrel=7
+pkgdesc="Provides an lrmi interface that works on x86, am64 and alpha"
+arch=('x86_64')
+url="https://www.codon.org.uk/~mjg59/libx86/"
+license=('custom')
+depends=('glibc')
+source=("https://www.codon.org.uk/~mjg59/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz"
+ 'libx86-ifmask.patch')
+md5sums=('41bee1f8e22b82d82b5f7d7ba51abc2a'
+ '573897186eb8670d8d97c64ea7614001')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ # lrmi.c patch courtesy of Gentoo
+ patch -Np0 -i "${srcdir}"/libx86-ifmask.patch
+
+ # FS#48120 courtesy of rrika
+ CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
+
+ # compensate for x86_64
+ if [ "$CARCH" = "x86_64" ]; then
+ make BACKEND=x86emu
+ else
+ make
+ fi
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+ chmod 644 "${pkgdir}"/usr/lib/libx86.a
+
+ install -D -m 644 COPYRIGHT "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/extra/libx86/libx86-ifmask.patch b/abs/extra/libx86/libx86-ifmask.patch
new file mode 100644
index 0000000..c99eeb8
--- /dev/null
+++ b/abs/extra/libx86/libx86-ifmask.patch
@@ -0,0 +1,21 @@
+--- lrmi.c.orig 2008-09-06 12:24:36.070136428 +0200
++++ lrmi.c 2008-09-06 12:28:10.584287458 +0200
+@@ -55,6 +55,18 @@ OTHER DEALINGS IN THE SOFTWARE.
+ #include "x86-common.h"
+
+ #if defined(__linux__)
++#ifndef TF_MASK
++#define TF_MASK X86_EFLAGS_TF
++#endif
++#ifndef IF_MASK
++#define IF_MASK X86_EFLAGS_IF
++#endif
++#ifndef IOPL_MASK
++#define IOPL_MASK X86_EFLAGS_IOPL
++#endif
++#ifndef VIF_MASK
++#define VIF_MASK X86_EFLAGS_VIF
++#endif
+ #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK)
+ #elif defined(__NetBSD__) || defined(__FreeBSD__)
+ #define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL)