Skip to content

Commit

Permalink
games/naev: chase CHOLMOD’s upgrade
Browse files Browse the repository at this point in the history
Applying a patch from upstream.
See <naev/naev#2430>.

Also add bash to SHEBANG_GLOB in order to fix `make test'.
  • Loading branch information
thierry-FreeBSD committed Oct 31, 2023
1 parent 9f34a86 commit 9f750db
Show file tree
Hide file tree
Showing 5 changed files with 243 additions and 3 deletions.
5 changes: 2 additions & 3 deletions 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}/

Expand Down Expand Up @@ -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

Expand Down
28 changes: 28 additions & 0 deletions 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 */
10 changes: 10 additions & 0 deletions 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
@@ -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',
@@ -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')

0 comments on commit 9f750db

Please sign in to comment.