]> git.pld-linux.org Git - packages/rust.git/blobdiff - rust.spec
use python3 for invoking build scripts
[packages/rust.git] / rust.spec
index 30ee9b83f1f94ec70df151bf4d0dec4733f790af..d2c8c05df1bda2a2980a9da6778958d589867174 100644 (file)
--- a/rust.spec
+++ b/rust.spec
@@ -1,4 +1,5 @@
 # TODO
+# - unpackaged %{rustlibdir}/%{rust_triple}/bin/rust-llvm-dwp
 # - consider a rust-std package containing .../rustlib/$target
 #   This might allow multilib cross-compilation to work naturally.
 # - package additional tools
 %define                rustc_package   rustc-%{channel}-src
 %endif
 
-# To bootstrap from scratch, set the channel and date from src/stage0.txt
+# To bootstrap from scratch, set the channel and date from src/stage0.json
 # e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
 # or nightly wants some beta-YYYY-MM-DD
-%define                bootstrap_rust  1.52.0
-%define                bootstrap_cargo 1.52.0
-%define                bootstrap_date  2021-05-06
+%define                bootstrap_rust  1.56.1
+%define                bootstrap_cargo 1.56.1
+%define                bootstrap_date  2021-11-01
 
 %ifarch x32
 %define                with_cross      1
 Summary:       The Rust Programming Language
 Summary(pl.UTF-8):     Język programowania Rust
 Name:          rust
-Version:       1.53.0
+Version:       1.57.0
 Release:       1
 # Licenses: (rust itself) and (bundled libraries)
 License:       (Apache v2.0 or MIT) and (BSD and ISC and MIT)
 Group:         Development/Languages
 Source0:       https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
-# Source0-md5: 2c552dc35afd41ac7294637a7e85f1a3
+# Source0-md5: 0c7d63d9c456c4ec0f95bb6bb729c13e
 Source1:       https://static.rust-lang.org/dist/%{bootstrap_date}/rust-%{bootstrap_rust}-x86_64-unknown-linux-gnu.tar.xz
-# Source1-md5: 5451acacf06d3eed947fdfa7eb96d0e8
+# Source1-md5: 9c12561dff9debea38e4b93f881ae2bb
 Source2:       https://static.rust-lang.org/dist/%{bootstrap_date}/rust-%{bootstrap_rust}-i686-unknown-linux-gnu.tar.xz
-# Source2-md5: 136df423e63932ed02d18e9ba7923537
+# Source2-md5: 947bd95b9c8a9943d43af1bbabf1a8e1
 Source3:       https://static.rust-lang.org/dist/%{bootstrap_date}/rust-%{bootstrap_rust}-aarch64-unknown-linux-gnu.tar.xz
-# Source3-md5: 2868d64a0ec681f3fe2bb59e20569d26
+# Source3-md5: 64d78bc0747c975fe0451e4fd5b8ac4b
 Source4:       https://static.rust-lang.org/dist/%{bootstrap_date}/rust-%{bootstrap_rust}-arm-unknown-linux-gnueabihf.tar.xz
-# Source4-md5: e36ad0e20aef949b4335cf2599a136bb
+# Source4-md5: a13652efd627b5e5f8bd278f378acea4
 Source5:       https://static.rust-lang.org/dist/%{bootstrap_date}/rust-%{bootstrap_rust}-armv7-unknown-linux-gnueabihf.tar.xz
-# Source5-md5: 77d28773b9fa07979a075e5232b23ac7
+# Source5-md5: 3fb69008b1b0141d464a4a48317709b3
 URL:           https://www.rust-lang.org/
 # for src/compiler-rt
 BuildRequires: cmake >= 3.4.3
 BuildRequires: curl
 # make check needs "ps" for src/test/run-pass/wait-forked-but-failed-child.rs
 BuildRequires: procps
-BuildRequires: python >= 1:2.7
+BuildRequires: python3
+BuildRequires: python3-modules
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 1.752
 %if %{without cross}
 BuildRequires: curl-devel
-BuildRequires: libgit2-devel >= 1.1.0
+BuildRequires: libgit2-devel >= 1.3.0
 BuildRequires: libstdc++-devel
-%{?with_system_llvm:BuildRequires:     llvm-devel >= 10.0}
+%if %{with system_llvm}
+BuildRequires: llvm >= 10.0
+BuildRequires: llvm-devel >= 10.0
+%endif
 BuildRequires: openssl-devel >= 1.0.1
 BuildRequires: tar >= 1:1.22
 BuildRequires: xz
@@ -83,7 +89,7 @@ BuildRequires:        glibc-devel(x86-x32)
 # building on x86_64 host with --target x32-pld-linux
 BuildRequires: curl-devel
 BuildRequires: gcc-multilib-x32
-BuildRequires: libgit2-devel >= 1.1.0
+BuildRequires: libgit2-devel >= 1.3.0
 BuildRequires: libstdc++-devel
 %{?with_system_llvm:BuildRequires:     llvm-devel >= 10.0}
 BuildRequires: openssl-devel >= 1.0.1
