# Generated by rust2rpm 27 %bcond check 1 %global debug_package %{nil} %global crate aws-lc-sys Name: rust-aws-lc-sys Version: 0.26.0 Release: %autorelease Summary: General-purpose cryptographic library License: ISC AND (Apache-2.0 OR ISC) AND OpenSSL URL: https://crates.io/crates/aws-lc-sys Source: %{crates_source} Source1: https://github.com/aws/aws-lc/raw/5cdc082/crypto/err/err_data_generate.go # Manually created patch for downstream crate metadata changes # * make dependency on bindgen non-optional # * drop feature for enabling AdressSanitizer Patch: aws-lc-sys-fix-metadata.diff # * unconditionally regenerate bindings with bindgen Patch: 0001-unconditionally-rebuild-bindings-with-bindgen.patch # * unconditionally build aws-lc in RelWithDebInfo mode Patch: 0002-unconditionally-build-with-cmake-in-relwithdebinfo-m.patch # * force regeneration of generated Assembly Patch: 0003-regenerate-generated-code-with-Perl-and-Golang-uncon.patch # * HACK: force passing -O2 to compiler feature detection as workaround: # https://github.com/aws/aws-lc-rs/issues/710 Patch: 0004-HACK-fix-compiler-feature-detection-by-passing-O2.patch # * raise minumum required CMake version for compatibility with newer CMake Patch: 0005-update-CMake-version-for-compatibility-with-newer-CM.patch BuildRequires: cargo-rpm-macros >= 24 BuildRequires: golang BuildRequires: perl BuildRequires: rustfmt %global _description %{expand: AWS-LC is a general-purpose cryptographic library maintained by the AWS Cryptography team for AWS and their customers. It іs based on code from the Google BoringSSL project and the OpenSSL project.} %description %{_description} %package devel Summary: %{summary} BuildArch: noarch Requires: golang Requires: perl Requires: rustfmt Provides: bundled(aws-lc) = 1.46.0 %description devel %{_description} This package contains library source intended for building other packages which use the "%{crate}" crate. %files devel %license %{crate_instdir}/LICENSE %license %{crate_instdir}/aws-lc/LICENSE %license %{crate_instdir}/aws-lc/third_party/fiat/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}+bindgen-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+bindgen-devel %{_description} This package contains library source intended for building other packages which use the "bindgen" feature of the "%{crate}" crate. %files -n %{name}+bindgen-devel %ghost %{crate_instdir}/Cargo.toml %package -n %{name}+ssl-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+ssl-devel %{_description} This package contains library source intended for building other packages which use the "ssl" feature of the "%{crate}" crate. %files -n %{name}+ssl-devel %ghost %{crate_instdir}/Cargo.toml %prep %autosetup -n %{crate}-%{version} -p1 %cargo_prep # remove pregenerated object files for Windows rm -rv builder/prebuilt-nasm/ # remove pregenerated assembly sources rm -rv aws-lc/generated-src/ # provide missing code generation programs cp -pav %{SOURCE1} aws-lc/crypto/err/err_data_generate.go %generate_buildrequires %cargo_generate_buildrequires %build %cargo_build %install %cargo_install %if %{with check} %check %cargo_test %endif %changelog %autochangelog