From 9b7ee28d5700b47ae34bd47c32d250f042fbdbbd Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sat, 15 Jul 2017 18:17:25 -0400 Subject: [PATCH] gnu: Add Poly/ML. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/sml.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/sml.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 gnu/packages/sml.scm diff --git a/gnu/local.mk b/gnu/local.mk index 8e3a52d28c..54dd2f2380 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -363,6 +363,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/skribilo.scm \ %D%/packages/slang.scm \ %D%/packages/smalltalk.scm \ + %D%/packages/sml.scm \ %D%/packages/speech.scm \ %D%/packages/spice.scm \ %D%/packages/ssh.scm \ diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm new file mode 100644 index 0000000000..6e57c4a4a0 --- /dev/null +++ b/gnu/packages/sml.scm @@ -0,0 +1,72 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Andy Patterson +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages sml) + #:use-module (gnu packages lesstif) + #:use-module (gnu packages libffi) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages xorg) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public polyml + (package + (name "polyml") + (version "5.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/polyml/polyml/archive/v" + version ".tar.gz")) + (sha256 + (base32 "0ycjl746h0m22w9nsdssjl47d56jih12gpkdg3yw65gakj70sd0r")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (inputs + `(("gmp" ,gmp) + ("lesstif",lesstif) + ("libffi" ,libffi) + ("libx11" ,libx11) + ("libxt" ,libxt))) + (arguments + '(#:configure-flags + (list "--with-system-libffi=yes" + "--with-x=yes" + "--with-threads=yes" + "--with-gmp=yes") + #:phases + (modify-phases %standard-phases + (add-after 'build 'build-compiler + (lambda* (#:key make-flags parallel-build? #:allow-other-keys) + (define flags + (if parallel-build? + (cons (format #f "-j~d" (parallel-job-count)) + make-flags) + make-flags)) + (apply system* "make" (append flags (list "compiler")))))))) + (home-page "http://www.polyml.org/") + (synopsis "Standard ML implementation") + (description "Poly/ML is a Standard ML implementation. It is fully +compatible with the ML97 standard. It includes a thread library, a foreign +function interface, and a symbolic debugger.") + ;; Some source files specify 'or any later version'; some don't + (license + (list license:lgpl2.1 + license:lgpl2.1+))))