@@ -93,8 +99,8 @@ BuildRequires:        zlib-devel
 BuildRequires: curl-devel(x86-64)
 BuildRequires: curl-devel(x86-x32)
 BuildRequires: gcc-multilib-64
-BuildRequires: libgit2-devel(x86-64) >= 1.1.0
-BuildRequires: libgit2-devel(x86-x32) >= 1.1.0
+BuildRequires: libgit2-devel(x86-64) >= 1.3.0
+BuildRequires: libgit2-devel(x86-x32) >= 1.3.0
 BuildRequires: libstdc++-multilib-64-devel
 %if %{with system_llvm}
 BuildRequires: llvm-devel(x86-64) >= 10.0
@@ -114,6 +120,7 @@ Requires:   %{name}-std%{?_isa} = %{version}-%{release}
 %ifarch x32
 Requires:      %{name}-std(x86-64) = %{version}-%{release}
 %endif
+Obsoletes:     rust-analyzer < 1.53.0
 # Only x86_64 and i686 are Tier 1 platforms at this time.
 # x32 is Tier 2, only rust-std is available (no rustc or cargo).
 # https://doc.rust-lang.org/nightly/rustc/platform-support.html
@@ -170,7 +177,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
        x_py() { \
                local cmd="$1"; \
                shift; \
-               %{?__jobs:CARGO_BUILD_JOBS=%__jobs }./x.py "$cmd" %{?__jobs:-j %__jobs} "$@"; \
+               %{?__jobs:CARGO_BUILD_JOBS=%__jobs }%{__python3} ./x.py "$cmd" %{?__jobs:-j %__jobs} "$@"; \
        }; x_py }
 
 
@@ -210,18 +217,6 @@ Standard library for Rust.
 %description std -l pl.UTF-8
 Standardowa biblioteka Rusta.
 
-%package analyzer
-Summary:       Implementation of Language Server Protocol for Rust
-Summary(pl.UTF-8):     Implementacja Language Server Protocol dla Rusta
-Group:         Development/Tools
-Requires:      %{name} = %{version}-%{release}
-
-%description analyzer
-Implementation of Language Server Protocol for Rust.
-
-%description analyzer -l pl.UTF-8
-Implementacja Language Server Protocol dla Rusta.
-
 %package debugger-common
 Summary:       Common debugger pretty printers for Rust
 Summary(pl.UTF-8):     Narzędzia wypisujące struktury Rusa wspólne dla różnych debuggerów
@@ -370,14 +365,19 @@ test -f %{local_rust_root}/bin/rustc
 mkdir -p src/llvm-project/libunwind
 %endif
 
-# extract bundled licenses for packaging
-sed -e '/*\//q' library/backtrace/crates/backtrace-sys/src/libbacktrace/backtrace.h \
-       >library/backtrace/crates/backtrace-sys/src/libbacktrace/LICENSE-libbacktrace
-
 # rust-gdb has hardcoded SYSROOT/lib -- let's make it noarch
 sed -i -e 's#DIRECTORY=".*"#DIRECTORY="%{_datadir}/%{name}/etc"#' \
        src/etc/rust-gdb
 
+# cargo has hardcoded libexec path - honour rpm _libexecdir
+%if "%{_libexecdir}" != "%{_prefix}/libexec"
+suffix="%(echo "%{_libexecdir}" | %{__sed} -e 's,^%{_prefix}/,,')"
+%{__sed} -i -e 's,"libexec","'${suffix}'",' \
+       src/bootstrap/dist.rs \
+       src/tools/cargo/src/cargo/ops/registry/auth.rs
+%{__sed} -i -e 's,libexec/,'${suffix}'/,' src/tools/cargo/tests/testsuite/credential_process.rs
+%endif
+
 # The configure macro will modify some autoconf-related files, which upsets
 # cargo when it tries to verify checksums in those files.  If we just truncate
 # that file list, cargo won't have anything to complain about.
@@ -475,8 +475,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc COPYRIGHT LICENSE-APACHE LICENSE-MIT README.md library/backtrace/crates/backtrace-sys/src/libbacktrace/LICENSE-libbacktrace
-%attr(755,root,root) %{_bindir}/miri
+%doc COPYRIGHT LICENSE-APACHE LICENSE-MIT README.md
 %attr(755,root,root) %{_bindir}/rustc
 %attr(755,root,root) %{_bindir}/rustdoc
 %attr(755,root,root) %{_bindir}/rustfmt
@@ -498,10 +497,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{rustlibdir}/%{rust_triple}/lib/*.so
 %{rustlibdir}/%{rust_triple}/lib/*.rlib
 
-%files analyzer
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/rust-analyzer
-
 %files debugger-common
 %defattr(644,root,root,755)
 %dir %{_datadir}/%{name}
@@ -534,7 +529,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cargo
 %attr(755,root,root) %{_bindir}/cargo-clippy
 %attr(755,root,root) %{_bindir}/cargo-fmt
-%attr(755,root,root) %{_bindir}/cargo-miri
 %attr(755,root,root) %{_bindir}/clippy-driver
 %attr(755,root,root) %{_libexecdir}/cargo-credential-1password
 %{_mandir}/man1/cargo*.1*
This page took 0.07926 seconds and 4 git commands to generate.