File rust-packaging.spec of Package rust-srpm-macros

#
# spec file for package rust-packaging
#
# Copyright (c) 2017 Red Hat, Inc., Raleigh, North Carolina, United States of America.
# Copyright (c) 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org>.
# Copyright (c) 2018 Neal Gompa <ngompa13@gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

%bcond_without check

Name:           rust-packaging
Version:        5
Release:        0
Summary:        RPM tools and macros for building Rust packages
Group:          Development/Languages/Rust
License:        MIT
URL:            https://pagure.io/fedora-rust/rust2rpm
Source0:        https://releases.pagure.org/fedora-rust/rust2rpm/rust2rpm-%{version}.tar.xz
Patch0001:      0001-macros-remove-Cargo.lock.patch
Patch0002:      0002-macros-remove-spurious-whitespace.patch

BuildArch:      noarch
ExclusiveArch:  %{rust_arches} noarch

# gawk is needed for stripping dev-deps in macro, 4.1.0 is needed for inplace feature
Requires:       gawk >= 4.1.0
Requires:       python3-rust2rpm = %{?epoch:%{epoch}:}%{version}-%{release}
Requires:       rust-srpm-macros = %{version}
# Remove in F29
Obsoletes:      rust-rpm-macros < 2-2

%description
This package provides the tools and macros for building projects in Rust
on various architectures.

%package     -n python3-rust2rpm
Summary:        Convert Rust packages to RPM
Group:          Development/Languages/Rust
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
%if %{with check}
BuildRequires:  python3-pytest
BuildRequires:  cargo
BuildRequires:  python3-semantic_version
%endif
Requires:       cargo
Requires:       python3-semantic_version
%if 0%{?suse_version}
Requires:       python3-Jinja2
%else
Requires:       python3-jinja2
%endif
Requires:       python3-requests
Requires:       python3-tqdm
%if 0%{?mageia}
Requires:       locales-en
%endif
Obsoletes:      rust2rpm < 1-8
Provides:       rust2rpm = %{version}-%{release}
%{?python_provide:%python_provide python3-rust2rpm}

%description -n python3-rust2rpm
This tool creates RPM spec files for Rust packages.
The packages can be downloaded from crates.io and this tool
creates packages that comply with the Fedora Packaging Guidelines,
Mageia packaging policy, and the openSUSE Packaging Guidelines.


%prep
%autosetup -n rust2rpm-%{version} -p1
lang=
%if (0%{?fedora} && 0%{?fedora} <= 25) || (0%{?rhel} && 0%{?rhel} <= 7) || 0%{?suse_version}
lang=C.UTF-8
%else
%if 0%{?mageia}
lang=en_US.UTF-8
%endif
%endif
[ -z "$lang" ] || sed -r -i -e "s|(%\{_bindir\}/cargo-inspector)|env LANG=$lang \1|" data/cargo.attr data/macros.cargo

%build
%py3_build

%install
%py3_install
install -D -p -m 0644 -t %{buildroot}%{_rpmconfigdir}/macros.d data/macros.rust data/macros.cargo
install -D -p -m 0644 -t %{buildroot}%{_rpmconfigdir}/fileattrs data/cargo.attr

%if %{with check}
%check
py.test-%{python3_version} -vv test.py
%endif

%files
%{_rpmconfigdir}/macros.d/macros.rust
%{_rpmconfigdir}/macros.d/macros.cargo
%{_rpmconfigdir}/fileattrs/cargo.attr

%files -n python3-rust2rpm
%license LICENSE
%{_bindir}/rust2rpm
%{_bindir}/cargo-inspector
%{python3_sitelib}/rust2rpm-*.egg-info/
%{python3_sitelib}/rust2rpm/

%changelog
openSUSE Build Service is sponsored by