diff options
author | Sergey Popov <pinkbyte@gentoo.org> | 2016-04-29 10:56:18 +0300 |
---|---|---|
committer | Sergey Popov <pinkbyte@gentoo.org> | 2016-04-29 10:59:08 +0300 |
commit | c96dc7cf3ab2fb58fa22c7fd9c1557dda14d5290 (patch) | |
tree | 27876713ae77edf7a23eef1d453c5c006418774d | |
parent | c2d09abf81ffdd11c5c6b704ec22750f97b15fd4 (diff) | |
download | gentoo-c96dc7cf3ab2fb58fa22c7fd9c1557dda14d5290.tar.gz gentoo-c96dc7cf3ab2fb58fa22c7fd9c1557dda14d5290.tar.xz |
dev-libs/libx86: revision bump
Port to EAPI 6, bring wider arch support
Reported-by: Oleg <oleg@funtoo.org>
Gentoo-Bug: 579682
Package-Manager: portage-2.2.28
-rw-r--r-- | dev-libs/libx86/files/libx86-1.1-x86emu.patch | 38 | ||||
-rw-r--r-- | dev-libs/libx86/libx86-1.1-r4.ebuild | 51 |
2 files changed, 89 insertions, 0 deletions
diff --git a/dev-libs/libx86/files/libx86-1.1-x86emu.patch b/dev-libs/libx86/files/libx86-1.1-x86emu.patch new file mode 100644 index 00000000000..7b4fe428e1b --- /dev/null +++ b/dev-libs/libx86/files/libx86-1.1-x86emu.patch @@ -0,0 +1,38 @@ +diff -Naur libx86-1.1+ds1.orig/Makefile libx86-1.1+ds1/Makefile +--- a/libx86-1.1/Makefile 2008-05-19 12:28:59.000000000 +0300 ++++ b/libx86-1.1/Makefile 2012-02-20 01:32:03.750068423 +0200 +@@ -5,6 +5,7 @@ + ifeq ($(BACKEND),x86emu) + OBJECTS += thunk.o x86emu/decode.o x86emu/debug.o x86emu/fpu.o \ + x86emu/ops.o x86emu/ops2.o x86emu/prim_ops.o x86emu/sys.o ++ CFLAGS += -DX86EMU + else + OBJECTS += lrmi.o + endif +diff -Naur libx86-1.1+ds1.orig/thunk.c libx86-1.1+ds1/thunk.c +--- a/libx86-1.1+ds1.orig/thunk.c 2008-04-03 03:48:00.000000000 +0300 ++++ b/libx86-1.1/thunk.c 2012-02-20 01:12:56.468820192 +0200 +@@ -32,6 +32,7 @@ + #define TRUE 1 + #define FALSE 0 + ++#ifndef X86EMU + #define __BUILDIO(bwl,bw,type) \ + static inline void out##bwl##_local(unsigned long port, unsigned type value) { __asm__ __volatile__("out" #bwl " %" #bw "0, %w1" : : "a"(value), "Nd"(port)); \ + }\ +@@ -44,6 +45,15 @@ + __BUILDIO(b,b,char) + __BUILDIO(w,w,short) + __BUILDIO(l,,int) ++#else ++/* use libc functions */ ++#define inb_local inb ++#define inw_local inw ++#define inl_local inl ++#define outb_local outb ++#define outw_local outw ++#define outl_local outl ++#endif /* X86EMU */ + + + char *mmap_addr = SHMERRORPTR; diff --git a/dev-libs/libx86/libx86-1.1-r4.ebuild b/dev-libs/libx86/libx86-1.1-r4.ebuild new file mode 100644 index 00000000000..8b172d30d2e --- /dev/null +++ b/dev-libs/libx86/libx86-1.1-r4.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils toolchain-funcs flag-o-matic + +DESCRIPTION="A hardware-independent library for executing real-mode x86 code" +HOMEPAGE="http://www.codon.org.uk/~mjg59/libx86" +SRC_URI="http://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="static-libs" + +src_prepare() { + # fix compile failure with linux-headers-2.6.26, bug 235599 + eapply -p0 "${FILESDIR}/${PN}-0.99-ifmask.patch" + # Patch for bugs #236888 and #456648 + eapply -p0 "${FILESDIR}/${P}-makefile.patch" + # Wider arch compatibility, bug #579682 + eapply -p2 "${FILESDIR}/${P}-x86emu.patch" + + eapply_user +} + +src_configure() { + tc-export CC AR + append-flags -fno-delete-null-pointer-checks #523276 +} + +src_compile() { + local ARGS + use x86 || ARGS="BACKEND=x86emu" + emake ${ARGS} LIBRARY=shared shared + if use static-libs; then + emake ${ARGS} objclean + emake ${ARGS} LIBRARY=static static + fi +} + +src_install() { + local install_static; + use static-libs && install_static='install-static' + emake \ + LIBDIR="/usr/$(get_libdir)" \ + DESTDIR="${D}" \ + install-header install-shared ${install_static} +} |