gnu: superlu-dist: Remove non-free source.

* gnu/packages/maths.scm (superlu-dist)[source]: Replace non-free
mc64ad.c source with stub.
This commit is contained in:
Eric Bavier 2016-07-08 17:44:30 -05:00
parent 8787c555d9
commit 2908087013
No known key found for this signature in database
GPG Key ID: 1EBBD204781F962C

View File

@ -1281,6 +1281,30 @@ also provides threshold-based ILU factorization preconditioners.")
"superlu_dist_" version ".tar.gz")) "superlu_dist_" version ".tar.gz"))
(sha256 (sha256
(base32 "1hnak09yxxp026blq8zhrl7685yip16svwngh1wysqxf8z48vzfj")) (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")))) (patches (search-patches "superlu-dist-scotchmetis.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs