Sat Apr 30 21:02:39 2022 UTC ()
rust: future-proof by using OPSYS_VERSION for NetBSD


(nia)
diff -r1.254 -r1.255 pkgsrc/lang/rust/Makefile
diff -r1.13 -r1.14 pkgsrc/lang/rust/platform.mk

cvs diff -r1.254 -r1.255 pkgsrc/lang/rust/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/rust/Makefile 2022/04/23 15:55:31 1.254
+++ pkgsrc/lang/rust/Makefile 2022/04/30 21:02:39 1.255
@@ -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
3DISTNAME= rustc-1.59.0-src 3DISTNAME= rustc-1.59.0-src
4PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} 4PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
5CATEGORIES= lang 5CATEGORIES= lang
6MASTER_SITES= https://static.rust-lang.org/dist/ 6MASTER_SITES= https://static.rust-lang.org/dist/
7PKGREVISION= 1 7PKGREVISION= 1
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://www.rust-lang.org/ 10HOMEPAGE= https://www.rust-lang.org/
11COMMENT= Safe, concurrent, practical language 11COMMENT= Safe, concurrent, practical language
12LICENSE= mit OR apache-2.0 12LICENSE= mit OR apache-2.0
13 13
14CONFLICTS+= rust-bin-[0-9]* 14CONFLICTS+= rust-bin-[0-9]*
15 15
16# uses -std=c++14 16# uses -std=c++14
17GCC_REQD+= 5 17GCC_REQD+= 5
18 18
19USE_GCC_RUNTIME= yes 19USE_GCC_RUNTIME= yes
20USE_LANGUAGES= c c++11 20USE_LANGUAGES= c c++11
21USE_LIBTOOL= yes 21USE_LIBTOOL= yes
22USE_TOOLS+= bash grep gmake perl:build pkg-config 22USE_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. 
26BROKEN_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:
28BROKEN_ON_PLATFORM+= NetBSD-8.*-*arm* 25BROKEN_ON_PLATFORM+= NetBSD-8.*-*arm*
29BROKEN_ON_PLATFORM+= NetBSD-8.*-aarch64 26BROKEN_ON_PLATFORM+= NetBSD-8.*-aarch64
30BROKEN_ON_PLATFORM+= NetBSD-8.*-sparc64 27BROKEN_ON_PLATFORM+= NetBSD-8.*-sparc64
31 28
32HAS_CONFIGURE= yes 29HAS_CONFIGURE= yes
33PYTHON_FOR_BUILD_ONLY= yes 30PYTHON_FOR_BUILD_ONLY= yes
34CONFIG_SHELL= ${PYTHONBIN} 31CONFIG_SHELL= ${PYTHONBIN}
35CONFIGURE_SCRIPT= src/bootstrap/configure.py 32CONFIGURE_SCRIPT= src/bootstrap/configure.py
36CONFIGURE_ARGS+= --prefix=${PREFIX} 33CONFIGURE_ARGS+= --prefix=${PREFIX}
37CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} 34CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
38CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} 35CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
39CONFIGURE_ARGS+= --python=${PYTHONBIN} 36CONFIGURE_ARGS+= --python=${PYTHONBIN}
@@ -72,26 +69,30 @@ MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARG @@ -72,26 +69,30 @@ MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARG
72CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS 69CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS
73MAKE_ENV.SunOS+= AR=gar 70MAKE_ENV.SunOS+= AR=gar
74 71
75UNLIMIT_RESOURCES+= cputime datasize virtualsize 72UNLIMIT_RESOURCES+= cputime datasize virtualsize
76 73
77TEST_TARGET= check 74TEST_TARGET= check
78 75
79# bin/* lib/*, but names vary 76# bin/* lib/*, but names vary
80CHECK_RELRO_SUPPORTED= no 77CHECK_RELRO_SUPPORTED= no
81CHECK_SSP_SUPPORTED= no 78CHECK_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
 83BROKEN+= "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"
