Skip to content

Commit

Permalink
Added ledger. It's the original ebuild, but with some QoL improvements
Browse files Browse the repository at this point in the history
Signed-off-by: Tomas Fabrizio Orsi <[email protected]>
  • Loading branch information
lima-limon-inc committed Oct 30, 2024
1 parent 1f9774c commit 12acab5
Show file tree
Hide file tree
Showing 3 changed files with 135 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-office/ledger/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST ledger-3.3.2.tar.gz 825274 BLAKE2B ee0901eaba234688cc36e399bd86118269d8691162feacf25e70ffaf28e8d572f47a62fb014126f5dce65c73135f21ad4364a642637a80d2577bf20b657fc9a4 SHA512 d5d7058f0e9a02ad1d46e6780675d446070824b321f0f4c1ea6ac0c3dd4f11f259113bc36cbc796e4bb6d0a7898d6a68a25cce639e27a2b2434eec11a612ecb0
10 changes: 10 additions & 0 deletions app-office/ledger/files/convenience.patch
Original file line number Diff line number Diff line change
@@ -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 <boost/date_time/posix_time/posix_time_io.hpp>
#include <boost/date_time/gregorian/gregorian_io.hpp>

-#include <boost/filesystem/convenience.hpp>
#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
124 changes: 124 additions & 0 deletions app-office/ledger/ledger-3.3.2-r2.ebuild
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 12acab5

Please sign in to comment.