sys-power/iasl: version bump to 20200214
authorJeffrey Lin <jeffrey@icurse.nl>
Wed, 25 Mar 2020 15:14:52 +0000 (11:14 -0400)
committerLars Wendler <polynomial-c@gentoo.org>
Fri, 27 Mar 2020 12:03:33 +0000 (13:03 +0100)
Signed-off-by: Jeffrey Lin <jeffrey@icurse.nl>
Closes: https://github.com/gentoo/gentoo/pull/15110
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
sys-power/iasl/Manifest
sys-power/iasl/files/iasl-20200214-Makefile.patch [new file with mode: 0644]
sys-power/iasl/iasl-20200214.ebuild [new file with mode: 0644]

index db35335ec0f50c1c4c5d5a7c1e482a86f2732311..58a97e2641162cf4472836b7a99ac58225539380 100644 (file)
@@ -1,4 +1,6 @@
 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 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
diff --git a/sys-power/iasl/files/iasl-20200214-Makefile.patch b/sys-power/iasl/files/iasl-20200214-Makefile.patch
new file mode 100644 (file)
index 0000000..e5fb563
--- /dev/null
@@ -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/iasl-20200214.ebuild b/sys-power/iasl/iasl-20200214.ebuild
new file mode 100644 (file)
index 0000000..a52227d
--- /dev/null
@@ -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"
+}