mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: igraph: Update to 0.10.7.
* gnu/packages/graph.scm (igraph): Update to 0.10.7. [source]: Use git-fetch. Apply patch. <snippet>: Remove the entire "vendor" and "src/isomorphism/bliss" directories. Patch CMakeLists.txt to not build and use vendored dependencies. [arguments]: Add -DIGRAPH_INTEGER_SIZE=64 to #:configure-flags. Add phases to use unbundled libraries and build documentation. [native-inputs]: Add bison, docbook-xml-4.3, docbook-xsl, flex, pcg-c, python, source-highlight and xmlto. [inputs]: Remove gmp and libxml2. Add bliss and suitesparse-cxsparse. * gnu/packages/patches/igraph-fix-varargs-integer-size.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
aa4959e602
commit
808f919063
3 changed files with 127 additions and 27 deletions
39
gnu/packages/patches/igraph-fix-varargs-integer-size.patch
Normal file
39
gnu/packages/patches/igraph-fix-varargs-integer-size.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
If the size of int is different from IGRAPH_INTEGER_SIZE, the integer size
|
||||
passed to these vararg arguments is different from the assumed one,
|
||||
leading to undefined behavior.
|
||||
Submitted upstream: https://github.com/igraph/igraph/pull/2423
|
||||
|
||||
|
||||
diff -ur a/examples/simple/igraph_union.c b/examples/simple/igraph_union.c
|
||||
--- a/examples/simple/igraph_union.c
|
||||
+++ b/examples/simple/igraph_union.c
|
||||
@@ -103,7 +103,7 @@
|
||||
igraph_vector_ptr_init(&glist, 10);
|
||||
for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
|
||||
VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
|
||||
- igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
|
||||
+ igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
|
||||
igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_DIRECTED);
|
||||
igraph_vector_int_destroy(&v);
|
||||
}
|
||||
@@ -123,7 +123,7 @@
|
||||
igraph_vector_ptr_init(&glist, 10);
|
||||
for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
|
||||
VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
|
||||
- igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
|
||||
+ igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
|
||||
igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_UNDIRECTED);
|
||||
igraph_vector_int_destroy(&v);
|
||||
}
|
||||
diff -ur a/src/core/matrix.pmt b/src/core/matrix.pmt
|
||||
--- a/src/core/matrix.pmt
|
||||
+++ b/src/core/matrix.pmt
|
||||
@@ -1863,7 +1863,7 @@
|
||||
#ifdef FPRINTFUNC_ALIGNED
|
||||
FPRINTFUNC_ALIGNED(file, VECTOR(column_width)[j], MATRIX(*m, i, j));
|
||||
#else
|
||||
- fprintf(file, format, VECTOR(column_width)[j], MATRIX(*m, i, j));
|
||||
+ fprintf(file, format, (int) VECTOR(column_width)[j], MATRIX(*m, i, j));
|
||||
#endif
|
||||
}
|
||||
fprintf(file, "\n");
|
Loading…
Add table
Add a link
Reference in a new issue