# Generated by rust2rpm 27 %bcond check 1 %global debug_package %{nil} %global crate libdeflate-sys Name: rust-libdeflate-sys Version: 1.23.0 Release: %autorelease Summary: Bindings to libdeflate for DEFLATE License: Apache-2.0 URL: https://crates.io/crates/libdeflate-sys Source: %{crates_source} # Manually created patch for downstream crate metadata changes # * Make the dependency on crate(pkg-config) non-optional instead of associating # it with the “dynamic” feature, since we patch the crate to always link # dynamically with the system libdeflate, regardless of the selected features. Patch: libdeflate-sys-fix-metadata.diff BuildRequires: cargo-rpm-macros >= 24 BuildRequires: pkgconfig(libdeflate) %global _description %{expand: Bindings to libdeflate for DEFLATE (de)compression exposed as non- streaming buffer operations. Contains bindings for raw deflate, zlib, and gzip data.} %description %{_description} %package devel Summary: %{summary} BuildArch: noarch Requires: pkgconfig(libdeflate) %description devel %{_description} This package contains library source intended for building other packages which use the "%{crate}" crate. %files devel %license %{crate_instdir}/LICENSE %doc %{crate_instdir}/README.md %{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}+dynamic-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+dynamic-devel %{_description} This package contains library source intended for building other packages which use the "dynamic" feature of the "%{crate}" crate. %files -n %{name}+dynamic-devel %ghost %{crate_instdir}/Cargo.toml %package -n %{name}+freestanding-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+freestanding-devel %{_description} This package contains library source intended for building other packages which use the "freestanding" feature of the "%{crate}" crate. %files -n %{name}+freestanding-devel %ghost %{crate_instdir}/Cargo.toml %prep %autosetup -n %{crate}-%{version} -p1 # Remove the bundled copy of libdeflate. rm -rv libdeflate # Make libdeflate detection with pkg-config unconditional. sed -r -i 's@^([[:blank:]]*)(#\[cfg\(feature *= *"dynamic"\)\])@\1// \2@' build.rs # Don’t require an exact version match. We would *like* the versions to stay # aligned, but we don’t *need* to update libdeflate and # rust-libdeflate-sys/rust-libdeflater concurrently. sed -r -i 's@^([[:blank:]]*)(\.exactly_version\()@\1// \2@' build.rs # The above two sed-patches effectively revert “Dynamic Linking Constraints”, # https://github.com/adamkewley/libdeflater/pull/32. Using sed instead of a # patch file keeps us from having to update the patch every time the version # number changes. %cargo_prep %generate_buildrequires %cargo_generate_buildrequires %build %cargo_build %install %cargo_install %if %{with check} %check %cargo_test %endif %changelog %autochangelog