diff options
author | Alfred Wingate <parona@protonmail.com> | 2023-12-14 09:40:14 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-12-14 07:55:24 +0000 |
commit | d1e624948a832c4c6518a90ed33d9b5ba4be44f1 (patch) | |
tree | 222b6e9c5162a3ba058d31aad225b3c79244bc80 /app-office/gnucash | |
parent | virtual/dist-kernel: Stabilize 6.1.67 x86, #919764 (diff) | |
download | gentoo-d1e624948a832c4c6518a90ed33d9b5ba4be44f1.tar.gz gentoo-d1e624948a832c4c6518a90ed33d9b5ba4be44f1.tar.bz2 gentoo-d1e624948a832c4c6518a90ed33d9b5ba4be44f1.zip |
app-office/gnucash: fix python finding
* Also require dev-python/setuptools with python3.12 due to distutils
getting removed.
Closes: https://bugs.gentoo.org/919859
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/34282
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-office/gnucash')
-rw-r--r-- | app-office/gnucash/files/gnucash-5.4-fix-python-finding.patch | 49 | ||||
-rw-r--r-- | app-office/gnucash/gnucash-5.4-r1.ebuild (renamed from app-office/gnucash/gnucash-5.4.ebuild) | 9 |
2 files changed, 58 insertions, 0 deletions
diff --git a/app-office/gnucash/files/gnucash-5.4-fix-python-finding.patch b/app-office/gnucash/files/gnucash-5.4-fix-python-finding.patch new file mode 100644 index 000000000000..26de7a7ad154 --- /dev/null +++ b/app-office/gnucash/files/gnucash-5.4-fix-python-finding.patch @@ -0,0 +1,49 @@ +https://bugs.gentoo.org/919859 +https://github.com/Gnucash/gnucash/commit/3782eed56785adaca02cf2bd4766d3825a6f6ca7 + +From 3782eed56785adaca02cf2bd4766d3825a6f6ca7 Mon Sep 17 00:00:00 2001 +From: Simon Arlott <sa.me.uk> +Date: Wed, 4 Oct 2023 21:15:11 +0100 +Subject: [PATCH] Use the default version of Python 3 + +Python scripts that run with the default version of Python 3 by executing +with /usr/bin/python3 that try to import gnucash can't find it if it has +been built for a different version. + +Instead of using other installed versions of Python 3 that happen to be +present, default to using the default "unversioned" version. + +It doesn't look like CMake are going to fix the default behaviour, so every +project has to do this: +https://gitlab.kitware.com/cmake/cmake/-/issues/24878 +https://gitlab.kitware.com/cmake/cmake/-/issues/24126 +https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8287 + +This is only supported on CMake 3.20 or newer, so users of older versions +will still get the broken behaviour. + +Use the newer default Python3_FIND_STRATEGY=LOCATION (CMP0094). +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,6 +2,11 @@ + + cmake_minimum_required (VERSION 3.14.5) + ++# CMake 3.15+ Python3_FIND_STRATEGY=LOCATION ++if (POLICY CMP0094) ++ cmake_policy(SET CMP0094 NEW) ++endif() ++ + project (gnucash + VERSION 5.4 + ) +@@ -492,6 +497,9 @@ endif() + + if (WITH_PYTHON) + set (PYTHON_MIN_VERSION 3.6.0) ++ if (NOT DEFINED Python3_FIND_UNVERSIONED_NAMES) ++ set (Python3_FIND_UNVERSIONED_NAMES FIRST) ++ endif() + find_package (Python3 ${PYTHON_MIN_VERSION} COMPONENTS Interpreter Development) + if (NOT Python3_FOUND) + message(SEND_ERROR "Python support enabled, but Python3 interpreter and/or libaries not found.") diff --git a/app-office/gnucash/gnucash-5.4.ebuild b/app-office/gnucash/gnucash-5.4-r1.ebuild index af69f8b7f715..f3e77efe5302 100644 --- a/app-office/gnucash/gnucash-5.4.ebuild +++ b/app-office/gnucash/gnucash-5.4-r1.ebuild @@ -90,10 +90,16 @@ DEPEND=" sys-devel/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-util/cmake-3.10 virtual/pkgconfig + python? ( + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ) " PDEPEND=" @@ -111,6 +117,9 @@ PATCHES=( # This is only to prevent webkit2gtk-4 from being selected. # https://bugs.gentoo.org/893676 "${FILESDIR}/${PN}-5.0-webkit2gtk-4.1.patch" + + # bug #919859 + "${FILESDIR}/${PN}-5.4-fix-python-finding.patch" ) # guile generates ELF files without use of C or machine code |