summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD22
-rw-r--r--mingw-config.toml25
3 files changed, 38 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 656dd34dd5b7..021c7b795721 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mingw-w64-rust
pkgdesc = rust language prebuilt toolchain with mingw target (mingw-w64)
- pkgver = 1.24.1
+ pkgver = 1.25.0
pkgrel = 1
url = https://www.rust-lang.org/
arch = any
@@ -23,13 +23,13 @@ pkgbase = mingw-w64-rust
options = staticlibs
options = !strip
backup = opt/rust/cargo/config
- source = https://static.rust-lang.org/dist/rustc-1.24.1-src.tar.gz
- source = https://static.rust-lang.org/dist/rustc-1.24.1-src.tar.gz.asc
+ source = https://static.rust-lang.org/dist/rustc-1.25.0-src.tar.xz
+ source = https://static.rust-lang.org/dist/rustc-1.25.0-src.tar.xz.asc
source = mingw-config.toml
validpgpkeys = 108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE
- sha256sums = 3ea53d45e8d2e9a41afb3340cf54b9745f845b552d802d607707cf04450761ef
+ sha256sums = 14fcb82d5959df758aaf422539359300917217fa8420e34bd596e3fb6ed2de87
sha256sums = SKIP
- sha256sums = 73b17e4a45bf86c26083d417a1e2ed5a401314fcb5bb739e27a13b99ec8e3d23
+ sha256sums = 497b75a9dfd0f5890a37b1ab8706c52586c08684e47f281bb740686601a81dd3
pkgname = mingw-w64-rust
diff --git a/PKGBUILD b/PKGBUILD
index 4605f48a8793..3fbd41e9fdaf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=mingw-w64-rust
_pkgname=rust
-pkgver=1.24.1
+pkgver=1.25.0
pkgrel=1
pkgdesc="rust language prebuilt toolchain with mingw target (mingw-w64)"
arch=('any')
@@ -20,15 +20,16 @@ conflicts=()
replaces=()
makedepends=('rust' 'gdb' 'libffi' 'perl' 'python2' 'nodejs' 'cmake')
-source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc}
+source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz"{,.asc}
mingw-config.toml)
-sha256sums=('3ea53d45e8d2e9a41afb3340cf54b9745f845b552d802d607707cf04450761ef'
+sha256sums=('14fcb82d5959df758aaf422539359300917217fa8420e34bd596e3fb6ed2de87'
'SKIP'
- '73b17e4a45bf86c26083d417a1e2ed5a401314fcb5bb739e27a13b99ec8e3d23')
+ '497b75a9dfd0f5890a37b1ab8706c52586c08684e47f281bb740686601a81dd3')
validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE') # Rust Language (Tag and Release Signing Key) <rust-key@rust-lang.org>
backup=("opt/${_pkgname}/cargo/config")
+PKGEXT=".pkg.tar.gz"
prepare() {
cd "rustc-$pkgver-src"
@@ -43,10 +44,7 @@ build() {
unset LDFLAGS
export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
- python2 ./x.py build \
- src/rustc \
- src/libstd \
- src/tools/cargo
+ python2 ./x.py build
}
package() {
@@ -57,10 +55,9 @@ package() {
export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
# TODO: find a way to disable packaging
- DESTDIR="$pkgdir" python2 ./x.py install \
- src/librustc \
- src/libstd \
- cargo
+ # use level 0 to speed up xz packaging
+ sed -i 's|XzEncoder::new(create_new_file(tar_xz)?, 6)|XzEncoder::new(create_new_file(tar_xz)?, 0)|' "src/tools/rust-installer/src/tarballer.rs"
+ DESTDIR="$pkgdir" python2 ./x.py install
# license
install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"{rust,cargo}
@@ -87,6 +84,7 @@ package() {
# strip
strip --strip-all "${pkgdir}/opt/${_pkgname}/bin/"{cargo,rustc,rustdoc}
strip --strip-unneeded "${pkgdir}/opt/${_pkgname}/lib/rustlib/x86_64-unknown-linux-gnu/lib/"*.so
+ strip --strip-unneeded "${pkgdir}/opt/${_pkgname}/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/"*.so
i686-w64-mingw32-strip --strip-unneeded "${pkgdir}/opt/${_pkgname}/lib/rustlib/i686-pc-windows-gnu/lib/"*.dll
x86_64-w64-mingw32-strip --strip-unneeded "${pkgdir}/opt/${_pkgname}/lib/rustlib/x86_64-pc-windows-gnu/lib/"*.dll
diff --git a/mingw-config.toml b/mingw-config.toml
index 82bb696ebec5..6513f16a36aa 100644
--- a/mingw-config.toml
+++ b/mingw-config.toml
@@ -149,7 +149,11 @@ full-bootstrap = false
# 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
+extended = true
+
+# Installs choosen set of extended tools if enables. By default builds all.
+# If choosen tool failed to build the installation fails.
+tools = ["cargo"]
# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose
verbose = 0
@@ -235,6 +239,11 @@ optimize = true
# compiler.
codegen-units = 0
+# Whether to enable ThinLTO (and increase the codegen units to either a default
+# or the configured value). On by default. If we want the fastest possible
+# compiler, we should disable this.
+thinlto = true
+
# Whether or not debug assertions are enabled for the compiler and standard
# library. Also enables compilation of debug! and trace! logging macros.
debug-assertions = false
@@ -305,6 +314,18 @@ test-miri = false
# result (broken, compiling, testing) into this JSON file.
#save-toolstates = "/path/to/toolstates.json"
+# This is an array of the codegen backends that will be compiled for the rustc
+# that's being compiled. The default is to only build the LLVM codegen backend,
+# but you can also optionally enable the "emscripten" backend for asm.js or
+# make this an empty array (but that probably won't get too far in the
+# bootstrap)
+codegen-backends = ["llvm"]
+
+# Flag indicating whether `libstd` calls an imported function to handle basic IO
+# when targeting WebAssembly. Enable this to debug tests for the `wasm32-unknown-unknown`
+# target, as without this option the test output will not be captured.
+wasm-syscall = false
+
# =============================================================================
# Options for specific targets
#
@@ -467,7 +488,7 @@ crt-static = true
# 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]
+[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`