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