summaryrefslogtreecommitdiff
path: root/sys-power/iasl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /sys-power/iasl
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'sys-power/iasl')
-rw-r--r--sys-power/iasl/Manifest8
-rw-r--r--sys-power/iasl/files/iasl-20200214-Makefile.patch105
-rw-r--r--sys-power/iasl/files/iasl-20200326-Makefile.patch106
-rw-r--r--sys-power/iasl/iasl-20200214.ebuild129
-rw-r--r--sys-power/iasl/iasl-20200326.ebuild126
5 files changed, 474 insertions, 0 deletions
diff --git a/sys-power/iasl/Manifest b/sys-power/iasl/Manifest
index 9e3f1d4cc2b9..fec0fa23e072 100644
--- a/sys-power/iasl/Manifest
+++ b/sys-power/iasl/Manifest
@@ -2,11 +2,19 @@ AUX iasl-20140214-nostrip.patch 253 BLAKE2B 744ae94cdf798b4d0b593de3e69d408c61b7
AUX iasl-20140828-locale.patch 349 BLAKE2B b435e40f257103acfaa8f74c8dd5ed66850ce53e3c7577ce59e1773b738dfaff89c58dbdb4517a0213b9b8c1ab4cbdcdf78e2dbe3c0a4857cf4f91b437b23cb9 SHA512 311c20b7d5cdc7e3ce5e2a84e508eb898cd506efa720d1e4bb017ff0b34d786ffed30168b7dcf16b4bee988702d00258289e5e320e0a3bb3cf630a1a71145640
AUX iasl-20190703-Makefile.patch 2185 BLAKE2B d3785e324332ddf71e7d3dadff9d62bbd863d82e63961ed099c62a59e3d8c11a76120e1c13723a009abb6eba78e5b7e7b1dabe19133bdb0634fbd6ee0623ea71 SHA512 68ce1372c919fd8e07c8b2a06897a3f5eb4d846ebd11ab4d28e9b3d7b2aebec1e574d929e78be4ec8a520113e63ec0cc40ac4c3c4ffa09bc4097343b00d849eb
AUX iasl-20190703-gcc10-fno-common.patch 2257 BLAKE2B e98ef965a8053a9047de922fb401ef5a59b0742c6c0d0de0893ebc81da3ba834d98b202fd0059e1f7bb807ff278c3c7a54a33b6bcd1873a3531a910b85403931 SHA512 7470ba23c182f6cb74ccd3d833972e1d0b50196e25824706c3ab2b184deea5bd5b2a678cb62b0c9b9523ac88a38ad17340f103911890df0de8c463a05f6ca0c0
+AUX iasl-20200214-Makefile.patch 2205 BLAKE2B d066a9370d7e3ff3590492f0f4efdb61fcf13f92c8ea04157d06e56025f38612ab27f1aa5ef98d541f47e9b6ed29426b91740c893da77b5f04f31c1c7d2f9493 SHA512 673902c3d7902a9f5be48c26b33a36398be2552e35d9db70ca1e346b2cf51e357710498f431888082f83811752caf24f6be85760b8f4a14d468f2aea33e5a04c
+AUX iasl-20200326-Makefile.patch 2227 BLAKE2B eaf6d7cb51f65f430d207cea7c54c2f5489dd3dc3fd2930035af37576cf2c22b237c229a6bfe2f5ffa5c76c3bd8c4b138d360c4c0beba7f2558f1efabf577afa SHA512 07be0ba4034d3b3c19b7e29e66ec41b433c32bc077622db89520b89f52f44ad8069a4c50a9da6579eec130672b5187e0217e6dacc3b0c638b1d9ba54d83f91b3
DIST acpica-unix-20190215.tar.gz 1809671 BLAKE2B aff312636ff0f38e7708a251daad84689cb64abd0dd241d57063b5e229c50a3a8bd3e509c2fe9918da4ab9179b07d2207e01eb7c9f94670d0758eec73bb2714b SHA512 7a469097d82721ea55f86eeefa2a67fc6be6b3d2e0382bb830f64c7daf7d99e2bce60011fb68e54b3891939b1fed91da03de9d19c2d4020d3412656cce2c09b0
DIST acpica-unix-20190703.tar.gz 1845874 BLAKE2B bc217c40c1154fd562f28e0eb22e8bf664c3ae451e7087e046845623beebc7422d1629a21fed61a82e31c89b3040427fd524bfcde562873cc42191f44f88e6ad SHA512 f687f407aaa14684e5d09d21a2e3c197c490b710a633bca491412875f8dfa9164ba5c2c8531946f82713c24d32f47ff4ea3c108c7c124adb83a69e19a6b31163
+DIST acpica-unix-20200214.tar.gz 1846645 BLAKE2B 6be4bfcf5cc0680da661ef36fef265d467e1d50651bd1330831f6980efaa25c7681d738e8591ec9cb32cfd2e855a969c481967e4779bf1754ada23d1d89af160 SHA512 d41692bad249ce300acc5b581723f1ddb077254a15448351738ad4b2639772c79d440befb22018b8927a83a2b69bb0325e6e5b6bbfd2215586435c6cea91f914
+DIST acpica-unix-20200326.tar.gz 1850373 BLAKE2B 4b0c8548ff4b99fb774eb4301687368da2149bfaf68e02c638eecf890fc89974dadd75acc844233ecde8cfac2b98d75df79df2bb1bd6993dc8d502b3156c1012 SHA512 253ea7fc2bb540dd0cfa55552648c33562f39efb9a9b8cbab751ad7f4fea9bd3800eb241afb30313140e2008889b62b82b4427624e087a275353d81555403e76
DIST acpitests-unix-20190215.tar.gz 2094957 BLAKE2B 3a31ae398650a1dc3ac70843c43868a35501cbe0376d1d2437a3568aad1fb63b3d83270653c009885b014894c69dcfff075bbf5d18290220067bcd1804a38097 SHA512 80060a61c80b01231b10e04dd65c2ab41d42824c439152cf128328890cee39ef597dc3f5bc535db4566cb322394bfce2760e1835df781d699818049cad5a4419
DIST acpitests-unix-20190703.tar.gz 2009568 BLAKE2B 3d1a527c55a94390381e33a46111bed7ecd3761627b87e24d9345b0d38d9fbd32c371adab3f19a0ca05a99c4532491bc9b466805e231a5ecd8c7a6af346577fb SHA512 d9bab56198dc00fc11b50a199035eb9dc164c226441cd00e163ecd6362d399a50058afa7582f86e62a085b990772995fc10e077581a3b04a6c6b2e95e055f167
+DIST acpitests-unix-20200214.tar.gz 2212834 BLAKE2B 91d119c7f6d3532006a7ea3e233becca09834a7a133a2281774dfc44221d357c0e2457de3d37647609e0e100c9ba61695730feb0f5da40b16bf4411240e4d715 SHA512 b4d37d4784d3fbb697f244477c085e433efa152bc4c4a06d336b216358405252a77c331f4e792f5fa9b912d6f5f200aa1b6379f1b5064e58be12cf8d4415ee15
+DIST acpitests-unix-20200326.tar.gz 2212897 BLAKE2B d88d3d900ac06d165c4a50cddd65495b75db345009b10e76d9f38197ba42efe3ea396ec9828bef62da1fd96ac331d95623c03194e08b00037ff1234321fcf0d3 SHA512 332b4ed016cee48662a5f4572e6d170461f02ee1386109a3970fbe8d104f2a2b14c19235ea43ae9b26e8faf9ef9597cb3d2148e498741361aca62978d0b62189
EBUILD iasl-20190215.ebuild 3445 BLAKE2B 9792dffc74c16505a41c2252c5d4a335844887eecd8af91da748d957cccfa23a28f70cbce1da02e54b66bb05f46a73c0cb3009ff696e3b27d71f79d56e3d71f7 SHA512 7c0d5a3364bc571d5ae0e5f62c6b275ec0ca739f481384384039330010ed4d9a2c5fd43b293bb5d2a8c35a8e9b3336819a9cd175a1bb2717a087cade4f35e3af
EBUILD iasl-20190703-r1.ebuild 3443 BLAKE2B 9184933e5686736e7e3928b48c2026b2b272bdedbef58c7cb7939395c0483b6afd41458a9eafc5d8f967bdd9c12075eabdd7e4ef1a6a88cd43d882b7501c710e SHA512 b9b96ea8732399be47c19f41af9b5f26b53f0490f874946913221303942038f897aa69ff6608984c5d594ee5c17aaafe174fdfbab0d9cc5d95925ef7f3f9a61f
EBUILD iasl-20190703.ebuild 3468 BLAKE2B 44d91a87906aba6b210b76afeb53864ede0ac20cefc01b6d7e440e47232a760345051ff8231d731d6b8af58d154fe74bc479406fcf245de61498cf13ea81de31 SHA512 74aaa2af5f80cff0c63c50e7ccf46c1f7afd809d30fabb785f79e660a767a782c2a54c1af409d4d8992d170d25e17668c2e7570a43881e96210fd4b50ad4ae0c
+EBUILD iasl-20200214.ebuild 3442 BLAKE2B 8bc42b93ba2553346043908f1adbbeca6e30cf37e8eaae948825a14c8e937e2a7bde61fe96b31cbabb1d02dccfcc2c111ca14386926a29d23dd6cecbc00af53f SHA512 8839c32dbf926432ef043760a02054184a6b5b32cdf91ff37db7c1c03d035431a2053f700a034919e41e69dbe6d42be08ec6c6e20606ba6b091eb565a0175525
+EBUILD iasl-20200326.ebuild 3388 BLAKE2B 757e04a8a3d41634185e365e196f574611cd41bd71881b31efbbf36ad6d164ff29c082498b62834887b57d1736d200f73f97460a9c668a01a53c06c170c39324 SHA512 1c7ae6118c067d805986223a279dc2968e2e988cd01a53026261cbe9b9c22021e9f7c564629784d1fa9bba0f24cf1f365b61c14133e712dde608feda27a56830
MISC metadata.xml 330 BLAKE2B 4c0218788685cc36fddf5d759c091898a71c01bf22e9e7995d1f5da37cd0508c961895b4265bda462062676f3e722205f0a6b10f64db718110f7afe8f088d136 SHA512 4d7760ec82f64ce49478c359b32aa100ca9778471033741b7fd89905d075b3a067fda413c6dcc5115d7755d0ab6cd9d30a848ff674f1c83ef6205c51ec501a65
diff --git a/sys-power/iasl/files/iasl-20200214-Makefile.patch b/sys-power/iasl/files/iasl-20200214-Makefile.patch
new file mode 100644
index 000000000000..e5fb563cf922
--- /dev/null
+++ b/sys-power/iasl/files/iasl-20200214-Makefile.patch
@@ -0,0 +1,105 @@
+--- a/generate/unix/acpiexec/Makefile
++++ b/generate/unix/acpiexec/Makefile
+@@ -256,12 +256,12 @@
+ endif
+
+ ifneq ($(ACPI_HOST),_QNX)
+-LDFLAGS += -lpthread
++LIBS += -lpthread
+ endif
+
+ ifneq ($(ACPI_HOST),_APPLE)
+ ifneq ($(ACPI_HOST),_QNX)
+-LDFLAGS += -lrt
++LIBS += -lrt
+ endif
+ endif
+
+--- a/generate/unix/Makefile.config
++++ b/generate/unix/Makefile.config
+@@ -35,15 +35,14 @@
+ .SUFFIXES :
+ PROGS = acpibin acpidump acpiexamples acpiexec acpihelp acpinames acpisrc acpixtract iasl
+ ACPI_HOST ?= _CYGWIN
+-CC ?= gcc
+
+ #
+ # Common defines
+ #
+ OBJDIR = obj
+ BINDIR = bin
+-COMPILEOBJ = $(CC) -c $(CFLAGS) $(OPT_CFLAGS) -o $@ $<
+-LINKPROG = $(CC) $(OBJECTS) -o $(PROG) $(LDFLAGS) $(OPT_LDFLAGS)
++COMPILEOBJ = $(CC) -c $(CFLAGS) $(CPPFLAGS) $(OPT_CFLAGS) -o $@ $<
++LINKPROG = $(CC) $(LDFLAGS) $(OBJECTS) -o $(PROG) $(LIBS)
+ PREFIX ?= /usr
+ INSTALLDIR = $(PREFIX)/bin
+ UNAME_S := $(shell uname -s)
+@@ -76,7 +75,7 @@
+ INSTALLFLAGS ?= -f
+ else
+ INSTALL = install
+-INSTALLFLAGS ?= -m 555 -s
++INSTALLFLAGS ?= -m 555
+ endif
+
+ INSTALLPROG = \
+@@ -153,26 +152,18 @@
+ #
+ ifeq ($(M32),TRUE)
+ CFLAGS +=-m32
+-LDFLAGS +=-m32
++LIBS +=-m32
+ endif
+
+ #
+ # Optionally disable optimizations. Optimization causes problems on
+ # some compilers such as gcc 4.4
+ #
+-ifneq ($(NOOPT),TRUE)
+-OPT_CFLAGS += -O2
+-else
+-OPT_CFLAGS += -O0
+-endif
+
+ #
+ # Optionally disable fortify source. This option can cause
+ # compile errors in toolchains where it is already defined.
+ #
+-ifneq ($(NOFORTIFY),TRUE)
+-OPT_CFLAGS += -D_FORTIFY_SOURCE=2
+-endif
+
+ CFLAGS += \
+ -D$(HOST)\
+@@ -264,11 +255,11 @@
+ #YACC= byacc
+ #YFLAGS +=
+ #
+-YACC= bison
++YACC= LC_ALL=C bison
+ YFLAGS += -y
+
+ MACROPROC= m4
+ MFLAGS= -P -I$(ASL_COMPILER)
+
+-LEX= flex
++LEX= LC_ALL=C flex
+ LFLAGS += -i -s
+--- a/generate/unix/Makefile.rules
++++ b/generate/unix/Makefile.rules
+@@ -12,12 +12,12 @@
+
+ $(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
+ @echo "- Link" $(PROG)
+- @$(LINKPROG)
++ $(LINKPROG)
+ $(RENAMEPROG)
+
+ $(OBJDIR)/%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
+ @echo $(PROG) $<
+- @$(COMPILEOBJ)
++ $(COMPILEOBJ)
+
+ clean :
+ @rm -f $(PROG) $(PROG).exe $(OBJECTS) $(OBJDIR)/*.o $(INTERMEDIATES) $(MISC)
diff --git a/sys-power/iasl/files/iasl-20200326-Makefile.patch b/sys-power/iasl/files/iasl-20200326-Makefile.patch
new file mode 100644
index 000000000000..4848c80ec663
--- /dev/null
+++ b/sys-power/iasl/files/iasl-20200326-Makefile.patch
@@ -0,0 +1,106 @@
+--- a/generate/unix/acpiexec/Makefile
++++ b/generate/unix/acpiexec/Makefile
+@@ -256,12 +256,12 @@
+ endif
+
+ ifneq ($(ACPI_HOST),_QNX)
+-LDFLAGS += -lpthread
++LIBS += -lpthread
+ endif
+
+ ifneq ($(ACPI_HOST),_APPLE)
+ ifneq ($(ACPI_HOST),_QNX)
+-LDFLAGS += -lrt
++LIBS += -lrt
+ endif
+ endif
+
+--- a/generate/unix/Makefile.config
++++ b/generate/unix/Makefile.config
+@@ -35,15 +35,14 @@
+ .SUFFIXES :
+ PROGS = acpibin acpidump acpiexamples acpiexec acpihelp acpinames acpisrc acpixtract iasl
+ ACPI_HOST ?= _CYGWIN
+-CC ?= gcc
+
+ #
+ # Common defines
+ #
+ OBJDIR = obj
+ BINDIR = bin
+-COMPILEOBJ = $(CC) -c $(CFLAGS) $(OPT_CFLAGS) -o $@ $<
+-LINKPROG = $(CC) $(OBJECTS) -o $(PROG) $(LDFLAGS) $(OPT_LDFLAGS)
++COMPILEOBJ = $(CC) -c $(CFLAGS) $(CPPFLAGS) $(OPT_CFLAGS) -o $@ $<
++LINKPROG = $(CC) $(LDFLAGS) $(OBJECTS) -o $(PROG) $(LIBS)
+ PREFIX ?= /usr
+ INSTALLDIR = $(PREFIX)/bin
+ UNAME_S := $(shell uname -s)
+@@ -76,7 +75,7 @@
+ INSTALLFLAGS ?= -f
+ else
+ INSTALL = install
+-INSTALLFLAGS ?= -m 555 -s
++INSTALLFLAGS ?= -m 555
+ endif
+
+ INSTALLPROG = \
+@@ -161,26 +160,18 @@
+ #
+ ifeq ($(M32),TRUE)
+ CFLAGS +=-m32
+-LDFLAGS +=-m32
++LIBS +=-m32
+ endif
+
+ #
+ # Optionally disable optimizations. Optimization causes problems on
+ # some compilers such as gcc 4.4
+ #
+-ifneq ($(NOOPT),TRUE)
+-OPT_CFLAGS += -O2
+-else
+-OPT_CFLAGS += -O0
+-endif
+
+ #
+ # Optionally disable fortify source. This option can cause
+ # compile errors in toolchains where it is already defined.
+ #
+-ifneq ($(NOFORTIFY),TRUE)
+-OPT_CFLAGS += -D_FORTIFY_SOURCE=2
+-endif
+
+ CFLAGS += \
+ -D$(ACPI_HOST)\
+@@ -272,12 +263,12 @@
+ #YACC= byacc
+ #YFLAGS +=
+ #
+-YACC= bison
++YACC= LC_ALL=C bison
+ YFLAGS += -y
+
+ MACROPROC= m4
+ MFLAGS= -P -I$(ASL_COMPILER)
+
+-LEX= flex
++LEX= LC_ALL=C flex
+ LFLAGS += -i -s
+ DLFLAGS += -i
+--- a/generate/unix/Makefile.rules
++++ b/generate/unix/Makefile.rules
+@@ -12,12 +12,12 @@
+
+ $(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
+ @echo "- Link" $(PROG)
+- @$(LINKPROG)
++ $(LINKPROG)
+ $(RENAMEPROG)
+
+ $(OBJDIR)/%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
+ @echo $(PROG) $<
+- @$(COMPILEOBJ)
++ $(COMPILEOBJ)
+
+ clean :
+ @rm -f $(PROG) $(PROG).exe $(OBJECTS) $(OBJDIR)/*.o $(INTERMEDIATES) $(MISC)
diff --git a/sys-power/iasl/iasl-20200214.ebuild b/sys-power/iasl/iasl-20200214.ebuild
new file mode 100644
index 000000000000..a52227dac14a
--- /dev/null
+++ b/sys-power/iasl/iasl-20200214.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils toolchain-funcs
+
+MY_PN=acpica-unix
+MY_P="${MY_PN}-${PV}"
+MY_TESTS_P="${MY_PN/ca/tests}-${PV}"
+
+DESCRIPTION="Intel ACPI Source Language (ASL) compiler"
+HOMEPAGE="https://www.acpica.org/downloads/"
+SRC_URI="
+ http://www.acpica.org/sites/acpica/files/${MY_P}.tar.gz
+ test? ( http://www.acpica.org/sites/acpica/files/${MY_TESTS_P}.tar.gz )"
+
+LICENSE="iASL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20190703-gcc10-fno-common.patch
+ "${FILESDIR}"/${PN}-20200214-Makefile.patch
+)
+
+pkg_setup() {
+ if use test && has test ${FEATURES}; then
+ ewarn 'You have selected USE="test". This will install the test results'
+ ewarn "into /usr/share/${PF}/, compressed as a tarball."
+ ewarn 'The tests themselves will only rarely die, but the test results'
+ ewarn 'are interesting for arch testing. The tests may take quite some'
+ ewarn 'time to complete.'
+ fi
+}
+
+src_prepare() {
+ default
+
+ find "${S}" -type f -name 'Makefile*' -print0 | \
+ xargs -0 -I '{}' \
+ sed -r -e 's:-\<Werror\>::g' -e "s:/usr:${EPREFIX}/usr:g" \
+ -i '{}' \
+ || die
+}
+
+src_configure() {
+ tc-export CC
+
+ # BITS is tied to ARCH - please set appropriately if you add new keywords
+ if [[ $ARCH == @(amd64|amd64-fbsd) ]] ; then
+ export BITS=64
+ else
+ export BITS=32
+ fi
+}
+
+src_compile() {
+ emake -C generate/unix BITS="${BITS}"
+}
+
+src_test() {
+ aslts_test
+ #The aapits test currently fails, missing include probably.
+ #aapits_test
+}
+
+src_install() {
+ cd generate/unix || die
+ emake install DESTDIR="${D}" BITS=${BITS}
+ default
+ #local bin
+ #for bin in $(<"${T}"/binlist) ; do
+ # dobin "${T}"/${bin}
+ #done
+ dodoc "${S}"/changes.txt
+ newdoc "${S}"/source/compiler/readme.txt compiler-readme.txt
+ newdoc "${S}"/generate/unix/readme.txt unix-readme.txt
+ newdoc "${S}"/generate/lint/readme.txt lint-readme.txt
+ newdoc "${S}"/source/compiler/new_table.txt compiler-new_table.txt
+
+ if use test && has test ${FEATURES}; then
+ tb="${T}"/testresults.tar.bz2
+ export ASLTSDIR="$(<"${T}"/asltdir)"
+ ebegin "Creating Test Tarball"
+ tar -cjf "${tb}" -C "${ASLTSDIR}"/tmp/RESULTS . || die "tar failed"
+ eend $?
+ insinto /usr/share/${PF}
+ doins ${tb}
+ fi
+}
+
+aslts_test() {
+ export ASL="${S}"/generate/unix/bin/iasl \
+ acpibin="${S}"/generate/unix/bin/acpibin \
+ acpiexec="${S}"/generate/unix/bin/acpiexec \
+ ASLTSDIR="${WORKDIR}/${MY_TESTS_P}"/tests/aslts
+ export PATH="${PATH}:${ASLTSDIR}/bin"
+ echo "$ASLTSDIR" >"${T}"/asltdir
+ cd "${ASLTSDIR}" || die
+ edos2unix $(find . -type 'f')
+ make install || die "make install aslts test failed"
+ chmod +x $(find bin/ ! -regex 'ERROR_OPCODES|HOW_TO_USE|README' ) || die "chmod bin +x failed"
+
+ #The below Do commands runs the tests twice and then dies if the results aren't
+ #Identical.
+ Do 1 || die "failed Do 1"
+ Do 2 || die "failed Do 2"
+}
+
+aapits_test() {
+ mv "${WORKDIR}/${MY_TESTS_P}/tests/aapits" "${S}/tools/" || die "mv failed"
+ cd "${S}/tools/aapits" || die "cannot find ${S}/tools/aapits"
+ edos2unix $(find . -type 'f')
+ chmod +x $(find bin/ | sed -r -e '/\/[A-Z_]+$/d') || die "chmod bin +x failed"
+ make || die "make in aapits failed"
+ cd asl || die "cd asl failed"
+ make || die "make in asl failed"
+ cd ../bin || die
+ ./aapitsrun || die "aapitsrun failed"
+}
diff --git a/sys-power/iasl/iasl-20200326.ebuild b/sys-power/iasl/iasl-20200326.ebuild
new file mode 100644
index 000000000000..050b1a001e8a
--- /dev/null
+++ b/sys-power/iasl/iasl-20200326.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils toolchain-funcs
+
+MY_PN=acpica-unix
+MY_P="${MY_PN}-${PV}"
+MY_TESTS_P="${MY_PN/ca/tests}-${PV}"
+
+DESCRIPTION="Intel ACPI Source Language (ASL) compiler"
+HOMEPAGE="https://www.acpica.org/downloads/"
+SRC_URI="
+ http://www.acpica.org/sites/acpica/files/${MY_P}.tar.gz
+ test? ( http://www.acpica.org/sites/acpica/files/${MY_TESTS_P}.tar.gz )"
+
+LICENSE="iASL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${PN}-20200326-Makefile.patch )
+
+pkg_setup() {
+ if use test && has test ${FEATURES}; then
+ ewarn 'You have selected USE="test". This will install the test results'
+ ewarn "into /usr/share/${PF}/, compressed as a tarball."
+ ewarn 'The tests themselves will only rarely die, but the test results'
+ ewarn 'are interesting for arch testing. The tests may take quite some'
+ ewarn 'time to complete.'
+ fi
+}
+
+src_prepare() {
+ default
+
+ find "${S}" -type f -name 'Makefile*' -print0 | \
+ xargs -0 -I '{}' \
+ sed -r -e 's:-\<Werror\>::g' -e "s:/usr:${EPREFIX}/usr:g" \
+ -i '{}' \
+ || die
+}
+
+src_configure() {
+ tc-export CC
+
+ # BITS is tied to ARCH - please set appropriately if you add new keywords
+ if [[ $ARCH == @(amd64|amd64-fbsd) ]] ; then
+ export BITS=64
+ else
+ export BITS=32
+ fi
+}
+
+src_compile() {
+ emake -C generate/unix BITS="${BITS}"
+}
+
+src_test() {
+ aslts_test
+ #The aapits test currently fails, missing include probably.
+ #aapits_test
+}
+
+src_install() {
+ cd generate/unix || die
+ emake install DESTDIR="${D}" BITS=${BITS}
+ default
+ #local bin
+ #for bin in $(<"${T}"/binlist) ; do
+ # dobin "${T}"/${bin}
+ #done
+ dodoc "${S}"/changes.txt
+ newdoc "${S}"/source/compiler/readme.txt compiler-readme.txt
+ newdoc "${S}"/generate/unix/readme.txt unix-readme.txt
+ newdoc "${S}"/generate/lint/readme.txt lint-readme.txt
+ newdoc "${S}"/source/compiler/new_table.txt compiler-new_table.txt
+
+ if use test && has test ${FEATURES}; then
+ tb="${T}"/testresults.tar.bz2
+ export ASLTSDIR="$(<"${T}"/asltdir)"
+ ebegin "Creating Test Tarball"
+ tar -cjf "${tb}" -C "${ASLTSDIR}"/tmp/RESULTS . || die "tar failed"
+ eend $?
+ insinto /usr/share/${PF}
+ doins ${tb}
+ fi
+}
+
+aslts_test() {
+ export ASL="${S}"/generate/unix/bin/iasl \
+ acpibin="${S}"/generate/unix/bin/acpibin \
+ acpiexec="${S}"/generate/unix/bin/acpiexec \
+ ASLTSDIR="${WORKDIR}/${MY_TESTS_P}"/tests/aslts
+ export PATH="${PATH}:${ASLTSDIR}/bin"
+ echo "$ASLTSDIR" >"${T}"/asltdir
+ cd "${ASLTSDIR}" || die
+ edos2unix $(find . -type 'f')
+ make install || die "make install aslts test failed"
+ chmod +x $(find bin/ ! -regex 'ERROR_OPCODES|HOW_TO_USE|README' ) || die "chmod bin +x failed"
+
+ #The below Do commands runs the tests twice and then dies if the results aren't
+ #Identical.
+ Do 1 || die "failed Do 1"
+ Do 2 || die "failed Do 2"
+}
+
+aapits_test() {
+ mv "${WORKDIR}/${MY_TESTS_P}/tests/aapits" "${S}/tools/" || die "mv failed"
+ cd "${S}/tools/aapits" || die "cannot find ${S}/tools/aapits"
+ edos2unix $(find . -type 'f')
+ chmod +x $(find bin/ | sed -r -e '/\/[A-Z_]+$/d') || die "chmod bin +x failed"
+ make || die "make in aapits failed"
+ cd asl || die "cd asl failed"
+ make || die "make in asl failed"
+ cd ../bin || die
+ ./aapitsrun || die "aapitsrun failed"
+}