Thursday, January 25, 2018

[update] lang/rust 1.23

Hi,

The following diff updates lang/rust to 1.23 (released since approx 3
weeks).

I was still able to build it on i386 (but with effort), so I keep it
BROKEN-i386.

The diff was tested on amd64:
- lang/rust build+testsuite
- textproc/ripgrep build+testsuite
- www/mozilla-firefox build

I only built it on i386.

Thanks.
--
Sebastien Marie


Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/rust/Makefile,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile
--- Makefile 10 Dec 2017 13:27:03 -0000 1.56
+++ Makefile 25 Jan 2018 13:52:18 -0000
@@ -9,13 +9,13 @@ DPB_PROPERTIES = parallel
COMMENT-main = compiler for Rust Language
COMMENT-doc = html documentation for rustc

-V = 1.22.1
-CARGO_V = 0.23.0
+V = 1.23.0
+CARGO_V = 0.24.0
DISTNAME = rustc-${V}-src

# rustc bootstrap version
-BV-amd64 = 1.22.0-20171121
-BV-i386 = 1.22.1-20171125
+BV-amd64 = 1.23.0-20180124
+BV-i386 = 1.23.0-20180125
BV = ${BV-${MACHINE_ARCH}}

PKGNAME = rust-${V}
@@ -66,17 +66,14 @@ MODPY_RUNDEP = No
BUILD_DEPENDS += devel/cmake
BUILD_DEPENDS += shells/bash
BUILD_DEPENDS += devel/llvm
-
-.if ! ${BUILD_DEPENDS:Mdevel/llvm}
-# use ninja to compile embedded llvm
BUILD_DEPENDS += devel/ninja
-.endif

LIB_DEPENDS += devel/libgit2/libgit2 \
net/curl \
security/libssh2

-MAKE_ENV = LIBGIT2_SYS_USE_PKG_CONFIG=1
+MAKE_ENV = LIBGIT2_SYS_USE_PKG_CONFIG=1 \
+ RUST_BACKTRACE=1

# build/configuration variables
PATCHORIG = .openbsd.orig
@@ -124,9 +121,6 @@ do-configure:
echo 'channel = "stable"' >>${WRKBUILD}/config.toml
echo 'rpath = false' >>${WRKBUILD}/config.toml
echo 'codegen-tests = false' >>${WRKBUILD}/config.toml
-.if "${MACHINE_ARCH}" == "i386"
- echo 'codegen-units = 16' >>${WRKBUILD}/config.toml
-.endif

