add new files

This commit is contained in:
Mario Fetka
2011-12-03 12:15:17 +01:00
parent a7bc5860a5
commit 85fe320de5
32 changed files with 2274 additions and 212 deletions

240
sys-devel/clang/ChangeLog Normal file
View File

@@ -0,0 +1,240 @@
# ChangeLog for sys-devel/clang
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.48 2011/11/28 10:56:02 voyageur Exp $
*clang-3.0_rc4 (28 Nov 2011)
28 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0_rc3.ebuild,
+clang-3.0_rc4.ebuild:
Final rc bump
14 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
clang-2.9-r1.ebuild, clang-3.0_rc3.ebuild, clang-9999.ebuild:
gcc-config 1.5 dropped the -X option, thanks Leonid Volnitsky
<leonid@volnitsky.com> in bug #388621
10 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-3.0_rc3.ebuild:
Fix tests (needs full compilation of llvm, remove broken test)
*clang-3.0_rc3 (09 Nov 2011)
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-3.0_rc1.ebuild,
+clang-3.0_rc3.ebuild, files/clang-3.0-fix_cxx_include_root.patch,
clang-9999.ebuild:
Update rc ebuild and cxx_include_root patch, some more ebuild cleanups
*clang-3.0_rc1 (09 Nov 2011)
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> +clang-3.0_rc1.ebuild,
+files/clang-3.0-fix_cxx_include_root.patch, clang-9999.ebuild:
Add rc release to prepare for 3.0, remove llvm-gcc detection code (not used
in configure anymore). Also fix bug #387309, thanks to Stephan Wezel
<s.wezel@web.de> for the patch
04 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
clang-2.9-r1.ebuild, clang-9999.ebuild:
Fix forced -O3 -fomit-frame-pointer CFLAGS again, bug #385543
03 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8-r3.ebuild,
-clang-2.9.ebuild, clang-2.9-r1.ebuild, clang-9999.ebuild, metadata.xml:
Rename alltargets USE flag to multitarget, bug #382307. Drop some versions
*clang-2.9-r1 (16 Aug 2011)
16 Aug 2011; Diego E. Pettenò <flameeyes@gentoo.org> +clang-2.9-r1.ebuild,
+files/clang-2.9-gccversions.patch:
Add patch to check for a few more GCC versions; thanks to Amir Aupov, Richard
and Josh in bug #377949.
08 Jul 2011; Samuli Suominen <ssuominen@gentoo.org> clang-2.8-r3.ebuild,
clang-2.9.ebuild, clang-9999.ebuild:
Convert from "hasq" to "has".
13 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
Also use same USE-defaults for live ebuild, spotted by mgorny
06 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
Update live ebuild to sync latest ebuild changes, fixes bug #369027
21 Apr 2011; Fabian Groffen <grobian@gentoo.org> clang-2.9.ebuild:
Update install_name reference to libLLVM
*clang-2.9 (07 Apr 2011)
07 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.9.ebuild,
+files/clang-2.9-darwin-prefix.patch:
Version bump, enable system-cxx-headers by default
28 Mar 2011; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r4.ebuild,
-files/clang-2.7-darwin-prefix.patch:
Drop 2.7 versions
14 Mar 2011; Fabian Groffen <grobian@gentoo.org> clang-2.8-r3.ebuild:
Marked ~x86-linux
26 Jan 2011; Fabian Groffen <grobian@gentoo.org> clang-2.7-r4.ebuild,
clang-2.8-r3.ebuild, clang-9999.ebuild:
Make scan-build utility Prefix-compatible, by Lionel Orry, bug #352809
*clang-2.8-r3 (19 Dec 2010)
19 Dec 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.8-r1.ebuild,
-clang-2.8-r2.ebuild, +clang-2.8-r3.ebuild, +files/clang-2.8-alignof.patch,
+files/clang-2.8-gcc-4.4.4.patch:
Backport to rename alignof, fixes C++'0x compilers support. Also adds gcc
4.4.4 headers support by default, thanks to Bertjan Broeksema
<broeksema@kde.org> in bug #345683
24 Oct 2010; Fabian Groffen <grobian@gentoo.org> clang-2.8-r2.ebuild,
clang-9999.ebuild:
Update reference fixing for Darwin for newer more strict versions of
Portage
24 Oct 2010; Fabian Groffen <grobian@gentoo.org> clang-2.8-r2.ebuild,
+files/clang-2.8-darwin-prefix.patch:
Fix compilation on Darwin, fixes bug #342373, adds back necessary bits for
bug #339922
*clang-2.8-r2 (21 Oct 2010)
21 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r2.ebuild,
-clang-2.8.ebuild, +clang-2.8-r2.ebuild:
Also set GCC C headers path with USE=system-cxx-headers, reported by
Guillaume Chatelet <chatelet.guillaume@gmail.com>, bug #341891, tested
with boost compilation. Clean some versions
*clang-2.8-r1 (12 Oct 2010)
12 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.8-r1.ebuild,
metadata.xml:
Re-enable shared lib, it works now with alltargets USE flag (in sync with
llvm one)
08 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8.ebuild:
Use new llvm 2.8 tarball, just in case
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.8.ebuild,
clang-9999.ebuild:
Tests now use an internal framework, dejagnu not needed anymore
*clang-2.8 (06 Oct 2010)
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.8.ebuild,
clang-9999.ebuild:
2.8 version bump, drop old 2.6, fix one install line in live ebuild
*clang-2.7-r4 (21 Sep 2010)
21 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r3.ebuild,
+clang-2.7-r4.ebuild, clang-9999.ebuild:
Fix rpath sed and disable shared library use, thanks Nick Bowler
<nbowler@draconx.ca> in bug #338231
*clang-2.7-r3 (17 Sep 2010)
17 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7.ebuild,
+clang-2.7-r3.ebuild:
Enable shared library, move libs and plugins to fix bug #337467
08 Sep 2010; Fabian Groffen <grobian@gentoo.org> clang-2.7-r2.ebuild,
+files/clang-2.7-darwin-prefix.patch:
Fix configurations for (newer) Darwin configurations, thanks Heiko Przybyl
03 Sep 2010; Fabian Groffen <grobian@gentoo.org> clang-2.7-r2.ebuild:
Marked ~amd64-linux
26 Aug 2010; Fabian Groffen <grobian@gentoo.org> clang-2.7-r2.ebuild,
clang-9999.ebuild:
Bump to EAPI=3, make Prefix aware, add support for Darwin platforms, bug
#332605
19 Aug 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
system-cxx-headers was missing in -9999 IUSE, spotted by Jack Lloyd
<lloyd@randombit.net> in bug #331679
*clang-2.7-r2 (27 Jul 2010)
27 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.7-r1.ebuild,
+clang-2.7-r2.ebuild, clang-9999.ebuild, metadata.xml:
Add a USE-flag for system CXX headers, fix for x86. llvm-gcc users should
leave the flag off
*clang-2.7-r1 (20 Jul 2010)
20 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.7-r1.ebuild,
clang-9999.ebuild:
Get C++ headers from active gcc version, bug #327575
20 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6-r3.ebuild,
-files/llvm-2.6-cflags.patch, -files/clang-2.6-fixdoc.patch,
-files/clang-2.6-gcc45.patch:
Drop 2.6 version
02 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-9999.ebuild:
Set ESVN_REPO_URI to fix subversion_pkg_preinst
*clang-9999 (01 Jun 2010)
01 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-9999.ebuild:
Add live version, bug #320919
28 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r3.ebuild,
+files/clang-2.6-gcc45.patch:
GCC 4.5 support for 2.6, bug #317467
*clang-2.7 (27 Apr 2010)
27 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6-r2.ebuild,
+clang-2.7.ebuild, +files/clang-2.7-fixdoc.patch:
2.7 official release version bump
*clang-2.6-r3 (26 Apr 2010)
26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> +clang-2.6-r3.ebuild:
python support enhancements, grabbed from my in-progress 2.7_pre2 ebuild
*clang-2.6-r2 (18 Mar 2010)
18 Mar 2010; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6-r1.ebuild,
+clang-2.6-r2.ebuild, +files/llvm-2.6-cflags.patch:
Remove forced -O3 -fomit-frame-pointer CFLAGS, bug #308145
28 Jan 2010; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r1.ebuild:
vecho -> echo, spotted by tove
07 Dec 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r1.ebuild:
Remove faulty test for 2.6, bug #294689
07 Dec 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6-r1.ebuild:
Fix multilib-strict sed, it broke tests on amd64
30 Nov 2009; Torsten Veller <tove@gentoo.org> clang-2.6-r1.ebuild:
Add missing die: || "die..." -> || die "..."
*clang-2.6-r1 (27 Oct 2009)
27 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> -clang-2.6.ebuild,
+clang-2.6-r1.ebuild:
Install missing files for static analyzer, bug #290697
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6.ebuild:
Add some comments, fix running tests. Now about 50 of them fail not
finding their headers, still looking why
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> clang-2.6.ebuild,
+files/clang-2.6-fixdoc.patch:
Fix documentation Makefile in the same way as llvm
*clang-2.6 (25 Oct 2009)
25 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
-clang-2.6_pre2.ebuild, +clang-2.6.ebuild:
Bump to final 2.6 release
*clang-2.6_pre2 (05 Oct 2009)
05 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
+clang-2.6_pre2.ebuild, +metadata.xml:
Initial commit, based on ebuild by Ravi Pinjala <ravi@p-static.net> in bug
#269651

