diff options
Diffstat (limited to 'sys-power')
-rw-r--r-- | sys-power/iasl/Manifest | 2 | ||||
-rw-r--r-- | sys-power/iasl/files/iasl-20200326-Makefile.patch | 106 | ||||
-rw-r--r-- | sys-power/iasl/iasl-20200326.ebuild | 126 |
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" +} |