git: 9f750db0d308 - main - games/naev: chase CHOLMOD’s upgrade

From: Thierry Thomas <thierry_at_FreeBSD.org>
Date: Tue, 31 Oct 2023 14:10:05 UTC
The branch main has been updated by thierry:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9f750db0d30889ced1d7290b5e89ee9eb4d172b5

commit 9f750db0d30889ced1d7290b5e89ee9eb4d172b5
Author:     Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2023-10-31 10:29:10 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2023-10-31 14:04:27 +0000

    games/naev: chase CHOLMOD’s upgrade
    
    Applying a patch from upstream.
    See <https://github.com/naev/naev/issues/2430>.
    
    Also add bash to SHEBANG_GLOB in order to fix `make test'.
---
 games/naev/Makefile                                |   5 +-
 games/naev/files/patch-src_safelanes.c             |  28 ++++
 .../naev/files/patch-subprojects_SuiteSparse.wrap  |  10 ++
 ...ts_packagefiles_SuiteSparse_CHOLMOD_meson.build | 161 +++++++++++++++++++++
 ...ubprojects_packagefiles_SuiteSparse_meson.build |  42 ++++++
 5 files changed, 243 insertions(+), 3 deletions(-)

diff --git a/games/naev/Makefile b/games/naev/Makefile
index 39ca2bc48690..d41614feb303 100644
--- a/games/naev/Makefile
+++ b/games/naev/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	naev
 PORTVERSION=	0.10.6
 DISTVERSIONSUFFIX=	-source
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	games
 MASTER_SITES=	https://github.com/naev/naev/releases/download/v${PORTVERSION}/
 
@@ -41,8 +41,7 @@ USE_GL=		gl glu
 USE_GNOME=	intltool libxml2
 USE_SDL=	sdl2 image2
 
-SHEBANG_GLOB=	*.py
-SHEBANG_LANG=	python
+SHEBANG_GLOB=	*.py *.sh
 
 MESON_ARGS=	-Ddocs_c=disabled -Ddocs_lua=disabled
 
diff --git a/games/naev/files/patch-src_safelanes.c b/games/naev/files/patch-src_safelanes.c
new file mode 100644
index 000000000000..51acc9c865ec
--- /dev/null
+++ b/games/naev/files/patch-src_safelanes.c
@@ -0,0 +1,28 @@
+--- src/safelanes.c.orig	2023-07-09 05:08:54 UTC
++++ src/safelanes.c
+@@ -10,6 +10,12 @@
+ /** @cond */
+ #include <math.h>
+ 
++#if HAVE_SUITESPARSE_CHOLMOD_H
++#include <suitesparse/cholmod.h>
++#else /* HAVE_SUITESPARSE_CHOLMOD_H */
++#include <cholmod.h>
++#endif /* HAVE_SUITESPARSE_CHOLMOD_H */
++
+ #if HAVE_OPENBLAS_CBLAS_H
+ #   include <openblas/cblas.h>
+ #elif HAVE_CBLAS_OPENBLAS_H
+@@ -24,12 +30,6 @@
+ #   include <f77blas.h>
+ #   define I_LOVE_FORTRAN 1
+ #endif
+-
+-#if HAVE_SUITESPARSE_CHOLMOD_H
+-#include <suitesparse/cholmod.h>
+-#else /* HAVE_SUITESPARSE_CHOLMOD_H */
+-#include <cholmod.h>
+-#endif /* HAVE_SUITESPARSE_CHOLMOD_H */
+ 
+ #include "naev.h"
+ /** @endcond */
diff --git a/games/naev/files/patch-subprojects_SuiteSparse.wrap b/games/naev/files/patch-subprojects_SuiteSparse.wrap
new file mode 100644
index 000000000000..ced689b6d290
--- /dev/null
+++ b/games/naev/files/patch-subprojects_SuiteSparse.wrap
@@ -0,0 +1,10 @@
+--- subprojects/SuiteSparse.wrap.orig	2023-07-09 05:08:54 UTC
++++ subprojects/SuiteSparse.wrap
+@@ -1,6 +1,6 @@ url = https://github.com/DrTimothyAldenDavis/SuiteSpar
+ [wrap-git]
+ url = https://github.com/DrTimothyAldenDavis/SuiteSparse.git
+-revision = v5.13.0
++revision = v7.3.0
+ depth = 1
+ 
+ patch_directory = SuiteSparse
diff --git a/games/naev/files/patch-subprojects_packagefiles_SuiteSparse_CHOLMOD_meson.build b/games/naev/files/patch-subprojects_packagefiles_SuiteSparse_CHOLMOD_meson.build
new file mode 100644
index 000000000000..877cbc54d164
--- /dev/null
+++ b/games/naev/files/patch-subprojects_packagefiles_SuiteSparse_CHOLMOD_meson.build
@@ -0,0 +1,161 @@
+--- subprojects/packagefiles/SuiteSparse/CHOLMOD/meson.build.orig	2023-07-09 05:08:54 UTC
++++ subprojects/packagefiles/SuiteSparse/CHOLMOD/meson.build
+@@ -1,55 +1,106 @@
+-source = files([
+-   'Check/cholmod_check.c',
+-   'Check/cholmod_read.c',
+-   'Check/cholmod_write.c',
+-   'Cholesky/cholmod_amd.c',
+-   'Cholesky/cholmod_analyze.c',
+-   'Cholesky/cholmod_colamd.c',
+-   'Cholesky/cholmod_etree.c',
+-   'Cholesky/cholmod_factorize.c',
+-   'Cholesky/cholmod_postorder.c',
+-   'Cholesky/cholmod_rcond.c',
+-   'Cholesky/cholmod_resymbol.c',
+-   'Cholesky/cholmod_rowcolcounts.c',
+-   'Cholesky/cholmod_rowfac.c',
+-   'Cholesky/cholmod_solve.c',
+-   'Cholesky/cholmod_spsolve.c',
+-   'Core/cholmod_aat.c',
+-   'Core/cholmod_add.c',
+-   'Core/cholmod_band.c',
+-   'Core/cholmod_change_factor.c',
+-   'Core/cholmod_common.c',
+-   'Core/cholmod_complex.c',
+-   'Core/cholmod_copy.c',
+-   'Core/cholmod_dense.c',
+-   'Core/cholmod_error.c',
+-   'Core/cholmod_factor.c',
+-   'Core/cholmod_memory.c',
+-   'Core/cholmod_sparse.c',
+-   'Core/cholmod_transpose.c',
+-   'Core/cholmod_triplet.c',
+-   'Core/cholmod_version.c',
+-   'MatrixOps/cholmod_drop.c',
+-   'MatrixOps/cholmod_horzcat.c',
+-   'MatrixOps/cholmod_norm.c',
+-   'MatrixOps/cholmod_scale.c',
+-   'MatrixOps/cholmod_sdmult.c',
+-   'MatrixOps/cholmod_ssmult.c',
+-   'MatrixOps/cholmod_submatrix.c',
+-   'MatrixOps/cholmod_symmetry.c',
+-   'MatrixOps/cholmod_vertcat.c',
+-   'Modify/cholmod_rowadd.c',
+-   'Modify/cholmod_rowdel.c',
+-   'Modify/cholmod_updown.c',
+-   #'Partition/cholmod_camd.c',
+-   #'Partition/cholmod_ccolamd.c',
+-   #'Partition/cholmod_csymamd.c',
+-   #'Partition/cholmod_metis.c',
+-   #'Partition/cholmod_nesdis.c',
+-   #'Supernodal/cholmod_super_numeric.c',
+-   #'Supernodal/cholmod_super_solve.c',
+-   #'Supernodal/cholmod_super_symbolic.c',
+-])
++source = [
++   configure_file(input: 'Config/cholmod.h.in', output: 'cholmod.h', configuration: config),
++   'Check/cholmod_check.c',                    # 'Check/cholmod_l_check.c',
++   'Check/cholmod_read.c',                     # 'Check/cholmod_l_read.c',
++   'Check/cholmod_write.c',                    # 'Check/cholmod_l_write.c',
++   'Cholesky/cholmod_amd.c',                   # 'Cholesky/cholmod_l_amd.c',
++   'Cholesky/cholmod_analyze.c',               # 'Cholesky/cholmod_l_analyze.c',
++   'Cholesky/cholmod_colamd.c',                # 'Cholesky/cholmod_l_colamd.c',
++   'Cholesky/cholmod_etree.c',                 # 'Cholesky/cholmod_l_etree.c',
++   'Cholesky/cholmod_factorize.c',             # 'Cholesky/cholmod_l_factorize.c',
++   'Cholesky/cholmod_postorder.c',             # 'Cholesky/cholmod_l_postorder.c',
++   'Cholesky/cholmod_rcond.c',                 # 'Cholesky/cholmod_l_rcond.c',
++   'Cholesky/cholmod_resymbol.c',              # 'Cholesky/cholmod_l_resymbol.c',
++   'Cholesky/cholmod_rowcolcounts.c',          # 'Cholesky/cholmod_l_rowcolcounts.c',
++   'Cholesky/cholmod_rowfac.c',                # 'Cholesky/cholmod_l_rowfac.c',
++   'Cholesky/cholmod_solve.c',                 # 'Cholesky/cholmod_l_solve.c',
++   'Cholesky/cholmod_spsolve.c',               # 'Cholesky/cholmod_l_spsolve.c',
++   'MatrixOps/cholmod_drop.c',                 # 'MatrixOps/cholmod_l_drop.c',
++   'MatrixOps/cholmod_horzcat.c',              # 'MatrixOps/cholmod_l_horzcat.c',
++   'MatrixOps/cholmod_norm.c',                 # 'MatrixOps/cholmod_l_norm.c',
++   'MatrixOps/cholmod_scale.c',                # 'MatrixOps/cholmod_l_scale.c',
++   'MatrixOps/cholmod_sdmult.c',               # 'MatrixOps/cholmod_l_sdmult.c',
++   'MatrixOps/cholmod_ssmult.c',               # 'MatrixOps/cholmod_l_ssmult.c',
++   'MatrixOps/cholmod_submatrix.c',            # 'MatrixOps/cholmod_l_submatrix.c',
++   'MatrixOps/cholmod_symmetry.c',             # 'MatrixOps/cholmod_l_symmetry.c',
++   'MatrixOps/cholmod_vertcat.c',              # 'MatrixOps/cholmod_l_vertcat.c',
++   'Modify/cholmod_rowadd.c',                  # 'Modify/cholmod_l_rowadd.c',
++   'Modify/cholmod_rowdel.c',                  # 'Modify/cholmod_l_rowdel.c',
++   'Modify/cholmod_updown.c',                  # 'Modify/cholmod_l_updown.c',
++   'Utility/cholmod_aat.c',                     # 'Utility/cholmod_l_aat.c',
++   'Utility/cholmod_add.c',                     # 'Utility/cholmod_l_add.c',
++   'Utility/cholmod_add_size_t.c',              # 'Utility/cholmod_l_add_size_t.c',
++   'Utility/cholmod_alloc_factor.c',            # 'Utility/cholmod_l_alloc_factor.c',
++   'Utility/cholmod_alloc_work.c',              # 'Utility/cholmod_l_alloc_work.c',
++   'Utility/cholmod_allocate_dense.c',          # 'Utility/cholmod_l_allocate_dense.c',
++   'Utility/cholmod_allocate_factor.c',         # 'Utility/cholmod_l_allocate_factor.c',
++   'Utility/cholmod_allocate_sparse.c',         # 'Utility/cholmod_l_allocate_sparse.c',
++   'Utility/cholmod_allocate_triplet.c',        # 'Utility/cholmod_l_allocate_triplet.c',
++   'Utility/cholmod_allocate_work.c',           # 'Utility/cholmod_l_allocate_work.c',
++   'Utility/cholmod_band.c',                    # 'Utility/cholmod_l_band.c',
++   'Utility/cholmod_band_nnz.c',                # 'Utility/cholmod_l_band_nnz.c',
++   'Utility/cholmod_calloc.c',                  # 'Utility/cholmod_l_calloc.c',
++   'Utility/cholmod_change_factor.c',           # 'Utility/cholmod_l_change_factor.c',
++   'Utility/cholmod_clear_flag.c',              # 'Utility/cholmod_l_clear_flag.c',
++   'Utility/cholmod_copy.c',                    # 'Utility/cholmod_l_copy.c',
++   'Utility/cholmod_copy_dense.c',              # 'Utility/cholmod_l_copy_dense.c',
++   'Utility/cholmod_copy_dense2.c',             # 'Utility/cholmod_l_copy_dense2.c',
++   'Utility/cholmod_copy_factor.c',             # 'Utility/cholmod_l_copy_factor.c',
++   'Utility/cholmod_copy_sparse.c',             # 'Utility/cholmod_l_copy_sparse.c',
++   'Utility/cholmod_copy_triplet.c',            # 'Utility/cholmod_l_copy_triplet.c',
++   'Utility/cholmod_cumsum.c',                  # 'Utility/cholmod_l_cumsum.c',
++   'Utility/cholmod_dbound.c',                  # 'Utility/cholmod_l_dbound.c',
++   'Utility/cholmod_defaults.c',                # 'Utility/cholmod_l_defaults.c',
++   'Utility/cholmod_dense_nnz.c',               # 'Utility/cholmod_l_dense_nnz.c',
++   'Utility/cholmod_dense_to_sparse.c',         # 'Utility/cholmod_l_dense_to_sparse.c',
++   'Utility/cholmod_divcomplex.c',              # 'Utility/cholmod_l_divcomplex.c',
++   'Utility/cholmod_ensure_dense.c',            # 'Utility/cholmod_l_ensure_dense.c',
++   'Utility/cholmod_error.c',                   # 'Utility/cholmod_l_error.c',
++   'Utility/cholmod_eye.c',                     # 'Utility/cholmod_l_eye.c',
++   'Utility/cholmod_factor_to_sparse.c',        # 'Utility/cholmod_l_factor_to_sparse.c',
++   'Utility/cholmod_finish.c',                  # 'Utility/cholmod_l_finish.c',
++   'Utility/cholmod_free.c',                    # 'Utility/cholmod_l_free.c',
++   'Utility/cholmod_free_dense.c',              # 'Utility/cholmod_l_free_dense.c',
++   'Utility/cholmod_free_factor.c',             # 'Utility/cholmod_l_free_factor.c',
++   'Utility/cholmod_free_sparse.c',             # 'Utility/cholmod_l_free_sparse.c',
++   'Utility/cholmod_free_triplet.c',            # 'Utility/cholmod_l_free_triplet.c',
++   'Utility/cholmod_free_work.c',               # 'Utility/cholmod_l_free_work.c',
++   'Utility/cholmod_hypot.c',                   # 'Utility/cholmod_l_hypot.c',
++   'Utility/cholmod_malloc.c',                  # 'Utility/cholmod_l_malloc.c',
++   'Utility/cholmod_maxrank.c',                 # 'Utility/cholmod_l_maxrank.c',
++   'Utility/cholmod_memdebug.c',
++   'Utility/cholmod_mult_size_t.c',             # 'Utility/cholmod_l_mult_size_t.c',
++   'Utility/cholmod_mult_uint64_t.c',
++   'Utility/cholmod_nnz.c',                     # 'Utility/cholmod_l_nnz.c',
++   'Utility/cholmod_ones.c',                    # 'Utility/cholmod_l_ones.c',
++   'Utility/cholmod_pack_factor.c',             # 'Utility/cholmod_l_pack_factor.c',
++   'Utility/cholmod_ptranspose.c',              # 'Utility/cholmod_l_ptranspose.c',
++   'Utility/cholmod_realloc.c',                 # 'Utility/cholmod_l_realloc.c',
++   'Utility/cholmod_realloc_multiple.c',        # 'Utility/cholmod_l_realloc_multiple.c',
++   'Utility/cholmod_reallocate_column.c',       # 'Utility/cholmod_l_reallocate_column.c',
++   'Utility/cholmod_reallocate_factor.c',       # 'Utility/cholmod_l_reallocate_factor.c',
++   'Utility/cholmod_reallocate_sparse.c',       # 'Utility/cholmod_l_reallocate_sparse.c',
++   'Utility/cholmod_reallocate_triplet.c',      # 'Utility/cholmod_l_reallocate_triplet.c',
++   'Utility/cholmod_sbound.c',                  # 'Utility/cholmod_l_sbound.c',
++   'Utility/cholmod_score_comp.c',              # 'Utility/cholmod_l_score_comp.c',
++   'Utility/cholmod_set_empty.c',               # 'Utility/cholmod_l_set_empty.c',
++   'Utility/cholmod_sort.c',                    # 'Utility/cholmod_l_sort.c',
++   'Utility/cholmod_sparse_to_dense.c',         # 'Utility/cholmod_l_sparse_to_dense.c',
++   'Utility/cholmod_sparse_to_triplet.c',       # 'Utility/cholmod_l_sparse_to_triplet.c',
++   'Utility/cholmod_speye.c',                   # 'Utility/cholmod_l_speye.c',
++   'Utility/cholmod_spzeros.c',                 # 'Utility/cholmod_l_spzeros.c',
++   'Utility/cholmod_start.c',                   # 'Utility/cholmod_l_start.c',
++   'Utility/cholmod_transpose.c',               # 'Utility/cholmod_l_transpose.c',
++   'Utility/cholmod_transpose_sym.c',           # 'Utility/cholmod_l_transpose_sym.c',
++   'Utility/cholmod_transpose_unsym.c',         # 'Utility/cholmod_l_transpose_unsym.c',
++   'Utility/cholmod_triplet_to_sparse.c',       # 'Utility/cholmod_l_triplet_to_sparse.c',
++   'Utility/cholmod_version.c',                 # 'Utility/cholmod_l_version.c',
++   'Utility/cholmod_xtype.c',                   # 'Utility/cholmod_l_xtype.c',
++   'Utility/cholmod_zeros.c',                   # 'Utility/cholmod_l_zeros.c',
++
++
++   # Naev does not need Partition/* or Supernodal/*
++]
+ 
+ include = include_directories([
+    'Include',
diff --git a/games/naev/files/patch-subprojects_packagefiles_SuiteSparse_meson.build b/games/naev/files/patch-subprojects_packagefiles_SuiteSparse_meson.build
new file mode 100644
index 000000000000..c6b258eaa32e
--- /dev/null
+++ b/games/naev/files/patch-subprojects_packagefiles_SuiteSparse_meson.build
@@ -0,0 +1,42 @@
+--- subprojects/packagefiles/SuiteSparse/meson.build.orig	2023-07-09 05:08:54 UTC
++++ subprojects/packagefiles/SuiteSparse/meson.build
+@@ -1,9 +1,37 @@
+-project('SuiteSparse', 'c', version: '5.13.0')
++project('SuiteSparse', 'c', version: '7.3.0')
+ 
+ cc = meson.get_compiler('c')
+ c_args = cc.get_supported_arguments(['-Wno-implicit-const-int-float-conversion', '-Wno-implicit-fallthrough', '-Wno-maybe-uninitialized',
+-   '-Wno-sign-compare', '-Wno-unused-but-set-variable', '-Wno-unused-const-variable', '-Wno-unused-variable', '-Wno-unused-parameter'])
++   '-Wno-parentheses', '-Wno-sign-compare', '-Wno-unused-but-set-variable', '-Wno-unused-const-variable', '-Wno-unused-variable',
++   '-Wno-unused-function', '-Wno-unused-parameter'])
+ add_project_arguments(c_args, language: 'c')
++
++# Note to maintainers: after fetching subprojects, you can: cd subprojects/SuiteSparse; git fetch --all --tags; git diff v7.3.0 '**/CMakeLists.txt'
++# That should show when these defines should change.
++config = configuration_data()
++config.set('AMD_DATE', 'Sept 18, 2023')
++config.set('AMD_VERSION_MAJOR', 3)
++config.set('AMD_VERSION_MINOR', 2)
++config.set('AMD_VERSION_SUB', 1)
++config.set('CHOLMOD_DATE', 'Oct 23, 2023')
++config.set('CHOLMOD_VERSION_MAJOR', 5)
++config.set('CHOLMOD_VERSION_MINOR', 0)
++config.set('CHOLMOD_VERSION_SUB', 0)
++config.set('COLAMD_DATE', 'Sept 18, 2023')
++config.set('COLAMD_VERSION_MAJOR', 3)
++config.set('COLAMD_VERSION_MINOR', 2)
++config.set('COLAMD_VERSION_SUB', 1)
++config.set('CSPARSE_DATE', 'Sept 8, 2023')
++config.set('CSPARSE_VERSION_MAJOR', 4)
++config.set('CSPARSE_VERSION_MINOR', 2)
++config.set('CSPARSE_VERSION_SUB', 0)
++config.set ('FortranCInterface_GLOBAL__MACRO', '(name,NAME) name##_')
++config.set ('FortranCInterface_GLOBAL_MACRO', '(name,NAME) name##_')
++config.set('SuiteSparse_BLAS_integer', get_option('blas_integer'))
++config.set('SUITESPARSE_DATE', 'Oct 23, 2023')
++config.set('SUITESPARSE_VERSION_MAJOR', 7)
++config.set('SUITESPARSE_VERSION_MINOR', 3)
++config.set('SUITESPARSE_VERSION_SUB', 0)
+ 
+ subdir('SuiteSparse_config')
+ subdir('AMD')