| @@ -1,30 +1,29 @@ | | | @@ -1,30 +1,29 @@ |
1 | # $NetBSD: Makefile,v 1.16 2021/01/02 12:43:20 nia Exp $ | | 1 | # $NetBSD: Makefile,v 1.17 2021/04/25 10:50:57 nia Exp $ |
2 | | | 2 | |
3 | DISTNAME= rust-1.48.0 | | 3 | DISTNAME= rust-1.50.0 |
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 (official binaries) | | 11 | COMMENT= Safe, concurrent, practical language (official binaries) |
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 | ONLY_FOR_PLATFORM+= Darwin-*-x86_64 | | 16 | ONLY_FOR_PLATFORM+= Darwin-*-x86_64 |
17 | ONLY_FOR_PLATFORM+= FreeBSD-*-i386 | | | |
18 | ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64 | | 17 | ONLY_FOR_PLATFORM+= FreeBSD-*-x86_64 |
19 | ONLY_FOR_PLATFORM+= NetBSD-*-x86_64 | | 18 | ONLY_FOR_PLATFORM+= NetBSD-*-x86_64 |
20 | ONLY_FOR_PLATFORM+= Linux-*-aarch64 | | 19 | ONLY_FOR_PLATFORM+= Linux-*-aarch64 |
21 | ONLY_FOR_PLATFORM+= Linux-*-i386 | | 20 | ONLY_FOR_PLATFORM+= Linux-*-i386 |
22 | ONLY_FOR_PLATFORM+= Linux-*-x86_64 | | 21 | ONLY_FOR_PLATFORM+= Linux-*-x86_64 |
23 | | | 22 | |
24 | CHECK_RELRO_SKIP+= lib/rustlib/*/bin/* | | 23 | CHECK_RELRO_SKIP+= lib/rustlib/*/bin/* |
25 | | | 24 | |
26 | # The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't | | 25 | # The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't |
27 | # build on 7). Mark earlier versions as broken. | | 26 | # build on 7). Mark earlier versions as broken. |
28 | BROKEN_ON_PLATFORM+= NetBSD-[1-7].*-* | | 27 | BROKEN_ON_PLATFORM+= NetBSD-[1-7].*-* |
29 | | | 28 | |
30 | NO_BUILD= yes | | 29 | NO_BUILD= yes |
| @@ -38,72 +37,73 @@ INSTALLATION_DIRS= bin ${PKGMANDIR} shar | | | @@ -38,72 +37,73 @@ INSTALLATION_DIRS= bin ${PKGMANDIR} shar |
38 | | | 37 | |
39 | .include "../../mk/bsd.prefs.mk" | | 38 | .include "../../mk/bsd.prefs.mk" |
40 | | | 39 | |
41 | DISTFILES:= # empty | | 40 | DISTFILES:= # empty |
42 | | | 41 | |
43 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) | | 42 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) |
44 | RUST_ARCH:= x86_64-apple-darwin | | 43 | RUST_ARCH:= x86_64-apple-darwin |
45 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 44 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
46 | .endif | | 45 | .endif |
47 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) | | 46 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) |
48 | RUST_ARCH:= x86_64-unknown-freebsd | | 47 | RUST_ARCH:= x86_64-unknown-freebsd |
49 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 48 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
50 | .endif | | 49 | .endif |
51 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make(makesum) || make(mdi) | | | |
52 | RUST_ARCH:= i686-unknown-freebsd | | | |
53 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | | |
54 | .endif | | | |
55 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make(makesum) || make(mdi) | | 50 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make(makesum) || make(mdi) |
56 | RUST_ARCH:= i686-unknown-linux-gnu | | 51 | RUST_ARCH:= i686-unknown-linux-gnu |
57 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 52 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
58 | .endif | | 53 | .endif |
59 | .if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) | | 54 | .if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) |
60 | RUST_ARCH:= aarch64-unknown-linux-gnu | | 55 | RUST_ARCH:= aarch64-unknown-linux-gnu |
61 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 56 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
62 | .endif | | 57 | .endif |
| | | 58 | .if (!empty(MACHINE_PLATFORM:MLinux-*-aarch64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) |
| | | 59 | RUST_ARCH:= aarch64-unknown-linux-musl |
| | | 60 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
| | | 61 | .endif |
63 | .if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) | | 62 | .if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && !empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) |
64 | RUST_ARCH:= x86_64-unknown-linux-gnu | | 63 | RUST_ARCH:= x86_64-unknown-linux-gnu |
65 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 64 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
66 | .endif | | 65 | .endif |
67 | .if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) | | 66 | .if (!empty(MACHINE_PLATFORM:MLinux-*-x86_64) && empty(GLIBC_VERSION)) || make(distinfo) || make(makesum) || make(mdi) |
68 | RUST_ARCH:= x86_64-unknown-linux-musl | | 67 | RUST_ARCH:= x86_64-unknown-linux-musl |
69 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 68 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
70 | .endif | | 69 | .endif |
71 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) | | 70 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make(makesum) || make(mdi) |
72 | RUST_ARCH:= x86_64-unknown-netbsd | | 71 | RUST_ARCH:= x86_64-unknown-netbsd |
73 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz | | 72 | DISTFILES:= ${DISTFILES} ${DISTNAME}-${RUST_ARCH}.tar.gz |
74 | .endif | | 73 | .endif |
75 | | | 74 | |
76 | do-install: | | 75 | do-install: |
77 | cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \ | | 76 | cd ${WRKSRC} && env PKGMANDIR=${PKGMANDIR} bash ./install.sh \ |
78 | --destdir=${DESTDIR} --prefix=${PREFIX} | | 77 | --destdir=${DESTDIR} --prefix=${PREFIX} |
| | | 78 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/rust-llvm-dwp |
79 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log | | 79 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log |
80 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-* | | 80 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/manifest-* |
81 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh | | 81 | ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh |
82 | | | 82 | |
83 | .if ${OPSYS} == "Darwin" | | 83 | .if ${OPSYS} == "Darwin" |
84 | .PHONY: fix-darwin-install-name | | 84 | .PHONY: fix-darwin-install-name |
85 | post-install: fix-darwin-install-name | | 85 | post-install: fix-darwin-install-name |
86 | fix-darwin-install-name: | | 86 | fix-darwin-install-name: |
87 | . for bin in clippy-driver rls rustc rustdoc | | 87 | . for bin in clippy-driver miri rls rustc rustdoc |
88 | otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \ | | 88 | otool -XL ${DESTDIR}${PREFIX}/bin/${bin} \ |
89 | | ${GREP} '@rpath' | while read rpath rest; do \ | | 89 | | ${GREP} '@rpath' | while read rpath rest; do \ |
90 | install_name_tool -change $$rpath \ | | 90 | install_name_tool -change $$rpath \ |
91 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ | | 91 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \ |
92 | ${DESTDIR}${PREFIX}/bin/${bin}; \ | | 92 | ${DESTDIR}${PREFIX}/bin/${bin}; \ |
93 | done | | 93 | done |
94 | . endfor | | 94 | . endfor |
95 | . for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \ | | 95 | . for bin in lldb lldb-mi llvm-nm llvm-objcopy llvm-objdump \ |
96 | llvm-profdata llvm-readobj llvm-size llvm-strip | | 96 | llvm-profdata llvm-readobj llvm-size llvm-strip |
97 | otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \ | | 97 | otool -XL ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} \ |
98 | | ${GREP} '@rpath' | while read rpath rest; do \ | | 98 | | ${GREP} '@rpath' | while read rpath rest; do \ |
99 | install_name_tool -change $$rpath \ | | 99 | install_name_tool -change $$rpath \ |
100 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \ | | 100 | `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib/rustlib/${RUST_ARCH}/lib,g'` \ |
101 | ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \ | | 101 | ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin}; \ |
102 | done | | 102 | done |
103 | . endfor | | 103 | . endfor |
104 | . for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends | | 104 | . for lib in lib lib/rustlib/${RUST_ARCH}/lib lib/rustlib/${RUST_ARCH}/codegen-backends |
105 | for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \ | | 105 | for f in ${DESTDIR}${PREFIX}/${lib}/lib*.dylib; do \ |
106 | [ ! -f $$f ] && continue; \ | | 106 | [ ! -f $$f ] && continue; \ |
107 | install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ | | 107 | install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ |
108 | otool -XL $$f | grep '@rpath' | while read rpath rest; do \ | | 108 | otool -XL $$f | grep '@rpath' | while read rpath rest; do \ |
109 | install_name_tool -change $$rpath \ | | 109 | install_name_tool -change $$rpath \ |
| @@ -119,32 +119,32 @@ TOOL_DEPENDS+= patchelf-[0-9]*:../../de | | | @@ -119,32 +119,32 @@ TOOL_DEPENDS+= patchelf-[0-9]*:../../de |
119 | . if ${OPSYS} == "NetBSD" && empty(OS_VERSION:M[0-8].*) | | 119 | . if ${OPSYS} == "NetBSD" && empty(OS_VERSION:M[0-8].*) |
120 | DEPENDS+= compat80-[0-9]*:../../emulators/compat80 | | 120 | DEPENDS+= compat80-[0-9]*:../../emulators/compat80 |
121 | RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib | | 121 | RUST_LLVM_RPATH= ${PREFIX}/emul/netbsd/usr/lib:${PREFIX}/lib |
122 | FORCE_RPATH= | | 122 | FORCE_RPATH= |
123 | . else | | 123 | . else |
124 | # ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there. | | 124 | # ld.elf_so in NetBSD 8.x only obeys RPATH, not RUNPATH, so force RPATH there. |
125 | RUST_LLVM_RPATH= ${PREFIX}/lib | | 125 | RUST_LLVM_RPATH= ${PREFIX}/lib |
126 | FORCE_RPATH= --force-rpath | | 126 | FORCE_RPATH= --force-rpath |
127 | . endif | | 127 | . endif |
128 | | | 128 | |
129 | .PHONY: fix-relative-rpath | | 129 | .PHONY: fix-relative-rpath |
130 | post-install: fix-relative-rpath | | 130 | post-install: fix-relative-rpath |
131 | fix-relative-rpath: | | 131 | fix-relative-rpath: |
132 | . for bin in clippy-driver rls rustc rustdoc | | 132 | . for bin in clippy-driver miri rls rustc rustdoc |
133 | ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \ | | 133 | ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath \ |
134 | ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} | | 134 | ${PREFIX}/lib ${DESTDIR}${PREFIX}/bin/${bin} |
135 | . endfor | | 135 | . endfor |
136 | . for bin in llvm-ar llvm-nm llvm-objcopy llvm-objdump llvm-profdata \ | | 136 | . for bin in llvm-ar llvm-nm llvm-objcopy llvm-objdump \ |
137 | llvm-readobj llvm-size llvm-strip | | 137 | llvm-profdata llvm-readobj llvm-size llvm-strip |
138 | ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \ | | 138 | ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${RUST_LLVM_RPATH} \ |
139 | ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} | | 139 | ${DESTDIR}${PREFIX}/lib/rustlib/${RUST_ARCH}/bin/${bin} |
140 | . endfor | | 140 | . endfor |
141 | . for lib in lib lib/rustlib/${RUST_ARCH}/lib \ | | 141 | . for lib in lib lib/rustlib/${RUST_ARCH}/lib \ |
142 | lib/rustlib/${RUST_ARCH}/codegen-backends | | 142 | lib/rustlib/${RUST_ARCH}/codegen-backends |
143 | for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do \ | | 143 | for f in ${DESTDIR}${PREFIX}/${lib}/lib*.so; do \ |
144 | [ ! -f $$f ] && continue; \ | | 144 | [ ! -f $$f ] && continue; \ |
145 | ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f; \ | | 145 | ${PREFIX}/bin/patchelf ${FORCE_RPATH} --set-rpath ${PREFIX}/lib $$f; \ |
146 | done | | 146 | done |
147 | . endfor | | 147 | . endfor |
148 | .endif | | 148 | .endif |
149 | | | 149 | |
150 | .include "../../mk/bsd.pkg.mk" | | 150 | .include "../../mk/bsd.pkg.mk" |