| @@ -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 | |
3 | DISTNAME= rust-1.62.1 | | 3 | DISTNAME= rust-1.62.1 |
4 | PKGNAME= ${DISTNAME:S/rust/rust-bin/1} | | 4 | PKGNAME= ${DISTNAME:S/rust/rust-bin/1} |
5 | CATEGORIES= lang | | 5 | CATEGORIES= lang |
6 | MASTER_SITES= https://static.rust-lang.org/dist/ | | 6 | MASTER_SITES= https://static.rust-lang.org/dist/ |
7 | DIST_SUBDIR= ${PKGNAME_NOREV} | | 7 | DIST_SUBDIR= ${PKGNAME_NOREV} |
8 | | | 8 | |
9 | MAINTAINER= pkgsrc-users@NetBSD.org | | 9 | MAINTAINER= pkgsrc-users@NetBSD.org |
10 | HOMEPAGE= https://rust-lang.org/ | | 10 | HOMEPAGE= https://rust-lang.org/ |
11 | COMMENT= Safe, concurrent, practical language (pre-built distribution) | | 11 | COMMENT= Safe, concurrent, practical language (pre-built distribution) |
12 | LICENSE= mit OR apache-2.0 | | 12 | LICENSE= mit OR apache-2.0 |
13 | | | 13 | |
14 | CONFLICTS+= rust-[0-9]* | | 14 | CONFLICTS+= rust-[0-9]* |
15 | | | 15 | |
16 | # Rust upstream provided binaries | | 16 | # Rust upstream provided binaries |
17 | ONLY_FOR_PLATFORM+= Darwin-*-x86_64 | | 17 | ONLY_FOR_PLATFORM+= Darwin-*-x86_64 |
18 | ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64 | | 18 | ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64 |
19 | ONLY_FOR_PLATFORM+= NetBSD-*-x86_64 | | 19 | ONLY_FOR_PLATFORM+= NetBSD-*-x86_64 |
20 | ONLY_FOR_PLATFORM+= Linux-*-aarch64 | | 20 | ONLY_FOR_PLATFORM+= Linux-*-aarch64 |
21 | ONLY_FOR_PLATFORM+= Linux-*-i386 | | 21 | ONLY_FOR_PLATFORM+= Linux-*-i386 |
22 | ONLY_FOR_PLATFORM+= Linux-*-x86_64 | | 22 | ONLY_FOR_PLATFORM+= Linux-*-x86_64 |
23 | | | 23 | |
24 | # he@NetBSD.org provided binaries | | 24 | # he@NetBSD.org provided binaries |
25 | ONLY_FOR_PLATFORM+= NetBSD-*-aarch64 | | 25 | ONLY_FOR_PLATFORM+= NetBSD-*-aarch64 |
| | | 26 | ONLY_FOR_PLATFORM+= NetBSD-*-aarch64eb |
26 | ONLY_FOR_PLATFORM+= NetBSD-*-earmv7hf | | 27 | ONLY_FOR_PLATFORM+= NetBSD-*-earmv7hf |
27 | ONLY_FOR_PLATFORM+= NetBSD-*-i386 | | 28 | ONLY_FOR_PLATFORM+= NetBSD-*-i386 |
28 | ONLY_FOR_PLATFORM+= NetBSD-*-powerpc | | 29 | ONLY_FOR_PLATFORM+= NetBSD-*-powerpc |
29 | ONLY_FOR_PLATFORM+= NetBSD-*-sparc64 | | 30 | ONLY_FOR_PLATFORM+= NetBSD-*-sparc64 |
30 | | | 31 | |
31 | NETBSD_REPO= https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/ | | 32 | NETBSD_REPO= https://cdn.NetBSD.org/pub/pkgsrc/distfiles/LOCAL_PORTS/rust/ |
32 | | | 33 | |
33 | CHECK_RELRO_SKIP+= lib/rustlib/*/bin/* | | 34 | CHECK_RELRO_SKIP+= lib/rustlib/*/bin/* |
34 | | | 35 | |
35 | # Bootstraps built for 9.0. | | 36 | # Bootstraps built for 9.0. |
36 | BROKEN_ON_PLATFORM+= NetBSD-8.*-earmv7hf | | 37 | BROKEN_ON_PLATFORM+= NetBSD-8.*-earmv7hf |
37 | | | 38 | |
38 | # Binary distributions aren't built as PIE. | | 39 | # Binary distributions aren't built as PIE. |
39 | MKPIE_SUPPORTED= no | | 40 | MKPIE_SUPPORTED= no |
40 | | | 41 | |
41 | NO_BUILD= yes | | 42 | NO_BUILD= yes |
42 | USE_TOOLS+= bash pax | | 43 | USE_TOOLS+= bash pax |
43 | WRKSRC= ${WRKDIR}/${DISTFILES:S/.tar.gz//} | | 44 | WRKSRC= ${WRKDIR}/${DISTFILES:S/.tar.gz//} |
44 | | | 45 | |
45 | GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ | | 46 | GENERATE_PLIST+= find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ |
46 | sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; | | 47 | sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; |
47 | | | 48 | |
48 | INSTALLATION_DIRS= bin ${PKGMANDIR} share/doc/cargo/bash_completion.d | | 49 | INSTALLATION_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 |
53 | BROKEN+= "Bootstrap unavailable for old NetBSD version" | | 54 | BROKEN+= "Bootstrap unavailable for old NetBSD version" |
54 | .endif | | 55 | .endif |
55 | | | 56 | |
56 | DISTFILES:= # empty | | 57 | DISTFILES:= # 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) |
61 | RUST_ARCH:= x86_64-apple-darwin | | 62 | RUST_ARCH:= x86_64-apple-darwin |
62 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 63 | DISTFILES:= ${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) |
65 | RUST_ARCH:= x86_64-unknown-freebsd | | 66 | RUST_ARCH:= x86_64-unknown-freebsd |
66 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 67 | DISTFILES:= ${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) |
69 | RUST_ARCH:= i686-unknown-linux-gnu | | 70 | RUST_ARCH:= i686-unknown-linux-gnu |
70 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 71 | DISTFILES:= ${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) |
73 | RUST_ARCH:= aarch64-unknown-linux-gnu | | 74 | RUST_ARCH:= aarch64-unknown-linux-gnu |
74 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 75 | DISTFILES:= ${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) |
77 | RUST_ARCH:= aarch64-unknown-linux-musl | | 78 | RUST_ARCH:= aarch64-unknown-linux-musl |
78 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 79 | DISTFILES:= ${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) |
81 | RUST_ARCH:= x86_64-unknown-linux-gnu | | 82 | RUST_ARCH:= x86_64-unknown-linux-gnu |
82 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 83 | DISTFILES:= ${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) |
85 | RUST_ARCH:= x86_64-unknown-linux-musl | | 86 | RUST_ARCH:= x86_64-unknown-linux-musl |
86 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 87 | DISTFILES:= ${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) |
89 | RUST_ARCH:= x86_64-unknown-netbsd | | 90 | RUST_ARCH:= x86_64-unknown-netbsd |
90 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 91 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
91 | .endif | | 92 | .endif |
92 | | | 93 | |
93 | # NetBSD provided binaries: | | 94 | # NetBSD provided binaries: |
94 | | | 95 | |
95 | NBSUF= | | 96 | NBSUF= |
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) |
98 | RUST_ARCH:= aarch64-unknown-netbsd | | 99 | RUST_ARCH:= aarch64-unknown-netbsd |
99 | DN:= ${DISTNAME}${NBSUF} | | 100 | DN:= ${DISTNAME}${NBSUF} |
100 | EXTRACT_SUFX= .tar.xz | | 101 | EXTRACT_SUFX= .tar.xz |
101 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 102 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
102 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 103 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 104 | SITES.${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) |
105 | RUST_ARCH:= aarch64_be-unknown-netbsd | | 107 | RUST_ARCH:= aarch64_be-unknown-netbsd |
106 | DN:= ${DISTNAME}${NBSUF} | | 108 | DN:= ${DISTNAME}${NBSUF} |
107 | EXTRACT_SUFX= .tar.xz | | 109 | EXTRACT_SUFX= .tar.xz |
108 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 110 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
109 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 111 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 112 | SITES.${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) |
112 | RUST_ARCH:= armv7-unknown-netbsd-eabihf | | 115 | RUST_ARCH:= armv7-unknown-netbsd-eabihf |
113 | DN:= ${DISTNAME}${NBSUF} | | 116 | DN:= ${DISTNAME}${NBSUF} |
114 | EXTRACT_SUFX= .tar.xz | | 117 | EXTRACT_SUFX= .tar.xz |
115 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 118 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
116 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 119 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 120 | SITES.${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) |
119 | RUST_ARCH:= i586-unknown-netbsd | | 123 | RUST_ARCH:= i586-unknown-netbsd |
120 | DN:= ${DISTNAME}${NBSUF} | | 124 | DN:= ${DISTNAME}${NBSUF} |
121 | EXTRACT_SUFX= .tar.xz | | 125 | EXTRACT_SUFX= .tar.xz |
122 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 126 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
123 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 127 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 128 | SITES.${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 |
127 | RUST_ARCH:= powerpc-unknown-netbsd90 | | 132 | RUST_ARCH:= powerpc-unknown-netbsd90 |
128 | DN:= ${DISTNAME}${NBSUF} | | 133 | DN:= ${DISTNAME}${NBSUF} |
129 | EXTRACT_SUFX= .tar.xz | | 134 | EXTRACT_SUFX= .tar.xz |
130 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 135 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
131 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 136 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 137 | SITES.${DF}= ${NETBSD_REPO} |
132 | . else | | 138 | . else |
133 | RUST_ARCH:= powerpc-unknown-netbsd | | 139 | RUST_ARCH:= powerpc-unknown-netbsd |
134 | DN:= ${DISTNAME}${NBSUF} | | 140 | DN:= ${DISTNAME}${NBSUF} |
135 | EXTRACT_SUFX= .tar.xz | | 141 | EXTRACT_SUFX= .tar.xz |
136 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 142 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
137 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 143 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 144 | SITES.${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) |
141 | RUST_ARCH:= sparc64-unknown-netbsd | | 148 | RUST_ARCH:= sparc64-unknown-netbsd |
142 | DN:= ${DISTNAME}${NBSUF} | | 149 | DN:= ${DISTNAME}${NBSUF} |
143 | EXTRACT_SUFX= .tar.xz | | 150 | EXTRACT_SUFX= .tar.xz |
144 | DISTFILES:= ${DISTFILES} ${DN}-${RUST_ARCH}${EXTRACT_SUFX} | | 151 | DF:= ${DN}-${RUST_ARCH}${EXTRACT_SUFX} |
145 | SITES.${DN}-${RUST_ARCH}${EXTRACT_SUFX}= ${NETBSD_REPO} | | 152 | DISTFILES:= ${DISTFILES} ${DF} |
| | | 153 | SITES.${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 |
149 | WRKSRC:= ${WRKSRC:C/nb[0-9]*//} | | 157 | WRKSRC:= ${WRKSRC:C/nb[0-9]*//} |
150 | | | 158 | |
151 | do-install: | | 159 | do-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 |
162 | post-install: fix-darwin-install-name | | 170 | post-install: fix-darwin-install-name |
163 | fix-darwin-install-name: | | 171 | fix-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 |
193 | TOOL_DEPENDS+= patchelf-[0-9]*:../../devel/patchelf | | 201 | TOOL_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" |
199 | DEPENDS+= compat80-[0-9]*:../../emulators/compat80 | | 207 | DEPENDS+= compat80-[0-9]*:../../emulators/compat80 |
200 | RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib | | 208 | RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib |
201 | FORCE_RPATH= | | 209 | FORCE_RPATH= |
202 | . else | | 210 | . else |
203 | RUST_LLVM_RPATH= ${PREFIX}/lib | | 211 | RUST_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. |
207 | RUST_LLVM_RPATH= ${PREFIX}/lib | | 215 | RUST_LLVM_RPATH= ${PREFIX}/lib |
208 | FORCE_RPATH= --force-rpath | | 216 | FORCE_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 |
217 | post-install: fix-relative-rpath | | 225 | post-install: fix-relative-rpath |
218 | fix-relative-rpath: | | 226 | fix-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" |