public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/pygsl] rawhide: Version 2.6.6
@ 2026-09-14 22:10 Jerry James
  0 siblings, 0 replies; only message in thread
From: Jerry James @ 2026-09-14 22:10 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/pygsl
            Branch : rawhide
            Commit : d4e901a69a61b6ae221faec7f3a34a6ca1e5a076
            Author : Jerry James <loganjerry@gmail.com>
            Date   : 2026-09-14T16:10:07-06:00
            Stats  : +123/-358 in 7 file(s)
            URL    : https://src.fedoraproject.org/rpms/pygsl/c/d4e901a69a61b6ae221faec7f3a34a6ca1e5a076?branch=rawhide

            Log:
            Version 2.6.6

- Drop upstreamed patches: incompatible-pointer, swig45
- Add patch to fix autodoc failure due to bogus del invocation
- Add patch to fix autodoc errors on the API page
- Add patch to fix some swig errors

---
diff --git a/105.patch b/105.patch
new file mode 100644
index 0000000..1d4a8be
--- /dev/null
+++ b/105.patch
@@ -0,0 +1,45 @@
+From b7c237378cd360a1d3caf993f5e22d56975d5fae Mon Sep 17 00:00:00 2001
+From: Jerry James <loganjerry@gmail.com>
+Date: Mon, 14 Sep 2026 15:40:48 -0600
+Subject: [PATCH 1/2] Typo fix: set_avmax -> get_avmax
+
+---
+ src/callback/gsl_multifit_nlinear.i | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/callback/gsl_multifit_nlinear.i b/src/callback/gsl_multifit_nlinear.i
+index 521947c..eac5734 100644
+--- a/src/callback/gsl_multifit_nlinear.i
++++ b/src/callback/gsl_multifit_nlinear.i
+@@ -341,7 +341,7 @@ typedef struct {
+     double get_factor_down(void) {
+ 	return self->factor_down;
+     }
+-    double set_avmax(void) {
++    double get_avmax(void) {
+ 	return self->avmax;
+     }
+     double get_h_df(void){
+
+From 89e976a68b4cf86936903ddc7ec2f0d4360a0d5d Mon Sep 17 00:00:00 2001
+From: Jerry James <loganjerry@gmail.com>
+Date: Mon, 14 Sep 2026 15:46:03 -0600
+Subject: [PATCH 2/2] Avoid nonexistent const gsl_vector * typemap
+
+---
+ src/callback/gsl_multifit_nlinear.i | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/callback/gsl_multifit_nlinear.i b/src/callback/gsl_multifit_nlinear.i
+index eac5734..d8d2f29 100644
+--- a/src/callback/gsl_multifit_nlinear.i
++++ b/src/callback/gsl_multifit_nlinear.i
+@@ -479,7 +479,7 @@ typedef struct {
+ }
+ 
+ 
+-%apply const gsl_vector *IN {const gsl_vector * weights};
++%apply gsl_vector *IN {const gsl_vector * weights};
+ 
+ %extend pygsl_multifit_nlinear_workspace{
+     pygsl_multifit_nlinear_workspace(

diff --git a/pygsl-api.patch b/pygsl-api.patch
new file mode 100644
index 0000000..b19bc6c
--- /dev/null
+++ b/pygsl-api.patch
@@ -0,0 +1,26 @@
+--- pygsl-2.6.6/doc/api/pygsl.rst.orig	2026-09-13 10:14:11.000000000 -0600
++++ pygsl-2.6.6/doc/api/pygsl.rst	2026-09-14 16:01:56.757049139 -0600
+@@ -321,7 +321,7 @@ odeiv2
+      :inherited-members:
+      :show-inheritance:
+ 
+-.. autoclass:: pygsl.odeiv2.pygsl_odeiv2_drive
++.. autoclass:: pygsl.odeiv2.pygsl_odeiv2_driver
+      :members:
+      :undoc-members:
+      :inherited-members:
+@@ -637,14 +637,6 @@ Obsoletes
+ .. toctree::
+ 
+ 
+-diff
+-----
+-
+-.. automodule:: pygsl.diff
+-    :members:
+-    :undoc-members:
+-    :show-inheritance:
+-
+ odeiv
+ -----
+ 

diff --git a/pygsl-del.patch b/pygsl-del.patch
new file mode 100644
index 0000000..ecba9c0
--- /dev/null
+++ b/pygsl-del.patch
@@ -0,0 +1,41 @@
+Fixes this error:
+
+WARNING: autodoc: failed to import 'complex' from module 'pygsl.testing'; the following exception was raised:
+Traceback (most recent call last):
+  File "/usr/lib/python3.15/site-packages/sphinx/ext/autodoc/_dynamic/_importer.py", line 221, in _import_module
+    module = importlib.import_module(modname)
+  File "/usr/lib64/python3.15/importlib/__init__.py", line 88, in import_module
+    return _bootstrap._gcd_import(name[level:], package, level)
+           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "<frozen importlib._bootstrap>", line 1390, in _gcd_import
+  File "<frozen importlib._bootstrap>", line 1350, in _find_and_load
+  File "<frozen importlib._bootstrap>", line 1309, in _find_and_load_unlocked
+  File "<frozen importlib._bootstrap>", line 915, in _load_unlocked
+  File "<frozen importlib._bootstrap_external>", line 747, in exec_module
+  File "<frozen importlib._bootstrap>", line 549, in _call_with_frames_removed
+  File "/builddir/build/BUILD/pygsl-2.6.6-build/BUILDROOT/usr/lib64/python3.15/site-packages/pygsl/testing/complex.py", line 15, in <module>
+    del _shortname
+        ^^^^^^^^^^
+NameError: name '_shortname' is not defined
+
+--- pygsl-2.6.6/pygsl/testing/complex.py.orig	2026-09-13 10:14:11.000000000 -0600
++++ pygsl-2.6.6/pygsl/testing/complex.py	2026-09-14 14:08:16.828991215 -0600
+@@ -12,6 +12,15 @@ for _name in dir(_ufuncs):
+         exec(_cmd)
+ del _token
+ del _tokl
+-del _shortname
+-del _name
+-del _cmd
++try:
++    del _shortname
++except NameError:
++    pass
++try:
++    del _name
++except NameError:
++    pass
++try:
++    del _cmd
++except NameError:
++    pass

diff --git a/pygsl-incompatible-pointer.patch b/pygsl-incompatible-pointer.patch
deleted file mode 100644
index 0933d57..0000000
--- a/pygsl-incompatible-pointer.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Fixes these errors:
-
-  In file included from ../src/transform/transformmodule.c:46:
-  ../src/transform/arraycopy.c: In function ‘PyGSL_Shadow_array’:
-  ../src/transform/arraycopy.c:413:11: error: assignment to ‘PyArrayObject *’ {aka ‘struct tagPyArrayObject *’} from incompatible pointer type ‘PyObject *’ {aka ‘struct _object *’} [-Wincompatible-pointer-types]
-    413 |         m = master;
-        |           ^
-  ../src/transform/arraycopy.c:435:27: error: assignment to ‘PyArrayObject *’ {aka ‘struct tagPyArrayObject *’} from incompatible pointer type ‘PyObject *’ {aka ‘struct _object *’} [-Wincompatible-pointer-types]
-    435 |                         s = shadow;
-        |                           ^
-
---- pygsl-2.6.4/src/transform/arraycopy.c.orig	2025-11-02 03:11:24.000000000 -0700
-+++ pygsl-2.6.4/src/transform/arraycopy.c	2025-11-02 06:44:05.443140480 -0700
-@@ -410,7 +410,7 @@ PyGSL_Shadow_array(PyObject *shadow, PyO
- 		goto fail;
- 	}
- 
--	m = master;
-+	m = (PyArrayObject *)master;
- 	assert(m);
- 	assert(
- 	    PyArray_TYPE(m) == PyGSL_TRANSFORM_MODE_SWITCH(mode, NPY_CDOUBLE, NPY_CFLOAT)
-@@ -432,7 +432,7 @@ PyGSL_Shadow_array(PyObject *shadow, PyO
- 		}else{
- 			FUNC_MESS("Copying input to output array");
- 			/* Check if it is an array of the approbriate size */
--			s = shadow;
-+			s = (PyArrayObject *)shadow;
- 			if((PyGSL_array_check((PyObject *) s)) && (PyArray_NDIM(s) == 1)
- 			   && (PyArray_TYPE(s) == PyArray_TYPE(m))
- 			   && (PyArray_DIM(s, 0) == PyArray_DIM(m, 0))){

diff --git a/pygsl-swig45.patch b/pygsl-swig45.patch
deleted file mode 100644
index 3bb3219..0000000
--- a/pygsl-swig45.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-diff -up pygsl-2.6.5/Include/pygsl/error_helpers.h.swig45 pygsl-2.6.5/Include/pygsl/error_helpers.h
---- pygsl-2.6.5/Include/pygsl/error_helpers.h.swig45	2026-07-28 10:24:53.094176942 +0200
-+++ pygsl-2.6.5/Include/pygsl/error_helpers.h	2026-07-28 10:24:53.137054157 +0200
-@@ -108,7 +108,7 @@ PyGSL_warning(const char *, const char*,
-                      PyGSL_error_flag_to_pyint((long) (flag))
- #else /* PyGSL_PY3K */
- #define PyGSL_ERROR_FLAG_TO_PYINT(flag)                                     \
--(((long) flag <= 0) && (!PyErr_Occurred())) ? PyInt_FromLong((long) flag) : \
-+(((long) flag <= 0) && (!PyErr_Occurred())) ? PyLong_FromLong((long) flag) : \
-                      PyGSL_error_flag_to_pyint((long) (flag))
- #endif /* PyGSL_PY3K */
- 
-diff -up pygsl-2.6.5/Include/pygsl/general_helpers.h.swig45 pygsl-2.6.5/Include/pygsl/general_helpers.h
---- pygsl-2.6.5/Include/pygsl/general_helpers.h.swig45	2026-07-28 10:24:53.105177167 +0200
-+++ pygsl-2.6.5/Include/pygsl/general_helpers.h	2026-07-28 10:24:53.137177822 +0200
-@@ -113,9 +113,9 @@ PyGSL_clear_name(char *name, int size);
-   :  PyGSL_pyint_to_int((object),  (result), (info))  
- #else /* PyGSL_PY3K */
- #define PyGSL_PYINT_TO_INT(object, result, info)        \
--  ( PyInt_Check((object)) )                               \
-+  ( PyLong_Check((object)) )                               \
-   ?                                                        \
--   ((*(result))   = (int) PyInt_AsLong((object)), GSL_SUCCESS) \
-+   ((*(result))   = (int) PyLong_AsLong((object)), GSL_SUCCESS) \
-   :  PyGSL_pyint_to_int((object),  (result), (info))  
- #endif /* PyGSL_PY3K */
- 
-diff -up pygsl-2.6.5/src/callback/function_helpers_multifit_nlinear.ic.swig45 pygsl-2.6.5/src/callback/function_helpers_multifit_nlinear.ic
---- pygsl-2.6.5/src/callback/function_helpers_multifit_nlinear.ic.swig45	2026-07-28 14:24:28.719055825 +0200
-+++ pygsl-2.6.5/src/callback/function_helpers_multifit_nlinear.ic	2026-07-28 14:24:46.381705107 +0200
-@@ -230,7 +230,7 @@ PyGSL_multifitorlarge_nlinear_driver_cal
- 	 goto fail;
-      }
- 
--     niter_o = PyInt_FromLong((long) iter);
-+     niter_o = PyLong_FromLong((long) iter);
-      if(!niter_o){
- 	 goto fail;
-      }
-diff -up pygsl-2.6.5/src/callback/gsl_multilarge_nlinear.i.swig45 pygsl-2.6.5/src/callback/gsl_multilarge_nlinear.i
---- pygsl-2.6.5/src/callback/gsl_multilarge_nlinear.i.swig45	2026-07-28 10:24:53.106177188 +0200
-+++ pygsl-2.6.5/src/callback/gsl_multilarge_nlinear.i	2026-07-28 10:24:53.138177843 +0200
-@@ -136,7 +136,7 @@ _pygsl_multilarge_nlinear_df (CBLAS_TRAN
- 	  trb_lineno = __LINE__ - 2;
- 	  goto fail;
-     }
--    transj_o = PyInt_FromLong((long) TransJ);
-+    transj_o = PyLong_FromLong((long) TransJ);
-     if(transj_o == NULL){
- 	  trb_lineno = __LINE__ - 2;
- 	  goto fail;
-diff -up pygsl-2.6.5/src/diffmodule.c.swig45 pygsl-2.6.5/src/diffmodule.c
---- pygsl-2.6.5/src/diffmodule.c.swig45	2026-07-28 10:24:53.108177229 +0200
-+++ pygsl-2.6.5/src/diffmodule.c	2026-07-28 10:24:53.139185727 +0200
-@@ -93,7 +93,7 @@ DL_EXPORT(void) initdiff(void)
- 	if (dict == NULL)
- 		return;
- 	
--	if (!(item = PyString_FromString(diff_module_doc))){
-+	if (!(item = PyUnicode_FromString(diff_module_doc))){
- 		PyErr_SetString(PyExc_ImportError, 
- 				"I could not generate module doc string!");
- 		return;
-diff -up pygsl-2.6.5/src/gslwrap/combination.i.swig45 pygsl-2.6.5/src/gslwrap/combination.i
---- pygsl-2.6.5/src/gslwrap/combination.i.swig45	2026-07-28 10:24:53.109177249 +0200
-+++ pygsl-2.6.5/src/gslwrap/combination.i	2026-07-28 10:24:53.139546362 +0200
-@@ -68,7 +68,7 @@ struct gsl_combination_struct
-        if (a_list == NULL)
- 	    return NULL;
-        for(i=0; i<size; i++){
--	    a_int = PyInt_FromLong((long) gsl_combination_get(self, i));
-+	    a_int = PyLong_FromLong((long) gsl_combination_get(self, i));
- 	    if (a_int == NULL){
- 		 Py_DECREF(a_list);
- 		 return NULL;
-diff -up pygsl-2.6.5/src/gslwrap/permutation.i.swig45 pygsl-2.6.5/src/gslwrap/permutation.i
---- pygsl-2.6.5/src/gslwrap/permutation.i.swig45	2026-07-28 10:24:53.111177290 +0200
-+++ pygsl-2.6.5/src/gslwrap/permutation.i	2026-07-28 10:24:53.139884804 +0200
-@@ -93,7 +93,7 @@
-        if (a_list == NULL)
- 	    return NULL;
-        for(i=0; i<size; i++){
--	    a_int = PyInt_FromLong((long) gsl_permutation_get(self, i));
-+	    a_int = PyLong_FromLong((long) gsl_permutation_get(self, i));
- 	    if (a_int == NULL){
- 		 Py_DECREF(a_list);
- 		 return NULL;
-diff -up pygsl-2.6.5/src/histogram/histogram_common.ic.swig45 pygsl-2.6.5/src/histogram/histogram_common.ic
---- pygsl-2.6.5/src/histogram/histogram_common.ic.swig45	2026-07-28 14:24:28.722055884 +0200
-+++ pygsl-2.6.5/src/histogram/histogram_common.ic	2026-07-28 14:24:46.383020134 +0200
-@@ -171,7 +171,7 @@ FUNCNAME(equal_bins_p)(PyObject *self, P
-   }
- 
-   result=GSLNAME(equal_bins_p)(histogram,histogram2);
--  return PyInt_FromLong(result);
-+  return PyLong_FromLong(result);
- }
- 
- static void
-diff -up pygsl-2.6.5/src/histogram/histogram.ic.swig45 pygsl-2.6.5/src/histogram/histogram.ic
---- pygsl-2.6.5/src/histogram/histogram.ic.swig45	2026-07-28 14:24:28.720055845 +0200
-+++ pygsl-2.6.5/src/histogram/histogram.ic	2026-07-28 14:24:46.382356073 +0200
-@@ -392,7 +392,7 @@ histogram_histogram_mp_subscript(PyObjec
-   /* get key */
-   my_key=PyNumber_Long(key);
-   if (my_key==NULL) return NULL;
--  k=PyInt_AsLong(my_key);
-+  k=PyLong_AsLong(my_key);
-   if (k<0 || k>=histogram->n) {
-     pygsl_error ("index lies outside valid range of 0 .. n - 1",
- 	       filename, __LINE__, GSL_EDOM );
-@@ -419,7 +419,7 @@ histogram_histogram_mp_ass_subscript(PyO
-   /* get key */
-   my_key=PyNumber_Long(key);
-   if (my_key==NULL) return -1;
--  k=PyInt_AsLong(my_key);
-+  k=PyLong_AsLong(my_key);
-   if (k<0 || k>=histogram->n) {
-     pygsl_error ("index lies outside valid range of 0 .. n - 1",
- 	       filename, __LINE__, GSL_EDOM);
-diff -up pygsl-2.6.5/src/init/block_helpers.c.swig45 pygsl-2.6.5/src/init/block_helpers.c
---- pygsl-2.6.5/src/init/block_helpers.c.swig45	2026-07-28 10:24:53.113177331 +0200
-+++ pygsl-2.6.5/src/init/block_helpers.c	2026-07-28 10:24:53.140255421 +0200
-@@ -284,7 +284,7 @@ PyGSL_PyArray_Check(PyArrayObject *a_arr
- #ifdef PyGSL_PY3K
- #define _PyGSL_WRAP_LONG_FROM_PyObject(src) PyLong_AS_LONG(((src)))
- #else
--#define _PyGSL_WRAP_LONG_FROM_PyObject(src) ( PyInt_AsLong(((src))) )
-+#define _PyGSL_WRAP_LONG_FROM_PyObject(src) ( PyLong_AsLong(((src))) )
- #endif
- 
- static PyArrayObject *
-diff -up pygsl-2.6.5/src/multiminmodule.c.swig45 pygsl-2.6.5/src/multiminmodule.c
---- pygsl-2.6.5/src/multiminmodule.c.swig45	2026-07-28 10:24:53.114177351 +0200
-+++ pygsl-2.6.5/src/multiminmodule.c	2026-07-28 10:24:53.141177904 +0200
-@@ -177,7 +177,7 @@ static PyObject* multimin_multimin_itera
-     PyErr_SetString(PyExc_RuntimeError,"no function specified!");
-     return NULL;
-   }
--  return PyInt_FromLong(gsl_multimin_fminimizer_iterate(((multimin_multiminObject*)self)->min));
-+  return PyLong_FromLong(gsl_multimin_fminimizer_iterate(((multimin_multiminObject*)self)->min));
- }
- 
- static PyObject* multimin_multimin_x(PyObject *self,
-diff -up pygsl-2.6.5/src/qrngmodule.c.swig45 pygsl-2.6.5/src/qrngmodule.c
---- pygsl-2.6.5/src/qrngmodule.c.swig45	2026-07-28 10:24:53.116177392 +0200
-+++ pygsl-2.6.5/src/qrngmodule.c	2026-07-28 10:24:53.142220593 +0200
-@@ -14,8 +14,8 @@ static PyObject *module = NULL;
- #define PyGSL_STRING_AS_STRING(obj) PyBytes_FromString(obj)
- #define PyGSL_STRING_LENGTH(obj)      PyBytes_Length(obj)
- #else
--#define PyGSL_STRING_AS_STRING(obj) PyString_AsString(obj)
--#define PyGSL_STRING_LENGTH(obj)      PyString_Size(obj)
-+#define PyGSL_STRING_AS_STRING(obj) PyBytes_AsString(obj)
-+#define PyGSL_STRING_LENGTH(obj)      PyBytes_Size(obj)
- #endif
- 
- 
-diff -up pygsl-2.6.5/src/sfmodule.c.swig45 pygsl-2.6.5/src/sfmodule.c
---- pygsl-2.6.5/src/sfmodule.c.swig45	2026-07-28 10:24:53.117177413 +0200
-+++ pygsl-2.6.5/src/sfmodule.c	2026-07-28 10:24:53.142793358 +0200
-@@ -40,7 +40,7 @@ int eval_gsl_mode_char(gsl_mode_t* mode,
-   gsl_error_dict=PyModule_GetDict(gsl_error_module);
-   gsl_error_object=PyDict_GetItemString(gsl_error_dict,"gsl_Error");
-   PyErr_SetObject(gsl_error_object,
--		  PyString_FromString(error_text));
-+		  PyUnicode_FromString(error_text));
- 
-   return -1;
- }
-diff -up pygsl-2.6.5/src/statistics/charmodule.c.swig45 pygsl-2.6.5/src/statistics/charmodule.c
---- pygsl-2.6.5/src/statistics/charmodule.c.swig45	2026-07-28 10:24:53.119177454 +0200
-+++ pygsl-2.6.5/src/statistics/charmodule.c	2026-07-28 10:24:53.142924935 +0200
-@@ -23,7 +23,7 @@
- #define STATMOD_APPEND_PYC_TYPE(X) X ## BYTE
- 
- #define STATMOD_FUNC_EXT(X, Y) X ## _char ## Y
--#define STATMOD_PY_AS_C PyInt_AsLong
-+#define STATMOD_PY_AS_C PyLong_AsLong
- #define STATMOD_C_TYPE char
- #include "functions.c"
- 
-diff -up pygsl-2.6.5/src/statistics/intmodule.c.swig45 pygsl-2.6.5/src/statistics/intmodule.c
---- pygsl-2.6.5/src/statistics/intmodule.c.swig45	2026-07-28 10:24:53.121177495 +0200
-+++ pygsl-2.6.5/src/statistics/intmodule.c	2026-07-28 10:24:53.143024479 +0200
-@@ -20,7 +20,7 @@
- #define STATMOD_APPEND_PY_TYPE(X) X ## Int
- #define STATMOD_APPEND_PYC_TYPE(X) X ## INT
- #define STATMOD_FUNC_EXT(X, Y) X ## _int ## Y
--#define STATMOD_PY_AS_C PyInt_AsLong
-+#define STATMOD_PY_AS_C PyLong_AsLong
- #define STATMOD_C_TYPE int
- #define PyGSL_STATISTICS_IMPORT_API
- #include "functions.c"
-diff -up pygsl-2.6.5/src/statistics/longmodule.c.swig45 pygsl-2.6.5/src/statistics/longmodule.c
---- pygsl-2.6.5/src/statistics/longmodule.c.swig45	2026-07-28 10:24:53.122177515 +0200
-+++ pygsl-2.6.5/src/statistics/longmodule.c	2026-07-28 10:24:53.143116145 +0200
-@@ -20,7 +20,7 @@
- #define STATMOD_APPEND_PY_TYPE(X) X ## Int
- #define STATMOD_APPEND_PYC_TYPE(X) X ## LONG
- #define STATMOD_FUNC_EXT(X, Y) X ## _long ## Y
--#define STATMOD_PY_AS_C PyInt_AsLong
-+#define STATMOD_PY_AS_C PyLong_AsLong
- #define STATMOD_C_TYPE long int
- #include "functions.c"
- 
-diff -up pygsl-2.6.5/src/statistics/shortmodule.c.swig45 pygsl-2.6.5/src/statistics/shortmodule.c
---- pygsl-2.6.5/src/statistics/shortmodule.c.swig45	2026-07-28 10:24:53.124177556 +0200
-+++ pygsl-2.6.5/src/statistics/shortmodule.c	2026-07-28 10:24:53.143234846 +0200
-@@ -19,7 +19,7 @@
- #define STATMOD_APPEND_PY_TYPE(X) X ## Int
- #define STATMOD_APPEND_PYC_TYPE(X) X ## SHORT
- #define STATMOD_FUNC_EXT(X, Y) X ## _short ## Y
--#define STATMOD_PY_AS_C PyInt_AsLong
-+#define STATMOD_PY_AS_C PyLong_AsLong
- #define STATMOD_C_TYPE short int
- #include "functions.c"
- 
-diff -up pygsl-2.6.5/src/statistics/ucharmodule.c.swig45 pygsl-2.6.5/src/statistics/ucharmodule.c
---- pygsl-2.6.5/src/statistics/ucharmodule.c.swig45	2026-07-28 10:24:53.125177577 +0200
-+++ pygsl-2.6.5/src/statistics/ucharmodule.c	2026-07-28 10:24:53.143335641 +0200
-@@ -19,7 +19,7 @@
- #define STATMOD_APPEND_PY_TYPE(X) X ## Int
- #define STATMOD_APPEND_PYC_TYPE(X) X ## UBYTE
- #define STATMOD_FUNC_EXT(X, Y) X ## _uchar ## Y
--#define STATMOD_PY_AS_C PyInt_AsLong
-+#define STATMOD_PY_AS_C PyLong_AsLong
- #define STATMOD_C_TYPE unsigned char
- #include "functions.c"
- 
-diff -up pygsl-2.6.5/testing/src/multiminmodule.c.swig45 pygsl-2.6.5/testing/src/multiminmodule.c
---- pygsl-2.6.5/testing/src/multiminmodule.c.swig45	2026-07-28 10:24:53.127177617 +0200
-+++ pygsl-2.6.5/testing/src/multiminmodule.c	2026-07-28 10:24:53.143479246 +0200
-@@ -566,7 +566,7 @@ PyGSL_multimin_istype(PyGSL_multimin *se
- 	  p = fdf;
-      }
-      FUNC_MESS_END();
--     return PyString_FromString(p);
-+     return PyUnicode_FromString(p);
- }
- 
- static PyObject* 
-diff -up pygsl-2.6.5/testing/src/solvers/minimize.c.swig45 pygsl-2.6.5/testing/src/solvers/minimize.c
---- pygsl-2.6.5/testing/src/solvers/minimize.c.swig45	2026-07-28 10:24:53.129177658 +0200
-+++ pygsl-2.6.5/testing/src/solvers/minimize.c	2026-07-28 10:24:53.144565034 +0200
-@@ -60,7 +60,7 @@ PyGSL_min_solver_test_interval(PyGSL_sol
-      gsl_min_fminimizer *s = (gsl_min_fminimizer *) self->solver;
-      if(!PyArg_ParseTuple(args, "dd", &epsabs, &epsrel))
- 	  return NULL;
--     return PyInt_FromLong(gsl_min_test_interval(s->x_lower, s->x_upper, epsabs, epsrel));
-+     return PyLong_FromLong(gsl_min_test_interval(s->x_lower, s->x_upper, epsabs, epsrel));
- }
- 
- 
-@@ -126,7 +126,7 @@ PyGSL_min_test_interval(PyObject * self,
-      double x_lower, x_upper, epsabs, epsrel;
-      if(!PyArg_ParseTuple(args, "dddd", &x_lower, &x_upper, &epsabs, &epsrel))
- 	  return NULL;
--     return PyInt_FromLong(gsl_min_test_interval(x_lower, x_upper, epsabs, epsrel));
-+     return PyLong_FromLong(gsl_min_test_interval(x_lower, x_upper, epsabs, epsrel));
- }
- 
- static const char PyGSL_minimize_module_doc [] = "XXX Missing ";
-@@ -155,7 +155,7 @@ initminimize(void)
-      if(!dict)
- 	  goto fail;
- 
--     if (!(item = PyString_FromString((char*)PyGSL_minimize_module_doc))){
-+     if (!(item = PyUnicode_FromString((char*)PyGSL_minimize_module_doc))){
- 	  PyErr_SetString(PyExc_ImportError, 
- 			  "I could not generate module doc string!");
- 	  goto fail;
-diff -up pygsl-2.6.5/testing/src/solvers/monte.c.swig45 pygsl-2.6.5/testing/src/solvers/monte.c
---- pygsl-2.6.5/testing/src/solvers/monte.c.swig45	2026-07-28 10:24:53.130177679 +0200
-+++ pygsl-2.6.5/testing/src/solvers/monte.c	2026-07-28 10:24:53.145177986 +0200
-@@ -505,7 +505,7 @@ initmonte(void)
-      assert(PyGSL_API);
- 
- 
--     if (!(item = PyString_FromString((char*)module_doc))){
-+     if (!(item = PyUnicode_FromString((char*)module_doc))){
- 	  PyErr_SetString(PyExc_ImportError, 
- 			  "I could not generate module doc string!");
- 	  goto fail;
-diff -up pygsl-2.6.5/testing/src/solvers/multifit_nlin.c.swig45 pygsl-2.6.5/testing/src/solvers/multifit_nlin.c
---- pygsl-2.6.5/testing/src/solvers/multifit_nlin.c.swig45	2026-07-28 10:24:53.132177720 +0200
-+++ pygsl-2.6.5/testing/src/solvers/multifit_nlin.c	2026-07-28 10:24:53.145931405 +0200
-@@ -335,7 +335,7 @@ initmultifit_nlin(void)
-      assert(PyGSL_API);
- 
- 
--     if (!(item = PyString_FromString((char*)PyGSL_multifit_nlin_module_doc))){
-+     if (!(item = PyUnicode_FromString((char*)PyGSL_multifit_nlin_module_doc))){
- 	  PyErr_SetString(PyExc_ImportError, 
- 			  "I could not generate module doc string!");
- 	  goto fail;
-diff -up pygsl-2.6.5/testing/src/solvers/multiroot.c.swig45 pygsl-2.6.5/testing/src/solvers/multiroot.c
---- pygsl-2.6.5/testing/src/solvers/multiroot.c.swig45	2026-07-28 10:24:53.133177740 +0200
-+++ pygsl-2.6.5/testing/src/solvers/multiroot.c	2026-07-28 10:24:53.146722955 +0200
-@@ -308,7 +308,7 @@ initmultiroot(void)
-      if(!dict)
- 	  goto fail;
- 
--     if (!(item = PyString_FromString((char*)PyGSL_multiroot_module_doc))){
-+     if (!(item = PyUnicode_FromString((char*)PyGSL_multiroot_module_doc))){
- 	  PyErr_SetString(PyExc_ImportError, 
- 			  "I could not generate module doc string!");
- 	  goto fail;
-diff -up pygsl-2.6.5/typemaps/misc_typemaps.i.swig45 pygsl-2.6.5/typemaps/misc_typemaps.i
---- pygsl-2.6.5/typemaps/misc_typemaps.i.swig45	2026-07-28 10:24:53.134177761 +0200
-+++ pygsl-2.6.5/typemaps/misc_typemaps.i	2026-07-28 10:24:53.147280766 +0200
-@@ -13,7 +13,7 @@
- %}
- %typemap(argout) size_t * OUTPUT{
-     PyObject *o;
--    o = PyInt_FromLong((long) (*$1));
-+    o = PyLong_FromLong((long) (*$1));
-     $result = PyGSL_SWIG_Python_AppendOutput($result, o);
- }
- %typemap(in, numinputs=0) size_t * OUT = size_t * OUTPUT;

diff --git a/pygsl.spec b/pygsl.spec
index f07ead0..9b85c6c 100644
--- a/pygsl.spec
+++ b/pygsl.spec
@@ -7,7 +7,7 @@
 %global _python_bytecompile_errors_terminate_build 0
 
 Name:           pygsl
-Version:        2.6.5
+Version:        2.6.6
 Release:        %autorelease
 Summary:        %{sum}
 
@@ -21,13 +21,14 @@ Patch:          %{name}-flexiblas.patch
 # Fix the multinomial rng test
 # See https://github.com/pygsl/pygsl/pull/58
 Patch:          %{name}-rng-test.patch
-# Fix FTBFS due to incompatible pointer types
-Patch:          %{name}-incompatible-pointer.patch
 # Fix warnings due to printf format mismatches
 Patch:          %{name}-format-mismatch.patch
-# Replace removed Python 2 C API macros with Python 3 equivalents
-# for compatibility with SWIG 4.5.0
-Patch:          %{name}-swig45.patch
+# Fix autodoc failure due to deleting a nonexistent variable
+Patch:          %{name}-del.patch
+# Fix autodoc errors on the API page
+Patch:          %{name}-api.patch
+# Fix some swig errors
+Patch:          %{url}/pull/105.patch
 
 # Changes/EncourageI686LeafRemoval
 ExcludeArch:    %{ix86}
@@ -78,6 +79,9 @@ Reference manual for pygsl.
 %prep
 %autosetup -p1
 
+# Fix version number for the 2.6.6 release
+sed -i 's/2\.6\.6rc1/2.6.6/' pyproject.toml
+
 %conf
 fixtimestamp() {
   touch -r $1.orig $1

diff --git a/sources b/sources
index 8a6c438..edbb058 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (pygsl-2.6.5.tar.gz) = 9dec2edf29ede798f04e760e6e71b0c334798d9e5d76044dedfbabcb02d71a63eb45f6adc1bc94f7723985a758ddf0bb3967e46fa846fd0449709edb4103ed0e
+SHA512 (pygsl-2.6.6.tar.gz) = f54e389398a2e6593bfa23206ec78d1f40819d13529c7f821abe9c89aa09e45127e0613dbce63ca4263f5c10a73ab50d7242c5b05dd40d418dfd9d5f2c23457b
 SHA512 (objects.inv) = f54bc27fd49b560f1d8586fea0f727a2a3045fb7377d915926a7d53b7ed60aa504cc81815fce8b967b4cf3ec09d9dbf6842bd4e3b246efc3cdeb186bb54f1b37

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-14 22:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-14 22:10 [rpms/pygsl] rawhide: Version 2.6.6 Jerry James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox