[Git][debian-gis-team/mapserver][experimental] 7 commits: New upstream version 8.2.0~rc2

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Fri Jun 28 06:58:19 BST 2024



Bas Couwenberg pushed to branch experimental at Debian GIS Project / mapserver


Commits:
7adb69f5 by Bas Couwenberg at 2024-06-28T06:14:12+02:00
New upstream version 8.2.0~rc2
- - - - -
35357c82 by Bas Couwenberg at 2024-06-28T06:14:26+02:00
Update upstream source from tag 'upstream/8.2.0_rc2'

Update to upstream version '8.2.0~rc2'
with Debian dir 505ab43018de206ffc36c2e01cd7b4e1c2fd5c84
- - - - -
0210147f by Bas Couwenberg at 2024-06-28T06:18:17+02:00
New upstream release candidate.

- - - - -
af63298b by Bas Couwenberg at 2024-06-28T06:19:37+02:00
Refresh patches.

- - - - -
66f08ffa by Bas Couwenberg at 2024-06-28T06:35:33+02:00
Update symbols for other architectures.

- - - - -
b198feb6 by Bas Couwenberg at 2024-06-28T06:43:09+02:00
Update symbols for amd64.

- - - - -
11896927 by Bas Couwenberg at 2024-06-28T06:43:09+02:00
Set distribution to unstable.

- - - - -


16 changed files:

- CMakeLists.txt
- HISTORY.md
- Makefile
- ci/build.sh
- debian/changelog
- debian/libmapserver2t64.symbols
- debian/patches/java-hardening.patch
- debian/patches/perl-mapscript-install.patch
- src/mapagg.cpp
- src/mapproject.c
- src/mapscript/csharp/CMakeLists.txt
- src/mapscript/java/CMakeLists.txt
- src/mapscript/perl/CMakeLists.txt
- src/mapscript/python/CMakeLists.txt
- src/mapscript/python/pymodule.i
- src/mapscript/ruby/CMakeLists.txt


Changes:

=====================================
CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ include(CheckCSourceCompiles)
 set (MapServer_VERSION_MAJOR 8)
 set (MapServer_VERSION_MINOR 2)
 set (MapServer_VERSION_REVISION 0)
-set (MapServer_VERSION_SUFFIX "-rc1")
+set (MapServer_VERSION_SUFFIX "-rc2")
 
 # Set C++ version
 # Make CMAKE_CXX_STANDARD available as cache option overridable by user


=====================================
HISTORY.md
=====================================
@@ -13,8 +13,13 @@ https://mapserver.org/development/changelog/
 
 The online Migration Guide can be found at https://mapserver.org/MIGRATION_GUIDE.html
 
