Gentoo Archives: gentoo-dev

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Cc: James Le Cuirot <chewi@g.o>
Subject: [gentoo-dev] [PATCH 5/7] sys-devel/clang: Move clang prefix tweaks from profile
Date: Sat, 21 Jan 2023 22:22:43
Message-Id: 20230121222037.29094-6-chewi@gentoo.org
In Reply to: [gentoo-dev] Allow prefixed systems to be cross-compiled by James Le Cuirot
1 Signed-off-by: James Le Cuirot <chewi@g.o>
2 ---
3 profiles/features/prefix/standalone/profile.bashrc | 11 +----------
4 sys-devel/clang/clang-13.0.1.ebuild | 5 +++++
5 sys-devel/clang/clang-14.0.6-r1.ebuild | 5 +++++
6 sys-devel/clang/clang-15.0.6-r1.ebuild | 5 +++++
7 sys-devel/clang/clang-15.0.7-r1.ebuild | 5 +++++
8 sys-devel/clang/clang-16.0.0.9999.ebuild | 5 +++++
9 sys-devel/clang/clang-16.0.0_pre20230101.ebuild | 5 +++++
10 7 files changed, 31 insertions(+), 10 deletions(-)
11
12 diff --git a/profiles/features/prefix/standalone/profile.bashrc b/profiles/features/prefix/standalone/profile.bashrc
13 index 57ec4b57abcb..d46933210dcc 100644
14 --- a/profiles/features/prefix/standalone/profile.bashrc
15 +++ b/profiles/features/prefix/standalone/profile.bashrc
16 @@ -9,16 +9,7 @@
17 # Disable RAP trick during bootstrap stage2
18 [[ -z ${BOOTSTRAP_RAP_STAGE2} ]] || return 0
19
20 -if [[ ${CATEGORY}/${PN} == sys-devel/clang && ${EBUILD_PHASE} == configure ]]; then
21 - ebegin "Use ${EPREFIX} as default sysroot"
22 - sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" "${S}"/CMakeLists.txt
23 - eend $?
24 - pushd "${S}/lib/Driver/ToolChains" >/dev/null
25 - ebegin "Use dynamic linker from ${EPREFIX}"
26 - sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX%/}/\"@" Linux.cpp
27 - eend $?
28 - popd >/dev/null
29 -elif [[ ${CATEGORY}/${PN} == sys-devel/binutils && ${EBUILD_PHASE} == prepare ]]; then
30 +if [[ ${CATEGORY}/${PN} == sys-devel/binutils && ${EBUILD_PHASE} == prepare ]]; then
31 ebegin "Prefixifying native library path"
32 sed -i -r "/NATIVE_LIB_DIRS/s,((/usr(/local|)|)/lib),${EPREFIX}\1,g" \
33 "${S}"/ld/configure.tgt
34 diff --git a/sys-devel/clang/clang-13.0.1.ebuild b/sys-devel/clang/clang-13.0.1.ebuild
35 index 5e10d595d900..c3a97feedae7 100644
36 --- a/sys-devel/clang/clang-13.0.1.ebuild
37 +++ b/sys-devel/clang/clang-13.0.1.ebuild
38 @@ -82,6 +82,10 @@ src_prepare() {
39 eprefixify \
40 lib/Frontend/InitHeaderSearch.cpp \
41 lib/Driver/ToolChains/Darwin.cpp || die
42 +
43 + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
44 + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
45 + fi
46 }
47
48 check_distribution_components() {
49 @@ -224,6 +228,7 @@ multilib_src_configure() {
50 local clang_version=$(ver_cut 1-3 "${llvm_version}")
51
52 local mycmakeargs=(
53 + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
54 -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
55 -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
56 -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
57 diff --git a/sys-devel/clang/clang-14.0.6-r1.ebuild b/sys-devel/clang/clang-14.0.6-r1.ebuild
58 index de10ab36054f..5cdb584470ac 100644
59 --- a/sys-devel/clang/clang-14.0.6-r1.ebuild
60 +++ b/sys-devel/clang/clang-14.0.6-r1.ebuild
61 @@ -95,6 +95,10 @@ src_prepare() {
62 eprefixify \
63 lib/Lex/InitHeaderSearch.cpp \
64 lib/Driver/ToolChains/Darwin.cpp || die
65 +
66 + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
67 + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
68 + fi
69 }
70
71 check_distribution_components() {
72 @@ -234,6 +238,7 @@ multilib_src_configure() {
73 local clang_version=$(ver_cut 1-3 "${llvm_version}")
74
75 local mycmakeargs=(
76 + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
77 -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
78 -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
79 -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
80 diff --git a/sys-devel/clang/clang-15.0.6-r1.ebuild b/sys-devel/clang/clang-15.0.6-r1.ebuild
81 index 0e089832722b..0d534ff751d3 100644
82 --- a/sys-devel/clang/clang-15.0.6-r1.ebuild
83 +++ b/sys-devel/clang/clang-15.0.6-r1.ebuild
84 @@ -86,6 +86,10 @@ src_prepare() {
85 eprefixify \
86 lib/Lex/InitHeaderSearch.cpp \
87 lib/Driver/ToolChains/Darwin.cpp || die
88 +
89 + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
90 + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
91 + fi
92 }
93
94 check_distribution_components() {
95 @@ -246,6 +250,7 @@ get_distribution_components() {
96
97 multilib_src_configure() {
98 local mycmakeargs=(
99 + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
100 -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
101 -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
102 -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
103 diff --git a/sys-devel/clang/clang-15.0.7-r1.ebuild b/sys-devel/clang/clang-15.0.7-r1.ebuild
104 index 66ccf3abc32c..080d2d58290e 100644
105 --- a/sys-devel/clang/clang-15.0.7-r1.ebuild
106 +++ b/sys-devel/clang/clang-15.0.7-r1.ebuild
107 @@ -86,6 +86,10 @@ src_prepare() {
108 eprefixify \
109 lib/Lex/InitHeaderSearch.cpp \
110 lib/Driver/ToolChains/Darwin.cpp || die
111 +
112 + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
113 + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
114 + fi
115 }
116
117 check_distribution_components() {
118 @@ -249,6 +253,7 @@ get_distribution_components() {
119
120 multilib_src_configure() {
121 local mycmakeargs=(
122 + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
123 -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
124 -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
125 -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
126 diff --git a/sys-devel/clang/clang-16.0.0.9999.ebuild b/sys-devel/clang/clang-16.0.0.9999.ebuild
127 index d1d7b9cf45d2..6c13b6644262 100644
128 --- a/sys-devel/clang/clang-16.0.0.9999.ebuild
129 +++ b/sys-devel/clang/clang-16.0.0.9999.ebuild
130 @@ -85,6 +85,10 @@ src_prepare() {
131 eprefixify \
132 lib/Lex/InitHeaderSearch.cpp \
133 lib/Driver/ToolChains/Darwin.cpp || die
134 +
135 + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
136 + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
137 + fi
138 }
139
140 check_distribution_components() {
141 @@ -248,6 +252,7 @@ get_distribution_components() {
142
143 multilib_src_configure() {
144 local mycmakeargs=(
145 + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
146 -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
147 -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
148 -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
149 diff --git a/sys-devel/clang/clang-16.0.0_pre20230101.ebuild b/sys-devel/clang/clang-16.0.0_pre20230101.ebuild
150 index f8a5211642c1..f6e6fd239ce2 100644
151 --- a/sys-devel/clang/clang-16.0.0_pre20230101.ebuild
152 +++ b/sys-devel/clang/clang-16.0.0_pre20230101.ebuild
153 @@ -85,6 +85,10 @@ src_prepare() {
154 eprefixify \
155 lib/Lex/InitHeaderSearch.cpp \
156 lib/Driver/ToolChains/Darwin.cpp || die
157 +
158 + if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
159 + sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
160 + fi
161 }
162
163 check_distribution_components() {
164 @@ -248,6 +252,7 @@ get_distribution_components() {
165
166 multilib_src_configure() {
167 local mycmakeargs=(
168 + -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
169 -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
170 -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
171 -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
172 --
173 2.39.1