commit:     57149dc1d7024478fa62a9f986510ba462ffaa74
Author:     Matt Jolly <Matt.Jolly <AT> footclan <DOT> ninja>
AuthorDate: Mon Aug 14 09:13:25 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 03:50:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57149dc1

dev-util/cargo-ebuild: add 0.5.4-r1

- Trivial fixes for compatibility with modern cargo.eclass
- https://rustsec.org/advisories/RUSTSEC-2023-0003

Bug: https://bugs.gentoo.org/864061

Signed-off-by: Matt Jolly <Matt.Jolly <AT> footclan.ninja>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/cargo-ebuild/Manifest                     |   1 +
 dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild | 176 +++++++++++++++++++++
 .../cargo-ebuild-0.5.4-updated-eclass-style.patch  |  60 +++++++
 3 files changed, 237 insertions(+)

diff --git a/dev-util/cargo-ebuild/Manifest b/dev-util/cargo-ebuild/Manifest
index 928c37977209..59dcb789a1e4 100644
--- a/dev-util/cargo-ebuild/Manifest
+++ b/dev-util/cargo-ebuild/Manifest
@@ -75,6 +75,7 @@ DIST libc-0.2.126.crate 590481 BLAKE2B 
1000de6b9fa2b3ff025b961e504d6d20b401f37cd
 DIST libc-0.2.139.crate 638983 BLAKE2B 
e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598
 SHA512 
ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
 DIST libgit2-sys-0.13.4+1.4.2.crate 1506315 BLAKE2B 
87199812e8dd5475c3c659e11bde4a294951685880e9fc8771b3a075d351d02a1eecb5d4ea039466af6b9d90b5374d3d1369195a442ba60c596669aa2e25af59
 SHA512 
71e3f4ed8a123109ae1f0cfaad90092bbea25658356e6eaee3135d4576ffcfadd83ada28367459dd70903ddce716bed6278388e294e13712dcbcf8202e884548
 DIST libgit2-sys-0.14.0+1.5.0.crate 1740370 BLAKE2B 
0bdcec13f78292ad7849f88bbf21a8168371e9d4b15dcd09863b2ef703caa8e94a33da01164214620e11ff6f75038cf9ee6257c44aed5e07c52af044abca9952
 SHA512 
b2e1e54b172e6b0c71fdd02da0800e9120a3fe1b9c33b5fee4e667e9aa627979012865397b406fe91437425bf52e52a26245cfb7fa84f3ba64269dbe204582d6
+DIST libgit2-sys-0.14.2+1.5.1.crate 1742257 BLAKE2B 
028e6bf6980d7a54b76c918fcd499684869f14cb160e821d6657e59925d142655dae6e018c9f29389de304ef6109197fd71e6e6752d0d0a53152f2c4820ea1a3
 SHA512 
eb9602706036ea62ecbc08250f297119a1c51ea09ea86ae8630dc6d0521b74db96d8eccc4106343572eb70d9a156415c017c6a91fb5529100fbed091ff8e7921
 DIST libssh2-sys-0.2.23.crate 493516 BLAKE2B 
00c0c1396f3d6723ad750112e7af8c8ac098af7b3d11e3fafbb4dc3b90c0defeb8184e007de3c740bf1111e12a53b71c355d697c4567deb3a30ebe3fee2e0caa
 SHA512 
9617fb1d5826dacce23658b42e3eb3f8427b33db1b5a4424081e148bd90a3f776aa50ef66183c93ae19086d64321fc10b19b1a496c3feb12a669c7313cdf39cf
 DIST libz-sys-1.1.8.crate 2481844 BLAKE2B 
e890a3850aed5348afe7558168c7571564687d6a7d3567a4d53ffdf79444d38c4d70d35891e16f496f31169bf73b669534f5fc584f9ec520b518dda05e80b882
 SHA512 
0766ab72cc1414160ccefe4812e6204cbed1341607e5d17607f24fd4ff81dca68d8f2cf43e1d27f332a508d602bff0ad340c4c647a5d5f85acc120c19cfb4100
 DIST log-0.4.17.crate 38028 BLAKE2B 
b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605
 SHA512 
2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2

diff --git a/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild 
b/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild
new file mode 100644
index 000000000000..a2c1374def5e
--- /dev/null
+++ b/dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 2017-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Auto-Generated by cargo-ebuild 0.5.4-r1
+
+EAPI=8
+
+CRATES="
+       aho-corasick@0.7.20
+       ansi_term@0.12.1
+       anyhow@1.0.68
+       atty@0.2.14
+       autocfg@1.1.0
+       bitflags@1.3.2
+       block-buffer@0.10.3
+       bstr@0.2.17
+       camino@1.1.1
+       cargo-lock@8.0.3
+       cargo-platform@0.1.2
+       cargo_metadata@0.15.2
+       cc@1.0.78
+       cfg-if@1.0.0
+       clap@2.34.0
+       cpufeatures@0.2.5
+       crates-index@0.18.11
+       crossbeam-channel@0.5.6
+       crossbeam-deque@0.8.2
+       crossbeam-epoch@0.9.13
+       crossbeam-utils@0.8.14
+       crypto-common@0.1.6
+       cvss@2.0.0
+       digest@0.10.6
+       either@1.8.0
+       fnv@1.0.7
+       form_urlencoded@1.1.0
+       fs-err@2.9.0
+       generic-array@0.14.6
+       git2@0.15.0
+       globset@0.4.9
+       globwalk@0.8.1
+       heck@0.3.3
+       hermit-abi@0.1.19
+       hermit-abi@0.2.6
+       hex@0.4.3
+       home@0.5.4
+       humantime@2.1.0
+       humantime-serde@1.1.1
+       idna@0.3.0
+       ignore@0.4.18
+       itertools@0.10.5
+       itoa@1.0.5
+       jobserver@0.1.25
+       lazy_static@1.4.0
+       libc@0.2.139
+       libgit2-sys@0.14.2+1.5.1
+       libssh2-sys@0.2.23
+       libz-sys@1.1.8
+       log@0.4.17
+       memchr@2.5.0
+       memoffset@0.7.1
+       num_cpus@1.15.0
+       once_cell@1.17.0
+       openssl-probe@0.1.5
+       openssl-sys@0.9.80
+       percent-encoding@2.2.0
+       pest@2.5.2
+       pest_derive@2.5.2
+       pest_generator@2.5.2
+       pest_meta@2.5.2
+       phf@0.11.1
+       phf_generator@0.11.1
+       phf_macros@0.11.1
+       phf_shared@0.11.1
+       pkg-config@0.3.26
+       platforms@3.0.2
+       proc-macro-error@1.0.4
+       proc-macro-error-attr@1.0.4
+       proc-macro2@1.0.49
+       quote@1.0.23
+       rand@0.8.5
+       rand_core@0.6.4
+       rayon@1.6.1
+       rayon-core@1.10.1
+       regex@1.7.0
+       regex-syntax@0.6.28
+       rustc-hash@1.1.0
+       rustsec@0.26.4
+       ryu@1.0.12
+       same-file@1.0.6
+       scopeguard@1.1.0
+       semver@1.0.16
+       serde@1.0.152
+       serde_derive@1.0.152
+       serde_json@1.0.91
+       sha1@0.10.5
+       siphasher@0.3.10
+       smartstring@1.0.1
+       static_assertions@1.1.0
+       strsim@0.8.0
+       structopt@0.3.26
+       structopt-derive@0.4.18
+       syn@1.0.107
+       tera@1.17.1
+       textwrap@0.11.0
+       thiserror@1.0.38
+       thiserror-impl@1.0.38
+       thread_local@1.1.4
+       time@0.3.17
+       time-core@0.1.0
+       tinyvec@1.6.0
+       tinyvec_macros@0.1.0
+       toml@0.5.10
+       typenum@1.16.0
+       ucd-trie@0.1.5
+       unic-char-property@0.9.0
+       unic-char-range@0.9.0
+       unic-common@0.9.0
+       unic-segment@0.9.0
+       unic-ucd-segment@0.9.0
+       unic-ucd-version@0.9.0
+       unicode-bidi@0.3.8
+       unicode-ident@1.0.6
+       unicode-normalization@0.1.22
+       unicode-segmentation@1.10.0
+       unicode-width@0.1.10
+       url@2.3.1
+       vcpkg@0.2.15
+       vec_map@0.8.2
+       version_check@0.9.4
+       walkdir@2.3.2
+       winapi@0.3.9
+       winapi-i686-pc-windows-gnu@0.4.0
+       winapi-util@0.1.5
+       winapi-x86_64-pc-windows-gnu@0.4.0
+"
+
+inherit cargo
+
+DESCRIPTION="Generates an ebuild for a package using the in-tree eclasses."
+# Double check the homepage as the cargo_metadata crate
+# does not provide this value so instead repository is used
+HOMEPAGE="https://github.com/gentoo/cargo-ebuild";
+SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2
+       ${CARGO_CRATE_URIS}"
+
+# License set may be more restrictive as OR is not respected
+# use cargo-license for a more accurate license picture
+LICENSE="Apache-2.0 Boost-1.0 MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+       dev-libs/openssl:0=
+       net-libs/libssh2:=
+"
+
+RDEPEND="
+       ${DEPEND}
+       virtual/rust
+"
+
+PATCHES=(
+       "${FILESDIR}/cargo-ebuild-0.5.4-updated-eclass-style.patch"
+)
+
+QA_FLAGS_IGNORED="usr/bin/cargo-ebuild"
+
+src_configure() {
+       export LIBGIT2_SYS_USE_PKG_CONFIG=1 LIBSSH2_SYS_USE_PKG_CONFIG=1 
PKG_CONFIG_ALLOW_CROSS=1
+       cargo_src_configure
+}
+
+src_install() {
+       cargo_src_install
+       einstalldocs
+}

diff --git 
a/dev-util/cargo-ebuild/files/cargo-ebuild-0.5.4-updated-eclass-style.patch 
b/dev-util/cargo-ebuild/files/cargo-ebuild-0.5.4-updated-eclass-style.patch
new file mode 100644
index 000000000000..bd3e1733f4c2
--- /dev/null
+++ b/dev-util/cargo-ebuild/files/cargo-ebuild-0.5.4-updated-eclass-style.patch
@@ -0,0 +1,60 @@
+https://github.com/gentoo/cargo-ebuild/pull/36
+
+This patch makes cargo-ebuild compatible with current gentoo QA
+and fixes an outstanding rustsec issue
+https://rustsec.org/advisories/RUSTSEC-2023-0003
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -78,7 +78,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "cargo-ebuild"
+-version = "0.5.4"
++version = "0.5.4-r1"
+ dependencies = [
+  "anyhow",
+  "cargo-lock",
+@@ -462,9 +462,9 @@ checksum = 
"201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+ 
+ [[package]]
+ name = "libgit2-sys"
+-version = "0.14.0+1.5.0"
++version = "0.14.2+1.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index";
+-checksum = "47a00859c70c8a4f7218e6d1cc32875c4b55f6799445b842b0d8ed5e4c3d959b"
++checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
+ dependencies = [
+  "cc",
+  "libc",
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -1,6 +1,6 @@
+ [package]
+ name = "cargo-ebuild"
+-version = "0.5.4"
++version = "0.5.4-r1"
+ authors = ["Doug Goldstein <car...@cardoe.com>"]
+ license = "MIT/Apache-2.0"
+ edition = "2018"
+--- a/src/base.tera
++++ b/src/base.tera
+@@ -19,7 +19,7 @@ DESCRIPTION={%- block description -%}"{{ description | trim 
}}"{%- endblock %}
+ # Double check the homepage as the cargo_metadata crate
+ # does not provide this value so instead repository is used
+ HOMEPAGE={%- block homepage -%}"{{ homepage }}"{%- endblock %}
+-SRC_URI={%- block src_uri -%}{% raw -%}"$(cargo_crate_uris)"{%- endraw %}{%- 
endblock %}
++SRC_URI={%- block src_uri -%}{% raw -%}"${CARGO_CRATE_URIS}"{%- endraw %}{%- 
endblock %}
+ 
+ # License set may be more restrictive as OR is not respected
+ # use cargo-license for a more accurate license picture
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -94,7 +94,7 @@ pub fn gen_ebuild_data( manifest_path: Option<&Path>
+         if let Some(src) = &pkg.source {
+             // Check if the crate is available at crates.io
+             if src.is_crates_io() {
+-                crates.push(format!("\t{}-{}\n", pkg.name, pkg.version));
++                crates.push(format!("\t{}@{}\n", pkg.name, pkg.version));
+             }
+         }
+     }

Reply via email to