You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
7.7 KiB
221 lines
7.7 KiB
## START: Set by rpmautospec
|
|
## (rpmautospec version 0.7.2)
|
|
## RPMAUTOSPEC: autorelease, autochangelog
|
|
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
|
|
release_number = 1;
|
|
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
|
|
print(release_number + base_release_number - 1);
|
|
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
|
|
## END: Set by rpmautospec
|
|
|
|
%bcond_without check
|
|
|
|
# reduce peak memory usage
|
|
%constrain_build -m 4096
|
|
|
|
# replacements for git snapshot dependencies
|
|
%global lsp_types_commit 3512a9f33eadc5402cfab1b8f7340824c8ca1439
|
|
%global salsa_commit f608ff8b24f07706492027199f51132244034f29
|
|
|
|
Name: ruff
|
|
Version: 0.6.7
|
|
Release: %autorelease
|
|
Summary: Extremely fast Python linter and code formatter
|
|
|
|
# ruff: MIT
|
|
# bundled typeshed snapshot: (Apache-2.0 AND MIT)
|
|
# bundled lsp-types fork: MIT
|
|
# bundled salsa snapshot: (Apache-2.0 OR MIT)
|
|
SourceLicense: MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
|
|
|
|
# (MIT OR Apache-2.0) AND Unicode-DFS-2016
|
|
# Apache-2.0
|
|
# Apache-2.0 OR BSD-2-Clause
|
|
# Apache-2.0 OR BSL-1.0
|
|
# Apache-2.0 OR MIT
|
|
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
|
|
# BSD-2-Clause OR Apache-2.0 OR MIT
|
|
# CC0-1.0
|
|
# ISC
|
|
# MIT
|
|
# MIT AND BSD-3-Clause
|
|
# MIT AND PSF-2.0
|
|
# MIT OR Apache-2.0
|
|
# MIT OR Apache-2.0 OR Zlib
|
|
# MIT OR BSD-3-Clause
|
|
# MPL-2.0
|
|
# Unlicense OR MIT
|
|
# WTFPL
|
|
# Zlib OR Apache-2.0 OR MIT
|
|
License: MIT AND Apache-2.0 AND BSD-3-Clause AND CC0-1.0 AND ISC AND MPL-2.0 AND PSF-2.0 AND Unicode-DFS-2016 AND WTFPL AND (Apache-2.0 OR BSD-2-Clause) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR BSD-3-Clause) AND (Unlicense OR MIT)
|
|
|
|
URL: https://github.com/astral-sh/ruff
|
|
Source: %{url}/archive/%{version}/ruff-%{version}.tar.gz
|
|
|
|
Source1: https://github.com/astral-sh/lsp-types/archive/%{lsp_types_commit}/lsp-types-%{lsp_types_commit}.tar.gz
|
|
Source2: https://github.com/salsa-rs/salsa/archive/%{salsa_commit}/salsa-%{salsa_commit}.tar.gz
|
|
Source3: 0007-avoid-duplicate-workspace-definitions.patch
|
|
|
|
# * drop non-Linux dependencies (non-upstreamable), generated with:
|
|
# "for i in $(find -name Cargo.toml) ; do rust2rpm-helper strip-foreign $i -o $i ; done"
|
|
Patch: 0001-drop-Windows-and-macOS-specific-dependencies.patch
|
|
# * replace git snapshot dependencies with path-based dependencies from
|
|
# unpacked additional sources (non-upstreamable)
|
|
Patch: 0002-replace-git-snapshot-dependencies-with-path-dependen.patch
|
|
# * drop unavailable custom memory allocators (non-upstreamable)
|
|
Patch: 0003-remove-unavailable-custom-allocators.patch
|
|
# * do not strip debuginfo from the built executable (non-upstreamable)
|
|
Patch: 0004-do-not-strip-debuginfo-from-built-binary-executable.patch
|
|
# * bump pyproject-toml-dependency from 0.9 to 0.11 (blocked upstream):
|
|
# https://github.com/astral-sh/ruff/pull/10705
|
|
# https://github.com/astral-sh/ruff/pull/11708
|
|
Patch: 0005-bump-pyproject-toml-dependency-from-0.9-to-0.11.patch
|
|
# * drop unavailable compile-time diagnostics feature for UUIDs (non-upstreamable)
|
|
Patch: 0006-drop-unavailable-features-from-uuid-dependency.patch
|
|
|
|
ExcludeArch: %{ix86}
|
|
|
|
BuildRequires: cargo-rpm-macros >= 24
|
|
BuildRequires: python3-devel
|
|
|
|
# git snapshot of the python/typeshed project at commit 9e506eb:
|
|
# https://github.com/python/typeshed
|
|
Provides: bundled(typeshed)
|
|
|
|
# forked from lsp-types upstream: https://github.com/gluon-lang/lsp-types
|
|
# with changes applied: https://github.com/astral-sh/lsp-types/tree/notebook-support
|
|
Provides: bundled(crate(lsp-types)) = 0.95.1
|
|
|
|
# git snapshot of unreleased upstream at some point after v0.18.0:
|
|
# https://github.com/salsa-rs/salsa/commit/f608ff8
|
|
Provides: bundled(crate(salsa)) = 0.18.0
|
|
Provides: bundled(crate(salsa-macros)) = 0.18.0
|
|
Provides: bundled(crate(salsa-macro-rules)) = 0.1.0
|
|
|
|
%description
|
|
An extremely fast Python linter and code formatter, written in Rust.
|
|
|
|
Ruff aims to be orders of magnitude faster than alternative tools while
|
|
integrating more functionality behind a single, common interface.
|
|
|
|
Ruff can be used to replace Flake8 (plus dozens of plugins), Black,
|
|
isort, pydocstyle, pyupgrade, autoflake, and more, all while executing
|
|
tens or hundreds of times faster than any individual tool.
|
|
|
|
%prep
|
|
%autosetup -n ruff-%{version} -p1
|
|
%cargo_prep
|
|
|
|
# move git snapshot replacements into place
|
|
tar -xzvf %{SOURCE1}
|
|
tar -xzvf %{SOURCE2}
|
|
mv lsp-types-%{lsp_types_commit} crates/lsp-types
|
|
mv salsa-%{salsa_commit} crates/salsa
|
|
|
|
# avoid duplicate workspace definitions
|
|
pushd crates/salsa
|
|
patch -p1 < %{SOURCE3}
|
|
mv components/* ../
|
|
popd
|
|
|
|
# prepare license files under distinct names
|
|
cp -pav crates/lsp-types/LICENSE LICENSE.lsp-types
|
|
cp -pav crates/salsa/LICENSE-APACHE LICENSE-APACHE.salsa
|
|
cp -pav crates/salsa/LICENSE-MIT LICENSE-MIT.salsa
|
|
cp -pav crates/ruff_vendored/vendor/typeshed/LICENSE LICENSE.typeshed
|
|
|
|
# drop unused subprojects
|
|
rm -rv crates/red_knot_wasm
|
|
rm -rv crates/ruff_benchmark
|
|
rm -rv crates/ruff_wasm
|
|
|
|
%generate_buildrequires
|
|
%pyproject_buildrequires
|
|
%cargo_generate_buildrequires -a
|
|
|
|
%build
|
|
export RUSTFLAGS="%{build_rustflags}"
|
|
%pyproject_wheel
|
|
|
|
# write license summary and breakdown
|
|
%{cargo_license_summary}
|
|
%{cargo_license} > LICENSE.dependencies
|
|
|
|
%install
|
|
%pyproject_install
|
|
%pyproject_save_files ruff
|
|
|
|
# generate and install shell completions
|
|
target/rpm/ruff generate-shell-completion bash > ruff.bash
|
|
target/rpm/ruff generate-shell-completion fish > ruff.fish
|
|
target/rpm/ruff generate-shell-completion zsh > _ruff
|
|
|
|
install -Dpm 0644 ruff.bash -t %{buildroot}/%{bash_completions_dir}
|
|
install -Dpm 0644 ruff.fish -t %{buildroot}/%{fish_completions_dir}
|
|
install -Dpm 0644 _ruff -t %{buildroot}/%{zsh_completions_dir}
|
|
|
|
%if %{with check}
|
|
%check
|
|
# ignore false positive snapshot test failures
|
|
export INSTA_UPDATE=always
|
|
# reduce peak memory usage
|
|
%cargo_test -- -- --test-threads 2
|
|
%endif
|
|
|
|
%files -f %{pyproject_files}
|
|
%license LICENSE
|
|
%license LICENSE.lsp-types
|
|
%license LICENSE-APACHE.salsa
|
|
%license LICENSE-MIT.salsa
|
|
%license LICENSE.typeshed
|
|
%license LICENSE.dependencies
|
|
%doc README.md
|
|
%doc BREAKING_CHANGES.md
|
|
%doc CODE_OF_CONDUCT.md
|
|
%doc CONTRIBUTING.md
|
|
|
|
%{_bindir}/ruff
|
|
|
|
%{bash_completions_dir}/ruff.bash
|
|
%{fish_completions_dir}/ruff.fish
|
|
%{zsh_completions_dir}/_ruff
|
|
|
|
%changelog
|
|
* Sun Dec 29 2024 Dmitriy Samoylik <samoylikdv@msvsphere-os.ru> - 0.6.7-1
|
|
- Rebuilt for MSVSphere 10
|
|
|
|
## START: Generated by rpmautospec
|
|
* Sat Sep 28 2024 Fabio Valentini <decathorpe@gmail.com> - 0.6.7-1
|
|
- Update to version 0.6.7
|
|
|
|
* Mon Jul 22 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.4-5
|
|
- Fix typo in License expression
|
|
|
|
* Mon Jul 22 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.4.4-4
|
|
- Update Rust crate clap_complete_command to 0.6.0
|
|
|
|
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.4-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
|
|
|
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 0.4.4-2
|
|
- Rebuilt for Python 3.13
|
|
|
|
* Wed May 29 2024 Fabio Valentini <decathorpe@gmail.com> - 0.4.4-1
|
|
- Update to version 0.4.4
|
|
|
|
* Thu May 23 2024 Fabio Valentini <decathorpe@gmail.com> - 0.3.7-2
|
|
- Rebuild with Rust 1.78 to fix incomplete debuginfo and backtraces
|
|
|
|
* Sat Apr 13 2024 Fabio Valentini <decathorpe@gmail.com> - 0.3.7-1
|
|
- Update to version 0.3.7; Fixes RHBZ#2267115
|
|
|
|
* Tue Feb 20 2024 Fabio Valentini <decathorpe@gmail.com> - 0.2.2-1
|
|
- Update to version 0.2.2; Fixes RHBZ#2261934
|
|
|
|
* Tue Jan 23 2024 Fabio Valentini <decathorpe@gmail.com> - 0.1.14-1
|
|
- Update to version 0.1.14; Fixes RHBZ#2257994
|
|
|
|
* Mon Jan 08 2024 Fabio Valentini <decathorpe@gmail.com> - 0.1.11-1
|
|
- Initial import (#2257092)
|
|
## END: Generated by rpmautospec
|