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

Revision 12499, 26.3 KB checked in by tomop, 3 years ago (diff)

updated 9 packages

LibRaw?-0.20.0-2

exiv2-0.27.3-1

firefox-78.3.0-1

gnuplot-5.4.0-2

lksctp-tools-1.0.18-1

libjpeg-turbo-2.0.5-1

libxml2-2.9.10-5

rust-1.46.0-1

unzip-6.0-8

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