pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Rust: incomplete update to 1.17



Module Name:	pkgsrc-wip
Committed By:	coypu <coypu%sdf.org@localhost>
Pushed By:	coypu
Date:		Mon May 22 00:59:02 2017 +0300
Changeset:	bd5a90d6736c3823017d4f2334e69d8dbd4bf260

Modified Files:
	rust/Makefile
	rust/distinfo
Added Files:
	rust/TODO
	rust/available.mk
	rust/files/config.toml
Removed Files:
	rust/patches/patch-mk_cfg_x86__64-apple-darwin.mk
	rust/patches/patch-mk_main.mk
	rust/patches/patch-mk_rt.mk
	rust/patches/patch-mk_rustllvm.mk
	rust/patches/patch-src_etc_local__stage0.sh
	rust/patches/patch-src_grammar_check.sh
	rust/patches/patch-src_libcompiler__builtins_build.rs
	rust/patches/patch-src_librustc__trans_back_linker.rs
	rust/patches/patch-src_libstd_rtdeps.rs
	rust/patches/patch-src_libstd_sys_unix_os.rs
	rust/patches/patch-src_llvm_utils_buildit_build__llvm
	rust/patches/patch-src_rust-installer_gen-install-script.sh
	rust/patches/patch-src_rust-installer_gen-installer.sh
	rust/patches/patch-src_rust-installer_install-template.sh

Log Message:
Rust: incomplete update to 1.17

Missing:
actually install
distinfo for more targets (sorry)
bootstrap target for the future

possibly patches etc.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=bd5a90d6736c3823017d4f2334e69d8dbd4bf260

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 rust/Makefile                                      | 235 ++++------------
 rust/TODO                                          |  10 +
 rust/available.mk                                  |  12 +
 rust/distinfo                                      |  59 ++--
 rust/files/config.toml                             | 306 +++++++++++++++++++++
 rust/patches/patch-mk_cfg_x86__64-apple-darwin.mk  |  15 -
 rust/patches/patch-mk_main.mk                      |  15 -
 rust/patches/patch-mk_rt.mk                        |  18 --
 rust/patches/patch-mk_rustllvm.mk                  |  18 --
 rust/patches/patch-src_etc_local__stage0.sh        |  26 --
 rust/patches/patch-src_grammar_check.sh            |  15 -
 .../patch-src_libcompiler__builtins_build.rs       |  15 -
 .../patch-src_librustc__trans_back_linker.rs       |  15 -
 rust/patches/patch-src_libstd_rtdeps.rs            |  19 --
 rust/patches/patch-src_libstd_sys_unix_os.rs       |  15 -
 .../patch-src_llvm_utils_buildit_build__llvm       |  15 -
 .../patch-src_rust-installer_gen-install-script.sh |  15 -
 .../patch-src_rust-installer_gen-installer.sh      |  25 --
 .../patch-src_rust-installer_install-template.sh   |  18 --
 19 files changed, 400 insertions(+), 466 deletions(-)

diffs:
diff --git a/rust/Makefile b/rust/Makefile
index ac227589ce..b57b9beb42 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -1,9 +1,10 @@
 # $NetBSD: Makefile,v 1.7 2017/03/20 11:36:35 jperkin Exp $
 
