diff options
-rw-r--r-- | abs/extra/libx86/PKGBUILD | 43 | ||||
-rw-r--r-- | abs/extra/libx86/libx86-ifmask.patch | 21 |
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) |