summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/maths.scm8
-rw-r--r--gnu/packages/patches/pt-scotch-build-parallelism.patch13
-rw-r--r--gnu/packages/patches/scotch-build-parallelism.patch39
-rw-r--r--gnu/packages/patches/scotch-graph-diam-64.patch27
-rw-r--r--gnu/packages/patches/scotch-graph-induce-type-64.patch19
6 files changed, 93 insertions, 17 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 3ce87ee444..cbf2c6f1b4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1014,7 +1014,6 @@ dist_patch_DATA = \
%D%/packages/patches/psm-arch.patch \
%D%/packages/patches/psm-ldflags.patch \
%D%/packages/patches/psm-repro.patch \
- %D%/packages/patches/pt-scotch-build-parallelism.patch \
%D%/packages/patches/pulseaudio-fix-mult-test.patch \
%D%/packages/patches/pulseaudio-longer-test-timeout.patch \
%D%/packages/patches/pycairo-wscript.patch \
@@ -1086,6 +1085,9 @@ dist_patch_DATA = \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \
+ %D%/packages/patches/scotch-build-parallelism.patch \
+ %D%/packages/patches/scotch-graph-diam-64.patch \
+ %D%/packages/patches/scotch-graph-induce-type-64.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/shadow-CVE-2018-7169.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 353aa41167..aa382cda6b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2199,16 +2199,18 @@ implemented in ANSI C, and MPI for communications.")
(define-public scotch
(package
(name "scotch")
- (version "6.0.4")
+ (version "6.0.5a")
(source
(origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"latestfile/298/scotch_" version ".tar.gz"))
(sha256
- (base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm"))
+ (base32 "0vsmgjz8qv80di3ljmc7hbdsizxxxwy2b9rgd2fl1mdc6dgbj8av"))
(patches (search-patches "scotch-test-threading.patch"
- "pt-scotch-build-parallelism.patch"))))
+ "scotch-build-parallelism.patch"
+ "scotch-graph-induce-type-64.patch"
+ "scotch-graph-diam-64.patch"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
diff --git a/gnu/packages/patches/pt-scotch-build-parallelism.patch b/gnu/packages/patches/pt-scotch-build-parallelism.patch
deleted file mode 100644
index 2ac5f27f52..0000000000
--- a/gnu/packages/patches/pt-scotch-build-parallelism.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Building with -j may cause the esmumps_main target to fail with a "no rule for
-dependency libptesmumps.a" error. Fix the dependency name.
-
---- scotch_6.0.4/src/esmumps/Makefile 2012-12-01 08:29:29.000000000 -0600
-+++ scotch_6.0.4/src/esmumps/Makefile 2015-06-15 17:29:23.279605734 -0500
-@@ -160,6 +160,6 @@
- order.h \
- symbol.h \
- esmumps.h \
-- lib$(ESMUMPSLIB)$(LIB) \
-+ libesmumps$(LIB) \
- $(libdir)/lib$(SCOTCHLIB)$(LIB) \
- $(libdir)/lib$(SCOTCHLIB)errexit$(LIB)
diff --git a/gnu/packages/patches/scotch-build-parallelism.patch b/gnu/packages/patches/scotch-build-parallelism.patch
new file mode 100644
index 0000000000..a669f1dbeb
--- /dev/null
+++ b/gnu/packages/patches/scotch-build-parallelism.patch
@@ -0,0 +1,39 @@
+Fixes make with -j, otherwise scotch.h may not be generated by the time make
+tries to compile library_graph_diam.o et al.
+
+Reported upstream at
+https://gforge.inria.fr/tracker/index.php?func=detail&aid=21651&group_id=248&atid=1081
+
+diff --git a/src/libscotch/Makefile b/src/libscotch/Makefile
+index 9898894..b0ee14c 100644
+--- a/src/libscotch/Makefile
++++ b/src/libscotch/Makefile
+@@ -2229,6 +2229,28 @@ library_graph_color_f$(OBJ) : library_graph_color_f.c \
+ common.h \
+ scotch.h
+
++library_graph_diam$(OBJ) : library_graph_diam.c \
++ module.h \
++ common.h \
++ graph.h \
++ scotch.h
++
++library_graph_diam_f$(OBJ) : library_graph_diam.c \
++ module.h \
++ common.h \
++ scotch.h
++
++library_graph_induce$(OBJ) : library_graph_diam.c \
++ module.h \
++ common.h \
++ graph.h \
++ scotch.h
++
++library_graph_induce_f$(OBJ) : library_graph_diam.c \
++ module.h \
++ common.h \
++ scotch.h
++
+ library_graph_io_chac$(OBJ) : library_graph_io_chac.c \
+ module.h \
+ common.h \
diff --git a/gnu/packages/patches/scotch-graph-diam-64.patch b/gnu/packages/patches/scotch-graph-diam-64.patch
new file mode 100644
index 0000000000..2ae31e3c3b
--- /dev/null
+++ b/gnu/packages/patches/scotch-graph-diam-64.patch
@@ -0,0 +1,27 @@
+Fixes test_scotch_graph_diam test with -DINTSIZE64.
+
+Reported upstream at
+https://gforge.inria.fr/tracker/index.php?func=detail&aid=21650&group_id=248&atid=1081
+
+--- scotch-6.0.5a/src/libscotch/library.h
++++ scotch-6.0.5a/src/libscotch/library.h
+@@ -187,6 +187,7 @@ SCOTCH_Num SCOTCH_graphBase (SCOTCH_Graph * const, const SCO
+ int SCOTCH_graphCheck (const SCOTCH_Graph * const);
+ void SCOTCH_graphSize (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const);
+ void SCOTCH_graphData (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const);
++SCOTCH_Num SCOTCH_graphDiamPV (SCOTCH_Graph * const);
+ void SCOTCH_graphStat (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const);
+ int SCOTCH_graphCoarsen (const SCOTCH_Graph * const, const SCOTCH_Num, const double, const SCOTCH_Num, SCOTCH_Graph * const, SCOTCH_Num * const);
+ int SCOTCH_graphCoarsenMatch (const SCOTCH_Graph * const, SCOTCH_Num * const, const double, const SCOTCH_Num, SCOTCH_Num * const);
+--- scotch-6.0.5a/src/libscotch/library_graph_diam.c
++++ scotch-6.0.5a/src/libscotch/library_graph_diam.c
+@@ -72,8 +72,7 @@
+
+ SCOTCH_Num
+ SCOTCH_graphDiamPV (
+-SCOTCH_Graph * const grafptr,
+-const SCOTCH_Num baseval)
++SCOTCH_Graph * const grafptr)
+ {
+ return ((SCOTCH_Num) graphDiamPV ((Graph * const) grafptr));
+ }
diff --git a/gnu/packages/patches/scotch-graph-induce-type-64.patch b/gnu/packages/patches/scotch-graph-induce-type-64.patch
new file mode 100644
index 0000000000..d2eee52a7b
--- /dev/null
+++ b/gnu/packages/patches/scotch-graph-induce-type-64.patch
@@ -0,0 +1,19 @@
+Fixes return type of SCOTCH_graphInduceList and SCOTCH_graphInducePart
+so that the definition matches with -DINTSIZE64.
+
+Reported upstream at
+https://gforge.inria.fr/tracker/index.php?func=detail&aid=21608&group_id=248&atid=1081
+
+--- scotch_6.0.5a/src/libscotch/library.h.orig 2018-02-11 10:52:38.000000000 -0600
++++ scotch_6.0.5a/src/libscotch/library.h 2018-02-23 16:56:41.000000000 -0600
+@@ -199,8 +199,8 @@
+ int SCOTCH_graphGeomSaveChac (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
+ int SCOTCH_graphGeomSaveMmkt (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
+ int SCOTCH_graphGeomSaveScot (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
+-int SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
+-int SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
++SCOTCH_Num SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
++SCOTCH_Num SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
+
+ int SCOTCH_graphMapInit (const SCOTCH_Graph * const, SCOTCH_Mapping * const, const SCOTCH_Arch * const, SCOTCH_Num * const);
+ void SCOTCH_graphMapExit (const SCOTCH_Graph * const, SCOTCH_Mapping * const);