diff options
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | PKGBUILD | 67 | ||||
-rw-r--r-- | mingw-config.toml | 30 |
3 files changed, 79 insertions, 52 deletions
@@ -1,6 +1,6 @@ pkgbase = mingw-w64-rust pkgdesc = Systems programming language focused on safety, speed and concurrency (mingw-w64) - pkgver = 1.29.2 + pkgver = 1.30.0 pkgrel = 1 url = https://www.rust-lang.org arch = x86_64 @@ -19,32 +19,32 @@ pkgbase = mingw-w64-rust depends = libgit2 depends = mingw-w64-gcc optdepends = mingw-w64-wine: for cargo test support - noextract = rust-std-1.28.0-x86_64-unknown-linux-gnu.tar.gz - noextract = rustc-1.28.0-x86_64-unknown-linux-gnu.tar.gz - noextract = cargo-0.29.0-x86_64-unknown-linux-gnu.tar.gz + noextract = rust-std-1.29.2-x86_64-unknown-linux-gnu.tar.gz + noextract = rustc-1.29.2-x86_64-unknown-linux-gnu.tar.gz + noextract = cargo-0.30.0-x86_64-unknown-linux-gnu.tar.gz options = !strip options = staticlibs options = !buildflags backup = opt/rust/cargo/config - source = https://static.rust-lang.org/dist/rustc-1.29.2-src.tar.gz - source = https://static.rust-lang.org/dist/rustc-1.29.2-src.tar.gz.asc - source = https://static.rust-lang.org/dist/2018-08-02/rust-std-1.28.0-x86_64-unknown-linux-gnu.tar.gz - source = https://static.rust-lang.org/dist/2018-08-02/rust-std-1.28.0-x86_64-unknown-linux-gnu.tar.gz.asc - source = https://static.rust-lang.org/dist/2018-08-02/rustc-1.28.0-x86_64-unknown-linux-gnu.tar.gz - source = https://static.rust-lang.org/dist/2018-08-02/rustc-1.28.0-x86_64-unknown-linux-gnu.tar.gz.asc - source = https://static.rust-lang.org/dist/2018-08-02/cargo-0.29.0-x86_64-unknown-linux-gnu.tar.gz - source = https://static.rust-lang.org/dist/2018-08-02/cargo-0.29.0-x86_64-unknown-linux-gnu.tar.gz.asc + source = https://static.rust-lang.org/dist/rustc-1.30.0-src.tar.gz + source = https://static.rust-lang.org/dist/rustc-1.30.0-src.tar.gz.asc + source = https://static.rust-lang.org/dist/2018-10-12/rust-std-1.29.2-x86_64-unknown-linux-gnu.tar.gz + source = https://static.rust-lang.org/dist/2018-10-12/rust-std-1.29.2-x86_64-unknown-linux-gnu.tar.gz.asc + source = https://static.rust-lang.org/dist/2018-10-12/rustc-1.29.2-x86_64-unknown-linux-gnu.tar.gz + source = https://static.rust-lang.org/dist/2018-10-12/rustc-1.29.2-x86_64-unknown-linux-gnu.tar.gz.asc + source = https://static.rust-lang.org/dist/2018-10-12/cargo-0.30.0-x86_64-unknown-linux-gnu.tar.gz + source = https://static.rust-lang.org/dist/2018-10-12/cargo-0.30.0-x86_64-unknown-linux-gnu.tar.gz.asc source = mingw-config.toml validpgpkeys = 108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE - sha256sums = 5088e796aa2e47478cdf41e7243fc5443fafab0a7c70a11423e57c80c04167c9 + sha256sums = cd0ba83fcca55b64c0c9f23130fe731dfc1882b73ae21bef96be8f2362c108ee sha256sums = SKIP - sha256sums = c5aed4c7ef362b5754526d26acaccdc9300942fd12e5cc67cc56fc89576a9dab + sha256sums = 1fe9a0f354256483a354ee1b51c60bf9f3f48868581f7cb36d0cc51a82400605 sha256sums = SKIP - sha256sums = 008bb3d714544bc991594b29a98a154441914c4771007130361bbadfb54143d0 + sha256sums = b04146b09edc4bad0de7c8fa1a5a2aa4416d365c03c5962b8a5b26c7047b7cc9 sha256sums = SKIP - sha256sums = a5e7749767c47669ed9b6e32c6fb8eda6b0fe1c63ac73a6d4666b5c1352bad24 + sha256sums = 32f210fd3142fda7825a06e95d1aa4b54035c2da435d8cf0dd03fad410c8002f sha256sums = SKIP - sha256sums = 331714f8cc5057a749e536af4d7559ff2b4862423f96aaaed337fa570fd39e89 + sha256sums = b493540a9053daddeb466edbf2a9416e51b075ded81649938bc4e4b11dce2bd8 pkgname = mingw-w64-rust @@ -5,12 +5,13 @@ # Contributor: userwithuid <userwithuid@gmail.com> _pkgname=rust -_date=2018-08-02 -_rustc=1.28.0 -_cargo=0.29.0 +_date=2018-10-12 +_rustc=1.29.2 +_cargo=0.30.0 pkgname=mingw-w64-rust -pkgver=1.29.2 +_prefix=usr +pkgver=1.30.0 pkgrel=1 pkgdesc="Systems programming language focused on safety, speed and concurrency (mingw-w64)" arch=('x86_64') @@ -37,25 +38,25 @@ source=("https://static.rust-lang.org/dist/rustc-${pkgver}-src.tar.gz"{,.asc} noextract=("rust-std-${_rustc}-x86_64-unknown-linux-gnu.tar.gz" "rustc-${_rustc}-x86_64-unknown-linux-gnu.tar.gz" "cargo-${_cargo}-x86_64-unknown-linux-gnu.tar.gz") -sha256sums=('5088e796aa2e47478cdf41e7243fc5443fafab0a7c70a11423e57c80c04167c9' +sha256sums=('cd0ba83fcca55b64c0c9f23130fe731dfc1882b73ae21bef96be8f2362c108ee' 'SKIP' - 'c5aed4c7ef362b5754526d26acaccdc9300942fd12e5cc67cc56fc89576a9dab' + '1fe9a0f354256483a354ee1b51c60bf9f3f48868581f7cb36d0cc51a82400605' 'SKIP' - '008bb3d714544bc991594b29a98a154441914c4771007130361bbadfb54143d0' + 'b04146b09edc4bad0de7c8fa1a5a2aa4416d365c03c5962b8a5b26c7047b7cc9' 'SKIP' - 'a5e7749767c47669ed9b6e32c6fb8eda6b0fe1c63ac73a6d4666b5c1352bad24' + '32f210fd3142fda7825a06e95d1aa4b54035c2da435d8cf0dd03fad410c8002f' 'SKIP' - '331714f8cc5057a749e536af4d7559ff2b4862423f96aaaed337fa570fd39e89') + 'b493540a9053daddeb466edbf2a9416e51b075ded81649938bc4e4b11dce2bd8') validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE') # Rust Language (Tag and Release Signing Key) <rust-key@rust-lang.org> -backup=("opt/${_pkgname}/cargo/config") +backup=("opt/rust/cargo/config") PKGEXT=".pkg.tar.gz" prepare() { cd "rustc-${pkgver}-src" cp "${srcdir}"/mingw-config.toml config.toml - sed -i "s|\@PREFIX\@|/opt/${_pkgname}|" config.toml + sed -i "s|\@PREFIX\@|/${_prefix}|" config.toml cd "${srcdir}/rustc-${pkgver}-src/src/bootstrap" cd "${srcdir}" @@ -86,68 +87,64 @@ package() { # license install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"{rust,cargo} - mv "${pkgdir}"/opt/${_pkgname}/share/doc/rust/LICENSE-*.old "${pkgdir}/usr/share/licenses/${pkgname}/cargo/" + mv "${pkgdir}"/${_prefix}/share/doc/rust/LICENSE-*.old "${pkgdir}/usr/share/licenses/${pkgname}/cargo/" rename '.old' '' "${pkgdir}/usr/share/licenses/${pkgname}/cargo/"* - mv "${pkgdir}"/opt/${_pkgname}/share/doc/rust/{LICENSE-*,COPYRIGHT} "${pkgdir}/usr/share/licenses/${pkgname}/rust/" + mv "${pkgdir}"/${_prefix}/share/doc/rust/{LICENSE-*,COPYRIGHT} "${pkgdir}/usr/share/licenses/${pkgname}/rust/" # remove unused files rm -r "${pkgdir}/etc/" - rm -r "${pkgdir}/opt/${_pkgname}/share" - rm "${pkgdir}/opt/${_pkgname}/lib/rustlib/"{manifest-*,install.log,uninstall.sh,components,rust-installer-version} + rm -r "${pkgdir}/${_prefix}/share" + rm "${pkgdir}/${_prefix}/lib/rustlib/"{manifest-*,install.log,uninstall.sh,components,rust-installer-version} # link shared libraries - pushd "${pkgdir}/opt/${_pkgname}/lib" + pushd "${pkgdir}/${_prefix}/lib" ln -sf "rustlib/x86_64-unknown-linux-gnu/lib/"*.so . popd install -dm755 "${pkgdir}/usr/i686-w64-mingw32/bin" && pushd "${pkgdir}/usr/i686-w64-mingw32/bin" - ln -sf "../../../opt/${_pkgname}/lib/rustlib/i686-pc-windows-gnu/lib/"*.dll . + ln -sf "../../../${_prefix}/lib/rustlib/i686-pc-windows-gnu/lib/"*.dll . popd install -dm755 "${pkgdir}/usr/x86_64-w64-mingw32/bin" && pushd "${pkgdir}/usr/x86_64-w64-mingw32/bin" - ln -sf "../../../opt/${_pkgname}/lib/rustlib/x86_64-pc-windows-gnu/lib/"*.dll . + ln -sf "../../../${_prefix}/lib/rustlib/x86_64-pc-windows-gnu/lib/"*.dll . popd # strip - strip --strip-all "${pkgdir}/opt/${_pkgname}/bin/"{cargo,rustc,rustdoc} - strip --strip-all "${pkgdir}/opt/${_pkgname}/lib/rustlib/x86_64-unknown-linux-gnu/bin/"rust-lld - 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 + strip --strip-all "${pkgdir}/${_prefix}/bin/"{cargo,rustc,rustdoc} + strip --strip-all "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/bin/"rust-lld + strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/lib/"*.so + strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/"*.so + i686-w64-mingw32-strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/i686-pc-windows-gnu/lib/"*.dll + x86_64-w64-mingw32-strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/x86_64-pc-windows-gnu/lib/"*.dll # config - install -dm777 "${pkgdir}/opt/${_pkgname}/cargo" - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" + install -dm777 "${pkgdir}/opt/rust/cargo" + cat << EOF >> "${pkgdir}/opt/rust/cargo/config" [target.i686-pc-windows-gnu] linker = "/usr/bin/i686-w64-mingw32-gcc" ar = "/usr/i686-w64-mingw32/bin/ar" EOF if pacman -T "mingw-w64-wine" ; then - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" + cat << EOF >> "${pkgdir}/opt/rust/cargo/config" runner = "/usr/bin/i686-w64-mingw32-wine" EOF fi - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" + cat << EOF >> "${pkgdir}/opt/rust/cargo/config" rustflags = [ -EOF - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" ] EOF - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" + cat << EOF >> "${pkgdir}/opt/rust/cargo/config" [target.x86_64-pc-windows-gnu] linker = "/usr/bin/x86_64-w64-mingw32-gcc" ar = "/usr/x86_64-w64-mingw32/bin/ar" EOF if pacman -T "mingw-w64-wine" ; then - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" + cat << EOF >> "${pkgdir}/opt/rust/cargo/config" runner = "/usr/bin/x86_64-w64-mingw32-wine" EOF fi - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" + cat << EOF >> "${pkgdir}/opt/rust/cargo/config" rustflags = [ -EOF - cat << EOF >> "${pkgdir}/opt/${_pkgname}/cargo/config" ] EOF diff --git a/mingw-config.toml b/mingw-config.toml index 8c0a58bc8e8c..7d31c56125ad 100644 --- a/mingw-config.toml +++ b/mingw-config.toml @@ -21,6 +21,12 @@ enabled = true # Indicates whether the LLVM build is a Release or Debug build optimize = true +# Indicates whether LLVM should be built with ThinLTO. Note that this will +# only succeed if you use clang, lld, llvm-ar, and llvm-ranlib in your C/C++ +# toolchain (see the `cc`, `cxx`, `linker`, `ar`, and `ranlib` options below). +# More info at: https://clang.llvm.org/docs/ThinLTO.html#clang-bootstrap +#thin-lto = false + # Indicates whether an LLVM Release build should include debug info release-debuginfo = false @@ -76,6 +82,10 @@ link-jobs = 0 # passed to prefer linking to shared libraries. link-shared = false +# When building llvm, this configures what is being appended to the version. +# If absent, we let the version as-is. +#version-suffix = "-rust" + # On MSVC you can compile LLVM with clang-cl, but the test suite doesn't pass # with clang-cl, so this is special in that it only compiles LLVM with clang-cl #clang-cl = '/path/to/clang-cl.exe' @@ -354,6 +364,10 @@ lld = true # sysroot. llvm-tools = false +# Indicates whether LLDB will be made available in the sysroot. +# This is only built if LLVM is also being built. +lldb = false + # Whether to deny warnings in crates deny-warnings = false @@ -363,6 +377,10 @@ backtrace-on-ice = false # Whether to verify generated LLVM IR verify-llvm-ir = false +# Map all debuginfo paths for libstd and crates to `/rust/$sha/$crate/...`, +# generally only set for releases +remap-debuginfo = false + # ============================================================================= # Options for specific targets # @@ -384,6 +402,10 @@ cxx = "c++" # Note: an absolute path should be used, otherwise LLVM build will break. ar = "ar" +# Ranlib to be used to assemble static libraries compiled from C/C++ code. +# Note: an absolute path should be used, otherwise LLVM build will break. +ranlib = "ranlib" + # Linker to be used to link Rust code. Note that the # default value is platform specific, and if not specified it may also depend on # what platform is crossing to what platform. @@ -434,6 +456,10 @@ cxx = "i686-w64-mingw32-c++" # Note: an absolute path should be used, otherwise LLVM build will break. ar = "i686-w64-mingw32-ar" +# Ranlib to be used to assemble static libraries compiled from C/C++ code. +# Note: an absolute path should be used, otherwise LLVM build will break. +ranlib = "i686-w64-mingw32-ranlib" + # Linker to be used to link Rust code. Note that the # default value is platform specific, and if not specified it may also depend on # what platform is crossing to what platform. @@ -484,6 +510,10 @@ cxx = "x86_64-w64-mingw32-c++" # Note: an absolute path should be used, otherwise LLVM build will break. ar = "x86_64-w64-mingw32-ar" +# Ranlib to be used to assemble static libraries compiled from C/C++ code. +# Note: an absolute path should be used, otherwise LLVM build will break. +ranlib = "x86_64-w64-mingw32-ranlib" + # Linker to be used to link Rust code. Note that the # default value is platform specific, and if not specified it may also depend on # what platform is crossing to what platform. |