Projects
Factory:RISC-V:Base
rust166
_service:extract_file:rust.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:extract_file:rust.spec of Package rust166
%global rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x riscv64 %{!?channel: %global channel stable} %global bootstrap_rust 1.66.1 %global bootstrap_cargo 1.66.1 %global bootstrap_channel 1.66.1 %global bootstrap_date 2022-11-04 %global bootstrap_arches riscv64 %global build_with_rust_analyzer 0 %global enable_check 1 %global bundled_llvm_version 15.0.2 %global min_llvm_version 12.0.0 %bcond_with llvm_static %bcond_with bundled_llvm %bcond_without bundled_libgit2 %bcond_with disabled_libssh2 %bcond_without curl_http2 %ifnarch riscv64 %bcond_without lldb %else %bcond_with lldb %global rust_bootstrap_stable 1 %global rust_disable_musl 1 %global build_with_bundled_llvm 1 %endif Name: rust Version: 1.66.1 Release: 1 Summary: The Rust Programming Language License: (ASL 2.0 or MIT) and (BSD and MIT) URL: https://www.rust-lang.org ExclusiveArch: %{rust_arches} %if "%{channel}" == "stable" %global rustc_package rustc-%{version}-src %else %global rustc_package rustc-%{channel}-src %endif Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz Patch0000: rustc-1.65.0-disable-libssh2.patch Patch0001: rustc-1.65.0-disable-http2.patch Patch0002: rustc-1.61.0-rust-gdb-substitute-path.patch Patch0003: rustc-1.65.0-no-default-pie.patch Patch0004: 0001-compiletest-set-the-dylib-path-when-gathering-target.patch Patch0005: 0001-Improve-generating-Custom-entry-function.patch # Credit: @Ast-x64 from Arch Linux RISC-V Team # Link: https://github.com/felixonmars/archriscv-packages/blob/a225475ec4c2b682534812387ebb08de880127ac/rust/replace_patched_libc_cc.patch # Patch0005: replace_patched_libc_cc.patch %{lua: function rust_triple(arch) local abi = "gnu" if arch == "armv7hl" then arch = "armv7" abi = "gnueabihf" elseif arch == "ppc64" then arch = "powerpc64" elseif arch == "ppc64le" then arch = "powerpc64le" elseif arch == "riscv64" then arch = "riscv64gc" end return arch.."-unknown-linux-"..abi end} %global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))} %ifnarch riscv64 %{lua: function rust_musl_triple(arch) local abi = "musl" return arch.."-unknown-linux-"..abi end} %{lua: function rust_musl_root(arch) return "--musl-root-"..arch end} %global rust_musl_triple %{lua: print(rust_musl_triple(rpm.expand("%{_target_cpu}")))} %global rust_musl_root %{lua: print(rust_musl_root(rpm.expand("%{_target_cpu}")))} %endif %if %defined bootstrap_arches %if %defined rust_bootstrap_stable %{lua: do local bootstrap_arches = {} for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do table.insert(bootstrap_arches, arch) end local base = rpm.expand("https://static.rust-lang.org/dist/rust-%{bootstrap_channel}") local target_arch = rpm.expand("%{_target_cpu}") for i, arch in ipairs(bootstrap_arches) do print(string.format("Source%d: %s-%s.tar.xz\n", i, base, rust_triple(arch))) if arch == target_arch then rpm.define("bootstrap_source "..i) end end end} %else %{lua: do local bootstrap_arches = {} for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do table.insert(bootstrap_arches, arch) end local base = rpm.expand("https://static.rust-lang.org/dist/%{bootstrap_date}" .."/rust-%{bootstrap_channel}") local target_arch = rpm.expand("%{_target_cpu}") for i, arch in ipairs(bootstrap_arches) do print(string.format("Source%d: %s-%s.tar.xz\n", i, base, rust_triple(arch))) if arch == target_arch then rpm.define("bootstrap_source "..i) end end end} %endif %endif %ifarch %{bootstrap_arches} %global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple} %global local_rust_root %{_builddir}/%{bootstrap_root}/usr Provides: bundled(%{name}-bootstrap) = %{bootstrap_rust} %else BuildRequires: cargo >= %{bootstrap_cargo} BuildRequires: (%{name} >= %{bootstrap_rust} with %{name} <= %{version}) %global local_rust_root %{_prefix} %endif BuildRequires: make gcc gcc-c++ libstdc++-static ncurses-devel curl curl-devel pkgconfig(libcurl) pkgconfig(liblzma) %ifnarch riscv64 BuildRequires: musl-libc-static musl-gcc %endif %ifarch riscv64 BuildRequires: mold %endif BuildRequires: pkgconfig(openssl) pkgconfig(zlib) pkgconfig(libssh2) >= 1.6.0 %global python python3 BuildRequires: %{python} %if %defined build_with_bundled_llvm BuildRequires: cmake3 >= 3.4.3 Provides: bundled(llvm) = %{bundled_llvm_version} %else BuildRequires: cmake >= 2.8.11 %if %defined llvm %global llvm_root %{_libdir}/%{llvm} %else %global llvm llvm %global llvm_root %{_prefix} %endif BuildRequires: %{llvm} >= %{min_llvm_version} BuildRequires: %{llvm}-devel >= %{min_llvm_version} %if %with llvm_static BuildRequires: %{llvm}-static libffi-devel %endif %endif BuildRequires: procps-ng BuildRequires: ninja-build Provides: rustc = %{version}-%{release} Provides: rustc%{?_isa} = %{version}-%{release} Requires: %{name}-std-static%{?_isa} = %{version}-%{release} Requires: /usr/bin/cc %global _privatelibs lib(.*-[[:xdigit:]]{16}*|rustc.*)[.]so.* %global __provides_exclude ^(%{_privatelibs})$ %global __requires_exclude ^(%{_privatelibs})$ %global __provides_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$ %global __requires_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$ %global _find_debuginfo_opts --keep-section .rustc %ifarch riscv64 %global rustflags -Clink-arg=-Wl,-z,relro,-z,now,-fuse-ld=%{_bindir}/mold %else %global rustflags -Clink-arg=-Wl,-z,relro,-z,now %endif %if %defined build_with_bundled_llvm %else %if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1} %global llvm_has_filecheck 1 %endif %endif %ifnarch riscv64 %global musl_root %{_prefix}/musl %endif %description Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. This package includes the Rust compiler and documentation generator. %package std-static Summary: Standard library for Rust %description std-static This package includes the standard libraries for building applications written in Rust. %package debugger-common Summary: Common debugger pretty printers for Rust BuildArch: noarch %description debugger-common This package includes the common functionality for %{name}-gdb and %{name}-lldb. %package gdb Summary: GDB pretty printers for Rust BuildArch: noarch Requires: gdb %{name}-debugger-common = %{version}-%{release} %description gdb This package includes the rust-gdb script, which allows easier debugging of Rust programs. %package lldb Summary: LLDB pretty printers for Rust BuildArch: noarch Requires: lldb %{python}-lldb Requires: %{name}-debugger-common = %{version}-%{release} %description lldb This package includes the rust-lldb script, which allows easier debugging of Rust programs. %package -n cargo Summary: Rust's package manager and build tool %if %with bundled_libgit2 Provides: bundled(libgit2) = 1.1.0 %endif BuildRequires: git Requires: rust Obsoletes: cargo-vendor <= 0.1.23 Provides: cargo-vendor = %{version}-%{release} %description -n cargo Cargo is a tool that allows Rust projects to declare their various dependencies and ensure that you'll always get a repeatable build. %package -n rustfmt Summary: Tool to find and fix Rust formatting issues Requires: cargo Obsoletes: rustfmt-preview < 1.0.0 Provides: rustfmt-preview = %{version}-%{release} Conflicts: rustfmt-preview < 1.0.0 %description -n rustfmt A tool for formatting Rust code according to style guidelines. %package analyzer Summary: Rust implementation of the Language Server Protocol Obsoletes: rls < 1.65.0~ Obsoletes: rls-preview < 1.31.6 %description analyzer rust-analyzer is an implementation of Language Server Protocol for the Rust programming language. It provides features like completion and goto definition for many code editors, including VS Code, Emacs and Vim. %package -n clippy Summary: Lints to catch common mistakes and improve your Rust code Requires: cargo %{name}%{?_isa} = %{version}-%{release} Obsoletes: clippy-preview <= 0.0.212 Provides: clippy-preview = %{version}-%{release} Conflicts: clippy-preview <= 0.0.212 %description -n clippy A collection of lints to catch common mistakes and improve your Rust code. %package src Summary: Sources for the Rust standard library BuildArch: noarch %description src This package includes source files for the Rust standard library. It may be useful as a reference for code completion tools in various editors. %package analysis Summary: Compiler analysis data for the Rust standard library Requires: rust-std-static%{?_isa} = %{version}-%{release} %description analysis This package contains analysis data files produced with rustc's -Zsave-analysis feature for the Rust standard library. The RLS (Rust Language Server) uses this data to provide information about the Rust standard library. %package help Summary: Help documents for rust Provides: %{name}-doc = %{version}-%{release} %{name}-cargo-doc = %{version}-%{release} Obsoletes: %{name}-doc < %{version}-%{release} %{name}-cargo-doc < %{version}-%{release} %description help Man pages and other related help documents for rust. %prep %ifarch %{bootstrap_arches} %setup -q -n %{bootstrap_root} -T -b %{bootstrap_source} ./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \ --prefix=%{local_rust_root} --disable-ldconfig test -f '%{local_rust_root}/bin/cargo' test -f '%{local_rust_root}/bin/rustc' %endif %setup -q -n %{rustc_package} %patch0004 -p1 %if %with disabled_libssh2 %patch0000 -p1 %endif %if %without curl_http2 %patch0001 -p1 rm -rf vendor/libnghttp2-sys/ %endif %if "%{python}" != "python3" sed -i.try-python -e '/^try python3 /i try "%{python}" "$@"' ./configure %endif %patch0002 -p1 %patch0003 -p1 %patch0005 -p1 rm -rf vendor/curl-sys/curl/ rm -rf vendor/jemalloc-sys/jemalloc/ rm -rf vendor/libssh2-sys/libssh2/ rm -rf vendor/libz-sys/src/zlib/ rm -rf vendor/libz-sys/src/zlib-ng/ rm -rf vendor/lzma-sys/xz-*/ rm -rf vendor/openssl-src/openssl/ %if %defined build_with_bundled_llvm %else rm -rf src/llvm-project/ mkdir -p src/llvm-project/libunwind/ %endif %if %without bundled_libgit2 rm -rf vendor/libgit2-sys/libgit2/ %endif %if %with disabled_libssh2 rm -rf vendor/libssh2-sys/ %endif sed -i.lzma -e '/LZMA_API_STATIC/d' src/bootstrap/tool.rs %if %defined build_with_bundled_llvm %else %if %{with llvm_static} sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \ compiler/rustc_llvm/src/lib.rs %endif %endif find vendor -name .cargo-checksum.json \ -exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+' find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+' %global rust_env RUSTFLAGS="%{rustflags}" %if 0%{?cmake_path:1} %global rust_env %{rust_env} PATH="%{cmake_path}:$PATH" %endif %if %without bundled_libgit2 %global rust_env %{rust_env} LIBGIT2_SYS_USE_PKG_CONFIG=1 %endif %if %without disabled_libssh2 %global rust_env %{rust_env} LIBSSH2_SYS_USE_PKG_CONFIG=1 %endif %build # Disable LTO %define _lto_cflags %{nil} export %{rust_env} %global common_libdir %{_prefix}/lib %global rustlibdir %{common_libdir}/rustlib %ifarch %{arm} %{ix86} s390x %define enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2 %else %define enable_debuginfo --debuginfo-level=1 %endif %ifnarch %{power64} %define codegen_units_std --set rust.codegen-units-std=1 %endif ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN) max_cpus=$(( ($(free -g | awk '/^Mem:/{print $2}') + 1) / 2 )) if [ "$max_cpus" -ge 1 -a "$max_cpus" -lt "$ncpus" ]; then ncpus="$max_cpus" fi %configure --disable-option-checking \ --libdir=%{common_libdir} \ %{rust_musl_root}=%{musl_root} \ --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} %{!?rust_disable_musl: ,%{rust_musl_triple} }\ --python=%{python} \ --local-rust-root=%{local_rust_root} \ %{!?build_with_bundled_llvm: --llvm-root=%{llvm_root} \ %{!?llvm_has_filecheck: --disable-codegen-tests} \ %{!?with_llvm_static: --enable-llvm-link-shared } } \ --disable-rpath \ --llvm-ldflags=-B%{_libexecdir}/mold \ %{enable_debuginfo} \ --enable-extended \ --tools=analysis,cargo,clippy,rustfmt,src \ --enable-vendor \ --enable-verbose-tests \ %{?codegen_units_std} \ --release-channel=%{channel} %{python} ./x.py build -j "$ncpus" --stage 2 %{python} ./x.py doc --stage 2 %install export %{rust_env} DESTDIR=%{buildroot} %{python} ./x.py install %if "%{_libdir}" != "%{common_libdir}" mkdir -p %{buildroot}%{_libdir} find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \ -exec mv -v -t %{buildroot}%{_libdir} '{}' '+' %endif find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \ -exec chmod -v +x '{}' '+' find %{buildroot}%{rustlibdir}/%{rust_triple}/lib/ -maxdepth 1 -type f -name '*.so' | while read lib; do lib2="%{buildroot}%{_libdir}/${lib##*/}" if [ -f "$lib2" ]; then # make sure they're actually identical! cmp "$lib" "$lib2" ln -v -f -r -s -T "$lib2" "$lib" fi done find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+' find %{buildroot}%{rustlibdir} -type f -name '*.orig' -exec rm -v '{}' '+' find %{buildroot}%{rustlibdir}/src -type f -name '*.py' -exec rm -v '{}' '+' rm -f %{buildroot}%{_docdir}/%{name}/README.md rm -f %{buildroot}%{_docdir}/%{name}/COPYRIGHT rm -f %{buildroot}%{_docdir}/%{name}/LICENSE rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-APACHE rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-MIT rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-THIRD-PARTY rm -f %{buildroot}%{_docdir}/%{name}/*.old find %{buildroot}%{_docdir}/%{name}/html -empty -delete find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+' mkdir -p %{buildroot}%{_datadir}/cargo/registry mkdir -p %{buildroot}%{_docdir}/cargo ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html %if %without lldb rm -f %{buildroot}%{_bindir}/rust-lldb rm -f %{buildroot}%{rustlibdir}/etc/lldb_* %endif rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll* %check %if %{enable_check} export %{rust_env} %{python} ./x.py test --no-fail-fast --stage 2 || : %{python} ./x.py test --no-fail-fast --stage 2 cargo || : %{python} ./x.py test --no-fail-fast --stage 2 clippy || : %{python} ./x.py test --no-fail-fast --stage 2 rust-analyzer || : %{python} ./x.py test --no-fail-fast --stage 2 rustfmt || : %ldconfig_scriptlets %endif %files %license COPYRIGHT LICENSE-APACHE LICENSE-MIT %license %{_docdir}/%{name}/html/*.txt %doc README.md %{_bindir}/rustc %{_bindir}/rustdoc %{_libdir}/*.so %{_libexecdir}/rust-analyzer-proc-macro-srv %dir %{rustlibdir} %dir %{rustlibdir}/%{rust_triple} %dir %{rustlibdir}/%{rust_triple}/lib %{rustlibdir}/%{rust_triple}/lib/*.so %ifnarch riscv64 %dir %{rustlibdir}/%{rust_musl_triple} %dir %{rustlibdir}/%{rust_musl_triple}/lib %endif %files std-static %dir %{rustlibdir} %dir %{rustlibdir}/%{rust_triple} %dir %{rustlibdir}/%{rust_triple}/lib %{rustlibdir}/%{rust_triple}/lib/*.rlib %ifnarch riscv64 %dir %{rustlibdir}/%{rust_musl_triple} %dir %{rustlibdir}/%{rust_musl_triple}/lib %{rustlibdir}/%{rust_musl_triple}/lib/*.rlib %{rustlibdir}/%{rust_musl_triple}/lib/self-contained/*.o %{rustlibdir}/%{rust_musl_triple}/lib/self-contained/libunwind.a %{rustlibdir}/%{rust_musl_triple}/lib/self-contained/libc.a %endif %files debugger-common %dir %{rustlibdir} %dir %{rustlibdir}/etc %{rustlibdir}/etc/rust_*.py* %files gdb %{_bindir}/rust-gdb %{rustlibdir}/etc/gdb_* %exclude %{_bindir}/rust-gdbgui %if %with lldb %files lldb %{_bindir}/rust-lldb %{rustlibdir}/etc/lldb_* %endif %files -n cargo %license src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY} %doc src/tools/cargo/README.md %{_bindir}/cargo %{_libexecdir}/cargo* %{_sysconfdir}/bash_completion.d/cargo %{_datadir}/zsh/site-functions/_cargo %dir %{_datadir}/cargo %dir %{_datadir}/cargo/registry %files -n rustfmt %{_bindir}/rustfmt %{_bindir}/cargo-fmt %doc src/tools/rustfmt/{README,CHANGELOG,Configurations}.md %license src/tools/rustfmt/LICENSE-{APACHE,MIT} %if %{build_with_rust_analyzer} %files analyzer %{_bindir}/rust-analyzer %doc src/tools/rust-analyzer/README.md %license src/tools/rust-analyzer/LICENSE-{APACHE,MIT} %endif %files -n clippy %{_bindir}/cargo-clippy %{_bindir}/clippy-driver %doc src/tools/clippy/{README.md,CHANGELOG.md} %license src/tools/clippy/LICENSE-{APACHE,MIT} %files src %dir %{rustlibdir} %{rustlibdir}/src %files analysis %{rustlibdir}/%{rust_triple}/analysis/ %ifnarch riscv64 %{rustlibdir}/%{rust_musl_triple}/analysis/ %endif %files help %dir %{_docdir}/%{name} %dir %{_docdir}/cargo %dir %{_docdir}/%{name}/html %docdir %{_docdir}/%{name} %docdir %{_docdir}/cargo %{_docdir}/%{name}/html/*/ %{_docdir}/%{name}/html/*.html %{_docdir}/%{name}/html/*.css %{_docdir}/%{name}/html/*.js %{_docdir}/%{name}/html/*.png %{_docdir}/%{name}/html/*.svg %{_docdir}/%{name}/html/*.woff2 %license %{_docdir}/%{name}/html/*.md %{_docdir}/cargo/html %{_mandir}/man1/rustc.1* %{_mandir}/man1/rustdoc.1* %{_mandir}/man1/cargo*.1* %changelog * Wed Jan 11 2023 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.66.1-1 - Update to 1.66.1 * Fri Nov 25 2022 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.65.0-1 - Update to 1.65.0 - rls subpackage replaced by analyzer - Temporarily exclulde rust-analyzer from building * Mon Oct 31 2022 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.64.0-1 - Update to 1.64.0 - Add sub-package rust-analyzer - Add deprecation notice for sub-package rls - Apply regression patch from upstream (Thanks to Arch Linux RISC-V Team) * Tue Sep 27 2022 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.62.1-2 - Update to 1.62.1 * Wed Sep 21 2022 jchzhou <zhoujiacheng@iscas.ac.cn> 1.60.0-3 - Linking with mold for riscv64 * Fri Jul 15 2022 jchzhou <zhoujiacheng@iscas.ac.cn> 1.60.0-2 - Upgrade to 1.60.0 * Thu Jun 30 2022 jchzhou <zhoujiacheng@iscas.ac.cn> 1.59.0-2 - Update to 1.59.0 * Wed Jun 29 2022 jchzhou <zhoujiacheng@iscas.ac.cn> 1.58.1-3 - Switched to bootstrap mode for riscv64, minor fixes and improvements * Thu Mar 03 2022 jchzhou <zhoujiacheng@iscas.ac.cn> 1.58.1-2 - Add support for riscv (gcc) target * Sun Feb 27 2022 Liu Zixian <liuzixian4@huawei.com> - 1.58.1-1 - Update to 1.58.1 * Wed Feb 09 2022 Li Zheng <lizheng135@huawei.com> - 1.57.0-2 - Fix build error * Sat Jan 22 2022 Liu Zixian <liuzixian4@huawei.com> - 1.57.0-1 - Update to 1.57.0 * Sat Dec 18 2021 sdlzx <hdu_sdlzx@163.com> - 1.56.0-1 - Update to 1.56.0 * Wed Dec 15 2021 sdlzx <hdu_sdlzx@163.com> - 1.55.0-1 - Update to 1.55.0 * Thu Oct 14 2021 sdlzx <hdu_sdlzx@163.com> - 1.54.0-1 - Update to 1.54.0 * Fri Oct 08 2021 donglongtao <donglongtao@huawei.com> - 1.53.0-2 - Update debuginfo-level config * Sat Oct 02 2021 sdlzx <hdu_sdlzx@163.com> - 1.53.0-1 - Update to 1.53.0 * Tue Sep 28 2021 sdlzx <hdu_sdlzx@163.com> - 1.52.1-1 - Update to 1.52.1 * Fri Sep 17 2021 donglongtao <donglongtao@huawei.com> - 1.51.0-10 - Fix rustdoc install very slow * Tue Aug 24 2021 caodongxia <caodongxia@huawei.com> - 1.51.0-9 - Fix rustdoc error info * Wed Aug 18 2021 yaoxin <yaoxin30@huawei.com> - 1.51.0-8 - Fix CVE-2021-29922 * Wed Aug 04 2021 chenyanpanHW <chenyanpan@huawei.com> - 1.51.0-7 - DESC: delete BuildRequires gdb * Thu Jul 08 2021 Jiajie Li <lijiajie11@huawei.com> - 1.51.0-6 - Add build require of ninja and llvm * Thu Jul 01 2021 Jiajie Li <lijiajie11@huawei.com> - 1.51.0-5 - Add support for musl target * Thu Jun 24 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.51.0-4 - fix a println wrong format * Thu Jun 24 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.51.0-3 - cargo help clippy should have description to user * Wed Jun 23 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.51.0-2 - clippy-driver usage should user friendly * Fri May 07 2021 wangyue <wangyue92@huawei.com> - 1.51.0-1 - Update to 1.51.0 * Mon Nov 30 2020 Jeffery.Gao <gaojianxing@huawei.com> - 1.45.2-2 - fix upgrade error * Mon Sep 21 2020 Jeffery.Gao <gaojianxing@huawei.com> - 1.45.2-1 - Update to 1.45.2 * Fri Apr 17 2020 zhujunhao <zhujunhao8@huawei.com> - 1.29.1-4 - add llvm in rust * Thu Dec 5 2019 wutao <wutao61@huawei.com> - 1.29.1-3 - Package init
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2