diff options
Diffstat (limited to 'sys-devel/dragonegg')
-rw-r--r-- | sys-devel/dragonegg/Manifest | 4 | ||||
-rw-r--r-- | sys-devel/dragonegg/dragonegg-3.5.1.ebuild | 56 | ||||
-rw-r--r-- | sys-devel/dragonegg/dragonegg-3.6.0.ebuild | 56 | ||||
-rw-r--r-- | sys-devel/dragonegg/dragonegg-9999.ebuild | 55 | ||||
-rw-r--r-- | sys-devel/dragonegg/metadata.xml | 9 |
5 files changed, 180 insertions, 0 deletions
diff --git a/sys-devel/dragonegg/Manifest b/sys-devel/dragonegg/Manifest new file mode 100644 index 000000000000..49adf4d62391 --- /dev/null +++ b/sys-devel/dragonegg/Manifest @@ -0,0 +1,4 @@ +DIST dragonegg-3.5.1.src.tar.xz 374928 SHA256 65e7974a34406463cdfb8c0badd4dfe293ebe771a3d00c4d674d73c8007706e6 SHA512 546bef95aeea39e677b7e20a6d3085e3acac199dbebac12aa38b0991dc6420a07dd4e80466fd5a91285411095b33b0a23a4973dc911667fb4cc3461ef3af5a22 WHIRLPOOL f389644ad8829fb4be37ec1472ef6f5e2ee0f5a52e61395180ba97b70d624c5480463a77d1b4899a9472ec9771bb9789f1d5521e65edc2a9e3ff4eba4fb41b99 +DIST dragonegg-3.6.0.src.tar.xz 375432 SHA256 42c952ac446893b17f971b7361c51f96ddd18ac4e532d7bd25242801e6b8fb07 SHA512 ddad6653c39d8d4f111d3540dd2824a678ff977683f8ea1f396ca6b63eaf41bfd3a1fa32cec3f02ff243672a870fdfb116a8e4a2e9b80746d2010c00b15291d2 WHIRLPOOL c00aa21abcce10473dd8d2a2b74caf1e67d50d241c6ae34b794376e3a7f9e9e2df85f6ef637781dd24ce9c96d3b04459672eb86604a436103dfb348d44523264 +DIST llvm-3.5.1.src.tar.xz 11869356 SHA256 bf3275d2d7890015c8d8f5e6f4f882f8cf3bf51967297ebe74111d6d8b53be15 SHA512 a643ff173627e813b26077829b1af801b75daa5dcea540c4f05366ed57ef6aeafaf8b3fe4208d4c1b303a048a90ddac48a23488480c165637ae9218de140ae55 WHIRLPOOL 798ad46bc21570d8e5b0caadf2c0b434382fd78bfea5a08097fa001019b749b828e56ffe330435e5f3556700e8b0bee29e4139a7ff6b2824bb83dcc8caba2606 +DIST llvm-3.6.0.src.tar.xz 12750908 SHA256 b39a69e501b49e8f73ff75c9ad72313681ee58d6f430bfad4d81846fe92eb9ce SHA512 ca492b7d86333f05930dc849c7a8beff981da51ca174cd844650b516d0a592a2c3837d5a8a9b62713c0f29292b845f27ef0ec361809e325c6b60cbbcd3f20357 WHIRLPOOL 4f9de6b8dd2514e7b55e8c6e6af2ab9d355ebf49f1bd113a652f71809d74060792a95f6cee5b8b3bd64d92586b46e7778f616027702c98eb726ee84375e4eea6 diff --git a/sys-devel/dragonegg/dragonegg-3.5.1.ebuild b/sys-devel/dragonegg/dragonegg-3.5.1.ebuild new file mode 100644 index 000000000000..82e360494c0b --- /dev/null +++ b/sys-devel/dragonegg/dragonegg-3.5.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils multilib toolchain-funcs + +DESCRIPTION="GCC plugin that uses LLVM for optimization and code generation" +HOMEPAGE="http://dragonegg.llvm.org/" +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz + test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="test" + +DEPEND=">=sys-devel/gcc-4.5:* + =sys-devel/llvm-${PV}*" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${P}.src + +pkg_pretend() { + # Bug #511640: gcc 4.9 removed a required header + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(gcc-version) > 4.8 || $(gcc-version) < 4.5 ]] && \ + die 'The active compiler needs to be gcc 4.[5-8])' + fi +} + +src_compile() { + # GCC: compiler to use plugin with + emake CC="$(tc-getCC)" GCC="$(tc-getCC)" CXX="$(tc-getCXX)" VERBOSE=1 +} + +src_test() { + # GCC languages are determined via locale-dependant gcc -v output + export LC_ALL=C + + emake LIT_DIR="${WORKDIR}"/llvm-${PV}.src/utils/lit check +} + +src_install() { + exeinto /usr/$(get_libdir) + doexe dragonegg.so + + dodoc README +} + +pkg_postinst() { + elog "To use dragonegg, run gcc as usual, with an extra command line argument:" + elog " -fplugin=/usr/$(get_libdir)/dragonegg.so" + elog "If you change the active gcc profile, or update gcc to a new version," + elog "you will have to remerge this package to update the plugin" +} diff --git a/sys-devel/dragonegg/dragonegg-3.6.0.ebuild b/sys-devel/dragonegg/dragonegg-3.6.0.ebuild new file mode 100644 index 000000000000..82e360494c0b --- /dev/null +++ b/sys-devel/dragonegg/dragonegg-3.6.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils multilib toolchain-funcs + +DESCRIPTION="GCC plugin that uses LLVM for optimization and code generation" +HOMEPAGE="http://dragonegg.llvm.org/" +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz + test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="test" + +DEPEND=">=sys-devel/gcc-4.5:* + =sys-devel/llvm-${PV}*" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${P}.src + +pkg_pretend() { + # Bug #511640: gcc 4.9 removed a required header + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(gcc-version) > 4.8 || $(gcc-version) < 4.5 ]] && \ + die 'The active compiler needs to be gcc 4.[5-8])' + fi +} + +src_compile() { + # GCC: compiler to use plugin with + emake CC="$(tc-getCC)" GCC="$(tc-getCC)" CXX="$(tc-getCXX)" VERBOSE=1 +} + +src_test() { + # GCC languages are determined via locale-dependant gcc -v output + export LC_ALL=C + + emake LIT_DIR="${WORKDIR}"/llvm-${PV}.src/utils/lit check +} + +src_install() { + exeinto /usr/$(get_libdir) + doexe dragonegg.so + + dodoc README +} + +pkg_postinst() { + elog "To use dragonegg, run gcc as usual, with an extra command line argument:" + elog " -fplugin=/usr/$(get_libdir)/dragonegg.so" + elog "If you change the active gcc profile, or update gcc to a new version," + elog "you will have to remerge this package to update the plugin" +} diff --git a/sys-devel/dragonegg/dragonegg-9999.ebuild b/sys-devel/dragonegg/dragonegg-9999.ebuild new file mode 100644 index 000000000000..b5c4277edd8a --- /dev/null +++ b/sys-devel/dragonegg/dragonegg-9999.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit git-r3 multilib toolchain-funcs + +DESCRIPTION="GCC plugin that uses LLVM for optimization and code generation" +HOMEPAGE="http://dragonegg.llvm.org/" +SRC_URI="" +EGIT_REPO_URI="http://llvm.org/git/dragonegg.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="" + +DEPEND=">=sys-devel/gcc-4.5:* + ~sys-devel/llvm-${PV}" +RDEPEND="${DEPEND}" + +src_unpack() { + if has test $FEATURES + then + EGIT_REPO_URI="http://llvm.org/git/llvm.git" EGIT_CHECKOUT_DIR="${WORKDIR}/llvm" git-r3_src_unpack + fi + git-r3_src_unpack +} + +src_compile() { + # GCC: compiler to use plugin with + emake CC="$(tc-getCC)" GCC="$(tc-getCC)" CXX="$(tc-getCXX)" VERBOSE=1 +} + +src_test() { + # GCC languages are determined via locale-dependant gcc -v output + export LC_ALL=C + + emake LIT_DIR="${WORKDIR}"/llvm/utils/lit check +} + +src_install() { + # Install plugin in llvm lib directory + exeinto /usr/$(get_libdir)/llvm + doexe dragonegg.so + + dodoc README +} + +pkg_postinst() { + elog "To use dragonegg, run gcc as usual, with an extra command line argument:" + elog " -fplugin=/usr/$(get_libdir)/llvm/dragonegg.so" + elog "If you change the active gcc profile, or update gcc to a new version," + elog "you will have to remerge this package to update the plugin" +} diff --git a/sys-devel/dragonegg/metadata.xml b/sys-devel/dragonegg/metadata.xml new file mode 100644 index 000000000000..6b1e8db2293f --- /dev/null +++ b/sys-devel/dragonegg/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>voyageur@gentoo.org</email> + <name>Bernard Cafarelli</name> + </maintainer> + <longdescription>DragonEgg is a <pkg>sys-devel/gcc</pkg> plugin (dragonegg.so) that replaces gcc's optimizers and code generators with those from the LLVM project. It is a reimplementation of llvm-gcc that works with gcc-4.5 or later.</longdescription> +</pkgmetadata> |