| @@ -1,599 +1,601 @@ | | | @@ -1,599 +1,601 @@ |
1 | # $NetBSD: Makefile,v 1.241 2021/06/13 12:19:16 he Exp $ | | 1 | # $NetBSD: Makefile,v 1.241.2.1 2021/07/12 12:56:13 bsiegert Exp $ |
2 | | | 2 | |
3 | DISTNAME= rustc-1.52.1-src | | 3 | DISTNAME= rustc-1.52.1-src |
4 | PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} | | 4 | PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} |
5 | PKGREVISION= 4 | | 5 | PKGREVISION= 4 |
6 | CATEGORIES= lang | | 6 | CATEGORIES= lang |
7 | MASTER_SITES= https://static.rust-lang.org/dist/ | | 7 | MASTER_SITES= https://static.rust-lang.org/dist/ |
8 | | | 8 | |
9 | MAINTAINER= pkgsrc-users@NetBSD.org | | 9 | MAINTAINER= pkgsrc-users@NetBSD.org |
10 | HOMEPAGE= https://www.rust-lang.org/ | | 10 | HOMEPAGE= https://www.rust-lang.org/ |
11 | COMMENT= Safe, concurrent, practical language | | 11 | COMMENT= Safe, concurrent, practical language |
12 | LICENSE= mit OR apache-2.0 | | 12 | LICENSE= mit OR apache-2.0 |
13 | | | 13 | |
14 | CONFLICTS+= rust-bin-[0-9]* | | 14 | CONFLICTS+= rust-bin-[0-9]* |
15 | | | 15 | |
16 | # uses -std=c++14 | | 16 | # uses -std=c++14 |
17 | GCC_REQD+= 5 | | 17 | GCC_REQD+= 5 |
18 | | | 18 | |
19 | USE_GCC_RUNTIME= yes | | 19 | USE_GCC_RUNTIME= yes |
20 | USE_LANGUAGES= c c++11 | | 20 | USE_LANGUAGES= c c++11 |
21 | USE_LIBTOOL= yes | | 21 | USE_LIBTOOL= yes |
22 | USE_TOOLS+= bash grep gmake perl:build pkg-config | | 22 | USE_TOOLS+= bash grep gmake perl:build pkg-config |
23 | | | 23 | |
24 | # The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't | | 24 | # The NetBSD bootstraps are built for NetBSD 8 (because rust doesn't |
25 | # build on 7). Mark earlier versions as broken. | | 25 | # build on 7). Mark earlier versions as broken. |
26 | BROKEN_ON_PLATFORM+= NetBSD-[1-7].*-* | | 26 | BROKEN_ON_PLATFORM+= NetBSD-[1-7].*-* |
27 | # Bootstrap is built for NetBSD 9.x on these platforms: | | 27 | # Bootstrap is built for NetBSD 9.x on these platforms: |
28 | BROKEN_ON_PLATFORM+= NetBSD-8.*-*arm* | | 28 | BROKEN_ON_PLATFORM+= NetBSD-8.*-*arm* |
29 | BROKEN_ON_PLATFORM+= NetBSD-8.*-aarch64 | | 29 | BROKEN_ON_PLATFORM+= NetBSD-8.*-aarch64 |
30 | BROKEN_ON_PLATFORM+= NetBSD-8.*-sparc64 | | 30 | BROKEN_ON_PLATFORM+= NetBSD-8.*-sparc64 |
31 | | | 31 | |
32 | HAS_CONFIGURE= yes | | 32 | HAS_CONFIGURE= yes |
33 | PYTHON_FOR_BUILD_ONLY= yes | | 33 | PYTHON_FOR_BUILD_ONLY= yes |
34 | CONFIG_SHELL= ${PYTHONBIN} | | 34 | CONFIG_SHELL= ${PYTHONBIN} |
35 | CONFIGURE_SCRIPT= src/bootstrap/configure.py | | 35 | CONFIGURE_SCRIPT= src/bootstrap/configure.py |
36 | CONFIGURE_ARGS+= --prefix=${PREFIX} | | 36 | CONFIGURE_ARGS+= --prefix=${PREFIX} |
37 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} | | 37 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} |
38 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | | 38 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} |
39 | CONFIGURE_ARGS+= --python=${PYTHONBIN} | | 39 | CONFIGURE_ARGS+= --python=${PYTHONBIN} |
40 | CONFIGURE_ARGS+= --release-channel=stable | | 40 | CONFIGURE_ARGS+= --release-channel=stable |
41 | CONFIGURE_ARGS+= --local-rust-root=${RUST_BOOTSTRAP_PATH} | | 41 | CONFIGURE_ARGS+= --local-rust-root=${RUST_BOOTSTRAP_PATH} |
42 | CONFIGURE_ARGS+= --enable-extended # Build and install cargo too. | | 42 | CONFIGURE_ARGS+= --enable-extended # Build and install cargo too. |
43 | CONFIGURE_ARGS+= --enable-rpath | | 43 | CONFIGURE_ARGS+= --enable-rpath |
44 | CONFIGURE_ARGS+= --disable-codegen-tests | | 44 | CONFIGURE_ARGS+= --disable-codegen-tests |
45 | CONFIGURE_ARGS+= --disable-dist-src | | 45 | CONFIGURE_ARGS+= --disable-dist-src |
46 | CONFIGURE_ARGS+= --disable-llvm-static-stdcpp | | 46 | CONFIGURE_ARGS+= --disable-llvm-static-stdcpp |
47 | CONFIGURE_ARGS+= --disable-ninja | | 47 | CONFIGURE_ARGS+= --disable-ninja |
48 | | | 48 | |
49 | # Getting RPATH with $ORIGIN into bootstrap may be troublesome, so | | 49 | # Getting RPATH with $ORIGIN into bootstrap may be troublesome, so |
50 | # uncommenting the LD_LIBRARY_PATH setting may be required to run | | 50 | # uncommenting the LD_LIBRARY_PATH setting may be required to run |
51 | # the bootstrap | | 51 | # the bootstrap |
52 | PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib | | 52 | PKGSRC_MAKE_ENV+= LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib |
53 | | | 53 | |
54 | # This should allow us to perform "offline" builds (so cargo doesn't fetch | | 54 | # This should allow us to perform "offline" builds (so cargo doesn't fetch |
55 | # dependencies during the build stage) but this isn't hooked up yet. | | 55 | # dependencies during the build stage) but this isn't hooked up yet. |
56 | CONFIGURE_ARGS+= --enable-vendor | | 56 | CONFIGURE_ARGS+= --enable-vendor |
57 | | | 57 | |
58 | # cargo defaults to using the number of available CPUs | | 58 | # cargo defaults to using the number of available CPUs |
59 | MAKE_ENV+= CARGO_BUILD_JOBS=${_MAKE_JOBS_N} | | 59 | MAKE_ENV+= CARGO_BUILD_JOBS=${_MAKE_JOBS_N} |
60 | | | 60 | |
61 | CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS | | 61 | CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS |
62 | | | 62 | |
63 | UNLIMIT_RESOURCES+= cputime datasize virtualsize | | 63 | UNLIMIT_RESOURCES+= cputime datasize virtualsize |
64 | | | 64 | |
65 | TEST_TARGET= check | | 65 | TEST_TARGET= check |
66 | | | 66 | |
67 | # bin/* lib/*, but names vary | | 67 | # bin/* lib/*, but names vary |
68 | CHECK_RELRO_SUPPORTED= no | | 68 | CHECK_RELRO_SUPPORTED= no |
69 | CHECK_SSP_SUPPORTED= no | | 69 | CHECK_SSP_SUPPORTED= no |
70 | | | 70 | |
71 | .include "../../mk/bsd.prefs.mk" | | 71 | .include "../../mk/bsd.prefs.mk" |
72 | | | 72 | |
73 | # Allow overriding MAKE_JOBS_SAFE | | 73 | # Allow overriding MAKE_JOBS_SAFE |
74 | # some may chose to mostly build faster, | | 74 | # some may chose to mostly build faster, |
75 | # and deal with any failures due to deadlocks | | 75 | # and deal with any failures due to deadlocks |
76 | .if !empty(rust.MAKE_JOBS_SAFE) | | 76 | .if !empty(rust.MAKE_JOBS_SAFE) |
77 | . if ${rust.MAKE_JOBS_SAFE:tl} == "yes" | | 77 | . if ${rust.MAKE_JOBS_SAFE:tl} == "yes" |
78 | MAKE_JOBS_SAFE= yes | | 78 | MAKE_JOBS_SAFE= yes |
79 | . endif | | 79 | . endif |
80 | .endif | | 80 | .endif |
81 | | | 81 | |
82 | .if !empty(rust.BUILD_TARGET) | | 82 | .if !empty(rust.BUILD_TARGET) |
83 | BUILD_TARGET= ${rust.BUILD_TARGET} | | 83 | BUILD_TARGET= ${rust.BUILD_TARGET} |
84 | .endif | | 84 | .endif |
85 | | | 85 | |
86 | # Include (optional) settings to cross-build rust | | 86 | # Include (optional) settings to cross-build rust |
87 | .include "cross.mk" | | 87 | .include "cross.mk" |
88 | | | 88 | |
89 | .if !empty(TARGET) | | 89 | .if !empty(TARGET) |
90 | # Use "dist" build target for cross compile of bootstrap | | 90 | # Use "dist" build target for cross compile of bootstrap |
91 | BUILD_TARGET?= dist | | 91 | BUILD_TARGET?= dist |
92 | .else | | 92 | .else |
93 | BUILD_TARGET?= build | | 93 | BUILD_TARGET?= build |
94 | .endif | | 94 | .endif |
95 | | | 95 | |
96 | .if ${BUILD_TARGET} == "dist" | | 96 | .if ${BUILD_TARGET} == "dist" |
97 | # Reduce size of bootstrap: | | 97 | # Reduce size of bootstrap: |
98 | CONFIGURE_ARGS+= --disable-docs | | 98 | CONFIGURE_ARGS+= --disable-docs |
99 | CONFIGURE_ARGS+= --disable-compiler-docs | | 99 | CONFIGURE_ARGS+= --disable-compiler-docs |
100 | .endif | | 100 | .endif |
101 | | | 101 | |
102 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ | | 102 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ |
103 | !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || \ | | 103 | !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || \ |
104 | !empty(TARGET:Marmv7-unknown-netbsd-eabihf) | | 104 | !empty(TARGET:Marmv7-unknown-netbsd-eabihf) |
105 | # Bootstrapping on NetBSD/powerpc requires no debug-info from rustc | | 105 | # Bootstrapping on NetBSD/powerpc requires no debug-info from rustc |
106 | # (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits) | | 106 | # (both for amd64->powerpc built and powerpc->powerpc built bootstrap bits) |
107 | # Also try to downsize the armv7 build. | | 107 | # Also try to downsize the armv7 build. |
108 | CONFIGURE_ARGS+= --disable-debug | | 108 | CONFIGURE_ARGS+= --disable-debug |
109 | CONFIGURE_ARGS+= --disable-debug-assertions | | 109 | CONFIGURE_ARGS+= --disable-debug-assertions |
110 | CONFIGURE_ARGS+= --disable-llvm-release-debuginfo | | 110 | CONFIGURE_ARGS+= --disable-llvm-release-debuginfo |
111 | CONFIGURE_ARGS+= --debuginfo-level=0 | | 111 | CONFIGURE_ARGS+= --debuginfo-level=0 |
112 | CONFIGURE_ARGS+= --debuginfo-level-rustc=0 | | 112 | CONFIGURE_ARGS+= --debuginfo-level-rustc=0 |
113 | CONFIGURE_ARGS+= --debuginfo-level-std=0 | | 113 | CONFIGURE_ARGS+= --debuginfo-level-std=0 |
114 | CONFIGURE_ARGS+= --debuginfo-level-tools=0 | | 114 | CONFIGURE_ARGS+= --debuginfo-level-tools=0 |
115 | CONFIGURE_ARGS+= --debuginfo-level-tests=0 | | 115 | CONFIGURE_ARGS+= --debuginfo-level-tests=0 |
116 | .endif | | 116 | .endif |
117 | | | 117 | |
118 | # Only build the ARM target on/for this host, due to resource constraints | | 118 | # Only build the ARM target on/for this host, due to resource constraints |
119 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) | | 119 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) |
120 | CONFIGURE_ARGS+= --set llvm.targets="ARM" | | 120 | CONFIGURE_ARGS+= --set llvm.targets="ARM" |
121 | .endif | | 121 | .endif |
122 | # When cross-building for ARM on X86, X86 needs to go along due | | 122 | # When cross-building for ARM on X86, X86 needs to go along due |
123 | # to 2-stage build process | | 123 | # to 2-stage build process |
124 | .if !empty(TARGET:Marmv7-unknown-netbsd-eabihf) | | 124 | .if !empty(TARGET:Marmv7-unknown-netbsd-eabihf) |
125 | CONFIGURE_ARGS+= --set llvm.targets="ARM;X86" | | 125 | CONFIGURE_ARGS+= --set llvm.targets="ARM;X86" |
126 | .endif | | 126 | .endif |
127 | | | 127 | |
128 | .if ${OPSYS} == "NetBSD" | | 128 | .if ${OPSYS} == "NetBSD" |
129 | # This block contains information about known trouble on NetBSD and workarounds. | | 129 | # This block contains information about known trouble on NetBSD and workarounds. |
130 | | | 130 | |
131 | # Parallel builds failed on NetBSD due to dynamic linker locking bugs. | | 131 | # Parallel builds failed on NetBSD due to dynamic linker locking bugs. |
132 | # \todo Explain if the build is believed to be sound if not parallel, | | 132 | # \todo Explain if the build is believed to be sound if not parallel, |
133 | # or if a non-parallel build is merely more likely to work. | | 133 | # or if a non-parallel build is merely more likely to work. |
134 | # | | 134 | # |
135 | # See toolchain/54192 at | | 135 | # See toolchain/54192 at |
136 | # http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54192 | | 136 | # http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54192 |
137 | # which was fixed in -current on 2020-04-19: | | 137 | # which was fixed in -current on 2020-04-19: |
138 | # http://mail-index.netbsd.org/source-changes/2020/04/16/msg116256.html | | 138 | # http://mail-index.netbsd.org/source-changes/2020/04/16/msg116256.html |
139 | # http://mail-index.netbsd.org/source-changes/2020/04/19/msg116337.html | | 139 | # http://mail-index.netbsd.org/source-changes/2020/04/19/msg116337.html |
140 | # These were pulled up to netbsd-9 on 2020-05-13: | | 140 | # These were pulled up to netbsd-9 on 2020-05-13: |
141 | # http://releng.netbsd.org/cgi-bin/req-9.cgi?show=907 | | 141 | # http://releng.netbsd.org/cgi-bin/req-9.cgi?show=907 |
142 | # This has not been pulled up to netbsd-8 | | 142 | # This has not been pulled up to netbsd-8 |
143 | # \todo Explain if it's not applicable, shouldn't be pulled up, should be | | 143 | # \todo Explain if it's not applicable, shouldn't be pulled up, should be |
144 | # but hasn't, is too hard, etc. | | 144 | # but hasn't, is too hard, etc. |
145 | # | | 145 | # |
146 | # On pkgbuild for 2020Q1 9.0_RELEASE amd64, rust did not build despite | | 146 | # On pkgbuild for 2020Q1 9.0_RELEASE amd64, rust did not build despite |
147 | # MAKE_JOBS_SAFE=no, but setting MAKE_JOBS=1 resulted in success. (No | | 147 | # MAKE_JOBS_SAFE=no, but setting MAKE_JOBS=1 resulted in success. (No |
148 | # PR is open for this.) \todo Understand and fix. | | 148 | # PR is open for this.) \todo Understand and fix. |
149 | # | | 149 | # |
150 | # If we aren't on 9-current, and are on 8.x or 9.x, avoid parallel. | | 150 | # If we aren't on 9-current, and are on 8.x or 9.x, avoid parallel. |
151 | # \todo Consider avoiding setting this on netbsd-9 past the fix. | | 151 | # \todo Consider avoiding setting this on netbsd-9 past the fix. |
152 | . if ${MACHINE_PLATFORM:MNetBSD-[1-9].*} && !${MACHINE_PLATFORM:MNetBSD-9.99.*} | | 152 | . if ${MACHINE_PLATFORM:MNetBSD-[1-9].*} && !${MACHINE_PLATFORM:MNetBSD-9.99.*} |
153 | MAKE_JOBS_SAFE?= no | | 153 | MAKE_JOBS_SAFE?= no |
154 | . endif | | 154 | . endif |
155 | | | 155 | |
156 | # Open PRs | | 156 | # Open PRs |
157 | # | | 157 | # |
158 | # Broken package with PREFIX not /usr/pkg: | | 158 | # Broken package with PREFIX not /usr/pkg: |
159 | # http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54453 | | 159 | # http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54453 |
160 | # | | 160 | # |
161 | | | 161 | |
162 | .endif | | 162 | .endif |
163 | | | 163 | |
164 | # | | 164 | # |
165 | # Under NetBSD, do not use DT_RUNPATH | | 165 | # Under NetBSD, do not use DT_RUNPATH |
166 | # | | 166 | # |
167 | BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags | | 167 | BUILDLINK_TRANSFORM.NetBSD+= rm:-Wl,--enable-new-dtags |
168 | | | 168 | |
169 | .PHONY: pre-build-fix | | 169 | .PHONY: pre-build-fix |
170 | # | | 170 | # |
171 | # Rust unfortunately requires itself to build. On platforms which aren't | | 171 | # Rust unfortunately requires itself to build. On platforms which aren't |
172 | # supported by upstream (where they offer binary bootstraps), or where we do | | 172 | # supported by upstream (where they offer binary bootstraps), or where we do |
173 | # not trust random binaries from the Internet, we need to build and provide our | | 173 | # not trust random binaries from the Internet, we need to build and provide our |
174 | # own bootstrap. See the stage0-bootstrap below for more details. | | 174 | # own bootstrap. See the stage0-bootstrap below for more details. |
175 | # | | 175 | # |
176 | DISTFILES:= ${DEFAULT_DISTFILES} | | 176 | DISTFILES:= ${DEFAULT_DISTFILES} |
177 | | | 177 | |
178 | .if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) | | 178 | .if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) |
179 | RUST_STAGE0_VER= 1.51.0 | | 179 | RUST_STAGE0_VER= 1.51.0 |
180 | RUST_ARCH:= aarch64-apple-darwin | | 180 | RUST_ARCH:= aarch64-apple-darwin |
181 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 181 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
182 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 182 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
183 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 183 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
184 | pre-build-fix: | | 184 | pre-build-fix: |
185 | .endif | | 185 | .endif |
186 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 186 | .if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
187 | RUST_STAGE0_VER= 1.51.0 | | 187 | RUST_STAGE0_VER= 1.51.0 |
188 | RUST_ARCH:= x86_64-apple-darwin | | 188 | RUST_ARCH:= x86_64-apple-darwin |
189 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 189 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
190 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 190 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
191 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 191 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
192 | pre-build-fix: | | 192 | pre-build-fix: |
193 | .endif | | 193 | .endif |
194 | .if !empty(MACHINE_PLATFORM:MLinux-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) | | 194 | .if !empty(MACHINE_PLATFORM:MLinux-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) |
195 | RUST_STAGE0_VER= 1.51.0 | | 195 | RUST_STAGE0_VER= 1.51.0 |
196 | RUST_ARCH:= aarch64-unknown-linux-gnu | | 196 | RUST_ARCH:= aarch64-unknown-linux-gnu |
197 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 197 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
198 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 198 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
199 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 199 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
200 | pre-build-fix: | | 200 | pre-build-fix: |
201 | .endif | | 201 | .endif |
202 | .if !empty(MACHINE_PLATFORM:MLinux-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi) | | 202 | .if !empty(MACHINE_PLATFORM:MLinux-*-earmv6hf) || make(distinfo) || make (makesum) || make(mdi) |
203 | RUST_STAGE0_VER= 1.51.0 | | 203 | RUST_STAGE0_VER= 1.51.0 |
204 | RUST_ARCH:= arm-unknown-linux-gnueabihf | | 204 | RUST_ARCH:= arm-unknown-linux-gnueabihf |
205 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 205 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
206 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 206 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
207 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 207 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
208 | pre-build-fix: | | 208 | pre-build-fix: |
209 | .endif | | 209 | .endif |
210 | .if !empty(MACHINE_PLATFORM:MLinux-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi) | | 210 | .if !empty(MACHINE_PLATFORM:MLinux-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi) |
211 | RUST_STAGE0_VER= 1.51.0 | | 211 | RUST_STAGE0_VER= 1.51.0 |
212 | RUST_ARCH:= armv7-unknown-linux-gnueabihf | | 212 | RUST_ARCH:= armv7-unknown-linux-gnueabihf |
213 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 213 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
214 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 214 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
215 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 215 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
216 | pre-build-fix: | | 216 | pre-build-fix: |
217 | .endif | | 217 | .endif |
218 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 218 | .if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
219 | RUST_STAGE0_VER= 1.51.0 | | 219 | RUST_STAGE0_VER= 1.51.0 |
220 | RUST_ARCH:= i686-unknown-linux-gnu | | 220 | RUST_ARCH:= i686-unknown-linux-gnu |
221 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 221 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
222 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 222 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
223 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 223 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
224 | pre-build-fix: | | 224 | pre-build-fix: |
225 | .endif | | 225 | .endif |
226 | .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 226 | .if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
227 | RUST_STAGE0_VER= 1.51.0 | | 227 | RUST_STAGE0_VER= 1.51.0 |
228 | RUST_ARCH:= x86_64-unknown-linux-gnu | | 228 | RUST_ARCH:= x86_64-unknown-linux-gnu |
229 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 229 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
230 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 230 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
231 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 231 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
232 | pre-build-fix: | | 232 | pre-build-fix: |
233 | .endif | | 233 | .endif |
234 | # | | 234 | # |
235 | # The SunOS target defaults to illumos as that's what the current bootstraps | | 235 | # The SunOS target defaults to illumos as that's what the current bootstraps |
236 | # are built on. If you wish to target Oracle Solaris you'll need to create an | | 236 | # are built on. If you wish to target Oracle Solaris you'll need to create an |
237 | # x86_64-sun-solaris bootstrap and comment out the overrides. | | 237 | # x86_64-sun-solaris bootstrap and comment out the overrides. |
238 | # | | 238 | # |
239 | .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 239 | .if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
240 | RUST_STAGE0_VER= 1.51.0 | | 240 | RUST_STAGE0_VER= 1.51.0 |
241 | RUST_ARCH:= x86_64-unknown-illumos | | 241 | RUST_ARCH:= x86_64-unknown-illumos |
242 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 242 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
243 | SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ | | 243 | SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/ |
244 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} | | 244 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} |
245 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} | | 245 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH} |
246 | # Override default "x86_64-sun-solaris" selection | | 246 | # Override default "x86_64-sun-solaris" selection |
247 | CONFIGURE_ARGS+= --set=target.${RUST_ARCH}.llvm-config=${LLVM_CONFIG_PATH} | | 247 | CONFIGURE_ARGS+= --set=target.${RUST_ARCH}.llvm-config=${LLVM_CONFIG_PATH} |
248 | CONFIGURE_ARGS+= --build=${RUST_ARCH} | | 248 | CONFIGURE_ARGS+= --build=${RUST_ARCH} |
249 | CONFIGURE_ARGS+= --host=${RUST_ARCH} | | 249 | CONFIGURE_ARGS+= --host=${RUST_ARCH} |
250 | CONFIGURE_ARGS+= --target=${RUST_ARCH} | | 250 | CONFIGURE_ARGS+= --target=${RUST_ARCH} |
251 | pre-build-fix: | | 251 | pre-build-fix: |
252 | .endif | | 252 | .endif |
253 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 253 | .if !empty(MACHINE_PLATFORM:MFreeBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
254 | RUST_STAGE0_VER= 1.51.0 | | 254 | RUST_STAGE0_VER= 1.51.0 |
255 | RUST_ARCH:= x86_64-unknown-freebsd | | 255 | RUST_ARCH:= x86_64-unknown-freebsd |
256 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 256 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
257 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 257 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
258 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 258 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
259 | pre-build-fix: | | 259 | pre-build-fix: |
260 | .endif | | 260 | .endif |
261 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) | | 261 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi) |
262 | RUST_STAGE0_VER= 1.51.0 | | 262 | RUST_STAGE0_VER= 1.51.0 |
263 | RUST_ARCH= i586-unknown-netbsd | | 263 | RUST_ARCH= i586-unknown-netbsd |
264 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 264 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
265 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 265 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
266 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 266 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
267 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 267 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
268 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 268 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
269 | # Setting this changes it for every distfile, which doesn't match what is | | 269 | # Setting this changes it for every distfile, which doesn't match what is |
270 | # currently in distinfo. | | 270 | # currently in distinfo. |
271 | #DIST_SUBDIR= ${PKGNAME} | | 271 | #DIST_SUBDIR= ${PKGNAME} |
272 | # For atomic ops | | 272 | # For atomic ops |
273 | CFLAGS+= -march=i586 | | 273 | CFLAGS+= -march=i586 |
274 | pre-build-fix: | | 274 | pre-build-fix: |
275 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo | | 275 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/cargo |
276 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc | | 276 | ${TOOLS_PLATFORM.paxctl} +am ${WRKDIR}/rust-bootstrap/bin/rustc |
277 | .endif | | 277 | .endif |
278 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 278 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
279 | RUST_STAGE0_VER= 1.51.0 | | 279 | RUST_STAGE0_VER= 1.51.0 |
280 | RUST_ARCH= x86_64-unknown-netbsd | | 280 | RUST_ARCH= x86_64-unknown-netbsd |
281 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 281 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
282 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 282 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
283 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 283 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
284 | pre-build-fix: | | 284 | pre-build-fix: |
285 | .endif | | 285 | .endif |
286 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi) | | 286 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi) |
287 | RUST_STAGE0_VER= 1.51.0 | | 287 | RUST_STAGE0_VER= 1.51.0 |
288 | RUST_ARCH= powerpc-unknown-netbsd | | 288 | RUST_ARCH= powerpc-unknown-netbsd |
289 | | | 289 | |
290 | # Cross-built against NetBSD 9.0 | | 290 | # Cross-built against NetBSD 9.0 |
291 | . if empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi) | | 291 | . if empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi) |
292 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz | | 292 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz |
293 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz | | 293 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz |
294 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 294 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
295 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 295 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
296 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 296 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
297 | . endif | | 297 | . endif |
298 | | | 298 | |
299 | # Cross-built against NetBSD 8.0 | | 299 | # Cross-built against NetBSD 8.0 |
300 | . if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi) | | 300 | . if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi) |
301 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 301 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
302 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 302 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
303 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 303 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
304 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 304 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
305 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 305 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
306 | . endif | | 306 | . endif |
307 | | | 307 | |
308 | pre-build-fix: | | 308 | pre-build-fix: |
309 | .endif | | 309 | .endif |
310 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) | | 310 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) |
311 | RUST_STAGE0_VER= 1.51.0 | | 311 | RUST_STAGE0_VER= 1.51.0 |
312 | RUST_ARCH= aarch64-unknown-netbsd | | 312 | RUST_ARCH= aarch64-unknown-netbsd |
313 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 313 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
314 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 314 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
315 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 315 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
316 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 316 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
317 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 317 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
318 | pre-build-fix: | | 318 | pre-build-fix: |
319 | .endif | | 319 | .endif |
320 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi) | | 320 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi) |
321 | RUST_STAGE0_VER= 1.51.0 | | 321 | RUST_STAGE0_VER= 1.51.0 |
322 | RUST_ARCH= sparc64-unknown-netbsd | | 322 | RUST_ARCH= sparc64-unknown-netbsd |
323 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 323 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
324 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 324 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
325 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 325 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
326 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 326 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
327 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 327 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
328 | pre-build-fix: | | 328 | pre-build-fix: |
329 | .endif | | 329 | .endif |
330 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi) | | 330 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi) |
331 | RUST_ARCH= armv7-unknown-netbsd-eabihf | | 331 | RUST_ARCH= armv7-unknown-netbsd-eabihf |
332 | RUST_STAGE0_VER= 1.51.0 | | 332 | RUST_STAGE0_VER= 1.51.0 |
333 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 333 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
334 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 334 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
335 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 335 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
336 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 336 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
337 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 337 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
338 | pre-build-fix: | | 338 | pre-build-fix: |
339 | .endif | | 339 | .endif |
340 | | | 340 | |
341 | # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf | | 341 | # You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf |
342 | # if you have a local bootstrap compiler. | | 342 | # if you have a local bootstrap compiler. |
343 | .if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH) | | 343 | .if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH) |
344 | NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM} | | 344 | NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM} |
345 | .else | | 345 | .else |
346 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-bootstrap | | 346 | RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-bootstrap |
347 | .endif | | 347 | .endif |
348 | | | 348 | |
349 | .if ${OPSYS} == "SunOS" | | 349 | .if ${OPSYS} == "SunOS" |
350 | BUILD_DEPENDS+= coreutils>=0:../../sysutils/coreutils | | 350 | BUILD_DEPENDS+= coreutils>=0:../../sysutils/coreutils |
351 | BUILD_DEPENDS+= gzip>=0:../../archivers/gzip | | 351 | BUILD_DEPENDS+= gzip>=0:../../archivers/gzip |
352 | TOOLS_CREATE+= md5sum | | 352 | TOOLS_CREATE+= md5sum |
353 | TOOLS_PATH.md5sum= ${PREFIX}/bin/gmd5sum | | 353 | TOOLS_PATH.md5sum= ${PREFIX}/bin/gmd5sum |
354 | TOOLS_PLATFORM.gzcat= ${PREFIX}/bin/gzip -cd | | 354 | TOOLS_PLATFORM.gzcat= ${PREFIX}/bin/gzip -cd |
355 | .endif | | 355 | .endif |
356 | | | 356 | |
357 | SUBST_CLASSES+= rpath | | 357 | SUBST_CLASSES+= rpath |
358 | SUBST_STAGE.rpath= pre-configure | | 358 | SUBST_STAGE.rpath= pre-configure |
359 | SUBST_FILES.rpath+= compiler/rustc_codegen_ssa/src/back/linker.rs | | 359 | SUBST_FILES.rpath+= compiler/rustc_codegen_ssa/src/back/linker.rs |
360 | SUBST_FILES.rpath+= compiler/rustc_target/src/spec/netbsd_base.rs | | 360 | SUBST_FILES.rpath+= compiler/rustc_target/src/spec/netbsd_base.rs |
361 | SUBST_FILES.rpath+= src/bootstrap/builder.rs | | 361 | SUBST_FILES.rpath+= src/bootstrap/builder.rs |
362 | SUBST_FILES.rpath+= src/bootstrap/compile.rs | | 362 | SUBST_FILES.rpath+= src/bootstrap/compile.rs |
363 | SUBST_VARS.rpath= PREFIX | | 363 | SUBST_VARS.rpath= PREFIX |
364 | | | 364 | |
365 | # | | 365 | # |
366 | # Generate list of subst entries for various .cargo-checksum.json files. These | | 366 | # Generate list of subst entries for various .cargo-checksum.json files. These |
367 | # are all handled together in one big substitution to simplify things rather | | 367 | # are all handled together in one big substitution to simplify things rather |
368 | # than one substitution entry per file, but are kept separate below to ease | | 368 | # than one substitution entry per file, but are kept separate below to ease |
369 | # updating and verification. | | 369 | # updating and verification. |
370 | # | | 370 | # |
371 | CKSUM_CRATES+= vendor/libc | | 371 | CKSUM_CRATES+= vendor/libc |
372 | CKSUMS+= ed57a5ad4c715a9038055fe3a57ea12f5ef97c55c3f603596e721a5cbb90ed73 | | 372 | CKSUMS+= ed57a5ad4c715a9038055fe3a57ea12f5ef97c55c3f603596e721a5cbb90ed73 |
373 | CKSUMS+= 3cd5c5296dc09431c77663cb5b4b4ddd4454e18b6846fdb670da859280d3f6d1 | | 373 | CKSUMS+= 3cd5c5296dc09431c77663cb5b4b4ddd4454e18b6846fdb670da859280d3f6d1 |
374 | | | 374 | |
375 | CKSUM_CRATES+= vendor/cc-1.0.60 | | 375 | CKSUM_CRATES+= vendor/cc-1.0.60 |
376 | CKSUMS+= 903c5f2f5dd0cc7d04f99f605a95e6abde8b38156fd4e73eefc58493f55a4e5a | | 376 | CKSUMS+= 903c5f2f5dd0cc7d04f99f605a95e6abde8b38156fd4e73eefc58493f55a4e5a |
377 | CKSUMS+= e45520f4dda532240e4ec28af550fcb76f44090361f273bebcf0d07dc0807885 | | 377 | CKSUMS+= e45520f4dda532240e4ec28af550fcb76f44090361f273bebcf0d07dc0807885 |
378 | | | 378 | |
379 | CKSUM_CRATES+= vendor/rustc-ap-rustc_target | | 379 | CKSUM_CRATES+= vendor/rustc-ap-rustc_target |
380 | CKSUMS+= ab83c62fab6927a47fc3d15c02eec41174ea9f3e8dce5c53adab613d48918bc5 | | 380 | CKSUMS+= ab83c62fab6927a47fc3d15c02eec41174ea9f3e8dce5c53adab613d48918bc5 |
381 | CKSUMS+= 01f50edc3845bd03459d525444150d03f57cdb479de2668a71c1538adf3d340a | | 381 | CKSUMS+= 01f50edc3845bd03459d525444150d03f57cdb479de2668a71c1538adf3d340a |
382 | | | 382 | |
383 | CKSUM_CRATES+= vendor/lzma-sys | | 383 | CKSUM_CRATES+= vendor/lzma-sys |
384 | CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9 | | 384 | CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9 |
385 | CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef | | 385 | CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef |
386 | | | 386 | |
387 | CKSUM_CRATES+= vendor/stacker | | 387 | CKSUM_CRATES+= vendor/stacker |
388 | CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e | | 388 | CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e |
389 | CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4 | | 389 | CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4 |
390 | | | 390 | |
391 | CKSUM_CRATES+= vendor/net2 | | 391 | CKSUM_CRATES+= vendor/net2 |
392 | CKSUMS+= fd072307ebbaa01cfe1fd7553d7f42d27093b2bd32dd81d419d2e1c9423495a0 | | 392 | CKSUMS+= fd072307ebbaa01cfe1fd7553d7f42d27093b2bd32dd81d419d2e1c9423495a0 |
393 | CKSUMS+= 9e146a847e1f726fa7d7eae224aaa925030287f99770f950a012cb398e088d12 | | 393 | CKSUMS+= 9e146a847e1f726fa7d7eae224aaa925030287f99770f950a012cb398e088d12 |
394 | | | 394 | |
395 | CKSUM_CRATES+= vendor/openssl-src | | 395 | CKSUM_CRATES+= vendor/openssl-src |
396 | CKSUMS+= 03dcdaac7de880b860ecfe859ba2ac3e46c8f46a7bf948aa674147eebee421b0 | | 396 | CKSUMS+= 03dcdaac7de880b860ecfe859ba2ac3e46c8f46a7bf948aa674147eebee421b0 |
397 | CKSUMS+= 580a24c5a739e688e488498b8a34e27a3284c3160e6d3aaff711a80774c35c48 | | 397 | CKSUMS+= 580a24c5a739e688e488498b8a34e27a3284c3160e6d3aaff711a80774c35c48 |
398 | | | 398 | |
399 | SUBST_CLASSES+= cksum | | 399 | SUBST_CLASSES+= cksum |
400 | SUBST_STAGE.cksum= pre-configure | | 400 | SUBST_STAGE.cksum= pre-configure |
401 | .for crate in ${CKSUM_CRATES} | | 401 | .for crate in ${CKSUM_CRATES} |
402 | SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json | | 402 | SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json |
403 | .endfor | | 403 | .endfor |
404 | .for from to in ${CKSUMS} | | 404 | .for from to in ${CKSUMS} |
405 | SUBST_SED.cksum+= -e 's,${from},${to},g' | | 405 | SUBST_SED.cksum+= -e 's,${from},${to},g' |
406 | .endfor | | 406 | .endfor |
407 | | | 407 | |
408 | post-extract: | | 408 | post-extract: |
409 | set -e; \ | | 409 | set -e; \ |
410 | if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh \ | | 410 | if ${TEST} -e ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/install.sh \ |
411 | -a ! -e ${RUST_BOOTSTRAP_PATH}/bin/rustc; then \ | | 411 | -a ! -e ${RUST_BOOTSTRAP_PATH}/bin/rustc; then \ |
412 | cd ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}; \ | | 412 | cd ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}; \ |
413 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ | | 413 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ |
414 | cd ${WRKDIR}/rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}; \ | | 414 | cd ${WRKDIR}/rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}; \ |
415 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ | | 415 | ${TOOLS_BASH} ./install.sh --prefix=${RUST_BOOTSTRAP_PATH}; \ |
416 | fi | | 416 | fi |
417 | .if ${OPSYS} == "NetBSD" | | 417 | .if ${OPSYS} == "NetBSD" |
418 | SDIR=${WRKDIR}/scripts; \ | | 418 | SDIR=${WRKDIR}/scripts; \ |
419 | ${MKDIR} $${SDIR}; \ | | 419 | ${MKDIR} $${SDIR}; \ |
420 | cd $${SDIR}; \ | | 420 | cd $${SDIR}; \ |
421 | ${RM} -f c++-wrap; \ | | 421 | ${RM} -f c++-wrap; \ |
422 | ${RM} -f clang++-wrap; \ | | 422 | ${RM} -f clang++-wrap; \ |
423 | ${RM} -f clang-wrap; \ | | 423 | ${RM} -f clang-wrap; \ |
424 | ${RM} -f ar-wrap; \ | | 424 | ${RM} -f ar-wrap; \ |
425 | ${CP} ${.CURDIR}/files/gcc-wrap .; \ | | 425 | ${CP} ${.CURDIR}/files/gcc-wrap .; \ |
426 | ${CHMOD} +x gcc-wrap; \ | | 426 | ${CHMOD} +x gcc-wrap; \ |
427 | ${LN} -s gcc-wrap c++-wrap; \ | | 427 | ${LN} -s gcc-wrap c++-wrap; \ |
428 | ${LN} -s gcc-wrap clang++-wrap; \ | | 428 | ${LN} -s gcc-wrap clang++-wrap; \ |
429 | ${LN} -s gcc-wrap clang-wrap; \ | | 429 | ${LN} -s gcc-wrap clang-wrap; \ |
430 | ${LN} -s gcc-wrap ar-wrap | | 430 | ${LN} -s gcc-wrap ar-wrap |
431 | .endif | | 431 | .endif |
432 | | | 432 | |
433 | .if ${OPSYS} == "FreeBSD" | | 433 | .if ${OPSYS} == "FreeBSD" |
434 | MAKE_ENV+= OPENSSL_DIR=${SSLBASE} | | 434 | MAKE_ENV+= OPENSSL_DIR=${SSLBASE} |
435 | .endif | | 435 | .endif |
436 | | | 436 | |
437 | .if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so) | | 437 | .if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so) |
438 | BUILDLINK_TRANSFORM+= rm:-lgcc_s | | 438 | BUILDLINK_TRANSFORM+= rm:-lgcc_s |
439 | MAKE_ENV+= PKGSRC_HAVE_LIBCPP=yes | | 439 | MAKE_ENV+= PKGSRC_HAVE_LIBCPP=yes |
440 | .endif | | 440 | .endif |
441 | | | 441 | |
442 | pre-build: pre-build-fix | | 442 | pre-build: pre-build-fix |
443 | .if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so) | | 443 | .if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mclang) && !exists(/lib/libgcc_s.so) |
444 | cp ${FILESDIR}/libgcc_s.so.1 ${RUST_BOOTSTRAP_PATH}/lib/. | | 444 | cp ${FILESDIR}/libgcc_s.so.1 ${RUST_BOOTSTRAP_PATH}/lib/. |
445 | .endif | | 445 | .endif |
446 | | | 446 | |
447 | # | | 447 | # |
448 | # These are essentially copies of the "all", "test", and "install" Makefile | | 448 | # These are essentially copies of the "all", "test", and "install" Makefile |
449 | # targets, but are duplicated here so that we can specify -j. | | 449 | # targets, but are duplicated here so that we can specify -j. |
450 | # | | 450 | # |
451 | do-build: | | 451 | do-build: |
452 | ${RUN}${_ULIMIT_CMD} \ | | 452 | ${RUN}${_ULIMIT_CMD} \ |
453 | cd ${WRKSRC} && \ | | 453 | cd ${WRKSRC} && \ |
454 | ${SETENV} ${MAKE_ENV} \ | | 454 | ${SETENV} ${MAKE_ENV} \ |
455 | sh -c "if [ \"${BUILD_TARGET}\" = \"dist\" ]; then \ | | 455 | sh -c "if [ \"${BUILD_TARGET}\" = \"dist\" ]; then \ |
456 | unset DESTDIR; \ | | 456 | unset DESTDIR; \ |
457 | ${PYTHONBIN} ./x.py -v \ | | 457 | ${PYTHONBIN} ./x.py -v \ |
458 | ${BUILD_TARGET} -j ${_MAKE_JOBS_N}; \ | | 458 | ${BUILD_TARGET} -j ${_MAKE_JOBS_N}; \ |
459 | else \ | | 459 | else \ |
460 | ${PYTHONBIN} ./x.py -v \ | | 460 | ${PYTHONBIN} ./x.py -v \ |
461 | ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} && \ | | 461 | ${BUILD_TARGET} --stage 2 -j ${_MAKE_JOBS_N} && \ |
462 | ${PYTHONBIN} ./x.py -v \ | | 462 | ${PYTHONBIN} ./x.py -v \ |
463 | doc --stage 2 -j ${_MAKE_JOBS_N}; \ | | 463 | doc --stage 2 -j ${_MAKE_JOBS_N}; \ |
464 | fi" | | 464 | fi" |
465 | | | 465 | |
466 | do-test: | | 466 | do-test: |
467 | ${RUN}${_ULIMIT_CMD} \ | | 467 | ${RUN}${_ULIMIT_CMD} \ |
468 | cd ${WRKSRC} && \ | | 468 | cd ${WRKSRC} && \ |
469 | ${SETENV} ${MAKE_ENV} \ | | 469 | ${SETENV} ${MAKE_ENV} \ |
470 | ${PYTHONBIN} ./x.py -v test -j ${_MAKE_JOBS_N} | | 470 | ${PYTHONBIN} ./x.py -v test -j ${_MAKE_JOBS_N} |
471 | | | 471 | |
472 | do-install: | | 472 | do-install: |
473 | ${RUN}${_ULIMIT_CMD} \ | | 473 | ${RUN}${_ULIMIT_CMD} \ |
474 | cd ${WRKSRC} && \ | | 474 | cd ${WRKSRC} && \ |
475 | ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} \ | | 475 | ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} \ |
476 | ${PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N} | | 476 | ${PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N} |
477 | | | 477 | |
478 | # MacOS X 10.7 is the oldest supported version. See | | 478 | # MacOS X 10.7 is the oldest supported version. See |
479 | # ${WRKSRC}/src/bootstrap/lib.rs | | 479 | # ${WRKSRC}/src/bootstrap/lib.rs |
480 | MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARGET="10.7" | | 480 | MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARGET="10.7" |
481 | | | 481 | |
482 | GENERATE_PLIST+= ${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ | | 482 | GENERATE_PLIST+= ${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \ |
483 | ${SED} -e 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; | | 483 | ${SED} -e 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ; |
484 | | | 484 | |
485 | # Create a relocatable stage2 bootstrap from the bits we just built that can be | | 485 | # Create a relocatable stage2 bootstrap from the bits we just built that can be |
486 | # used to build the next version of rust. Currently only tested on SmartOS. | | 486 | # used to build the next version of rust. Currently only tested on SmartOS. |
487 | # | | 487 | # |
488 | # Use the alternate BOOTSTRAP_NAME when creating a nightly release. | | 488 | # Use the alternate BOOTSTRAP_NAME when creating a nightly release. |
489 | # | | 489 | # |
490 | #BOOTSTRAP_NAME= ${PKGNAME_NOREV:C/rust/rust-nightly/}-${RUST_ARCH} | | 490 | #BOOTSTRAP_NAME= ${PKGNAME_NOREV:C/rust/rust-nightly/}-${RUST_ARCH} |
491 | BOOTSTRAP_NAME= ${PKGNAME_NOREV}-${RUST_ARCH} | | 491 | BOOTSTRAP_NAME= ${PKGNAME_NOREV}-${RUST_ARCH} |
492 | BOOTSTRAP_TMPDIR= ${WRKDIR}/${BOOTSTRAP_NAME} | | 492 | BOOTSTRAP_TMPDIR= ${WRKDIR}/${BOOTSTRAP_NAME} |
493 | USE_TOOLS+= gtar | | 493 | USE_TOOLS+= gtar |
494 | | | 494 | |
495 | # The NetBSD part is so far untested, because I could not convince | | 495 | # The NetBSD part is so far untested, because I could not convince |
496 | # the rust build to use the gcc wrapper when building natively, | | 496 | # the rust build to use the gcc wrapper when building natively, |
497 | # so that I could get a placeholder in the RPATH, because chrpath | | 497 | # so that I could get a placeholder in the RPATH, because chrpath |
498 | # cannot extend the length of the RPATH... | | 498 | # cannot extend the length of the RPATH... |
499 | ELFEDIT?= /usr/bin/elfedit | | 499 | ELFEDIT?= /usr/bin/elfedit |
500 | | | 500 | |
501 | .PHONY: stage0-bootstrap | | 501 | .PHONY: stage0-bootstrap |
502 | stage0-bootstrap: install | | 502 | stage0-bootstrap: install |
503 | ${RM} -rf ${BOOTSTRAP_TMPDIR} | | 503 | ${RM} -rf ${BOOTSTRAP_TMPDIR} |
504 | ${MKDIR} ${BOOTSTRAP_TMPDIR} | | 504 | ${MKDIR} ${BOOTSTRAP_TMPDIR} |
505 | .if ${OPSYS} == "NetBSD" | | 505 | .if ${OPSYS} == "NetBSD" |
506 | (cd ${BOOTSTRAP_TMPDIR}; \ | | 506 | (cd ${BOOTSTRAP_TMPDIR}; \ |
507 | DISTDIR=${WRKSRC}/bild/dist; \ | | 507 | DISTDIR=${WRKSRC}/bild/dist; \ |
508 | VER_ARCH=${PKGVERSION}-${RUST_ARCH}; \ | | 508 | VER_ARCH=${PKGVERSION}-${RUST_ARCH}; \ |
509 | RUSTC=rustc-$${VER_ARCH}; \ | | 509 | RUSTC=rustc-$${VER_ARCH}; \ |
510 | RUSTC_FILE=$${RUSTC}.tar.gz; \ | | 510 | RUSTC_FILE=$${RUSTC}.tar.gz; \ |
511 | RUST_STD=rust-std-$${VER_ARCH}; \ | | 511 | RUST_STD=rust-std-$${VER_ARCH}; \ |
512 | RUST_STD_FILE=$${RUST_STD}.tar.gz; \ | | 512 | RUST_STD_FILE=$${RUST_STD}.tar.gz; \ |
513 | ${GTAR} -xzf $${DISTDIR}/$${RUSTC_FILE}; \ | | 513 | ${GTAR} -xzf $${DISTDIR}/$${RUSTC_FILE}; \ |
514 | (cd ${RUSTC}; \ | | 514 | (cd ${RUSTC}; \ |
515 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \ | | 515 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN/../lib'; \ |
516 | for f in rls-preview/bin/rls rustc/bin/rustc rustc/bin/rustdoc; do \ | | 516 | for f in rls-preview/bin/rls rustc/bin/rustc rustc/bin/rustdoc; do \ |
517 | chrpath -r $$RPATH $$f; \ | | 517 | chrpath -r $$RPATH $$f; \ |
518 | done; \ | | 518 | done; \ |
519 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN'; \ | | 519 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN'; \ |
520 | for f in rustc/lib/*.so*; do \ | | 520 | for f in rustc/lib/*.so*; do \ |
521 | chrpath -r $$RPATH $$f; \ | | 521 | chrpath -r $$RPATH $$f; \ |
522 | done; \ | | 522 | done; \ |
523 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN:$$ORIGIN/../../..'; \ | | 523 | RPATH='/usr/pkg/lib:/lib:/usr/lib:$$ORIGIN:$$ORIGIN/../../..'; \ |
524 | for f in rustc/lib/rustlib/*/*/*.so*; do \ | | 524 | for f in rustc/lib/rustlib/*/*/*.so*; do \ |
525 | chrpath -r $$RPATH $$f; \ | | 525 | chrpath -r $$RPATH $$f; \ |
526 | done;); \ | | 526 | done;); \ |
527 | ${GTAR} -czf $${RUSTC_FILE} $${RUSTC}; \ | | 527 | ${GTAR} -czf $${RUSTC_FILE} $${RUSTC}; \ |
528 | ${CP} $${DISTDIR}/$${RUST_STD_FILE} .; \ | | 528 | ${CP} $${DISTDIR}/$${RUST_STD_FILE} .; \ |
529 | ${ECHO} "Fixed stage0 bootstrap in ${BOOTSTRAP_TMPDIR}:"; \ | | 529 | ${ECHO} "Fixed stage0 bootstrap in ${BOOTSTRAP_TMPDIR}:"; \ |
530 | ${ECHO} "$${RUSTC_FILE}"; \ | | 530 | ${ECHO} "$${RUSTC_FILE}"; \ |
531 | ${ECHO} "$${RUST_STD_FILE}"; \ | | 531 | ${ECHO} "$${RUST_STD_FILE}"; \ |
532 | ) | | 532 | ) |
533 | .endif | | 533 | .endif |
534 | .if ${OS_VARIANT} == "SmartOS" | | 534 | .if ${OS_VARIANT} == "SmartOS" |
535 | ${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/ | | 535 | ${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/ |
536 | ${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/ | | 536 | ${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/ |
537 | ${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc | | 537 | ${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc |
538 | for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \ | | 538 | for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \ |
539 | ${CP} `${PKG_CC} -print-file-name=$${lib}` \ | | 539 | ${CP} `${PKG_CC} -print-file-name=$${lib}` \ |
540 | ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ | | 540 | ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ |
541 | done | | 541 | done |
542 | # direct dependencies | | 542 | # direct dependencies |
543 | for lib in libLLVM-10.so libcrypto.so.1.1 libcurl.so.4 \ | | 543 | for lib in libLLVM-10.so libcrypto.so.1.1 libcurl.so.4 \ |
544 | libssl.so.1.1 libz.so.1; do \ | | 544 | libssl.so.1.1 libz.so.1; do \ |
545 | ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ | | 545 | ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ |
546 | done | | 546 | done |
547 | # libcurl dependencies | | 547 | # libcurl dependencies |
548 | for lib in libiconv.so.2 libidn2.so.0 libintl.so.8 liblber-2.4.so.2 \ | | 548 | for lib in libiconv.so.2 libidn2.so.0 libintl.so.8 liblber-2.4.so.2 \ |
549 | libldap-2.4.so.2 libnghttp2.so.14 libsasl2.so.3 \ | | 549 | libldap-2.4.so.2 libnghttp2.so.14 libsasl2.so.3 \ |
550 | libssh2.so.1 libunistring.so.2; do \ | | 550 | libssh2.so.1 libunistring.so.2; do \ |
551 | ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ | | 551 | ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \ |
552 | done | | 552 | done |
553 | for f in ${BOOTSTRAP_TMPDIR}/bin/*; do \ | | 553 | for f in ${BOOTSTRAP_TMPDIR}/bin/*; do \ |
554 | /bin/file -b "$$f" | grep ^ELF >/dev/null || continue; \ | | 554 | /bin/file -b "$$f" | grep ^ELF >/dev/null || continue; \ |
555 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \ | | 555 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \ |
556 | done | | 556 | done |
557 | for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \ | | 557 | for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \ |
558 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN' $$f; \ | | 558 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN' $$f; \ |
559 | done | | 559 | done |
560 | for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \ | | 560 | for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \ |
561 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \ | | 561 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \ |
562 | done | | 562 | done |
563 | for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/*/*.so*; do \ | | 563 | for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/*/*.so*; do \ |
564 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \ | | 564 | ${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \ |
565 | done | | 565 | done |
566 | (cd ${WRKDIR}; \ | | 566 | (cd ${WRKDIR}; \ |
567 | ${GTAR} -zcf ${BOOTSTRAP_NAME}.tar.gz ${BOOTSTRAP_NAME}) | | 567 | ${GTAR} -zcf ${BOOTSTRAP_NAME}.tar.gz ${BOOTSTRAP_NAME}) |
568 | .endif | | 568 | .endif |
569 | | | 569 | |
570 | .include "options.mk" | | 570 | .include "options.mk" |
571 | | | 571 | |
572 | # These dependencies currently use the bundled sources as they require | | 572 | # These dependencies currently use the bundled sources as they require |
573 | # development features not yet available in released versions. | | 573 | # development features not yet available in released versions. |
574 | # | | 574 | # |
575 | #.include "../../devel/libgit2/buildlink3.mk" | | 575 | #.include "../../devel/libgit2/buildlink3.mk" |
576 | #.include "../../security/libssh2/buildlink3.mk" | | 576 | #.include "../../security/libssh2/buildlink3.mk" |
577 | #.include "../../www/http-parser/buildlink3.mk" | | 577 | #.include "../../www/http-parser/buildlink3.mk" |
578 | #.include "../../devel/jemalloc/buildlink3.mk" | | 578 | #.include "../../devel/jemalloc/buildlink3.mk" |
579 | | | 579 | |
580 | ## Issues specific to: bootstrap AND NetBSD follow | | 580 | ## Issues specific to: bootstrap AND NetBSD follow |
581 | | | 581 | |
582 | # rust i386 bootstraps are built for 8.0 and still depend on libstdc++.so.8. | | 582 | # rust i386 bootstraps are built for 8.0 and still depend on libstdc++.so.8. |
583 | # Pull in compat80 on 9.x and newer. | | 583 | # Pull in compat80 on 9.x and newer. |
584 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) && empty(OS_VERSION:M8.*) | | 584 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) && empty(OS_VERSION:M8.*) |
585 | BUILD_DEPENDS+= compat80>=0:../../emulators/compat80 | | 585 | BUILD_DEPENDS+= compat80>=0:../../emulators/compat80 |
586 | .endif | | 586 | .endif |
587 | | | 587 | |
588 | # This is for when we build natively: | | 588 | # This is for when we build natively: |
589 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ | | 589 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ |
590 | !empty(MACHINE_PLATFORM:MNetBSD-*-i386) | | 590 | !empty(MACHINE_PLATFORM:MNetBSD-*-i386) |
591 | # LLVM needs libatomic for 64-bit atomics on powerpc and i386 | | 591 | # LLVM needs libatomic for 64-bit atomics on powerpc and i386 |
592 | .include "../../devel/libatomic/buildlink3.mk" | | 592 | .include "../../devel/libatomic/buildlink3.mk" |
593 | # Make those libraries available via a unique directory: | | 593 | # Make those libraries available via a unique directory: |
594 | DEPENDS+= libatomic-links>=0:../../devel/libatomic-links | | 594 | DEPENDS+= libatomic-links>=0:../../devel/libatomic-links |
595 | .endif | | 595 | .endif |
596 | | | 596 | |
| | | 597 | BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake |
| | | 598 | .include "../../devel/cmake/buildlink3.mk" |
597 | .include "../../devel/zlib/buildlink3.mk" | | 599 | .include "../../devel/zlib/buildlink3.mk" |
598 | .include "../../lang/python/tool.mk" | | 600 | .include "../../lang/python/tool.mk" |
599 | .include "../../mk/bsd.pkg.mk" | | 601 | .include "../../mk/bsd.pkg.mk" |