Fri Apr 19 14:08:39 2024 UTC (59d)
lang/rust-bin: Fix build on Darwin

rust-analyzer(1) also got @rpath. Fix it too.


(pho)
diff -r1.64 -r1.65 pkgsrc/lang/rust-bin/Makefile

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

--- pkgsrc/lang/rust-bin/Makefile 2024/04/18 09:36:01 1.64
+++ pkgsrc/lang/rust-bin/Makefile 2024/04/19 14:08:39 1.65
@@ -1,287 +1,287 @@ @@ -1,287 +1,287 @@
1# $NetBSD: Makefile,v 1.64 2024/04/18 09:36:01 pin Exp $ 1# $NetBSD: Makefile,v 1.65 2024/04/19 14:08:39 pho Exp $
2 2
3DISTNAME= rust-1.76.0 3DISTNAME= rust-1.76.0
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-*-aarch64 17ONLY_FOR_PLATFORM+= Darwin-*-aarch64
18ONLY_FOR_PLATFORM+= Darwin-*-x86_64 18ONLY_FOR_PLATFORM+= Darwin-*-x86_64
19ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64 19ONLY_FOR_PLATFORM+= FreeBSD-*-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
23ONLY_FOR_PLATFORM+= NetBSD-*-x86_64 23ONLY_FOR_PLATFORM+= NetBSD-*-x86_64
24 24
25# he@NetBSD.org provided binaries 25# he@NetBSD.org provided binaries
26ONLY_FOR_PLATFORM+= NetBSD-*-aarch64 26ONLY_FOR_PLATFORM+= NetBSD-*-aarch64
27ONLY_FOR_PLATFORM+= NetBSD-*-aarch64eb 27ONLY_FOR_PLATFORM+= NetBSD-*-aarch64eb
28ONLY_FOR_PLATFORM+= NetBSD-*-earmv7hf 28ONLY_FOR_PLATFORM+= NetBSD-*-earmv7hf
29ONLY_FOR_PLATFORM+= NetBSD-*-earmv6hf 29ONLY_FOR_PLATFORM+= NetBSD-*-earmv6hf
30ONLY_FOR_PLATFORM+= NetBSD-*-i386 30ONLY_FOR_PLATFORM+= NetBSD-*-i386
31ONLY_FOR_PLATFORM+= NetBSD-*-powerpc 31ONLY_FOR_PLATFORM+= NetBSD-*-powerpc
32ONLY_FOR_PLATFORM+= NetBSD-*-sparc64 32ONLY_FOR_PLATFORM+= NetBSD-*-sparc64
33ONLY_FOR_PLATFORM+= NetBSD-*-mipsel 33ONLY_FOR_PLATFORM+= NetBSD-*-mipsel
34ONLY_FOR_PLATFORM+= NetBSD-*-riscv64 34ONLY_FOR_PLATFORM+= NetBSD-*-riscv64
35 35
36# Illumos, jperkin@ provided binaries 36# Illumos, jperkin@ provided binaries
37ONLY_FOR_PLATFORM+= SunOS-*-x86_64 37ONLY_FOR_PLATFORM+= SunOS-*-x86_64
38 38
39NETBSD_REPO= https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/ 39NETBSD_REPO= https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/
40 40
41CHECK_RELRO_SKIP+= lib/rustlib/*/bin/* 41CHECK_RELRO_SKIP+= lib/rustlib/*/bin/*
42 42
43CHECK_SHLIBS_SKIP+= bin/cargo-clippy 43CHECK_SHLIBS_SKIP+= bin/cargo-clippy
44CHECK_SHLIBS_SKIP+= bin/rustfmt 44CHECK_SHLIBS_SKIP+= bin/rustfmt
45 45
46# All kits are now built for 9.0. 46# All kits are now built for 9.0.
47BROKEN_ON_PLATFORM+= NetBSD-8.* 47BROKEN_ON_PLATFORM+= NetBSD-8.*
48 48
49# Binary distributions aren't built as PIE. 49# Binary distributions aren't built as PIE.
50MKPIE_SUPPORTED= no 50MKPIE_SUPPORTED= no
51 51
52NO_BUILD= yes 52NO_BUILD= yes
53USE_TOOLS+= bash pax 53USE_TOOLS+= bash pax
54WRKSRC= ${WRKDIR}/${DISTFILES:C/.tar.[gx]z//} 54WRKSRC= ${WRKDIR}/${DISTFILES:C/.tar.[gx]z//}
55 55
56GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ 56GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
57 sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; 57 sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;
58 58
59INSTALLATION_DIRS= bin ${PKGMANDIR} share/doc/cargo/bash_completion.d 59INSTALLATION_DIRS= bin ${PKGMANDIR} share/doc/cargo/bash_completion.d
60 60
61.include "../../mk/bsd.prefs.mk" 61.include "../../mk/bsd.prefs.mk"
62 62
63.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000 63.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000
64BROKEN+= "Bootstrap unavailable for old NetBSD version" 64BROKEN+= "Bootstrap unavailable for old NetBSD version"
65.endif 65.endif
66 66
67DISTFILES:= # empty 67DISTFILES:= # empty
68 68
69# Rust upstream provided binaries 69# Rust upstream provided binaries
70 70
71.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make(makesum) || make(mdi) 71.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make(makesum) || make(mdi)
72RUST_ARCH:= aarch64-apple-darwin 72RUST_ARCH:= aarch64-apple-darwin
73DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 73DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
74.endif 74.endif
75.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 75.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
76RUST_ARCH:= x86_64-apple-darwin 76RUST_ARCH:= x86_64-apple-darwin
77DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 77DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
78.endif 78.endif
79.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 79.if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
80RUST_ARCH:= x86_64-unknown-freebsd 80RUST_ARCH:= x86_64-unknown-freebsd
81DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 81DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
82.endif 82.endif
83.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make(makesum) || make(mdi) 83.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make(makesum) || make(mdi)
84RUST_ARCH:= i686-unknown-linux-gnu 84RUST_ARCH:= i686-unknown-linux-gnu
85DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 85DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
86.endif 86.endif
87.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 87.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
88RUST_ARCH:= aarch64-unknown-linux-gnu 88RUST_ARCH:= aarch64-unknown-linux-gnu
89DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 89DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
90.endif 90.endif
91.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 91.if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
92RUST_ARCH:= aarch64-unknown-linux-musl 92RUST_ARCH:= aarch64-unknown-linux-musl
93DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 93DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
94.endif 94.endif
95.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 95.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
96RUST_ARCH:= x86_64-unknown-linux-gnu 96RUST_ARCH:= x86_64-unknown-linux-gnu
97DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 97DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
98.endif 98.endif
99.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) 99.if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi)
100RUST_ARCH:= x86_64-unknown-linux-musl 100RUST_ARCH:= x86_64-unknown-linux-musl
101DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 101DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
102.endif 102.endif
103.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 103.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
104RUST_ARCH:= x86_64-unknown-netbsd 104RUST_ARCH:= x86_64-unknown-netbsd
105DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz 105DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz
106.endif 106.endif
107 107
108# NetBSD provided binaries: 108# NetBSD provided binaries:
109 109
110NBSUF= 110NBSUF=
111 111
112.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make(makesum) || make(mdi) 112.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make(makesum) || make(mdi)
113RUST_ARCH:= aarch64-unknown-netbsd 113RUST_ARCH:= aarch64-unknown-netbsd
114DN:= ${DISTNAME}${NBSUF} 114DN:= ${DISTNAME}${NBSUF}
115EXTRACT_SUFX= .tar.xz 115EXTRACT_SUFX= .tar.xz
116DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 116DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
117DISTFILES:= ${DISTFILES} ${DF} 117DISTFILES:= ${DISTFILES} ${DF}
118SITES.${DF}= ${NETBSD_REPO} 118SITES.${DF}= ${NETBSD_REPO}
119.endif 119.endif
120.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64eb) || make(distinfo) || make(makesum) || make(mdi) 120.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64eb) || make(distinfo) || make(makesum) || make(mdi)
121RUST_ARCH:= aarch64_be-unknown-netbsd 121RUST_ARCH:= aarch64_be-unknown-netbsd
122DN:= ${DISTNAME}${NBSUF} 122DN:= ${DISTNAME}${NBSUF}
123EXTRACT_SUFX= .tar.xz 123EXTRACT_SUFX= .tar.xz
124DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 124DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
125DISTFILES:= ${DISTFILES} ${DF} 125DISTFILES:= ${DISTFILES} ${DF}
126SITES.${DF}= ${NETBSD_REPO} 126SITES.${DF}= ${NETBSD_REPO}
127.endif 127.endif
128.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv6hf) || make(distinfo) || make(makesum) || make(mdi) 128.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv6hf) || make(distinfo) || make(makesum) || make(mdi)
129RUST_ARCH:= armv6-unknown-netbsd-eabihf 129RUST_ARCH:= armv6-unknown-netbsd-eabihf
130DN:= ${DISTNAME}${NBSUF} 130DN:= ${DISTNAME}${NBSUF}
131EXTRACT_SUFX= .tar.xz 131EXTRACT_SUFX= .tar.xz
132DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 132DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
133DISTFILES:= ${DISTFILES} ${DF} 133DISTFILES:= ${DISTFILES} ${DF}
134SITES.${DF}= ${NETBSD_REPO} 134SITES.${DF}= ${NETBSD_REPO}
135.endif 135.endif
136.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make(makesum) || make(mdi) 136.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make(makesum) || make(mdi)
137RUST_ARCH:= armv7-unknown-netbsd-eabihf 137RUST_ARCH:= armv7-unknown-netbsd-eabihf
138DN:= ${DISTNAME}${NBSUF} 138DN:= ${DISTNAME}${NBSUF}
139EXTRACT_SUFX= .tar.xz 139EXTRACT_SUFX= .tar.xz
140DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 140DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
141DISTFILES:= ${DISTFILES} ${DF} 141DISTFILES:= ${DISTFILES} ${DF}
142SITES.${DF}= ${NETBSD_REPO} 142SITES.${DF}= ${NETBSD_REPO}
143.endif 143.endif
144.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make(makesum) || make(mdi) 144.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make(makesum) || make(mdi)
145RUST_ARCH:= i586-unknown-netbsd 145RUST_ARCH:= i586-unknown-netbsd
146DN:= ${DISTNAME}${NBSUF} 146DN:= ${DISTNAME}${NBSUF}
147EXTRACT_SUFX= .tar.xz 147EXTRACT_SUFX= .tar.xz
148DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 148DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
149DISTFILES:= ${DISTFILES} ${DF} 149DISTFILES:= ${DISTFILES} ${DF}
150SITES.${DF}= ${NETBSD_REPO} 150SITES.${DF}= ${NETBSD_REPO}
151.endif 151.endif
152.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make(makesum) || make(mdi) 152.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make(makesum) || make(mdi)
153# Now only supports OS_VERSION >= 9.0 153# Now only supports OS_VERSION >= 9.0
154RUST_ARCH:= powerpc-unknown-netbsd 154RUST_ARCH:= powerpc-unknown-netbsd
155DN:= ${DISTNAME}${NBSUF} 155DN:= ${DISTNAME}${NBSUF}
156EXTRACT_SUFX= .tar.xz 156EXTRACT_SUFX= .tar.xz
157DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 157DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
158DISTFILES:= ${DISTFILES} ${DF} 158DISTFILES:= ${DISTFILES} ${DF}
159SITES.${DF}= ${NETBSD_REPO} 159SITES.${DF}= ${NETBSD_REPO}
160.endif 160.endif
161.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make(makesum) || make(mdi) 161.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make(makesum) || make(mdi)
162RUST_ARCH:= sparc64-unknown-netbsd 162RUST_ARCH:= sparc64-unknown-netbsd
163DN:= ${DISTNAME}${NBSUF} 163DN:= ${DISTNAME}${NBSUF}
164EXTRACT_SUFX= .tar.xz 164EXTRACT_SUFX= .tar.xz
165DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 165DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
166DISTFILES:= ${DISTFILES} ${DF} 166DISTFILES:= ${DISTFILES} ${DF}
167SITES.${DF}= ${NETBSD_REPO} 167SITES.${DF}= ${NETBSD_REPO}
168.endif 168.endif
169.if !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || make(distinfo) || make(makesum) || make(mdi) 169.if !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || make(distinfo) || make(makesum) || make(mdi)
170RUST_ARCH:= mipsel-unknown-netbsd 170RUST_ARCH:= mipsel-unknown-netbsd
171DN:= ${DISTNAME}${NBSUF} 171DN:= ${DISTNAME}${NBSUF}
172EXTRACT_SUFX= .tar.xz 172EXTRACT_SUFX= .tar.xz
173DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 173DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
174DISTFILES:= ${DISTFILES} ${DF} 174DISTFILES:= ${DISTFILES} ${DF}
175SITES.${DF}= ${NETBSD_REPO} 175SITES.${DF}= ${NETBSD_REPO}
176.endif 176.endif
177.if !empty(MACHINE_PLATFORM:MNetBSD-*-riscv64) || make(distinfo) || make(makesum) || make(mdi) 177.if !empty(MACHINE_PLATFORM:MNetBSD-*-riscv64) || make(distinfo) || make(makesum) || make(mdi)
178RUST_ARCH:= riscv64gc-unknown-netbsd 178RUST_ARCH:= riscv64gc-unknown-netbsd
179DN:= ${DISTNAME}${NBSUF} 179DN:= ${DISTNAME}${NBSUF}
180EXTRACT_SUFX= .tar.xz 180EXTRACT_SUFX= .tar.xz
181DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 181DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
182DISTFILES:= ${DISTFILES} ${DF} 182DISTFILES:= ${DISTFILES} ${DF}
183SITES.${DF}= ${NETBSD_REPO} 183SITES.${DF}= ${NETBSD_REPO}
184.endif 184.endif
185 185
186# Illumos: 186# Illumos:
187.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) 187.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make(makesum) || make(mdi)
188RUST_ARCH:= x86_64-unknown-illumos 188RUST_ARCH:= x86_64-unknown-illumos
189DN:= ${DISTNAME} 189DN:= ${DISTNAME}
190EXTRACT_SUFX= .tar.gz 190EXTRACT_SUFX= .tar.gz
191DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} 191DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX}
192DISTFILES:= ${DISTFILES} ${DF} 192DISTFILES:= ${DISTFILES} ${DF}
193SITES.${DF}= https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/ 193SITES.${DF}= https://us-central.manta.mnx.io/pkgsrc/public/pkg-bootstraps/
194.endif 194.endif
195 195
196 196
197# Binary still extracts to plain non-nb'ed directory 197# Binary still extracts to plain non-nb'ed directory
198WRKSRC:= ${WRKSRC:C/nb[0-9]*//} 198WRKSRC:= ${WRKSRC:C/nb[0-9]*//}
199# Undo the powerpc netbsd90 thingie... 199# Undo the powerpc netbsd90 thingie...
200WRKSRC:= ${WRKSRC:C/netbsd90/netbsd/} 200WRKSRC:= ${WRKSRC:C/netbsd90/netbsd/}
201 201
202do-install: 202do-install:
203 cd ${.CURDIR}/files; pax -rw install.sh ${WRKSRC} 203 cd ${.CURDIR}/files; pax -rw install.sh ${WRKSRC}
204 cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \ 204 cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \
205 --destdir=${DESTDIR} --prefix=${PREFIX} 205 --destdir=${DESTDIR} --prefix=${PREFIX}
206 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp 206 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp
207 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log 207 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log
208 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-* 208 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-*
209 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh 209 ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh
210 210
211.if ${OPSYS} == "Darwin" 211.if ${OPSYS} == "Darwin"
212.PHONY: fix-darwin-install-name 212.PHONY: fix-darwin-install-name
213post-install: fix-darwin-install-name 213post-install: fix-darwin-install-name
214fix-darwin-install-name: 214fix-darwin-install-name:
215. for bin in clippy-driver miri rls rustc rustdoc 215. for bin in clippy-driver miri rls rust-analyzer rustc rustdoc
216 otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \ 216 otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \
217 | ${GREP} '@rpath' | while read rpath rest; do \ 217 | ${GREP} '@rpath' | while read rpath rest; do \
218 install_name_tool -change $$rpath \ 218 install_name_tool -change $$rpath \
219 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ 219 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
220 ${DESTDIR}${PREFIX}/bin/${bin}; \ 220 ${DESTDIR}${PREFIX}/bin/${bin}; \
221 done 221 done
222. endfor 222. endfor
223. for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \ 223. for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \
224 llvm-profdata llvm-readobj llvm-size llvm-strip 224 llvm-profdata llvm-readobj llvm-size llvm-strip
225 otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \ 225 otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \
226 | ${GREP} '@rpath' | while read rpath rest; do \ 226 | ${GREP} '@rpath' | while read rpath rest; do \
227 install_name_tool -change $$rpath \ 227 install_name_tool -change $$rpath \
228 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \ 228 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \
229 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \ 229 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \
230 done 230 done
231. endfor 231. endfor
232. for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends 232. for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends
233 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \ 233 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \
234 [ ! -f $$f ] && continue; \ 234 [ ! -f $$f ] && continue; \
235 install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ 235 install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \
236 otool -XL $$f | grep '@rpath' | while read rpath rest; do \ 236 otool -XL $$f | grep '@rpath' | while read rpath rest; do \
237 install_name_tool -change $$rpath \ 237 install_name_tool -change $$rpath \
238 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ 238 `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
239 $$f; \ 239 $$f; \
240 done; \ 240 done; \
241 done 241 done
242. endfor 242. endfor
243 243
244.else 244.else
245# Not Darwin: 245# Not Darwin:
246 246
247TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf 247TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf
248 248
249RUST_LLVM_RPATH= ${PREFIX}/lib 249RUST_LLVM_RPATH= ${PREFIX}/lib
250FORCE_RPATH= --force-rpath 250FORCE_RPATH= --force-rpath
251 251
252# 32-bit NetBSD ports need libatomic 252# 32-bit NetBSD ports need libatomic
253. if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ 253. if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \
254 !empty(MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf) || \ 254 !empty(MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf) || \
255 !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || \ 255 !empty(MACHINE_PLATFORM:MNetBSD-*-mipsel) || \
256 !empty(MACHINE_PLATFORM:MNetBSD-*-i386) 256 !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
257. include "../../devel/libatomic/buildlink3.mk" 257. include "../../devel/libatomic/buildlink3.mk"
258. endif 258. endif
259 259
260.PHONY: fix-relative-rpath 260.PHONY: fix-relative-rpath
261post-install: fix-relative-rpath 261post-install: fix-relative-rpath
262fix-relative-rpath: 262fix-relative-rpath:
263. for bin in clippy-driver miri rls rustc rustdoc 263. for bin in clippy-driver miri rls rustc rustdoc
264 if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \ 264 if [ -f ${DESTDIR}${PREFIX}/bin/${bin} ]; then \
265 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \ 265 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \
266 ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} ; \ 266 ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} ; \
267 fi 267 fi
268. endfor 268. endfor
269# Only Linux builds link these binaries against an LLVM library 269# Only Linux builds link these binaries against an LLVM library
270. if ${OPSYS} == "Linux" 270. if ${OPSYS} == "Linux"
271. for bin in llc llvm-ar llvm-as llvm-cov llvm-dis llvm-nm llvm-objcopy \ 271. for bin in llc llvm-ar llvm-as llvm-cov llvm-dis llvm-nm llvm-objcopy \
272 llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \ 272 llvm-objdump llvm-profdata llvm-readobj llvm-size llvm-strip opt \
273 rust-lld gcc-ld/ld64.lld gcc-ld/ld.lld gcc-ld/lld-link gcc-ld/wasm-ld 273 rust-lld gcc-ld/ld64.lld gcc-ld/ld.lld gcc-ld/lld-link gcc-ld/wasm-ld
274 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \ 274 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \
275 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} 275 ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}
276. endfor 276. endfor
277. endif 277. endif
278. for lib in lib lib/rustlib/${RUST_ARCH}/lib \ 278. for lib in lib lib/rustlib/${RUST_ARCH}/lib \
279 lib/rustlib/${RUST_ARCH}/codegen-backends 279 lib/rustlib/${RUST_ARCH}/codegen-backends
280 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do \ 280 for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do \
281 [ ! -f $$f ] && continue; \ 281 [ ! -f $$f ] && continue; \
282 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f; \ 282 ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f; \
283 done 283 done
284. endfor 284. endfor
285.endif 285.endif
286 286
287.include "../../mk/bsd.pkg.mk" 287.include "../../mk/bsd.pkg.mk"