Skip to content

Commit cd0c148

Browse files
committed
- follow upstream and split analysis and std libs to separate packages
1 parent b263378 commit cd0c148

File tree

1 file changed

+49
-7
lines changed

1 file changed

+49
-7
lines changed

rust.spec

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ BuildRequires: cargo >= %{bootstrap_cargo}
7676
BuildConflicts: %{name} > %{version}
7777
%endif
7878
%ifarch x32
79-
BuildRequires: glibc-devel(x32)
80-
BuildRequires: glibc-devel(x86_64)
79+
BuildRequires: glibc-devel(x86-64)
80+
BuildRequires: glibc-devel(x86-x32)
8181
%if "%{_host_cpu}" == "x86_64"
8282
# building on x86_64 host with --target x32-pld-linux
8383
BuildRequires: curl-devel
@@ -90,18 +90,29 @@ BuildRequires: zlib-devel
9090
%else
9191
# building x86_64-hosted crosscompiler on x32 host
9292
BuildRequires: curl-devel(x86-64)
93+
BuildRequires: curl-devel(x86-x32)
9394
BuildRequires: gcc-multilib-64
9495
BuildRequires: libgit2-devel(x86-64) >= 1.1.0
96+
BuildRequires: libgit2-devel(x86-x32) >= 1.1.0
9597
BuildRequires: libstdc++-multilib-64-devel
96-
%{?with_system_llvm:BuildRequires: llvm-devel(x86-64) >= 9.0}
98+
%if %{with system_llvm}
99+
BuildRequires: llvm-devel(x86-64) >= 9.0
100+
BuildRequires: llvm-devel(x86-x32) >= 9.0
101+
%endif
97102
BuildRequires: openssl-devel(x86-64)
103+
BuildRequires: openssl-devel(x86-x32)
98104
BuildRequires: zlib-devel(x86-64)
105+
BuildRequires: zlib-devel(x86-x32)
99106
%endif
100107
%endif
101108
# The C compiler is needed at runtime just for linking. Someday rustc might
102109
# invoke the linker directly, and then we'll only need binutils.
103110
# https://github.com/rust-lang/rust/issues/11937
104111
Requires: gcc
112+
Requires: %{name}-std%{?_isa} = %{version}-%{release}
113+
%ifarch x32
114+
Requires: %{name}-std(x86-64) = %{version}-%{release}
115+
%endif
105116
# Only x86_64 and i686 are Tier 1 platforms at this time.
106117
# x32 is Tier 2, only rust-std is available (no rustc or cargo).
107118
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
@@ -165,11 +176,35 @@ Rust to systemowy język programowania działający bardzo szybko,
165176
zapobiegający naruszeniom ochrony pamięci i gwarantujący
166177
bezpieczną wielowątkowość.
167178

179+
%package analysis
180+
Summary: Metadata about the standard library
181+
Summary(pl.UTF-8): Metadane o standardowej bibliotece
182+
Group: Development/Tools
183+
Requires: %{name}%{?_isa} = %{version}-%{release}
184+
185+
%description analysis
186+
Metadata about the standard library.
187+
188+
%description analysis -l pl.UTF-8
189+
Metadane o standardowej bibliotece.
190+
191+
%package std
192+
Summary: Standard library for Rust
193+
Summary(pl.UTF-8): Standardowa biblioteka Rusta
194+
Group: Development/Tools
195+
Requires: %{name}%{?_isa} = %{version}-%{release}
196+
197+
%description std
198+
Standard library for Rust.
199+
200+
%description std -l pl.UTF-8
201+
Standardowa biblioteka Rusta.
202+
168203
%package analyzer
169204
Summary: Implementation of Language Server Protocol for Rust
170205
Summary(pl.UTF-8): Implementacja Language Server Protocol dla Rusta
171206
Group: Development/Tools
172-
Requires: %{name} = %{version}-%{release}
207+
Requires: %{name}%{?_isa} = %{version}-%{release}
173208

174209
%description analyzer
175210
Implementation of Language Server Protocol for Rust.
@@ -226,7 +261,8 @@ odpluskwianie programów w języku Rust.
226261
Summary: Rust Language Server for IDE integration
227262
Summary(pl.UTF-8): Rust Language Server do integracji z IDE
228263
Group: Development/Tools
229-
Requires: %{name} = %{version}-%{release}
264+
Requires: %{name}%{?_isa} = %{version}-%{release}
265+
Requires: %{name}-analysis%{?_isa} = %{version}-%{release}
230266

231267
%description rls
232268
Rust Language Server for IDE integration.
@@ -252,7 +288,7 @@ programowania Rust i jego biblioteki standardowej.
252288
Summary: Rust's package manager and build tool
253289
Summary(pl.UTF-8): Zarządca pakietów i narzędzie do budowania
254290
Group: Development/Tools
255-
Requires: %{name}
291+
Requires: %{name}%{?_isa}
256292

257293
%description -n cargo
258294
Cargo is a tool that allows Rust projects to declare their various
@@ -435,8 +471,14 @@ rm -rf $RPM_BUILD_ROOT
435471
%{_mandir}/man1/rustc.1*
436472
%{_mandir}/man1/rustdoc.1*
437473
%dir %{rustlibdir}
438-
%dir %{rustlibdir}/%{rust_triple}
474+
475+
%files analysis
476+
%defattr(644,root,root,755)
439477
%{rustlibdir}/%{rust_triple}/analysis
478+
479+
%files std
480+
%defattr(644,root,root,755)
481+
%dir %{rustlibdir}/%{rust_triple}
440482
%dir %{rustlibdir}/%{rust_triple}/lib
441483
%attr(755,root,root) %{rustlibdir}/%{rust_triple}/lib/*.so
442484
%{rustlibdir}/%{rust_triple}/lib/*.rlib

0 commit comments

Comments
 (0)