Date: Tuesday, October 9, 2018 @ 15:36:08 Author: demize Revision: 391644
upgpkg: lib32-rust 1.29.1-1 Also build with system LLVM Modified: lib32-rust/trunk/PKGBUILD lib32-rust/trunk/config.toml -------------+ PKGBUILD | 17 -- config.toml | 414 +--------------------------------------------------------- 2 files changed, 19 insertions(+), 412 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-10-09 15:35:22 UTC (rev 391643) +++ PKGBUILD 2018-10-09 15:36:08 UTC (rev 391644) @@ -1,8 +1,8 @@ # Maintainer: Johannes Löthberg <[email protected]> pkgname=lib32-rust -pkgver=1.29.0 -pkgrel=3 +pkgver=1.29.1 +pkgrel=1 pkgdesc='32-bit libraries for rust' url='https://www.rust-lang.org/' @@ -9,23 +9,20 @@ arch=('x86_64') license=('MIT' 'Apache') -makedepends=('libffi' 'perl' 'python2' 'curl' 'cmake' 'ninja') -depends=('lib32-gcc-libs' "rust=1:$pkgver-2") +makedepends=('llvm' 'libffi' 'perl' 'python2' 'curl' 'cmake') +depends=('lib32-gcc-libs' "rust=1:$pkgver-1") source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc} - config.toml - https://github.com/rust-lang/rust/commit/1b94b84ad0143ea2039610e3aec9e929a8a20733.patch) + config.toml) -sha256sums=('a4eb34ffd47f76afe2abd813f398512d5a19ef00989d37306217c9c9ec2f61e9' +sha256sums=('f1b0728b66ce6bce6d72bbe5ea9e3a24ea22a045665da2ed8fcdfad14f61a349' 'SKIP' - '5c1962458f20dd5a542db7ef31e35c20a7b42f9e74dd27ec4e9f0cf2ab1953ce' - '8c8e79b0bac0dd1434c49f665abfa50634ffb0fbb35c9efee511e5b97960b9e2') + '36c22ecdacbfeca9ab955726b4a701f687f8ed358a1b8ab2d7cc988408db44cb') validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE') # Rust Language (Tag and Release Signing Key) <[email protected]> prepare() { cd "rustc-$pkgver-src" - patch -p1 <"$srcdir"/1b94b84ad0143ea2039610e3aec9e929a8a20733.patch cp "$srcdir"/config.toml config.toml } Modified: config.toml =================================================================== --- config.toml 2018-10-09 15:35:22 UTC (rev 391643) +++ config.toml 2018-10-09 15:36:08 UTC (rev 391644) @@ -1,419 +1,29 @@ -# Sample TOML configuration file for building Rust. -# -# To configure rustbuild, copy this file to the directory from which you will be -# running the build, and name it config.toml. -# -# All options are commented out by default in this file, and they're commented -# out with their default values. The build system by default looks for -# `config.toml` in the current directory of a build for build configuration, but -# a custom configuration file can also be specified with `--config` to the build -# system. - -# ============================================================================= -# Tweaking how LLVM is compiled -# ============================================================================= [llvm] +link-shared = true -# Indicates whether rustc will support compilation with LLVM -# note: rustc does not compile without LLVM at the moment -#enabled = true - -# Indicates whether the LLVM build is a Release or Debug build -#optimize = true - -# Indicates whether an LLVM Release build should include debug info -#release-debuginfo = false - -# Indicates whether the LLVM assertions are enabled or not -#assertions = false - -# Indicates whether ccache is used when building LLVM -#ccache = false -# or alternatively ... -#ccache = "/path/to/ccache" - -# If an external LLVM root is specified, we automatically check the version by -# default to make sure it's within the range that we're expecting, but setting -# this flag will indicate that this version check should not be done. -#version-check = true - -# Link libstdc++ statically into the librustc_llvm instead of relying on a -# dynamic version to be available. -#static-libstdcpp = false - -# Tell the LLVM build system to use Ninja instead of the platform default for -# the generated build system. This can sometimes be faster than make, for -# example. -ninja = true - -# LLVM targets to build support for. -# Note: this is NOT related to Rust compilation targets. However, as Rust is -# dependent on LLVM for code generation, turning targets off here WILL lead to -# the resulting rustc being unable to compile for the disabled architectures. -# Also worth pointing out is that, in case support for new targets are added to -# LLVM, enabling them here doesn't mean Rust is automatically gaining said -# support. You'll need to write a target specification at least, and most -# likely, teach rustc about the C ABI of the target. Get in touch with the -# Rust team and file an issue if you need assistance in porting! -targets = "X86" - -# LLVM experimental targets to build support for. These targets are specified in -# the same format as above, but since these targets are experimental, they are -# not built by default and the experimental Rust compilation targets that depend -# on them will not work unless the user opts in to building them. By default the -# `WebAssembly` target is enabled when compiling LLVM from scratch. -#experimental-targets = "WebAssembly" - -# Cap the number of parallel linker invocations when compiling LLVM. -# This can be useful when building LLVM with debug info, which significantly -# increases the size of binaries and consequently the memory required by -# each linker process. -# If absent or 0, linker invocations are treated like any other job and -# controlled by rustbuild's -j parameter. -#link-jobs = 0 - -# When invoking `llvm-config` this configures whether the `--shared` argument is -# passed to prefer linking to shared libraries. -#link-shared = false - -# ============================================================================= -# General build configuration options -# ============================================================================= [build] - -# Build triple for the original snapshot compiler. This must be a compiler that -# nightlies are already produced for. The current platform must be able to run -# binaries of this build triple and the nightly will be used to bootstrap the -# first compiler. -#build = "x86_64-unknown-linux-gnu" # defaults to your host platform - -# In addition to the build triple, other triples to produce full compiler -# toolchains for. Each of these triples will be bootstrapped from the build -# triple and then will continue to bootstrap themselves. This platform must -# currently be able to run all of the triples provided here. -#host = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple - -# In addition to all host triples, other triples to produce the standard library -# for. Each host triple will be used to produce a copy of the standard library -# for each target triple. target = ["i686-unknown-linux-gnu"] # defaults to just the build triple - -# Instead of downloading the src/stage0.txt version of Cargo specified, use -# this Cargo binary instead to build all Rust code cargo = "/usr/bin/cargo" - -# Instead of downloading the src/stage0.txt version of the compiler -# specified, use this rustc binary instead as the stage0 snapshot compiler. rustc = "/usr/bin/rustc" - -# Flag to specify whether any documentation is built. If false, rustdoc and -# friends will still be compiled but they will not be used to generate any -# documentation. -docs = false - -# Indicate whether the compiler should be documented in addition to the standard -# library and facade crates. -#compiler-docs = false - -# Indicate whether submodules are managed and updated automatically. -#submodules = true - -# The path to (or name of) the GDB executable to use. This is only used for -# executing the debuginfo test suite. -#gdb = "gdb" - -# The node.js executable to use. Note that this is only used for the emscripten -# target when running tests, otherwise this can be omitted. -#nodejs = "node" - -# Python interpreter to use for various tasks throughout the build, notably -# rustdoc tests, the lldb python interpreter, and some dist bits and pieces. -# Note that Python 2 is currently required. -#python = "python2.7" - -# Force Cargo to check that Cargo.lock describes the precise dependency -# set that all the Cargo.toml files create, instead of updating it. -#locked-deps = false - -# Indicate whether the vendored sources are used for Rust dependencies or not -#vendor = false - -# Typically the build system will build the rust compiler twice. The second -# compiler, however, will simply use its own libraries to link against. If you -# would rather to perform a full bootstrap, compiling the compiler three times, -# then you can set this option to true. You shouldn't ever need to set this -# option to true. -#full-bootstrap = false - -# Enable a build of the extended rust tool set which is not only the compiler -# 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 - -# Installs choosen set of extended tools if enables. By default builds all. -# If choosen tool failed to build the installation fails. -#tools = ["cargo", "rls", "rustfmt", "analysis", "src"] - -# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose -#verbose = 0 - -# Build the sanitizer runtimes -#sanitizers = false - -# Build the profiler runtime -#profiler = false - -# Indicates whether the OpenSSL linked into Cargo will be statically linked or -# not. If static linkage is specified then the build system will download a -# known-good version of OpenSSL, compile it, and link it to Cargo. -#openssl-static = false - -# Run the build with low priority, by setting the process group's "nice" value -# to +10 on Unix platforms, and by using a "low priority" job object on Windows. -#low-priority = false - -# Arguments passed to the `./configure` script, used during distcheck. You -# probably won't fill this in but rather it's filled in by the `./configure` -# script. -#configure-args = [] - -# Indicates that a local rebuild is occurring instead of a full bootstrap, -# essentially skipping stage0 as the local compiler is recompiling itself again. +python = "python2.7" +extended = true +sanitizers = false local-rebuild = true -# ============================================================================= -# General install configuration options -# ============================================================================= [install] +prefix = "/usr" -# Instead of installing to /usr/local, install to this path instead. -#prefix = "/usr/local" - -# Where to install system configuration files -# If this is a relative path, it will get installed in `prefix` above -#sysconfdir = "/etc" - -# Where to install documentation in `prefix` above -#docdir = "share/doc/rust" - -# Where to install binaries in `prefix` above -#bindir = "bin" - -# Where to install libraries in `prefix` above -#libdir = "lib" - -# 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 -# ============================================================================= [rust] +# 0 or the new default of 16 is faster, but can result in worse performance +# https://github.com/rust-lang/rust/issues/47745 +codegen-units = 1 -# Indicates that the build should be optimized for debugging Rust. Note that -# this is typically not what you want as it takes an incredibly large amount of -# time to have a debug-mode rustc compile any code (notably libstd). If this -# value is set to `true` it will affect a number of configuration options below -# as well, if unconfigured. -#debug = false +debuginfo = true +debuginfo-lines = true -# Whether or not to optimize the compiler and standard library -# Note: the slowness of the non optimized compiler compiling itself usually -# outweighs the time gains in not doing optimizations, therefore a -# full bootstrap takes much more time with optimize set to false. -#optimize = true - -# Number of codegen units to use for each compiler invocation. A value of 0 -# means "the number of cores on this machine", and 1+ is passed through to the -# 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 - -# Whether or not debuginfo is emitted -#debuginfo = false - -# Whether or not line number debug information is emitted -#debuginfo-lines = false - -# Whether or not to only build debuginfo for the standard library if enabled. -# If enabled, this will not compile the compiler with debuginfo, just the -# standard library. -#debuginfo-only-std = false - -# Whether or not jemalloc is built and enabled -#use-jemalloc = true - -# Whether or not jemalloc is built with its debug option set -#debug-jemalloc = false - -# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE) -#backtrace = true - -# The default linker that will be hard-coded into the generated compiler for -# targets that don't specify linker explicitly in their target specifications. -# Note that this is not the linker used to link said compiler. -#default-linker = "cc" - -# The "channel" for the Rust build to produce. The stable/beta channels only -# allow using stable features, whereas the nightly and dev channels allow using -# nightly features channel = "stable" -# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix -# platforms to ensure that the compiler is usable by default from the build -# directory (as it links to a number of dynamic libraries). This may not be -# desired in distributions, for example. -#rpath = true +rpath = false -# Suppresses extraneous output from tests to ensure the output of the test -# harness is relatively clean. -#quiet-tests = false - -# Flag indicating whether tests are compiled with optimizations (the -O flag) or -# with debuginfo (the -g flag) -#optimize-tests = true -#debuginfo-tests = true - -# Flag indicating whether codegen tests will be run or not. If you get an error -# saying that the FileCheck executable is missing, you may want to disable this. -#codegen-tests = true - -# Flag indicating whether git info will be retrieved from .git automatically. -# Having the git information can cause a lot of rebuilds during development. -# Note: If this attribute is not explicitly set (e.g. if left commented out) it -# will default to true if channel = "dev", but will default to false otherwise. -#ignore-git = true - -# When creating source tarballs whether or not to create a source tarball. -#dist-src = false - -# Whether to also run the Miri tests suite when running tests. -# As a side-effect also generates MIR for all libraries. -#test-miri = false - -# After building or testing extended tools (e.g. clippy and rustfmt), append the -# 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 -# -# Each of the following options is scoped to the specific target triple in -# question and is used for determining how to compile each target. -# ============================================================================= [target.x86_64-unknown-linux-gnu] - -# C compiler to be used to compiler C 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. -#cc = "cc" - -# C++ compiler to be used to compiler C++ code (e.g. LLVM and our LLVM shims). -# This is only used for host targets. -#cxx = "c++" - -# Archiver to be used to assemble static libraries compiled from C/C++ code. -# Note: an absolute path should be used, otherwise LLVM build will break. -#ar = "ar" - -# 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. -#linker = "cc" - -# Path to the `llvm-config` binary of the installation of a custom LLVM to link -# against. Note that if this is specified we don't compile LLVM at all for this -# target. -#llvm-config = "../path/to/llvm/root/bin/llvm-config" - -# Path to the custom jemalloc static library to link into the standard library -# by default. This is only used if jemalloc is still enabled above -#jemalloc = "/path/to/jemalloc/libjemalloc_pic.a" - -# If this target is for Android, this option will be required to specify where -# the NDK for the target lives. This is used to find the C compiler to link and -# build native code. -#android-ndk = "/path/to/ndk" - -# Force static or dynamic linkage of the standard library for this target. If -# this target is a host for rustc, this will also affect the linkage of the -# compiler itself. This is useful for building rustc on targets that normally -# only use static libraries. If unset, the target's default linkage is used. -#crt-static = false - -# The root location of the MUSL installation directory. The library directory -# will also need to contain libunwind.a for an unwinding implementation. Note -# that this option only makes sense for MUSL targets that produce statically -# linked binaries -#musl-root = "..." - -# Used in testing for configuring where the QEMU images are located, you -# probably don't want to use this. -#qemu-rootfs = "..." - -# ============================================================================= -# Distribution options -# -# 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] - -# 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` -# binary. The `asc` and `sha256` files will all be output into the standard dist -# output folder (currently `build/dist`) -# -# This folder should be populated ahead of time before the build system is -# invoked. -#sign-folder = "path/to/folder/to/sign" - -# This is a file which contains the password of the default gpg key. This will -# be passed to `gpg` down the road when signing all files in `sign-folder` -# above. This should be stored in plaintext. -#gpg-password-file = "path/to/gpg/password" - -# The remote address that all artifacts will eventually be uploaded to. The -# build system generates manifests which will point to these urls, and for the -# manifests to be correct they'll have to have the right URLs encoded. -# -# Note that this address should not contain a trailing slash as file names will -# be appended to it. -#upload-addr = "https://example.com/folder" - -# Whether to build a plain source tarball to upload -# We disable that on Windows not to override the one already uploaded on S3 -# as the one built on Windows will contain backslashes in paths causing problems -# on linux -#src-tarball = true +llvm-config = "/usr/bin/llvm-config"
