doc: Update htmlxref.cnf.
[guix.git] / gnu / packages / sml.scm
blob0874b81cc7b7094fd54c2c2ae6282c11af05bb0d
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca>
3 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
4 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
5 ;;;
6 ;;; This file is part of GNU Guix.
7 ;;;
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
12 ;;;
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 ;;; GNU General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
21 (define-module (gnu packages sml)
22   #:use-module (gnu packages lesstif)
23   #:use-module (gnu packages libffi)
24   #:use-module (gnu packages multiprecision)
25   #:use-module (gnu packages xorg)
26   #:use-module (guix build-system gnu)
27   #:use-module (guix download)
28   #:use-module (guix git-download)
29   #:use-module ((guix licenses) #:prefix license:)
30   #:use-module (guix packages))
32 (define-public polyml
33   (package
34     (name "polyml")
35     (version "5.7.1")
36     (source (origin
37               (method git-fetch)
38               (uri (git-reference
39                     (url "https://github.com/polyml/polyml.git")
40                     (commit (string-append "v" version))))
41               (file-name (git-file-name name version))
42               (sha256
43                (base32
44                 "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"))))
45     (build-system gnu-build-system)
46     (inputs
47      `(("gmp" ,gmp)
48        ("lesstif" ,lesstif)
49        ("libffi" ,libffi)
50        ("libx11" ,libx11)
51        ("libxt" ,libxt)))
52     (arguments
53      '(#:configure-flags
54        (list "--with-system-libffi=yes"
55              "--with-x=yes"
56              "--with-threads=yes"
57              "--with-gmp=yes")
58        #:phases
59        (modify-phases %standard-phases
60          (add-after 'build 'build-compiler
61            (lambda* (#:key make-flags parallel-build? #:allow-other-keys)
62              (define flags
63                (if parallel-build?
64                    (cons (format #f "-j~d" (parallel-job-count))
65                          make-flags)
66                    make-flags))
67              (apply system* "make" (append flags (list "compiler"))))))))
68     (home-page "http://www.polyml.org/")
69     (synopsis "Standard ML implementation")
70     (description "Poly/ML is a Standard ML implementation.  It is fully
71 compatible with the ML97 standard.  It includes a thread library, a foreign
72 function interface, and a symbolic debugger.")
73     ;; Some source files specify 'or any later version'; some don't
74     (license
75      (list license:lgpl2.1
76            license:lgpl2.1+))))