gentoo-ebuilds/dev-vcs/git-cliff/git-cliff-2.9.1.ebuild
Armas Spann 6b068ac841
dev-vcs/git-cliff: new package, add 2.9.1
dev-vcs/git-cliff: new package, add 2.9.1
This PR aims to get `git-cliff` inside the official Gentoo portage-tree.

`git-cliff` is a Git extension for automated changelog creation.

As such a helper might be a benefit for staying close to conventional-commits
as well as keeping an organized Git structure. This extension might help or
support one or another to get rid of annoying changelog issues.

This PR adds the following ***ebuild***:
* `git-cliff-2.9.1.ebuild`: latest "tagged" version

And the following ***patches***:
* `git-cliff-2.9.1-disable_repo_tests.patch`:
  disables git-repository related tests (not available inside sandbox)
* `git-cliff-2.9.1-silence_run_os_command_test.patch`:
  disables failing OS-command test (not available inside sandbox)

Adding myself as the maintainer of this ebuild.

Signed-off-by: Armas Spann <zappel@simple-co.de>
Part-of: https://github.com/gentoo/gentoo/pull/42924
Closes: https://github.com/gentoo/gentoo/pull/42924
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
2025-07-08 00:33:24 +02:00

57 lines
1.4 KiB
Bash

# 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/
}