From 12acab552756e62e134c5ab29e68e97dbf72951c Mon Sep 17 00:00:00 2001 From: Tomas Fabrizio Orsi Date: Wed, 30 Oct 2024 19:08:42 -0300 Subject: [PATCH] Added ledger. It's the original ebuild, but with some QoL improvements Signed-off-by: Tomas Fabrizio Orsi --- app-office/ledger/Manifest | 1 + app-office/ledger/files/convenience.patch | 10 ++ app-office/ledger/ledger-3.3.2-r2.ebuild | 124 ++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 app-office/ledger/Manifest create mode 100644 app-office/ledger/files/convenience.patch create mode 100644 app-office/ledger/ledger-3.3.2-r2.ebuild diff --git a/app-office/ledger/Manifest b/app-office/ledger/Manifest new file mode 100644 index 0000000..f9cd926 --- /dev/null +++ b/app-office/ledger/Manifest @@ -0,0 +1 @@ +DIST ledger-3.3.2.tar.gz 825274 BLAKE2B ee0901eaba234688cc36e399bd86118269d8691162feacf25e70ffaf28e8d572f47a62fb014126f5dce65c73135f21ad4364a642637a80d2577bf20b657fc9a4 SHA512 d5d7058f0e9a02ad1d46e6780675d446070824b321f0f4c1ea6ac0c3dd4f11f259113bc36cbc796e4bb6d0a7898d6a68a25cce639e27a2b2434eec11a612ecb0 diff --git a/app-office/ledger/files/convenience.patch b/app-office/ledger/files/convenience.patch new file mode 100644 index 0000000..998d248 --- /dev/null +++ b/app-office/ledger/files/convenience.patch @@ -0,0 +1,10 @@ +--- a/src/system.hh.in 2024-05-21 22:50:15.026661018 -0500 ++++ b/src/system.hh.in 2024-05-21 22:50:43.466824215 -0500 +@@ -144,7 +144,6 @@ + #include + #include + +-#include + #include + #include + #include diff --git a/app-office/ledger/ledger-3.3.2-r2.ebuild b/app-office/ledger/ledger-3.3.2-r2.ebuild new file mode 100644 index 0000000..f0083dd --- /dev/null +++ b/app-office/ledger/ledger-3.3.2-r2.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10,11,12} ) +CMAKE_REMOVE_MODULES_LIST=( FindPython Support ) +inherit bash-completion-r1 check-reqs cmake optfeature python-single-r1 + +DESCRIPTION="Double-entry accounting system with a command-line reporting interface" +HOMEPAGE="https://www.ledger-cli.org/" +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" +IUSE="debug doc python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RESTRICT="test" + +CHECKREQS_MEMORY=8G + +RDEPEND=" + dev-libs/boost:=[python?] + dev-libs/gmp:0= + dev-libs/mpfr:0= + python? ( + $(python_gen_cond_dep ' + dev-libs/boost:=[${PYTHON_USEDEP}] + dev-python/cheetah3:=[${PYTHON_USEDEP}] + ') + ${PYTHON_DEPS} + ) +" +DEPEND="${RDEPEND} + dev-libs/utfcpp + doc? ( + app-text/texlive[extra] + sys-apps/texinfo + virtual/texi2dvi + ) +" + +pkg_pretend() { + if use python; then + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if use python; then + check-reqs_pkg_setup + python-single-r1_pkg_setup + fi +} + +src_prepare() { + cmake_src_prepare + + # Want to type "info ledger" not "info ledger3" + sed -i -e 's/ledger3/ledger/g' \ + doc/{CMakeLists.txt,ledger3.texi} test/CheckTexinfo.py \ + tools/{cleanup.sh,gendocs.sh,prepare-commit-msg,spellcheck.sh} \ + || die "Failed to update info file name in file contents" + + mv doc/ledger{3,}.texi || die "Failed to rename info file name" + + rm -r lib/utfcpp || die + + eapply "${FILESDIR}/convenience.patch" + eapply_user +} + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCS="$(usex doc)" + -DBUILD_WEB_DOCS="$(usex doc)" + -DUSE_PYTHON="$(usex python)" + -DCMAKE_INSTALL_DOCDIR="/usr/share/doc/${PF}" + -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON + -DBUILD_DEBUG="$(usex debug)" + -DUTFCPP_PATH="${ESYSROOT}/usr/include/utf8cpp" + ) + if use python; then + mycmakeargs+=( + -DPython_EXECUTABLE="${PYTHON}" + -DPython_INCLUDE_DIR="$(python_get_includedir)" + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile doc +} + +src_install() { + cmake_src_install + + newbashcomp contrib/${PN}-completion.bash ${PN} + + # Requires gnuplot + exeinto /usr/bin + doexe contrib/report +} + +pkg_postinst() { + elog + elog "Since version 3, vim support is released separately." + elog "See https://github.com/ledger/vim-ledger" + + optfeature_header \ + "Install the following packages for additional features:" + optfeature "Emacs support" "app-emacs/ledger-mode" + optfeature "Plot visualization" "sci-visualization/gnuplot" +} + +# rainy day TODO: +# - IUSE test +# - create vim-ledger ebuild