Sun Sep 4 09:57:13 2022 UTC ()
rust-bin: reduce repetition in NetBSD section, fix aarch64eb entry.

Thanks to pkglint for the need to fix aarch64eb.


(he)
diff -r1.39 -r1.40 pkgsrc/lang/rust-bin/Makefile

cvs diff -r1.39 -r1.40 pkgsrc/lang/rust-bin/Makefile (switch to unified diff)

--- pkgsrc/lang/rust-bin/Makefile 2022/09/04 06:58:57 1.39
+++ pkgsrc/lang/rust-bin/Makefile 2022/09/04 09:57:13 1.40
@@ -1,243 +1,251 @@ @@ -1,243 +1,251 @@
1# $NetBSD: Makefile,v 1.39 2022/09/04 06:58:57 he Exp $ 1# $NetBSD: Makefile,v 1.40 2022/09/04 09:57:13 he Exp $
2 2
3DISTNAME= rust-1.62.1 3DISTNAME= rust-1.62.1
4PKGNAME= ${DISTNAME:S/rust/rust-bin/1} 4PKGNAME= ${DISTNAME:S/rust/rust-bin/1}
5CATEGORIES= lang 5CATEGORIES= lang
6MASTER_SITES= https://static.rust-lang.org/dist/ 6MASTER_SITES= https://static.rust-lang.org/dist/
7DIST_SUBDIR= ${PKGNAME_NOREV} 7DIST_SUBDIR= ${PKGNAME_NOREV}
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://rust-lang.org/ 10HOMEPAGE= https://rust-lang.org/
11COMMENT= Safe, concurrent, practical language (pre-built distribution) 11COMMENT= Safe, concurrent, practical language (pre-built distribution)
12LICENSE= mit OR apache-2.0 12LICENSE= mit OR apache-2.0
13 13
14CONFLICTS+= rust-[0-9]* 14CONFLICTS+= rust-[0-9]*
15 15
16# Rust upstream provided binaries 16# Rust upstream provided binaries
17ONLY_FOR_PLATFORM+= Darwin-*-x86_64 17ONLY_FOR_PLATFORM+= Darwin-*-x86_64
18ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64 18ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64
19ONLY_FOR_PLATFORM+= NetBSD-*-x86_64 19ONLY_FOR_PLATFORM+= NetBSD-*-x86_64
20ONLY_FOR_PLATFORM+= Linux-*-aarch64 20ONLY_FOR_PLATFORM+= Linux-*-aarch64
21ONLY_FOR_PLATFORM+= Linux-*-i386 21ONLY_FOR_PLATFORM+= Linux-*-i386
22ONLY_FOR_PLATFORM+= Linux-*-x86_64 22ONLY_FOR_PLATFORM+= Linux-*-x86_64
23 23
24# he@NetBSD.org provided binaries 24# he@NetBSD.org provided binaries
25ONLY_FOR_PLATFORM+= NetBSD-*-aarch64 25ONLY_FOR_PLATFORM+= NetBSD-*-aarch64
 26ONLY_FOR_PLATFORM+= NetBSD-*-aarch64eb
