Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/pkgsrc/lang/rust/Makefile,v rcsdiff: /ftp/cvs/cvsroot/pkgsrc/lang/rust/Makefile,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.220 retrieving revision 1.221 diff -u -p -r1.220 -r1.221 --- pkgsrc/lang/rust/Makefile 2021/03/29 08:45:34 1.220 +++ pkgsrc/lang/rust/Makefile 2021/03/30 09:50:14 1.221 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.220 2021/03/29 08:45:34 he Exp $ +# $NetBSD: Makefile,v 1.221 2021/03/30 09:50:14 nia Exp $ DISTNAME= rustc-1.49.0-src PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//} @@ -532,42 +532,28 @@ stage0-bootstrap: install ## Issues specific to: bootstrap AND NetBSD follow -# (I wish this worked on powerpc, but it doesn't since -# I can't build with the internal LLVM, ref. -# https://github.com/rust-lang/rust/issues/65862) - -.if (${OPSYS} == "NetBSD") && \ - ((${MACHINE_ARCH} == "i386") || \ - (${MACHINE_ARCH} == "sparc64") || \ - (${MACHINE_ARCH} == "powerpc")) \ - && (empty(OS_VERSION:M[012345678].*) || \ - !empty(OS_VERSION:M8.99.*)) -# Bootstrap kits are built on 8.0, so that a single bootstrap can run -# on multiple systems. Thus later versions need the compat80 package. -# \todo Explain why this is limited to a small list of architectures, -# and in particular why not x86_64. +# rust-1.48.0 i386 bootstraps are built for 8.0 and still depend on +# base OpenSSL for cargo. Pull in compat80 on 9.x and newer. +.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) && empty(OS_VERSION:M8.*) DEPENDS+= compat80>=0:../../emulators/compat80 .endif -.if (${OPSYS} == "NetBSD") && \ - ((${MACHINE_ARCH} == "i386")) \ - && (empty(OS_VERSION:M[012345678].*) || \ - !empty(OS_VERSION:M8.99.*)) -# Bootstrap kits use openssl, which on NetBSD 8 comes from pkgsrc. -# Therefore the pkgsrc openssl libs need to be present as well. -# The 1.44.1 i686 bootstrap links with pkgsrc openssl. The others do -# not. When the package is built, -# cargo links against pkgsrc openssl, so it must be a run-time -# dependency as well. Forcing USE_BUILTIN.openssl=no results in a -# mysterious heimdal error, but straight DEPENDS seems to result in a -# satisfactory package build. -# While this is icky, it is for the time being better than no rust package. -DEPENDS+= openssl>=1.1:../../security/openssl +# As of 2021-02-25 cargo is only a static binary in x86_64, +# powerpc, and sparc64 bootstraps. +# he@ says this should be fixed after the bootstraps are updated +# to 1.49. +.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || \ + !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || \ + !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) +BUILDLINK_API_DEPENDS.nghttp2+= nghttp2>=1.41.0 +BUILDLINK_API_DEPENDS.curl+= curl>=7.67.0 +. include "../../www/curl/buildlink3.mk" +. include "../../security/openssl/buildlink3.mk" .endif # This is for when we build natively: -.if ((${OPSYS} == "NetBSD") && \ - ((${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH} == "i386"))) +.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || \ + !empty(MACHINE_PLATFORM:MNetBSD-*-i386) # LLVM needs libatomic for 64-bit atomics on powerpc and i386 .include "../../devel/libatomic/buildlink3.mk" # Make those libraries available via a unique directory: