git: 1da51be7f3d1 - main - x11-toolkits/py-fltk: Update to 1.3.9

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Wed, 21 Feb 2024 15:37:58 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1da51be7f3d19581ec22b6db7421713a3c8bef01

commit 1da51be7f3d19581ec22b6db7421713a3c8bef01
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-02-21 15:02:03 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-02-21 15:11:11 +0000

    x11-toolkits/py-fltk: Update to 1.3.9
    
    - Fix build with swig 4.2.0
    
    Changes:        https://sourceforge.net/p/pyfltk/code/HEAD/tree/trunk/pyfltk/ReleaseNotes.txt
---
 x11-toolkits/py-fltk/Makefile             | 15 ++++----
 x11-toolkits/py-fltk/distinfo             |  6 +--
 x11-toolkits/py-fltk/files/patch-setup.py | 11 +-----
 x11-toolkits/py-fltk/files/patch-swig420  | 62 +++++++++++++++++++++++++++++++
 4 files changed, 74 insertions(+), 20 deletions(-)

diff --git a/x11-toolkits/py-fltk/Makefile b/x11-toolkits/py-fltk/Makefile
index 3e69ed3084eb..0c5b51e0c4be 100644
--- a/x11-toolkits/py-fltk/Makefile
+++ b/x11-toolkits/py-fltk/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	fltk
-PORTVERSION=	1.3.8
+PORTVERSION=	1.3.9
 CATEGORIES=	x11-toolkits python
 MASTER_SITES=	SF/py${PORTNAME}/py${PORTNAME}/pyFltk-${PORTVERSION}
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -15,20 +15,21 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 BUILD_DEPENDS=	swig:devel/swig
 LIB_DEPENDS=	libfltk.so:x11-toolkits/fltk
 
-CFLAGS+=	-DFL_LIBRARY
 USES=		python shebangfix xorg
 USE_PYTHON=	autoplist distutils
-PYDISTUTILS_CONFIGUREARGS=	swig
-SHEBANG_FILES=	fltk/test/tree.py \
-		fltk/test/tree_demo.py \
-		fltk/test/fltk_threads.py
 USE_XORG=	x11
 
+CFLAGS+=	-DFL_LIBRARY
+PYDISTUTILS_CONFIGUREARGS=	swig
+
 DOCSDIR=	${PREFIX}/share/doc/py-${PORTNAME}
 EXAMPLESDIR=	${PREFIX}/share/examples/py-${PORTNAME}
 PORTDOCS=	*
 PORTEXAMPLES=	*
-WRKSRC=		${WRKDIR}/pyFltk-${PORTVERSION}
+
+SHEBANG_FILES=	fltk/test/tree.py \
+		fltk/test/tree_demo.py \
+		fltk/test/fltk_threads.py
 
 OPTIONS_DEFINE=	DOCS EXAMPLES
 
diff --git a/x11-toolkits/py-fltk/distinfo b/x11-toolkits/py-fltk/distinfo
index 4bdf9133a0e5..4060e3f0e876 100644
--- a/x11-toolkits/py-fltk/distinfo
+++ b/x11-toolkits/py-fltk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1661553643
-SHA256 (pyFltk-1.3.8.tar.gz) = f7c5012810022dce011f3ed9f3f004c56e08090823739bfe670881fce9611f80
-SIZE (pyFltk-1.3.8.tar.gz) = 587221
+TIMESTAMP = 1708450750
+SHA256 (pyFltk-1.3.9.tar.gz) = fe72b123706d9d08817e0127324109ef83cb4db6b81889218d3f0fb9744edd54
+SIZE (pyFltk-1.3.9.tar.gz) = 587472
diff --git a/x11-toolkits/py-fltk/files/patch-setup.py b/x11-toolkits/py-fltk/files/patch-setup.py
index ef29b4f616d3..158363d0d0e3 100644
--- a/x11-toolkits/py-fltk/files/patch-setup.py
+++ b/x11-toolkits/py-fltk/files/patch-setup.py
@@ -1,4 +1,4 @@
---- setup.py.orig	2022-08-26 05:16:56 UTC
+--- setup.py.orig	2024-01-07 22:04:09 UTC
 +++ setup.py
 @@ -80,7 +80,7 @@ elif sys.platform.startswith('linux')  or sys.platform
      compile_arg_list.append('-Werror=format-security')
@@ -9,12 +9,3 @@
      print(f"Building for: {sys.platform}")
      def_list = [('UNIX', '1')]
      lib_dir_list = [fltk_lib_dir,'/usr/X11R6/lib','/usr/lib']