7
sys-devel/clang/Manifest Normal file
View File

@@ -0,0 +1,7 @@
AUX clang-2.7-fixdoc.patch 1977 RMD160 62f52e5580baa396d93c56735c0039c8691b43b6 SHA1 351c1d2cf86b6da75a6ed19083d7a857333f007c SHA256 36c2214e575ed3fd78938279739e82c4f750f8726f8387e1414c18532501314a
AUX clang-3.0-fix_cxx_include_root.patch 1132 RMD160 40f5c11045111212d15ae9e462464360cdf4d1b6 SHA1 8ae4759100e6c7233733a89ae577043ed2d0ee15 SHA256 260f8e36650384304fd0c21f8d742a4b361db4b3a0411c9c74375df95f174898
DIST clang-3.0.tar.gz 7240578 RMD160 640b309116db4357627c0b81ebba5dab824d9eeb SHA1 1fa11f07f957bd9c9de003d1b5a7a9ba1e0055e4 SHA256 b64e72da356d7c3428cfd7ac620d49ec042c84eaee13c26024879f555f4e126d
DIST llvm-3.0.tar.gz 10350539 RMD160 85211cafbed1c5d838ac54669017b5298613f975 SHA1 b683e7294fcf69887c0d709025d4640f5dca755b SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477
EBUILD clang-3.0.ebuild 6130 RMD160 5d9fb2eb75d5d6fa5994911e9243a90fb9367dd7 SHA1 ce8e24de670fc05dcd1dadc0c1eaf26578bb1385 SHA256 7d8dbd0b2711092fb048c487bbb13ff74343f6569101a98bd4382d8249bbca7c
MISC ChangeLog 9104 RMD160 505082137be9c74d70c60ad518c5743c71e89d3d SHA1 2075c38dd2a82e78408a6759c76fec71e51c0ea0 SHA256 50294dd68ba24cbb083ced9d23222662c0873765f1e03555ab87b6f9dee53ac8
MISC metadata.xml 1339 RMD160 5f8b76cda96fc95f67fd8ff7f977c116a4f0f28a SHA1 034f922ae098216b179e9d5c78246f9caa95b9d6 SHA256 0ef2f9bcc4f3293dcb69b2c882b93737b9be496e6f8789efa69df6adb2c1edf8

