diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 22 | ||||
-rw-r--r-- | mingw-config.toml | 25 |
3 files changed, 38 insertions, 19 deletions
@@ -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 @@ -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` |