# Generated by rust2rpm 26 %bcond_without check %global debug_package %{nil} %global crate blosc2-sys %global upstream_version 0.2.6+2.14.3 Name: rust-blosc2-sys Version: 0.2.6 Release: %autorelease Summary: Bindings to C Blosc2 License: MIT URL: https://crates.io/crates/blosc2-sys Source: %{crates_source %{crate} %{upstream_version}} # Automatically generated patch to strip dependencies and normalize metadata Patch: blosc2-sys-fix-metadata-auto.diff # Manually created patch for downstream crate metadata changes # * Make bindgen and pkg-config non-optional Patch: blosc2-sys-fix-metadata.diff # # * Downstream-only: always use the system blosc2 and regenerate bindings Patch10: blosc2-sys-0.2.6-system-blosc2.patch BuildRequires: cargo-rpm-macros >= 24 BuildRequires: tomcli BuildRequires: pkgconfig(blosc2) %global _description %{expand: Bindings to C Blosc2.} %description %{_description} %package devel Summary: %{summary} BuildArch: noarch Requires: pkgconfig(blosc2) %description devel %{_description} This package contains library source intended for building other packages which use the "%{crate}" crate. %files devel %license %{crate_instdir}/LICENSE %{crate_instdir}/ %package -n %{name}+default-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+default-devel %{_description} This package contains library source intended for building other packages which use the "default" feature of the "%{crate}" crate. %files -n %{name}+default-devel %ghost %{crate_instdir}/Cargo.toml %package -n %{name}+regenerate-bindings-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+regenerate-bindings-devel %{_description} This package contains library source intended for building other packages which use the "regenerate-bindings" feature of the "%{crate}" crate. %files -n %{name}+regenerate-bindings-devel %ghost %{crate_instdir}/Cargo.toml %package -n %{name}+shared-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+shared-devel %{_description} This package contains library source intended for building other packages which use the "shared" feature of the "%{crate}" crate. %files -n %{name}+shared-devel %ghost %{crate_instdir}/Cargo.toml %package -n %{name}+use-system-blosc2-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+use-system-blosc2-devel %{_description} This package contains library source intended for building other packages which use the "use-system-blosc2" feature of the "%{crate}" crate. %files -n %{name}+use-system-blosc2-devel %ghost %{crate_instdir}/Cargo.toml %prep %autosetup -n %{crate}-%{upstream_version} -p1 # Remove the bundled copy of blosc2 and the CMake-generated Makefile for it rm -rv c-blosc2 Makefile # These would only be needed to build the bundled blosc2: tomcli set Cargo.toml del build-dependencies.cmake tomcli set Cargo.toml del build-dependencies.copy_dir # Downstream-only: do not require the blosc2 version to exactly match # upstream’s bundled one. Doing this as a sed-patch keeps us from having to # rebase it every time the bundled version changes. sed -r -i 's@^([[:blank:]]*)(\.exactly_version\()@\1// \2@' build.rs # To be more pedantically correct, replace the hard-coded /usr/include patched # into build.rs with the expansion of %%{_includedir}. sed -r -i 's@/usr/include\b@%{_includedir}@' build.rs %cargo_prep %generate_buildrequires %cargo_generate_buildrequires -f regenerate-bindings %build %cargo_build -f regenerate-bindings %install %cargo_install -f regenerate-bindings %if %{with check} %check %cargo_test -f regenerate-bindings %endif %changelog %autochangelog