View File

@@ -0,0 +1,190 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-3.0_rc4.ebuild,v 1.1 2011/11/28 10:56:02 voyageur Exp $
EAPI=3
RESTRICT_PYTHON_ABIS="3.*"
SUPPORT_PYTHON_ABIS="1"
inherit eutils multilib python
DESCRIPTION="C language family frontend for LLVM"
HOMEPAGE="http://clang.llvm.org/"
# Fetching LLVM as well: see http://llvm.org/bugs/show_bug.cgi?id=4840
SRC_URI="http://llvm.org/releases/${PV}/llvm-${PV}.tar.gz
http://llvm.org/releases/${PV}/${P}.tar.gz"
LICENSE="UoI-NCSA"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug multitarget +static-analyzer +system-cxx-headers test"
DEPEND="static-analyzer? ( dev-lang/perl )"
RDEPEND="~sys-devel/llvm-${PV}[multitarget=]"
S=${WORKDIR}/llvm-${PV}.src
src_prepare() {
mv "${WORKDIR}"/clang-${PV}.src "${S}"/tools/clang || die "clang source directory move failed"
# Same as llvm doc patches
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
# multilib-strict
sed -e "/PROJ_headers/s#lib/clang#$(get_libdir)/clang#" \
-i tools/clang/lib/Headers/Makefile \
|| die "clang Makefile failed"
# Fix cxx_include_root path for Gentoo
epatch "${FILESDIR}"/${P/_*}-fix_cxx_include_root.patch
# fix the static analyzer for in-tree install
sed -e 's/import ScanView/from clang \0/' \
-i tools/clang/tools/scan-view/scan-view \
|| die "scan-view sed failed"
sed -e "/scanview.css\|sorttable.js/s#\$RealBin#${EPREFIX}/usr/share/${PN}#" \
-i tools/clang/tools/scan-build/scan-build \
|| die "scan-build sed failed"
# Specify python version
python_convert_shebangs 2 tools/clang/tools/scan-view/scan-view
# From llvm src_prepare
einfo "Fixing install dirs"
sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
-e 's,^PROJ_etcdir.*,PROJ_etcdir := '"${EPREFIX}"'/etc/llvm,' \
-e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir)/llvm, \
-i Makefile.config.in || die "Makefile.config sed failed"
einfo "Fixing rpath and CFLAGS"
sed -e 's,\$(RPATH) -Wl\,\$(\(ToolDir\|LibDir\)),$(RPATH) -Wl\,'"${EPREFIX}"/usr/$(get_libdir)/llvm, \
-e '/OmitFramePointer/s/-fomit-frame-pointer//' \
-i Makefile.rules || die "rpath sed failed"
}
src_configure() {
local CONF_FLAGS="--enable-shared
--with-optimize-option=
$(use_enable !debug optimized)
$(use_enable debug assertions)
$(use_enable debug expensive-checks)"
# Setup the search path to include the Prefix includes
if use prefix ; then
CONF_FLAGS="${CONF_FLAGS} \
--with-c-include-dirs=${EPREFIX}/usr/include:/usr/include"
fi
if use multitarget; then
CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
else
CONF_FLAGS="${CONF_FLAGS} --enable-targets=host-only"
fi
if use amd64; then
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
fi
if use system-cxx-headers; then
# Try to get current gcc headers path
local CXX_PATH=$(gcc-config -L| cut -d: -f1)
CONF_FLAGS="${CONF_FLAGS} --with-c-include-dirs=/usr/include:${CXX_PATH}/include"
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-root=${CXX_PATH}/include/g++-v4"
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-arch=$CHOST"
if has_multilib_profile; then
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-32bit-dir=32"
fi
fi
econf ${CONF_FLAGS} || die "econf failed"
}
src_compile() {
local COMPILE_TARGET
if use test; then
COMPILE_TARGET="all"
else
COMPILE_TARGET="clang-only"
fi
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 \
${COMPILE_TARGET} || die "emake failed"
}
src_test() {
cd "${S}"/test || die "cd failed"
emake site.exp || die "updating llvm site.exp failed"
cd "${S}"/tools/clang || die "cd clang failed"
# Broken test always assuming i386 host with multilib gcc 4.6.0
# http://llvm.org/bugs/show_bug.cgi?id=11094
rm -f test/Driver/linux-ld.c
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
if ! emake -j1 VERBOSE=1 test; then
has test $FEATURES && die "Make test failed. See above for details."
has test $FEATURES || eerror "Make test failed. See above for details."
fi
}
src_install() {
cd "${S}"/tools/clang || die "cd clang failed"
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
if use static-analyzer ; then
dobin tools/scan-build/ccc-analyzer
dosym ccc-analyzer /usr/bin/c++-analyzer
dobin tools/scan-build/scan-build
insinto /usr/share/${PN}
doins tools/scan-build/scanview.css
doins tools/scan-build/sorttable.js
cd tools/scan-view || die "cd scan-view failed"
dobin scan-view
install-scan-view() {
insinto "$(python_get_sitedir)"/clang
doins Reporter.py Resources ScanView.py startfile.py
touch "${ED}"/"$(python_get_sitedir)"/clang/__init__.py
}
python_execute_function install-scan-view
fi
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in libclang.dylib ; do
ebegin "fixing install_name of $lib"
install_name_tool -id "${EPREFIX}"/usr/lib/llvm/${lib} \
"${ED}"/usr/lib/llvm/${lib}
eend $?
done
for f in usr/bin/{c-index-test,clang} usr/lib/llvm/libclang.dylib ; do
ebegin "fixing references in ${f##*/}"
install_name_tool \
-change "@rpath/libclang.dylib" \
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
-change "@executable_path/../lib/libLLVM-${PV}.dylib" \
"${EPREFIX}"/usr/lib/llvm/libLLVM-${PV}.dylib \
-change "${S}"/Release/lib/libclang.dylib \
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
"${ED}"/$f
eend $?
done
fi
}
pkg_postinst() {
python_mod_optimize clang
if use system-cxx-headers; then
elog "C++ headers search path is hardcoded to the active gcc profile one"
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 search path"
else
elog "If clang++ fails to find C++ headers on your system,"
elog "you can remerge clang with USE=system-cxx-headers to use C++ headers"
elog "from the active gcc profile"
fi
}
pkg_postrm() {
python_mod_cleanup clang
}

