pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/finance/ledger32



Module Name:    pkgsrc
Committed By:   wiz
Date:           Mon Jun 29 06:48:04 UTC 2026

Modified Files:
        pkgsrc/finance/ledger32: Makefile distinfo options.mk
Added Files:
        pkgsrc/finance/ledger32/patches: patch-src_py__utils.cc

Log Message:
ledger32: fix build with Python 3.12+

Enable python option by default again.

Bump PKGREVISION.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 pkgsrc/finance/ledger32/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/finance/ledger32/distinfo
cvs rdiff -u -r1.4 -r1.5 pkgsrc/finance/ledger32/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/finance/ledger32/patches/patch-src_py__utils.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/finance/ledger32/Makefile
diff -u pkgsrc/finance/ledger32/Makefile:1.15 pkgsrc/finance/ledger32/Makefile:1.16
--- pkgsrc/finance/ledger32/Makefile:1.15       Sun Jun 28 19:59:00 2026
+++ pkgsrc/finance/ledger32/Makefile    Mon Jun 29 06:48:04 2026
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.15 2026/06/28 19:59:00 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2026/06/29 06:48:04 wiz Exp $
 
 DISTNAME=      ledger-3.2.1
-PKGREVISION=   8
+PKGREVISION=   9
 PKGNAME=       ${DISTNAME:C/^ledger-/ledger32-/}
 CATEGORIES=    finance
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=ledger/}
@@ -25,6 +25,8 @@ TEST_ENV+=    DYLD_LIBRARY_PATH=${WRKSRC:Q}
 CMAKE_CONFIGURE_ARGS+= -DPython_EXECUTABLE:STRING=${TOOL_PYTHONBIN:Q}
 CMAKE_CONFIGURE_ARGS+= -DCMAKE_POLICY_VERSION_MINIMUM=3.5
 
+PYTHON_VERSIONS_INCOMPATIBLE=  310 311
+
 .include "options.mk"
 
 REPLACE_PYTHON+=       acprep

Index: pkgsrc/finance/ledger32/distinfo
diff -u pkgsrc/finance/ledger32/distinfo:1.6 pkgsrc/finance/ledger32/distinfo:1.7
--- pkgsrc/finance/ledger32/distinfo:1.6        Sun Jun 28 19:59:00 2026
+++ pkgsrc/finance/ledger32/distinfo    Mon Jun 29 06:48:04 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.6 2026/06/28 19:59:00 wiz Exp $
+$NetBSD: distinfo,v 1.7 2026/06/29 06:48:04 wiz Exp $
 
 BLAKE2s (ledger-3.2.1.tar.gz) = c07ef3f13ef6fa24c3a0d4e1ef91e02c39673f143aa910810d64f00751ab76ff
 SHA512 (ledger-3.2.1.tar.gz) = 526c60cee354c9d2ead38cef3b89b349467e41fa3ec0927b51e7246a3352f19f0f81574211f20ba9bac5915590b870b9f9478a103ab661d3d9a10f41c52f4512
@@ -15,6 +15,7 @@ SHA1 (patch-src_lookup.cc) = 0140f88386a
 SHA1 (patch-src_main.cc) = d887e39e2a68fe594c93819e95eed9a4f469844d
 SHA1 (patch-src_option.cc) = e2fced2a03927b91afbc3b3e390b5e1d9ea09a6e
 SHA1 (patch-src_pool.cc) = 69198d4961646171b85b73fbfa6920cfe4a5ac5c
+SHA1 (patch-src_py__utils.cc) = b7677afaa7fa153af8cd4a68f7c87f2a9173cca6
 SHA1 (patch-src_report.cc) = b17a06c54dd7c3b20e8219add23cf2b26095f6d7
 SHA1 (patch-src_strptime.cc) = 9e5f77e6300b3c88aa47540f03675a5001eac5bc
 SHA1 (patch-src_system.hh.in) = d96c4bf691868e790110c73473e4a9f81e48d617

Index: pkgsrc/finance/ledger32/options.mk
diff -u pkgsrc/finance/ledger32/options.mk:1.4 pkgsrc/finance/ledger32/options.mk:1.5
--- pkgsrc/finance/ledger32/options.mk:1.4      Sun Jun 28 19:59:00 2026
+++ pkgsrc/finance/ledger32/options.mk  Mon Jun 29 06:48:04 2026
@@ -1,19 +1,14 @@
-# $NetBSD: options.mk,v 1.4 2026/06/28 19:59:00 wiz Exp $
+# $NetBSD: options.mk,v 1.5 2026/06/29 06:48:04 wiz Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.ledger
 PKG_SUPPORTED_OPTIONS+=        python
-PKG_SUGGESTED_OPTIONS+=
+PKG_SUGGESTED_OPTIONS+=        python
 
 PLIST_VARS+=           python
 
 .include "../../mk/bsd.options.mk"
 
 .if !empty(PKG_OPTIONS:Mpython)
-BROKEN=                "does not support Python > 3.11 but py-numpy does not support < 3.12"
-
-# https://github.com/ledger/ledger/issues/2332
-PYTHON_VERSIONS_ACCEPTED=      311 # PyUnicode_GET_SIZE
-
 CMAKE_CONFIGURE_ARGS+=         -DUSE_PYTHON:BOOL=TRUE
 PLIST.python=          yes
 PLIST_SUBST+=          PYSITELIB=${PYSITELIB:Q}

Added files:

Index: pkgsrc/finance/ledger32/patches/patch-src_py__utils.cc
diff -u /dev/null pkgsrc/finance/ledger32/patches/patch-src_py__utils.cc:1.1
--- /dev/null   Mon Jun 29 06:48:04 2026
+++ pkgsrc/finance/ledger32/patches/patch-src_py__utils.cc      Mon Jun 29 06:48:04 2026
@@ -0,0 +1,30 @@
+$NetBSD: patch-src_py__utils.cc,v 1.1 2026/06/29 06:48:04 wiz Exp $
+
+Fix build with Python 3.12+.
+
+--- src/py_utils.cc.orig       2026-06-29 06:33:49.654740789 +0000
++++ src/py_utils.cc
+@@ -114,19 +114,11 @@ struct string_from_python
+ #endif
+       VERIFY(PyUnicode_Check(obj_ptr));
+ 
+-      Py_ssize_t size = PyUnicode_GET_SIZE(obj_ptr);
+-      const Py_UNICODE* value = PyUnicode_AS_UNICODE(obj_ptr);
++      Py_ssize_t size = 0;
++      const char* utf8_value = PyUnicode_AsUTF8AndSize(obj_ptr, &size);
+ 
+-      string str;
+-#if Py_UNICODE_SIZE == 2 // UTF-16
+-        utf8::unchecked::utf16to8(value, value + size, std::back_inserter(str));
+-#elif Py_UNICODE_SIZE == 4 // UTF-32
+-        utf8::unchecked::utf32to8(value, value + size, std::back_inserter(str));
+-#else
+-        assert("Py_UNICODE has an unexpected size" == NULL);
+-#endif
+-
+-      if (value == 0) throw_error_already_set();
++      if (utf8_value == 0) throw_error_already_set();
++      string str(utf8_value, size);
+       void* storage =
+         reinterpret_cast<converter::rvalue_from_python_storage<string> *>
+                         (data)->storage.bytes;



Home | Main Index | Thread Index | Old Index