Merge branch 'master' into epel7

This commit is contained in:
Josh Stone 2018-01-09 11:48:31 -08:00
commit 04482640db
5 changed files with 27 additions and 113 deletions

8
.gitignore vendored
View File

@ -91,3 +91,11 @@
/rust-1.21.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.21.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.21.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.23.0-src.tar.xz
/rust-1.22.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.22.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.22.0-i686-unknown-linux-gnu.tar.xz
/rust-1.22.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.22.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.22.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.22.0-x86_64-unknown-linux-gnu.tar.xz

View File

@ -1,93 +0,0 @@
commit 75277c72c0c6f603bb258383ad74d3082dc4a720 (from c1a0b6d9eb888ded9a7204db0d67d62b1cdc9944)
Merge: c1a0b6d9eb88 19714f55ee70
Author: bors <bors@rust-lang.org>
Date: Sat Oct 28 07:08:52 2017 +0000
Auto merge of #45566 - cuviper:option-checking, r=alexcrichton
configure.py: fix --disable-option-checking and extra config paths
- indexing 'option-checking' out of `known_args` had a type error
- when option checking is disabled, don't error on duplicate args, just take the last
- add config.toml stubs for datadir, infodir, and localstatedir (which were already accepted, but broken)
---
This fixes a regression from 1.21 to beta, when the configure script was rewritten in python.
diff --git a/config.toml.example b/config.toml.example
index 261fe2053879..df0142b8d46d 100644
--- a/config.toml.example
+++ b/config.toml.example
@@ -203,6 +203,16 @@
# Where to install man pages in `prefix` above
#mandir = "share/man"
+# Where to install data in `prefix` above (currently unused)
+#datadir = "share"
+
+# Where to install additional info in `prefix` above (currently unused)
+#infodir = "share/info"
+
+# Where to install local state (currently unused)
+# If this is a relative path, it will get installed in `prefix` above
+#localstatedir = "/var/lib"
+
# =============================================================================
# Options for compiling Rust code itself
# =============================================================================
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index 66e5efcea4e8..33c7141e7044 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
@@ -207,6 +207,11 @@ struct Install {
bindir: Option<String>,
libdir: Option<String>,
mandir: Option<String>,
+
+ // standard paths, currently unused
+ datadir: Option<String>,
+ infodir: Option<String>,
+ localstatedir: Option<String>,
}
/// TOML representation of how the LLVM build is configured.
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
index 42425a164a20..579422c97993 100755
--- a/src/bootstrap/configure.py
+++ b/src/bootstrap/configure.py
@@ -225,7 +225,12 @@ while i < len(sys.argv):
unknown_args.append(arg)
p("")
-if 'option-checking' not in known_args or known_args['option-checking'][1]:
+# Note: here and a few other places, we use [-1] to apply the *last* value
+# passed. But if option-checking is enabled, then the known_args loop will
+# also assert that options are only passed once.
+option_checking = ('option-checking' not in known_args
+ or known_args['option-checking'][-1][1])
+if option_checking:
if len(unknown_args) > 0:
err("Option '" + unknown_args[0] + "' is not recognized")
if len(need_value_args) > 0:
@@ -238,7 +243,7 @@ config = {}
def build():
if 'build' in known_args:
- return known_args['build'][0][1]
+ return known_args['build'][-1][1]
return bootstrap.default_build_triple()
@@ -276,9 +281,9 @@ for key in known_args:
# Ensure each option is only passed once
arr = known_args[key]
- if len(arr) > 1:
+ if option_checking and len(arr) > 1:
err("Option '{}' provided more than once".format(key))
- option, value = arr[0]
+ option, value = arr[-1]
# If we have a clear avenue to set our value in rustbuild, do so
if option.rustbuild is not None:

View File

