diff --git a/dev-vcs/git-cliff/Manifest b/dev-vcs/git-cliff/Manifest new file mode 100644 index 0000000000000..1cf474d0a65c1 --- /dev/null +++ b/dev-vcs/git-cliff/Manifest @@ -0,0 +1,2 @@ +DIST git-cliff-2.9.1-crates.tar.xz 36436428 BLAKE2B 949df9967197a44e9fd8121045c10fdd35bedf327224ce83913b10fa0cfbecebbc80d05fbe07513ce15c18db93e1a634a31a7139716b67b17c1fbd7b40563976 SHA512 e89212b41c3afee380f96d1b0903e4f5d18436f425f7d9484b19550ad8daa46f1e65753c77d96d97c32ff7cef507ba01df34fba6dd16ead68efc20d844018a73 +DIST git-cliff-2.9.1.gh.tar.gz 13057370 BLAKE2B bb5082e14a3a8d8ad890f2e79f414875ffd91b95bca949a50c6c5d45c68c4bb47208f7519cd745c3b94678721b907cf5c56c7fb949cd458561841b521a804f74 SHA512 97a460852911f1cb65896de8075aeebbf52e2f1fd55421b8ac379ff1c59d4b8eaf9c5481fc6dcb3da14d877920f6c126f686fed7b4e9dfcc6a02bc36702c6f33 diff --git a/dev-vcs/git-cliff/files/git-cliff-2.9.1-disable_repo_tests.patch b/dev-vcs/git-cliff/files/git-cliff-2.9.1-disable_repo_tests.patch new file mode 100644 index 0000000000000..67776320fb3cc --- /dev/null +++ b/dev-vcs/git-cliff/files/git-cliff-2.9.1-disable_repo_tests.patch @@ -0,0 +1,66 @@ +--- a/git-cliff-core/src/repo.rs ++++ b/git-cliff-core/src/repo.rs +@@ -584,6 +584,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn get_latest_commit() -> Result<()> { + let repository = get_repository()?; +@@ -594,6 +595,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn commit_search() -> Result<()> { + let repository = get_repository()?; +@@ -603,6 +605,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn get_latest_tag() -> Result<()> { + let repository = get_repository()?; +@@ -615,6 +618,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn git_tags() -> Result<()> { + let repository = get_repository()?; +@@ -656,6 +660,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn git_upstream_remote() -> Result<()> { + let repository = get_repository()?; +@@ -673,6 +678,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn resolves_existing_tag_with_name_and_message() -> Result<()> { + let repository = get_repository()?; +@@ -690,6 +696,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn resolves_tag_when_no_tags_exist() -> Result<()> { + let repository = get_repository()?; +@@ -699,6 +706,7 @@ + Ok(()) + } + ++ #[ignore] + #[test] + fn includes_root_commit() -> Result<()> { + let repository = get_repository()?; diff --git a/dev-vcs/git-cliff/files/git-cliff-2.9.1-silence_run_os_command_test.patch b/dev-vcs/git-cliff/files/git-cliff-2.9.1-silence_run_os_command_test.patch new file mode 100644 index 0000000000000..1d8175a3a9460 --- /dev/null +++ b/dev-vcs/git-cliff/files/git-cliff-2.9.1-silence_run_os_command_test.patch @@ -0,0 +1,11 @@ +--- a/git-cliff-core/src/command.rs ++++ b/git-cliff-core/src/command.rs +@@ -89,7 +89,7 @@ + run("rev", Some(env!("CARGO_PKG_NAME").to_string()), vec![])?.trim() + ); + assert_eq!("testing", run("echo 'testing'", None, vec![])?.trim()); +- assert!(run("some_command", None, vec![]).is_err()); ++ assert!(run("false", None, vec![]).is_err()); + Ok(()) + } + } diff --git a/dev-vcs/git-cliff/git-cliff-2.9.1.ebuild b/dev-vcs/git-cliff/git-cliff-2.9.1.ebuild new file mode 100644 index 0000000000000..70720047ba448 --- /dev/null +++ b/dev-vcs/git-cliff/git-cliff-2.9.1.ebuild @@ -0,0 +1,57 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER="1.85.0" + +inherit cargo shell-completion + +DESCRIPTION="A highly customizable changelog generator" +HOMEPAGE="https://git-cliff.org/" +SRC_URI=" + https://github.com/orhun/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-crates.tar.xz +" + +LICENSE="Apache-2.0 MIT BSD-2 BSD Boost-1.0 CDDL ISC MPL-2.0 Unicode-3.0 + Unicode-DFS-2016 ZLIB" +SLOT="0" +KEYWORDS="~amd64" + +PATCHES=( + # disables tests against local (.)git repo + "${FILESDIR}/${P}-disable_repo_tests.patch" + # silences a "command not found" error (QA) + "${FILESDIR}/${P}-silence_run_os_command_test.patch" +) + +src_compile() { + cargo_src_compile + + local target_dir="${S}/$(cargo_target_dir)" + + # generating man pages + mkdir "${target_dir}/man" + OUT_DIR="${target_dir}/man" "${target_dir}/"${PN}-mangen + + # generating completion scripts + mkdir "${target_dir}/completion" + OUT_DIR="${target_dir}/completion" "${target_dir}/"${PN}-completions +} + +src_install() { + local release_dir="${S}/$(cargo_target_dir)" + + insinto /usr/bin + dobin "${release_dir}/"${PN} + + doman "${release_dir}/man/"${PN}.1 + + newbashcomp "${release_dir}/completion/${PN}.bash" ${PN} + newfishcomp "${release_dir}/completion/${PN}.fish" ${PN} + + einstalldocs + dodoc -r "${S}"/examples/ +} diff --git a/dev-vcs/git-cliff/metadata.xml b/dev-vcs/git-cliff/metadata.xml new file mode 100644 index 0000000000000..6814b95fb91c8 --- /dev/null +++ b/dev-vcs/git-cliff/metadata.xml @@ -0,0 +1,18 @@ + + + + + zappel@simple-co.de + Armas Spann + + + proxy-maint@gentoo.org + Proxy Maintainers + + + orhun/git-cliff + https://git-cliff.org/docs/ + https://github.com/orhun/git-cliff/issues + + A highly customizable Changelog Generator that follows Conventional Commit specifications +