summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2018-12-21 23:12:34 +0000
committerhe <he@pkgsrc.org>2018-12-21 23:12:34 +0000
commitff842765e29ab0d0cbaf1395106b010b13010a85 (patch)
tree2e894c3e570b220af61bd3e3b4b761a72e099688 /lang
parent14b4fdcaf0117a52760c02c4ac2e60ca0f754988 (diff)
downloadpkgsrc-ff842765e29ab0d0cbaf1395106b010b13010a85.tar.gz
Upgrade rust to version 1.31.1.
Pkgsrc changes: * Sadly, I had to reinstate the "make tar files" rust code to make it possible to build cross-compiled bootstrap kits. * Add an adjustable "BUILD_TARGET", "dist" for cross-building a bootstrap kit, "build" for a normal native build. * New bootstrap kits built for NetBSD/powerpc, NetBSD/earmv7hf, and NetBSD/sparc64 version 1.31.1. * gcc-wrap script amended to also drop -Wl,--enable-new-dtags (so it could be used outside pkgsrc) * Worked around use of AtomicU64 in release build tool (ugly band-aid patch). Some platforms lack support for that type and associated operations. Upstream changes: - [Fix Rust failing to build on `powerpc-unknown-netbsd`][56562] - [Fix broken go-to-definition in RLS][rls/1171] - [Fix infinite loop on hover in RLS][rls/1170] [56562]: https://github.com/rust-lang/rust/pull/56562 [rls/1171]: https://github.com/rust-lang/rls/issues/1171 [rls/1170]: https://github.com/rust-lang/rls/pull/1170
Diffstat (limited to 'lang')
-rw-r--r--lang/rust/Makefile82
-rw-r--r--lang/rust/distinfo45
-rw-r--r--lang/rust/files/gcc-wrap3
-rw-r--r--lang/rust/patches/patch-src_tools_rls_src_cmd.rs24
-rw-r--r--lang/rust/patches/patch-src_tools_rls_src_server_io.rs39
-rw-r--r--lang/rust/patches/patch-src_tools_rust-installer_src_generator.rs26
6 files changed, 144 insertions, 75 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index d751a08efa1..c1807d24f46 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.69 2018/12/15 12:41:43 jperkin Exp $
+# $NetBSD: Makefile,v 1.70 2018/12/21 23:12:34 he Exp $
-DISTNAME= rustc-1.31.0-src
+DISTNAME= rustc-1.31.1-src
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
CATEGORIES= lang
MASTER_SITES= http://static.rust-lang.org/dist/
@@ -39,6 +39,10 @@ CONFIGURE_ARGS+= --disable-ninja
#CONFIGURE_ARGS+= --llvm-root=${BUILDLINK_PREFIX.llvm}
CONFIGURE_ARGS.SunOS+= --disable-jemalloc
+# Use "dist" build target for cross compile of bootstrap
+#BUILD_TARGET= dist
+BUILD_TARGET= build
+
# The gcc-wrap / c++-wrap script takes CROSS_ROOT environment variable
# to do a cross-build. The wrapper script assumes dest/ and tools/
# as a result of a cross-build as subdirectories of this root
@@ -51,15 +55,15 @@ CONFIGURE_ARGS.SunOS+= --disable-jemalloc
#GNU_CROSS_TARGET= armv7--netbsdelf-eabihf
#GNU_CROSS_TARGET= sparc64--netbsd
#GNU_CROSS_TARGET= powerpc--netbsd
-MAKE_ENV+= GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
+#MAKE_ENV+= GNU_CROSS_TARGET=${GNU_CROSS_TARGET}
# To cross-build rust, you need to specify
# the ultimate target to built for, as well as the
# host the compiler is supposed to run on.
# Rust's target designation
-#TARGET= armv7-unknown-netbsd-eabihf
-#TARGET= sparc64-unknown-netbsd
-#TARGET= powerpc-unknown-netbsd
+#TARGET= armv7-unknown-netbsd-eabihf
+#TARGET= sparc64-unknown-netbsd
+#TARGET= powerpc-unknown-netbsd
#SCRIPTS= ${WRKDIR}/scripts
#CONFIGURE_ARGS+= --host=${TARGET}
#CONFIGURE_ARGS+= --target=${TARGET}
@@ -211,39 +215,39 @@ RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
pre-build-fix:
.endif
-#.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
-#RUST_STAGE0_VER= 1.30.1
-#RUST_ARCH= powerpc-unknown-netbsd
-#RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-## Do not trust he@.
-#SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
-#SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
-#pre-build-fix:
-#.endif
-#.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
-#RUST_STAGE0_VER= 1.30.1
-#RUST_ARCH= sparc64-unknown-netbsd
-#RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-## Do not trust he@.
-#SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
-#SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
-#pre-build-fix:
-#.endif
-#.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
-#RUST_ARCH= armv7-unknown-netbsd-eabihf
-#RUST_STAGE0_VER= 1.30.1
-#RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) || make(distinfo) || make (makesum) || make(mdi)
+RUST_STAGE0_VER= 1.31.1
+RUST_ARCH= powerpc-unknown-netbsd
+RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
+# Do not trust he@.
+SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
+SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
+pre-build-fix:
+.endif
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo) || make (makesum) || make(mdi)
+RUST_STAGE0_VER= 1.31.1
+RUST_ARCH= sparc64-unknown-netbsd
+RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
## Do not trust he@.
-#SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
-#SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
-#pre-build-fix:
-#.endif
+SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
+SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
+pre-build-fix:
+.endif
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv7hf) || make(distinfo) || make (makesum) || make(mdi)
+RUST_ARCH= armv7-unknown-netbsd-eabihf
+RUST_STAGE0_VER= 1.31.1
+RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
+# Do not trust he@.
+SITES.${RUST_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
+SITES.${RUST_STD_STAGE0}= ftp://golden-delicious.urc.uninett.no/pub/rust/
+pre-build-fix:
+.endif
# You may override RUST_BOOTSTRAP_PATH and RUST_ARCH in mk.conf if you have a local bootstrap compiler.
.if !defined(RUST_ARCH) && !defined(RUST_BOOTSTRAP_PATH)
@@ -312,7 +316,7 @@ pre-build: pre-build-fix
do-build:
cd ${WRKSRC} \
&& ${SETENV} ${MAKE_ENV} \
- ${PYTHONBIN} ./x.py -v build -j ${MAKE_JOBS:U1}
+ ${PYTHONBIN} ./x.py -v ${BUILD_TARGET} -j ${MAKE_JOBS:U1}
do-install:
cd ${WRKSRC} \
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index f6bdc2dfc30..2aa286e20d7 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.49 2018/12/15 12:41:43 jperkin Exp $
+$NetBSD: distinfo,v 1.50 2018/12/21 23:12:34 he Exp $
SHA1 (rust-1.30.0-x86_64-sun-solaris.tar.gz) = d1da4a02bdbb9a46587bc64d4b7987bb3f1aaeab
RMD160 (rust-1.30.0-x86_64-sun-solaris.tar.gz) = 0670575ad4eb63f86d34299104f451463e5fc070
@@ -20,10 +20,10 @@ SHA1 (rust-1.30.1-i686-unknown-netbsd.tar.gz) = b69dc0668f2cccb142de6e2f9677fca4
RMD160 (rust-1.30.1-i686-unknown-netbsd.tar.gz) = 8ea9ccbbdc4952d4cb8acd3ca6baf0b75c2bba96
SHA512 (rust-1.30.1-i686-unknown-netbsd.tar.gz) = 71f7a0090bda6b4e59c83e6a03373b535f49fa3ef84ed5ffee07dc6efcb73a923067948cd5e6e30920cba09c62493c368266a5a81dad6b08a78f7f960720b9a2
Size (rust-1.30.1-i686-unknown-netbsd.tar.gz) = 178607401 bytes
-SHA1 (rust-1.30.1-x86_64-apple-darwin.tar.gz) = 473a4a5dcd78ddeb7c404cce16801e6c26659f9f
-RMD160 (rust-1.30.1-x86_64-apple-darwin.tar.gz) = f95902212ddfefb5b16f2d9e0bd2f92c7c4cf692
-SHA512 (rust-1.30.1-x86_64-apple-darwin.tar.gz) = 1af9a47338c3c3751ebe0d107caa7d9c30f9d505a1bee0ccaf82756fba236b2ab0008f843c333e700078c87ee29ababb5e61b591e93b98816b448e3d968683a4
-Size (rust-1.30.1-x86_64-apple-darwin.tar.gz) = 211354077 bytes
+SHA1 (rust-1.30.1-x86_64-apple-darwin.tar.gz) = a5f12d93b7a09f1c2bef77e7bc93439f8d244acc
+RMD160 (rust-1.30.1-x86_64-apple-darwin.tar.gz) = e64b687e5906ad5ab91df17ded7141c84fd8633b
+SHA512 (rust-1.30.1-x86_64-apple-darwin.tar.gz) = b1cd6ff29d1b70e579ff5c4b67bd837972b305588987197dc9fc61b4a4dfc161af4e4c2b005e99dff58e3159e3a61361e8f62e909532c6984f4301c8e9f8f543
+Size (rust-1.30.1-x86_64-apple-darwin.tar.gz) = 87933392 bytes
SHA1 (rust-1.30.1-x86_64-unknown-freebsd.tar.gz) = bf54b05ef89db6bd730478141cbfe0381d88f30a
RMD160 (rust-1.30.1-x86_64-unknown-freebsd.tar.gz) = 1917b2b3ceb8e4e918a2a56d9da95cb679ea94f4
SHA512 (rust-1.30.1-x86_64-unknown-freebsd.tar.gz) = c5d651a93b210565fb460684bc570c57d5d381b4cefebff7bab913c3c3ae1cd58971b322a4c40ecedc3ece101357734043686c6ec6030fb3949784073e0ee145
@@ -36,6 +36,18 @@ SHA1 (rust-1.30.1-x86_64-unknown-netbsd.tar.gz) = 36f5db64fff80de6215a2b7299aa50
RMD160 (rust-1.30.1-x86_64-unknown-netbsd.tar.gz) = d99feb41309fd644c05ea4bbf3649f2d4e0d2e99
SHA512 (rust-1.30.1-x86_64-unknown-netbsd.tar.gz) = cf4fdc7b5ed2851a514d9c1bf6ff789c7a307be2da49e86ac9b126794ca037ae587fb40fe8d080393d1fa4c0ace6144dbb2070c19e8b4b4eaa32fd814abdb167
Size (rust-1.30.1-x86_64-unknown-netbsd.tar.gz) = 173425702 bytes
+SHA1 (rust-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = a3f4425d3a4fa2b0521cd87b293192dc87baeb22
+RMD160 (rust-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = 5eeb1a7eacf4880958068df1d694d2519807464b
+SHA512 (rust-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = 2293f48474201590925c67d8bdb1bbdee4bf18377ac0dc2a9f7c137fb1a5a59626ae3ca68628875c88e4eee8d6e5d82d920830efde780e31c0d26a164c6f7040
+Size (rust-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = 214284901 bytes
+SHA1 (rust-1.31.1-powerpc-unknown-netbsd.tar.gz) = 18673f5548eb8e4aee25a458a83f8cbb6b2acde9
+RMD160 (rust-1.31.1-powerpc-unknown-netbsd.tar.gz) = bc39a1b0994e551e439ca019eb04049948d4bec9
+SHA512 (rust-1.31.1-powerpc-unknown-netbsd.tar.gz) = 7c24f61c4f6ef9794c03bb079dc8a91a0d5f36d139864ca938edc7b4d8efe31bb73ba8b412ec3d322bae830fb0a079d4ad10673926806a58dab1dcce1a5ae823
+Size (rust-1.31.1-powerpc-unknown-netbsd.tar.gz) = 220507711 bytes
+SHA1 (rust-1.31.1-sparc64-unknown-netbsd.tar.gz) = 1930e26264d000538aeb65f478e986ce840a3519
+RMD160 (rust-1.31.1-sparc64-unknown-netbsd.tar.gz) = 51c94ee6daee468dae1fa130c45c1a604234222e
+SHA512 (rust-1.31.1-sparc64-unknown-netbsd.tar.gz) = ec7df6e0e5069c6d5f5e5545c7ebca16430826c9eacc4e23d3b0036de37860d32f970fdfcd4a46d81ccef5d06ee8f8e3ae2e328c2b1c4e81a6bcfb8c7e9cf04d
+Size (rust-1.31.1-sparc64-unknown-netbsd.tar.gz) = 215736328 bytes
SHA1 (rust-std-1.30.1-i686-apple-darwin.tar.gz) = 6fccebb77050ab0cbc1712f6c405db1b36f5aafd
RMD160 (rust-std-1.30.1-i686-apple-darwin.tar.gz) = ccf93779c04465097067f512ec9ba38c2a6ce02a
SHA512 (rust-std-1.30.1-i686-apple-darwin.tar.gz) = bcd4919e2c19839ef8b53fce7cabf800f09fed11a118649b8e6bdb74f974a1f7f9ac69d8eb2e1dc24ab74dd668aebafc2487936e596447768d474a194b527751
@@ -68,10 +80,22 @@ SHA1 (rust-std-1.30.1-x86_64-unknown-netbsd.tar.gz) = 881829aa871752c5d10fd294ba
RMD160 (rust-std-1.30.1-x86_64-unknown-netbsd.tar.gz) = d3688a289d86139acaba9b0150fa5af5c755fc7b
SHA512 (rust-std-1.30.1-x86_64-unknown-netbsd.tar.gz) = c83237c8c2e1aebb38f64aad14d48dbbda908e0727b49f56251b5d951faae84dc82a77612062e31f91979b84cb9564b645efc0c0e0c04f6774b4907453fd1096
Size (rust-std-1.30.1-x86_64-unknown-netbsd.tar.gz) = 69397670 bytes
-SHA1 (rustc-1.31.0-src.tar.gz) = 699c7a4af09173e74f90b31eaed468184018037e
-RMD160 (rustc-1.31.0-src.tar.gz) = 7b4503940379ab5f7ac5e7cd950db98adfa752c1
-SHA512 (rustc-1.31.0-src.tar.gz) = 1fa85b6301079ecc38fde08260af6d2122d3516ae006bf55de3b276774f6ecb53376f5449e5a86fb046dfb2feb7735d46e126dc783c7c1aacd276d013b02249f
-Size (rustc-1.31.0-src.tar.gz) = 151145680 bytes
+SHA1 (rust-std-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = be493285977fdc40c45bf495a223fdd247056ecb
+RMD160 (rust-std-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = 628a7b669a2578db6b7a4ab02b9c8845698d1500
+SHA512 (rust-std-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = 26a5ad3b3285bd4d3b2c778568ca8a8c66e60c86f10e61d9e04d60103dbca28839f79cfd7835472a65a3fa731ba127ea1bd7a45d41b642a390f31171aea75ed4
+Size (rust-std-1.31.1-armv7-unknown-netbsd-eabihf.tar.gz) = 71603203 bytes
+SHA1 (rust-std-1.31.1-powerpc-unknown-netbsd.tar.gz) = 98fc92ba3cf21147e4f27babe438e786194cba98
+RMD160 (rust-std-1.31.1-powerpc-unknown-netbsd.tar.gz) = 7053db7cbf8dfd3188c7685f0aa6052801c3d16c
+SHA512 (rust-std-1.31.1-powerpc-unknown-netbsd.tar.gz) = a95c793c95e765a75e377e73e555387ed9cd71dac2c227747269b476eb9ad25b2f6bc12db46b283f1a6722a1f531c550dd8a9e6f8fd81ec4013042485d3e17a3
+Size (rust-std-1.31.1-powerpc-unknown-netbsd.tar.gz) = 70015527 bytes
+SHA1 (rust-std-1.31.1-sparc64-unknown-netbsd.tar.gz) = d20f6df638543f59771a7cd825c5945cbab20c4f
+RMD160 (rust-std-1.31.1-sparc64-unknown-netbsd.tar.gz) = 85f1b171abc07d624b44ae2ba6b6b3e4fe1cf27b
+SHA512 (rust-std-1.31.1-sparc64-unknown-netbsd.tar.gz) = 06083d8a0cb7bbde28362edd7b47f6b3253529733bd03ca45b5f4e9856a8850a7fe890db42d7c2898512c2466abc53c7b8ca48b84327a8e24604717179eefaa9
+Size (rust-std-1.31.1-sparc64-unknown-netbsd.tar.gz) = 71836855 bytes
+SHA1 (rustc-1.31.1-src.tar.gz) = b4276b400bade8e3fc13aed023c5356ec28bdc80
+RMD160 (rustc-1.31.1-src.tar.gz) = 5c3ffa2ab47b20755e6acd5d98fbd692627b2158
+SHA512 (rustc-1.31.1-src.tar.gz) = 76ca238c40694abab4982f4b788a0da34bbb3d8a6e4adb50b0b9138876407ac2cb4fc39cde057b8fa32729c543c5977d392167e96b82f76a01af31eaafe463cf
+Size (rustc-1.31.1-src.tar.gz) = 151163848 bytes
SHA1 (patch-src_bootstrap_bin_rustc.rs) = 0abf893090a6053e01fd658096d9a2b5b8c144da
SHA1 (patch-src_bootstrap_bootstrap.py) = 5b886b95857bf019c2e37cb380e6905cb444b756
SHA1 (patch-src_bootstrap_builder.rs) = e02356401417f8e8296a5fe27c68072f698f0190
@@ -88,6 +112,7 @@ SHA1 (patch-src_llvm_include_llvm-c_DataTypes.h) = 432693204912e79059ee31e815ad1
SHA1 (patch-src_llvm_include_llvm_Analysis_ConstantFolding.h) = 861089ea7ec8985b9b9fce53ffadfa3e9eed4a72
SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = 379f60b809d5af3569541828c7e485da805ad9cc
SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 76e77c2c49baf8c951ed8d2293e98e3ede0f8538
+SHA1 (patch-src_tools_rls_src_cmd.rs) = 754bfb8806e209cb0ef01690b48bf4b145017ab9
+SHA1 (patch-src_tools_rls_src_server_io.rs) = 74b90c1aeb70b0c3a20709145d6568ddf4647877
SHA1 (patch-src_tools_rust-installer_install-template.sh) = f2ec6dced2be1fa23773d5827503ad07d0913dc2
-SHA1 (patch-src_tools_rust-installer_src_generator.rs) = 45fb4762ef7ddaa7b7071897921d26522277cfc1
SHA1 (patch-src_vendor_rand_src_rngs_os.rs) = 318c9e0ed77f83bb34f5512638545ff16844e8fd
diff --git a/lang/rust/files/gcc-wrap b/lang/rust/files/gcc-wrap
index f0faed53bf4..53b45e099fa 100644
--- a/lang/rust/files/gcc-wrap
+++ b/lang/rust/files/gcc-wrap
@@ -136,6 +136,9 @@ while [ $# -gt 0 ]; do
fi
args="$args -L=/usr/pkg/lib"
;;
+ -Wl,--enable-new-dtags)
+ # ignore
+ ;;
*)
args="$args $1"
;;
diff --git a/lang/rust/patches/patch-src_tools_rls_src_cmd.rs b/lang/rust/patches/patch-src_tools_rls_src_cmd.rs
new file mode 100644
index 00000000000..f5b659fdd6d
--- /dev/null
+++ b/lang/rust/patches/patch-src_tools_rls_src_cmd.rs
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_tools_rls_src_cmd.rs,v 1.1 2018/12/21 23:12:34 he Exp $
+
+--- src/tools/rls/src/cmd.rs.orig 2018-12-18 23:12:41.000000000 +0000
++++ src/tools/rls/src/cmd.rs
+@@ -17,7 +17,7 @@ use crate::config::Config;
+ use crate::server::{self, LsService, Notification, Request, RequestId};
+ use rls_analysis::{AnalysisHost, Target};
+ use rls_vfs::Vfs;
+-use std::sync::atomic::{AtomicU64, Ordering};
++use std::sync::atomic::{AtomicU32, Ordering};
+
+ use languageserver_types::{
+ ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem,
+@@ -424,8 +424,8 @@ fn url(file_name: &str) -> Url {
+ }
+
+ fn next_id() -> RequestId {
+- static ID: AtomicU64 = AtomicU64::new(1);
+- RequestId::Num(ID.fetch_add(1, Ordering::SeqCst))
++ static ID: AtomicU32 = AtomicU32::new(1);
++ RequestId::Num(ID.fetch_add(1, Ordering::SeqCst) as u64)
+ }
+
+ // Custom reader and output for the RLS server.
diff --git a/lang/rust/patches/patch-src_tools_rls_src_server_io.rs b/lang/rust/patches/patch-src_tools_rls_src_server_io.rs
new file mode 100644
index 00000000000..8cd1aeb5ffc
--- /dev/null
+++ b/lang/rust/patches/patch-src_tools_rls_src_server_io.rs
@@ -0,0 +1,39 @@
+$NetBSD: patch-src_tools_rls_src_server_io.rs,v 1.1 2018/12/21 23:12:34 he Exp $
+
+--- src/tools/rls/src/server/io.rs.orig 2018-12-18 23:12:41.000000000 +0000
++++ src/tools/rls/src/server/io.rs
+@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, L
+
+ use std::fmt;
+ use std::io::{self, BufRead, Write};
+-use std::sync::atomic::{AtomicU64, Ordering};
++use std::sync::atomic::{AtomicU32, Ordering};
+ use std::sync::Arc;
+
+ use jsonrpc_core::{self as jsonrpc, response, version, Id};
+@@ -190,14 +190,14 @@ pub trait Output: Sync + Send + Clone +
+ /// An output that sends notifications and responses on `stdout`.
+ #[derive(Clone)]
+ pub(super) struct StdioOutput {
+- next_id: Arc<AtomicU64>,
++ next_id: Arc<AtomicU32>,
+ }
+
+ impl StdioOutput {
+ /// Construct a new `stdout` output.
+ crate fn new() -> StdioOutput {
+ StdioOutput {
+- next_id: Arc::new(AtomicU64::new(1)),
++ next_id: Arc::new(AtomicU32::new(1)),
+ }
+ }
+ }
+@@ -215,7 +215,7 @@ impl Output for StdioOutput {
+ }
+
+ fn provide_id(&self) -> RequestId {
+- RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst))
++ RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst) as u64)
+ }
+ }
+
diff --git a/lang/rust/patches/patch-src_tools_rust-installer_src_generator.rs b/lang/rust/patches/patch-src_tools_rust-installer_src_generator.rs
deleted file mode 100644
index 8a704b5c89a..00000000000
--- a/lang/rust/patches/patch-src_tools_rust-installer_src_generator.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-src_tools_rust-installer_src_generator.rs,v 1.1 2018/11/27 15:45:23 adam Exp $
-
-Do not create tarballs; not needed for PkgSrc installation.
-
---- src/tools/rust-installer/src/generator.rs.orig 2018-11-26 21:41:04.000000000 +0000
-+++ src/tools/rust-installer/src/generator.rs
-@@ -13,7 +13,6 @@ use std::path::Path;
-
- use errors::*;
- use super::Scripter;
--use super::Tarballer;
- use util::*;
-
- actor!{
-@@ -97,11 +96,6 @@ impl Generator {
- // Make the tarballs
- create_dir_all(&self.output_dir)?;
- let output = Path::new(&self.output_dir).join(&self.package_name);
-- let mut tarballer = Tarballer::default();
-- tarballer.work_dir(self.work_dir)
-- .input(self.package_name)
-- .output(path_to_str(&output)?);
-- tarballer.run()?;
-
- Ok(())
- }