source: projects/specs/trunk/r/rust/rust-vl.spec @ 12506

Revision 12506, 26.8 KB checked in by tomop, 3 years ago (diff)

updated 16 packages

bluez-5.55-1

firefox-78.4.0-1

llvm-11.0.0-2

libdrm-2.4.102-1

libmodsecurity-3.0.4-2

mesa-20.2.1-1

nginx-1.18.0-8

nspr-4.29-1

nss-3.58-1

oniguruma-6.9.5.rev1-3

python-mako-1.1.3-1

python-markupsafe-1.1.1-2

rust-1.47.0-1

thunderbird-78.4.0-1

tigervnc-1.11.0-1

xorg-x11-server-1.20.9-2

Line 
1%bcond_with bootstrap
2%bcond_with test
3%bcond_with newrpm
4%bcond_without clang
5%bcond_without bundled_libgit2
6%bcond_without bundled_libssh2
7
8# Some sub-packages are versioned independently of the rust compiler and runtime itself.
9# Also beware that if any of these are not changed in a version bump, then the release
10# number should still increase, not be reset to 1!
11%global rustc_version 1.47.0
12%global cargo_version %{rustc_version}
13%global rustfmt_version %{rustc_version}
14%global rls_version %{rustc_version}
15%global clippy_version %{rustc_version}
16
17# The channel can be stable, beta, or nightly
18%{!?channel: %global channel stable}
19
20# Only x86_64 and i686 are Tier 1 platforms at this time.
21# https://forge.rust-lang.org/platform-support.html
22%global rust_arches x86_64 i686
23
24# To bootstrap from scratch, set the channel and date from src/stage0.txt
25# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24
26# or nightly wants some beta-YYYY-MM-DD
27%global bootstrap_rust 1.46.0
28%global bootstrap_cargo 1.46.0
29%global bootstrap_channel %{bootstrap_rust}
30
31# Only the specified arches will use bootstrap binaries.
32%if %{with bootstrap}
33%global bootstrap_arches %%{rust_arches}
34%endif
35
36# We generally don't want llvm-static present at all, since llvm-config will
37# make us link statically.  But we can opt in, e.g. to aid LLVM rebases.
38# FIXME: LLVM 3.9 prefers shared linking now! Which is good, but next time we
39# *want* static we'll have to force it with "llvm-config --link-static".
40# See also https://github.com/rust-lang/rust/issues/36854
41# The new rustbuild accepts `--enable-llvm-link-shared`, else links static.
42%bcond_with llvm_static
43
44# We can also choose to just use Rust's bundled LLVM, in case the system LLVM
45# is insufficient.  Rust currently requires LLVM 3.7+.
46%bcond_with bundled_llvm
47
48# LLDB only works on some architectures
49%ifarch %{arm} aarch64 %{ix86} x86_64
50# LLDB isn't available everywhere...
51%bcond_without lldb
52%else
53%bcond_with lldb
54%endif
55
56Summary:        The Rust Programming Language
57Name:           rust
58Version:        %{rustc_version}
59Release:        1%{?_dist_release}
60Group:          programming
61Vendor:         Project Vine
62Distribution:   Vine Linux
63
64License:        (ASL 2.0 or MIT) and (BSD and ISC and MIT)
65# ^ written as: (rust itself) and (bundled libraries)
66URL:            https://www.rust-lang.org
67
68ExclusiveArch:  %{rust_arches}
69
70%if "%{channel}" == "stable"
71%global rustc_package rustc-%{version}-src
72%else
73%global rustc_package rustc-%{channel}-src
74%endif
75Source0:        https://static.rust-lang.org/dist/%{rustc_package}.tar.gz
76
77# Get the Rust triple for any arch.
78%{lua: function rust_triple(arch)
79  local abi = "gnu"
80  if arch == "armv7hl" then
81    arch = "armv7"
82    abi = "gnueabihf"
83  elseif arch == "ppc64" then
84    arch = "powerpc64"
85  elseif arch == "ppc64le" then
86    arch = "powerpc64le"
87  end
88  return arch.."-unknown-linux-"..abi
89end}
90
91%global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))}
92
93%if %defined bootstrap_arches
94# For each bootstrap arch, add an additional binary Source.
95# Also define bootstrap_source just for the current target.
96%{lua: do
97  local bootstrap_arches = {}
98  for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do
99    table.insert(bootstrap_arches, arch)
100  end
101  local base = rpm.expand("https://static.rust-lang.org/dist"
102                          .."/rust-%{bootstrap_channel}")
103  local target_arch = rpm.expand("%{_target_cpu}")
104  for i, arch in ipairs(bootstrap_arches) do
105    print(string.format("Source%d: %s-%s.tar.gz\n",
106                        i, base, rust_triple(arch)))
107    if arch == target_arch then
108      rpm.define("bootstrap_source "..i)
109    end
110  end
111end}
112%endif
113
114%ifarch %{bootstrap_arches}
115%global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple}
116%global local_rust_root %{_builddir}/%{bootstrap_root}/usr
117Provides:       bundled(%{name}-bootstrap) = %{bootstrap_rust}
118%else
119BuildRequires:  cargo >= %{bootstrap_cargo}
120BuildRequires:  %{name} >= %{bootstrap_rust}
121BuildConflicts: %{name} > %{version}
122%global local_rust_root %{_prefix}
123%endif
124
125BuildRequires:  cmake
126BuildRequires:  make
127%if %{with clang}
128BuildRequires:  clang
129BuildRequires:  lld
130%else
131BuildRequires:  gcc
132BuildRequires:  gcc-c++
133%endif
134%if %{without bundled_libgit2}
135BuildRequires:  libgit2-devel
136%endif
137%if %{without bundled_libssh2}
138BuildRequires:  libssh2-devel
139%endif
140BuildRequires:  ncurses-devel
141BuildRequires:  openssl-devel
142BuildRequires:  zlib-devel
143BuildRequires:  python3
144BuildRequires:  python3-rpm-macros
145BuildRequires:  curl
146BuildRequires:  curl-devel
147BuildRequires:  xz-devel
148
149%if %{with bundled_llvm}
150BuildRequires:  cmake
151BuildRequires:  git
152Provides:       bundled(llvm) = 6.0
153%else
154BuildRequires:  cmake
155%if %defined llvm
156%global llvm_root %{_libdir}/%{llvm}
157%else
158%global llvm llvm
159%global llvm_root %{_prefix}
160%global llvm_has_filecheck 1
161%endif
162BuildRequires:  %{llvm}-devel >= 11.0.0
163%if %{with llvm_static}
164BuildRequires:  %{llvm}-static
165BuildRequires:  libffi-devel
166%else
167BuildConflicts: %{llvm}-static
168%endif
169%endif
170
171# make check needs "ps" for src/test/run-pass/wait-forked-but-failed-child.rs
172BuildRequires:  procps
173
174# debuginfo-gdb tests need gdb
175BuildRequires:  gdb
176
177# TODO: work on unbundling these!
178Provides:       bundled(jquery) = 2.1.4
179Provides:       bundled(miniz) = 1.14
180
181# Virtual provides for folks who attempt "dnf install rustc"
182Provides:       rustc = %{version}-%{release}
183Provides:       rustc%{?_isa} = %{version}-%{release}
184
185# Always require our exact standard library
186Requires:       %{name}-std-static%{?_isa} = %{version}-%{release}
187
188# The C compiler is needed at runtime just for linking.  Someday rustc might
189# invoke the linker directly, and then we'll only need binutils.
190# https://github.com/rust-lang/rust/issues/11937
191Requires:       /usr/bin/cc
192
193# ALL Rust libraries are private, because they don't keep an ABI.
194%global _privatelibs lib(.*-[[:xdigit:]]{16}*|rustc.*)[.]so.*
195%global __provides_exclude ^(%{_privatelibs})$
196%global __requires_exclude ^(%{_privatelibs})$
197%global __provides_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$
198%global __requires_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$
199
200%if !%{with newrpm}
201# eu-strip is very eager by default, so we have to limit it to -g, only debugging symbols.
202%global _find_debuginfo_opts -g
203%undefine _include_minidebuginfo
204%else
205# Newer find-debuginfo.sh supports --keep-section, which is preferable. rhbz1465997
206%global _find_debuginfo_opts --keep-section .rustc
207%endif
208
209# Use hardening ldflags.
210%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
211
212%if %{without bundled_llvm} && "%{llvm_root}" != "%{_prefix}"
213# https://github.com/rust-lang/rust/issues/40717
214%global library_path $(%{llvm_root}/bin/llvm-config --libdir)
215%endif
216
217%description
218Rust is a systems programming language that runs blazingly fast, prevents
219segfaults, and guarantees thread safety.
220
221This package includes the Rust compiler and documentation generator.
222
223
224%package std-static
225Summary:        Standard library for Rust
226Group:          programming
227
228%description std-static
229This package includes the standard libraries for building applications
230written in Rust.
231
232
233%package debugger-common
234Summary:        Common debugger pretty printers for Rust
235Group:          programming
236BuildArch:      noarch
237
238%description debugger-common
239This package includes the common functionality for %{name}-gdb and %{name}-lldb.
240
241
242%package gdb
243Summary:        GDB pretty printers for Rust
244Group:          programming
245BuildArch:      noarch
246Requires:       gdb
247Requires:       %{name}-debugger-common = %{version}-%{release}
248
249%description gdb
250This package includes the rust-gdb script, which allows easier debugging of Rust
251programs.
252
253
254%if %{with lldb}
255
256%package lldb
257Summary:        LLDB pretty printers for Rust
258Group:          programming
259
260# It could be noarch, but lldb has limited availability
261#BuildArch:      noarch
262
263Requires:       lldb
264Requires:       python3-lldb
265Requires:       %{name}-debugger-common = %{version}-%{release}
266
267%description lldb
268This package includes the rust-lldb script, which allows easier debugging of Rust
269programs.
270
271%endif
272
273
274%package doc
275Summary:        Documentation for Rust
276Group:          documentation
277# NOT BuildArch:      noarch
278# Note, while docs are mostly noarch, some things do vary by target_arch.
279# Koji will fail the build in rpmdiff if two architectures build a noarch
280# subpackage differently, so instead we have to keep its arch.
281
282%description doc
283This package includes HTML documentation for the Rust programming language and
284its standard library.
285
286
287%package -n cargo
288Summary:        Rust's package manager and build tool
289Version:        %{cargo_version}
290Group:          programming
291# For tests:
292BuildRequires:  git
293# Cargo is not much use without Rust
294Requires:       rust
295
296%description -n cargo
297Cargo is a tool that allows Rust projects to declare their various dependencies
298and ensure that you'll always get a repeatable build.
299
300
301%package -n cargo-doc
302Summary:        Documentation for Cargo
303Version:        %{cargo_version}
304Group:          programming
305BuildArch:      noarch
306# Cargo no longer builds its own documentation
307# https://github.com/rust-lang/cargo/pull/4904
308Requires:       rust-doc = %{rustc_version}-%{release}
309
310%description -n cargo-doc
311This package includes HTML documentation for Cargo.
312
313
314%package -n rustfmt
315Summary:        Tool to find and fix Rust formatting issues
316Version:        %{rustfmt_version}
317Group:          programming
318Requires:       cargo
319Obsoletes:      rustfmt-preview < 1.0.0
320
321%description -n rustfmt
322A tool for formatting Rust code according to style guidelines.
323
324
325%package -n rls
326Summary:        Rust Language Server for IDE integration
327Version:        %{rls_version}
328Group:          programming
329Requires:       rust-analysis
330# /usr/bin/rls is dynamically linked against internal rustc libs
331Requires:       %{name} = %{rustc_version}-%{release}
332Obsoletes:      rls-preview < 1.0.0
333
334%description -n rls
335The Rust Language Server provides a server that runs in the background,
336providing IDEs, editors, and other tools with information about Rust programs.
337It supports functionality such as 'goto definition', symbol search,
338reformatting, and code completion, and enables renaming and refactorings.
339
340
341%package -n clippy
342Summary:        Lints to catch common mistakes and improve your Rust code
343Version:        %{clippy_version}
344Group:          programming
345License:        MPLv2.0
346Requires:       cargo
347# /usr/bin/clippy-driver is dynamically linked against internal rustc libs
348Requires:       %{name} = %{rustc_version}-%{release}
349Obsoletes:      clippy-preview < 1.0.0
350
351%description -n clippy
352A collection of lints to catch common mistakes and improve your Rust code.
353
354
355%package src
356Summary:        Sources for the Rust standard library
357Group:          programming
358BuildArch:      noarch
359
360%description src
361This package includes source files for the Rust standard library.  It may be
362useful as a reference for code completion tools in various editors.
363
364
365%package analysis
366Summary:        Compiler analysis data for the Rust standard library
367Group:          programming
368Requires:       rust-std-static = %{rustc_version}-%{release}
369
370%description analysis
371This package contains analysis data files produced with rustc's -Zsave-analysis
372feature for the Rust standard library. The RLS (Rust Language Server) uses this
373data to provide information about the Rust standard library.
374
375
376%debug_package
377
378
379%prep
380%ifarch %{bootstrap_arches}
381%setup -q -n %{bootstrap_root} -T -b %{bootstrap_source}
382./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \
383  --prefix=%{local_rust_root} --disable-ldconfig
384test -f '%{local_rust_root}/bin/cargo'
385test -f '%{local_rust_root}/bin/rustc'
386%endif
387
388%setup -q -n %{rustc_package}
389
390sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
391
392%if %without bundled_llvm
393rm -rf src/llvm-project/
394%endif
395
396# We never enable emscripten.
397rm -rf src/llvm-emscripten/
398
399# Remove other unused vendored libraries
400#rm -rf vendor/curl-sys/curl/
401rm -rf vendor/jemalloc-sys/jemalloc/
402rm -rf vendor/libz-sys/src/zlib/
403rm -rf vendor/lzma-sys/xz-*/
404rm -rf vendor/openssl-src/openssl/
405%if %{without bundled_libgit2}
406rm -rf vendor/libgit2-sys/libgit2/
407%endif
408%if %{without bundled_libssh2}
409rm -rf vendor/libssh2-sys/libssh2/
410%endif
411
412# This only affects the transient rust-installer, but let it use our dynamic xz-libs
413sed -i.lzma -e '/LZMA_API_STATIC/d' src/bootstrap/tool.rs
414
415# rename bundled license for packaging
416if [ -e vendor/backtrace-sys/src/libbacktrace/LICENSE ]; then
417  cp -a vendor/backtrace-sys/src/libbacktrace/LICENSE{,-libbacktrace}
418fi
419
420%if %{with bundled_llvm} && 0%{?epel}
421mkdir -p cmake-bin
422ln -s /usr/bin/cmake cmake-bin/cmake
423%global cmake_path $PWD/cmake-bin
424%endif
425
426%if %{without bundled_llvm} && %{with llvm_static}
427# Static linking to distro LLVM needs to add -lffi
428# https://github.com/rust-lang/rust/issues/34486
429sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \
430  src/librustc_llvm/lib.rs
431%endif
432
433# The configure macro will modify some autoconf-related files, which upsets
434# cargo when it tries to verify checksums in those files.  If we just truncate
435# that file list, cargo won't have anything to complain about.
436find vendor -name .cargo-checksum.json \
437  -exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+'
438
439
440%build
441%if %{without bundled_libgit2}
442export LIBGIT2_SYS_USE_PKG_CONFIG=1
443%endif
444%if %{without bundled_libssh2}
445export LIBSSH2_SYS_USE_PKG_CONFIG=1
446%endif
447
448%{?cmake_path:export PATH=%{cmake_path}:$PATH}
449%{?library_path:export LIBRARY_PATH="%{library_path}"}
450%{?rustflags:export RUSTFLAGS="%{rustflags}"}
451
452# We're going to override --libdir when configuring to get rustlib into a
453# common path, but we'll fix the shared libraries during install.
454%global common_libdir %{_prefix}/lib
455%global rustlibdir %{common_libdir}/rustlib
456
457%ifarch x86_64
458%if %{with newrpm}
459%define enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2
460%else
461%define enable_debuginfo --debuginfo-level=0
462%global debug_package %{nil}
463%endif
464%else
465%define enable_debuginfo --debuginfo-level=0
466%global debug_package %{nil}
467%endif
468
469# Some builders have relatively little memory for their CPU count.
470# At least 2GB per CPU is a good rule of thumb for building rustc.
471ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN)
472max_cpus=$(( ($(LANG=C free -g | awk '/^Mem:/{print $2}') + 1) / 2 ))
473if [ "$max_cpus" -ge 1 -a "$max_cpus" -lt "$ncpus" ]; then
474  ncpus="$max_cpus"
475fi
476
477%if %{with clang}
478export CC=clang
479export CXX=clang++
480export LDFLAGS="$LDFLAGS -fuse-ld=lld"
481export RUSTFLAGS="$RUSTFLAGS -C linker=clang -C link-arg=-fuse-ld=lld"
482%endif
483
484# workaround for https://github.com/rust-lang/rust/issues/69953
485#  --set rust.deny-warnings=false
486
487%configure \
488  --disable-option-checking \
489  --libdir=%{common_libdir} \
490  --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \
491  --enable-local-rust --local-rust-root=%{local_rust_root} \
492  %{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
493    %{!?llvm_has_filecheck: --disable-codegen-tests} \
494    %{!?with_llvm_static: --enable-llvm-link-shared } } \
495  --disable-rpath \
496  %{enable_debuginfo} \
497  --enable-extended \
498  --enable-vendor \
499  --enable-verbose-tests \
500  --set rust.codegen-units-std=1 \
501  --release-channel=%{channel} \
502  --set rust.deny-warnings=false \
503  %{nil}
504
505RUST_BACKTRACE=1 %{__python3} ./x.py build -j "$ncpus" --stage 2
506%{__python3} ./x.py doc --stage 2
507
508
509%install
510rm -rf %{buildroot}
511
512%{?cmake_path:export PATH=%{cmake_path}:$PATH}
513%{?library_path:export LIBRARY_PATH="%{library_path}"}
514%{?rustflags:export RUSTFLAGS="%{rustflags}"}
515%if %{with clang}
516export CC=clang
517export CXX=clang++
518export RUSTFLAGS="$RUSTFLAGS -C linker=clang -C link-arg=-fuse-ld=lld"
519%endif
520
521DESTDIR=%{buildroot} ./x.py install
522#DESTDIR=%{buildroot} ./x.py install src
523
524
525# Make sure the shared libraries are in the proper libdir
526%if "%{_libdir}" != "%{common_libdir}"
527mkdir -p %{buildroot}%{_libdir}
528find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \
529  -exec mv -v -t %{buildroot}%{_libdir} '{}' '+'
530%endif
531
532# The shared libraries should be executable for debuginfo extraction.
533find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \
534  -exec chmod -v +x '{}' '+'
535
536# The libdir libraries are identical to those under rustlib/.  It's easier on
537# library loading if we keep them in libdir, but we do need them in rustlib/
538# to support dynamic linking for compiler plugins, so we'll symlink.
539(cd "%{buildroot}%{rustlibdir}/%{rust_triple}/lib" &&
540 find ../../../../%{_lib} -maxdepth 1 -name '*.so' |
541 while read lib; do
542   if [ -f "${lib##*/}" ]; then
543     # make sure they're actually identical!
544     cmp "$lib" "${lib##*/}"
545     ln -v -f -s -t . "$lib"
546   fi
547 done)
548 
549# Remove installer artifacts (manifests, uninstall scripts, etc.)
550find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
551
552# Remove backup files from %%configure munging
553find %{buildroot}%{rustlibdir} -type f -name '*.orig' -exec rm -v '{}' '+'
554
555# https://fedoraproject.org/wiki/Changes/Make_ambiguous_python_shebangs_error
556# We don't actually need to ship any of those python scripts in rust-src anyway.
557
558find %{buildroot}%{rustlibdir}/src -type f -name '*.py' -exec rm -v '{}' '+'
559
560# FIXME: __os_install_post will strip the rlibs
561# -- should we find a way to preserve debuginfo?
562
563# Remove unwanted documentation files (we already package them)
564# Remove unwanted documentation files (we already package them)
565rm -f %{buildroot}%{_docdir}/%{name}/README.md
566rm -f %{buildroot}%{_docdir}/%{name}/COPYRIGHT
567rm -f %{buildroot}%{_docdir}/%{name}/LICENSE
568rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-APACHE
569rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-MIT
570rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-THIRD-PARTY
571rm -f %{buildroot}%{_docdir}/%{name}/*.old
572
573# Sanitize the HTML documentation
574find %{buildroot}%{_docdir}/%{name}/html -empty -delete
575find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+'
576
577# Create the path for crate-devel packages
578mkdir -p %{buildroot}%{_datadir}/cargo/registry
579
580# Cargo no longer builds its own documentation
581# https://github.com/rust-lang/cargo/pull/4904
582mkdir -p %{buildroot}%{_docdir}/cargo
583ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html
584
585%if %{without lldb}
586rm -f %{buildroot}%{_bindir}/rust-lldb
587rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py*
588rm -f %{buildroot}%{rustlibdir}/etc/lldb_commands
589%endif
590
591%if %{with bundled_llvm}
592rm -rf %{buildroot}/home
593%endif
594
595
596%check
597%if %{with test}
598%{?cmake_path:export PATH=%{cmake_path}:$PATH}
599%{?library_path:export LIBRARY_PATH="%{library_path}"}
600%{?rustflags:export RUSTFLAGS="%{rustflags}"}
601%if %{with clang}
602export CC=clang
603export CXX=clang++
604export LD=ld.lld
605export RUSTFLAGS="$RUSTFLAGS -C linker=ld.lld -C link-arg=-fuse-ld=lld"
606%endif
607
608# The results are not stable on koji, so mask errors and just log it.
609%{__python3} ./x.py test --no-fail-fast || :
610%{__python3} ./x.py test --no-fail-fast cargo || :
611%{__python3} ./x.py test --no-fail-fast clippy || :
612%{__python3} ./x.py test --no-fail-fast rls || :
613%{__python3} ./x.py test --no-fail-fast rustfmt || :
614%endif
615
616
617%post -p /sbin/ldconfig
618%postun -p /sbin/ldconfig
619
620
621%files
622%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
623#license src/libbacktrace/LICENSE-libbacktrace
624%doc README.md
625%{_bindir}/rustc
626%{_bindir}/rustdoc
627%{_libdir}/*.so
628%{_mandir}/man1/rustc.1*
629%{_mandir}/man1/rustdoc.1*
630%dir %{rustlibdir}
631%dir %{rustlibdir}/%{rust_triple}
632%dir %{rustlibdir}/%{rust_triple}/lib
633%{rustlibdir}/%{rust_triple}/lib/*.so
634%exclude %{_bindir}/*miri
635
636%files std-static
637%dir %{rustlibdir}
638%dir %{rustlibdir}/%{rust_triple}
639%dir %{rustlibdir}/%{rust_triple}/lib
640%{rustlibdir}/%{rust_triple}/lib/*.rlib
641
642%files debugger-common
643%dir %{rustlibdir}
644%dir %{rustlibdir}/etc
645%{rustlibdir}/etc/rust_types.py*
646
647%files gdb
648%{_bindir}/rust-gdb
649%{rustlibdir}/etc/gdb_*.py*
650%exclude %{_bindir}/rust-gdbgui
651
652%if %with lldb
653%files lldb
654%{_bindir}/rust-lldb
655%{rustlibdir}/etc/lldb_*.py*
656%{rustlibdir}/etc/lldb_commands
657%endif
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%files -n cargo
675%license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY
676%doc src/tools/cargo/README.md
677%{_bindir}/cargo
678%{_mandir}/man1/cargo*.1*
679%dir %{_sysconfdir}/bash_completion.d
680%{_sysconfdir}/bash_completion.d/cargo
681%dir %{_datadir}/zsh
682%dir %{_datadir}/zsh/site-functions
683%{_datadir}/zsh/site-functions/_cargo
684%dir %{_datadir}/cargo
685%dir %{_datadir}/cargo/registry
686
687%files -n cargo-doc
688%docdir %{_docdir}/cargo
689%dir %{_docdir}/cargo
690%{_docdir}/cargo/html
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%files -n rls
699%{_bindir}/rls
700%doc src/tools/rls/{README.md,COPYRIGHT,debugging.md}
701%license src/tools/rls/LICENSE-{APACHE,MIT}
702
703%files -n clippy
704%{_bindir}/cargo-clippy
705%{_bindir}/clippy-driver
706%doc src/tools/clippy/{README.md,CHANGELOG.md}
707%license src/tools/clippy/LICENSE*
708
709%files src
710%dir %{rustlibdir}
711%{rustlibdir}/src
712
713%files analysis
714%{_bindir}/rust-analyzer
715%{rustlibdir}/%{rust_triple}/analysis/
716
717
718%changelog
719* Fri Oct 16 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.47.0-1
720- new upstream release.
721
722* Thu Sep 24 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.46.0-1
723- new upstream release.
724
725* Thu Mar 26 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.42.0-1
726- new upstream release.
727- separated debuginfo.
728
729* Sun Dec 22 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.40.0-1
730- new upstream release.
731
732* Sat Sep 28 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.38.0-1
733- new upstream release.
734- erased "-preview" from the name of subpackages.
735
736* Wed Dec 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.30.1-1
737- new upstream release.
738- dropped Patch1.
739- added subpackages cargo, cargo-doc, rustformat-preview, rls-preview, clippy-preview and rust-analysis.
740
741* Fri Jan 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.23.0-1
742- Update to 1.23.0 (stable).
743
744* Tue Jan 02 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.23.0-0.beta1
745- initial build for Vine Linux.
746- Update to 1.23.0-beta.
747- built a bootstrap rpm.
748
749* Thu Nov 23 2017 Josh Stone <jistone@redhat.com> - 1.22.1-1
750- Update to 1.22.1.
751
752* Thu Oct 12 2017 Josh Stone <jistone@redhat.com> - 1.21.0-1
753- Update to 1.21.0.
754
755* Mon Sep 11 2017 Josh Stone <jistone@redhat.com> - 1.20.0-2
756- ABI fixes for ppc64 and s390x.
757
758* Thu Aug 31 2017 Josh Stone <jistone@redhat.com> - 1.20.0-1
759- Update to 1.20.0.
760- Add a rust-src subpackage.
761
762* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-4
763- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
764
765* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-3
766- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
767
768* Mon Jul 24 2017 Josh Stone <jistone@redhat.com> - 1.19.0-2
769- Use find-debuginfo.sh --keep-section .rustc
770
771* Thu Jul 20 2017 Josh Stone <jistone@redhat.com> - 1.19.0-1
772- Update to 1.19.0.
773
774* Thu Jun 08 2017 Josh Stone <jistone@redhat.com> - 1.18.0-1
775- Update to 1.18.0.
776
777* Mon May 08 2017 Josh Stone <jistone@redhat.com> - 1.17.0-2
778- Move shared libraries back to libdir and symlink in rustlib
779
780* Thu Apr 27 2017 Josh Stone <jistone@redhat.com> - 1.17.0-1
781- Update to 1.17.0.
782
783* Mon Mar 20 2017 Josh Stone <jistone@redhat.com> - 1.16.0-3
784- Make rust-lldb arch-specific to deal with lldb deps
785
786* Fri Mar 17 2017 Josh Stone <jistone@redhat.com> - 1.16.0-2
787- Limit rust-lldb arches
788
789* Thu Mar 16 2017 Josh Stone <jistone@redhat.com> - 1.16.0-1
790- Update to 1.16.0.
791- Use rustbuild instead of the old makefiles.
792- Update bootstrapping to include rust-std and cargo.
793- Add a rust-lldb subpackage.
794
795* Thu Feb 09 2017 Josh Stone <jistone@redhat.com> - 1.15.1-1
796- Update to 1.15.1.
797- Require rust-rpm-macros for new crate packaging.
798- Keep shared libraries under rustlib/, only debug-stripped.
799- Merge and clean up conditionals for epel7.
800
801* Fri Dec 23 2016 Josh Stone <jistone@redhat.com> - 1.14.0-2
802- Rebuild without bootstrap binaries.
803
804* Thu Dec 22 2016 Josh Stone <jistone@redhat.com> - 1.14.0-1
805- Update to 1.14.0.
806- Rewrite bootstrap logic to target specific arches.
807- Bootstrap ppc64, ppc64le, s390x. (thanks to Sinny Kumari for testing!)
808
809* Thu Nov 10 2016 Josh Stone <jistone@redhat.com> - 1.13.0-1
810- Update to 1.13.0.
811- Use hardening flags for linking.
812- Split the standard library into its own package
813- Centralize rustlib/ under /usr/lib/ for multilib integration.
814
815* Thu Oct 20 2016 Josh Stone <jistone@redhat.com> - 1.12.1-1
816- Update to 1.12.1.
817
818* Fri Oct 14 2016 Josh Stone <jistone@redhat.com> - 1.12.0-7
819- Rebuild with LLVM 3.9.
820- Add ncurses-devel for llvm-config's -ltinfo.
821
822* Thu Oct 13 2016 Josh Stone <jistone@redhat.com> - 1.12.0-6
823- Rebuild with llvm-static, preparing for 3.9
824
825* Fri Oct 07 2016 Josh Stone <jistone@redhat.com> - 1.12.0-5
826- Rebuild with fixed eu-strip (rhbz1380961)
827
828* Fri Oct 07 2016 Josh Stone <jistone@redhat.com> - 1.12.0-4
829- Rebuild without bootstrap binaries.
830
831* Thu Oct 06 2016 Josh Stone <jistone@redhat.com> - 1.12.0-3
832- Bootstrap aarch64.
833- Use jemalloc's MALLOC_CONF to work around #36944.
834- Apply pr36933 to really disable armv7hl NEON.
835
836* Sat Oct 01 2016 Josh Stone <jistone@redhat.com> - 1.12.0-2
837- Protect .rustc from rpm stripping.
838
839* Fri Sep 30 2016 Josh Stone <jistone@redhat.com> - 1.12.0-1
840- Update to 1.12.0.
841- Always use --local-rust-root, even for bootstrap binaries.
842- Remove the rebuild conditional - the build system now figures it out.
843- Let minidebuginfo do its thing, since metadata is no longer a note.
844- Let rust build its own compiler-rt builtins again.
845
846* Sat Sep 03 2016 Josh Stone <jistone@redhat.com> - 1.11.0-3
847- Rebuild without bootstrap binaries.
848
849* Fri Sep 02 2016 Josh Stone <jistone@redhat.com> - 1.11.0-2
850- Bootstrap armv7hl, with backported no-neon patch.
851
852* Wed Aug 24 2016 Josh Stone <jistone@redhat.com> - 1.11.0-1
853- Update to 1.11.0.
854- Drop the backported patches.
855- Patch get-stage0.py to trust existing bootstrap binaries.
856- Use libclang_rt.builtins from compiler-rt, dodging llvm-static issues.
857- Use --local-rust-root to make sure the right bootstrap is used.
858
859* Sat Aug 13 2016 Josh Stone <jistone@redhat.com> 1.10.0-4
860- Rebuild without bootstrap binaries.
861
862* Fri Aug 12 2016 Josh Stone <jistone@redhat.com> - 1.10.0-3
863- Initial import into Fedora (#1356907), bootstrapped
864- Format license text as suggested in review.
865- Note how the tests already run in parallel.
866- Undefine _include_minidebuginfo, because it duplicates ".note.rustc".
867- Don't let checks fail the whole build.
868- Note that -doc can't be noarch, as rpmdiff doesn't allow variations.
869
870* Tue Jul 26 2016 Josh Stone <jistone@redhat.com> - 1.10.0-2
871- Update -doc directory ownership, and mark its licenses.
872- Package and declare licenses for libbacktrace and hoedown.
873- Set bootstrap_base as a global.
874- Explicitly require python2.
875
876* Thu Jul 14 2016 Josh Stone <jistone@fedoraproject.org> - 1.10.0-1
877- Initial package, bootstrapped
Note: See TracBrowser for help on using the repository browser.