diff options
-rw-r--r-- | gnu/packages/maths.scm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a27633f30d..cc7459f674 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4827,3 +4827,54 @@ implemented as callable objects, and bases of finite element spaces.") built on top of DUNE, the Distributed and Unified Numerics Environment.") ;; Either GPL version 2 with "runtime exception" or LGPLv3+. (license (list license:lgpl3+ license:gpl2)))) + +(define-public mlucas + (package + (name "mlucas") + (version "18") + (source + (origin + (method url-fetch) + (uri (string-append + "https://mersenneforum.org/mayer/src/C/mlucas_v" version ".txz")) + (sha256 + (base32 + "1ax12qj9lyvnx4vs3gx7l8r3wx5gjbsdswp5f00ik9z0wz7xf297")))) + (build-system gnu-build-system) + (inputs + `(("python2" ,python-2))) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (chdir "src") + (call-with-output-file "Makefile" + (lambda (port) + (format port "CC = gcc +CFLAGS = -O3 ~a -DUSE_THREADS +LDLIBS = -lm -lpthread -lrt +Mlucas: $(addsuffix .o,$(basename $(wildcard *.c))) +" + ,(let ((system (or (%current-target-system) + (%current-system)))) + (cond + ((string-prefix? "x86_64" system) "-DUSE_SSE2") + (else "")))))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (install-file "Mlucas" bin) + (install-file "primenet.py" bin)) + #t))))) + (home-page "https://www.mersenne.org") + (synopsis "Great Internet Mersenne Prime Search (GIMPS) distributed computing client") + (description "Mlucas performs Lucas-Lehmer primality testing of Mersenne +numbers in search of a world-record prime. You may use it to test any +suitable number as you wish, but it is preferable that you do so in a +coordinated fashion, as part of the Great Internet Mersenne Prime +Search (GIMPS). Mlucas also includes a simple Python script for assignment +management via the GIMPS project's Primenet server.") + (license license:gpl2+))) |