diff options
author | Aaron W. Swenson <titanofold@gentoo.org> | 2020-03-28 17:39:40 -0400 |
---|---|---|
committer | Aaron W. Swenson <titanofold@gentoo.org> | 2020-03-28 17:46:19 -0400 |
commit | 7a445dde57a57fd7eecd4ddf7939c541f2bba085 (patch) | |
tree | 472a8898396ec872e2657962aacce92e9163903a /app-office/gnucash | |
parent | app-doc/gnucash-docs: Bump to 3.8b (diff) | |
download | gentoo-7a445dde57a57fd7eecd4ddf7939c541f2bba085.tar.gz gentoo-7a445dde57a57fd7eecd4ddf7939c541f2bba085.tar.bz2 gentoo-7a445dde57a57fd7eecd4ddf7939c541f2bba085.zip |
app-office/gnucash: Bump to 3.8b
Bump to EAPI 7. Switch to ninja to run tests instead of GNU make.
Install example files into their own directory.
No longer install redundant license file. This also prevents a sandbox
violation.
Because net-libs/aqbanking dropped the gtk USE flag, we've increased the version
requirement, and trigger the gtk USE flag on sys-libs/gwenhywfar directly. Also,
make the >dev-libs/libofx dependent on the subslot as well.
Bug: https://bugs.gentoo.org/714920
Bug: https://bugs.gentoo.org/704632
Bug: https://bugs.gentoo.org/692626
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org>
Diffstat (limited to 'app-office/gnucash')
-rw-r--r-- | app-office/gnucash/Manifest | 1 | ||||
-rw-r--r-- | app-office/gnucash/files/gnucash-3.8-examples-subdir.patch | 10 | ||||
-rw-r--r-- | app-office/gnucash/files/gnucash-3.8-exclude-license.patch | 32 | ||||
-rw-r--r-- | app-office/gnucash/gnucash-3.8b.ebuild | 206 |
4 files changed, 249 insertions, 0 deletions
diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest index d1c408c2e405..d3dca297cfee 100644 --- a/app-office/gnucash/Manifest +++ b/app-office/gnucash/Manifest @@ -4,4 +4,5 @@ DIST gnucash-3.4.tar.bz2 13564432 BLAKE2B 478d8e2e4acbd0725ceaf997a1e62ba3875e9d DIST gnucash-3.5.tar.bz2 13766397 BLAKE2B b840fa6af719e1d21daabd8e26f7026a12ca9cefe8c0f644a8382b42c34a6dec2dfc67350645437c2f12792518f289f446824a8c99ea83453e69d976c3cd5c9c SHA512 76230d2fe1ba4cc605d0d58976ed3214b10a2549fc7eaa1e327bbf85c861baa082523c70ed088a59bb56deb6af9a7808752fc719eda0df3e9209cec05c9c8d13 DIST gnucash-3.6.tar.bz2 13811045 BLAKE2B aa722755e168b6096a8ad0bb05d3c67be9525d5e9e6fcf076c0b6bdc3188815017c2b1bcb308a6f8a7581315f7d9ab67f85b24486214ebbe7ea5a0428e552ea7 SHA512 3d99235a6171e7189dbb15fed11e7f3acb4f49ef8dc6124b26807e74ce4326ac5ae6e23e693a34947604ecb0253ecbcd80f669803a629eb7d236fd3444dbfe82 DIST gnucash-3.7.tar.bz2 13896595 BLAKE2B d0f0cc9d407677c8b09eab5c1613a0eec80bc54984aebd10915f2f2247ea30c26104cea57c87dd6e46ade9225c9df20c583da21de15f79d50509e63186b682fe SHA512 41275b8d6abba54e95c00d746a2d50305fb7a0490b5486af1472a5d50d2de5973d1ec4de98dd10991325062e61498de020496b59d8548b5a4de9db9d23dee159 +DIST gnucash-3.8b.tar.bz2 14285584 BLAKE2B 304d73b04883b61b8a4e174f458206769483ca0f6d28d284c760397e0bc4061dbdb379ff3cca35e80d6736516549a8733bf36895a11c2202fb9f8f25e591e1d9 SHA512 e0529934e9ccafbef2b724f5fca9a0e300c78cf21596f0dcd4b5c11ff300c06a963b68eff1efe00834dc488ced604b86011075bb22480488ddf31d2d4c94ddca DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d diff --git a/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch b/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch new file mode 100644 index 000000000000..b271be896c03 --- /dev/null +++ b/app-office/gnucash/files/gnucash-3.8-examples-subdir.patch @@ -0,0 +1,10 @@ +--- a/doc/examples/CMakeLists.txt ++++ b/doc/examples/CMakeLists.txt +@@ -21,6 +21,6 @@ + web.qif + ) + +-install(FILES ${examples_DATA} DESTINATION ${CMAKE_INSTALL_DOCDIR}) ++install(FILES ${examples_DATA} DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) + + set_dist_list(examples_DIST ${examples_DATA} CMakeLists.txt ) diff --git a/app-office/gnucash/files/gnucash-3.8-exclude-license.patch b/app-office/gnucash/files/gnucash-3.8-exclude-license.patch new file mode 100644 index 000000000000..553fb2a10f86 --- /dev/null +++ b/app-office/gnucash/files/gnucash-3.8-exclude-license.patch @@ -0,0 +1,32 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -660,7 +660,6 @@ + ChangeLog.2018 + DOCUMENTERS + HACKING +- LICENSE + NEWS + README.dependencies + ) +@@ -932,21 +931,6 @@ + ) + endif() + +-#Link LICENSE to COPYING so that people expecting to find it, +-#will. COPYING is normally linked by autogen.sh to the latest +-#automake-provided version. +-set (_CMD create_symlink) +-if (WIN32) +- set(_CMD copy) +-endif() +- +-install(CODE +-" execute_process( +- COMMAND ${CMAKE_COMMAND} -E ${_CMD} LICENSE COPYING +- WORKING_DIRECTORY ${CMAKE_INSTALL_DOCDIR} +- )" +-) +- + #For windows, copy in some DLLs from Mingw + + if (WIN32) diff --git a/app-office/gnucash/gnucash-3.8b.ebuild b/app-office/gnucash/gnucash-3.8b.ebuild new file mode 100644 index 000000000000..2742a73f8ca6 --- /dev/null +++ b/app-office/gnucash/gnucash-3.8b.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit cmake-utils gnome2-utils python-single-r1 xdg-utils + +DESCRIPTION="A personal finance manager" +HOMEPAGE="http://www.gnucash.org/" +SRC_URI="https://github.com/Gnucash/${PN}/releases/download/${PV}/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres + python quotes -register2 smartcard sqlite test" + +# Examples doesn't build unless GUI is also built +REQUIRED_USE=" + examples? ( gui ) + python? ( ${PYTHON_REQUIRED_USE} ) + smartcard? ( aqbanking )" + +# libdbi version requirement for sqlite taken from bug #455134 +# +# dev-libs/boost must always be built with nls enabled. +# guile[deprecated] because of SCM_LIST*() use. +# net-libs/aqbanking dropped gtk with v6, so to simplify the dependency, +# we just rely on that. +RDEPEND=" + >=dev-libs/glib-2.46.0:2 + >=dev-libs/libxml2-2.7.0:2 + >=dev-scheme/guile-2.2.0:12=[deprecated,regex] + >=sys-libs/zlib-1.1.4 + dev-libs/boost:=[icu,nls] + dev-libs/icu:= + dev-libs/libxslt + aqbanking? ( + >=net-libs/aqbanking-6[ofx?] + >=sys-libs/gwenhywfar-5.1.2 + smartcard? ( sys-libs/libchipcard ) + ) + gnome-keyring? ( >=app-crypt/libsecret-0.18 ) + gui? ( + >=x11-libs/gtk+-3.14.0:3 + gnome-base/dconf + net-libs/webkit-gtk:4= + sys-libs/gwenhywfar[gtk] + ) + mysql? ( + dev-db/libdbi + dev-db/libdbi-drivers[mysql] + ) + ofx? ( >=dev-libs/libofx-0.9.1:= ) + postgres? ( + dev-db/libdbi + dev-db/libdbi-drivers[postgres] + ) + python? ( ${PYTHON_DEPS} ) + quotes? ( + >=dev-perl/Finance-Quote-1.11 + dev-perl/Date-Manip + dev-perl/HTML-TableExtract + ) + sqlite? ( + >=dev-db/libdbi-0.9.0 + >=dev-db/libdbi-drivers-0.9.0[sqlite] + ) +" + +DEPEND="${RDEPEND} + >=dev-cpp/gtest-1.8.0 + >=sys-devel/gettext-0.19.6 + dev-lang/perl + dev-perl/XML-Parser + sys-devel/libtool + virtual/pkgconfig +" + +PDEPEND="doc? ( + ~app-doc/gnucash-docs-${PV} + gnome-extra/yelp +)" + +PATCHES=( + "${FILESDIR}"/${PN}-3.2-no-gui.patch + "${FILESDIR}"/${PN}-3.8-examples-subdir.patch + "${FILESDIR}"/${PN}-3.8-exclude-license.patch +) + +S="${WORKDIR}/${PN}-$(ver_cut 1-2)" + +pkg_setup() { + use python && python-single-r1_pkg_setup + xdg_environment_reset +} + +src_prepare() { + cmake-utils_src_prepare + + # Fix tests writing to /tmp + local fixtestfiles=( + "${S}"/gnucash/report/report-system/test/test-commodity-utils.scm + "${S}"/gnucash/report/report-system/test/test-extras.scm + "${S}"/gnucash/report/report-system/test/test-report-html.scm + "${S}"/gnucash/report/report-system/test/test-report-system.scm + "${S}"/libgnucash/backend/xml/test/test-xml-pricedb.cpp + "${S}"/libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp + ) + for x in "${fixtestfiles[@]}"; do + sed -i -e "s|\"/tmp/|\"${T}/|g" "${x}" || die "sed of "${x}" failed" + done +} + +src_configure() { + export GUILE_AUTO_COMPILE=0 + + local sql_on_off="OFF" + if use mysql || use postgres || use sqlite ; then + sql_on_off="ON" + fi + + local mycmakeargs=( + -DCOMPILE_GSCHEMAS=OFF + -DDISABLE_NLS=$(usex !nls) + -DENABLE_REGISTER2=$(usex register2) + -DWITH_AQBANKING=$(usex aqbanking) + -DWITH_OFX=$(usex ofx) + -DWITH_PYTHON=$(usex python) + -DWITH_SQL=${sql_on_off} + -DWITH_GNUCASH=$(usex gui) + ) + + cmake-utils_src_configure +} + +src_test() { + if use python ; then + cp common/test-core/unittest_support.py \ + "${BUILD_DIR}"/common/test-core/ || die + fi + + LOCALE_TESTS= + if type locale >/dev/null 2>&1; then + MY_LOCALES="$(locale -a)" + if [[ "${MY_LOCALES}" != *en_US* || + "${MY_LOCALES}" != *en_GB* || + "${MY_LOCALES}" != *fr_FR* ]] ; then + ewarn "Missing one or more of en_US, en_GB, or fr_FR locales." + else + LOCALE_TESTS=true + fi + else + ewarn "'locale' not found." + fi + + if [[ ! ${LOCALE_TESTS} ]]; then + ewarn "Disabling test-qof and test-gnc-numeric." + echo 'set(CTEST_CUSTOM_TESTS_IGNORE test-qof test-gnc-numeric)' \ + > "${BUILD_DIR}"/CTestCustom.cmake || die + fi + + cd "${BUILD_DIR}" || die + XDG_DATA_HOME="${T}/$(whoami)" eninja check +} + +src_install() { + cmake-utils_src_install + + rm "${ED}"/usr/share/doc/${PF}/*win32-bin.txt + + if use examples ; then + docompress -x /usr/share/doc/${PF}/examples + else + rm -r "${ED}"/usr/share/doc/${PF}/examples + fi + + use aqbanking && dodoc doc/README.HBCI + use ofx && dodoc doc/README.OFX +} + +pkg_postinst() { + if use gui ; then + xdg_icon_cache_update + gnome2_schemas_update + fi + xdg_desktop_database_update + xdg_mimeinfo_database_update + + ewarn "Backup all financial files or databases before using GnuCash >=2.7.0!" + ewarn + ewarn "GnuCash 2.7.0 introduced large changes in its file format and database" + ewarn "schema that WILL prevent you from reverting back to GnuCash 2.6." +} + +pkg_postrm() { + if use gui ; then + xdg_icon_cache_update + gnome2_schemas_update + fi + xdg_desktop_database_update + xdg_mimeinfo_database_update +} |