gnu: Add mlucas.

* gnu/packages/maths.scm (mlucas): New variable.
This commit is contained in:
Arun Isaac 2019-03-22 09:15:03 +05:30
parent cce9e3792a
commit 413f61265e
No known key found for this signature in database
GPG key ID: 2E25EE8B61802BB3

View file

@ -4827,3 +4827,54 @@ (define-public dune-pdelab
built on top of DUNE, the Distributed and Unified Numerics Environment.") built on top of DUNE, the Distributed and Unified Numerics Environment.")
;; Either GPL version 2 with "runtime exception" or LGPLv3+. ;; Either GPL version 2 with "runtime exception" or LGPLv3+.
(license (list license:lgpl3+ license:gpl2)))) (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+)))