summaryrefslogtreecommitdiff
path: root/dev-libs/libx86
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libx86
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libx86')
-rw-r--r--dev-libs/libx86/Manifest6
-rw-r--r--dev-libs/libx86/files/libx86-0.99-ifmask.patch21
-rw-r--r--dev-libs/libx86/files/libx86-1.1-makefile.patch28
-rw-r--r--dev-libs/libx86/files/libx86-1.1-x86emu.patch38
-rw-r--r--dev-libs/libx86/libx86-1.1-r4.ebuild50
-rw-r--r--dev-libs/libx86/metadata.xml8
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>