Gentoo Archives: gentoo-commits

From: "Bernard Cafarelli (voyageur)" <voyageur@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-devel/clang: ChangeLog clang-2.7.ebuild clang-2.6-r2.ebuild
Date: Tue, 27 Apr 2010 12:09:01
Message-Id: 20100427120855.B722C2C04B@corvid.gentoo.org
1 voyageur 10/04/27 12:08:55
2
3 Modified: ChangeLog
4 Added: clang-2.7.ebuild
5 Removed: clang-2.6-r2.ebuild
6 Log:
7 2.7 official release version bump
8 (Portage version: 2.2_rc67/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.12 sys-devel/clang/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/clang/ChangeLog?rev=1.12&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/clang/ChangeLog?rev=1.12&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/clang/ChangeLog?r1=1.11&r2=1.12
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v
20 retrieving revision 1.11
21 retrieving revision 1.12
22 diff -u -r1.11 -r1.12
23 --- ChangeLog 26 Apr 2010 21:46:54 -0000 1.11
24 +++ ChangeLog 27 Apr 2010 12:08:55 -0000 1.12
25 @@ -1,6 +1,12 @@
26 # ChangeLog for sys-devel/clang
27 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.11 2010/04/26 21:46:54 voyageur Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/ChangeLog,v 1.12 2010/04/27 12:08:55 voyageur Exp $
30 +
31 +*clang-2.7 (27 Apr 2010)
32 +
33 + 27 Apr 2010; Bernard Cafarelli <voyageur@g.o> -clang-2.6-r2.ebuild,
34 + +clang-2.7.ebuild, +files/clang-2.7-fixdoc.patch:
35 + 2.7 official release version bump
36
37 *clang-2.6-r3 (26 Apr 2010)
38
39
40
41
42 1.1 sys-devel/clang/clang-2.7.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/clang/clang-2.7.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-devel/clang/clang-2.7.ebuild?rev=1.1&content-type=text/plain
46
47 Index: clang-2.7.ebuild
48 ===================================================================
49 # Copyright 1999-2010 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-2.7.ebuild,v 1.1 2010/04/27 12:08:55 voyageur Exp $
52
53 EAPI=2
54
55 RESTRICT_PYTHON_ABIS="3.*"
56 SUPPORT_PYTHON_ABIS="1"
57
58 inherit eutils python
59
60 DESCRIPTION="C language family frontend for LLVM"
61 HOMEPAGE="http://clang.llvm.org/"
62 # Fetching LLVM as well: see http://llvm.org/bugs/show_bug.cgi?id=4840
63 SRC_URI="http://llvm.org/releases/${PV}/llvm-${PV}.tgz
64 http://llvm.org/releases/${PV}/${P}.tgz"
65
66 LICENSE="UoI-NCSA"
67 SLOT="0"
68 KEYWORDS="~amd64 ~x86"
69 IUSE="debug +static-analyzer test"
70
71 # Note: for LTO support, clang will depend on binutils with gold plugins, and LLVM built after that - http://llvm.org/docs/GoldPlugin.html
72 DEPEND="static-analyzer? ( dev-lang/perl )
73 test? ( dev-util/dejagnu )"
74 RDEPEND="~sys-devel/llvm-${PV}"
75
76 S="${WORKDIR}/llvm-2.7"
77
78 src_prepare() {
79 mv "${WORKDIR}"/clang-2.7 "${S}"/tools/clang || die "clang source directory not found"
80
81 # Same as llvm doc patches
82 epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
83
84 # multilib-strict
85 sed -e "/PROJ_headers/s#lib/clang#$(get_libdir)/clang#" \
86 -i tools/clang/lib/Headers/Makefile \
87 || die "clang Makefile failed"
88 # fix the static analyzer for in-tree install
89 sed -e 's/import ScanView/from clang \0/' \
90 -i tools/clang/tools/scan-view/scan-view \
91 || die "scan-view sed failed"
92 sed -e "/scanview.css\|sorttable.js/s#\$RealBin#/usr/share/${PN}#" \
93 -i tools/clang/tools/scan-build/scan-build \
94 || die "scan-build sed failed"
95 # Specify python version
96 python_convert_shebangs 2 tools/clang/tools/scan-view/scan-view
97
98 # From llvm src_prepare
99 einfo "Fixing install dirs"
100 sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
101 -e 's,^PROJ_etcdir.*,PROJ_etcdir := /etc/llvm,' \
102 -e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir), \
103 -i Makefile.config.in || die "Makefile.config sed failed"
104
105 einfo "Fixing rpath"
106 sed -e 's/\$(RPATH) -Wl,\$(\(ToolDir\|LibDir\))//g' -i Makefile.rules \
107 || die "rpath sed failed"
108 }
109
110 src_configure() {
111 local CONF_FLAGS=""
112
113 if use debug; then
114 CONF_FLAGS="${CONF_FLAGS} --disable-optimized"
115 einfo "Note: Compiling LLVM in debug mode will create huge and slow binaries"
116 # ...and you probably shouldn't use tmpfs, unless it can hold 900MB
117 else
118 CONF_FLAGS="${CONF_FLAGS} \
119 --enable-optimized \
120 --disable-assertions \
121 --disable-expensive-checks"
122 fi
123
124 if use amd64; then
125 CONF_FLAGS="${CONF_FLAGS} --enable-pic"
126 fi
127
128 # Skip llvm-gcc parts even if installed
129 CONF_FLAGS="${CONF_FLAGS} --with-llvmgccdir=/dev/null"
130
131 econf ${CONF_FLAGS} || die "econf failed"
132 }
133
134 src_compile() {
135 emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only || die "emake failed"
136 }
137
138 src_test() {
139 cd "${S}"/test || die "cd failed"
140 emake site.exp || die "updating llvm site.exp failed"
141
142 cd "${S}"/tools/clang || die "cd clang failed"
143
144 echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
145 if ! emake -j1 VERBOSE=1 test; then
146 hasq test $FEATURES && die "Make test failed. See above for details."
147 hasq test $FEATURES || eerror "Make test failed. See above for details."
148 fi
149 }
150
151 src_install() {
152 cd "${S}"/tools/clang || die "cd clang failed"
153 emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
154
155 if use static-analyzer ; then
156 dobin tools/scan-build/ccc-analyzer
157 dosym ccc-analyzer /usr/bin/c++-analyzer
158 dobin tools/scan-build/scan-build
159
160 insinto /usr/share/${PN}
161 doins tools/scan-build/scanview.css
162 doins tools/scan-build/sorttable.js
163
164 cd tools/scan-view || die "cd scan-view failed"
165 dobin scan-view
166 install-scan-view() {
167 insinto "$(python_get_sitedir)"/clang
168 doins Reporter.py Resources ScanView.py startfile.py
169 touch "${D}"/"$(python_get_sitedir)"/clang/__init__.py
170 }
171 python_execute_function install-scan-view
172 fi
173 }
174
175 pkg_postinst() {
176 python_mod_optimize clang
177 }
178
179 pkg_postrm() {
180 python_mod_cleanup clang
181 }