aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakuya Wakazono <pastalian46@gmail.com>2024-01-10 19:12:08 +0900
committerTakuya Wakazono <pastalian46@gmail.com>2024-01-10 19:13:44 +0900
commit64037e730c0d2d4497df150b58421a4c60f965a3 (patch)
tree89c00cccde65f44a27d60ead8489aba4d1b515f0 /dev-vcs/gitahead
parentsys-libs/cyclonedds: fix USE=get-kind (diff)
downloadguru-64037e730c0d2d4497df150b58421a4c60f965a3.tar.gz
guru-64037e730c0d2d4497df150b58421a4c60f965a3.tar.bz2
guru-64037e730c0d2d4497df150b58421a4c60f965a3.zip
dev-vcs/gitahead: fix automagic deps
Closes: https://bugs.gentoo.org/921673 Closes: https://bugs.gentoo.org/921674 Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
Diffstat (limited to 'dev-vcs/gitahead')
-rw-r--r--dev-vcs/gitahead/gitahead-2.7.1-r1.ebuild115
1 files changed, 115 insertions, 0 deletions
diff --git a/dev-vcs/gitahead/gitahead-2.7.1-r1.ebuild b/dev-vcs/gitahead/gitahead-2.7.1-r1.ebuild
new file mode 100644
index 000000000..4b2278743
--- /dev/null
+++ b/dev-vcs/gitahead/gitahead-2.7.1-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop xdg cmake wrapper flag-o-matic
+
+DESCRIPTION="Graphical Git client to help understand and manage source code history"
+HOMEPAGE="https://github.com/gitahead/gitahead"
+SRC_URI="
+ https://github.com/gitahead/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/stinb/libgit2/archive/834d652bcb932af447d7f0acd1214a4057cb0771.tar.gz
+ -> ${P}-dep_libgit2_libgit2.tar.gz
+ https://github.com/hunspell/hunspell/archive/8a2fdfe5a6bb1cbafc04b0c8486abcefd17ad903.tar.gz
+ -> ${P}-dep_hunspell_hunspell.tar.gz
+ gnome-keyring? (
+ https://github.com/git/git/archive/0d0ac3826a3bbb9247e39e12623bbcfdd722f24c.tar.gz -> ${P}-dep_git_git.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+IUSE="gnome-keyring"
+
+RDEPEND="
+ app-text/cmark:=
+ dev-libs/libpcre2:=
+ dev-libs/openssl:=
+ dev-qt/qt5compat:6
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ net-libs/http-parser:=
+ net-libs/libssh2
+ sys-libs/zlib
+ gnome-keyring? (
+ app-crypt/libsecret
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ virtual/pkgconfig
+"
+
+QA_FLAGS_IGNORED="usr/share/GitAhead/Plugins/.*"
+QA_PRESTRIPPED="usr/share/GitAhead/Plugins/.*"
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+
+ cd "${S}" || die
+ local i list=(
+ dep_libgit2_libgit2
+ dep_hunspell_hunspell
+ )
+ use gnome-keyring && list+=( dep_git_git )
+ for i in "${list[@]}"; do
+ [ ! -f "${DISTDIR}/${P}-${i}.tar.gz" ] && die "The file ${DISTDIR}/${P}-${i}.tar.gz doesn't exist"
+ tar xf "${DISTDIR}/${P}-${i}.tar.gz" --strip-components 1 -C "${i//_//}" || die "Failed to unpack ${P}-${i}.tar.gz"
+ done
+}
+
+src_prepare() {
+ if ! use gnome-keyring; then
+ sed -i 's/add_subdirectory(git)//' ./dep/CMakeLists.txt || die
+ fi
+ sed -i 's/add_subdirectory(openssl)//' ./dep/CMakeLists.txt || die
+ # Respect LDFLAGS
+ sed -i '/CMAKE_EXE_LINKER_FLAGS/d' CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ filter-flags -flto* # Segfault in libQt5Core.so.5
+ local mycmakeargs=(
+ # libgit2 flags
+ -DBUILD_TESTS=OFF
+ -DREGEX_BACKEND=pcre2
+ -DUSE_GSSAPI=OFF
+ -DUSE_HTTP_PARSER=system
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cd "${BUILD_DIR}" || die
+
+ eninja package
+ cd ./_CPack_Packages/Linux/STGZ || die
+ mkdir -p "${D}"/usr/share || die
+ bash ./GitAhead-2.7.1.sh --prefix="${D}"/usr/share --include-subdir || die
+ rm -fr "${D}"/usr/share/GitAhead/*.so.* || die
+
+ cd "${D}"/usr/share/GitAhead/Resources/GitAhead.iconset || die
+ local res
+ for res in 16 32 64 128 256 512; do
+ newicon -s "${res}" "icon_${res}x${res}.png" "${PN}.png"
+ done
+
+ make_wrapper "${PN}" "${EPREFIX}/usr/share/GitAhead/GitAhead"
+ make_desktop_entry "/usr/share/GitAhead/GitAhead" "GitAhead" "${PN}" "Development"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ ewarn "${P} collects some statistical usage data."
+ ewarn "To permanently opt-out of reporting:"
+ ewarn "toggle a button in Help -> About GitAhead -> Privacy"
+ ewarn "or write to ~/.config/gitahead.com/GitAhead.conf those lines:"
+ ewarn "[tracking]"
+ ewarn "enabled=false"
+}