View File

@@ -0,0 +1,53 @@
diff -Naur llvm-2.7.orig//tools/clang/docs/Makefile llvm-2.7/tools/clang/docs/Makefile
--- llvm-2.7.orig//tools/clang/docs/Makefile 2010-04-26 18:38:45.000000000 +0200
+++ llvm-2.7/tools/clang/docs/Makefile 2010-04-26 18:41:08.000000000 +0200
@@ -46,13 +46,12 @@
# 'make generated BUILD_FOR_WEBSITE=1'
generated:: doxygen
-install-html: $(PROJ_OBJ_DIR)/html.tar.gz
+install-html:
$(Echo) Installing HTML documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/img
$(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html
# $(Verb) $(DataInstall) $(IMAGES) $(DESTDIR)$(PROJ_docsdir)/html/img
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(PROJ_OBJ_DIR)/html.tar.gz: $(HTML)
$(Echo) Packaging HTML documentation
@@ -64,12 +63,11 @@
install-doxygen: doxygen
$(Echo) Installing doxygen documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \;
-doxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz
+doxygen: regendoc
regendoc:
$(Echo) Building doxygen documentation
diff -Naur llvm-2.7.orig//tools/clang/docs/tools/Makefile llvm-2.7/tools/clang/docs/tools/Makefile
--- llvm-2.7.orig//tools/clang/docs/tools/Makefile 2010-04-26 18:38:45.000000000 +0200
+++ llvm-2.7/tools/clang/docs/tools/Makefile 2010-04-26 18:41:29.000000000 +0200
@@ -24,7 +24,7 @@
CLANG_VERSION := trunk
# If we are in BUILD_FOR_WEBSITE mode, default to the all target.
-all:: html man ps
+all:: html man
clean:
rm -f pod2htm*.*~~ $(HTML) $(MAN) $(PS)
@@ -58,7 +58,7 @@
ifdef ONLY_MAN_DOCS
INSTALL_TARGETS := install-man
else
-INSTALL_TARGETS := install-html install-man install-ps
+INSTALL_TARGETS := install-html install-man
endif
.SUFFIXES:

View File

@@ -0,0 +1,21 @@
Bug #387309
--- llvm/tools/clang/lib/Driver/ToolChains.cpp.orig 2011-11-09 23:10:04.000000000 +0100
+++ llvm/tools/clang/lib/Driver/ToolChains.cpp 2011-11-09 23:11:04.000000000 +0100
@@ -1586,12 +1586,13 @@
// This is of the form /foo/bar/include/c++/4.5.2/
if (CxxIncludeRoot.back() == '/')
llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the /
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the g++-v4
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include
StringRef Version = llvm::sys::path::filename(CxxIncludeRoot);
llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the version
- llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the c++
- llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the ARCH
GccInstallPath = CxxIncludeRoot.str();
- GccInstallPath.append("/lib/gcc/");
+ GccInstallPath.append("/");
GccInstallPath.append(CXX_INCLUDE_ARCH);
GccInstallPath.append("/");
GccInstallPath.append(Version);

View File

@@ -0,0 +1,35 @@
<?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>The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler.
Features and Goals
Some of the goals for the project include the following:
End-User Features:
Fast compiles and low memory use
Expressive diagnostics
GCC compatibility
Utility and Applications:
Modular library based architecture
Support diverse clients (refactoring, static analysis, code generation, etc)
Allow tight integration with IDEs
Use the LLVM BSD License
Internal Design and Implementation:
A real-world, production quality compiler
A simple and hackable code base
A single unified parser for C, Objective C, C++, and Objective C++
Conformance with C/C++/ObjC and their variants</longdescription>
<use>
<flag name='multitarget'>Build all host targets (default: host only)</flag>
<flag name='static-analyzer'>Install the Clang static analyzer</flag>
<flag name='system-cxx-headers'>By default, clang++ searchs for C++ headers in a series of hardcoded paths. Enabling this flag will force it to use the active gcc profile ones</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,20 @@
# ChangeLog for sys-devel/dragonegg
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/ChangeLog,v 1.3 2011/11/30 10:35:01 voyageur Exp $
30 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org>
dragonegg-3.0_rc4.ebuild:
gcc-4.6 has lto by default (and no USE flag), thanks alexxy, bug #392483
*dragonegg-3.0_rc4 (28 Nov 2011)
28 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org>
-dragonegg-3.0_rc3.ebuild, +dragonegg-3.0_rc4.ebuild:
Final rc bump
*dragonegg-3.0_rc3 (10 Nov 2011)
10 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org>
+dragonegg-3.0_rc3.ebuild, +metadata.xml:
Initial commit

View File

@@ -0,0 +1,4 @@
DIST dragonegg-3.0.tar.gz 435536 RMD160 93aa8a463b6b5e1fb9cc1ee0a7c4d310a78ea64f SHA1 9be8f055df814e56ea3585156da8c7e457f2cd7b SHA256 72df1fd2e901b254ab8d1b5e7b93c7104751a613aca531f1483f9a637a5f6827
EBUILD dragonegg-3.0.ebuild 1290 RMD160 cc485d6873cc812cd7d572cda495739e256a033e SHA1 e0751456850ddab4f169ee5bb92f449aa456491e SHA256 a8bc6351c712193891099f79f6d6d488935846ee80453a7b712af445c28f54c9
MISC ChangeLog 685 RMD160 53a1b2e6e566a4229279dd093fa27d87e77d6d1b SHA1 5c7dae79e1d80e9922e61c6c52fa2f0bc22f4ec0 SHA256 f7a00c78534b25158202120f399ee5603ad43339b5ea2b929bdf64fc33d35e44
MISC metadata.xml 492 RMD160 7eb430a13ec4ba40fcf67fdde74cf86b5e17028e SHA1 7a0c44e7aeed6d57d509d8b0260f655940281e81 SHA256 30b11ba6c1fb003706253651ad24ef789018d994e3e1d452e6639133a5a0b6f2

View File

@@ -0,0 +1,48 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/dragonegg/dragonegg-3.0_rc4.ebuild,v 1.2 2011/11/30 10:35:01 voyageur Exp $
EAPI=4
inherit multilib
DESCRIPTION="GCC plugin that uses LLVM for optimization and code generation"
HOMEPAGE="http://dragonegg.llvm.org/"
SRC_URI="http://llvm.org/releases/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="|| ( sys-devel/gcc:4.5[lto]
>=sys-devel/gcc-4.6 )
~sys-devel/llvm-${PV}"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${P}.src
src_prepare() {
# Remove in final 3.0
sed -e "s/\(^REVISION:=\).*/\1${P}/" \
-i Makefile || die "Setting revision failed"
}
src_compile() {
# GCC: compiler to use plugin with
emake CC="$(tc-getCC)" GCC="$(tc-getCC)" CXX="$(tc-getCXX)" VERBOSE=1
}
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"
}

