Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH 7/8] sys-devel/clang: Port 9+ to llvm.org.eclass
Date: Fri, 01 Nov 2019 17:41:56
Message-Id: 20191101173927.146967-7-mgorny@gentoo.org
In Reply to: [gentoo-dev] [PATCH 1/8] llvm.org.eclass: New eclass to help maintaining LLVM by "Michał Górny"
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 sys-devel/clang/clang-10.0.0.9999.ebuild | 28 ++++++++---------
4 sys-devel/clang/clang-9.0.0.ebuild | 39 +++++++++---------------
5 sys-devel/clang/clang-9.0.1.9999.ebuild | 29 ++++++++----------
6 3 files changed, 40 insertions(+), 56 deletions(-)
7
8 diff --git a/sys-devel/clang/clang-10.0.0.9999.ebuild b/sys-devel/clang/clang-10.0.0.9999.ebuild
9 index 7213d45d1617..6ea6bad77fa5 100644
10 --- a/sys-devel/clang/clang-10.0.0.9999.ebuild
11 +++ b/sys-devel/clang/clang-10.0.0.9999.ebuild
12 @@ -8,15 +8,19 @@ EAPI=7
13 CMAKE_MIN_VERSION=3.7.0-r1
14 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
15
16 -inherit cmake-utils git-r3 llvm multilib-minimal multiprocessing \
17 +inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \
18 pax-utils python-single-r1 toolchain-funcs
19
20 DESCRIPTION="C language family frontend for LLVM"
21 HOMEPAGE="https://llvm.org/"
22 -SRC_URI=""
23 -EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
24 +LLVM_COMPONENTS=( clang clang-tools-extra )
25 +LLVM_TEST_COMPONENTS=(
26 + llvm/lib/Testing/Support
27 + llvm/utils/{lit,llvm-lit,unittest}
28 +)
29 +llvm.org_set_globals
30 # We need extra level of indirection for CLANG_RESOURCE_DIR
31 -S=${WORKDIR}/x/${P}/clang
32 +S=${WORKDIR}/x/y/clang
33
34 # Keep in sync with sys-devel/llvm
35 ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
36 @@ -80,16 +84,10 @@ pkg_setup() {
37
38 src_unpack() {
39 # create extra parent dir for CLANG_RESOURCE_DIR
40 - mkdir -p x || die
41 -
42 - local dirs=( clang clang-tools-extra )
43 - use test && dirs+=(
44 - llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest}
45 - )
46 - git-r3_fetch
47 - git-r3_checkout "${EGIT_REPO_URI}" "${WORKDIR}/x/${P}" '' "${dirs[@]}"
48 - mv "${WORKDIR}/x/${P}/clang-tools-extra" \
49 - "${WORKDIR}/x/${P}/clang/tools/extra" || die
50 + mkdir -p x/y || die
51 + cd x/y || die
52 + llvm.org_src_unpack
53 + mv clang-tools-extra clang/tools/extra || die
54 }
55
56 check_distribution_components() {
57 @@ -246,7 +244,7 @@ multilib_src_configure() {
58 -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
59 )
60 use test && mycmakeargs+=(
61 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/${P}/llvm"
62 + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm"
63 -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
64 )
65
66 diff --git a/sys-devel/clang/clang-9.0.0.ebuild b/sys-devel/clang/clang-9.0.0.ebuild
67 index 2eabbee087ce..a91cefda2459 100644
68 --- a/sys-devel/clang/clang-9.0.0.ebuild
69 +++ b/sys-devel/clang/clang-9.0.0.ebuild
70 @@ -8,21 +8,21 @@ EAPI=7
71 CMAKE_MIN_VERSION=3.7.0-r1
72 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
73
74 -inherit cmake-utils llvm multilib-minimal multiprocessing \
75 +inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \
76 pax-utils python-single-r1 toolchain-funcs
77
78 -MY_P=cfe-${PV/_/}.src
79 -EXTRA_P=clang-tools-extra-${PV/_/}.src
80 -LLVM_P=llvm-${PV/_/}.src
81 -
82 DESCRIPTION="C language family frontend for LLVM"
83 HOMEPAGE="https://llvm.org/"
84 -SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz
85 - https://releases.llvm.org/${PV}/${EXTRA_P}.tar.xz
86 - test? ( https://releases.llvm.org/${PV}/${LLVM_P}.tar.xz )
87 +SRC_URI="
88 !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-${PV}-manpages.tar.bz2 )"
89 +LLVM_COMPONENTS=( clang clang-tools-extra )
90 +LLVM_TEST_COMPONENTS=(
91 + llvm/lib/Testing/Support
92 + llvm/utils/{lit,llvm-lit,unittest}
93 +)
94 +llvm.org_set_globals
95 # We need extra level of indirection for CLANG_RESOURCE_DIR
96 -S=${WORKDIR}/x/y/${MY_P}
97 +S=${WORKDIR}/x/y/clang
98
99 # Keep in sync with sys-devel/llvm
100 ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
101 @@ -98,24 +98,13 @@ src_unpack() {
102 # create extra parent dir for CLANG_RESOURCE_DIR
103 mkdir -p x/y || die
104 cd x/y || die
105 -
106 - einfo "Unpacking ${MY_P}.tar.xz ..."
107 - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
108 - einfo "Unpacking ${EXTRA_P}.tar.xz ..."
109 - tar -xf "${DISTDIR}/${EXTRA_P}.tar.xz" || die
110 -
111 - mv "${EXTRA_P}" "${S}"/tools/extra || die
112 - if use test; then
113 - einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
114 - tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
115 - "${LLVM_P}"/lib/Testing/Support \
116 - "${LLVM_P}"/utils/{lit,llvm-lit,unittest} || die
117 - mv "${LLVM_P}" "${WORKDIR}"/llvm || die
118 - fi
119 + llvm.org_src_unpack
120 + mv clang-tools-extra clang/tools/extra || die
121
122 if ! use doc; then
123 - einfo "Unpacking llvm-${PV}-manpages.tar.bz2 ..."
124 + ebegin "Unpacking llvm-${PV}-manpages.tar.bz2"
125 tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
126 + eend
127 fi
128 }
129
130 @@ -150,7 +139,7 @@ multilib_src_configure() {
131 -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
132 )
133 use test && mycmakeargs+=(
134 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
135 + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm"
136 -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
137 )
138
139 diff --git a/sys-devel/clang/clang-9.0.1.9999.ebuild b/sys-devel/clang/clang-9.0.1.9999.ebuild
140 index 788ba009941a..f681871f2015 100644
141 --- a/sys-devel/clang/clang-9.0.1.9999.ebuild
142 +++ b/sys-devel/clang/clang-9.0.1.9999.ebuild
143 @@ -8,16 +8,19 @@ EAPI=7
144 CMAKE_MIN_VERSION=3.7.0-r1
145 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
146
147 -inherit cmake-utils git-r3 llvm multilib-minimal multiprocessing \
148 +inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \
149 pax-utils python-single-r1 toolchain-funcs
150
151 DESCRIPTION="C language family frontend for LLVM"
152 HOMEPAGE="https://llvm.org/"
153 -SRC_URI=""
154 -EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
155 -EGIT_BRANCH="release/9.x"
156 +LLVM_COMPONENTS=( clang clang-tools-extra )
157 +LLVM_TEST_COMPONENTS=(
158 + llvm/lib/Testing/Support
159 + llvm/utils/{lit,llvm-lit,unittest}
160 +)
161 +llvm.org_set_globals
162 # We need extra level of indirection for CLANG_RESOURCE_DIR
163 -S=${WORKDIR}/x/${P}/clang
164 +S=${WORKDIR}/x/y/clang
165
166 # Keep in sync with sys-devel/llvm
167 ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
168 @@ -88,16 +91,10 @@ pkg_setup() {
169
170 src_unpack() {
171 # create extra parent dir for CLANG_RESOURCE_DIR
172 - mkdir -p x || die
173 -
174 - local dirs=( clang clang-tools-extra )
175 - use test && dirs+=(
176 - llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest}
177 - )
178 - git-r3_fetch
179 - git-r3_checkout "${EGIT_REPO_URI}" "${WORKDIR}/x/${P}" '' "${dirs[@]}"
180 - mv "${WORKDIR}/x/${P}/clang-tools-extra" \
181 - "${WORKDIR}/x/${P}/clang/tools/extra" || die
182 + mkdir -p x/y || die
183 + cd x/y || die
184 + llvm.org_src_unpack
185 + mv clang-tools-extra clang/tools/extra || die
186 }
187
188 multilib_src_configure() {
189 @@ -131,7 +128,7 @@ multilib_src_configure() {
190 -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
191 )
192 use test && mycmakeargs+=(
193 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/${P}/llvm"
194 + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm"
195 -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
196 )
197
198 --
199 2.23.0