diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-18 19:10:51 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-18 19:10:51 +0000 |
| commit | 3a33857d73679f670502e2a6490ffef5771e53f7 (patch) | |
| tree | e0a0e4fa39114514dfd36a86d33a7a4e544b7ead /app-office | |
| parent | 7db68c1e73545d1f0f88d8dd71425864a63d0faa (diff) | |
| download | baldeagleos-repo-3a33857d73679f670502e2a6490ffef5771e53f7.tar.gz baldeagleos-repo-3a33857d73679f670502e2a6490ffef5771e53f7.tar.xz baldeagleos-repo-3a33857d73679f670502e2a6490ffef5771e53f7.zip | |
Adding metadata
Diffstat (limited to 'app-office')
| -rw-r--r-- | app-office/drawio-desktop-bin/Manifest | 6 | ||||
| -rw-r--r-- | app-office/drawio-desktop-bin/drawio-desktop-bin-25.0.2.ebuild | 111 | ||||
| -rw-r--r-- | app-office/drawio-desktop-bin/drawio-desktop-bin-29.6.6.ebuild (renamed from app-office/drawio-desktop-bin/drawio-desktop-bin-24.7.17.ebuild) | 4 | ||||
| -rw-r--r-- | app-office/gnucash/Manifest | 3 | ||||
| -rw-r--r-- | app-office/gnucash/files/gnucash-4.12-drop-broken-test.patch | 26 | ||||
| -rw-r--r-- | app-office/gnucash/files/gnucash-5.10-import-qif.patch | 27 | ||||
| -rw-r--r-- | app-office/gnucash/files/gnucash-5.10-swig-4.3.patch | 59 | ||||
| -rw-r--r-- | app-office/gnucash/files/gnucash-5.11-boost-1.88.patch | 58 | ||||
| -rw-r--r-- | app-office/gnucash/files/gnucash-5.8-guile-load-path.patch | 96 | ||||
| -rw-r--r-- | app-office/gnucash/gnucash-5.10-r1.ebuild | 238 | ||||
| -rw-r--r-- | app-office/gnucash/gnucash-5.11.ebuild | 241 | ||||
| -rw-r--r-- | app-office/gnucash/gnucash-5.12.ebuild | 247 |
12 files changed, 4 insertions, 1112 deletions
diff --git a/app-office/drawio-desktop-bin/Manifest b/app-office/drawio-desktop-bin/Manifest index c76cc2aa3ef3..e3f63a27f82a 100644 --- a/app-office/drawio-desktop-bin/Manifest +++ b/app-office/drawio-desktop-bin/Manifest @@ -1,7 +1,5 @@ -DIST drawio-desktop-bin-amd64-24.7.17.deb 99145854 BLAKE2B 1979ea365b2d9cfc34fc7146bb76fd0469f85b17aa9a56c6a8081748910075365bc7c4d499ecbb96111c5a72cdafd2ee044ff01c22d1f5af39d6dd6b04ba3135 SHA512 124d8933d1f887cf3238b0c27cab23f349a717eb0fabfe6a2374f669f254c2268d4089cc03ad6880861ad3e416c51e686d72403c2cae7ca26aa7e18c1e181436 -DIST drawio-desktop-bin-amd64-25.0.2.deb 99553202 BLAKE2B f1ca16fa1a5c3fd2deaec65c343dae74eda2d212b108e6dc4c57261f41bd373b47c234ef189939f5ec72dbea1a2ca7e2b480c0c567440fa9f7bf058016928511 SHA512 0ed69ebb6d7dc6866c704e3741f6f66668d978cff8fdc9a96268903cab5592972d9ae6323c85f5a72d17eeae495adff71dd4ecfc84e82941bbbc78294fd75f64 DIST drawio-desktop-bin-amd64-26.2.2.deb 101686194 BLAKE2B ef213d8c37df9dc01bdbf22e039b1313f736185384d3fae63adfe5e0b546bda8173942dc20d8b9df111a7e2fa728c52659cf85e66c553e5209a9343ad8471ab0 SHA512 606afcfc02670759cccf77b2ffd20d9d34ea76d40dddb6a447a82ed90d2880cf61beda6674b2a155e4dc75cdb412aa57e3a6d2987dc70debe060ef1f1a7d6f5a -DIST drawio-desktop-bin-arm64-24.7.17.deb 94358472 BLAKE2B 4dee7b066fcb72667bfefe340514f3ae09a592442c75f53ad2e451920ff8225463ffb87d64a876c093a128347610cd04f504ca69286568a565b473e2e0c1197a SHA512 7b26b76e7362b97b6233e7471feb0576f9420e1dfe135b682106356d81285d3e5b62ee93256684b0764dc6842551f04fe8f86e065f65872f23da0f7c11f5b70e -DIST drawio-desktop-bin-arm64-25.0.2.deb 94887660 BLAKE2B a7d565f46b71448a73243e3b689fe32a121cf465edf8e4885856958f6751a1ecfae1b2fcabe04285d9a9f0f71d0094eaf414f72ea7b8df4a8ead706934da530a SHA512 0d70b011802abd8f3840f4b391fa94c32bfafbe26f5951c0d305d459f0c14b51023fae8b9f09a95b1b259d578ca8395373a6f65a8aa4cfd568248d7fa3ab8883 +DIST drawio-desktop-bin-amd64-29.6.6.deb 126189560 BLAKE2B 253336602dc681dbd65c627ed9328e73cb429ab275ab476c79332526a97afa20336c0e6c1992e543d3f4318f939a3b08e5dcd40ae3683a32d85d2f7fe8dbc2d3 SHA512 398a35f9f0460212ceadcde193d9a37ddb2ab372345647c1154ca1349e04bd1a8062ce65bfa2a76847f871e0be3370a33598273d62325c32151910fcc580a553 DIST drawio-desktop-bin-arm64-26.2.2.deb 96836886 BLAKE2B 87a1266c21cfa208856506d6ea9681047bfd81de75028d1652fe883bbcba495ec055c0add8b1c90982f35d15399b06b0fceaec9fa99ec83e96cd45af3921f947 SHA512 31cb0aece583549903df87104662ca2b36871cfd1d2763c77391db4f8820956c1bc73541a1aa22e4d6b7040db63600a23ca673b3706f736321a5a42f3c688def +DIST drawio-desktop-bin-arm64-29.6.6.deb 121087960 BLAKE2B c6770384a7f16f30991999e5030c90076ff9eb372fdf21549c9b60d6d029ec09025d1392fd5295e4063b341a4034878b16437995b2bce23168907609320eb930 SHA512 b25bc090477e992455a59aaf6510b05cf5a7affdd5d0fa0f22c3f772b337ec5ae0db428378477409ce2e39a0cc31eae9cdc511bd1c35c72467aacd863c675b0d DIST drawio-icon.svg 1194 BLAKE2B 624a024e95ff1a68ac298b64d0e633f46411f7ec142d8b2a7d639c7e6a66a1f7c695f67b28a64e323ec1dea36ec4d657e2ee9119cd58f1c84f0d9cb9b5d9755d SHA512 ce010d61c5de3322d4e3c66c87ae199b7d15e68ee7253078f001eccb3b725c0290426978cfd81a4d06276b8b50ea8bd650213a50eb72432451afe536790eb39e diff --git a/app-office/drawio-desktop-bin/drawio-desktop-bin-25.0.2.ebuild b/app-office/drawio-desktop-bin/drawio-desktop-bin-25.0.2.ebuild deleted file mode 100644 index fe7451e60249..000000000000 --- a/app-office/drawio-desktop-bin/drawio-desktop-bin-25.0.2.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS=" - af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW -" - -inherit chromium-2 desktop unpacker xdg - -DESCRIPTION="draw.io diagramming and whiteboarding desktop app" -HOMEPAGE="https://www.drawio.com/" - -SRC_URI=" - amd64? ( https://github.com/jgraph/drawio-desktop/releases/download/v${PV}/drawio-amd64-${PV}.deb - -> ${PN}-amd64-${PV}.deb ) - arm64? ( https://github.com/jgraph/drawio-desktop/releases/download/v${PV}/drawio-arm64-${PV}.deb - -> ${PN}-arm64-${PV}.deb ) - https://raw.githubusercontent.com/jgraph/drawio-desktop/3fee9d732fc8b78b2886e042262df8bda8ef6ba5/build/icon.svg - -> drawio-icon.svg -" -S="${WORKDIR}" - -# These are the licenses used by node_modules packages, drawio and drawio-desktop repositories -LICENSE=" - 0BSD Apache-2.0 BSD BSD-2 CC0-1.0 GPL-2 ISC PYTHON WTFPL-2 MIT ZLIB -" -SLOT="0" - -KEYWORDS="-* amd64" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3 - media-libs/alsa-lib - media-libs/mesa - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gtk+:3 - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/pango -" - -QA_PREBUILT="opt/drawio/*" - -pkg_pretend() { - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - default - # cleanup languages - pushd "opt/drawio/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - #Fix mimetype - sed -i \ - -e 's*<icon name="x-office-document" />*<icon name="application-vnd.jgraph.mxfile"/>*g' \ - -e '4 i <sub-class-of type="text/xml"/>' \ - "usr/share/mime/packages/drawio.xml" || die "couldn't modify drawio.xml" -} - -src_install() { - local destdir="/opt/drawio" - - # Copy icons - local IC_SIZE - for IC_SIZE in 16 32 48 64 96 128 192 256 512 1024 - do - newicon -s "${IC_SIZE}" "usr/share/icons/hicolor/${IC_SIZE}x${IC_SIZE}/apps/drawio.png" drawio.png - newicon -s "${IC_SIZE}" -c mimetypes "usr/share/icons/hicolor/${IC_SIZE}x${IC_SIZE}/apps/drawio.png" \ - application-vnd.jgraph.mxfile.png - done - newicon -s scalable "${DISTDIR}/drawio-icon.svg" drawio.svg - newicon -s scalable -c mimetypes "${DISTDIR}/drawio-icon.svg" application-vnd.jgraph.mxfile.svg - - # Create a desktop entry and associate it with the drawio mime type - domenu usr/share/applications/drawio.desktop - - # MIME descriptor for .drawio and .vsdx files - insinto /usr/share/mime/packages - doins "usr/share/mime/packages/drawio.xml" - - exeinto "${destdir}" - doexe opt/drawio/chrome-sandbox opt/drawio/chrome_crashpad_handler opt/drawio/drawio opt/drawio/*.so* - - insinto "${destdir}" - insopts -m0644 - doins opt/drawio/*.pak opt/drawio/*.bin opt/drawio/*.json opt/drawio/*.dat - insopts -m0755 - doins -r opt/drawio/locales opt/drawio/resources - - dosym "${destdir}"/drawio /usr/bin/drawio -} diff --git a/app-office/drawio-desktop-bin/drawio-desktop-bin-24.7.17.ebuild b/app-office/drawio-desktop-bin/drawio-desktop-bin-29.6.6.ebuild index fb4308c7a8f4..9e9100983600 100644 --- a/app-office/drawio-desktop-bin/drawio-desktop-bin-24.7.17.ebuild +++ b/app-office/drawio-desktop-bin/drawio-desktop-bin-29.6.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -30,7 +30,7 @@ LICENSE=" " SLOT="0" -KEYWORDS="-* amd64" +KEYWORDS="-* ~amd64" RDEPEND=" >=app-accessibility/at-spi2-core-2.46.0:2 diff --git a/app-office/gnucash/Manifest b/app-office/gnucash/Manifest index 6c4e37553c7e..5e0e4276a6eb 100644 --- a/app-office/gnucash/Manifest +++ b/app-office/gnucash/Manifest @@ -1,4 +1 @@ -DIST gnucash-5.10.tar.bz2 15075046 BLAKE2B 343d4a2fee0cdafc42a58d1bcb4e809b7f5fada24eddf210805d81075d6461626b2cbf37c5d0c4d5d758f0ff46ff3812d849b9d177fd34c4f5e890bbebe848b8 SHA512 2ea31ea9dc6d399f168e47fed4b4641207b2a4b9a5e9eac493477a067e8b8a2817e509cb8ea422480c62336fe87cfe6e3e795e5a8b630e8a3d7635adfc64514d -DIST gnucash-5.11.tar.bz2 15165344 BLAKE2B e16f7a4f398abb66bf67c56bd046157a58fcc8c0f68231d7a9c3568747dde605f185888a002f4de3773b18737fdc217ca3eae739e705c1c4d73e2d3132899583 SHA512 72e1bdc446a42db004b517bbf775d80f41b28c908691d823312575041f8524978f51b2bb36d026668b3d095b862db26ea9217339a80acc9deed33de22ba98d80 -DIST gnucash-5.12.tar.bz2 15209384 BLAKE2B bf873f3cc8755ab9db9bd2b62ace8162c77a42b1ea9749895822d753c36cbdf0c121085cf87fd1e8695f2bcda55cf38d18ddef4c939a22cc180a990c921fd185 SHA512 0984c086a57d1e40c83366025e4cc2c327977f61176c45816e9d42a861869603f11d5284c0ea7ec6876aa283dd1272ea5a9cd8f67804e49cb75e4546ef96e84a DIST gnucash-5.14.tar.bz2 16406297 BLAKE2B e35ab5872ba8e86f4eafc49144fdd28929f110e810f048133bf94f830de1dcf235c5de3f012d227f1d21de1255156884ac19b4e75e51748ff0c4f1c5e5654092 SHA512 b66fecb47168ae269a0ef03c22d0ebd048b0a249d8e8e61e0dbe60a8d0baf89d203df178452de6ffb7ba588e1b0cff98a2e5bb867915d89ee9b7a33bc64a4082 diff --git a/app-office/gnucash/files/gnucash-4.12-drop-broken-test.patch b/app-office/gnucash/files/gnucash-4.12-drop-broken-test.patch deleted file mode 100644 index 970d423c7b31..000000000000 --- a/app-office/gnucash/files/gnucash-4.12-drop-broken-test.patch +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/Gnucash/gnucash/pull/1472 - -From a52795b022e040d7a93bb4dc352780d832c55390 Mon Sep 17 00:00:00 2001 -From: Marco Scardovi <mscardovi@icloud.com> -Date: Sat, 26 Nov 2022 22:38:02 +0100 -Subject: [PATCH] Fix test - -Signed-off-by: Marco Scardovi <mscardovi@icloud.com> ---- a/libgnucash/core-utils/test/CMakeLists.txt -+++ b/libgnucash/core-utils/test/CMakeLists.txt -@@ -19,9 +19,6 @@ endmacro() - add_core_utils_test(test-gnc-glib-utils test-gnc-glib-utils.c) - add_core_utils_test(test-resolve-file-path test-resolve-file-path.c) - add_core_utils_test(test-userdata-dir test-userdata-dir.c) --if (NOT MAC_INTEGRATION AND NOT WIN32) -- add_core_utils_test(test-userdata-dir-invalid-home test-userdata-dir-invalid-home.c) --endif() - if (MAC_INTEGRATION) - target_compile_options(test-userdata-dir PRIVATE ${OSX_EXTRA_COMPILE_FLAGS}) - target_compile_definitions(test-userdata-dir PRIVATE ${GTK_MAC_CFLAGS_OTHER}) -@@ -53,4 +50,4 @@ gnc_add_test(test-gnc-path-util "${test_gnc_path_util_SOURCES}" - - set_dist_list(test_core_utils_DIST CMakeLists.txt - test-gnc-glib-utils.c test-resolve-file-path.c test-userdata-dir.c -- test-userdata-dir-invalid-home.c gtest-path-utilities.cpp) -+ gtest-path-utilities.cpp) diff --git a/app-office/gnucash/files/gnucash-5.10-import-qif.patch b/app-office/gnucash/files/gnucash-5.10-import-qif.patch deleted file mode 100644 index b5d5b2988a6d..000000000000 --- a/app-office/gnucash/files/gnucash-5.10-import-qif.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/Gnucash/gnucash/commit/6531d3e46b7bee1add61aa6c6aaf8fb1f889a586 - -From 6531d3e46b7bee1add61aa6c6aaf8fb1f889a586 Mon Sep 17 00:00:00 2001 -From: John Ralls <jralls@ceridwen.us> -Date: Mon, 23 Dec 2024 17:34:19 -0800 -Subject: [PATCH] Bug 799494 - Version 5.10 Fails to import QIF file - -Require only one split in qif-import:qif-to-gnc, apparently it's too -early to require two. ---- - gnucash/import-export/qif-imp/qif-to-gnc.scm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gnucash/import-export/qif-imp/qif-to-gnc.scm b/gnucash/import-export/qif-imp/qif-to-gnc.scm -index 899f8b9f9b8..dc57a3a0322 100644 ---- a/gnucash/import-export/qif-imp/qif-to-gnc.scm -+++ b/gnucash/import-export/qif-imp/qif-to-gnc.scm -@@ -434,7 +434,7 @@ - ;; there aren't at least 2 splits and that will cause a - ;; UAF in xaccTransRecordPrice. See https://bugs.gnucash.org/show_bug.cgi?id=799420 - (let ((splits (qif-xtn:splits xtn))) -- (if (not (or (qif-xtn:mark xtn) (or (null? splits) (null? (cdr splits))))) -+ (if (not (or (qif-xtn:mark xtn) (null? splits))) - ;; Convert into a GnuCash transaction. - (let ((gnc-xtn (xaccMallocTransaction - (gnc-get-current-book)))) - diff --git a/app-office/gnucash/files/gnucash-5.10-swig-4.3.patch b/app-office/gnucash/files/gnucash-5.10-swig-4.3.patch deleted file mode 100644 index 48afe2452b47..000000000000 --- a/app-office/gnucash/files/gnucash-5.10-swig-4.3.patch +++ /dev/null @@ -1,59 +0,0 @@ -https://bugs.gentoo.org/953429 -https://github.com/Gnucash/gnucash/commit/85084e75d63633b8c7e44b99ee6cc20f421b52fc - -From 85084e75d63633b8c7e44b99ee6cc20f421b52fc Mon Sep 17 00:00:00 2001 -From: John Ralls <jralls@ceridwen.us> -Date: Thu, 26 Dec 2024 11:45:10 -0800 -Subject: [PATCH] Fix python bindings build with Swig-4.3.0. - ---- - bindings/python/time64.i | 11 ++++++++--- - common/cmake_modules/GncAddSwigCommand.cmake | 6 ++++++ - 2 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/bindings/python/time64.i b/bindings/python/time64.i -index 93d9f261f8c..3f85448dedc 100644 ---- a/bindings/python/time64.i -+++ b/bindings/python/time64.i -@@ -132,6 +132,12 @@ - $1 = &secs; - } - -+#ifdef HAVE_SWIG_APPENDOUTPUT -+#define SWIG_APPENDOUTPUT(res, func) SWIG_AppendOutput(res, func) -+#else -+#define SWIG_APPENDOUTPUT(res, func) SWIG_Python_AppendOutput(res, func) -+#endif -+ - %typemap(argout) time64 *date (time64 secs) { - PyDateTime_IMPORT; - PyObject *tp; -@@ -148,9 +154,8 @@ - tp = PyDateTime_FromDateAndTime(t.tm_year + 1900, t.tm_mon + 1, - t.tm_mday, t.tm_hour, t.tm_min, - t.tm_sec, 0); -- -- $result = SWIG_Python_AppendOutput($result, tp); -- } else $result = SWIG_Python_AppendOutput($result, Py_None); -+ $result = SWIG_APPENDOUTPUT($result, tp); -+ } else $result = SWIG_APPENDOUTPUT($result, Py_None); - } - - %apply time64 *date { time64 *last_date }; -diff --git a/common/cmake_modules/GncAddSwigCommand.cmake b/common/cmake_modules/GncAddSwigCommand.cmake -index 811f347608d..a3c8dac995f 100644 ---- a/common/cmake_modules/GncAddSwigCommand.cmake -+++ b/common/cmake_modules/GncAddSwigCommand.cmake -@@ -86,6 +86,12 @@ macro (gnc_add_swig_python_command _target _out_var _py_out_var _output _py_outp - ) - - set (PYTHON_SWIG_FLAGS ${DEFAULT_SWIG_PYTHON_FLAGS}) -+ -+ if (SWIG_VERSION VERSION_GREATER_EQUAL "4.3.0") -+ list(APPEND PYTHON_SWIG_FLAGS -+ -DHAVE_SWIG_APPENDOUTPUT=1) -+ endif() -+ - foreach (dir ${DEFAULT_SWIG_PYTHON_C_INCLUDES} ${_include_dirs}) - list (APPEND PYTHON_SWIG_FLAGS "-I${dir}") - endforeach (dir) diff --git a/app-office/gnucash/files/gnucash-5.11-boost-1.88.patch b/app-office/gnucash/files/gnucash-5.11-boost-1.88.patch deleted file mode 100644 index 1c58902cab4b..000000000000 --- a/app-office/gnucash/files/gnucash-5.11-boost-1.88.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 99f86d31ed52bafada4d0b4036cada89b1ccdfaf Mon Sep 17 00:00:00 2001 -From: John Ralls <jralls@ceridwen.us> -Date: Fri, 2 May 2025 10:11:55 -0700 -Subject: [PATCH] Bug 799594 - GnuCash 5.11 fails to build with boost 1.88 - -Boost Process 1.88 defaults to the new V2 API introduced in Boost -1.81. https://repology.org/project/boost/versions shows that distro -support for boost 1.81 and later is spotty at best so we won't be able -to migrate to v2 until that improves. ---- - libgnucash/app-utils/gnc-quotes.cpp | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git a/libgnucash/app-utils/gnc-quotes.cpp b/libgnucash/app-utils/gnc-quotes.cpp -index 1fdf64a385c..fcc67cc782e 100644 ---- a/libgnucash/app-utils/gnc-quotes.cpp -+++ b/libgnucash/app-utils/gnc-quotes.cpp -@@ -36,10 +36,27 @@ - #endif - #include <boost/algorithm/string.hpp> - #include <boost/filesystem.hpp> -+#include <boost/version.hpp> -+#if BOOST_VERSION < 108800 -+#include <boost/process.hpp> - #ifdef BOOST_WINDOWS_API - #include <boost/process/windows.hpp> - #endif --#include <boost/process.hpp> -+#else -+#include <boost/process/v1/async.hpp> -+#include <boost/process/v1/child.hpp> -+#include <boost/process/v1/env.hpp> -+#include <boost/process/v1/environment.hpp> -+#include <boost/process/v1/error.hpp> -+#include <boost/process/v1/group.hpp> -+#include <boost/process/v1/io.hpp> -+#include <boost/process/v1/pipe.hpp> -+#include <boost/process/v1/search_path.hpp> -+#include <boost/process/v1/start_dir.hpp> -+#ifdef BOOST_WINDOWS_API -+#include <boost/process/v1/windows.hpp> -+#endif -+#endif - #include <boost/regex.hpp> - #include <boost/property_tree/ptree.hpp> - #include <boost/property_tree/json_parser.hpp> -@@ -68,7 +85,11 @@ static const char* yh_api_env = "FINANCEAPI_API_KEY"; - static const char* yh_api_key = "yhfinance-api-key"; - - namespace bl = boost::locale; -+#if BOOST_VERSION < 108800 - namespace bp = boost::process; -+#else -+namespace bp = boost::process::v1; -+#endif - namespace bfs = boost::filesystem; - namespace bpt = boost::property_tree; - namespace bio = boost::iostreams; diff --git a/app-office/gnucash/files/gnucash-5.8-guile-load-path.patch b/app-office/gnucash/files/gnucash-5.8-guile-load-path.patch deleted file mode 100644 index 0a488817f547..000000000000 --- a/app-office/gnucash/files/gnucash-5.8-guile-load-path.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 59c0a848aeab5a600f40962b359395e4dca57537 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Thu, 26 Dec 2024 09:55:15 +0000 -Subject: [PATCH] Don't use installed copy of gnucash for build or tests - -Per https://www.gnu.org/software/guile/manual/html_node/Foreign-Libraries.html, -newer guile (>= 3.0.6) will respect GUILE_EXTENSIONS_PATH when looking up paths for -`dlopen` for `load-extension` -> `load-foreign-library`. Older guiles will use -`LTDL_LIBRARY_PATH` instead. - -Without this set, the system paths are checked instead (maybe falling back -to another variable if not found on the system, unclear), and we end up -with build failures when we try to mix system and just-built gnucash (this -is also obviously a problem for testing as well). - -For tests, we additionally have to do a "fake install" in ${BUILD_DIR}/whatever -and we set the path to that in the ebuild with GENTOO_TEMPORARY_TEST_INSTALLDIR. - -https://www.gnu.org/software/guile/manual/html_node/Load-Paths.html and -https://www.gnu.org/software/guile/manual/html_node/Environment-Variables.html were -also a lot of help. - -(When testing w/ guile-2.2 briefly, it didn't seem that we needed -to set LTDL_LIBRARY_PATH, but someone can add that if it turns out to be -needed, or I may later.) - -(With regard to GUILE_AUTO_COMPILE=0, dropped that as it doesn't seem -necessary. Plan is to also add GUILE_AUTO_COMPILE=fresh to the eclass, -am discussing it w/ Arsen.) - -Bug: https://bugs.gnucash.org/show_bug.cgi?id=799159 -Bug: https://bugs.gentoo.org/359033 -Bug: https://bugs.gentoo.org/371264 -Bug: https://bugs.gentoo.org/734286 -Bug: https://bugs.gentoo.org/946927 -Closes: https://bugs.gentoo.org/941426 -Signed-off-by: Sam James <sam@gentoo.org> ---- - common/cmake_modules/GncAddSchemeTargets.cmake | 2 ++ - common/cmake_modules/GncAddTest.cmake | 6 ++++++ - 2 files changed, 8 insertions(+) - -diff --git a/common/cmake_modules/GncAddSchemeTargets.cmake b/common/cmake_modules/GncAddSchemeTargets.cmake -index 9a038de..bab89bf 100644 ---- a/common/cmake_modules/GncAddSchemeTargets.cmake -+++ b/common/cmake_modules/GncAddSchemeTargets.cmake -@@ -253,6 +253,7 @@ function(gnc_add_scheme_targets _TARGET) - make_win32_path_list(LIBRARY_PATH) - else() - set (LIBRARY_PATH "LD_LIBRARY_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{LD_LIBRARY_PATH}") -+ set (GUILE_EXTENSIONS_PATH "GUILE_EXTENSIONS_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{GUILE_EXTENSIONS_PATH}") - endif() - if (APPLE) - set (LIBRARY_PATH "DYLD_LIBRARY_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{DYLD_LIBRARY_PATH}") -@@ -281,6 +282,7 @@ function(gnc_add_scheme_targets _TARGET) - #We quote the arguments to stop CMake stripping the path separators. - set (GUILE_ENV - "${LIBRARY_PATH}" -+ "${GUILE_EXTENSIONS_PATH}" - "GNC_UNINSTALLED=YES" - "GNC_BUILDDIR=${CMAKE_BINARY_DIR}" - "GUILE_LOAD_PATH=${_GUILE_LOAD_PATH}" -diff --git a/common/cmake_modules/GncAddTest.cmake b/common/cmake_modules/GncAddTest.cmake -index ce12e8b..9ab2cc2 100644 ---- a/common/cmake_modules/GncAddTest.cmake -+++ b/common/cmake_modules/GncAddTest.cmake -@@ -13,6 +13,7 @@ function(get_guile_env) - endif() - if (UNIX) - list(APPEND env "LD_LIBRARY_PATH=${_GNC_MODULE_PATH}:$ENV{LD_LIBRARY_PATH}") -+ list(APPEND env "GUILE_EXTENSIONS_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{GUILE_EXTENSIONS_PATH}") - endif() - if (MINGW64) - set(fpath "") -@@ -32,6 +33,8 @@ function(get_guile_env) - list(APPEND env "GUILE=${GUILE_EXECUTABLE}") - - set(guile_load_paths "") -+ list(APPEND guile_load_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITEDIR}") -+ list(APPEND guile_load_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITEDIR}/gnucash/deprecated") # Path to gnucash' deprecated modules - list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}") - list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}/gnucash/deprecated") # Path to gnucash' deprecated modules - if (GUILE_COVERAGE) -@@ -46,6 +49,9 @@ function(get_guile_env) - set(guile_load_path "${guile_load_paths}") - - set(guile_load_compiled_paths "") -+ list(APPEND guile_load_compiled_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITECCACHEDIR}") -+ list(APPEND guile_load_compiled_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITECCACHEDIR}/gnucash/deprecated") -+ list(APPEND guile_load_compiled_paths "$ENV{GENTOO_TEMPORARY_TEST_INSTALLDIR}/${GUILE_REL_SITECCACHEDIR}/tests") - list(APPEND guile_load_compiled_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITECCACHEDIR}") - list(APPEND guile_load_compiled_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITECCACHEDIR}/gnucash/deprecated") - list(APPEND guile_load_compiled_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITECCACHEDIR}/tests") --- -2.47.1 - diff --git a/app-office/gnucash/gnucash-5.10-r1.ebuild b/app-office/gnucash/gnucash-5.10-r1.ebuild deleted file mode 100644 index f4ced8c99f77..000000000000 --- a/app-office/gnucash/gnucash-5.10-r1.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GUILE_REQ_USE="regex" -GUILE_COMPAT=( 2-2 3-0 ) -PYTHON_COMPAT=( python3_{10..14} ) - -inherit cmake flag-o-matic gnome2 guile-single python-single-r1 xdg - -# Please bump with app-doc/gnucash-docs -DESCRIPTION="Personal finance manager" -HOMEPAGE="https://www.gnucash.org/" -SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="aqbanking debug doc examples gnome-keyring +gui mysql nls ofx postgres python quotes smartcard sqlite test" -# Tests were previously restricted because guile would try to use installed, -# not just-built modules. See https://bugs.gnucash.org/show_bug.cgi?id=799159#c1. -# TODO: as of 5.10, the ebuild should handle this OK. If no issues come up, -# need to forward those findings (and tidy up the patch for) upstream. -RESTRICT="!test? ( test )" - -# Examples doesn't build unless GUI is also built -REQUIRED_USE=" - ${GUILE_REQUIRED_USE} - examples? ( gui ) - python? ( ${PYTHON_REQUIRED_USE} ) - smartcard? ( aqbanking ) -" - -# dev-libs/boost must always be built with nls enabled. -# net-libs/aqbanking dropped gtk with v6. So, to simplify the -# dependency, we just rely on that. -RDEPEND=" - ${GUILE_DEPS} - >=dev-libs/glib-2.56.1:2 - >=virtual/zlib-1.1.4:= - dev-libs/boost:=[icu,nls] - dev-libs/icu:= - dev-libs/libxml2:2= - dev-libs/libxslt - aqbanking? ( - >=net-libs/aqbanking-6[ofx?] - >=sys-libs/gwenhywfar-5.6.0:= - smartcard? ( sys-libs/libchipcard ) - ) - gnome-keyring? ( >=app-crypt/libsecret-0.18 ) - gui? ( - >=x11-libs/gtk+-3.22.30:3 - gnome-base/dconf - net-libs/webkit-gtk:4.1= - aqbanking? ( sys-libs/gwenhywfar:=[gtk] ) - ) - mysql? ( - dev-db/libdbi - dev-db/libdbi-drivers[mysql] - ) - ofx? ( >=dev-libs/libofx-0.9.12:= ) - postgres? ( - dev-db/libdbi - dev-db/libdbi-drivers[postgres] - ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') - ) - quotes? ( - >=dev-perl/Finance-Quote-1.11 - dev-perl/JSON-Parse - dev-perl/HTML-TableExtract - ) - sqlite? ( - dev-db/libdbi - dev-db/libdbi-drivers[sqlite] - ) -" - -# gtest is a required dep -# see https://bugs.gnucash.org/show_bug.cgi?id=795250 -DEPEND=" - ${RDEPEND} - >=sys-devel/gettext-0.20 - dev-lang/perl - dev-build/libtool - >=dev-cpp/gtest-1.8.0 -" -# distutils is not available in python3.12, but it is still in setuptools -BDEPEND=" - dev-lang/swig - >=dev-build/cmake-3.10 - virtual/pkgconfig - python? ( - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - ) -" - -PDEPEND=" - doc? ( - ~app-doc/gnucash-docs-${PV} - gnome-extra/yelp - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.0-exclude-license.patch" - "${FILESDIR}/${PN}-4.12-drop-broken-test.patch" - "${FILESDIR}/${PN}-5.6-no-werror.patch" - # This is only to prevent webkit2gtk-4 from being selected. - # https://bugs.gentoo.org/893676 - "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch" - "${FILESDIR}/${P}-import-qif.patch" - "${FILESDIR}/${PN}-5.8-guile-load-path.patch" - "${FILESDIR}/${P}-swig-4.3.patch" -) - -pkg_setup() { - guile-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_prepare() { - cmake_src_prepare - guile_bump_sources - - # ODR violation in libgnucash/engine/test/utest-Account.cpp and libgnucash/engine/test/utest-Split.cpp - # with Fixture struct - use test && filter-lto - - # Fix tests writing to /tmp - local fixtestfiles=( - bindings/python/example_scripts/simple_session.py - bindings/python/sqlite3test.c - bindings/python/example_scripts/simple_test.py - gnucash/report/test/test-report-html.scm - gnucash/report/test/test-report-extras.scm - libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp - ) - local x - for x in "${fixtestfiles[@]}"; do - sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed" - done -} - -src_configure() { - # Used in src_test but the value has to be available at `cmake` - # generation time. - export GENTOO_TEMPORARY_TEST_INSTALLDIR="${BUILD_DIR}/test_install" - - 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) - -DWITH_AQBANKING=$(usex aqbanking) - -DWITH_GNUCASH=$(usex gui) - -DWITH_OFX=$(usex ofx) - -DWITH_PYTHON=$(usex python) - -DWITH_SQL=${sql_on_off} - ) - - cmake_src_configure -} - -src_test() { - 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 "Failed to disable test-qof and test-gnc-numeric!" - fi - - cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}" - - # We need e.g. `options.scm` to be available for loading by tests - # and the compiled `options.go` isn't enough. Do a temporary install - # for the benefit of the testsuite. - DESTDIR="${GENTOO_TEMPORARY_TEST_INSTALLDIR}" cmake_build install - # This is needed for `load-path` to be correct, as it lacks `/usr` in there. - local dir - for dir in bin include "$(get_libdir)" share ; do - ln -s "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/usr/${dir}" "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/${dir}" || die - done - - # Avoid cmake_src_test as we don't get the test binaries built first - # and get various failures as a result. Copy what upstream do in CI. - eninja check -} - -src_install() { - cmake_src_install - guile_unstrip_ccache - - use examples && docompress -x /usr/share/doc/${PF}/examples - - if use python ; then - python_optimize - python_optimize "${ED}"/usr/share/gnucash/python - fi -} - -pkg_preinst() { - gnome2_pkg_preinst - xdg_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - xdg_pkg_postinst -} - -pkg_postrm() { - gnome2_pkg_postrm - xdg_pkg_postrm -} diff --git a/app-office/gnucash/gnucash-5.11.ebuild b/app-office/gnucash/gnucash-5.11.ebuild deleted file mode 100644 index 37b562776bff..000000000000 --- a/app-office/gnucash/gnucash-5.11.ebuild +++ /dev/null @@ -1,241 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GUILE_REQ_USE="regex" -GUILE_COMPAT=( 2-2 3-0 ) -PYTHON_COMPAT=( python3_{10..14} ) - -inherit cmake flag-o-matic gnome2 guile-single python-single-r1 xdg - -# Please bump with app-doc/gnucash-docs -DESCRIPTION="Personal finance manager" -HOMEPAGE="https://www.gnucash.org/" -SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="aqbanking debug doc examples +gui mysql nls ofx postgres python quotes smartcard sqlite test" -# Tests were previously restricted because guile would try to use installed, -# not just-built modules. See https://bugs.gnucash.org/show_bug.cgi?id=799159#c1. -# TODO: as of 5.10, the ebuild should handle this OK. If no issues come up, -# need to forward those findings (and tidy up the patch for) upstream. -RESTRICT="!test? ( test )" - -# Examples doesn't build unless GUI is also built -REQUIRED_USE=" - ${GUILE_REQUIRED_USE} - examples? ( gui ) - python? ( ${PYTHON_REQUIRED_USE} ) - smartcard? ( aqbanking ) -" - -# dev-libs/boost must always be built with nls enabled. -# net-libs/aqbanking dropped gtk with v6. So, to simplify the -# dependency, we just rely on that. -RDEPEND=" - ${GUILE_DEPS} - >=app-crypt/libsecret-0.18 - >=dev-libs/glib-2.56.1:2 - >=virtual/zlib-1.1.4:= - dev-libs/boost:=[icu,nls] - dev-libs/icu:= - dev-libs/libxml2:2= - dev-libs/libxslt - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango - aqbanking? ( - >=net-libs/aqbanking-6[ofx?] - >=sys-libs/gwenhywfar-5.6.0:= - smartcard? ( sys-libs/libchipcard ) - ) - gui? ( - >=x11-libs/gtk+-3.22.30:3 - gnome-base/dconf - net-libs/webkit-gtk:4.1= - aqbanking? ( sys-libs/gwenhywfar:=[gtk] ) - ) - mysql? ( - dev-db/libdbi - dev-db/libdbi-drivers[mysql] - ) - ofx? ( >=dev-libs/libofx-0.9.12:= ) - postgres? ( - dev-db/libdbi - dev-db/libdbi-drivers[postgres] - ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') - ) - quotes? ( - >=dev-perl/Finance-Quote-1.11 - dev-perl/JSON-Parse - dev-perl/HTML-TableExtract - ) - sqlite? ( - dev-db/libdbi - dev-db/libdbi-drivers[sqlite] - ) -" - -# gtest is a required dep -# see https://bugs.gnucash.org/show_bug.cgi?id=795250 -DEPEND=" - ${RDEPEND} - >=sys-devel/gettext-0.20 - dev-lang/perl - dev-build/libtool - >=dev-cpp/gtest-1.8.0 -" -# distutils is not available in python3.12, but it is still in setuptools -BDEPEND=" - dev-lang/swig - >=dev-build/cmake-3.10 - dev-libs/libxslt - virtual/pkgconfig - python? ( - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - ) -" - -PDEPEND=" - doc? ( - ~app-doc/gnucash-docs-${PV} - gnome-extra/yelp - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.0-exclude-license.patch" - "${FILESDIR}/${PN}-4.12-drop-broken-test.patch" - "${FILESDIR}/${PN}-5.6-no-werror.patch" - # This is only to prevent webkit2gtk-4 from being selected. - # https://bugs.gentoo.org/893676 - "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch" - "${FILESDIR}/${PN}-5.8-guile-load-path.patch" - "${FILESDIR}/${PN}-5.11-boost-1.88.patch" -) - -pkg_setup() { - guile-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_prepare() { - cmake_src_prepare - guile_bump_sources - - # ODR violation in libgnucash/engine/test/utest-Account.cpp and libgnucash/engine/test/utest-Split.cpp - # with Fixture struct - use test && filter-lto - - # Fix tests writing to /tmp - local fixtestfiles=( - bindings/python/example_scripts/simple_session.py - bindings/python/sqlite3test.c - bindings/python/example_scripts/simple_test.py - gnucash/report/test/test-report-html.scm - gnucash/report/test/test-report-extras.scm - libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp - ) - local x - for x in "${fixtestfiles[@]}"; do - sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed" - done -} - -src_configure() { - # Used in src_test but the value has to be available at `cmake` - # generation time. - export GENTOO_TEMPORARY_TEST_INSTALLDIR="${BUILD_DIR}/test_install" - - 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) - -DWITH_AQBANKING=$(usex aqbanking) - -DWITH_GNUCASH=$(usex gui) - -DWITH_OFX=$(usex ofx) - -DWITH_PYTHON=$(usex python) - -DWITH_SQL=${sql_on_off} - ) - - cmake_src_configure -} - -src_test() { - 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 "Failed to disable test-qof and test-gnc-numeric!" - fi - - cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}" - - # We need e.g. `options.scm` to be available for loading by tests - # and the compiled `options.go` isn't enough. Do a temporary install - # for the benefit of the testsuite. - DESTDIR="${GENTOO_TEMPORARY_TEST_INSTALLDIR}" cmake_build install - # This is needed for `load-path` to be correct, as it lacks `/usr` in there. - local dir - for dir in bin include "$(get_libdir)" share ; do - ln -s "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/usr/${dir}" "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/${dir}" || die - done - - # Avoid cmake_src_test as we don't get the test binaries built first - # and get various failures as a result. Copy what upstream do in CI. - eninja check -} - -src_install() { - cmake_src_install - guile_unstrip_ccache - - use examples && docompress -x /usr/share/doc/${PF}/examples - - if use python ; then - python_optimize - python_optimize "${ED}"/usr/share/gnucash/python - fi -} - -pkg_preinst() { - gnome2_pkg_preinst - xdg_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - xdg_pkg_postinst -} - -pkg_postrm() { - gnome2_pkg_postrm - xdg_pkg_postrm -} diff --git a/app-office/gnucash/gnucash-5.12.ebuild b/app-office/gnucash/gnucash-5.12.ebuild deleted file mode 100644 index 188855e7b379..000000000000 --- a/app-office/gnucash/gnucash-5.12.ebuild +++ /dev/null @@ -1,247 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GUILE_REQ_USE="regex" -GUILE_COMPAT=( 2-2 3-0 ) -PYTHON_COMPAT=( python3_{10..14} ) - -inherit cmake flag-o-matic gnome2 guile-single python-single-r1 xdg - -# Please bump with app-doc/gnucash-docs -DESCRIPTION="Personal finance manager" -HOMEPAGE="https://www.gnucash.org/" -SRC_URI="https://github.com/Gnucash/gnucash/releases/download/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="aqbanking debug doc examples +gui keyring mysql nls ofx postgres python quotes smartcard sqlite test" -# Tests were previously restricted because guile would try to use installed, -# not just-built modules. See https://bugs.gnucash.org/show_bug.cgi?id=799159#c1. -# TODO: as of 5.10, the ebuild should handle this OK. If no issues come up, -# need to forward those findings (and tidy up the patch for) upstream. -RESTRICT="!test? ( test )" - -# Examples doesn't build unless GUI is also built -REQUIRED_USE=" - ${GUILE_REQUIRED_USE} - examples? ( gui ) - python? ( ${PYTHON_REQUIRED_USE} ) - smartcard? ( aqbanking ) -" - -# dev-libs/boost must always be built with nls enabled. -# net-libs/aqbanking dropped gtk with v6. So, to simplify the -# dependency, we just rely on that. -RDEPEND=" - ${GUILE_DEPS} - >=dev-libs/glib-2.56.1:2 - >=virtual/zlib-1.1.4:= - dev-libs/boost:=[icu,nls] - >=dev-libs/icu-54.0:= - dev-libs/libxml2:2= - dev-libs/libxslt - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango - aqbanking? ( - >=net-libs/aqbanking-6[ofx?] - >=sys-libs/gwenhywfar-5.6.0:= - smartcard? ( sys-libs/libchipcard ) - ) - gui? ( - >=x11-libs/gtk+-3.22.30:3 - gnome-base/dconf - net-libs/webkit-gtk:4.1= - aqbanking? ( sys-libs/gwenhywfar:=[gtk] ) - ) - keyring? ( - >=app-crypt/libsecret-0.18 - ) - mysql? ( - dev-db/libdbi - dev-db/libdbi-drivers[mysql] - ) - ofx? ( >=dev-libs/libofx-0.9.12:= ) - postgres? ( - dev-db/libdbi - dev-db/libdbi-drivers[postgres] - ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') - ) - quotes? ( - >=dev-perl/Finance-Quote-1.11 - dev-perl/JSON-Parse - dev-perl/HTML-TableExtract - ) - sqlite? ( - dev-db/libdbi - dev-db/libdbi-drivers[sqlite] - ) -" - -# gtest is a required dep -# see https://bugs.gnucash.org/show_bug.cgi?id=795250 -DEPEND=" - ${RDEPEND} - >=sys-devel/gettext-0.20 - dev-lang/perl - dev-build/libtool - >=dev-cpp/gtest-1.8.0 -" -# distutils is not available in python3.12, but it is still in setuptools -BDEPEND=" - dev-lang/swig - >=dev-build/cmake-3.10 - dev-libs/libxslt - virtual/pkgconfig - python? ( - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - ) -" - -PDEPEND=" - doc? ( - ~app-doc/gnucash-docs-${PV} - gnome-extra/yelp - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.0-exclude-license.patch" - "${FILESDIR}/${PN}-5.6-no-werror.patch" - # This is only to prevent webkit2gtk-4 from being selected. - # https://bugs.gentoo.org/893676 - "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch" - "${FILESDIR}/${PN}-5.8-guile-load-path.patch" - "${FILESDIR}/${PN}-5.12-libsecret-build-option.patch" -) - -pkg_setup() { - guile-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_prepare() { - cmake_src_prepare - guile_bump_sources - - # ODR violation in libgnucash/engine/test/utest-Account.cpp and libgnucash/engine/test/utest-Split.cpp - # with Fixture struct - use test && filter-lto - - # Fix tests writing to /tmp - local fixtestfiles=( - bindings/python/example_scripts/simple_session.py - bindings/python/sqlite3test.c - bindings/python/example_scripts/simple_test.py - gnucash/report/test/test-report-html.scm - gnucash/report/test/test-report-extras.scm - libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp - ) - local x - for x in "${fixtestfiles[@]}"; do - sed -i -e "s|\"/tmp/|\"${T}/|g" "${S}/${x}" || die "sed of ${S}/${x} failed" - done - - # Skip test that appears to be fickle in the ebuild env - sed -e '/add_core_utils_test(test-userdata-dir-invalid-home test-userdata-dir-invalid-home.c)/d' \ - -i libgnucash/core-utils/test/CMakeLists.txt || die -} - -src_configure() { - # Used in src_test but the value has to be available at `cmake` - # generation time. - export GENTOO_TEMPORARY_TEST_INSTALLDIR="${BUILD_DIR}/test_install" - - 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) - -DWITH_AQBANKING=$(usex aqbanking) - -DWITH_GNUCASH=$(usex gui) - -DWITH_OFX=$(usex ofx) - -DWITH_PYTHON=$(usex python) - -DWITH_SQL=${sql_on_off} - -DWITH_LIBSECRET=$(usex keyring) - ) - - cmake_src_configure -} - -src_test() { - 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 "Failed to disable test-qof and test-gnc-numeric!" - fi - - cd "${BUILD_DIR}" || die "Failed to enter ${BUILD_DIR}" - - # We need e.g. `options.scm` to be available for loading by tests - # and the compiled `options.go` isn't enough. Do a temporary install - # for the benefit of the testsuite. - DESTDIR="${GENTOO_TEMPORARY_TEST_INSTALLDIR}" cmake_build install - # This is needed for `load-path` to be correct, as it lacks `/usr` in there. - local dir - for dir in bin include "$(get_libdir)" share ; do - ln -s "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/usr/${dir}" "${GENTOO_TEMPORARY_TEST_INSTALLDIR}/${dir}" || die - done - - # Avoid cmake_src_test as we don't get the test binaries built first - # and get various failures as a result. Copy what upstream do in CI. - eninja check -} - -src_install() { - cmake_src_install - guile_unstrip_ccache - - use examples && docompress -x /usr/share/doc/${PF}/examples - - if use python ; then - python_optimize - python_optimize "${ED}"/usr/share/gnucash/python - fi -} - -pkg_preinst() { - gnome2_pkg_preinst - xdg_pkg_preinst -} - -pkg_postinst() { - gnome2_pkg_postinst - xdg_pkg_postinst -} - -pkg_postrm() { - gnome2_pkg_postrm - xdg_pkg_postrm -} |
