summaryrefslogtreecommitdiff
path: root/nongnu/packages/sml.scm
blob: 6277dfba592eef3012676f87b585635c885c7131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
(define-module (nongnu packages sml)
  #:use-module (guix gexp)
  #:use-module ((guix licenses) #:prefix license-gnu:)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module ((nonguix licenses) #:prefix license:)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages base)
  #:use-module (gnu packages gawk)
  #:use-module (gnu packages gcc)
  #:use-module (gnu packages multiprecision)
  #:use-module (gnu packages perl))

(define-public mosml
  (let ((commit "13c581aec46eea134e478f2e2b6456278e36ecce")
        (revision "0"))
    (package
      (name "mosml")
      (version (git-version "2.10.1" revision commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/kfl/mosml")
               (commit commit)))
         (file-name (git-file-name name version))
         (sha256
          (base32 "191x0kcpybw5zvxsgl5if9x53b3w8zm0z72xfg1x5jwqslmk9bpr"))))
      (build-system gnu-build-system)
      (arguments
       (list #:make-flags
             #~(list (string-append "CC=" #$(cc-for-target))
                     (string-append "PREFIX=" #$output)
                     "-C" "src" )
             #:phases
             #~(modify-phases %standard-phases
                 (delete 'configure)    ;No configure script.
                 (add-after 'unpack 'fix-makefile-bin-sh
                   (lambda _
                     (substitute* "src/Makefile.inc"
                       (("SHELL=/bin/sh")
                        (string-append "SHELL=" (which "sh"))))))
                 (delete 'check)
                 (add-after 'install 'check
                   (lambda* (#:key tests? #:allow-other-keys)
                     (when tests?
                       (invoke "make" "-C" "src/test"
                               (string-append
                                "MOSML=" #$output "/bin/mosml"))))))))
      (native-inputs (list perl))
      (inputs (list gmp))
      (home-page "https://mosml.org")
      (synopsis
       "Moscow ML implementation of the Standard ML programming language")
      (description
       "Moscow ML is a light-weight implementation of Standard ML (SML), a
strict functional language used in teaching and research")
      (license
       ;; XXX: This package is redistributable but has licensing issue, its own
       ;; code is GPL but contain non-free bundled sources.  GPL is commented
       ;; here because showing it along with nonfree ones is confusing.
       (list ;; license-gnu:gpl2
             (license:nonfree "file://copyright/copyrght.att")
             (license:nonfree "file://copyright/copyrght.cl"))))))