/[packages]/cauldron/rust/current/SPECS/rust.spec
ViewVC logotype

Contents of /cauldron/rust/current/SPECS/rust.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1419248 - (show annotations) (download)
Sun Jul 7 11:00:25 2019 UTC (4 years, 9 months ago) by akien
File size: 21857 byte(s)
- Sync with Fedora: Thu Jul 04 2019 Josh Stone <jistone@redhat.com> - 1.36.0-1
  o Update to 1.36.0.
1 # (akien) This package is synced with Fedora / Josh Stone's spec.
2 # The aim is to work with them on a rust packaging policy we could share,
3 # so that we can ensure a good packaging and share the workload.
4
5
6 # Only x86_64 and i686 are Tier 1 platforms at this time.
7 # https://forge.rust-lang.org/platform-support.html
8 %global rust_arches x86_64 i686 i586 armv7hl aarch64 ppc64 ppc64le s390x
9
10 # The channel can be stable, beta, or nightly
11 %{!?channel: %global channel stable}
12
13 # To bootstrap from scratch, set the channel and date from src/stage0.txt
14 # e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
15 # or nightly wants some beta-YYYY-MM-DD
16 # Note that cargo matches the program version here, not its crate version.
17 %global bootstrap_rust 1.35.0
18 %global bootstrap_cargo 1.35.0
19 %global bootstrap_channel 1.35.0
20 %global bootstrap_date 2019-05-23
21
22 # Only the specified arches will use bootstrap binaries.
23 #global bootstrap_arches %%{rust_arches}
24
25 # To bootstrap a compiler for a Tier 2 platform, we first need to build a
26 # compiler for a Tier 1 platform that targets the Tier 2 platform, then use
27 # the resulting compiler in a second build. Set bootstrap_build_arch to the
28 # Tier 1 arch for the first build, leave it undefined for the second build.
29 %bcond_with bootstrap_i586
30 %if %with bootstrap_i586
31 %ifarch i586
32 %global bootstrap_build_arch i686
33 %endif
34 %endif
35
36 # Using llvm-static may be helpful as an opt-in, e.g. to aid LLVM rebases.
37 %bcond_with llvm_static
38
39 # We can also choose to just use Rust's bundled LLVM, in case the system LLVM
40 # is insufficient. Rust currently requires LLVM 6.0+.
41 %if 0%{?rhel} && !0%{?epel}
42 %bcond_without bundled_llvm
43 %else
44 %bcond_with bundled_llvm
45 %endif
46
47 # libgit2-sys expects to use its bundled library, which is sometimes just a
48 # snapshot of libgit2's master branch. This can mean the FFI declarations
49 # won't match our released libgit2.so, e.g. having changed struct fields.
50 # So, tread carefully if you toggle this...
51 %bcond_without bundled_libgit2
52
53 %if 0%{?rhel}
54 %bcond_without bundled_libssh2
55 %else
56 %bcond_with bundled_libssh2
57 %endif
58
59 # LLDB isn't available everywhere...
60 %if !0%{?rhel}
61 %bcond_without lldb
62 %else
63 %bcond_with lldb
64 %endif
65
66 Name: rust
67 Version: 1.36.0
68 Release: %mkrel 1
69 Summary: The Rust Programming Language
70 %if 0%{?mageia}
71 Group: Development/Other
72 %endif
73 License: (ASL 2.0 or MIT) and (BSD and MIT)
74 # ^ written as: (rust itself) and (bundled libraries)
75 URL: https://www.rust-lang.org
76 ExclusiveArch: %{rust_arches}
77
78 %if "%{channel}" == "stable"
79 %global rustc_package rustc-%{version}-src
80 %else
81 %global rustc_package rustc-%{channel}-src
82 %endif
83 Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz
84
85 # Revert https://github.com/rust-lang/rust/pull/57840
86 # We do have the necessary fix in our LLVM 7.
87 Patch1: rust-pr57840-llvm7-debuginfo-variants.patch
88
89 # Upstream patch to fix typenum crate build on i386/i486/i586.
90 Patch2: typenum-pr115-fix-log2-rounding-error.patch
91
92 # Get the Rust triple for any arch.
93 %{lua: function rust_triple(arch)
94 local abi = "gnu"
95 if arch == "armv7hl" then
96 arch = "armv7"
97 abi = "gnueabihf"
98 elseif arch == "ppc64" then
99 arch = "powerpc64"
100 elseif arch == "ppc64le" then
101 arch = "powerpc64le"
102 end
103 return arch.."-unknown-linux-"..abi
104 end}
105
106 %if %defined bootstrap_build_arch
107 %global rust_triple %{lua: print(rust_triple(rpm.expand("%{bootstrap_build_arch}")))}
108 %global target_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))}
109 %else
110 %global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))}
111 %global target_triple %{rust_triple}
112 %endif
113
114 %if %defined bootstrap_arches
115 # For each bootstrap arch, add an additional binary Source.
116 # Also define bootstrap_source just for the current target.
117 %{lua: do
118 local bootstrap_arches = {}
119 for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do
120 table.insert(bootstrap_arches, arch)
121 end
122 local base = rpm.expand("https://static.rust-lang.org/dist/%{bootstrap_date}"
123 .."/rust-%{bootstrap_channel}")
124 local target_arch = rpm.expand("%{_target_cpu}")
125 for i, arch in ipairs(bootstrap_arches) do
126 print(string.format("Source%d: %s-%s.tar.xz\n",
127 i, base, rust_triple(arch)))
128 if arch == target_arch then
129 rpm.define("bootstrap_source "..i)
130 end
131 end
132 end}
133 %endif
134
135 %ifarch %{bootstrap_arches}
136 %global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple}
137 %global local_rust_root %{_builddir}/%{bootstrap_root}/usr
138 Provides: bundled(%{name}-bootstrap) = %{bootstrap_rust}
139 %else
140 BuildRequires: cargo >= %{bootstrap_cargo}
141 %if 0%{?fedora} >= 27
142 BuildRequires: (%{name} >= %{bootstrap_rust} with %{name} <= %{version})
143 %else
144 BuildRequires: %{name} >= %{bootstrap_rust}
145 BuildConflicts: %{name} > %{version}
146 %endif
147 %global local_rust_root %{_prefix}
148 %endif
149
150 BuildRequires: make
151 BuildRequires: gcc
152 BuildRequires: gcc-c++
153 BuildRequires: ncurses-devel
154 BuildRequires: curl
155 BuildRequires: pkgconfig(libcurl)
156 BuildRequires: pkgconfig(liblzma)
157 BuildRequires: pkgconfig(openssl)
158 BuildRequires: pkgconfig(zlib)
159
160 %if %without bundled_libgit2
161 BuildRequires: pkgconfig(libgit2) >= 0.27
162 %endif
163
164 %if %without bundled_libssh2
165 # needs libssh2_userauth_publickey_frommemory
166 BuildRequires: pkgconfig(libssh2) >= 1.6.0
167 %endif
168
169 %if 0%{?rhel} && 0%{?rhel} <= 7
170 %global python python2
171 %else
172 %global python python3
173 %endif
174 BuildRequires: %{python}
175
176 %if %with bundled_llvm
177 BuildRequires: cmake3 >= 3.4.3
178 Provides: bundled(llvm) = 8.0.0
179 %else
180 BuildRequires: cmake >= 2.8.11
181 %if 0%{?epel}
182 %global llvm llvm7.0
183 %endif
184 %if %defined llvm
185 %global llvm_root %{_libdir}/%{llvm}
186 %else
187 %global llvm llvm
188 %global llvm_root %{_prefix}
189 %endif
190 BuildRequires: %{llvm}-devel >= 6.0
191 %if %with llvm_static
192 BuildRequires: %{llvm}-static
193 BuildRequires: libffi-devel
194 %endif
195 %endif
196
197 # make check needs "ps" for src/test/run-pass/wait-forked-but-failed-child.rs
198 BuildRequires: procps-ng
199
200 # debuginfo-gdb tests need gdb
201 BuildRequires: gdb
202
203 # TODO: work on unbundling these!
204 Provides: bundled(libbacktrace) = 8.1.0
205 Provides: bundled(miniz) = 2.0.7
206
207 # Virtual provides for folks who attempt "dnf install rustc"
208 Provides: rustc = %{version}-%{release}
209 Provides: rustc%{?_isa} = %{version}-%{release}
210
211 # Always require our exact standard library
212 Requires: %{name}-std-static%{?_isa} = %{version}-%{release}
213
214 # The C compiler is needed at runtime just for linking. Someday rustc might
215 # invoke the linker directly, and then we'll only need binutils.
216 # https://github.com/rust-lang/rust/issues/11937
217 %if 0%{?mageia}
218 Requires: gcc
219 %else
220 Requires: /usr/bin/cc
221 %endif
222
223 # ALL Rust libraries are private, because they don't keep an ABI.
224 %global _privatelibs lib(.*-[[:xdigit:]]{16}*|rustc.*)[.]so.*
225 %global __provides_exclude ^(%{_privatelibs})$
226 %global __requires_exclude ^(%{_privatelibs})$
227 %global __provides_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$
228 %global __requires_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$
229
230 # While we don't want to encourage dynamic linking to Rust shared libraries, as
231 # there's no stable ABI, we still need the unallocated metadata (.rustc) to
232 # support custom-derive plugins like #[proc_macro_derive(Foo)]. But eu-strip is
233 # very eager by default, so we have to limit it to -g, only debugging symbols.
234 %if 0%{?fedora} >= 27 || 0%{?mageia} >= 7
235 # Newer find-debuginfo.sh supports --keep-section, which is preferable. rhbz1465997
236 %global _find_debuginfo_opts --keep-section .rustc
237 %else
238 %global _find_debuginfo_opts -g
239 %undefine _include_minidebuginfo
240 %endif
241
242 # Use hardening ldflags.
243 %global rustflags -Clink-arg=-Wl,-z,relro,-z,now
244
245 %if %{without bundled_llvm}
246 %if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1}
247 %global llvm_has_filecheck 1
248 %endif
249 %endif
250
251 %description
252 Rust is a systems programming language that runs blazingly fast, prevents
253 segfaults, and guarantees thread safety.
254
255 This package includes the Rust compiler and documentation generator.
256
257
258 %package std-static
259 Summary: Standard library for Rust
260
261 %description std-static
262 This package includes the standard libraries for building applications
263 written in Rust.
264
265
266 %package debugger-common
267 Summary: Common debugger pretty printers for Rust
268 BuildArch: noarch
269
270 %description debugger-common
271 This package includes the common functionality for %{name}-gdb and %{name}-lldb.
272
273
274 %package gdb
275 Summary: GDB pretty printers for Rust
276 BuildArch: noarch
277 Requires: gdb
278 Requires: %{name}-debugger-common = %{version}-%{release}
279
280 %description gdb
281 This package includes the rust-gdb script, which allows easier debugging of Rust
282 programs.
283
284
285 %if %with lldb
286
287 %package lldb
288 Summary: LLDB pretty printers for Rust
289 BuildArch: noarch
290 Requires: lldb
291 %if 0%{?fedora} >= 31
292 Requires: python3-lldb
293 %else
294 Requires: python2-lldb
295 %endif
296 Requires: %{name}-debugger-common = %{version}-%{release}
297
298 %description lldb
299 This package includes the rust-lldb script, which allows easier debugging of Rust
300 programs.
301
302 %endif
303
304
305 %package doc
306 Summary: Documentation for Rust
307 # NOT BuildArch: noarch
308 # Note, while docs are mostly noarch, some things do vary by target_arch.
309 # Koji will fail the build in rpmdiff if two architectures build a noarch
310 # subpackage differently, so instead we have to keep its arch.
311
312 %description doc
313 This package includes HTML documentation for the Rust programming language and
314 its standard library.
315
316
317 %package -n cargo
318 Summary: Rust's package manager and build tool
319 %if %with bundled_libgit2
320 Provides: bundled(libgit2) = 0.27
321 %endif
322 %if %with bundled_libssh2
323 Provides: bundled(libssh2) = 1.8.1~dev
324 %endif
325 # For tests:
326 BuildRequires: git
327 # Cargo is not much use without Rust
328 Requires: rust
329
330 %description -n cargo
331 Cargo is a tool that allows Rust projects to declare their various dependencies
332 and ensure that you'll always get a repeatable build.
333
334
335 %package -n cargo-doc
336 Summary: Documentation for Cargo
337 BuildArch: noarch
338 # Cargo no longer builds its own documentation
339 # https://github.com/rust-lang/cargo/pull/4904
340 Requires: rust-doc = %{version}-%{release}
341
342 %description -n cargo-doc
343 This package includes HTML documentation for Cargo.
344
345
346 %package -n rustfmt
347 Summary: Tool to find and fix Rust formatting issues
348 Requires: cargo
349
350 # The component/package was rustfmt-preview until Rust 1.31.
351 Obsoletes: rustfmt-preview < 1.0.0
352 Provides: rustfmt-preview = %{version}-%{release}
353
354 %description -n rustfmt
355 A tool for formatting Rust code according to style guidelines.
356
357
358 %package -n rls
359 Summary: Rust Language Server for IDE integration
360 %if %with bundled_libgit2
361 Provides: bundled(libgit2) = 0.27
362 %endif
363 %if %with bundled_libssh2
364 Provides: bundled(libssh2) = 1.8.1~dev
365 %endif
366 Requires: rust-analysis
367 # /usr/bin/rls is dynamically linked against internal rustc libs
368 Requires: %{name}%{?_isa} = %{version}-%{release}
369
370 # The component/package was rls-preview until Rust 1.31.
371 Obsoletes: rls-preview < 1.31.6
372 Provides: rls-preview = %{version}-%{release}
373
374 %description -n rls
375 The Rust Language Server provides a server that runs in the background,
376 providing IDEs, editors, and other tools with information about Rust programs.
377 It supports functionality such as 'goto definition', symbol search,
378 reformatting, and code completion, and enables renaming and refactorings.
379
380
381 %package -n clippy
382 Summary: Lints to catch common mistakes and improve your Rust code
383 Requires: cargo
384 # /usr/bin/clippy-driver is dynamically linked against internal rustc libs
385 Requires: %{name}%{?_isa} = %{version}-%{release}
386
387 # The component/package was clippy-preview until Rust 1.31.
388 Obsoletes: clippy-preview <= 0.0.212
389 Provides: clippy-preview = %{version}-%{release}
390
391 %description -n clippy
392 A collection of lints to catch common mistakes and improve your Rust code.
393
394
395 %package src
396 Summary: Sources for the Rust standard library
397 BuildArch: noarch
398
399 %description src
400 This package includes source files for the Rust standard library. It may be
401 useful as a reference for code completion tools in various editors.
402
403
404 %package analysis
405 Summary: Compiler analysis data for the Rust standard library
406 Requires: rust-std-static%{?_isa} = %{version}-%{release}
407
408 %description analysis
409 This package contains analysis data files produced with rustc's -Zsave-analysis
410 feature for the Rust standard library. The RLS (Rust Language Server) uses this
411 data to provide information about the Rust standard library.
412
413
414 %prep
415
416 %ifarch %{bootstrap_arches}
417 %setup -q -n %{bootstrap_root} -T -b %{bootstrap_source}
418 ./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \
419 --prefix=%{local_rust_root} --disable-ldconfig
420 test -f '%{local_rust_root}/bin/cargo'
421 test -f '%{local_rust_root}/bin/rustc'
422 %endif
423
424 %setup -q -n %{rustc_package}
425
426 %patch1 -p1 -R
427 %patch2 -p1
428
429 %if "%{python}" == "python3"
430 sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
431 %endif
432
433 %if %without bundled_llvm
434 rm -rf src/llvm-project/
435 %endif
436
437 # We never enable emscripten.
438 rm -rf src/llvm-emscripten/
439
440 # rename bundled license for packaging
441 cp -a vendor/backtrace-sys/src/libbacktrace/LICENSE{,-libbacktrace}
442
443 %if %{with bundled_llvm} && 0%{?epel}
444 mkdir -p cmake-bin
445 ln -s /usr/bin/cmake3 cmake-bin/cmake
446 %global cmake_path $PWD/cmake-bin
447 %endif
448
449 %if %{without bundled_llvm} && %{with llvm_static}
450 # Static linking to distro LLVM needs to add -lffi
451 # https://github.com/rust-lang/rust/issues/34486
452 sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \
453 src/librustc_llvm/lib.rs
454 %endif
455
456 # The configure macro will modify some autoconf-related files, which upsets
457 # cargo when it tries to verify checksums in those files. If we just truncate
458 # that file list, cargo won't have anything to complain about.
459 find vendor -name .cargo-checksum.json \
460 -exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+'
461
462
463 %build
464
465 %if %without bundled_libgit2
466 # convince libgit2-sys to use the distro libgit2
467 export LIBGIT2_SYS_USE_PKG_CONFIG=1
468 %endif
469
470 %if %without bundled_libssh2
471 # convince libssh2-sys to use the distro libssh2
472 export LIBSSH2_SYS_USE_PKG_CONFIG=1
473 %endif
474
475 %{?cmake_path:export PATH=%{cmake_path}:$PATH}
476 %{?rustflags:export RUSTFLAGS="%{rustflags}"}
477
478 # We're going to override --libdir when configuring to get rustlib into a
479 # common path, but we'll fix the shared libraries during install.
480 %global common_libdir %{_prefix}/lib
481 %global rustlibdir %{common_libdir}/rustlib
482
483 %ifarch %{arm} %{ix86} s390x
484 # full debuginfo is exhausting memory; just do libstd for now
485 # https://github.com/rust-lang/rust/issues/45854
486 %if (0%{?fedora} && 0%{?fedora} < 27) || (0%{?rhel} && 0%{?rhel} <= 7)
487 # Older rpmbuild didn't work with partial debuginfo coverage.
488 %global debug_package %{nil}
489 %define enable_debuginfo --disable-debuginfo --disable-debuginfo-only-std --disable-debuginfo-tools --disable-debuginfo-lines
490 %else
491 %define enable_debuginfo --enable-debuginfo --enable-debuginfo-only-std --disable-debuginfo-tools --disable-debuginfo-lines
492 %endif
493 %else
494 %define enable_debuginfo --enable-debuginfo --disable-debuginfo-only-std --enable-debuginfo-tools --disable-debuginfo-lines
495 %endif
496
497 # We want the best optimization for std, but it caused problems for rpm-ostree
498 # on ppc64le to have all of the compiler_builtins in a single object:
499 # https://bugzilla.redhat.com/show_bug.cgi?id=1713090
500 %ifnarch %{power64}
501 %define codegen_units_std --set rust.codegen-units-std=1
502 %endif
503
504 %configure --disable-option-checking \
505 --libdir=%{common_libdir} \
506 --build=%{rust_triple} --host=%{rust_triple} --target=%{target_triple} \
507 --local-rust-root=%{local_rust_root} \
508 %{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
509 %{!?llvm_has_filecheck: --disable-codegen-tests} \
510 %{!?with_llvm_static: --enable-llvm-link-shared } } \
511 --disable-rpath \
512 %{enable_debuginfo} \
513 --enable-extended \
514 --enable-vendor \
515 --enable-verbose-tests \
516 %{?codegen_units_std} \
517 --release-channel=%{channel}
518
519 %{python} ./x.py build
520 %{python} ./x.py doc
521
522
523 %install
524 %{?cmake_path:export PATH=%{cmake_path}:$PATH}
525 %{?rustflags:export RUSTFLAGS="%{rustflags}"}
526
527 DESTDIR=%{buildroot} %{python} ./x.py install
528
529 # Make sure the shared libraries are in the proper libdir
530 %if "%{_libdir}" != "%{common_libdir}"
531 mkdir -p %{buildroot}%{_libdir}
532 find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \
533 -exec mv -v -t %{buildroot}%{_libdir} '{}' '+'
534 %endif
535
536 # The shared libraries should be executable for debuginfo extraction.
537 find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \
538 -exec chmod -v +x '{}' '+'
539
540 # The libdir libraries are identical to those under rustlib/. It's easier on
541 # library loading if we keep them in libdir, but we do need them in rustlib/
542 # to support dynamic linking for compiler plugins, so we'll symlink.
543 (cd "%{buildroot}%{rustlibdir}/%{rust_triple}/lib" &&
544 find ../../../../%{_lib} -maxdepth 1 -name '*.so' |
545 while read lib; do
546 # make sure they're actually identical!
547 cmp "$lib" "${lib##*/}"
548 ln -v -f -s -t . "$lib"
549 done)
550
551 # Remove installer artifacts (manifests, uninstall scripts, etc.)
552 find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
553
554 # Remove backup files from %%configure munging
555 find %{buildroot}%{rustlibdir} -type f -name '*.orig' -exec rm -v '{}' '+'
556
557 # https://fedoraproject.org/wiki/Changes/Make_ambiguous_python_shebangs_error
558 # We don't actually need to ship any of those python scripts in rust-src anyway.
559 find %{buildroot}%{rustlibdir}/src -type f -name '*.py' -exec rm -v '{}' '+'
560
561 # FIXME: __os_install_post will strip the rlibs
562 # -- should we find a way to preserve debuginfo?
563
564 # Remove unwanted documentation files (we already package them)
565 rm -f %{buildroot}%{_docdir}/%{name}/README.md
566 rm -f %{buildroot}%{_docdir}/%{name}/COPYRIGHT
567 rm -f %{buildroot}%{_docdir}/%{name}/LICENSE
568 rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-APACHE
569 rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-MIT
570 rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-THIRD-PARTY
571 rm -f %{buildroot}%{_docdir}/%{name}/*.old
572
573 # Sanitize the HTML documentation
574 find %{buildroot}%{_docdir}/%{name}/html -empty -delete
575 find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+'
576
577 # Create the path for crate-devel packages
578 mkdir -p %{buildroot}%{_datadir}/cargo/registry
579
580 # Cargo no longer builds its own documentation
581 # https://github.com/rust-lang/cargo/pull/4904
582 mkdir -p %{buildroot}%{_docdir}/cargo
583 ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html
584
585 %if %without lldb
586 rm -f %{buildroot}%{_bindir}/rust-lldb
587 rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py*
588 %endif
589
590
591 %check
592 %{?cmake_path:export PATH=%{cmake_path}:$PATH}
593 %{?rustflags:export RUSTFLAGS="%{rustflags}"}
594
595 # The results are not stable on koji, so mask errors and just log it.
596 %{python} ./x.py test --no-fail-fast || :
597 %{python} ./x.py test --no-fail-fast cargo || :
598 %{python} ./x.py test --no-fail-fast clippy || :
599 %{python} ./x.py test --no-fail-fast rls || :
600 %{python} ./x.py test --no-fail-fast rustfmt || :
601
602
603 %{?ldconfig_scriptlets}
604
605
606 %files
607 %license COPYRIGHT LICENSE-APACHE LICENSE-MIT
608 %license vendor/backtrace-sys/src/libbacktrace/LICENSE-libbacktrace
609 %doc README.md
610 %{_bindir}/rustc
611 %{_bindir}/rustdoc
612 %{_libdir}/*.so
613 %{_mandir}/man1/rustc.1*
614 %{_mandir}/man1/rustdoc.1*
615 %dir %{rustlibdir}
616 %dir %{rustlibdir}/%{rust_triple}
617 %dir %{rustlibdir}/%{rust_triple}/lib
618 %{rustlibdir}/%{rust_triple}/lib/*.so
619 %{rustlibdir}/%{rust_triple}/codegen-backends/
620 %if %defined bootstrap_build_arch
621 %dir %{rustlibdir}/%{target_triple}
622 %dir %{rustlibdir}/%{target_triple}/lib
623 %{rustlibdir}/%{target_triple}/lib/*.so
624 %endif
625 %exclude %{_bindir}/*miri
626
627
628 %files std-static
629 %dir %{rustlibdir}
630 %dir %{rustlibdir}/%{rust_triple}
631 %dir %{rustlibdir}/%{rust_triple}/lib
632 %{rustlibdir}/%{rust_triple}/lib/*.rlib
633 %if %defined bootstrap_build_arch
634 %dir %{rustlibdir}/%{target_triple}
635 %dir %{rustlibdir}/%{target_triple}/lib
636 %{rustlibdir}/%{target_triple}/lib/*.rlib
637 %endif
638
639
640 %files debugger-common
641 %dir %{rustlibdir}
642 %dir %{rustlibdir}/etc
643 %{rustlibdir}/etc/debugger_*.py*
644
645
646 %files gdb
647 %{_bindir}/rust-gdb
648 %{rustlibdir}/etc/gdb_*.py*
649 %exclude %{_bindir}/rust-gdbgui
650
651
652 %if %with lldb
653 %files lldb
654 %{_bindir}/rust-lldb
655 %{rustlibdir}/etc/lldb_*.py*
656 %endif
657
658
659 %files doc
660 %docdir %{_docdir}/%{name}
661 %dir %{_docdir}/%{name}
662 %dir %{_docdir}/%{name}/html
663 %{_docdir}/%{name}/html/*/
664 %{_docdir}/%{name}/html/*.html
665 %{_docdir}/%{name}/html/*.css
666 %{_docdir}/%{name}/html/*.ico
667 %{_docdir}/%{name}/html/*.js
668 %{_docdir}/%{name}/html/*.png
669 %{_docdir}/%{name}/html/*.svg
670 %{_docdir}/%{name}/html/*.woff
671 %license %{_docdir}/%{name}/html/*.txt
672 %license %{_docdir}/%{name}/html/*.md
673
674
675 %files -n cargo
676 %license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY
677 %doc src/tools/cargo/README.md
678 %{_bindir}/cargo
679 %{_mandir}/man1/cargo*.1*
680 %{_sysconfdir}/bash_completion.d/cargo
681 %{_datadir}/zsh/site-functions/_cargo
682 %dir %{_datadir}/cargo
683 %dir %{_datadir}/cargo/registry
684
685
686 %files -n cargo-doc
687 %docdir %{_docdir}/cargo
688 %dir %{_docdir}/cargo
689 %{_docdir}/cargo/html
690
691
692 %files -n rustfmt
693 %{_bindir}/rustfmt
694 %{_bindir}/cargo-fmt
695 %doc src/tools/rustfmt/{README,CHANGELOG,Configurations}.md
696 %license src/tools/rustfmt/LICENSE-{APACHE,MIT}
697
698
699 %files -n rls
700 %{_bindir}/rls
701 %doc src/tools/rls/{README.md,COPYRIGHT,debugging.md}
702 %license src/tools/rls/LICENSE-{APACHE,MIT}
703
704
705 %files -n clippy
706 %{_bindir}/cargo-clippy
707 %{_bindir}/clippy-driver
708 %doc src/tools/clippy/{README.md,CHANGELOG.md}
709 %license src/tools/clippy/LICENSE-{APACHE,MIT}
710
711
712 %files src
713 %dir %{rustlibdir}
714 %{rustlibdir}/src
715
716
717 %files analysis
718 %{rustlibdir}/%{rust_triple}/analysis/
719 %if %defined bootstrap_build_arch
720 %{rustlibdir}/%{target_triple}/analysis/
721 %endif

  ViewVC Help
Powered by ViewVC 1.1.30