summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-power/iasl/Manifest2
-rw-r--r--sys-power/iasl/files/iasl-20200326-Makefile.patch106
-rw-r--r--sys-power/iasl/iasl-20200326.ebuild126
3 files changed, 234 insertions, 0 deletions
diff --git a/sys-power/iasl/Manifest b/sys-power/iasl/Manifest
index 58a97e264116..5e3b1d14f98a 100644
--- a/sys-power/iasl/Manifest
+++ b/sys-power/iasl/Manifest
@@ -1,6 +1,8 @@
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
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-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"
+}