aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libx86/Manifest17
-rw-r--r--dev-libs/libx86/files/libx86-1.1-x86emu.patch38
-rw-r--r--dev-libs/libx86/libx86-1.1-r4.ebuild (renamed from dev-libs/libx86/libx86-1.1-r99.ebuild)28
3 files changed, 64 insertions, 19 deletions
diff --git a/dev-libs/libx86/Manifest b/dev-libs/libx86/Manifest
index 09ab8df..7ac7790 100644
--- a/dev-libs/libx86/Manifest
+++ b/dev-libs/libx86/Manifest
@@ -1,8 +1,9 @@
-AUX libx86-0.99-ifmask.patch 584 SHA256 b8070e57c5d267b3736b133e4c3c92965cc5a62e72466b705b506ad2ce39dd25 SHA512 781ea16e535ca1c0a54552b51d67b0901102f20ab63ff5ff39f9f2bb513abb53867eb5e52089e72afa6c313380b2033881f17cfe233b09a38ed5a9e95ad8d5f8 WHIRLPOOL 148e94477662dd91e654972f8ad475808574e006677e3858346c864b580776ec203457d1011f05d984ba82231f8ebdddac46e8f9bd1e1650e831268c7abe0b66
-AUX libx86-1.1-add-pkgconfig.patch 1551 SHA256 de18116436db7e35011f5524071e3abb05e838fc24da4a53e2c1b16fe609ad40 SHA512 77a2eb5d063f2bae279abd4bb45a3a839448201c11eb6b68e59454f25265c450368952fcf8663727e5b7fd16438a4a95456cd44d91dc4748d215c2716529c9a8 WHIRLPOOL ce79d4c8d25c6de08ae7242fce3c89eae76b26d02696892762521475cfb6a564be8953a0fca457688ad168c40c9b68f67089b89d4aedd782f1d2074a5f66f74f
-AUX libx86-1.1-makefile.patch 853 SHA256 ce7c23404e1ba95343418cc0256c7ad2db702b79518e4cda77c802dfbbce306f SHA512 a61e21ab31b1f22d898799ecc3db57e6816146488d436d3d33817f0ac19d420562830411111bacd8ca4c80a446c088fb931ee293522828076d0a1cae6e7ee0a6 WHIRLPOOL 80d8a599a7fa6aa54f3a65076c5642f5281e79eb283215ced4da9e5523f74c21e17a26eb75b8957757b96f71b7f0a3eee5a0098b46099df2ac193c2577853a7e
-DIST libx86-1.1.tar.gz 87428 SHA256 5bf13104cb327472b5cb65643352a9138646becacc06763088d83001d832d048 SHA512 b946555a45405a06fdf00b3e2522fc99dd7c61349c32726221aa60117a8d3da6da4b44188b1ebb208368e12b396f26055437cebcc8a0e6df10c7a006182c9280 WHIRLPOOL 778dae64fb0a21988debb12ca43ca6eed94fc34ab8d0e012aa30914053f57e6817fc7bbec42f6a85a0be4399263c035f981708036804cb756875143f91fe227c
-EBUILD libx86-1.1-r99.ebuild 1202 SHA256 3ada07db37e9464f5f8398036ac67b9d79f809a84c06d5715597121d440959a2 SHA512 b748d14d0b4b8f96f3ea0e187e963fd4bb732855b1bc062a50e8cd27e89b8d6e24da8a4310ffc7e825173b7a84af29ccd4005526d0a81f58d1785ade4310f5d5 WHIRLPOOL ea1d2808e0ec6d2fef97a13b416e66773bf350ccfbc887e180f54251fc801b25c404c82f24590724c9894e09a05c36f96ef325ad04fa9eb3f5c9f66b02016c84
-MISC ChangeLog 2170 SHA256 1703a1bfef5c503620f4014520ec6176fecf886844dbe085a463947624473d4d SHA512 c946edeb94f0918bb6647204b566d27063143910f6d27cfd209531572701de8363db79b00f3256a35c1d973530036f31ee3f6f57606aa21de537cdc84a55c3cb WHIRLPOOL 8039c8abd7586ef194945f09478cb54602ace2bd287ea907a576a4ac0d47331833f5288b0b3ffdbd3d3ceee0ee66ada04b82be4cdaecd37fb50d018f0a8e80d9
-MISC ChangeLog-2015 3104 SHA256 279a3b4a4d63f4703fdea67ac8381e730a82e74c9d5af424528d7b996405544f SHA512 db6c59484fc9d2b9771b1ae94c4b36916a9fe97359eff37682422548ec07575a939fc115516aaf8ba5d9166ec134e94c54f9804cb59abf19a2186e3ca5afa880 WHIRLPOOL 0a0a560262770a20a4634e86ddafcecd198c2e5fd7bcf647785e94d850e1ff88db14a940a0580ce87dcbb3c9bfc0a90bddb9f8f8bdcc2ab95155526fbcc87474
-MISC metadata.xml 233 SHA256 a93cf5c4e554b97b2a48b92f801e3a3d87833cac311db0160a387a757ab7054c SHA512 704c94018edcbc53edcf0a41c2603dd59ea217aa5871f35d4d17f7df26156b8fb0a735d2efb11b74256565db01e6790a833242de39c29a9e46ed8ed96d505334 WHIRLPOOL 57f455cf256b91fb72e642f5a861e7367961775f2ab992b8afc798ff376c9a2bc8860d09f2bc43c870531248484128c966f25a081b7789a31ba9fb4f52b5519c
+AUX libx86-0.99-ifmask.patch 584 BLAKE2B 33c0ebeb0ca32b892cebf4bdd91bb2f82fefa3caa3c7c30c31e806aaeb96b36215f41d9389242ba45c2e8c69b4eedd1742092be77b113a7a0311e826cd863206 SHA512 781ea16e535ca1c0a54552b51d67b0901102f20ab63ff5ff39f9f2bb513abb53867eb5e52089e72afa6c313380b2033881f17cfe233b09a38ed5a9e95ad8d5f8
+AUX libx86-1.1-add-pkgconfig.patch 1551 BLAKE2B 0690db851681d8b82573441ac9aac9d1fa876c132dfb8e24a70f4b5cac56f21087237ad566f8aeb0382239f1c13d0c8f0df402ce0dad2ed8ed2081e9a7aa08d3 SHA512 77a2eb5d063f2bae279abd4bb45a3a839448201c11eb6b68e59454f25265c450368952fcf8663727e5b7fd16438a4a95456cd44d91dc4748d215c2716529c9a8
+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 1384 BLAKE2B a39ca7fba9adf47bd8cad4a75bf918754f5d50d2e2af4560121096e8f13f603f81e6d95cda6dc7b85d06da6530333d55234dc2a89fa341d4fbaa4ba4b030ed87 SHA512 9367b773b1b9b08eb3cb5f0a06e30e69cd0e12c361547f93fecbf35c3b96f69d991714a7ce7e5cb2a159ebd93136f314dc9fefddbd5ec37a51f9e3126d2b02e2
+MISC ChangeLog 2170 BLAKE2B c631882b8ce9c4205051e7c6cf4de37a90331a06c700d161b9a162abb8db9f2b47d88121edeec7097664ed9714ea377c39e7a477ee555bc6443b1396e6475b1f SHA512 c946edeb94f0918bb6647204b566d27063143910f6d27cfd209531572701de8363db79b00f3256a35c1d973530036f31ee3f6f57606aa21de537cdc84a55c3cb
+MISC ChangeLog-2015 3104 BLAKE2B d132a5a08c543a57cb7c1d18aa361d49b579b0114f86d521e5994b34dd5b88367dc672eab7a32f996429b5b354ccaff90cfcfc32bc4d3a39488b588939417453 SHA512 db6c59484fc9d2b9771b1ae94c4b36916a9fe97359eff37682422548ec07575a939fc115516aaf8ba5d9166ec134e94c54f9804cb59abf19a2186e3ca5afa880
+MISC metadata.xml 233 BLAKE2B cfe19caa1d389f303098c3e3761b0939ca1648237eff46d3b6742dd81c4e94aff6346b7d86a4394487842aca796c68c650cf1d396f0e1f42f18294a7d3229cbd SHA512 704c94018edcbc53edcf0a41c2603dd59ea217aa5871f35d4d17f7df26156b8fb0a735d2efb11b74256565db01e6790a833242de39c29a9e46ed8ed96d505334
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 0000000..7b4fe42
--- /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-r99.ebuild b/dev-libs/libx86/libx86-1.1-r4.ebuild
index 474bce3..78fdfc3 100644
--- a/dev-libs/libx86/libx86-1.1-r99.ebuild
+++ b/dev-libs/libx86/libx86-1.1-r4.ebuild
@@ -1,34 +1,40 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id$
-EAPI=5
+EAPI=7
-inherit eutils multilib toolchain-funcs
+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"
+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 ~x86"
+KEYWORDS="amd64 ~arm x86"
IUSE="static-libs"
src_prepare() {
# fix compile failure with linux-headers-2.6.26, bug 235599
- epatch "${FILESDIR}"/${PN}-0.99-ifmask.patch
+ eapply -p0 "${FILESDIR}/${PN}-0.99-ifmask.patch"
# Patch for bugs #236888 and #456648
- epatch "${FILESDIR}"/${P}-makefile.patch
+ eapply -p0 "${FILESDIR}/${P}-makefile.patch"
+ # Wider arch compatibility, bug #579682
+ eapply -p2 "${FILESDIR}/${P}-x86emu.patch"
# Add support for pkgconfig (enables newer versions of vbetool to link against this)
- epatch "${FILESDIR}"/${P}-add-pkgconfig.patch
+ eapply "${FILESDIR}"/${P}-add-pkgconfig.patch
+ eapply_user
+}
+
+src_configure() {
tc-export CC AR
+ append-flags -fno-delete-null-pointer-checks #523276
}
src_compile() {
local ARGS
- use amd64 && ARGS="BACKEND=x86emu"
+ use x86 || ARGS="BACKEND=x86emu"
emake ${ARGS} LIBRARY=shared shared
if use static-libs; then
emake ${ARGS} objclean