View File

@@ -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>

251
sys-devel/llvm/ChangeLog Normal file
View File

@@ -0,0 +1,251 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.54 2011/11/28 23:35:29 chainsaw Exp $
28 Nov 2011; Tony Vroon <chainsaw@gentoo.org> llvm-2.9-r2.ebuild:
Marked stable on AMD64 based on arch testing by Michael Orlitzky, Agostino
"ago" Sarubbo & Elijah "Armageddon" El Lazkani in bug #384709.
*llvm-3.0_rc4 (28 Nov 2011)
28 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0_rc3.ebuild,
+llvm-3.0_rc4.ebuild:
Final rc bump
24 Nov 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r2.ebuild,
llvm-9999.ebuild, llvm-2.9-r2.ebuild, llvm-3.0_rc3.ebuild:
Fix install_name pointer to libLLVM-x.y.dylib in a more flexible way to avoid
bugs like #391763
22 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.0_rc3.ebuild,
metadata.xml:
Add support for gold plugin, thanks Matthias Maier in bug #371951
17 Nov 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> llvm-2.9-r2.ebuild:
x86 stable wrt bug #384709
*llvm-3.0_rc3 (09 Nov 2011)
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.0_rc1.ebuild,
+llvm-3.0_rc3.ebuild:
Update rc, some more ebuild cleanups
*llvm-3.0_rc1 (09 Nov 2011)
09 Nov 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-3.0_rc1.ebuild,
llvm-9999.ebuild:
Add rc release to prepare for 3.0, remove llvm-gcc detection code (not used
in configure anymore)
04 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.8-r2.ebuild,
-llvm-2.8-r4.ebuild, llvm-2.9-r2.ebuild, llvm-9999.ebuild:
Fix forced -O3 -fomit-frame-pointer CFLAGS again, bug #385543
03 Oct 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.8-r1.ebuild,
llvm-2.8-r2.ebuild, llvm-2.8-r4.ebuild, -llvm-2.9-r1.ebuild,
llvm-2.9-r2.ebuild, llvm-9999.ebuild, metadata.xml:
Rename alltargets USE flag to multitarget, bug #382307. Clean bison
dependency, depending only on new enough one. Drop some versions
28 Sep 2011; Samuli Suominen <ssuominen@gentoo.org> metadata.xml:
USE="libffi" is now global USE flag.
15 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> llvm-2.8-r2.ebuild:
ppc stable wrt #360553
06 Jun 2011; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
Update live ebuild to sync latest ebuild changes (vim-syntax, libffi, ...)
*llvm-2.9-r2 (23 May 2011)
23 May 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.9-r2.ebuild,
+files/llvm-2.9-Operator.h-c++0x.patch:
Fix header for gcc 4.6, bug #365925
21 Apr 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.9-r1.ebuild,
llvm-9999.ebuild:
Fix broken reference that I missed yesterday
20 Apr 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.9-r1.ebuild,
llvm-9999.ebuild:
Fix install_name_tooling
*llvm-2.8-r4 (15 Apr 2011)
15 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.8-r3.ebuild,
+llvm-2.8-r4.ebuild, -llvm-2.9.ebuild:
Also update 2.8 branch with libffi/debug changes
*llvm-2.9-r1 (15 Apr 2011)
15 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.9-r1.ebuild:
Fix libffi include search path and debug flags, bugs #363595 and #362567
10 Apr 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> llvm-2.8-r2.ebuild:
x86 stable wrt bug #360553
*llvm-2.9 (07 Apr 2011)
07 Apr 2011; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.9.ebuild:
Version bump
28 Mar 2011; Christoph Mende <angelos@gentoo.org> llvm-2.8-r2.ebuild:
Stable on amd64 wrt bug #360553
*llvm-2.8-r3 (28 Mar 2011)
28 Mar 2011; Bernard Cafarelli <voyageur@gentoo.org>
-files/llvm-2.6-nodoctargz.patch, -llvm-2.7.ebuild, -llvm-2.7-r2.ebuild,
+llvm-2.8-r3.ebuild:
Install vim syntax files with USE=vim-syntax, bug #360147. Also drop 2.7
versions
14 Mar 2011; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r2.ebuild:
Marked ~x86-linux
28 Feb 2011; Bernard Cafarelli <voyageur@gentoo.org>
+files/llvm-2.9-nodoctargz.patch, llvm-9999.ebuild:
Fix depend on live ebuild, and finally update nodoc patch, bug #348701
14 Feb 2011; Kacper Kowalik <xarthisius@gentoo.org> llvm-2.8-r1.ebuild:
ppc stable wrt #336371
*llvm-2.8-r2 (19 Dec 2010)
19 Dec 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.8-r2.ebuild,
+files/llvm-2.8-alignof.patch:
Backport to rename alignof, fixes C++'0x compilers support
11 Nov 2010; Markos Chandras <hwoarang@gentoo.org> llvm-2.8-r1.ebuild:
Stable on amd64 wrt bug #336371
09 Nov 2010; Thomas Kahle <tomka@gentoo.org> llvm-2.8-r1.ebuild:
x86 stable per bug 336371
24 Oct 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r1.ebuild,
llvm-9999.ebuild:
Update reference fixing for Darwin for newer more strict versions of
Portage
23 Oct 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r1.ebuild,
+files/llvm-2.8-darwin8.patch, llvm-9999.ebuild:
Fix compilation on Mac OS X Tiger (10.4, Darwin 8), fix install_names for
new libs also, bug #342289
*llvm-2.8-r1 (08 Oct 2010)
08 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.8.ebuild,
+llvm-2.8-r1.ebuild:
SRC_URI arrow workaround to fetch updated tarball with correct package
version, thanks Alexey Charkov <alchark@gmail.com> in bug #340106 for
spotting it
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.8.ebuild,
llvm-9999.ebuild:
Tests now use an internal framework, dejagnu not needed anymore
*llvm-2.8 (06 Oct 2010)
06 Oct 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.8.ebuild:
2.8 version bump
21 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild:
Also fix live ebuild
*llvm-2.7-r2 (21 Sep 2010)
21 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.7-r1.ebuild,
+llvm-2.7-r2.ebuild:
Fix the rpath sed so llvm-* binaries actually find the llvm shared library
20 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.7-r1.ebuild:
udis86 needs pic on amd64, bug #337969
*llvm-2.7-r1 (17 Sep 2010)
17 Sep 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.7-r1.ebuild,
llvm-9999.ebuild:
Enable shared library, move libs and plugins to fix bug #337467
04 Sep 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.7.ebuild:
Also fix libEnhancedDisassembly, which is only built on Darwin 10 (Mac OS
X Snow Leopard)
03 Sep 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.7.ebuild:
Marked ~amd64-linux
26 Aug 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.7.ebuild,
llvm-9999.ebuild:
Bump to EAPI=3, make Prefix aware, add support for Darwin platforms,
bug #333387
20 Jul 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.6-r2.ebuild,
-files/llvm-2.6-cflags.patch:
Drop 2.6 version
*llvm-9999 (01 Jun 2010)
01 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-9999.ebuild:
Add live version, bug #320919
01 Jun 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6-r2.ebuild,
llvm-2.7.ebuild:
Really fix bug #293382, llvm-gcc was still in DEPEND
*llvm-2.7 (27 Apr 2010)
27 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.6-r1.ebuild,
+llvm-2.7.ebuild, +files/llvm-2.7-nodoctargz.patch:
2.7 official release version bump
26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6-r2.ebuild:
--without-udis86 is broken in configure script
*llvm-2.6-r2 (26 Apr 2010)
26 Apr 2010; Bernard Cafarelli <voyageur@gentoo.org> +llvm-2.6-r2.ebuild,
metadata.xml:
Add udis86 support, thanks to chithanh in bug #317151
*llvm-2.6-r1 (18 Mar 2010)
18 Mar 2010; Bernard Cafarelli <voyageur@gentoo.org> -llvm-2.6.ebuild,
+llvm-2.6-r1.ebuild, +files/llvm-2.6-cflags.patch:
Remove forced -O3 -fomit-frame-pointer CFLAGS, bug #308145
17 Nov 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6.ebuild:
Drop llvm-gcc depend, as it triggers circular dependency on first install
(warn the user if it is not found instead), bug #293382
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
files/llvm-2.6-commandguide-nops.patch:
Fix the patch, after test by flameeyes
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6.ebuild,
+files/llvm-2.6-commandguide-nops.patch:
Disable .ps doc generation, these are just the man pages. Bug #290581
26 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6.ebuild,
metadata.xml:
Fix libffi automagic dependency, bug #289933
*llvm-2.6 (25 Oct 2009)
25 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
-llvm-2.6_pre2.ebuild, +llvm-2.6.ebuild:
Bump to final 2.6 release
07 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6_pre2.ebuild,
+files/llvm-2.6-nodoctargz.patch, -files/llvm-2.6-nohtmltargz.patch:
Add USE flag for ocaml bindings, complete doc patch to fix ocmal doc
failure, see bug #186279
07 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> llvm-2.6_pre2.ebuild:
Fix llvm-gcc location, work with ${ROOT}
*llvm-2.6_pre2 (05 Oct 2009)
05 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org>
+llvm-2.6_pre2.ebuild, +files/llvm-2.6-nohtmltargz.patch, +metadata.xml:
Initial commit, thanks everyone in bug #186279 and others

