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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1891434 by tv, Thu Sep 22 09:18:09 2022 UTC revision 1891744 by akien, Fri Sep 23 08:39:59 2022 UTC
# Line 13  Line 13 
13  # To bootstrap from scratch, set the channel and date from src/stage0.json  # To bootstrap from scratch, set the channel and date from src/stage0.json
14  # e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13  # e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
15  # or nightly wants some beta-YYYY-MM-DD  # or nightly wants some beta-YYYY-MM-DD
16  %global bootstrap_version 1.62.0  %global bootstrap_version 1.63.0
17  %global bootstrap_channel 1.62.0  %global bootstrap_channel 1.63.0
18  %global bootstrap_date 2022-06-30  %global bootstrap_date 2022-08-11
19    
20  # Only the specified arches will use bootstrap binaries.  # Only the specified arches will use bootstrap binaries.
21  # NOTE: Those binaries used to be uploaded with every new release, but that was  # NOTE: Those binaries used to be uploaded with every new release, but that was
# Line 62  Line 62 
62  # We can also choose to just use Rust's bundled LLVM, in case the system LLVM  # We can also choose to just use Rust's bundled LLVM, in case the system LLVM
63  # is insufficient.  Rust currently requires LLVM 12.0+.  # is insufficient.  Rust currently requires LLVM 12.0+.
64  %global min_llvm_version 12.0.0  %global min_llvm_version 12.0.0
65  %global bundled_llvm_version 14.0.5  %global bundled_llvm_version 14.0.6
66  %bcond_with bundled_llvm  %bcond_with bundled_llvm
67  # (akien) Hacks below are needed on mga's buildsystem when we have to rebootstrap llvm.  # (akien) Hacks below are needed on mga's buildsystem when we have to rebootstrap llvm.
68  ## Bundled LLVM has underlinking issues:  ## Bundled LLVM has underlinking issues:
# Line 111  Line 111 
111  %endif  %endif
112    
113  Name:           rust  Name:           rust
114  Version:        1.63.0  Version:        1.64.0
115  Release:        %mkrel 3  Release:        %mkrel 1
116  Summary:        The Rust Programming Language  Summary:        The Rust Programming Language
117  %if 0%{?mageia}  %if 0%{?mageia}
118  Group:          Development/Other  Group:          Development/Other
# Line 155  Patch101:       rustc-1.63.0-disable-htt Line 155  Patch101:       rustc-1.63.0-disable-htt
155    
156  # kernel rh1410097 causes too-small stacks for PIE.  # kernel rh1410097 causes too-small stacks for PIE.
157  # (affects RHEL6 kernels when building for RHEL7)  # (affects RHEL6 kernels when building for RHEL7)
158  Patch102:       rustc-1.58.0-no-default-pie.patch  Patch102:       rustc-1.64.0-no-default-pie.patch
159    
160    
161  # Get the Rust triple for any arch.  # Get the Rust triple for any arch.
# Line 540  A tool for formatting Rust code accordin Line 540  A tool for formatting Rust code accordin
540    
541    
542  %package -n rls  %package -n rls
543  Summary:        Rust Language Server for IDE integration  Summary:        Rust Language Server for IDE integration (deprecated)
544  %if %with bundled_libgit2  %if %with bundled_libgit2
545  Provides:       bundled(libgit2) = %{bundled_libgit2_version}  Provides:       bundled(libgit2) = %{bundled_libgit2_version}
546  %endif  %endif
# Line 555  Provides:       rls-preview = %{version} Line 555  Provides:       rls-preview = %{version}
555  %description -n rls  %description -n rls
556  The Rust Language Server provides a server that runs in the background,  The Rust Language Server provides a server that runs in the background,
557  providing IDEs, editors, and other tools with information about Rust programs.  providing IDEs, editors, and other tools with information about Rust programs.
558  It supports functionality such as 'goto definition', symbol search,  RLS is being deprecated in favor of rust-analyzer, and may be removed in the future.
559  reformatting, and code completion, and enables renaming and refactorings.  https://blog.rust-lang.org/2022/07/01/RLS-deprecation.html
560    
561    
562    %package analyzer
563    Summary:        Rust implementation of the Language Server Protocol
564    
565    %description analyzer
566    rust-analyzer is an implementation of Language Server Protocol for the Rust
567    programming language. It provides features like completion and goto definition
568    for many code editors, including VS Code, Emacs and Vim.
569    
570    
571  %package -n clippy  %package -n clippy
# Line 628  test -f '%{local_rust_root}/bin/rustc' Line 637  test -f '%{local_rust_root}/bin/rustc'
637    
638  %patch1 -p1  %patch1 -p1
639  %patch2 -p1  %patch2 -p1
640    %patch3 -p1
641    
642  %patch11 -p1  %patch11 -p1
643    
# Line 792  end} Line 802  end}
802    %{enable_debuginfo} \    %{enable_debuginfo} \
803    --set rust.codegen-units-std=1 \    --set rust.codegen-units-std=1 \
804    --enable-extended \    --enable-extended \
805    --tools=analysis,cargo,clippy,rls,rustfmt,src \    --tools=analysis,cargo,clippy,rls,rust-analyzer,rustfmt,src \
806    --enable-vendor \    --enable-vendor \
807    --enable-verbose-tests \    --enable-verbose-tests \
808    --dist-compression-formats=gz \    --dist-compression-formats=gz \
# Line 832  find %{buildroot}%{_libdir} -maxdepth 1 Line 842  find %{buildroot}%{_libdir} -maxdepth 1
842  # The libdir libraries are identical to those under rustlib/.  It's easier on  # The libdir libraries are identical to those under rustlib/.  It's easier on
843  # library loading if we keep them in libdir, but we do need them in rustlib/  # library loading if we keep them in libdir, but we do need them in rustlib/
844  # to support dynamic linking for compiler plugins, so we'll symlink.  # to support dynamic linking for compiler plugins, so we'll symlink.
845  (cd "%{buildroot}%{rustlibdir}/%{rust_triple}/lib" &&  find %{buildroot}%{rustlibdir}/%{rust_triple}/lib/ -maxdepth 1 -type f -name '*.so' |
846   find ../../../../%{_lib} -maxdepth 1 -name '*.so' |  while read lib; do
847   while read lib; do   lib2="%{buildroot}%{_libdir}/${lib##*/}"
848     if [ -f "${lib##*/}" ]; then   if [ -f "$lib2" ]; then
849       # make sure they're actually identical!     # make sure they're actually identical!
850       cmp "$lib" "${lib##*/}"     cmp "$lib" "$lib2"
851       ln -v -f -s -t . "$lib"     ln -v -f -r -s -T "$lib2" "$lib"
852     fi   fi
853   done)  done
854    
855  # Remove installer artifacts (manifests, uninstall scripts, etc.)  # Remove installer artifacts (manifests, uninstall scripts, etc.)
856  find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'  find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
# Line 919  rm -rf "./build/%{rust_triple}/stage2-to Line 929  rm -rf "./build/%{rust_triple}/stage2-to
929  env RLS_TEST_WAIT_FOR_AGES=1 \  env RLS_TEST_WAIT_FOR_AGES=1 \
930  %{__python3} ./x.py test --no-fail-fast --stage 2 rls || :  %{__python3} ./x.py test --no-fail-fast --stage 2 rls || :
931    
932    %{__python3} ./x.py test --no-fail-fast --stage 2 rust-analyzer || :
933    
934  %{__python3} ./x.py test --no-fail-fast --stage 2 rustfmt || :  %{__python3} ./x.py test --no-fail-fast --stage 2 rustfmt || :
935    
936    
# Line 931  env RLS_TEST_WAIT_FOR_AGES=1 \ Line 943  env RLS_TEST_WAIT_FOR_AGES=1 \
943  %{_bindir}/rustc  %{_bindir}/rustc
944  %{_bindir}/rustdoc  %{_bindir}/rustdoc
945  %{_libdir}/*.so  %{_libdir}/*.so
946    %{_libexecdir}/rust-analyzer-proc-macro-srv
947  %{_mandir}/man1/rustc.1*  %{_mandir}/man1/rustc.1*
948  %{_mandir}/man1/rustdoc.1*  %{_mandir}/man1/rustdoc.1*
949  %dir %{rustlibdir}  %dir %{rustlibdir}
# Line 1075  end} Line 1088  end}
1088  %license src/tools/rls/LICENSE-{APACHE,MIT}  %license src/tools/rls/LICENSE-{APACHE,MIT}
1089    
1090    
1091    %files analyzer
1092    %{_bindir}/rust-analyzer
1093    %doc src/tools/rust-analyzer/README.md
1094    %license src/tools/rust-analyzer/LICENSE-{APACHE,MIT}
1095    
1096    
1097  %files -n clippy  %files -n clippy
1098  %{_bindir}/cargo-clippy  %{_bindir}/cargo-clippy
1099  %{_bindir}/clippy-driver  %{_bindir}/clippy-driver

Legend:
Removed from v.1891434  
changed lines
  Added in v.1891744

  ViewVC Help
Powered by ViewVC 1.1.30