diff options
author | Eric Bavier <bavier@member.fsf.org> | 2016-07-08 17:44:30 -0500 |
---|---|---|
committer | Eric Bavier <bavier@member.fsf.org> | 2016-07-20 21:16:25 -0500 |
commit | 29080870134c4ebc380d64a683d6445594357d2b (patch) | |
tree | 28fcb362db7a688191a01dad83358b32014d3856 /gnu/packages/maths.scm | |
parent | 8787c555d9552a13be4917c4f4a0e37b61ab7b5e (diff) | |
download | guix-29080870134c4ebc380d64a683d6445594357d2b.tar.gz |
gnu: superlu-dist: Remove non-free source.
* gnu/packages/maths.scm (superlu-dist)[source]: Replace non-free mc64ad.c source with stub.
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 464cf8d412..7b5b2abd21 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1281,6 +1281,30 @@ also provides threshold-based ILU factorization preconditioners.") "superlu_dist_" version ".tar.gz")) (sha256 (base32 "1hnak09yxxp026blq8zhrl7685yip16svwngh1wysqxf8z48vzfj")) + (modules '((guix build utils))) + (snippet + ;; Replace the non-free implementation of MC64 with a stub + '(begin + (use-modules (ice-9 regex) + (ice-9 rdelim)) + (call-with-output-file "SRC/mc64ad.c" + (lambda (port) + (display " +#include <stdio.h> +#include <stdlib.h> +void mc64id_(int *a) { + fprintf (stderr, \"SuperLU_DIST: non-free MC64 not available. Aborting.\\n\"); + abort (); +} +void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g, + int *h, int *i, int *j, int *k, double *l, int *m, int *n) { + fprintf (stderr, \"SuperLU_DIST: non-free MC64 not available. Aborting.\\n\"); + abort (); +}\n" port))) + (delete-file "SRC/mc64ad.f.bak") + (substitute* "SRC/util.c" ;adjust default algorithm + (("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag") + "RowPerm = NOROWPERM")))) (patches (search-patches "superlu-dist-scotchmetis.patch")))) (build-system gnu-build-system) (native-inputs |