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.
186 lines
6.2 KiB
186 lines
6.2 KiB
2 months ago
|
## START: Set by rpmautospec
|
||
|
## (rpmautospec version 0.6.5)
|
||
|
## RPMAUTOSPEC: autorelease, autochangelog
|
||
|
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
|
||
|
release_number = 4;
|
||
|
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 check 1
|
||
|
|
||
|
Name: maturin
|
||
|
Version: 1.4.0
|
||
|
Release: %autorelease
|
||
|
Summary: Build and publish Rust crates as Python packages
|
||
|
SourceLicense: MIT OR Apache-2.0
|
||
|
|
||
|
%global pypi_version %(echo %{version} | tr -d "~")
|
||
|
|
||
|
# (Apache-2.0 OR MIT) AND BSD-3-Clause
|
||
|
# (MIT OR Apache-2.0) AND Unicode-DFS-2016
|
||
|
# 0BSD
|
||
|
# 0BSD OR MIT OR Apache-2.0
|
||
|
# 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
|
||
|
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
|
||
|
# BSD-2-Clause OR Apache-2.0 OR MIT
|
||
|
# CC0-1.0 OR MIT-0 OR Apache-2.0
|
||
|
# MIT
|
||
|
# MIT OR Apache-2.0
|
||
|
# MIT OR Apache-2.0 OR Zlib
|
||
|
# MIT OR Zlib OR Apache-2.0
|
||
|
# MPL-2.0
|
||
|
# Unlicense OR MIT
|
||
|
# Zlib OR Apache-2.0 OR MIT
|
||
|
License: 0BSD AND Apache-2.0 AND Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) 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 (CC0-1.0 OR MIT-0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
|
||
|
# LICENSE.dependencies contains a full license breakdown
|
||
|
|
||
|
URL: https://github.com/PyO3/maturin
|
||
|
Source0: %{pypi_source maturin %{pypi_version}}
|
||
|
# To create the vendor tarball:
|
||
|
# tar xf %%{name}-%%{version}.tar.gz ; pushd %%{name}-%%{version} ; \
|
||
|
# patch -p1 < ../0001-disable-unavailable-features-and-drop-unused-test-de.patch && \
|
||
|
# cargo vendor --versioned-dirs && tar Jcvf ../%%{name}-%%{version}-vendor.tar.xz vendor/ ; popd
|
||
|
Source1: %{name}-%{version}-vendor.tar.xz
|
||
|
|
||
|
# * disable features with missing dependencies:
|
||
|
# - cross (support for cross compiling with zig / xwin)
|
||
|
# - upload (support for uploading wheels to PyPI)
|
||
|
# * drop unused test dependencies
|
||
|
Patch: 0001-drop-unavailable-features-and-unused-dev-dependencie.patch
|
||
|
|
||
|
# * drop incompatible arguments from setuptools_rust cargo invocations
|
||
|
Patch: 0002-drop-incompatible-cargo-flags-from-setuptools_rust.patch
|
||
|
|
||
|
# * drop #!/usr/bin/env python3 shebang from maturin/__init__.py
|
||
|
Patch: 0003-remove-shebang-from-non-executable-__init__.py-file.patch
|
||
|
|
||
|
%if %{defined rhel}
|
||
|
BuildRequires: rust-toolset
|
||
|
%else
|
||
|
BuildRequires: cargo-rpm-macros >= 24
|
||
|
%endif
|
||
|
BuildRequires: python3-devel
|
||
|
|
||
|
%py_provides python3-maturin
|
||
|
|
||
|
%description
|
||
|
Build and publish crates with pyo3, rust-cpython and cffi bindings as
|
||
|
well as rust binaries as python packages.
|
||
|
|
||
|
%prep
|
||
|
%autosetup -n maturin-%{pypi_version} -p1 %{?rhel:-a1}
|
||
|
%cargo_prep %{?rhel:-v vendor}
|
||
|
|
||
|
%generate_buildrequires
|
||
|
%pyproject_buildrequires
|
||
|
%if %{undefined rhel}
|
||
|
%cargo_generate_buildrequires
|
||
|
%endif
|
||
|
|
||
|
%build
|
||
|
export RUSTFLAGS="%{build_rustflags}"
|
||
|
%pyproject_wheel
|
||
|
|
||
|
# write license summary and breakdown
|
||
|
%{cargo_license_summary}
|
||
|
%{cargo_license} > LICENSE.dependencies
|
||
|
%if %{defined rhel}
|
||
|
%{cargo_vendor_manifest}
|
||
|
%endif
|
||
|
|
||
|
%install
|
||
|
%pyproject_install
|
||
|
%pyproject_save_files maturin
|
||
|
|
||
|
# generate and install shell completions
|
||
|
target/release/maturin completions bash > maturin.bash
|
||
|
target/release/maturin completions fish > maturin.fish
|
||
|
target/release/maturin completions zsh > _maturin
|
||
|
|
||
|
install -Dpm 0644 maturin.bash -t %{buildroot}/%{bash_completions_dir}
|
||
|
install -Dpm 0644 maturin.fish -t %{buildroot}/%{fish_completions_dir}
|
||
|
install -Dpm 0644 _maturin -t %{buildroot}/%{zsh_completions_dir}
|
||
|
|
||
|
%if %{with check}
|
||
|
%check
|
||
|
# * skip a test that fails with Rust 1.74+
|
||
|
# * skip tests for which fixtures are not included in published sources
|
||
|
%cargo_test -- -- --skip build_context::test::test_macosx_deployment_target --skip build_options::test::test_find_bridge --skip metadata::test::test_implicit_readme --skip metadata::test::test_merge_metadata_from_pyproject --skip pyproject_toml::tests::test_warn_missing_maturin_version
|
||
|
%endif
|
||
|
|
||
|
%files -f %{pyproject_files}
|
||
|
%license license-apache
|
||
|
%license license-mit
|
||
|
%license LICENSE.dependencies
|
||
|
%if %{defined rhel}
|
||
|
%license cargo-vendor.txt
|
||
|
%endif
|
||
|
%doc README.md
|
||
|
%doc Changelog.md
|
||
|
|
||
|
%{_bindir}/maturin
|
||
|
|
||
|
%{bash_completions_dir}/maturin.bash
|
||
|
%{fish_completions_dir}/maturin.fish
|
||
|
%{zsh_completions_dir}/_maturin
|
||
|
|
||
|
%changelog
|
||
|
* Mon Dec 16 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 1.4.0-4
|
||
|
- Rebuilt for MSVSphere 10
|
||
|
|
||
|
## START: Generated by rpmautospec
|
||
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.4.0-4
|
||
|
- Bump release for October 2024 mass rebuild:
|
||
|
|
||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.4.0-3
|
||
|
- Bump release for June 2024 mass rebuild
|
||
|
|
||
|
* Thu Feb 01 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1.4.0-2
|
||
|
- Update Rust macro usage
|
||
|
|
||
|
* Wed Dec 13 2023 Fabio Valentini <decathorpe@gmail.com> - 1.4.0-1
|
||
|
- Update to version 1.4.0
|
||
|
|
||
|
* Wed Nov 29 2023 Fabio Valentini <decathorpe@gmail.com> - 1.3.2-1
|
||
|
- Update to version 1.3.2
|
||
|
|
||
|
* Mon Nov 13 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.2.3-2
|
||
|
- Fix RHEL/ELN build
|
||
|
|
||
|
* Tue Sep 05 2023 Fabio Valentini <decathorpe@gmail.com> - 1.2.3-1
|
||
|
- Update to version 1.2.3; Fixes RHBZ#2229485
|
||
|
|
||
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
|
||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||
|
|
||
|
* Sat Jun 24 2023 Python Maint <python-maint@redhat.com> - 1.1.0-2
|
||
|
- Rebuilt for Python 3.12
|
||
|
|
||
|
* Sat Jun 24 2023 Fabio Valentini <decathorpe@gmail.com> - 1.1.0-1
|
||
|
- Update to version 1.1.0; Fixes RHBZ#2214007
|
||
|
|
||
|
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 1.0.1-3
|
||
|
- Rebuilt for Python 3.12
|
||
|
|
||
|
* Wed Jun 07 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.1-2
|
||
|
- Enable log and scaffolding features
|
||
|
|
||
|
* Mon May 29 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.1-1
|
||
|
- Update to version 1.0.1; Fixes RHBZ#2210549
|
||
|
|
||
|
* Tue May 23 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.0-1
|
||
|
- Update to version 1.0.0
|
||
|
|
||
|
* Tue May 23 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.0~b9-1
|
||
|
- Update to version 1.0.0b9
|
||
|
|
||
|
* Thu May 18 2023 Fabio Valentini <decathorpe@gmail.com> - 1.0.0~b7-1
|
||
|
- Initial import (#2187698)
|
||
|
## END: Generated by rpmautospec
|