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