diff options
Diffstat (limited to 'dev-libs/libx86')
-rw-r--r-- | dev-libs/libx86/Manifest | 6 | ||||
-rw-r--r-- | dev-libs/libx86/files/libx86-0.99-ifmask.patch | 21 | ||||
-rw-r--r-- | dev-libs/libx86/files/libx86-1.1-makefile.patch | 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 | 50 | ||||
-rw-r--r-- | dev-libs/libx86/metadata.xml | 8 |
6 files changed, 151 insertions, 0 deletions
diff --git a/dev-libs/libx86/Manifest b/dev-libs/libx86/Manifest new file mode 100644 index 000000000000..b63a5623283a --- /dev/null +++ b/dev-libs/libx86/Manifest @@ -0,0 +1,6 @@ +AUX libx86-0.99-ifmask.patch 584 BLAKE2B 33c0ebeb0ca32b892cebf4bdd91bb2f82fefa3caa3c7c30c31e806aaeb96b36215f41d9389242ba45c2e8c69b4eedd1742092be77b113a7a0311e826cd863206 SHA512 781ea16e535ca1c0a54552b51d67b0901102f20ab63ff5ff39f9f2bb513abb53867eb5e52089e72afa6c313380b2033881f17cfe233b09a38ed5a9e95ad8d5f8 +AUX libx86-1.1-makefile.patch 853 BLAKE2B 48a25cd96bacd2e39bc8ecb4fd7988ab3775441f259bfe56fedf0f39f8cb894f3f4bcd64a03a6a5357ed064f9dc0e0b578cccbd760cd2056c564f2502f065d6c SHA512 a61e21ab31b1f22d898799ecc3db57e6816146488d436d3d33817f0ac19d420562830411111bacd8ca4c80a446c088fb931ee293522828076d0a1cae6e7ee0a6 +AUX libx86-1.1-x86emu.patch 1194 BLAKE2B e4f721ca09e081fb9f528ec95ea491a8267a9be8a169a12ebfd05d18425d473b89fe3e6d121ece254b6764a66a4adaeee9d811e619c6db1ce0c62178185d1ac5 SHA512 476d0bc7d3e903c1b1dff75577ea0caa80a5dd06618a08b24300367031ccb578322fcc267746285bcb671583407f22bfb7165374eeb2301ed67177ee18ec549e +DIST libx86-1.1.tar.gz 87428 BLAKE2B cee90a446994816ce925a5b9edb3de5256f404bcadd9853ad197f13bdf4c86bf4c2def6d38e342ed9af5eba9e87400bfb76cad56852d44583b183853b65dcfff SHA512 b946555a45405a06fdf00b3e2522fc99dd7c61349c32726221aa60117a8d3da6da4b44188b1ebb208368e12b396f26055437cebcc8a0e6df10c7a006182c9280 +EBUILD libx86-1.1-r4.ebuild 1233 BLAKE2B 7165f84264a5c936d29ad7030070f356074a0c47b87916b1a0ace57c4b58d2e1aedc7fe33ad08792fd054a1b7a753b2befddf0629b888551ad8693be9943b2ad SHA512 0efb4a9c19918395ca2831223c35b201c4dc7e4fbf628ff34f90f6b8e444a86894c6386e1a8edf075f67f0e19a652b4bf2f471586f8668e4a1357c92d90cfc0d +MISC metadata.xml 247 BLAKE2B 61049845c1ffb66aea9959f984983735ad8d7d9d37aab6da3a19951bbf8d67af657cacde1701da8a3dd93b0704c10430d511bea11d56bf98702950f0707436ec SHA512 96c55c2979dd6a4c4761fce9b5a0be387b11fcf197ef903d8680ae82f01a2caea93b1238bed1ac96d3eb250744e2149a507e0424ac017b4324f0806a54e72c4a diff --git a/dev-libs/libx86/files/libx86-0.99-ifmask.patch b/dev-libs/libx86/files/libx86-0.99-ifmask.patch new file mode 100644 index 000000000000..c99eeb819f72 --- /dev/null +++ b/dev-libs/libx86/files/libx86-0.99-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) diff --git a/dev-libs/libx86/files/libx86-1.1-makefile.patch b/dev-libs/libx86/files/libx86-1.1-makefile.patch new file mode 100644 index 000000000000..471c3fbc78fd --- /dev/null +++ b/dev-libs/libx86/files/libx86-1.1-makefile.patch @@ -0,0 +1,28 @@ +--- Makefile.orig 2013-02-11 16:35:56.834368910 +0400 ++++ Makefile 2013-02-11 16:36:02.587369368 +0400 +@@ -22,7 +22,7 @@ + $(AR) cru libx86.a $(OBJECTS) + + shared: $(OBJECTS) +- $(CC) $(CFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS) + + objclean: + $(MAKE) -C x86emu clean +@@ -31,8 +31,14 @@ + clean: objclean + rm -f *.so.1 *.a + +-install: libx86.so.1 ++install-shared: libx86.so.1 + install -D libx86.so.1 $(DESTDIR)$(LIBDIR)/libx86.so.1 +- install -D libx86.a $(DESTDIR)$(LIBDIR)/libx86.a + ln -sf libx86.so.1 $(DESTDIR)$(LIBDIR)/libx86.so ++ ++install-header: + install -p -m 0644 -D lrmi.h $(DESTDIR)/usr/include/libx86.h ++ ++install-static: ++ install -D libx86.a $(DESTDIR)$(LIBDIR)/libx86.a ++ ++install: install-shared install-static install-header 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 000000000000..7b4fe428e1b3 --- /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 000000000000..24efb4976012 --- /dev/null +++ b/dev-libs/libx86/libx86-1.1-r4.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils toolchain-funcs flag-o-matic + +DESCRIPTION="A hardware-independent library for executing real-mode x86 code" +HOMEPAGE="https://www.codon.org.uk/~mjg59/libx86/" +SRC_URI="https://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm 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} +} diff --git a/dev-libs/libx86/metadata.xml b/dev-libs/libx86/metadata.xml new file mode 100644 index 000000000000..5b159fbcadd1 --- /dev/null +++ b/dev-libs/libx86/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>pinkbyte@gentoo.org</email> + <name>Sergey Popov</name> + </maintainer> +</pkgmetadata> |