6
sys-devel/llvm/Manifest Normal file
View File

@@ -0,0 +1,6 @@
AUX llvm-2.6-commandguide-nops.patch 975 RMD160 1178c27a8845c2c86d6d381ba3d95b4b9b627f1e SHA1 41b9d8c3ae0ed1023ec72bf629c53fa8981e0264 SHA256 0e36fb43e020fa380230a8c6f2a79b9a19e12e857e833ef856e2b41aaa283649
AUX llvm-2.9-nodoctargz.patch 1569 RMD160 6589aa0a41f47e915ce93fe6dcf68dd601c3bcdc SHA1 19795ec9c34e6ec5539ec6a77944ceb51abdef72 SHA256 62f1b080364d94e528bb34f0063562d16a59395aa7f97277bba88fbd93e00b84
DIST llvm-3.0.tar.gz 10350539 RMD160 85211cafbed1c5d838ac54669017b5298613f975 SHA1 b683e7294fcf69887c0d709025d4640f5dca755b SHA256 519eb11d3499ce99c6ffdb8718651fc91425ed7690eac91c8d6853474f7c0477
EBUILD llvm-3.0.ebuild 5373 RMD160 ab0ed5585d60212c26fa00363733584fe090a761 SHA1 e3b20ae08c5befbb96d1f1ac9d0de40fcd663bfd SHA256 f2a8f89dc15b3f78715462b12fb0c0e1dec1384839869fc552ec4ebd21a0b85e
MISC ChangeLog 9075 RMD160 7f8572387663eab6fc364b1fa61cf9df5d2ba9ff SHA1 3251911aa15ec053dd0ba300b981b6e036ab2a54 SHA256 e1a3c513d560373e2350a7aa3f11399d84ecade6979be90ae0967b569b38e318
MISC metadata.xml 2290 RMD160 3c36b274b863158d4a53be2c99ea5f42ede2bb80 SHA1 d608d42b2a831a4b9025fa1d2fd68fb11996293b SHA256 fd3cd6846072dbcacb0a3461a3d1a47bb09b858562df26fb9fc0769f0a292bf4