+8.2.0-rc2 release (2024-06-27)
+------------------------------
+
+- fix SWIG MapScript build failure (#7090)
+
 8.2.0-rc1 release (2024-06-14)
---------------------------------
+------------------------------
 
 - no changes since beta3 (see major changes below)
 


=====================================
Makefile
=====================================
@@ -9,7 +9,7 @@ FLEX=flex
 YACC=yacc
 CMAKEFLAGS_MAPSCRIPT_PYTHON=-DWITH_CLIENT_WMS=1 \
 			  -DWITH_CLIENT_WFS=1 -DWITH_KML=1 -DWITH_SOS=1 \
-			  -DWITH_PYTHON=1-DWITH_THREAD_SAFETY=1 -DWITH_FRIBIDI=1 -DWITH_FCGI=1 -DWITH_EXEMPI=1 \
+			  -DWITH_PYTHON=1 -DWITH_THREAD_SAFETY=1 -DWITH_FRIBIDI=1 -DWITH_FCGI=1 -DWITH_EXEMPI=1 \
 			  -DCMAKE_BUILD_TYPE=Release -DWITH_RSVG=1 -DWITH_CURL=1 -DWITH_HARFBUZZ=1 ${EXTRA_CMAKEFLAGS} -DLIBMAPSERVER_EXTRA_FLAGS="${LIBMAPSERVER_EXTRA_FLAGS}" -DCMAKE_INSTALL_PREFIX=/tmp/install-mapserver
 
 CMAKEFLAGS_NOCOVERAGE=-DWITH_CLIENT_WMS=1 \


=====================================
ci/build.sh
=====================================
@@ -5,7 +5,7 @@ export CC="ccache gcc"
 export CXX="ccache g++"
 
 if [ "${MAPSCRIPT_PYTHON_ONLY:-}" = "true" ]; then
-    # only build MapServer with the Python MapScript
+    # only build MapServer with the Python MapScript and not PHP, Perl etc.
     make cmakebuild_mapscript_python MFLAGS="-j$(nproc)" CMAKE_C_FLAGS="-O2" CMAKE_CXX_FLAGS="-O2" LIBMAPSERVER_EXTRA_FLAGS="-Wall -Werror -Wextra"
     # build the wheel and run the Python MapScript test suite
     make mspython-wheel


=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+mapserver (8.2.0~rc2-1~exp1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Refresh patches.
+  * Update symbols for other architectures.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Fri, 28 Jun 2024 06:35:35 +0200
+
 mapserver (8.2.0~rc1-1~exp1) experimental; urgency=medium
 
   * New upstream release candidate.


=====================================
debian/libmapserver2t64.symbols
=====================================
@@ -1,4 +1,4 @@
-# SymbolsHelper-Confirmed: 8.2.0~beta3 amd64 arm64
+# SymbolsHelper-Confirmed: 8.2.0~rc2 amd64
 libmapserver.so.2 #PACKAGE# #MINVER#
 * Build-Depends-Package: libmapserver-dev
  CompareEllipseRegion at Base 6.2.1
@@ -399,8 +399,8 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA10_cLi0EEEvRT_RKT0_ at Base 8.0.0
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA11_cLi0EEEvRT_RKT0_ at Base 8.0.0
  (arch=amd64 arm64)_ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA21_cLi0EEEvRT_RKT0_ at Base 8.0.1
- _ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA22_cLi0EEEvRT_RKT0_ at Base 8.2.0~beta3
- _ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA24_cLi0EEEvRT_RKT0_ at Base 8.2.0~beta3
+ _ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA22_cLi0EEEvRT_RKT0_ at Base 8.2.0~rc2
+ _ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA24_cLi0EEEvRT_RKT0_ at Base 8.2.0~rc2
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA4_cLi0EEEvRT_RKT0_ at Base 8.0.0
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA5_cLi0EEEvRT_RKT0_ at Base 8.0.0
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmann6detail20external_constructorILNS0_7value_tE3EE9constructINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES7_IhSaIhEEEEA6_cLi0EEEvRT_RKT0_ at Base 8.0.0
@@ -1247,7 +1247,7 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN4inja8TextNodeESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev at Base 8.0.0
  (optional=templinst|arch=alpha amd64 arm64 armel armhf i386 ia64 loong64 m68k mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64|subst)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11ms_nlohmann10basic_jsonIS_St6vectorS5_b{int64_t}{uint64_t}dSaNS6_14adl_serializerES8_IhSaIhEEEESt4lessIS5_ESaISt4pairIKS5_SC_EEEixERSG_ at Base 8.0.1
  (optional=templinst|arch=amd64 arm64)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4inja8TemplateESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_ at Base 8.0.1
- (optional=templinst)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_ at Base 8.2.0~beta1
+ (optional=templinst|arch=amd64 loong64 ppc64el)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_ at Base 8.2.0~beta1
  (optional=templinst)_ZNSt3mapISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEN4inja15FunctionStorage12FunctionDataESt4lessIS7_ESaIS0_IKS7_SA_EEEC1ESt16initializer_listISE_ERKSC_RKSF_ at Base 8.0.0
  (optional=templinst)_ZNSt3mapISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEN4inja15FunctionStorage12FunctionDataESt4lessIS7_ESaIS0_IKS7_SA_EEEC2ESt16initializer_listISE_ERKSC_RKSF_ at Base 8.0.0
  (optional=templinst|arch=alpha amd64 arm64 armel armhf i386 ia64 loong64 m68k mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64)_ZNSt4pairIKS_INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEN4inja15FunctionStorage12FunctionDataEEC1IS_IPKciESA_Lb1EEEOT_OT0_ at Base 8.0.0
@@ -1414,7 +1414,7 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=amd64 arm64 ia64 loong64 m68k mips64el ppc64el riscv64 sparc64)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4inja8TemplateEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS7_ at Base 8.0.0
  (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4inja8TemplateEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE4findERS7_ at Base 8.0.0
  (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_ at Base 8.2.0~beta1
- (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_ at Base 8.2.0~beta1
+ (optional=templinst|arch=amd64 loong64 ppc64el)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_ at Base 8.2.0~beta1
  (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10shared_ptrIN4inja18BlockStatementNodeEEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE17_M_emplace_uniqueIJRS7_RSB_EEES6_ISt17_Rb_tree_iteratorISC_EbEDpOT_ at Base 8.0.0
  (optional=templinst)_ZNSt8_Rb_treeISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiES0_IKS7_N4inja15FunctionStorage12FunctionDataEESt10_Select1stISC_ESt4lessIS7_ESaISC_EE24_M_get_insert_unique_posERS8_ at Base 8.0.0
  (optional=templinst|arch=amd64 arm64 ia64 loong64 m68k mips64el ppc64el riscv64 sparc64)_ZNSt8_Rb_treeISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiES0_IKS7_N4inja15FunctionStorage12FunctionDataEESt10_Select1stISC_ESt4lessIS7_ESaISC_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISC_ERS8_ at Base 8.0.0


=====================================
debian/patches/java-hardening.patch
=====================================
@@ -6,7 +6,7 @@ Forwarded: not-needed
 
 --- a/src/mapscript/java/CMakeLists.txt
 +++ b/src/mapscript/java/CMakeLists.txt
-@@ -26,6 +26,23 @@ else ()
+@@ -27,6 +27,23 @@ else ()
      swig_add_module(javamapscript java ../mapscript.i)
  endif ()
  
@@ -30,7 +30,7 @@ Forwarded: not-needed
  swig_link_libraries(javamapscript ${MAPSERVER_LIBMAPSERVER})
  
  add_custom_command(TARGET javamapscript
-@@ -37,4 +54,5 @@ add_custom_command(TARGET javamapscript
+@@ -38,4 +55,5 @@ add_custom_command(TARGET javamapscript
                        )
  
  set(mapscript_files $<TARGET_FILE:${SWIG_MODULE_javamapscript_REAL_NAME}>)


=====================================
debian/patches/perl-mapscript-install.patch
=====================================
@@ -14,7 +14,7 @@ Forwarded: not-needed
  include_directories(${PERL_INCLUDE_PATH})
  include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/swiginc)
  include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/)
-@@ -23,8 +24,8 @@ if(APPLE)
+@@ -24,8 +25,8 @@ if(APPLE)
    set_target_properties(perlmapscript PROPERTIES SUFFIX ".bundle")
  endif(APPLE)
  


=====================================
src/mapagg.cpp
=====================================
@@ -1324,7 +1324,7 @@ int aggCompositeRasterBuffer(imageObj *dest, rasterBufferObj *overlay,
     if (opacity == 100) {
       alpha_mask_i_ptr = NULL;
     } else {
-      unsigned char alpha = (unsigned char)(opacity * 2.55);
+      unsigned char alpha = (unsigned char)(MS_NINT(opacity * 2.55));
       if (!alpha_mask_i) {
         alpha_mask = (unsigned char *)msSmallMalloc(dest->width * dest->height);
         alpha_mask_i =
@@ -1350,12 +1350,13 @@ int aggCompositeRasterBuffer(imageObj *dest, rasterBufferObj *overlay,
   pixel_format pf(b);
   mapserver::comp_op_e comp_op = ms2agg_compop(comp);
   if (comp_op == mapserver::comp_op_src_over) {
-    r->m_renderer_base.blend_from(pf, 0, 0, 0, unsigned(opacity * 2.55));
+    r->m_renderer_base.blend_from(pf, 0, 0, 0,
+                                  unsigned(MS_NINT(opacity * 2.55)));
   } else {
     compop_pixel_format pixf(r->m_rendering_buffer);
     compop_renderer_base ren(pixf);
     pixf.comp_op(comp_op);
-    ren.blend_from(pf, 0, 0, 0, unsigned(opacity * 2.55));
+    ren.blend_from(pf, 0, 0, 0, unsigned(MS_NINT(opacity * 2.55)));
   }
   return MS_SUCCESS;
 #endif


=====================================
src/mapproject.c
=====================================
@@ -70,6 +70,7 @@ typedef struct {
 } pjCacheEntry;
 
 struct projectionContext {
+  void *thread_id;
   PJ_CONTEXT *proj_ctx;
   unsigned ms_proj_data_change_counter;
   int ref_count;
@@ -341,6 +342,7 @@ static void msProjErrorLogger(void *user_data, int level, const char *message) {
 projectionContext *msProjectionContextCreate(void) {
   projectionContext *ctx =
       (projectionContext *)msSmallCalloc(1, sizeof(projectionContext));
+  ctx->thread_id = msGetThreadId();
   ctx->proj_ctx = proj_context_create();
   if (ctx->proj_ctx == NULL) {
     msFree(ctx);
@@ -520,6 +522,28 @@ void msFreeProjectionExceptContext(projectionObj *p) {
   p->proj_ctx = ctx;
 }
 
+/************************************************************************/
+/*                      msProjectionContextClone()                      */
+/************************************************************************/
+
+static projectionContext *
+msProjectionContextClone(const projectionContext *ctxSrc) {
+  projectionContext *ctx = msProjectionContextCreate();
+  if (ctx) {
+    ctx->pj_cache_size = ctxSrc->pj_cache_size;
+    for (int i = 0; i < ctx->pj_cache_size; ++i) {
+      pjCacheEntry *entryDst = &(ctx->pj_cache[i]);
+      const pjCacheEntry *entrySrc = &(ctxSrc->pj_cache[i]);
+      entryDst->inStr = msStrdup(entrySrc->inStr);
+      entryDst->outStr = msStrdup(entrySrc->outStr);
+      entryDst->pj = proj_clone(
+          /* use target PROJ context for cloning */
+          ctx->proj_ctx, entrySrc->pj);
+    }
+  }
+  return ctx;
+}
+
 /************************************************************************/
 /*                 msProjectionInheritContextFrom()                     */
 /************************************************************************/
@@ -527,8 +551,12 @@ void msFreeProjectionExceptContext(projectionObj *p) {
 void msProjectionInheritContextFrom(projectionObj *pDst,
                                     const projectionObj *pSrc) {
   if (pDst->proj_ctx == NULL && pSrc->proj_ctx != NULL) {
-    pDst->proj_ctx = pSrc->proj_ctx;
-    pDst->proj_ctx->ref_count++;
+    if (pSrc->proj_ctx->thread_id == msGetThreadId()) {
+      pDst->proj_ctx = pSrc->proj_ctx;
+      pDst->proj_ctx->ref_count++;
+    } else {
+      pDst->proj_ctx = msProjectionContextClone(pSrc->proj_ctx);
+    }
   }
 }
 


=====================================
src/mapscript/csharp/CMakeLists.txt
=====================================
@@ -34,6 +34,7 @@ MARK_AS_ADVANCED(CSHARP_COMPILER)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/swiginc)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/csharp)
+include_directories(${PROJECT_BINARY_DIR}/src/mapscript/)
 SET (CMAKE_SWIG_OUTDIR "${CMAKE_CURRENT_BINARY_DIR}")
 if (WIN32)
 	SET( CMAKE_SWIG_FLAGS -namespace OSGeo.MapServer -DWIN32 ${MAPSERVER_COMPILE_DEFINITIONS})


=====================================
src/mapscript/java/CMakeLists.txt
=====================================
@@ -11,6 +11,7 @@ include_directories(${JNI_INCLUDE_DIRS})
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/swiginc)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/java)
+include_directories(${PROJECT_BINARY_DIR}/src/mapscript/)
 set (CMAKE_SWIG_OUTDIR "${CMAKE_CURRENT_BINARY_DIR}/edu/umn/gis/mapscript")
 set(CMAKE_SWIG_FLAGS -package edu.umn.gis.mapscript)
 


=====================================
src/mapscript/perl/CMakeLists.txt
=====================================
@@ -9,6 +9,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/)
 add_definitions(${PERL_EXTRA_C_FLAGS})
 set(CMAKE_SWIG_FLAGS -shadow -w314)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/perl)
+include_directories(${PROJECT_BINARY_DIR}/src/mapscript/)
 
 if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.7)
     swig_add_library(perlmapscript TYPE MODULE LANGUAGE perl5 SOURCES ../mapscript.i)


=====================================
src/mapscript/python/CMakeLists.txt
=====================================
@@ -7,6 +7,7 @@ include_directories(${Python_INCLUDE_DIRS})
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/swiginc)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/python)
+include_directories(${PROJECT_BINARY_DIR}/src/mapscript/)
 
 set(SwigFile ${PROJECT_SOURCE_DIR}/src/mapscript/mapscript.i)
 


=====================================
src/mapscript/python/pymodule.i
=====================================
@@ -82,13 +82,17 @@ CreateTupleFromDoubleArray( double *first, unsigned int size ) {
   $2 = &nListSize;
 }
 
-%typemap(argout,fragment="t_output_helper,CreateTupleFromDoubleArray") (double** argout, int* pnListSize) 
+%typemap(argout,fragment="CreateTupleFromDoubleArray") (double** argout, int* pnListSize) 
 {
    /* %typemap(argout) (double* argout, int* pnListSize)  */
   PyObject *r;
   r = CreateTupleFromDoubleArray(*$1, *$2);
   free(*$1);
-  $result = t_output_helper($result,r);
+  %#if SWIG_VERSION >= 0x040300
+    $result = SWIG_Python_AppendOutput($result, r, $isvoid);
+  %#else
+    $result = SWIG_Python_AppendOutput($result, r);
+  %#endif
 }
 
 /*


=====================================
src/mapscript/ruby/CMakeLists.txt
=====================================
@@ -5,6 +5,7 @@ include_directories(${RUBY_INCLUDE_DIRS})
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/swiginc)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/)
 include_directories(${PROJECT_SOURCE_DIR}/src/mapscript/ruby)
+include_directories(${PROJECT_BINARY_DIR}/src/mapscript/)
 
 if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER 3.7)
     swig_add_library(rubymapscript TYPE MODULE LANGUAGE ruby SOURCES ../mapscript.i)



View it on GitLab: https://salsa.debian.org/debian-gis-team/mapserver/-/compare/d2f2a79a0b7fe8b133de96174fdf691aadd02618...118969279b092954c0cd6ef9dbb253e4bff00a22

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://salsa.debian.org/debian-gis-team/mapserver/-/compare/d2f2a79a0b7fe8b133de96174fdf691aadd02618...118969279b092954c0cd6ef9dbb253e4bff00a22
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20240628/7141a06e/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list