commit:     c8d925b281bd4281370d571f8daf1f0595881fab
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 29 02:52:23 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jan 29 03:01:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8d925b2

dev-util/cargo-vendor-filterer: new package, add 0.5.17

Some early testing gave the following results for compressed
*-vendor.tar.xz (-9e) when invoked using:
cargo vendor --versioned-dirs
   versus
cargo vendor-filterer --platform="*-unknown-linux-gnu" --versioned-dirs

  - ruffle  65MB->25MB (!)
  - maturin 27MB->17MB (needs --all-features)
  - mdbook  17MB-> 8MB

By default, this alse limits to default features which is fine if
the ebuild does not customize these. Using --features=full,...
did not work so well for maturin, so using --all-features for now.

Unknown at the moment if this may cause any edge case issues.

Main downside of using this is that it does not integrate as well
with Gentoo workflow vs using pycargoebuild to generate a -deps
and clean LICENSE strings (on a side-note, `cargo license` can also
do --filter-platform, --features, and such albeit it does not
support wildcards at a glance). Ideal would be for pycargoebuild
to do something similar.

Either way, upstreams doing their own vendoring for packages that
are only relevant on specific platforms may be interested in having
this tool available in Gentoo.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-util/cargo-vendor-filterer/Manifest            |  2 ++
 .../cargo-vendor-filterer-0.5.17.ebuild            | 28 ++++++++++++++++++++++
 dev-util/cargo-vendor-filterer/metadata.xml        | 11 +++++++++
 3 files changed, 41 insertions(+)

diff --git a/dev-util/cargo-vendor-filterer/Manifest 
b/dev-util/cargo-vendor-filterer/Manifest
new file mode 100644
index 000000000000..4c28f1ff6b2e
--- /dev/null
+++ b/dev-util/cargo-vendor-filterer/Manifest
@@ -0,0 +1,2 @@
+DIST cargo-vendor-filterer-0.5.17-vendor.tar.xz 4153348 BLAKE2B 
377728ea8b4a1421c45e5e058214455d3504ede798039e2c558a33b37fca88b0dbf7cd6edbf9cc346b3756b8e0718fc6886a7533cf7528376073bbb40c65eb3d
 SHA512 
483adbdf34b68221700a8779e08d813b0d58eaeab6352c8ba62f8d6f68f9e24a7966d5ab35546d54da7000e18efc2353646134e193d8c50044911423c6f34308
+DIST cargo-vendor-filterer-0.5.17.tar.gz 35244 BLAKE2B 
d53559f2f9da5981f40d02f324ff24aa15b68544c834e14678c38f52caaa9191a653b789111d759bd6d5239bd8b2d356c974376c743c4267e13e83aa55e7264e
 SHA512 
7a82867362d56ffede67b1ed32c16a153378d31b51f4d94d7ffdcf37d0f8ac1e60a55e2dc5e0440508775c5f06d434d4a9799fa4dd01c61f03e3725f55ce6c9a

diff --git a/dev-util/cargo-vendor-filterer/cargo-vendor-filterer-0.5.17.ebuild 
b/dev-util/cargo-vendor-filterer/cargo-vendor-filterer-0.5.17.ebuild
new file mode 100644
index 000000000000..cc9b1aecbc96
--- /dev/null
+++ b/dev-util/cargo-vendor-filterer/cargo-vendor-filterer-0.5.17.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cargo
+
+DESCRIPTION="Tool to 'cargo vendor' with filtering"
+HOMEPAGE="https://github.com/coreos/cargo-vendor-filterer/";
+SRC_URI="
+       
https://github.com/coreos/cargo-vendor-filterer/archive/refs/tags/v${PV}.tar.gz
+               -> ${P}.tar.gz
+       https://dev.gentoo.org/~ionen/distfiles/${P}-vendor.tar.xz
+"
+
+LICENSE="Apache-2.0"
+LICENSE+=" MIT Unicode-DFS-2016" # crates
+SLOT="0"
+KEYWORDS="~amd64"
+# vendors itself for tests, messy when already vendoring+offline
+RESTRICT="test"
+
+RDEPEND="
+       dev-libs/openssl:=
+"
+DEPEND="${RDEPEND}"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"

diff --git a/dev-util/cargo-vendor-filterer/metadata.xml 
b/dev-util/cargo-vendor-filterer/metadata.xml
new file mode 100644
index 000000000000..79235caeed09
--- /dev/null
+++ b/dev-util/cargo-vendor-filterer/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>io...@gentoo.org</email>
+               <name>Ionen Wolkens</name>
+       </maintainer>
+       <upstream>
+               <remote-id 
type="github">coreos/cargo-vendor-filterer</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to