@ -8,10 +8,10 @@
# To bootstrap from scratch, set the channel and date from src/stage0.txt
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
# or nightly wants some beta-YYYY-MM-DD
%global bootstrap_rust 1.21.0
%global bootstrap_cargo 0.22.0
%global bootstrap_rust 1.22.0
%global bootstrap_cargo 0.23.0
%global bootstrap_channel %{bootstrap_rust}
%global bootstrap_date 2017-10-12
%global bootstrap_date 2017-11-22
# Only the specified arches will use bootstrap binaries.
#global bootstrap_arches %%{rust_arches}
@ -47,7 +47,7 @@
Name: rust
Version: 1.22.1
Version: 1.23.0
Release: 1%{?dist}
Summary: The Rust Programming Language
License: (ASL 2.0 or MIT) and (BSD and ISC and MIT)
@ -62,8 +62,6 @@ ExclusiveArch: %{rust_arches}
%endif
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
Patch1: rust-1.22.0-45566-option-checking.patch
# Get the Rust triple for any arch.
%{lua: function rust_triple(arch)
local abi = "gnu"
@ -121,13 +119,14 @@ BuildRequires: python2
BuildRequires: curl
%if %with bundled_llvm
BuildRequires: cmake3
BuildRequires: cmake3 >= 3.4.3
Provides: bundled(llvm) = 4.0
%else
BuildRequires: cmake >= 2.8.7
%if 0%{?epel}
%global llvm llvm3.9
%endif
%if 0%{?fedora} >= 28
%if 0%{?fedora} >= 27
%global llvm llvm4.0
%endif
%if %defined llvm
@ -313,9 +312,6 @@ sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \
src/librustc_llvm/lib.rs
%endif
%global _default_patch_fuzz 1
%patch1 -p1 -b .option-checking
# The configure macro will modify some autoconf-related files, which upsets
# cargo when it tries to verify checksums in those files. If we just truncate
# that file list, cargo won't have anything to complain about.
@ -479,6 +475,9 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py*
%changelog
* Mon Jan 08 2018 Josh Stone <jistone@redhat.com> - 1.23.0-1
- Update to 1.23.0.
* Thu Nov 23 2017 Josh Stone <jistone@redhat.com> - 1.22.1-1
- Update to 1.22.1.

View File

@ -1 +1 @@
SHA512 (rustc-1.22.1-src.tar.xz) = 9e97af1cc539ebf6ddb564f35dc11f3275ec09d834afc1ddfe4e09e22430a777af9260a79c625d2c5ed941a847c529d91de465ce1c228bd6af37dcda74e60bee
SHA512 (rustc-1.23.0-src.tar.xz) = 2e605121dd5152c1a898b263d634b0ac55c7ea79c7fbc9f72c432e68fb397618a267283f3dfb0f77d5e189720d788b1937e8114a1f71bdb10ddd4cbaae92fa80

View File

@ -1,8 +1,8 @@
SHA512 (rustc-1.22.1-src.tar.xz) = 9e97af1cc539ebf6ddb564f35dc11f3275ec09d834afc1ddfe4e09e22430a777af9260a79c625d2c5ed941a847c529d91de465ce1c228bd6af37dcda74e60bee
SHA512 (rust-1.21.0-aarch64-unknown-linux-gnu.tar.xz) = 045ce63c791677c4965ceb09b9c69ee28c2d5a1e46cbd83b4470756172c8cbfbb8887a7077d467b6559d17eee193b62e3d9ac4d0f4dac20bfde26bf55bfa216a
SHA512 (rust-1.21.0-armv7-unknown-linux-gnueabihf.tar.xz) = ee355311a3a581d95f206ed48f362a99af695b6816b7858eeac64b6529fec00b2a8ee5c3a84d57a4417d254455c9ade1c1199926fab09b7f30b888115d9e4397
SHA512 (rust-1.21.0-i686-unknown-linux-gnu.tar.xz) = 686791d299c353282bddc6e190b8befb23a93f266ab7404397d1378a69156f75a0e5ab156ceef83d60a33e510dec989ee1f37710037995a7bd790c0cdc6aad2d
SHA512 (rust-1.21.0-powerpc64le-unknown-linux-gnu.tar.xz) = 836e09f762d4c07abf3c7ae7ac77eaf4acefb18d5e7f45fa1fdb2a7fe22fad405ab5ef625ee377bc89fe4b602dac45c3a34697e813ba83e70cf693ff1ca19b92
SHA512 (rust-1.21.0-powerpc64-unknown-linux-gnu.tar.xz) = 1ff4614234809bfb000afa3b44f46e9874916fb88ae35a7492befcba8ad95e6a2e0a17e62dd0d2165892eb115730dc32af5e761ec37ea738c9c19f57a1dc62d3
SHA512 (rust-1.21.0-s390x-unknown-linux-gnu.tar.xz) = 2d35ea709f08897c170e2f6b6ab55cdba1d5f8d558533407adac9d5b825f2dddf3e0b992ae8c89b37802e203a6b7bf963dc75e4a8c2d943e48fae97d9e9f7268
SHA512 (rust-1.21.0-x86_64-unknown-linux-gnu.tar.xz) = 555235fb1c6e819b064c93771c03538e693420c2eb6883997e29b7449e88c8dba23de136369e28b744c3920b861a26812e1df155f32acced76927c81381f54d1
SHA512 (rustc-1.23.0-src.tar.xz) = 2e605121dd5152c1a898b263d634b0ac55c7ea79c7fbc9f72c432e68fb397618a267283f3dfb0f77d5e189720d788b1937e8114a1f71bdb10ddd4cbaae92fa80
SHA512 (rust-1.22.0-aarch64-unknown-linux-gnu.tar.xz) = 9fbf60153e375746d665e23a273ea3bd9c0fc5f3116bb40dcfb385d8d519f67a07712f0b28371854b2d00f4bcd8e174f6182d3c3fbfd88c9901fff4d59f117b5
SHA512 (rust-1.22.0-armv7-unknown-linux-gnueabihf.tar.xz) = 2deeca2cc96506b270c54395c2f4a9f649c06d1042f51947fab1048092f746c6f9aa5025a5d322f5a1591675d21438496de72ea389270e89c7f3e98a11b14dae
SHA512 (rust-1.22.0-i686-unknown-linux-gnu.tar.xz) = 76aa4dbbfd4c1a9efe84c2cb062462747d41caed505aebad3e51cd8ce9fa4470a06640fc202a6d46dc17c31e7f2b396442b15c3ae5462d6de19dd65a5d544603
SHA512 (rust-1.22.0-powerpc64le-unknown-linux-gnu.tar.xz) = 9bce8585933a843b3703bd2f3fe7420ec81730b38d8d0d2418178eed7c6bf51d15979ddbd21f598615ac54cc73d3a943a535b6bf5d62627027c8edbe04c1d1d7
SHA512 (rust-1.22.0-powerpc64-unknown-linux-gnu.tar.xz) = a11261081626d87b5cdf6b7c6fdce4ebadcfa42550dfcf6fe149a3af2e6f99b81aa71de46096a3744f9dd96e0d1c33c0b8c89384b41f059e556b4880b74f3618
SHA512 (rust-1.22.0-s390x-unknown-linux-gnu.tar.xz) = a61bf086fbdec4c444420e0562969ed37bc0fa00e864ac5eccb13fc13e3dd9a36da3ac6a036143f4e1f3b04dcdab22f971558cfa23327fc789e31f9bb69e062b
SHA512 (rust-1.22.0-x86_64-unknown-linux-gnu.tar.xz) = d3be6fbed7e421a454b819ae14b1ab1de0930f00bea510f78f080cfd0ae12e5675c874d89d699a9af7f1a4cc0859c43a84a072d03d40204d6e3c43ea284276b7