echo '[dist]' >>${WRKBUILD}/config.toml
echo 'src-tarball = false' >>${WRKBUILD}/config.toml
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/rust/distinfo,v
retrieving revision 1.29
diff -u -p -r1.29 distinfo
--- distinfo 4 Dec 2017 17:31:49 -0000 1.29
+++ distinfo 25 Jan 2018 13:52:18 -0000
@@ -1,6 +1,6 @@
-SHA256 (rust/rustc-1.22.1-src.tar.gz) = i3pCvdbrIFqMUz60G1xCOJqIFY0GCu0eD0YfaMH9P9M=
-SHA256 (rust/rustc-bootstrap-amd64-1.22.0-20171121.tar.gz) = SBeEKS/rfrQTNriS3/neoiQ+8yeolU5kPE99A06vz7s=
-SHA256 (rust/rustc-bootstrap-i386-1.22.1-20171125.tar.gz) = xwA7caAZJfqO/2SPaUP+iA0ktGnPaFKG+tuJCK2ixgE=
-SIZE (rust/rustc-1.22.1-src.tar.gz) = 54935620
-SIZE (rust/rustc-bootstrap-amd64-1.22.0-20171121.tar.gz) = 70165988
-SIZE (rust/rustc-bootstrap-i386-1.22.1-20171125.tar.gz) = 70668161
+SHA256 (rust/rustc-1.23.0-src.tar.gz) = dGSVOHHc/fqK/MU2kWpobdFWqDM52OxNXLTrL+FGy5E=
+SHA256 (rust/rustc-bootstrap-amd64-1.23.0-20180124.tar.gz) = C15P+JfoE6nuMD0u6WMxd5ipli+Tybr1u5u/WQrq/Sc=
+SHA256 (rust/rustc-bootstrap-i386-1.23.0-20180125.tar.gz) = dZuoJj8CW6+bXkmhgHLvzsP00k9fro1JZQaN1yaC1f4=
+SIZE (rust/rustc-1.23.0-src.tar.gz) = 60010149
+SIZE (rust/rustc-bootstrap-amd64-1.23.0-20180124.tar.gz) = 74050566
+SIZE (rust/rustc-bootstrap-i386-1.23.0-20180125.tar.gz) = 75732565
Index: patches/patch-src_bootstrap_bin_rustc_rs
===================================================================
RCS file: patches/patch-src_bootstrap_bin_rustc_rs
diff -N patches/patch-src_bootstrap_bin_rustc_rs
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bootstrap_bin_rustc_rs 25 Jan 2018 13:52:18 -0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+try to reduce memory usage on i386:
+ - small code size to optimize (more codegen-units)
+ - optimization level to 1 (instead of 2) to reduce the work in memory
+Index: src/bootstrap/bin/rustc.rs
+--- src/bootstrap/bin/rustc.rs.orig
++++ src/bootstrap/bin/rustc.rs
+@@ -183,6 +183,11 @@ fn main() {
+ cmd.arg("-C").arg(format!("codegen-units={}", s));
+ }
+
++ if target.contains("i686-unknown-openbsd") && crate_name == "rustc" {
++ cmd.arg("-C").arg("codegen-units=16")
++ .arg("-C").arg("opt-level=1");
++ }
++
+ // Emit save-analysis info.
+ if env::var("RUSTC_SAVE_ANALYSIS") == Ok("api".to_string()) {
+ cmd.arg("-Zsave-analysis");
Index: patches/patch-src_bootstrap_dist_rs
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_bootstrap_dist_rs,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_bootstrap_dist_rs
--- patches/patch-src_bootstrap_dist_rs 4 Dec 2017 17:31:49 -0000 1.1
+++ patches/patch-src_bootstrap_dist_rs 25 Jan 2018 13:52:18 -0000
@@ -5,7 +5,7 @@ requires too much RAM for i386
Index: src/bootstrap/dist.rs
--- src/bootstrap/dist.rs.orig
+++ src/bootstrap/dist.rs
-@@ -1182,6 +1182,10 @@ impl Step for Extended {
+@@ -1279,6 +1279,10 @@ impl Step for Extended {
target,
});

Index: patches/patch-src_bootstrap_lib_rs
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_bootstrap_lib_rs,v
retrieving revision 1.8
diff -u -p -r1.8 patch-src_bootstrap_lib_rs
--- patches/patch-src_bootstrap_lib_rs 4 Dec 2017 17:31:49 -0000 1.8
+++ patches/patch-src_bootstrap_lib_rs 25 Jan 2018 13:52:18 -0000
@@ -3,9 +3,9 @@ Let us compilation choice to be honored.
Index: src/bootstrap/lib.rs
--- src/bootstrap/lib.rs.orig
+++ src/bootstrap/lib.rs
-@@ -622,7 +622,6 @@ impl Build {
+@@ -636,7 +636,6 @@ impl Build {
// cc-rs because the build scripts will determine that for themselves.
- let mut base = self.cc[&target].0.args().iter()
+ let mut base = self.cc[&target].args().iter()
.map(|s| s.to_string_lossy().into_owned())
- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
.collect::<Vec<_>>();
Index: patches/patch-src_libcompiler_builtins_build_rs
===================================================================
RCS file: patches/patch-src_libcompiler_builtins_build_rs
diff -N patches/patch-src_libcompiler_builtins_build_rs
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_libcompiler_builtins_build_rs 25 Jan 2018 13:52:18 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+Use local compiler_rt
+Index: src/libcompiler_builtins/build.rs
+--- src/libcompiler_builtins/build.rs.orig
++++ src/libcompiler_builtins/build.rs
+@@ -12,6 +12,12 @@ fn main() {
+ return;
+ }
+
++ if target.contains("openbsd") {
++ println!("cargo:rustc-link-search=native=/usr/lib");
++ println!("cargo:rustc-link-lib=static=compiler_rt");
++ return;
++ }
++
+ // Forcibly enable memory intrinsics on wasm32 as we don't have a libc to
+ // provide them.
+ if target.contains("wasm32") {
Index: patches/patch-src_librustc_binaryen_build_rs
===================================================================
RCS file: patches/patch-src_librustc_binaryen_build_rs
diff -N patches/patch-src_librustc_binaryen_build_rs
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_librustc_binaryen_build_rs 25 Jan 2018 13:52:18 -0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+Using ninja as cmake generator. Avoid calling "make" when "gmake" is expected.
+Index: src/librustc_binaryen/build.rs
+--- src/librustc_binaryen/build.rs.orig
++++ src/librustc_binaryen/build.rs
+@@ -27,6 +27,7 @@ fn main() {
+ Config::new("../binaryen")
+ .define("BUILD_STATIC_LIB", "ON")
+ .build_target("binaryen")
++ .generator("Ninja")
+ .build();
+
+ // I couldn't figure out how to link just one of these, so link everything.
Index: patches/patch-src_librustc_session_filesearch_rs
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_librustc_session_filesearch_rs,v
retrieving revision 1.5
diff -u -p -r1.5 patch-src_librustc_session_filesearch_rs
--- patches/patch-src_librustc_session_filesearch_rs 31 Jul 2017 13:19:13 -0000 1.5
+++ patches/patch-src_librustc_session_filesearch_rs 25 Jan 2018 13:52:18 -0000
@@ -3,7 +3,7 @@ fallback to LOCALBASE as default sysroot
Index: src/librustc/session/filesearch.rs
--- src/librustc/session/filesearch.rs.orig
+++ src/librustc/session/filesearch.rs
-@@ -166,7 +166,10 @@ pub fn get_or_default_sysroot() -> PathBuf {
+@@ -164,7 +164,10 @@ pub fn get_or_default_sysroot() -> PathBuf {
None => bug!("can't determine value for sysroot")
}
}
Index: patches/patch-src_librustdoc_test_rs
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_librustdoc_test_rs,v
retrieving revision 1.12
diff -u -p -r1.12 patch-src_librustdoc_test_rs
--- patches/patch-src_librustdoc_test_rs 4 Dec 2017 17:31:49 -0000 1.12
+++ patches/patch-src_librustdoc_test_rs 25 Jan 2018 13:52:18 -0000
@@ -3,7 +3,7 @@ fallback to LOCALBASE as default sysroot
Index: src/librustdoc/test.rs
--- src/librustdoc/test.rs.orig
+++ src/librustdoc/test.rs
-@@ -68,7 +68,10 @@ pub fn run(input: &str,
+@@ -69,7 +69,10 @@ pub fn run(input: &str,

let sessopts = config::Options {
maybe_sysroot: maybe_sysroot.clone().or_else(
@@ -15,7 +15,7 @@ Index: src/librustdoc/test.rs
search_paths: libs.clone(),
crate_types: vec![config::CrateTypeDylib],
externs: externs.clone(),
-@@ -194,7 +197,10 @@ fn run_test(test: &str, cratename: &str, filename: &st
+@@ -197,7 +200,10 @@ fn run_test(test: &str, cratename: &str, filename: &st

let sessopts = config::Options {
maybe_sysroot: maybe_sysroot.or_else(
Index: patches/patch-src_rustllvm_PassWrapper_cpp
===================================================================
RCS file: patches/patch-src_rustllvm_PassWrapper_cpp
diff -N patches/patch-src_rustllvm_PassWrapper_cpp
--- patches/patch-src_rustllvm_PassWrapper_cpp 4 Dec 2017 17:31:49 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,93 +0,0 @@
-$OpenBSD: patch-src_rustllvm_PassWrapper_cpp,v 1.1 2017/12/04 17:31:49 landry Exp $
-Backport of https://github.com/rust-lang/rust/commit/56f5a19e456 for using LLVM 5.0
-Index: src/rustllvm/PassWrapper.cpp
---- src/rustllvm/PassWrapper.cpp.orig
-+++ src/rustllvm/PassWrapper.cpp
-@@ -26,12 +26,14 @@
- #include "llvm/Transforms/IPO/PassManagerBuilder.h"
-
- #if LLVM_VERSION_GE(4, 0)
--#include "llvm/Object/ModuleSummaryIndexObjectFile.h"
- #include "llvm/Transforms/IPO/AlwaysInliner.h"
- #include "llvm/Transforms/IPO/FunctionImport.h"
- #include "llvm/Transforms/Utils/FunctionImportUtils.h"
- #include "llvm/LTO/LTO.h"
-+#if LLVM_VERSION_LE(4, 0)
-+#include "llvm/Object/ModuleSummaryIndexObjectFile.h"
-

No comments:

Post a Comment