summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Olesen <Mark.Olesen@gmx.net>2017-03-27 14:48:14 +0200
committerAdam J. Stewart <ajstewart426@gmail.com>2017-03-27 07:48:14 -0500
commit1c73f9d92f15b1613041af5e8064e3c25b1104df (patch)
treea67d7524b9ebbb4f39e82bbdd38e4bd0bd4fe203
parentdd7963046466f9957c42802c8a4cdc54da8eda20 (diff)
downloadspack-1c73f9d92f15b1613041af5e8064e3c25b1104df.tar.gz
spack-1c73f9d92f15b1613041af5e8064e3c25b1104df.tar.bz2
spack-1c73f9d92f15b1613041af5e8064e3c25b1104df.tar.xz
spack-1c73f9d92f15b1613041af5e8064e3c25b1104df.zip
ENH: add int64 variant to scotch (as per metis +int64) (#3536)
BUG: provide patch for scotch 6.0.4 if building non-threaded - corresponds to issue #20179 from the scotch issue trackter
-rw-r--r--var/spack/repos/builtin/packages/scotch/nonthreaded-6.0.4.patch11
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py13
2 files changed, 22 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/scotch/nonthreaded-6.0.4.patch b/var/spack/repos/builtin/packages/scotch/nonthreaded-6.0.4.patch
new file mode 100644
index 0000000000..89d17e253e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scotch/nonthreaded-6.0.4.patch
@@ -0,0 +1,11 @@
+--- scotch_6.0.4.orig/src/libscotch/common.h 2015-03-01 10:14:02.000000000 +0100
++++ scotch_6.0.4/src/libscotch/common.h 2017-03-27 13:07:18.644221999 +0200
+@@ -306,6 +306,8 @@
+ ThreadLaunchStartFunc stafptr; /*+ Pointer to start routine +*/
+ ThreadLaunchJoinFunc joifptr; /*+ Pointer to join routine +*/
+ ThreadBarrier barrdat; /*+ Barrier data structure +*/
++#else
++ int thrdnbr; /* dummy for non-threaded */
+ #endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
+ } ThreadGroupHeader;
+
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index f164037efa..b878349485 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -31,7 +31,7 @@ class Scotch(Package):
partitioning, graph clustering, and sparse matrix ordering."""
homepage = "http://www.labri.fr/perso/pelegrin/scotch/"
- url = "http://gforge.inria.fr/frs/download.php/latestfile/298/scotch_6.0.3.tar.gz"
+ url = "http://gforge.inria.fr/frs/download.php/latestfile/298/scotch_6.0.3.tar.gz" # noqa: E501
base_url = "http://gforge.inria.fr/frs/download.php/latestfile/298"
list_url = "http://gforge.inria.fr/frs/?group_id=248"
@@ -50,12 +50,17 @@ class Scotch(Package):
description='Build a shared version of the library')
variant('metis', default=True,
description='Build metis and parmetis wrapper libraries')
+ variant('int64', default=False,
+ description='Use int64_t for SCOTCH_Num typedef')
depends_on('flex@:2.6.1', type='build')
depends_on('bison', type='build')
depends_on('mpi', when='+mpi')
depends_on('zlib', when='+compression')
+ # Version-specific patches
+ patch('nonthreaded-6.0.4.patch', when='@6.0.4')
+
# NOTE: In cross-compiling environment parallel build
# produces weird linker errors.
parallel = False
@@ -87,9 +92,13 @@ class Scotch(Package):
'-DCOMMON_RANDOM_FIXED_SEED',
'-DSCOTCH_DETERMINISTIC',
'-DSCOTCH_RENAME',
- '-DIDXSIZE64'
+ '-DIDXSIZE64', # SCOTCH_Idx typedef: indices for addressing
]
+ # SCOTCH_Num typedef: size of integers in arguments
+ if '+int64' in self.spec:
+ cflags.append('-DINTSIZE64')
+
if self.spec.satisfies('platform=darwin'):
cflags.extend([
'-Drestrict=__restrict'