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

  ViewVC Help
Powered by ViewVC 1.1.30