| @@ -1,39 +1,36 @@ | | | @@ -1,39 +1,36 @@ |
1 | # $NetBSD: Makefile,v 1.254 2022/04/23 15:55:31 he Exp $ | | 1 | # $NetBSD: Makefile,v 1.255 2022/04/30 21:02:39 nia Exp $ |
2 | | | 2 | |
3 | DISTNAME= rustc-1.59.0-src | | 3 | DISTNAME= rustc-1.59.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 | PKGREVISION= 1 | | 7 | PKGREVISION= 1 |
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 | | | |
25 | # build on 7). Mark earlier versions as broken. | | | |
26 | BROKEN_ON_PLATFORM+= NetBSD-[1-7].*-* | | | |
27 | # Bootstrap is built for NetBSD 9.x on these platforms: | | 24 | # Bootstrap is built for NetBSD 9.x on these platforms: |
28 | BROKEN_ON_PLATFORM+= NetBSD-8.*-*arm* | | 25 | BROKEN_ON_PLATFORM+= NetBSD-8.*-*arm* |
29 | BROKEN_ON_PLATFORM+= NetBSD-8.*-aarch64 | | 26 | BROKEN_ON_PLATFORM+= NetBSD-8.*-aarch64 |
30 | BROKEN_ON_PLATFORM+= NetBSD-8.*-sparc64 | | 27 | BROKEN_ON_PLATFORM+= NetBSD-8.*-sparc64 |
31 | | | 28 | |
32 | HAS_CONFIGURE= yes | | 29 | HAS_CONFIGURE= yes |
33 | PYTHON_FOR_BUILD_ONLY= yes | | 30 | PYTHON_FOR_BUILD_ONLY= yes |
34 | CONFIG_SHELL= ${PYTHONBIN} | | 31 | CONFIG_SHELL= ${PYTHONBIN} |
35 | CONFIGURE_SCRIPT= src/bootstrap/configure.py | | 32 | CONFIGURE_SCRIPT= src/bootstrap/configure.py |
36 | CONFIGURE_ARGS+= --prefix=${PREFIX} | | 33 | CONFIGURE_ARGS+= --prefix=${PREFIX} |
37 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} | | 34 | CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} |
38 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} | | 35 | CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} |
39 | CONFIGURE_ARGS+= --python=${PYTHONBIN} | | 36 | CONFIGURE_ARGS+= --python=${PYTHONBIN} |
| @@ -72,26 +69,30 @@ MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARG | | | @@ -72,26 +69,30 @@ MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARG |
72 | CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS | | 69 | CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS |
73 | MAKE_ENV.SunOS+= AR=gar | | 70 | MAKE_ENV.SunOS+= AR=gar |
74 | | | 71 | |
75 | UNLIMIT_RESOURCES+= cputime datasize virtualsize | | 72 | UNLIMIT_RESOURCES+= cputime datasize virtualsize |
76 | | | 73 | |
77 | TEST_TARGET= check | | 74 | TEST_TARGET= check |
78 | | | 75 | |
79 | # bin/* lib/*, but names vary | | 76 | # bin/* lib/*, but names vary |
80 | CHECK_RELRO_SUPPORTED= no | | 77 | CHECK_RELRO_SUPPORTED= no |
81 | CHECK_SSP_SUPPORTED= no | | 78 | CHECK_SSP_SUPPORTED= no |
82 | | | 79 | |
83 | .include "../../mk/bsd.prefs.mk" | | 80 | .include "../../mk/bsd.prefs.mk" |
84 | | | 81 | |
| | | 82 | .if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000 |
| | | 83 | BROKEN+= "Bootstrap unavailable for old NetBSD version" |
| | | 84 | .endif |
| | | 85 | |
85 | # Allow overriding MAKE_JOBS_SAFE | | 86 | # Allow overriding MAKE_JOBS_SAFE |
86 | # some may chose to mostly build faster, | | 87 | # some may chose to mostly build faster, |
87 | # and deal with any failures due to deadlocks | | 88 | # and deal with any failures due to deadlocks |
88 | .if !empty(rust.MAKE_JOBS_SAFE) | | 89 | .if !empty(rust.MAKE_JOBS_SAFE) |
89 | . if ${rust.MAKE_JOBS_SAFE:tl} == "yes" | | 90 | . if ${rust.MAKE_JOBS_SAFE:tl} == "yes" |
90 | MAKE_JOBS_SAFE= yes | | 91 | MAKE_JOBS_SAFE= yes |
91 | . endif | | 92 | . endif |
92 | .endif | | 93 | .endif |
93 | | | 94 | |
94 | .if !empty(rust.BUILD_TARGET) | | 95 | .if !empty(rust.BUILD_TARGET) |
95 | BUILD_TARGET= ${rust.BUILD_TARGET} | | 96 | BUILD_TARGET= ${rust.BUILD_TARGET} |
96 | .endif | | 97 | .endif |
97 | | | 98 | |
| @@ -282,36 +283,36 @@ pre-build-fix: | | | @@ -282,36 +283,36 @@ pre-build-fix: |
282 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) | | 283 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi) |
283 | RUST_STAGE0_VER= 1.58.1 | | 284 | RUST_STAGE0_VER= 1.58.1 |
284 | RUST_ARCH= x86_64-unknown-netbsd | | 285 | RUST_ARCH= x86_64-unknown-netbsd |
285 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 286 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
286 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 287 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
287 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 288 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
288 | pre-build-fix: | | 289 | pre-build-fix: |
289 | .endif | | 290 | .endif |
290 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi) | | 291 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi) |
291 | RUST_STAGE0_VER= 1.58.1 | | 292 | RUST_STAGE0_VER= 1.58.1 |
292 | RUST_ARCH= powerpc-unknown-netbsd | | 293 | RUST_ARCH= powerpc-unknown-netbsd |
293 | | | 294 | |
294 | # Cross-built against NetBSD 9.0 | | 295 | # Cross-built against NetBSD 9.0 |
295 | . if empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi) | | 296 | . if ${OPSYS_VERSION} >= 090000 || make(distinfo) || make(makesum) || make(mdi) |
296 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz | | 297 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz |
297 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz | | 298 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz |
298 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 299 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
299 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 300 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
300 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 301 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
301 | . endif | | 302 | . endif |
302 | | | 303 | |
303 | # Cross-built against NetBSD 8.0 | | 304 | # Cross-built against NetBSD 8.0 |
304 | . if !empty(OS_VERSION:M8.*) || make(distinfo) || make(makesum) || make(mdi) | | 305 | . if ${OPSYS_VERSION} < 090000 || make(distinfo) || make(makesum) || make(mdi) |
305 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 306 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
306 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 307 | RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
307 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} | | 308 | DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} |
308 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 309 | SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
309 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} | | 310 | SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} |
310 | . endif | | 311 | . endif |
311 | | | 312 | |
312 | pre-build-fix: | | 313 | pre-build-fix: |
313 | .endif | | 314 | .endif |
314 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) | | 315 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo) || make (makesum) || make(mdi) |
315 | RUST_STAGE0_VER= 1.58.1 | | 316 | RUST_STAGE0_VER= 1.58.1 |
316 | RUST_ARCH= aarch64-unknown-netbsd | | 317 | RUST_ARCH= aarch64-unknown-netbsd |
317 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz | | 318 | RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz |
| @@ -588,27 +589,27 @@ stage0-bootstrap: install | | | @@ -588,27 +589,27 @@ stage0-bootstrap: install |
588 | | | 589 | |
589 | # These dependencies currently use the bundled sources as they require | | 590 | # These dependencies currently use the bundled sources as they require |
590 | # development features not yet available in released versions. | | 591 | # development features not yet available in released versions. |
591 | # | | 592 | # |
592 | #.include "../../devel/libgit2/buildlink3.mk" | | 593 | #.include "../../devel/libgit2/buildlink3.mk" |
593 | #.include "../../security/libssh2/buildlink3.mk" | | 594 | #.include "../../security/libssh2/buildlink3.mk" |
594 | #.include "../../www/http-parser/buildlink3.mk" | | 595 | #.include "../../www/http-parser/buildlink3.mk" |
595 | #.include "../../devel/jemalloc/buildlink3.mk" | | 596 | #.include "../../devel/jemalloc/buildlink3.mk" |
596 | | | 597 | |
597 | ## Issues specific to: bootstrap AND NetBSD follow | | 598 | ## Issues specific to: bootstrap AND NetBSD follow |
598 | | | 599 | |
599 | # rust i386 bootstraps are built for 8.0 and still depend on libstdc++.so.8. | | 600 | # rust i386 bootstraps are built for 8.0 and still depend on libstdc++.so.8. |
600 | # Pull in compat80 on 9.x and newer. | | 601 | # Pull in compat80 on 9.x and newer. |
601 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) && empty(OS_VERSION:M8.*) | | 602 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) && ${OPSYS_VERSION} >= 090000 |
602 | BUILD_DEPENDS+= compat80>=0:../../emulators/compat80 | | 603 | BUILD_DEPENDS+= compat80>=0:../../emulators/compat80 |
603 | .endif | | 604 | .endif |
604 | | | 605 | |
605 | # This is for when we build natively: | | 606 | # This is for when we build natively: |
606 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ | | 607 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ |
607 | !empty(MACHINE_PLATFORM:MNetBSD-*-i386) | | 608 | !empty(MACHINE_PLATFORM:MNetBSD-*-i386) |
608 | # LLVM needs libatomic for 64-bit atomics on powerpc and i386 | | 609 | # LLVM needs libatomic for 64-bit atomics on powerpc and i386 |
609 | .include "../../devel/libatomic/buildlink3.mk" | | 610 | .include "../../devel/libatomic/buildlink3.mk" |
610 | # Make those libraries available via a unique directory: | | 611 | # Make those libraries available via a unique directory: |
611 | DEPENDS+= libatomic-links>=0:../../devel/libatomic-links | | 612 | DEPENDS+= libatomic-links>=0:../../devel/libatomic-links |
612 | .endif | | 613 | .endif |
613 | | | 614 | |
614 | BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake | | 615 | BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake |