commit b0ef0834f61b03eadfdfd8f525add37542178ca4 Author: tigro Date: Mon Jan 15 18:38:08 2024 +0300 import rust-libgit2-sys0.15-0.15.2-1.el9 diff --git a/.rust-libgit2-sys0.15.metadata b/.rust-libgit2-sys0.15.metadata new file mode 100644 index 0000000..e69de29 diff --git a/SOURCES/0001-build-with-vendored-libgit2-unconditionally.patch b/SOURCES/0001-build-with-vendored-libgit2-unconditionally.patch new file mode 100644 index 0000000..d970241 --- /dev/null +++ b/SOURCES/0001-build-with-vendored-libgit2-unconditionally.patch @@ -0,0 +1,35 @@ +From 9da92f6c0981aae2f4e6267e4a1cb4eaf0b92357 Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Thu, 13 Jul 2023 13:53:24 +0200 +Subject: [PATCH] build with vendored libgit2 unconditionally + +--- + build.rs | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/build.rs b/build.rs +index 24df572..7b551a7 100644 +--- a/build.rs ++++ b/build.rs +@@ -10,18 +10,6 @@ fn main() { + let vendored = env::var("CARGO_FEATURE_VENDORED").is_ok(); + let zlib_ng_compat = env::var("CARGO_FEATURE_ZLIB_NG_COMPAT").is_ok(); + +- // To use zlib-ng in zlib-compat mode, we have to build libgit2 ourselves. +- let try_to_use_system_libgit2 = !vendored && !zlib_ng_compat; +- if try_to_use_system_libgit2 { +- let mut cfg = pkg_config::Config::new(); +- if let Ok(lib) = cfg.range_version("1.6.4".."1.7.0").probe("libgit2") { +- for include in &lib.include_paths { +- println!("cargo:root={}", include.display()); +- } +- return; +- } +- } +- + println!("cargo:rustc-cfg=libgit2_vendored"); + + if !Path::new("libgit2/src").exists() { +-- +2.41.0 + diff --git a/SOURCES/libgit2-sys-0.15.2+1.6.4.crate b/SOURCES/libgit2-sys-0.15.2+1.6.4.crate new file mode 100644 index 0000000..1febbf0 Binary files /dev/null and b/SOURCES/libgit2-sys-0.15.2+1.6.4.crate differ diff --git a/SOURCES/libgit2-sys-fix-metadata.diff b/SOURCES/libgit2-sys-fix-metadata.diff new file mode 100644 index 0000000..e81f354 --- /dev/null +++ b/SOURCES/libgit2-sys-fix-metadata.diff @@ -0,0 +1,32 @@ +--- libgit2-sys-0.15.2+1.6.4/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ libgit2-sys-0.15.2+1.6.4/Cargo.toml 2023-07-13T11:49:40.922952+00:00 +@@ -12,7 +12,7 @@ + [package] + edition = "2018" + name = "libgit2-sys" +-version = "0.15.2+1.6.4" ++version = "0.15.2" + authors = [ + "Josh Triplett ", + "Alex Crichton ", +@@ -27,7 +27,7 @@ + "libgit2/tests/*", + ] + description = "Native bindings to the libgit2 library" +-license = "MIT OR Apache-2.0" ++license = "(MIT OR Apache-2.0) AND BSD-3-Clause AND GPL-2.0-only WITH GCC-exception-2.0 AND MIT" + repository = "https://github.com/rust-lang/git2-rs" + + [lib] +@@ -58,11 +58,6 @@ + ssh = ["libssh2-sys"] + ssh_key_from_memory = [] + vendored = [] +-vendored-openssl = ["openssl-sys/vendored"] +-zlib-ng-compat = [ +- "libz-sys/zlib-ng", +- "libssh2-sys?/zlib-ng-compat", +-] + + [target."cfg(unix)".dependencies.openssl-sys] + version = "0.9" diff --git a/SPECS/rust-libgit2-sys0.15.spec b/SPECS/rust-libgit2-sys0.15.spec new file mode 100644 index 0000000..83fc8a0 --- /dev/null +++ b/SPECS/rust-libgit2-sys0.15.spec @@ -0,0 +1,181 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + 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 + +# Generated by rust2rpm 24 +%bcond_without check +%global debug_package %{nil} + +%global crate libgit2-sys +%global upstream_version 0.15.2+1.6.4 + +Name: rust-libgit2-sys0.15 +Version: 0.15.2 +Release: %autorelease +Summary: Native bindings to the libgit2 library + +# * libgit2-sys crate: MIT OR Apache-2.0 +# * bundled libgit2: GPL-2.0-only WITH GCC-exception-2.0 +# * bundled http-parser: MIT +# * bundled pcre: BSD-3-Clause +License: (MIT OR Apache-2.0) AND BSD-3-Clause AND GPL-2.0-only WITH GCC-exception-2.0 AND MIT +URL: https://crates.io/crates/libgit2-sys +Source: %{crates_source %{crate} %{upstream_version}} +# Manually created patch for downstream crate metadata changes +# * remove libgit2 version from version field +# * update package.license field to reflect bundled dependencies +Patch: libgit2-sys-fix-metadata.diff +# * build against the bundled copy of libgit2 unconditionally: +# the version in the Fedora repositories is always either too old or too new +Patch: 0001-build-with-vendored-libgit2-unconditionally.patch + +BuildRequires: rust-packaging >= 21 + +%global _description %{expand: +Native bindings to the libgit2 library.} + +%description %{_description} + +%package devel +Summary: %{summary} +BuildArch: noarch + +Provides: bundled(libgit2) = 1.6.4 +Provides: bundled(http-parser) = 2.0 +Provides: bundled(pcre) = 8.44 + +%description devel %{_description} + +This package contains library source intended for building other packages which +use the "%{crate}" crate. + +%files devel +%license %{crate_instdir}/LICENSE-APACHE +%license %{crate_instdir}/LICENSE-MIT +%license %{crate_instdir}/libgit2/COPYING +%license %{crate_instdir}/libgit2/deps/http-parser/COPYING +%license %{crate_instdir}/libgit2/deps/pcre/LICENCE +%doc %{crate_instdir}/CHANGELOG.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}+https-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+https-devel %{_description} + +This package contains library source intended for building other packages which +use the "https" feature of the "%{crate}" crate. + +%files -n %{name}+https-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+libssh2-sys-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+libssh2-sys-devel %{_description} + +This package contains library source intended for building other packages which +use the "libssh2-sys" feature of the "%{crate}" crate. + +%files -n %{name}+libssh2-sys-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+openssl-sys-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+openssl-sys-devel %{_description} + +This package contains library source intended for building other packages which +use the "openssl-sys" feature of the "%{crate}" crate. + +%files -n %{name}+openssl-sys-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+ssh-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+ssh-devel %{_description} + +This package contains library source intended for building other packages which +use the "ssh" feature of the "%{crate}" crate. + +%files -n %{name}+ssh-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+ssh_key_from_memory-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+ssh_key_from_memory-devel %{_description} + +This package contains library source intended for building other packages which +use the "ssh_key_from_memory" feature of the "%{crate}" crate. + +%files -n %{name}+ssh_key_from_memory-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+vendored-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+vendored-devel %{_description} + +This package contains library source intended for building other packages which +use the "vendored" feature of the "%{crate}" crate. + +%files -n %{name}+vendored-devel +%ghost %{crate_instdir}/Cargo.toml + +%prep +%autosetup -n %{crate}-%{upstream_version} -p1 +# remove upstream development scripts from libgit2 +rm -r libgit2/script/ +# remove unused bundled dependencies +rm -r libgit2/deps/chromium-zlib +rm -r libgit2/deps/ntlmclient +rm -r libgit2/deps/winhttp +rm -r libgit2/deps/zlib +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +* Mon Jan 15 2024 Arkady L. Shane - 0.15.2-1 +- Rebuilt for MSVSphere 9.3 + +* Wed Sep 20 2023 Fabio Valentini - 0.15.2-1 +- Initial import (libgit2-sys 0.15 compat package)