-DISTNAME=	rustc-1.16.0-src
+DISTNAME=	rustc-1.17.0-src
 PKGNAME=	${DISTNAME:S/rustc/rust/:S/-src//}
 CATEGORIES=	lang
 MASTER_SITES=	http://static.rust-lang.org/dist/
+MASTER_SITES+=	https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=	http://www.rust-lang.org/
@@ -11,204 +12,78 @@ COMMENT=	Safe, concurrent, practical language
 LICENSE=	mit OR apache-2.0
 
 USE_GCC_RUNTIME=	yes
-USE_LANGUAGES=		c c++
 USE_TOOLS+=		bash gmake
 
-HAS_CONFIGURE=		yes
-CONFIGURE_ARGS+=	--prefix=${PREFIX}
-CONFIGURE_ARGS+=	--build=${RUST_ARCH}
-CONFIGURE_ARGS+=	--mandir=${PREFIX}/${PKGMANDIR}
-CONFIGURE_ARGS+=	--release-channel=stable
-CONFIGURE_ENV+=		CFG_DISABLE_CODEGEN_TESTS=1
-
-#
-# Use the Makefile-based build system.  Unfortunately this will be going away,
-# likely in the next release, forcing us to use a cargo-based system which will
-# require further binary bootstraps.  Hold out as long as we can.
-#
-CONFIGURE_ARGS+=	--disable-rustbuild
-
 UNLIMIT_RESOURCES+=	cputime
 
-REPLACE_BASH+=	src/rust-installer/gen-install-script.sh
-REPLACE_BASH+=	src/rust-installer/gen-installer.sh
-
-#
-# Lots of per-platform specific documentation, e.g. for each system call,
-# making it difficult to PLIST.  If it ends up being important we'll just have
-# to go with lots of PLIST.${OPSYS}
-#
-CONFIGURE_ARGS+=	--disable-docs
-
-TEST_TARGET=	check
+# builtin LLVM pulls in c++11 and requires GCC 4.8
+USE_LANGUAGES=		c c++11
+GCC_REQD+=		4.8
 
-# Required for LLVM (-std=c++11)
-GCC_REQD+=	4.8
+REPLACE_BASH+=			src/rust-installer/gen-install-script.sh
+REPLACE_BASH+=			src/rust-installer/gen-installer.sh
+CHECK_PORTABILITY_SKIP=		src/rust-installer/gen-install*
+CHECK_PORTABILITY_SKIP+=	src/grammar/check.sh
 
 .include "../../mk/bsd.prefs.mk"
 
-#
-# Use jemalloc on systems where rust does by default too.
-#
-PLIST_VARS+=		jemalloc
-.if ${OPSYS} == "Linux" || ${OPSYS} == "Darwin"
-.  include "../../devel/jemalloc/buildlink3.mk"
-CONFIGURE_ARGS+=	--jemalloc-root=${BUILDLINK_PREFIX.jemalloc}/lib
-PLIST.jemalloc=		yes
+DISTFILES:=		${DEFAULT_DISTFILES}
+RUST_STAGE0_VER=	1.16.0
+CARGO_STAGE0_VER=	0.17.0
+
+# If these are wrong, rust will begin fetching and creating these directories
+# in rustc*-src/build/cache.
+RUSTC_BULLSHIT:=	2017-03-11
+CARGO_BULLSHIT:=	6b05583d71f982bcad049b9fa094c637c062e751
+CARGO_DIRNAME:=		cargo-nightly-${RUST_MACHINE}.tar.gz
+
+# Rust doesn't support pre-i686 Intel
+.if ${MACHINE_ARCH} == "i386"
+RUST_ARCH=		i686
 .else
-CONFIGURE_ARGS+=	--disable-jemalloc
+RUST_ARCH=		${MACHINE_ARCH}
 .endif
 
-#
-# Under NetBSD, do not use DT_RUNPATH
-#
-BUILDLINK_TRANSFORM.NetBSD+=	rm:-Wl,--enable-new-dtags
-
-#
-# Can't use pkgsrc llvm on SunOS at the moment due to a relocation error.
-#
-.if ${OPSYS} != "SunOS"
-.  include "../../lang/llvm/buildlink3.mk"
-CONFIGURE_ARGS+=	--llvm-root=${BUILDLINK_PREFIX.llvm}
+.if !empty(LOWER_VENDOR)
+RUST_VENDOR=		${LOWER_VENDOR}
+.else
+RUST_VENDOR=		unknown
 .endif
 
-#
-# Rust unfortunately requires itself to build.  On platforms which aren't
-# supported by upstream (where they offer binary bootstraps), or where we do
-# not trust random binaries from the Internet, we need to build and provide our
-# own bootstrap.  See the stage0-bootstrap below for more details.
-#
-CONFIGURE_ARGS+=	--enable-local-rust
-CONFIGURE_ARGS+=	--local-rust-root=${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}/rustc
-#
-DISTFILES:=		${DEFAULT_DISTFILES}
-RUST_STAGE0_VER=	1.15.1
-#
-.if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH:=		i686-apple-darwin
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-.endif
-.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH:=		x86_64-apple-darwin
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-.endif
-.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH:=		i686-unknown-linux-gnu
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-.endif
-.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH:=		x86_64-unknown-linux-gnu
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-.endif
-.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH:=		x86_64-sun-solaris
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-SITES.${RUST_STAGE0}=	https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-.endif
-.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-RUST_ARCH=		x86_64-unknown-netbsd
-RUST_STAGE0:=		rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-DISTFILES:=		${DISTFILES} ${RUST_STAGE0}
-.endif
+RUST_MACHINE=		${RUST_ARCH}-${RUST_VENDOR}-${LOWER_OPSYS}
 
-.if !defined(RUST_ARCH)
-NOT_FOR_PLATFORM+=	${MACHINE_PLATFORM}
-.endif
+RUSTC_STAGE0:=		rustc-${RUST_STAGE0_VER}-${RUST_MACHINE}.tar.gz
+RUST_STD_STAGE0:=       rust-std-${RUST_STAGE0_VER}-${RUST_MACHINE}.tar.gz
+CARGO_STAGE0:=          cargo-${CARGO_STAGE0_VER}-${RUST_MACHINE}.tar.gz
+DISTFILES:=             ${DISTFILES} ${RUSTC_STAGE0} ${RUST_STD_STAGE0} ${CARGO_STAGE0}
 
-PLIST_SRC=		PLIST
-.if ${OPSYS} == "Darwin"
-PLIST_SRC+=		PLIST.lldb
-.else
-PLIST_SRC+=		PLIST.gdb
-.endif
+pre-extract:
+	${MKDIR} ${WRKSRC}/build/cache/${RUSTC_BULLSHIT} \
+	         ${WRKSRC}/build/cache/${CARGO_BULLSHIT}
+	${CP} ${DISTDIR}/${RUSTC_STAGE0} ${WRKSRC}/build/cache/${RUSTC_BULLSHIT}
+	${CP} ${DISTDIR}/${RUST_STD_STAGE0} ${WRKSRC}/build/cache/${RUSTC_BULLSHIT}
+	${CP} ${DISTDIR}/${CARGO_STAGE0} ${WRKSRC}/build/cache/${CARGO_BULLSHIT}/${CARGO_DIRNAME}
 
-OPSYSVARS+=		SOEXT
-SOEXT.Darwin=		dylib
-SOEXT.*=		so
-
-RUST_VERHASH=		63283ac5
-PLIST_SUBST+=		RUST_ARCH=${RUST_ARCH:Q}
-PLIST_SUBST+=		RUST_VERHASH=${RUST_VERHASH:Q}
-PLIST_SUBST+=		SOEXT=${SOEXT:Q}
-PRINT_PLIST_AWK+=	{ gsub(/${RUST_ARCH}/, "$${RUST_ARCH}") }
-PRINT_PLIST_AWK+=	{ gsub(/${RUST_VERHASH}/, "$${RUST_VERHASH}") }
-PRINT_PLIST_AWK+=	{ gsub(/\.${SOEXT}/, ".$${SOEXT}") }
-
-.if ${OPSYS} == "SunOS"
-BUILD_DEPENDS+=		grep>=0:../../textproc/grep
-BUILD_DEPENDS+=		coreutils>=0:../../sysutils/coreutils
-TOOLS_PATH.grep=	${PREFIX}/bin/ggrep
-TOOLS_CREATE+=		md5sum
-TOOLS_PATH.md5sum=	${PREFIX}/bin/gmd5sum
-
-SUBST_CLASSES+=		ranlib
-SUBST_STAGE.ranlib=	pre-configure
-SUBST_FILES.ranlib=	mk/rt.mk
-SUBST_SED.ranlib=	-e 's,RANLIB=.* \\,RANLIB="true" \\,g'
-.endif
+do-configure:
+	${CP} ${FILESDIR}/config.toml ${WRKSRC}/src/bootstrap
 
-post-install:
-	${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log
-
-.if ${OPSYS} == "Darwin"
-.PHONY: fix-darwin-install-name
-post-install: fix-darwin-install-name
-fix-darwin-install-name:
-.  for bin in rustc rustdoc
-	otool -XL ${DESTDIR}${PREFIX}/bin/${bin}			\
-	    | ${GREP} '@rpath' | while read rpath rest; do		\
-		install_name_tool -change $$rpath			\
-		    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/lib,g'` \
-		    ${DESTDIR}${PREFIX}/bin/${bin};			\
-	done
-.  endfor
-.  for libdir in lib lib/rustlib/${RUST_ARCH}/lib
-	for f in ${DESTDIR}${PREFIX}/${libdir}/lib*.dylib; do		\
-		[ ! -f $$f ] && continue;				\
-		install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \
-		otool -XL $$f | grep '@rpath' | while read rpath rest; do \
-			install_name_tool -change $$rpath \
-			    `${ECHO} $$rpath | ${SED} -e 's,@rpath,${PREFIX}/${libdir},g'` \
-			    $$f;					\
-		done;							\
-	done
-.  endfor
-.endif
+SUBST_CLASSES+=		paths
+SUBST_STAGE.paths=	post-configure
+SUBST_FILES.paths=	src/bootstrap/config.toml
+SUBST_SED.paths=	-e 's,@@PREFIX@@,${PREFIX},'
+
+do-build:
+	cd ${WRKSRC}; ${PYTHONBIN} x.py build
+
+# XXX tell it where rustc is
+#do-test:
+#	cd ${WRKSRC}; ${PYTHONBIN} x.py test
+
+BUILDLINK_TRANSFORM.NetBSD+=	rm:-Wl,--enable-new-dtags
 
-#
-# Create a relocatable stage2 bootstrap from the bits we just built that can be
-# used to build the next version of rust.  Currently only tested on SmartOS.
-#
-BOOTSTRAP_TMPDIR=	${WRKDIR}/${PKGNAME}-${RUST_ARCH}/rustc
-USE_TOOLS+=		gtar
-
-stage0-bootstrap: install
-	${MKDIR} ${BOOTSTRAP_TMPDIR}
-	${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/
-	${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/
-.if ${OS_VARIANT} == "SmartOS"
-	for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \
-		${CP} `${PKG_CC} -print-file-name=$${lib}` \
-		    ${BOOTSTRAP_TMPDIR}/lib/; \
-	done
-	for f in ${BOOTSTRAP_TMPDIR}/bin/rust{c,doc}; do \
-		/usr/bin/elfedit -e 'dyn:runpath $$ORIGIN/../lib' $$f; \
-	done
-	for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \
-		/usr/bin/elfedit -e 'dyn:runpath $$ORIGIN' $$f; \
-	done
-	for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/${RUST_ARCH}/lib/*.so*; do \
-		/usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..' $$f; \
-	done
-.endif
-	(cd ${WRKDIR}; \
-	 ${GTAR} -zcf ${PKGNAME}-${RUST_ARCH}.tar.gz ${PKGNAME}-${RUST_ARCH})
 
+# XXX using builtin LLVM
+#.include "../../lang/llvm/buildlink3.mk"
 .include "../../devel/cmake/buildlink3.mk"
 .include "../../lang/python/tool.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/rust/TODO b/rust/TODO
new file mode 100644
index 0000000000..06f0c55a68
--- /dev/null
+++ b/rust/TODO
@@ -0,0 +1,10 @@
+IMPORTANT:
+Currently lacking an install / PLIST!
+Need bootstrap for platforms for which upstream doesn't release binaries
+
+Secondary:
+Test target doesn't work
+
+Maybe not worth caring about:
+LLVM is builtin, not a dependency (jakllsch mentions it might be hard to tear out)
+make distinfo is currently a lot more of a pain
diff --git a/rust/available.mk b/rust/available.mk
new file mode 100644
index 0000000000..55f66be507
--- /dev/null
+++ b/rust/available.mk
@@ -0,0 +1,12 @@
+.include "../../mk/bsd.prefs.mk"
+
+.if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || \
+    !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || \
+    !empty(MACHINE_PLATFORM:MLinux-*-i386) || \
+    !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || \
+    !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || \
+    !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64)
+RUST_AVAILABLE=		yes
+.else
+RUST_AVAILABLE=		no
+.endif
diff --git a/rust/distinfo b/rust/distinfo
index d83f47346d..283d62c09a 100644
--- a/rust/distinfo
+++ b/rust/distinfo
@@ -1,46 +1,21 @@
-$NetBSD: distinfo,v 1.6 2017/03/20 11:36:35 jperkin Exp $
+$NetBSD$
 
-SHA1 (rust-1.15.1-i686-apple-darwin.tar.gz) = 485da035b78b3c3df3800d03c3d77bb7a48045d1
-RMD160 (rust-1.15.1-i686-apple-darwin.tar.gz) = 6cded9fd39adfbb0abf71db9859d09ba88de377d
-SHA512 (rust-1.15.1-i686-apple-darwin.tar.gz) = d6b57a25d4d37601534bafdb3381e228439b93fca2b38d6e2732763c0db0ef7585d08eb23eae573316c25da1739db4a685446a4c1d46ad65012d74c039129da1
-Size (rust-1.15.1-i686-apple-darwin.tar.gz) = 88072291 bytes
-SHA1 (rust-1.15.1-i686-unknown-linux-gnu.tar.gz) = eebfb3cac6c184636bd53833153cac9065505eed
-RMD160 (rust-1.15.1-i686-unknown-linux-gnu.tar.gz) = f4ffe7273b1ea957380e5b558b9959bb6eab16bf
-SHA512 (rust-1.15.1-i686-unknown-linux-gnu.tar.gz) = 13d602842e7a2ef360c80d3ec84ecd5d6c742ea6dad642394a2a57b28554a7758905b37daaf2bcc549428c5f9383307270f8508e8685748b906fc2b9230bc4ad
-Size (rust-1.15.1-i686-unknown-linux-gnu.tar.gz) = 103889253 bytes
-SHA1 (rust-1.15.1-x86_64-apple-darwin.tar.gz) = 6e74cc85e2715e474507ad1d93460b9935d595a6
-RMD160 (rust-1.15.1-x86_64-apple-darwin.tar.gz) = 06de1a7c8a2091f3edddc6d6b646abf28beeb197
-SHA512 (rust-1.15.1-x86_64-apple-darwin.tar.gz) = 89be9b7c3aed84fa5fd22d7716be2853fe357002278ac39d47ca796af5529d9d8088e1270ff19f945b0ea019c4267304604b298f97b8e784833f638790bee616
-Size (rust-1.15.1-x86_64-apple-darwin.tar.gz) = 88555672 bytes
-SHA1 (rust-1.15.1-x86_64-sun-solaris.tar.gz) = 139368a49af76b7b50d52d3833a4158267f4635d
-RMD160 (rust-1.15.1-x86_64-sun-solaris.tar.gz) = 546406c0e30805cbb5b12c784700f4308a1f92fe
-SHA512 (rust-1.15.1-x86_64-sun-solaris.tar.gz) = c194222b9c4902e7bea70c0186fc7700171dd53fd289eae6e6dc0f76eaed9e38d24e529dc58a02c1f5d2ae810a1d8f9ce0acae95ca77e6de4346f31d55710283
-Size (rust-1.15.1-x86_64-sun-solaris.tar.gz) = 150925338 bytes
-SHA1 (rust-1.15.1-x86_64-unknown-linux-gnu.tar.gz) = a365f91afa204648e184d3a7622710f59eff9e0a
-RMD160 (rust-1.15.1-x86_64-unknown-linux-gnu.tar.gz) = d232056afc8165735f54c03e894bdd25ccd66ae0
-SHA512 (rust-1.15.1-x86_64-unknown-linux-gnu.tar.gz) = e089c455b1a7507aeed4652f05c0672c4e996e708c46f4405191f4b3a9d08403cab27f1a5a63f865d9a8f099f6ca980d2d2eef37aaa5e7e5bd751a3224e88b84
-Size (rust-1.15.1-x86_64-unknown-linux-gnu.tar.gz) = 101140146 bytes
-SHA1 (rust-1.15.1-x86_64-unknown-netbsd.tar.gz) = 25c896281edba32345b26e1df6c122891cbcd9cd
-RMD160 (rust-1.15.1-x86_64-unknown-netbsd.tar.gz) = 702483df09ea415eb75c031949c82b966236333c
-SHA512 (rust-1.15.1-x86_64-unknown-netbsd.tar.gz) = f733f86db05bfeee0da4fb3d38e0d9ef728ca2fd958662d532e50567370b9245b4af5ed9761fe8dbba1f13f4c9e91159eda2ebdb70d102bb246adf982b86379b
-Size (rust-1.15.1-x86_64-unknown-netbsd.tar.gz) = 104073599 bytes
-SHA1 (rustc-1.16.0-src.tar.gz) = c0a66ad539b1ca9f3b1d174f4a233228cb422cd7
-RMD160 (rustc-1.16.0-src.tar.gz) = 42bb8759c98787d07293d81e45183fe5cf55ebc2
-SHA512 (rustc-1.16.0-src.tar.gz) = 096b1b7406be9bc61161bb7cdd2061f2bc2174c161a31f4ed6ceecf7fc379f315fc2f7cb9f6c134ea4f8519c27bf6e5a3f712cf1e56d5785831d8c8374eb0ba5
-Size (rustc-1.16.0-src.tar.gz) = 28470372 bytes
-SHA1 (patch-mk_cfg_x86__64-apple-darwin.mk) = 37b50b64ea5607588d541852e07f02a4611d38c8
-SHA1 (patch-mk_main.mk) = d821a86920e563618d00d5428d6dd9056d7c7fdb
-SHA1 (patch-mk_rt.mk) = d98d1cd2f87d25c0be4e8709bac33f15c7e924e6
-SHA1 (patch-mk_rustllvm.mk) = 285fb33ce5477d18914289323c0e2db16cc7ccae
+SHA1 (cargo-0.17.0-x86_64-unknown-netbsd.tar.gz) = 4217419a81ad1a2667c9c7a5c83f9b21decc0e1d
+RMD160 (cargo-0.17.0-x86_64-unknown-netbsd.tar.gz) = 656dd699424546df14fe2274f413127b157aa52f
+SHA512 (cargo-0.17.0-x86_64-unknown-netbsd.tar.gz) = 88a4dd14305db3c93ad579cc5115ec21967f9276ca31b5f005c648e92e78b0e8113c3c813f408187065fdb94f230d6f35f6b761bbd93488336c64fbd07ff10ff
+Size (cargo-0.17.0-x86_64-unknown-netbsd.tar.gz) = 4378248 bytes
+SHA1 (rust-std-1.16.0-x86_64-unknown-netbsd.tar.gz) = 650ce93e362f57fe95adc5d509ec468a0071f29b
+RMD160 (rust-std-1.16.0-x86_64-unknown-netbsd.tar.gz) = b98cba7d53caab01a72e60600d40547742c11788
+SHA512 (rust-std-1.16.0-x86_64-unknown-netbsd.tar.gz) = 798bf36b2436a2924f716210a60d32b1a4a52094f92b12eb05b9962469986cd806c511408b5c0d03fe6d8a4d20df720a0f3dbdc6170287adb638b11d0f97684a
+Size (rust-std-1.16.0-x86_64-unknown-netbsd.tar.gz) = 53826344 bytes
+SHA1 (rustc-1.16.0-x86_64-unknown-netbsd.tar.gz) = af23477dce1ef29f781254c1381fac48725ccf8e
+RMD160 (rustc-1.16.0-x86_64-unknown-netbsd.tar.gz) = 75873a69e29eb998ea59e765be268f7c330cf85f
+SHA512 (rustc-1.16.0-x86_64-unknown-netbsd.tar.gz) = f4638ef98555a6801924a0fd86882e3975468a8f1f0b02c295bc0c263c134af133a72df8566facb99be7795edc4ebdfb77ba1620440fce7d591f09dafab28f94
+Size (rustc-1.16.0-x86_64-unknown-netbsd.tar.gz) = 39947139 bytes
+SHA1 (rustc-1.17.0-src.tar.gz) = 68dccc81901b75e0fce2a34c015d754593fa79c2
+RMD160 (rustc-1.17.0-src.tar.gz) = 5f7a316fd5f703359a48aee020caad6025a50b71
+SHA512 (rustc-1.17.0-src.tar.gz) = 781799b29d83b4f0f433814bd818df034526db8e7f88c2df51d3b814eacafe8098d4bbe47ace951e1943325b3267b244007cf04f1f11083645b25aeacd40ebb6
+Size (rustc-1.17.0-src.tar.gz) = 31570599 bytes
 SHA1 (patch-src_compiler-rt_lib_builtins_CMakeLists.txt) = 288870c40b5e4ce29cbfb19cc9f56d35152c47fa
-SHA1 (patch-src_etc_local__stage0.sh) = 31c7eb5fdb5eae61132c8e46998a15b5e5ea7015
-SHA1 (patch-src_grammar_check.sh) = 6958b994da4b04b74cb2d25f026932a19cd80b8a
-SHA1 (patch-src_libcompiler__builtins_build.rs) = 5a57625071a3422e79c7e5a69426aeedd1512633
-SHA1 (patch-src_librustc__trans_back_linker.rs) = 4fee3a23665ebc192b249112faf6e85f4cfacd13
-SHA1 (patch-src_libstd_rtdeps.rs) = ed271c5b83a8d623469abd39a2d072bfffbcc890
-SHA1 (patch-src_libstd_sys_unix_os.rs) = 72eec2cc3d44445dd2636e7c46c9b4a0cf888f88
 SHA1 (patch-src_llvm_cmake_modules_AddLLVM.cmake) = 282d97cce8d01cfefe565185d4999c2db9ccc13f
 SHA1 (patch-src_llvm_lib_CodeGen_MachineDominanceFrontier.cpp) = 2899771b1a23be840b9305eff7e5e5f957239ccb
-SHA1 (patch-src_rust-installer_gen-install-script.sh) = 1b1e9c0ab6e9395b4138dcc15a385952a1138158
-SHA1 (patch-src_rust-installer_gen-installer.sh) = 024b888ae40ecdadb4f3a8fa7865fba0a0590a5b
-SHA1 (patch-src_rust-installer_install-template.sh) = d42b6d55fdbb8640cee75588a230efb3c2641e32
diff --git a/rust/files/config.toml b/rust/files/config.toml
new file mode 100644
index 0000000000..9043725207
--- /dev/null
+++ b/rust/files/config.toml
@@ -0,0 +1,306 @@
+# Sample TOML configuration file for building Rust.
+#
+# To configure rustbuild, copy this file to the directory from which you will be
+# running the build, and name it config.toml.
+#
+# All options are commented out by default in this file, and they're commented
+# out with their default values. The build system by default looks for
+# `config.toml` in the current directory of a build for build configuration, but
+# a custom configuration file can also be specified with `--config` to the build
+# system.
+
+# =============================================================================
+# Tweaking how LLVM is compiled
+# =============================================================================
+[llvm]
+
+# Indicates whether the LLVM build is a Release or Debug build
+optimize = true
+
+# Indicates whether an LLVM Release build should include debug info
+release-debuginfo = false
+
+# Indicates whether the LLVM assertions are enabled or not
+#assertions = false
+
+# Indicates whether ccache is used when building LLVM
+#ccache = false
+# or alternatively ...
+#ccache = "/path/to/ccache"
+
+# If an external LLVM root is specified, we automatically check the version by
+# default to make sure it's within the range that we're expecting, but setting
+# this flag will indicate that this version check should not be done.
+#version-check = false
+
+# Link libstdc++ statically into the librustc_llvm instead of relying on a
+# dynamic version to be available.
+#static-libstdcpp = false
+
+# Tell the LLVM build system to use Ninja instead of the platform default for
+# the generated build system. This can sometimes be faster than make, for
+# example.
+#ninja = false
+
+# LLVM targets to build support for.
+# Note: this is NOT related to Rust compilation targets. However, as Rust is
+# dependent on LLVM for code generation, turning targets off here WILL lead to
+# the resulting rustc being unable to compile for the disabled architectures.
+# Also worth pointing out is that, in case support for new targets are added to
+# LLVM, enabling them here doesn't mean Rust is automatically gaining said
+# support. You'll need to write a target specification at least, and most
+# likely, teach rustc about the C ABI of the target. Get in touch with the
+# Rust team and file an issue if you need assistance in porting!
+#
+#### Excluding targets that are never encountered on pkgsrc! ####
+targets = "X86;ARM;AArch64;Mips;PowerPC;Sparc"
+
+# Cap the number of parallel linker invocations when compiling LLVM.
+# This can be useful when building LLVM with debug info, which significantly
+# increases the size of binaries and consequently the memory required by
+# each linker process.
+# If absent or 0, linker invocations are treated like any other job and
+# controlled by rustbuild's -j parameter.
+#
+#### Wreaks havoc on RAM usage at build time ####
+link-jobs = 1
+
+# Delete LLVM build directory on LLVM rebuild.
+# This option defaults to `false` for local development, but CI may want to
+# always perform clean full builds (possibly accelerated by (s)ccache).
+#clean-rebuild = false
+
+# =============================================================================
+# General build configuration options
+# =============================================================================
+[build]
+
+# Build triple for the original snapshot compiler. This must be a compiler that
+# nightlies are already produced for. The current platform must be able to run
+# binaries of this build triple and the nightly will be used to bootstrap the
+# first compiler.
+#build = "x86_64-unknown-linux-gnu"    # defaults to your host platform
+
+# In addition to the build triple, other triples to produce full compiler
+# toolchains for. Each of these triples will be bootstrapped from the build
+# triple and then will continue to bootstrap themselves. This platform must
+# currently be able to run all of the triples provided here.
+#host = ["x86_64-unknown-linux-gnu"]   # defaults to just the build triple
+
+# In addition to all host triples, other triples to produce the standard library
+# for. Each host triple will be used to produce a copy of the standard library
+# for each target triple.
+#target = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple
+
+# Instead of downloading the src/nightlies.txt version of Cargo specified, use
+# this Cargo binary instead to build all Rust code
+#cargo = "/path/to/bin/cargo"
+
+# Instead of downloading the src/nightlies.txt version of the compiler
+# specified, use this rustc binary instead as the stage0 snapshot compiler.
+#rustc = "/path/to/bin/rustc"
+
+# Flag to specify whether any documentation is built. If false, rustdoc and
+# friends will still be compiled but they will not be used to generate any
+# documentation.
+#docs = true
+
+# Indicate whether the compiler should be documented in addition to the standard
+# library and facade crates.
+#compiler-docs = false
+
+# Indicate whether submodules are managed and updated automatically.
+#submodules = true
+
+# The path to (or name of) the GDB executable to use. This is only used for
+# executing the debuginfo test suite.
+#gdb = "gdb"
+
+# The node.js executable to use. Note that this is only used for the emscripten
+# target when running tests, otherwise this can be omitted.
+#nodejs = "node"
+
+# Python interpreter to use for various tasks throughout the build, notably
+# rustdoc tests, the lldb python interpreter, and some dist bits and pieces.
+# Note that Python 2 is currently required.
+#python = "python2.7"
+
+# Force Cargo to check that Cargo.lock describes the precise dependency
+# set that all the Cargo.toml files create, instead of updating it.
+#locked-deps = false
+
+# Indicate whether the vendored sources are used for Rust dependencies or not
+#vendor = false
+
+# Typically the build system will build the rust compiler twice. The second
+# compiler, however, will simply use its own libraries to link against. If you
+# would rather to perform a full bootstrap, compiling the compiler three times,
+# then you can set this option to true. You shouldn't ever need to set this
+# option to true.
+#full-bootstrap = false
+
+# Enable a build of the and extended rust tool set which is not only the
+# compiler but also tools such as Cargo. This will also produce "combined
+# installers" which are used to install Rust and Cargo together. This is
+# disabled by default.
+#extended = false
+
+# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose
+#verbose = 0
+
+# Build the sanitizer runtimes
+#sanitizers = false
+
+# Indicates whether the OpenSSL linked into Cargo will be statically linked or
+# not. If static linkage is specified then the build system will download a
+# known-good version of OpenSSL, compile it, and link it to Cargo.
+#openssl-static = false
+
+# =============================================================================
+# General install configuration options
+# =============================================================================
+[install]
+
+# Instead of installing to /usr/local, install to this path instead.
+prefix = "@@PREFIX@@"
+
+# Where to install libraries in `prefix` above
+#libdir = "lib"
+
+# Where to install man pages in `prefix` above
+#mandir = "share/man"
+
+# Where to install documentation in `prefix` above
+#docdir = "share/doc/rust"
+
+# =============================================================================
+# Options for compiling Rust code itself
+# =============================================================================
+[rust]
+
+# Whether or not to optimize the compiler and standard library
+#optimize = true
+
+# Number of codegen units to use for each compiler invocation. A value of 0
+# means "the number of cores on this machine", and 1+ is passed through to the
+# compiler.
+#codegen-units = 1
+
+# Whether or not debug assertions are enabled for the compiler and standard
+# library
+#debug-assertions = false
+
+# Whether or not debuginfo is emitted
+#debuginfo = false
+
+# Whether or not line number debug information is emitted
+#debuginfo-lines = false
+
+# Whether or not to only build debuginfo for the standard library if enabled.
+# If enabled, this will not compile the compiler with debuginfo, just the
+# standard library.
+#debuginfo-only-std = false
+
+# Whether or not jemalloc is built and enabled
+#use-jemalloc = true
+
+# Whether or not jemalloc is built with its debug option set
+#debug-jemalloc = false
+
+# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
+#backtrace = true
+
+# The default linker that will be used by the generated compiler. Note that this
+# is not the linker used to link said compiler.
+#default-linker = "cc"
+
+# The default ar utility that will be used by the generated compiler if LLVM
+# cannot be used. Note that this is not used to assemble said compiler.
+#default-ar = "ar"
+
+# The "channel" for the Rust build to produce. The stable/beta channels only
+# allow using stable features, whereas the nightly and dev channels allow using
+# nightly features
+#channel = "dev"
+
+# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
+# platforms to ensure that the compiler is usable by default from the build
+# directory (as it links to a number of dynamic libraries). This may not be
+# desired in distributions, for example.
+#rpath = true
+
+# Flag indicating whether tests are compiled with optimizations (the -O flag) or
+# with debuginfo (the -g flag)
+#optimize-tests = true
+#debuginfo-tests = true
+
+# Flag indicating whether codegen tests will be run or not. If you get an error
+# saying that the FileCheck executable is missing, you may want to disable this.
+#codegen-tests = true
+
+# =============================================================================
+# Options for specific targets
+#
+# Each of the following options is scoped to the specific target triple in
+# question and is used for determining how to compile each target.
+# =============================================================================
+[target.x86_64-unknown-linux-gnu]
+
+# C compiler to be used to compiler C code and link Rust code. Note that the
+# default value is platform specific, and if not specified it may also depend on
+# what platform is crossing to what platform.
+#cc = "cc"
+
+# C++ compiler to be used to compiler C++ code (e.g. LLVM and our LLVM shims).
+# This is only used for host targets.
+#cxx = "c++"
+
+# Path to the `llvm-config` binary of the installation of a custom LLVM to link
+# against. Note that if this is specifed we don't compile LLVM at all for this
+# target.
+#llvm-config = "../path/to/llvm/root/bin/llvm-config"
+
+# Path to the custom jemalloc static library to link into the standard library
+# by default. This is only used if jemalloc is still enabled above
+#jemalloc = "/path/to/jemalloc/libjemalloc_pic.a"
+
+# If this target is for Android, this option will be required to specify where
+# the NDK for the target lives. This is used to find the C compiler to link and
+# build native code.
+#android-ndk = "/path/to/ndk"
+
+# The root location of the MUSL installation directory. The library directory
+# will also need to contain libunwind.a for an unwinding implementation. Note
+# that this option only makes sense for MUSL targets that produce statically
+# linked binaries
+#musl-root = "..."
+
+# =============================================================================
+# Distribution options
+#
+# These options are related to distribution, mostly for the Rust project itself.
+# You probably won't need to concern yourself with any of these options
+# =============================================================================
+[dist]
+
+# This is the folder of artifacts that the build system will sign. All files in
+# this directory will be signed with the default gpg key using the system `gpg`
+# binary. The `asc` and `sha256` files will all be output into the standard dist
+# output folder (currently `build/dist`)
+#
+# This folder should be populated ahead of time before the build system is
+# invoked.
+#sign-folder = "path/to/folder/to/sign"
+
+# This is a file which contains the password of the default gpg key. This will
+# be passed to `gpg` down the road when signing all files in `sign-folder`
+# above. This should be stored in plaintext.
+#gpg-password-file = "path/to/gpg/password"
+
+# The remote address that all artifacts will eventually be uploaded to. The
+# build system generates manifests which will point to these urls, and for the
+# manifests to be correct they'll have to have the right URLs encoded.
+#
+# Note that this address should not contain a trailing slash as file names will
+# be appended to it.
+#upload-addr = "https://example.com/folder";
diff --git a/rust/patches/patch-mk_cfg_x86__64-apple-darwin.mk b/rust/patches/patch-mk_cfg_x86__64-apple-darwin.mk
deleted file mode 100644
index 62fa567855..0000000000
--- a/rust/patches/patch-mk_cfg_x86__64-apple-darwin.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mk_cfg_x86__64-apple-darwin.mk,v 1.1 2016/09/06 10:36:49 jperkin Exp $
-
-Ensure we can use install_name_tool to fixup after.
-
---- mk/cfg/x86_64-apple-darwin.mk.orig	2016-08-16 01:54:35.000000000 +0000
-+++ mk/cfg/x86_64-apple-darwin.mk
-@@ -13,7 +13,7 @@ CFG_GCCISH_CXXFLAGS_x86_64-apple-darwin 
- CFG_GCCISH_LINK_FLAGS_x86_64-apple-darwin := -dynamiclib -pthread  -framework CoreServices -m64
- CFG_GCCISH_DEF_FLAG_x86_64-apple-darwin := -Wl,-exported_symbols_list,
- CFG_LLC_FLAGS_x86_64-apple-darwin :=
--CFG_INSTALL_NAME_x86_64-apple-darwin = -Wl,-install_name,@rpath/$(1)
-+CFG_INSTALL_NAME_x86_64-apple-darwin = -Wl,-install_name,@rpath/$(1) -Wl,-headerpad_max_install_names
- CFG_EXE_SUFFIX_x86_64-apple-darwin :=
- CFG_WINDOWSY_x86_64-apple-darwin :=
- CFG_UNIXY_x86_64-apple-darwin := 1
diff --git a/rust/patches/patch-mk_main.mk b/rust/patches/patch-mk_main.mk
deleted file mode 100644
index a055dffb3e..0000000000
--- a/rust/patches/patch-mk_main.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mk_main.mk,v 1.1 2017/02/23 09:35:16 jperkin Exp $
-
-Specify full path to stage0 to work around NetBSD $ORIGIN issues.
-
---- mk/main.mk.orig	2017-02-09 01:37:48.000000000 +0000
-+++ mk/main.mk
-@@ -398,7 +398,7 @@ define SREQ
- 
- # Destinations of artifacts for the host compiler
- HROOT$(1)_H_$(3) = $(3)/stage$(1)
--HBIN$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/bin
-+HBIN$(1)_H_$(3) = $$(CURDIR)/$$(HROOT$(1)_H_$(3))/bin
- 
- ifeq ($$(CFG_WINDOWSY_$(3)),1)
- # On Windows we always store host runtime libraries in the 'bin' directory because
diff --git a/rust/patches/patch-mk_rt.mk b/rust/patches/patch-mk_rt.mk
deleted file mode 100644
index a7253845a1..0000000000
--- a/rust/patches/patch-mk_rt.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-mk_rt.mk,v 1.3 2017/02/23 09:35:16 jperkin Exp $
-
-Don't build gcc_personality_v0.o on NetBSD.
-
---- mk/rt.mk.orig	2017-02-09 01:37:48.000000000 +0000
-+++ mk/rt.mk
-@@ -552,9 +552,11 @@ endif
- ifeq ($$(findstring msvc,$(1)),)
- 
- ifeq ($$(findstring freebsd,$(1)),)
-+ifeq ($$(findstring netbsd,$(1)),)
- $(call ADD_INTRINSIC,$(1),gcc_personality_v0.o)
- endif
- endif
-+endif
- 
- ifeq ($$(findstring aarch64,$(1)),aarch64)
- $(foreach intrinsic,comparetf2.o \
diff --git a/rust/patches/patch-mk_rustllvm.mk b/rust/patches/patch-mk_rustllvm.mk
deleted file mode 100644
index 830db7505a..0000000000
--- a/rust/patches/patch-mk_rustllvm.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-mk_rustllvm.mk,v 1.2 2017/02/23 09:35:16 jperkin Exp $
-
-Ensure we can find generated LLVM includes.
-
---- mk/rustllvm.mk.orig	2016-09-27 07:17:04.000000000 +0000
-+++ mk/rustllvm.mk
-@@ -17,11 +17,9 @@ define DEF_RUSTLLVM_TARGETS
- # FIXME: Lately, on windows, llvm-config --includedir is not enough
- # to find the llvm includes (probably because we're not actually installing
- # llvm, but using it straight out of the build directory)
--ifdef CFG_WINDOWSY_$(1)
- LLVM_EXTRA_INCDIRS_$(1)= $$(call CFG_CC_INCLUDE_$(1),$(S)src/llvm/include) \
-                          $$(call CFG_CC_INCLUDE_$(1),\
- 			   $$(CFG_LLVM_BUILD_DIR_$(1))/include)
--endif
- 
- RUSTLLVM_OBJS_CS_$(1) := $$(addprefix rustllvm/, \
- 	RustWrapper.cpp PassWrapper.cpp \
diff --git a/rust/patches/patch-src_etc_local__stage0.sh b/rust/patches/patch-src_etc_local__stage0.sh
deleted file mode 100644
index c666626c8e..0000000000
--- a/rust/patches/patch-src_etc_local__stage0.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-src_etc_local__stage0.sh,v 1.4 2017/02/23 09:35:16 jperkin Exp $
-
--Copy additional libarena required on Darwin.
--Copy GCC support libraries required on SunOS.
-
---- src/etc/local_stage0.sh.orig	2016-12-20 23:34:55.000000000 +0000
-+++ src/etc/local_stage0.sh
-@@ -18,7 +18,7 @@ LIB_PREFIX=lib
- 
- OS=`uname -s`
- case $OS in
--    ("Linux"|"FreeBSD"|"DragonFly"|"Bitrig"|"OpenBSD"|"SunOS"|"Haiku")
-+    ("Linux"|"FreeBSD"|"DragonFly"|"Bitrig"|"OpenBSD"|"SunOS"|"Haiku"|"NetBSD")
-     BIN_SUF=
-     LIB_SUF=.so
-     ;;
-@@ -72,6 +72,9 @@ cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rbm
- cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}serialize*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
- cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}term*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
- cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}proc_macro*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
-+cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}gcc_s*${LIB_SUF}* ${TARG_DIR}/stage0/${LIB_DIR}/
-+cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}ssp*${LIB_SUF}* ${TARG_DIR}/stage0/${LIB_DIR}/
-+cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}stdc++*${LIB_SUF}* ${TARG_DIR}/stage0/${LIB_DIR}/
- 
- # do not fail if one of the above fails, as all we need is a working rustc!
- exit 0
diff --git a/rust/patches/patch-src_grammar_check.sh b/rust/patches/patch-src_grammar_check.sh
deleted file mode 100644
index 61a53be0cb..0000000000
--- a/rust/patches/patch-src_grammar_check.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_grammar_check.sh,v 1.1 2017/02/23 09:35:16 jperkin Exp $
-
-Shell portability fix.
-
---- src/grammar/check.sh.orig	2017-02-09 01:37:48.000000000 +0000
-+++ src/grammar/check.sh
-@@ -9,7 +9,7 @@
- # Argument $1 is the file to check, $2 is the classpath to use, $3 is the path
- # to the grun binary, $4 is the path to the verify binary, $5 is the path to
- # RustLexer.tokens
--if [ "${VERBOSE}" == "1" ]; then
-+if [ "${VERBOSE}" = "1" ]; then
-     set -x
- fi
- 
diff --git a/rust/patches/patch-src_libcompiler__builtins_build.rs b/rust/patches/patch-src_libcompiler__builtins_build.rs
deleted file mode 100644
index fe7101b6a5..0000000000
--- a/rust/patches/patch-src_libcompiler__builtins_build.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_libcompiler__builtins_build.rs,v 1.1 2017/02/23 09:35:16 jperkin Exp $
-
-Don't build gcc_personality_v0.o on NetBSD.
-
---- src/libcompiler_builtins/build.rs.orig	2017-02-09 01:37:48.000000000 +0000
-+++ src/libcompiler_builtins/build.rs
-@@ -251,7 +251,7 @@ fn main() {
-             sources.extend(&["x86_64/floatdidf.c", "x86_64/floatdisf.c", "x86_64/floatdixf.c"]);
-         }
-     } else {
--        if !target.contains("freebsd") {
-+        if !target.contains("freebsd") & !target.contains("netbsd") {
-             sources.extend(&["gcc_personality_v0.c"]);
-         }
- 
diff --git a/rust/patches/patch-src_librustc__trans_back_linker.rs b/rust/patches/patch-src_librustc__trans_back_linker.rs
deleted file mode 100644
index 8f44ddf51a..0000000000
--- a/rust/patches/patch-src_librustc__trans_back_linker.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_librustc__trans_back_linker.rs,v 1.2 2017/02/23 09:35:16 jperkin Exp $
-
-Permit post-install install_name_tool fixup.
-
---- src/librustc_trans/back/linker.rs.orig	2017-02-09 01:37:48.000000000 +0000
-+++ src/librustc_trans/back/linker.rs
-@@ -213,6 +213,8 @@ impl<'a> Linker for GnuLinker<'a> {
-             // the right `-Wl,-install_name` with an `@rpath` in it.
-             if self.sess.opts.cg.rpath ||
-                self.sess.opts.debugging_opts.osx_rpath_install_name {
-+                // Ensure we can use install_name_tool later to fixup.
-+                self.cmd.arg("-Wl,-headerpad_max_install_names");
-                 let mut v = OsString::from("-Wl,-install_name,@rpath/");
-                 v.push(out_filename.file_name().unwrap());
-                 self.cmd.arg(&v);
diff --git a/rust/patches/patch-src_libstd_rtdeps.rs b/rust/patches/patch-src_libstd_rtdeps.rs
deleted file mode 100644
index eb456ffb3e..0000000000
--- a/rust/patches/patch-src_libstd_rtdeps.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-src_libstd_rtdeps.rs,v 1.1 2016/09/06 10:36:49 jperkin Exp $
-
-Support PKGSRC_USE_SSP (ugly for now).
-Add umem.
-
---- src/libstd/rtdeps.rs.orig	2016-08-16 01:54:35.000000000 +0000
-+++ src/libstd/rtdeps.rs
-@@ -43,8 +43,10 @@ extern {}
- 
- #[cfg(target_os = "solaris")]
- #[link(name = "socket")]
--#[link(name = "posix4")]
- #[link(name = "pthread")]
-+// pkgsrc hack until I can figure out how to pass it through properly
-+#[link(name = "ssp")]
-+#[link(name = "umem")]
- extern {}
- 
- // For PNaCl targets, nacl_io is a Pepper wrapper for some IO functions
diff --git a/rust/patches/patch-src_libstd_sys_unix_os.rs b/rust/patches/patch-src_libstd_sys_unix_os.rs
deleted file mode 100644
index f132f91cd2..0000000000
--- a/rust/patches/patch-src_libstd_sys_unix_os.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_libstd_sys_unix_os.rs,v 1.1 2017/02/23 09:35:16 jperkin Exp $
-
-Match prototype (XXX: use POSIX_PTHREAD_SEMANTICS)
-
---- src/libstd/sys/unix/os.rs.orig	2016-12-20 23:34:55.000000000 +0000
-+++ src/libstd/sys/unix/os.rs
-@@ -506,7 +506,7 @@ pub fn home_dir() -> Option<PathBuf> {
-             // getpwuid_r semantics is different on Illumos/Solaris:
-             // http://illumos.org/man/3c/getpwuid_r
-             let result = libc::getpwuid_r(me, passwd, buf.as_mut_ptr(),
--                                          buf.capacity());
-+                                          buf.capacity() as libc::c_int);
-             if result.is_null() { None } else { Some(()) }
-         }
- 
diff --git a/rust/patches/patch-src_llvm_utils_buildit_build__llvm b/rust/patches/patch-src_llvm_utils_buildit_build__llvm
deleted file mode 100644
index c8416e3904..0000000000
--- a/rust/patches/patch-src_llvm_utils_buildit_build__llvm
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_llvm_utils_buildit_build__llvm,v 1.3 2014/07/02 21:27:09 schmonz Exp $
-
-Shell portability fix.
-
---- src/llvm/utils/buildit/build_llvm.orig	2014-06-27 19:54:08.000000000 +0000
-+++ src/llvm/utils/buildit/build_llvm
-@@ -227,7 +227,7 @@ cd $DIR/obj-llvm || exit 1
- 
- # Install the tree into the destination directory.
- make $JOBS_FLAG $COMMON_MAKEFLAGS UNIVERSAL_ARCH="$HOSTS" install
--if ! test $? == 0 ; then
-+if ! test $? = 0 ; then
-     echo "error: LLVM 'make install' failed!"
-     exit 1
- fi 
diff --git a/rust/patches/patch-src_rust-installer_gen-install-script.sh b/rust/patches/patch-src_rust-installer_gen-install-script.sh
deleted file mode 100644
index f847113229..0000000000
--- a/rust/patches/patch-src_rust-installer_gen-install-script.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_rust-installer_gen-install-script.sh,v 1.2 2017/02/23 09:35:16 jperkin Exp $
-
-Do not use /bin/echo, not guaranteed to support -n.
-
---- src/rust-installer/gen-install-script.sh.orig	2016-07-04 18:05:18.000000000 +0000
-+++ src/rust-installer/gen-install-script.sh
-@@ -11,7 +11,7 @@
- 
- set -u
- 
--if [ -x /bin/echo ]; then
-+if [ -x /bin/donotuseecho ]; then
-     ECHO='/bin/echo'
- else
-     ECHO='echo'
diff --git a/rust/patches/patch-src_rust-installer_gen-installer.sh b/rust/patches/patch-src_rust-installer_gen-installer.sh
deleted file mode 100644
index e7ce0d6569..0000000000
--- a/rust/patches/patch-src_rust-installer_gen-installer.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-src_rust-installer_gen-installer.sh,v 1.2 2017/02/23 09:35:16 jperkin Exp $
-
-Do not use /bin/echo, not guaranteed to support -n.
-Unset CDPATH before printing cd output.
-
---- src/rust-installer/gen-installer.sh.orig	2016-09-27 07:18:21.000000000 +0000
-+++ src/rust-installer/gen-installer.sh
-@@ -281,7 +281,7 @@ cp -r "$CFG_IMAGE_DIR/"* "$CFG_WORK_DIR/
- need_ok "couldn't copy source image"
- 
- # Create the manifest
--manifest=`(cd "$CFG_WORK_DIR/$CFG_PACKAGE_NAME/$CFG_COMPONENT_NAME" && find . -type f | sed 's/^\.\///') | sort`
-+manifest=`(unset CDPATH && cd "$CFG_WORK_DIR/$CFG_PACKAGE_NAME/$CFG_COMPONENT_NAME" >/dev/null && find . -type f | sed 's/^\.\///') | sort`
- 
- # Remove files in bulk dirs
- bulk_dirs=`echo "$CFG_BULK_DIRS" | tr "," " "`
-@@ -317,7 +317,7 @@ echo "$rust_installer_version" > "$versi
- 
- # Copy the overlay
- if [ -n "$CFG_NON_INSTALLED_OVERLAY" ]; then
--    overlay_files=`(cd "$CFG_NON_INSTALLED_OVERLAY" && find . -type f)`
-+    overlay_files=`(unset CDPATH && cd "$CFG_NON_INSTALLED_OVERLAY" >/dev/null && find . -type f)`
-     for f in $overlay_files; do
- 	if [ -e "$CFG_WORK_DIR/$CFG_PACKAGE_NAME/$f" ]; then err "overlay $f exists"; fi
- 
diff --git a/rust/patches/patch-src_rust-installer_install-template.sh b/rust/patches/patch-src_rust-installer_install-template.sh
deleted file mode 100644
index 6f9956049b..0000000000
--- a/rust/patches/patch-src_rust-installer_install-template.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-src_rust-installer_install-template.sh,v 1.2 2017/02/23 09:35:16 jperkin Exp $
-
-Support SunOS.
-Fix undefined variable warnings.
-
---- src/rust-installer/install-template.sh.orig	2016-09-27 07:18:21.000000000 +0000
-+++ src/rust-installer/install-template.sh
-@@ -352,6 +352,10 @@ get_host_triple() {
-             _ostype=apple-darwin
-             ;;
- 
-+	SunOS)
-+            _ostype=unknown-solaris
-+            ;;
-+
- 	MINGW*)
-             _ostype=pc-windows-gnu
-             ;;



Home | Main Index | Thread Index | Old Index