View File

@@ -0,0 +1,30 @@
--- docs/CommandGuide/Makefile.orig 2009-10-26 16:54:33.000000000 +0100
+++ docs/CommandGuide/Makefile 2009-10-26 17:32:03.000000000 +0100
@@ -19,7 +19,7 @@
DST_PS_DIR=ps/
# If we are in BUILD_FOR_WEBSITE mode, default to the all target.
-all:: html man ps
+all:: html man
clean:
rm -f pod2htm*.*~~ $(HTML) $(MAN) $(PS)
@@ -81,7 +81,7 @@
MAN_DIR := $(PROJ_mandir)/man1
PS_DIR := $(PROJ_docsdir)/ps
-install-local:: $(HTML) $(INSTALL_MANS) $(PS)
+install-local:: $(HTML) $(INSTALL_MANS)
$(Echo) Installing HTML CommandGuide Documentation
$(Verb) $(MKDIR) $(HTML_DIR)
$(Verb) $(DataInstall) $(HTML) $(HTML_DIR)
@@ -90,9 +90,6 @@
$(Echo) Installing MAN CommandGuide Documentation
$(Verb) $(MKDIR) $(MAN_DIR)
$(Verb) $(DataInstall) $(INSTALL_MANS) $(MAN_DIR)
- $(Echo) Installing PS CommandGuide Documentation
- $(Verb) $(MKDIR) $(PS_DIR)
- $(Verb) $(DataInstall) $(PS) $(PS_DIR)
uninstall-local::
$(Echo) Uninstalling CommandGuide Documentation

View File