26ONLY_FOR_PLATFORM+= NetBSD-*-earmv7hf 27ONLY_FOR_PLATFORM+= NetBSD-*-earmv7hf
27ONLY_FOR_PLATFORM+= NetBSD-*-i386 28ONLY_FOR_PLATFORM+= NetBSD-*-i386
28ONLY_FOR_PLATFORM+= NetBSD-*-powerpc 29ONLY_FOR_PLATFORM+= NetBSD-*-powerpc
29ONLY_FOR_PLATFORM+= NetBSD-*-sparc64 30ONLY_FOR_PLATFORM+= NetBSD-*-sparc64
30 31
31NETBSD_REPO= https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/ 32NETBSD_REPO= https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/
32 33
33CHECK_RELRO_SKIP+= lib/rustlib/*/bin/* 34CHECK_RELRO_SKIP+= lib/rustlib/*/bin/*
34 35
35# Bootstraps built for 9.0. 36# Bootstraps built for 9.0.
36BROKEN_ON_PLATFORM+= NetBSD-8.*-earmv7hf 37BROKEN_ON_PLATFORM+= NetBSD-8.*-earmv7hf
37 38
38# Binary distributions aren't built as PIE. 39# Binary distributions aren't built as PIE.
39MKPIE_SUPPORTED= no 40MKPIE_SUPPORTED= no
40 41
41NO_BUILD= yes 42NO_BUILD= yes
42USE_TOOLS+= bash pax 43USE_TOOLS+= bash pax
43WRKSRC= ${WRKDIR}/${DISTFILES:S/.tar.gz//} 44WRKSRC= ${WRKDIR}/${DISTFILES:S/.tar.gz//}
44 45
45GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ 46GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
46 sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; 47 sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
47 48
48INSTALLATION_DIRS= bin ${PKGMANDIR} share/doc/cargo/bash_completion.d 49INSTALLATION_DIRS= bin ${PKGMANDIR} share/doc/cargo/bash_completion.d
49 50
50.include "../../mk/bsd.prefs.mk" 51.include "../../mk/bsd.prefs.mk"
51 52
52.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000 53.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000
53BROKEN+= "Bootstrap unavailable for old NetBSD version" 54BROKEN+= "Bootstrap unavailable for old NetBSD version"
54.endif 55.endif
55 56
56DISTFILES:= # empty 57DISTFILES:= # empty
57 58
58# Rust upstream provided binaries 59# Rust upstream provided binaries
59 60
60.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 61.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
61RUST_ARCH:= x86_64-apple-darwin 62RUST_ARCH:= x86_64-apple-darwin
62DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 63DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
63.endif 64.endif
64.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 65.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
65RUST_ARCH:= x86_64-unknown-freebsd 66RUST_ARCH:= x86_64-unknown-freebsd
66DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 67DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
67.endif 68.endif
68.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make(makesum) || make(mdi) 69.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make(makesum) || make(mdi)
69RUST_ARCH:= i686-unknown-linux-gnu 70RUST_ARCH:= i686-unknown-linux-gnu
70DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 71DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
71.endif 72.endif
72.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 73.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
73RUST_ARCH:= aarch64-unknown-linux-gnu 74RUST_ARCH:= aarch64-unknown-linux-gnu
74DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 75DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
75.endif 76.endif
76.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 77.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
77RUST_ARCH:= aarch64-unknown-linux-musl 78RUST_ARCH:= aarch64-unknown-linux-musl
78DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 79DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
79.endif 80.endif
80.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 81.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
81RUST_ARCH:= x86_64-unknown-linux-gnu 82RUST_ARCH:= x86_64-unknown-linux-gnu
82DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 83DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
83.endif 84.endif
84.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 85.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
85RUST_ARCH:= x86_64-unknown-linux-musl 86RUST_ARCH:= x86_64-unknown-linux-musl
86DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 87DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
87.endif 88.endif
88.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 89.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
89RUST_ARCH:= x86_64-unknown-netbsd 90RUST_ARCH:= x86_64-unknown-netbsd
90DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 91DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
91.endif 92.endif
92 93
93# NetBSD provided binaries: 94# NetBSD provided binaries:
94 95
95NBSUF= 96NBSUF=
96 97
97.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make(makesum) || make(mdi) 98.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make(makesum) || make(mdi)
98RUST_ARCH:= aarch64-unknown-netbsd 99RUST_ARCH:= aarch64-unknown-netbsd
99DN:= ${DISTNAME}${NBSUF} 100DN:= ${DISTNAME}${NBSUF}
100EXTRACT_SUFX= .tar.xz 101EXTRACT_SUFX= .tar.xz
101DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 102DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
102SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 103DISTFILES:= ${DISTFILES} ${DF}
 104SITES.${DF}= ${NETBSD_REPO}
103.endif 105.endif
104.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64_be) || make(distinfo) || make(makesum) || make(mdi) 106.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64eb) || make(distinfo) || make(makesum) || make(mdi)
105RUST_ARCH:= aarch64_be-unknown-netbsd 107RUST_ARCH:= aarch64_be-unknown-netbsd
106DN:= ${DISTNAME}${NBSUF} 108DN:= ${DISTNAME}${NBSUF}
107EXTRACT_SUFX= .tar.xz 109EXTRACT_SUFX= .tar.xz
108DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 110DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
109SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 111DISTFILES:= ${DISTFILES} ${DF}
 112SITES.${DF}= ${NETBSD_REPO}
110.endif 113.endif
111.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make(makesum) || make(mdi) 114.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make(makesum) || make(mdi)
112RUST_ARCH:= armv7-unknown-netbsd-eabihf 115RUST_ARCH:= armv7-unknown-netbsd-eabihf
113DN:= ${DISTNAME}${NBSUF} 116DN:= ${DISTNAME}${NBSUF}
114EXTRACT_SUFX= .tar.xz 117EXTRACT_SUFX= .tar.xz
115DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 118DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
116SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 119DISTFILES:= ${DISTFILES} ${DF}
 120SITES.${DF}= ${NETBSD_REPO}
117.endif 121.endif
118.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make(makesum) || make(mdi) 122.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make(makesum) || make(mdi)
119RUST_ARCH:= i586-unknown-netbsd 123RUST_ARCH:= i586-unknown-netbsd
120DN:= ${DISTNAME}${NBSUF} 124DN:= ${DISTNAME}${NBSUF}
121EXTRACT_SUFX= .tar.xz 125EXTRACT_SUFX= .tar.xz
122DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 126DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
123SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 127DISTFILES:= ${DISTFILES} ${DF}
 128SITES.${DF}= ${NETBSD_REPO}
124.endif 129.endif
125.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make(makesum) || make(mdi) 130.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make(makesum) || make(mdi)
126. if ${OPSYS_VERSION} >= 090000 131. if ${OPSYS_VERSION} >= 090000
127RUST_ARCH:= powerpc-unknown-netbsd90 132RUST_ARCH:= powerpc-unknown-netbsd90
128DN:= ${DISTNAME}${NBSUF} 133DN:= ${DISTNAME}${NBSUF}
129EXTRACT_SUFX= .tar.xz 134EXTRACT_SUFX= .tar.xz
130DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 135DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
131SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 136DISTFILES:= ${DISTFILES} ${DF}
 137SITES.${DF}= ${NETBSD_REPO}
132. else 138. else
133RUST_ARCH:= powerpc-unknown-netbsd 139RUST_ARCH:= powerpc-unknown-netbsd
134DN:= ${DISTNAME}${NBSUF} 140DN:= ${DISTNAME}${NBSUF}
135EXTRACT_SUFX= .tar.xz 141EXTRACT_SUFX= .tar.xz
136DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 142DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
137SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 143DISTFILES:= ${DISTFILES} ${DF}
 144SITES.${DF}= ${NETBSD_REPO}
138. endif 145. endif
139.endif 146.endif
140.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make(makesum) || make(mdi) 147.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make(makesum) || make(mdi)
141RUST_ARCH:= sparc64-unknown-netbsd 148RUST_ARCH:= sparc64-unknown-netbsd
142DN:= ${DISTNAME}${NBSUF} 149DN:= ${DISTNAME}${NBSUF}
143EXTRACT_SUFX= .tar.xz 150EXTRACT_SUFX= .tar.xz
144DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 151DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
145SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} 152DISTFILES:= ${DISTFILES} ${DF}
 153SITES.${DF}= ${NETBSD_REPO}
146.endif 154.endif
147 155
148# Binary still extracts to plain non-nb'ed directory 156# Binary still extracts to plain non-nb'ed directory
149WRKSRC:= ${WRKSRC:C/nb[0-9]*//} 157WRKSRC:= ${WRKSRC:C/nb[0-9]*//}
150 158
151do-install: 159do-install:
152 cd ${.CURDIR}/files; pax -rw install.sh ${WRKSRC} 160 cd ${.CURDIR}/files; pax -rw install.sh ${WRKSRC}
153 cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \ 161 cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \
154 --destdir=${DESTDIR} --prefix=${PREFIX} 162 --destdir=${DESTDIR} --prefix=${PREFIX}
155 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp 163 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp
156 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log 164 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log
157 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-* 165 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-*
158 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh 166 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh
159 167
160.if ${OPSYS} == "Darwin" 168.if ${OPSYS} == "Darwin"
161.PHONY: fix-darwin-install-name 169.PHONY: fix-darwin-install-name
162post-install: fix-darwin-install-name 170post-install: fix-darwin-install-name
163fix-darwin-install-name: 171fix-darwin-install-name:
164. for bin in clippy-driver miri rls rustc rustdoc 172. for bin in clippy-driver miri rls rustc rustdoc
165 otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \ 173 otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \
166 | ${GREP} '@rpath' | while read rpath rest; do \ 174 | ${GREP} '@rpath' | while read rpath rest; do \
167 install_name_tool -change $$rpath \ 175 install_name_tool -change $$rpath \
168 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ 176 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
169 ${DESTDIR}${PREFIX}/bin/${bin}; \ 177 ${DESTDIR}${PREFIX}/bin/${bin}; \
170 done 178 done
171. endfor 179. endfor
172. for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \ 180. for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \
173 llvm-profdata llvm-readobj llvm-size llvm-strip 181 llvm-profdata llvm-readobj llvm-size llvm-strip
174 otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \ 182 otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
175 | ${GREP} '@rpath' | while read rpath rest; do \ 183 | ${GREP} '@rpath' | while read rpath rest; do \
176 install_name_tool -change $$rpath \ 184 install_name_tool -change $$rpath \
177 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \ 185 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \
178 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \ 186 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \
179 done 187 done
180. endfor 188. endfor
181. for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends 189. for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends
182 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \ 190 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \
183 [ ! -f $$f ] && continue; \ 191 [ ! -f $$f ] && continue; \
184 install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ 192 install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \
185 otool -XL $$f | grep '@rpath' | while read rpath rest; do \ 193 otool -XL $$f | grep '@rpath' | while read rpath rest; do \
186 install_name_tool -change $$rpath \ 194 install_name_tool -change $$rpath \
187 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ 195 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
188 $$f; \ 196 $$f; \
189 done; \ 197 done; \
190 done 198 done
191. endfor 199. endfor
192.else 200.else
193TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf 201TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
194 202
195# The llvm utilities need a specific libstdc++ version from compat80 203# The llvm utilities need a specific libstdc++ version from compat80
196. if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} >= 090000 204. if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} >= 090000
197. if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "earmv7hf" && \ 205. if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "earmv7hf" && \
198 ${MACHINE_ARCH} != "powerpc" 206 ${MACHINE_ARCH} != "powerpc"
199DEPENDS+= compat80-[0-9]*:../../emulators/compat80 207DEPENDS+= compat80-[0-9]*:../../emulators/compat80
200RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib 208RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib
201FORCE_RPATH= 209FORCE_RPATH=
202. else 210. else
203RUST_LLVM_RPATH= ${PREFIX}/lib 211RUST_LLVM_RPATH= ${PREFIX}/lib
204. endif 212. endif
205. else 213. else
206# ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there. 214# ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there.
207RUST_LLVM_RPATH= ${PREFIX}/lib 215RUST_LLVM_RPATH= ${PREFIX}/lib
208FORCE_RPATH= --force-rpath 216FORCE_RPATH= --force-rpath
209. endif 217. endif
210 218
211. if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ 219. if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
212 !empty(MACHINE_PLATFORM:MNetBSD-*-i386) 220 !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
213. include "../../devel/libatomic/buildlink3.mk" 221. include "../../devel/libatomic/buildlink3.mk"
214. endif 222. endif
215 223
216.PHONY: fix-relative-rpath 224.PHONY: fix-relative-rpath
217post-install: fix-relative-rpath 225post-install: fix-relative-rpath
218fix-relative-rpath: 226fix-relative-rpath:
219. for bin in clippy-driver miri rls rustc rustdoc 227. for bin in clippy-driver miri rls rustc rustdoc
220 if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \ 228 if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \
221 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \ 229 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \
222 ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} ; \ 230 ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} ; \
223 fi 231 fi
224. endfor 232. endfor
225# Only Linux builds link these binaries against an LLVM library 233# Only Linux builds link these binaries against an LLVM library
226. if ${OPSYS} == "Linux" 234. if ${OPSYS} == "Linux"
227. for bin in llc llvm-ar llvm-as llvm-cov llvm-dis llvm-nm llvm-objcopy \ 235. for bin in llc llvm-ar llvm-as llvm-cov llvm-dis llvm-nm llvm-objcopy \
228 llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \ 236 llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \
229 rust-lld gcc-ld/ld gcc-ld/ld64 237 rust-lld gcc-ld/ld gcc-ld/ld64
230 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \ 238 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \
231 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} 239 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}
232. endfor 240. endfor
233. endif 241. endif
234. for lib in lib lib/rustlib/${RUST_ARCH}/lib \ 242. for lib in lib lib/rustlib/${RUST_ARCH}/lib \
235 lib/rustlib/${RUST_ARCH}/codegen-backends 243 lib/rustlib/${RUST_ARCH}/codegen-backends
236 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do \ 244 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do \
237 [ ! -f $$f ] && continue; \ 245 [ ! -f $$f ] && continue; \
238 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f; \ 246 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f; \
239 done 247 done
240. endfor 248. endfor
241.endif 249.endif
242 250
243.include "../../mk/bsd.pkg.mk" 251.include "../../mk/bsd.pkg.mk"