90MAKE_JOBS_SAFE= yes 91MAKE_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)
95BUILD_TARGET= ${rust.BUILD_TARGET} 96BUILD_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)
283RUST_STAGE0_VER= 1.58.1 284RUST_STAGE0_VER= 1.58.1
284RUST_ARCH= x86_64-unknown-netbsd 285RUST_ARCH= x86_64-unknown-netbsd
285RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz 286RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
286RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz 287RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
287DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} 288DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
288pre-build-fix: 289pre-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)
291RUST_STAGE0_VER= 1.58.1 292RUST_STAGE0_VER= 1.58.1
292RUST_ARCH= powerpc-unknown-netbsd 293RUST_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)
296RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz 297RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
297RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz 298RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}90.tar.gz
298DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} 299DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
299SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} 300SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
300SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} 301SITES.${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)
305RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz 306RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
306RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz 307RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
307DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0} 308DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
308SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} 309SITES.${RUST_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
309SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/} 310SITES.${RUST_STD_STAGE0}= ${MASTER_SITE_LOCAL:=rust/}
310. endif 311. endif
311 312
312pre-build-fix: 313pre-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)
315RUST_STAGE0_VER= 1.58.1 316RUST_STAGE0_VER= 1.58.1
316RUST_ARCH= aarch64-unknown-netbsd 317RUST_ARCH= aarch64-unknown-netbsd
317RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz 318RUST_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
602BUILD_DEPENDS+= compat80>=0:../../emulators/compat80 603BUILD_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:
611DEPENDS+= libatomic-links>=0:../../devel/libatomic-links 612DEPENDS+= libatomic-links>=0:../../devel/libatomic-links
612.endif 613.endif
613 614
614BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake 615BUILD_DEPENDS+= cmake-[0-9]*:../../devel/cmake

cvs diff -r1.13 -r1.14 pkgsrc/lang/rust/platform.mk (expand / switch to unified diff)

--- pkgsrc/lang/rust/platform.mk 2021/11/20 16:09:46 1.13
+++ pkgsrc/lang/rust/platform.mk 2022/04/30 21:02:39 1.14
@@ -1,26 +1,29 @@ @@ -1,26 +1,29 @@
1# $NetBSD: platform.mk,v 1.13 2021/11/20 16:09:46 he Exp $ 1# $NetBSD: platform.mk,v 1.14 2022/04/30 21:02:39 nia Exp $
2 2
3# This file encodes whether a given platform has support for rust. 3# This file encodes whether a given platform has support for rust.
4 4
5# Platforms where rust ought to work but does not require a link to an 5# Platforms where rust ought to work but does not require a link to an
6# open PR. 6# open PR.
7 7
8.if !defined(PLATFORM_SUPPORTS_RUST) 8.if !defined(PLATFORM_SUPPORTS_RUST)
9 9
10# Rust needs NetBSD>7 10. include "../../mk/bsd.fast.prefs.mk"
 11
11. for rust_arch in aarch64 earmv7hf i386 powerpc sparc64 x86_64 12. for rust_arch in aarch64 earmv7hf i386 powerpc sparc64 x86_64
12. for rust_os in Darwin FreeBSD Linux NetBSD SunOS 13. for rust_os in Darwin FreeBSD Linux NetBSD SunOS
13. if ${OPSYS} != "NetBSD" || empty(OS_VERSION:M[0-7].*) 
14RUST_PLATFORMS+= ${rust_os}-*-${rust_arch} 14RUST_PLATFORMS+= ${rust_os}-*-${rust_arch}
15. endif 
16. endfor 15. endfor
17. endfor 16. endfor
18 17
19. for rust_platform in ${RUST_PLATFORMS} 18. if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 080000
20. if !empty(MACHINE_PLATFORM:M${rust_platform}) 19PLATFORM_SUPPORTS_RUST?= no
 20. else
 21. for rust_platform in ${RUST_PLATFORMS}
 22. if !empty(MACHINE_PLATFORM:M${rust_platform})
21PLATFORM_SUPPORTS_RUST= yes 23PLATFORM_SUPPORTS_RUST= yes
22. endif 24. endif
23. endfor 25. endfor
24PLATFORM_SUPPORTS_RUST?= no 26PLATFORM_SUPPORTS_RUST?= no
 27. endif
25 28
26.endif # !defined(PLATFORM_SUPPORTS_RUST) 29.endif # !defined(PLATFORM_SUPPORTS_RUST)