summary refs log tree commit diff
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);