-@@ -297,7 +297,7 @@ class PySwigCommand(distutils.cmd.Command):
- 
-   def run(self):
-     """Run command."""
--    command = ['swig', '-w302', '-w312', '-w325', '-w362', '-w389', '-w401', '-w473', '-w509', '-I./swig', '-DFL_EXPORT', '-DPYTHON', '-DPYTHON3', '-py3', '-c++', '-python', '-shadow', '-fastdispatch', '-outdir', 'fltk', '-o', 'fltk/fltk_wrap.cpp', './swig/fltk.i']
-+    command = ['swig', '-w302', '-w312', '-w325', '-w362', '-w389', '-w401', '-w473', '-w509', '-I./swig', '-DPYTHON', '-DPYTHON3', '-c++', '-python', '-shadow', '-fastdispatch', '-outdir', 'fltk', '-o', 'fltk/fltk_wrap.cpp', './swig/fltk.i']
-     pos = command.index('-I./swig')+1
-     command[pos:pos] = self.include
-     self.announce(
diff --git a/x11-toolkits/py-fltk/files/patch-swig420 b/x11-toolkits/py-fltk/files/patch-swig420
new file mode 100644
index 000000000000..e4d706006ad8
--- /dev/null
+++ b/x11-toolkits/py-fltk/files/patch-swig420
@@ -0,0 +1,62 @@
+--- swig/Fl_File_Browser.i.orig	2024-01-07 22:03:35 UTC
++++ swig/Fl_File_Browser.i
+@@ -44,7 +44,7 @@ CHANGE_OWNERSHIP(Fl_File_Browser)
+ 
+   int load_new(PyObject* dObj, PyObject* sObj) {
+     //char *directory=PyString_AsString(dObj);
+-    char *directory=SWIG_Python_str_AsChar(dObj);
++    char *directory=PyString_AsString(dObj);
+     int sort=PyInt_AsLong(sObj);
+     int result = -1;
+ 
+--- swig/Fl_Menu_.i.orig	2024-01-07 22:03:35 UTC
++++ swig/Fl_Menu_.i
+@@ -75,7 +75,7 @@ DEFINE_CALLBACK(Fl_Menu_)
+ 	int add(PyObject *lObj, PyObject *sObj, PyObject *cObj, PyObject* uObj=0, PyObject* fObj=0) {
+ 
+ 		//char *pyLabel=PyString_AsString(lObj);
+-		char* pyLabel = SWIG_Python_str_AsChar(lObj);
++		char* pyLabel = PyString_AsString(lObj);
+ 
+ 		int shortcut=PyInt_AsLong(sObj);
+ 		PyObject *callback=cObj;
+--- swig/Fl_Pixmap.i.orig	2024-01-07 22:03:35 UTC
++++ swig/Fl_Pixmap.i
+@@ -31,7 +31,7 @@ The Fl_Pixmap class supports caching and drawing of co
+ %#endif
+       {
+ 	 //$1[i] = PyString_AsString(PyList_GetItem($input,i));
+-	 $1[i] = SWIG_Python_str_AsChar(PyList_GetItem($input,i));
++	 $1[i] = PyString_AsString(PyList_GetItem($input,i));
+       }
+       else {
+ 	 PyErr_SetString(PyExc_TypeError,"list must contain strings");
+--- swig/WindowShowTypemap.i.orig	2024-01-07 22:03:35 UTC
++++ swig/WindowShowTypemap.i
+@@ -13,7 +13,7 @@
+       if (PyString_Check(o))
+ %#endif
+ 	//$1[i] = PyString_AsString(PyList_GetItem($input,i));
+-	$1[i] = SWIG_Python_str_AsChar(PyList_GetItem($input,i));
++	$1[i] = PyString_AsString(PyList_GetItem($input,i));
+       else {
+ 	PyErr_SetString(PyExc_TypeError,"list must contain strings");
+ 	free($1);
+@@ -52,7 +52,7 @@ void show(PyObject *count = 0, PyObject *data = 0)
+ %#else  
+         if (PyString_Check(o))
+ %#endif
+-	  tmp[i] = SWIG_Python_str_AsChar(PyList_GetItem(count,i));
++	  tmp[i] = PyString_AsString(PyList_GetItem(count,i));
+ 	  //tmp[i] = PyString_AsString(PyList_GetItem(count,i));
+ 	else {
+ 	  PyErr_SetString(PyExc_TypeError,"list must contain strings");
+@@ -77,7 +77,7 @@ void show(PyObject *count = 0, PyObject *data = 0)
+ %#else  
+         if (PyString_Check(o))
+ %#endif
+-	  tmp[i] = SWIG_Python_str_AsChar(PyList_GetItem(data,i));
++	  tmp[i] = PyString_AsString(PyList_GetItem(data,i));
+ 	  //tmp[i] = PyString_AsString(PyList_GetItem(data,i));
+ 	else {
+ 	  PyErr_SetString(PyExc_TypeError,"list must contain strings");