app-office/ledger: Bug fixes, EAPI=6
authorErik Mackdanz <stasibear@gentoo.org>
Fri, 20 Jul 2018 04:01:29 +0000 (23:01 -0500)
committerErik Mackdanz <stasibear@gentoo.org>
Fri, 20 Jul 2018 04:02:31 +0000 (23:02 -0500)
Closes: https://bugs.gentoo.org/635730
Closes: https://bugs.gentoo.org/635924
Closes: https://bugs.gentoo.org/642804
Closes: https://bugs.gentoo.org/654326
Package-Manager: Portage-2.3.40, Repoman-2.3.9

app-office/ledger/files/ledger-3.1.1-r1-boost-python.patch [new file with mode: 0644]
app-office/ledger/ledger-3.1.1-r1.ebuild [new file with mode: 0644]

diff --git a/app-office/ledger/files/ledger-3.1.1-r1-boost-python.patch b/app-office/ledger/files/ledger-3.1.1-r1-boost-python.patch
new file mode 100644 (file)
index 0000000..6839b3f
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8dbd892..6aacd5b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -67,7 +67,7 @@ if (USE_PYTHON)
+   find_package(PythonLibs)
+   if (PYTHONLIBS_FOUND)
+-    set(BOOST_PYTHON python)
++    set(BOOST_PYTHON python-2.7)
+     set(HAVE_BOOST_PYTHON 1)
+     include_directories(SYSTEM ${PYTHON_INCLUDE_DIRS})
+   else()
diff --git a/app-office/ledger/ledger-3.1.1-r1.ebuild b/app-office/ledger/ledger-3.1.1-r1.ebuild
new file mode 100644 (file)
index 0000000..3618c77
--- /dev/null
@@ -0,0 +1,125 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit check-reqs cmake-utils elisp-common python-single-r1
+
+DESCRIPTION="A 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"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="doc emacs python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="test"
+
+SITEFILE=50${PN}-gentoo-${PV}.el
+
+CHECKREQS_MEMORY=8G
+
+RDEPEND="
+       dev-libs/boost:=[python?]
+       dev-libs/gmp:0=
+       dev-libs/mpfr:0=
+       emacs? ( virtual/emacs )
+       python? (
+               dev-libs/boost:=[${PYTHON_USEDEP}]
+               dev-python/cheetah
+               ${PYTHON_DEPS}
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       dev-libs/utfcpp
+       doc? (
+               sys-apps/texinfo
+               virtual/texi2dvi
+               dev-texlive/texlive-fontsrecommended
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-${PV}-boost.patch" # bug 609108
+       "${FILESDIR}/${PF}-boost-python.patch" # bug 654326
+       )
+
+# Building with python integration seems to fail without 8G available
+# RAM(!)  Since the memory check in check-reqs doesn't count swap, it
+# may be unfair to fail the build entirely on the memory test alone.
+# Therefore check-reqs_pkg_pretend is deliberately omitted so that we
+# ewarn but not eerror.
+pkg_pretend() {
+       :
+}
+
+pkg_setup() {
+       if use python; then
+               check-reqs_pkg_setup
+               python-single-r1_pkg_setup
+       fi
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       # Want to type "info ledger" not "info ledger3"
+       sed -i -e 's/ledger3/ledger/g' \
+               doc/ledger3.texi \
+               doc/CMakeLists.txt \
+               test/CheckTexinfo.py \
+               tools/cleanup.sh \
+               tools/gendocs.sh \
+               tools/prepare-commit-msg \
+               tools/spellcheck.sh \
+               || die "Failed to update info file name in file contents"
+
+       mv doc/ledger{3,}.texi || die "Failed to rename info file name"
+
+       eapply_user
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_EMACSLISP="$(usex emacs)"
+               -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
+       )
+
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+
+       use doc && cmake-utils_src_make doc
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       use emacs && elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+
+       einfo
+       einfo "Since version 3, vim support is released separately."
+       einfo "See https://github.com/ledger/vim-ledger"
+       einfo
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}
+
+# rainy day TODO:
+# - IUSE test