@@ -0,0 +1,39 @@
--- docs/Makefile.orig 2011-02-28 21:30:46.000000000 +0100
+++ docs/Makefile 2011-02-28 21:35:22.000000000 +0100
@@ -53,13 +53,12 @@
# 'make generated BUILD_FOR_WEBSITE=1'
generated:: $(generated_targets)
-install-html: $(PROJ_OBJ_DIR)/html.tar.gz
+install-html:
$(Echo) Installing HTML documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/img
$(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html
$(Verb) $(DataInstall) $(IMAGES) $(DESTDIR)$(PROJ_docsdir)/html/img
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(PROJ_OBJ_DIR)/html.tar.gz: $(HTML)
$(Echo) Packaging HTML documentation
@@ -71,12 +70,11 @@
install-doxygen: doxygen
$(Echo) Installing doxygen documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \;
-doxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz
+doxygen: regendoc
regendoc:
$(Echo) Building doxygen documentation
@@ -102,7 +100,6 @@
install-ocamldoc: ocamldoc
$(Echo) Installing ocamldoc documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/ocamldoc && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html \;

View File

@@ -0,0 +1,165 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-3.0_rc4.ebuild,v 1.1 2011/11/28 10:54:12 voyageur Exp $
EAPI="3"
inherit eutils flag-o-matic multilib toolchain-funcs
DESCRIPTION="Low Level Virtual Machine"
HOMEPAGE="http://llvm.org/"
SRC_URI="http://llvm.org/releases/${PV}/${P}.tar.gz"
LICENSE="UoI-NCSA"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug gold +libffi multitarget ocaml test udis86 vim-syntax"
DEPEND="dev-lang/perl
>=sys-devel/make-3.79
>=sys-devel/flex-2.5.4
>=sys-devel/bison-1.875d
|| ( >=sys-devel/gcc-3.0 >=sys-devel/gcc-apple-4.2.1 )
|| ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
gold? ( >=sys-devel/binutils-2.22 )
libffi? ( dev-util/pkgconfig
virtual/libffi )
ocaml? ( dev-lang/ocaml )
udis86? ( amd64? ( dev-libs/udis86[pic] )
!amd64? ( dev-libs/udis86 ) )"
RDEPEND="dev-lang/perl
libffi? ( virtual/libffi )
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
S=${WORKDIR}/${P}.src
pkg_setup() {
# need to check if the active compiler is ok
broken_gcc=" 3.2.2 3.2.3 3.3.2 4.1.1 "
broken_gcc_x86=" 3.4.0 3.4.2 "
broken_gcc_amd64=" 3.4.6 "
gcc_vers=$(gcc-fullversion)
if [[ ${broken_gcc} == *" ${version} "* ]] ; then
elog "Your version of gcc is known to miscompile llvm."
elog "Check http://www.llvm.org/docs/GettingStarted.html for"
elog "possible solutions."
die "Your currently active version of gcc is known to miscompile llvm"
fi
if [[ ${CHOST} == i*86-* && ${broken_gcc_x86} == *" ${version} "* ]] ; then
elog "Your version of gcc is known to miscompile llvm on x86"
elog "architectures. Check"
elog "http://www.llvm.org/docs/GettingStarted.html for possible"
elog "solutions."
die "Your currently active version of gcc is known to miscompile llvm"
fi
if [[ ${CHOST} == x86_64-* && ${broken_gcc_amd64} == *" ${version} "* ]];
then
elog "Your version of gcc is known to miscompile llvm in amd64"
elog "architectures. Check"
elog "http://www.llvm.org/docs/GettingStarted.html for possible"
elog "solutions."
die "Your currently active version of gcc is known to miscompile llvm"
fi
}
src_prepare() {
# unfortunately ./configure won't listen to --mandir and the-like, so take
# care of this.
einfo "Fixing install dirs"
sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
-e 's,^PROJ_etcdir.*,PROJ_etcdir := '"${EPREFIX}"'/etc/llvm,' \
-e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir)/${PN}, \
-i Makefile.config.in || die "Makefile.config sed failed"
sed -e 's,$ABS_RUN_DIR/lib,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
-i tools/llvm-config/llvm-config.in.in || die "llvm-config sed failed"
einfo "Fixing rpath and CFLAGS"
sed -e 's,\$(RPATH) -Wl\,\$(\(ToolDir\|LibDir\)),$(RPATH) -Wl\,'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
-e '/OmitFramePointer/s/-fomit-frame-pointer//' \
-i Makefile.rules || die "rpath sed failed"
if use gold; then
sed -e 's,\$(SharedLibDir),'"${EPREFIX}"/usr/$(get_libdir)/${PN}, \
-i tools/gold/Makefile || die "gold rpath sed failed"
fi
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
epatch "${FILESDIR}"/${PN}-2.9-nodoctargz.patch
}
src_configure() {
local CONF_FLAGS="--enable-shared
--with-optimize-option=
$(use_enable !debug optimized)
$(use_enable debug assertions)
$(use_enable debug expensive-checks)"
if use multitarget; then
CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
else
CONF_FLAGS="${CONF_FLAGS} --enable-targets=host-only"
fi
if use amd64; then
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
fi
if use gold; then
CONF_FLAGS="${CONF_FLAGS} --with-binutils-include=${EPREFIX}/usr/include/"
fi
if use ocaml; then
CONF_FLAGS="${CONF_FLAGS} --enable-bindings=ocaml"
else
CONF_FLAGS="${CONF_FLAGS} --enable-bindings=none"
fi
if use udis86; then
CONF_FLAGS="${CONF_FLAGS} --with-udis86"
fi
if use libffi; then
append-cppflags "$(pkg-config --cflags libffi)"
fi
CONF_FLAGS="${CONF_FLAGS} $(use_enable libffi)"
econf ${CONF_FLAGS} || die "econf failed"
}
src_compile() {
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 || die "emake failed"
}
src_install() {
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax
doins utils/vim/*.vim
fi
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
local lib= f= odylib=
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in lib{EnhancedDisassembly,LLVM-${PV},LTO}.dylib {BugpointPasses,LLVMHello,profile_rt}.dylib ; do
# libEnhancedDisassembly is Darwin10 only, so non-fatal
[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
ebegin "fixing install_name of $lib"
install_name_tool \
-id "${EPREFIX}"/usr/lib/${PN}/${lib} \
"${ED}"/usr/lib/${PN}/${lib}
eend $?
done
for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/libLTO.dylib ; do
odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${PV}.dylib)
ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
install_name_tool \
-change "${odylib}" \
"${EPREFIX}"/usr/lib/${PN}/libLLVM-${PV}.dylib \
"${f}"
eend $?
done
fi
}

View File

@@ -0,0 +1,19 @@
<?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>Low Level Virtual Machine (LLVM) is:
1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts.
2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations.
3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures.
4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.</longdescription>
<use>
<flag name='gold'>Build the gold linker plugin</flag>
<flag name='llvm-gcc'>Build LLVM with <pkg>sys-devel/llvm-gcc</pkg></flag>
<flag name='multitarget'>Build all host targets (default: host only)</flag>
<flag name='udis86'>Enable support for <pkg>dev-libs/udis86</pkg> disassembler library</flag>
</use>
</pkgmetadata>