summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-power')
-rw-r--r--sys-power/iasl/ChangeLog9
-rw-r--r--sys-power/iasl/iasl-20090123.ebuild123
2 files changed, 130 insertions, 2 deletions
diff --git a/sys-power/iasl/ChangeLog b/sys-power/iasl/ChangeLog
index 7fa0d8d7b795..4072210b9419 100644
--- a/sys-power/iasl/ChangeLog
+++ b/sys-power/iasl/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-power/iasl
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-power/iasl/ChangeLog,v 1.21 2008/09/09 06:01:36 robbat2 Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-power/iasl/ChangeLog,v 1.22 2009/01/24 21:18:24 robbat2 Exp $
+
+*iasl-20090123 (24 Jan 2009)
+
+ 24 Jan 2009; Robin H. Johnson <robbat2@gentoo.org> +iasl-20090123.ebuild:
+ Version bump to resolve bug #246196 - bison 2.4 related compile failures.
09 Sep 2008; Robin H. Johnson <robbat2@gentoo.org>
+files/iasl-20080701-parallelmake.patch, iasl-20080701.ebuild:
diff --git a/sys-power/iasl/iasl-20090123.ebuild b/sys-power/iasl/iasl-20090123.ebuild
new file mode 100644
index 000000000000..aee9731a5f00
--- /dev/null
+++ b/sys-power/iasl/iasl-20090123.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-power/iasl/iasl-20090123.ebuild,v 1.1 2009/01/24 21:18:24 robbat2 Exp $
+
+inherit toolchain-funcs flag-o-matic eutils
+
+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="http://www.intel.com/technology/iapc/acpi/"
+SRC_URI="http://www.acpica.org/download/${MY_P}.tar.gz
+ test? ( http://www.acpica.org/download/${MY_TESTS_P}.tar.gz )"
+
+LICENSE="iASL"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+
+IUSE="test"
+DEPEND="sys-devel/bison
+ sys-devel/flex"
+
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ if use test
+ 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_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/iasl-20080701-parallelmake.patch
+}
+
+src_compile() {
+ local target bin
+ append-flags -fno-strict-aliasing
+
+ for target in compiler tools/acpisrc tools/acpixtract tools/acpiexec
+ do
+ einfo "Compiling in ${target}/"
+ cd "${S}"/${target}
+ case "${target}" in
+ compiler) bin=iasl;;
+ *) bin=${target#*/};;
+ esac
+
+ emake CC="$(tc-getCC)" || die "emake in ${target} failed"
+ einfo "Finished compiling ${target}"
+
+ mv ${bin} "${T}" || die "mv ${bin} failed"
+ einfo "Finished moving ${bin}"
+
+ make clean || die "make clean in ${target} failed"
+ einfo "Finished cleaning ${target}"
+
+ echo ${bin} >>"${T}"/binlist
+ done
+ einfo "$(<"${T}"/binlist)"
+}
+
+src_test() {
+ aslts_test
+ #aapits_test
+ #The aapits test currently fails, missing include probably.
+}
+
+src_install() {
+ local bin
+ for bin in $(<"${T}"/binlist) ; do
+ dobin "${T}"/${bin}
+ done
+ dodoc README changes.txt
+ if hasq test $FEATURES ; then
+ export ASLTSDIR="$(<"${T}"/asltdir)"
+ cd "${ASLTSDIR}"/tmp/RESULTS || die "cd ${ASLTSDIR}/tmp/RESULTS failed"
+ ebegin "Creating Test Tarball"
+ tar -cjf testresults.tar.bz2 * || die "tar failed"
+ eend $?
+ dodir /usr/share/${PF}
+ insinto /usr/share/${PF}
+ doins testresults.tar.bz2 || die "doins testresults.tar.bz2 failed"
+ fi
+
+}
+
+aslts_test() {
+ export ASL="${T}"/iasl \
+ acpiexec="${T}"/acpiexec \
+ ASLTSDIR="${WORKDIR}/${MY_TESTS_P}"/tests/aslts
+ export PATH="${PATH}:${ASLTSDIR}/bin"
+ echo "$ASLTSDIR" >"${T}"/asltdir
+ cd "${ASLTSDIR}"
+ edos2unix $(find . -type 'f') || die "edos2unix failed in aslts"
+ make install || die "make install aslts test failed"
+ chmod +x $(find bin/ | sed -r -e '/\/[A-Z_]+$/d') || 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') || die "edos2unix failed in aapits"
+ 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
+ ./aapitsrun || die "aapitsrun failed"
+}