Accepting request 678319 from home:luke_nukem:branches:devel:languages:rust
- Ensure install environment is the same as build environment to prevent building everything twice (second time without correct flags). OBS-URL: https://build.opensuse.org/request/show/678319 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=180
This commit is contained in:
parent
c5c57d02d8
commit
b363312045
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Feb 23 01:58:47 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
||||||
|
|
||||||
|
- Ensure install environment is the same as build environment to
|
||||||
|
prevent building everything twice (second time without correct
|
||||||
|
flags).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jan 17 21:22:11 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
Thu Jan 17 21:22:11 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
||||||
|
|
||||||
|
44
rust.spec
44
rust.spec
@ -47,20 +47,33 @@
|
|||||||
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
||||||
# All sources and bootstraps are fetched form here
|
# All sources and bootstraps are fetched form here
|
||||||
%global dl_url https://static.rust-lang.org/dist
|
%global dl_url https://static.rust-lang.org/dist
|
||||||
|
|
||||||
# Rust doesn't function well when put in /usr/lib64
|
# Rust doesn't function well when put in /usr/lib64
|
||||||
%global common_libdir %{_prefix}/lib
|
%global common_libdir %{_prefix}/lib
|
||||||
%global rustlibdir %{common_libdir}/rustlib
|
%global rustlibdir %{common_libdir}/rustlib
|
||||||
|
|
||||||
# Use hardening ldflags.
|
# Use hardening ldflags.
|
||||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||||
|
|
||||||
# We occasionally need to bootstrap builds due to breakage etc. Rust only guarantees
|
# We occasionally need to bootstrap builds due to breakage etc. Rust only guarantees
|
||||||
# v-1 will build v
|
# v-1 will build v
|
||||||
%bcond_with rust_bootstrap
|
%bcond_with rust_bootstrap
|
||||||
|
|
||||||
# Distro LLVM should be sufficient, this also cuts compile times byu almost half
|
# Distro LLVM should be sufficient, this also cuts compile times byu almost half
|
||||||
%if 0%{?suse_version} <= 1315
|
%if 0%{?suse_version} <= 1315
|
||||||
%bcond_without bundled_llvm
|
%bcond_without bundled_llvm
|
||||||
%else
|
%else
|
||||||
%bcond_with bundled_llvm
|
%bcond_with bundled_llvm
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Debuginfo can exhaust memory on these architecture workers
|
||||||
|
%ifarch %{arm} %{ix86}
|
||||||
|
%define codegen_units --set codegen-units=4
|
||||||
|
%define debug_info --disable-debuginfo --enable-debuginfo-only-std --disable-debuginfo-tools --disable-debuginfo-lines
|
||||||
|
%else
|
||||||
|
%define debug_info --enable-debuginfo --disable-debuginfo-only-std --enable-debuginfo-tools --disable-debuginfo-lines
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: rust
|
Name: rust
|
||||||
Version: 1.32.0
|
Version: 1.32.0
|
||||||
Release: 0
|
Release: 0
|
||||||
@ -350,29 +363,29 @@ sed -i '1s|^|#!/bin/bash\n|' src/liblibc/ci/emscripten-entry.sh
|
|||||||
sed -i '1s|^|#!/bin/bash\n|' src/stdsimd/ci/run-docker.sh
|
sed -i '1s|^|#!/bin/bash\n|' src/stdsimd/ci/run-docker.sh
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# Keep all the "export VARIABLE" together here, so they can be
|
||||||
|
# cut&pasted to the %install section below. And please keep them in
|
||||||
|
# sync! If the environments between build and install and different,
|
||||||
|
# everything will be rebuilt during installation!
|
||||||
|
|
||||||
# This should eventually migrate to distro policy
|
# This should eventually migrate to distro policy
|
||||||
# Enable optimization, debuginfo, and link hardening.
|
# Enable optimization, debuginfo, and link hardening.
|
||||||
export RUSTFLAGS="%{rustflags}"
|
export RUSTFLAGS="%{rustflags}"
|
||||||
# Cargo use system libs
|
# Cargo use system libs
|
||||||
export LIBGIT2_SYS_USE_PKG_CONFIG=1
|
export LIBGIT2_SYS_USE_PKG_CONFIG=1
|
||||||
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||||
|
export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
|
||||||
# Debuginfo can exhaust memory on these architecture workers
|
|
||||||
%ifarch %{arm} %{ix86}
|
|
||||||
%define codegen_units --set codegen-units=4
|
|
||||||
%define debug_info --disable-debuginfo --enable-debuginfo-only-std --disable-debuginfo-tools --disable-debuginfo-lines
|
|
||||||
%else
|
|
||||||
%define debug_info --enable-debuginfo --disable-debuginfo-only-std --enable-debuginfo-tools --disable-debuginfo-lines
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%configure \
|
%configure \
|
||||||
--disable-option-checking \
|
--disable-option-checking \
|
||||||
--build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \
|
--build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \
|
||||||
|
--enable-local-rust \
|
||||||
--local-rust-root=%{rust_root} \
|
--local-rust-root=%{rust_root} \
|
||||||
--libdir=%{common_libdir} \
|
--libdir=%{common_libdir} \
|
||||||
--docdir=%{_docdir}/%{name} \
|
--docdir=%{_docdir}/%{name} \
|
||||||
%{!?with_bundled_llvm: --llvm-root=%{_prefix} --enable-llvm-link-shared} \
|
%{!?with_bundled_llvm: --llvm-root=%{_prefix} --enable-llvm-link-shared} \
|
||||||
--disable-codegen-tests \
|
--disable-codegen-tests \
|
||||||
|
--enable-optimize \
|
||||||
--enable-docs \
|
--enable-docs \
|
||||||
--enable-verbose-tests \
|
--enable-verbose-tests \
|
||||||
--disable-jemalloc \
|
--disable-jemalloc \
|
||||||
@ -382,8 +395,6 @@ export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
|||||||
--enable-vendor \
|
--enable-vendor \
|
||||||
--release-channel="stable"
|
--release-channel="stable"
|
||||||
|
|
||||||
export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
|
|
||||||
|
|
||||||
# We need less codegen units for these arches since the workers are running out of memory
|
# We need less codegen units for these arches since the workers are running out of memory
|
||||||
# This means we must apply a minimum of 2 CPUs to a worker in constraints.
|
# This means we must apply a minimum of 2 CPUs to a worker in constraints.
|
||||||
%ifarch %{arm} %{ix86}
|
%ifarch %{arm} %{ix86}
|
||||||
@ -394,6 +405,19 @@ sed -i -e "s|#codegen-units = 1|codegen-units = 2|" config.toml
|
|||||||
./x.py doc -v
|
./x.py doc -v
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
# Keep all the "export VARIABLE" together here, so they can be
|
||||||
|
# cut&pasted to the %install section below. And please keep them in
|
||||||
|
# sync! If the environments between build and install and different,
|
||||||
|
# everything will be rebuilt during installation!
|
||||||
|
|
||||||
|
# This should eventually migrate to distro policy
|
||||||
|
# Enable optimization, debuginfo, and link hardening.
|
||||||
|
export RUSTFLAGS="%{rustflags}"
|
||||||
|
# Cargo use system libs
|
||||||
|
export LIBGIT2_SYS_USE_PKG_CONFIG=1
|
||||||
|
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||||
|
export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
|
||||||
|
|
||||||
DESTDIR=%{buildroot} python3 ./x.py install
|
DESTDIR=%{buildroot} python3 ./x.py install
|
||||||
DESTDIR=%{buildroot} python3 ./x.py install src
|
DESTDIR=%{buildroot} python3 ./x.py install src
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user