gnu: Add bst.
[jackhill/guix/guix.git] / gnu / packages / gprolog.scm
index c362a7b..166bf33 100644 (file)
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages gprolog)
+  #:use-module (guix download)
   #:use-module (guix licenses)
   #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (srfi srfi-1))
 
 (define-public gprolog
   (package
     (name "gprolog")
-    (version "1.4.2")
+    (version "1.4.5")
     (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "http://www.gprolog.org/gprolog-"
-                          version ".tar.gz"))
-      (sha256
-       (base32
-        "0y25c2gwz41i6g28qyfjklrmanzgk0c8cr4jn2s7s8qgd9dnm1fm"))))
+      (origin
+        (method url-fetch)
+        ;; Recent versions are not hosted on the GNU mirrors.
+        (uri (list (string-append "http://gprolog.org/gprolog-" version
+                                  ".tar.gz")
+                   (string-append "mirror://gnu/gprolog/gprolog-" version
+                                  ".tar.gz")))
+        (sha256
+         (base32
+          "0z4cc42n3k6i35b8mr816iwsvrpxshw6d7dgz6s2h1hy0l7g1p5z"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases (alist-cons-before
-                 'configure 'change-dir-n-fix-shells
-                 (lambda _
-                   (chdir "src")
-                   (substitute* "configure"
-                     (("-/bin/sh")  (string-append "-"  (which "sh")))
-                     (("= /bin/sh") (string-append "= " (which "sh")))))
-                 %standard-phases)))
+     `(#:configure-flags
+       (list (string-append
+              "--with-install-dir=" %output "/share/gprolog"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'change-dir-n-fix-shells
+           (lambda _
+             (chdir "src")
+             (substitute* "configure"
+               (("-/bin/sh")  (string-append "-"  (which "sh")))
+               (("= /bin/sh") (string-append "= " (which "sh"))))
+             #t)))))
     (home-page "https://www.gnu.org/software/gprolog/")
     (synopsis "Prolog compiler")
     (description
-     "GNU Prolog is a free Prolog compiler with constraint solving over
-finite domains developed by Daniel Diaz.
-
-GNU Prolog accepts Prolog+constraint programs and produces native
-binaries (like gcc does from a C source).  The obtained executable is
-then stand-alone.  The size of this executable can be quite small since
-GNU Prolog can avoid to link the code of most unused built-in
-predicates.  The performances of GNU Prolog are very
-encouraging (comparable to commercial systems).
-
-Beside the native-code compilation, GNU Prolog offers a classical
-interactive interpreter (top-level) with a debugger.
-
-The Prolog part conforms to the ISO standard for Prolog with many
-extensions very useful in practice (e.g., global variables, OS
-interface, sockets).
+     "GNU Prolog is a standards-compliant Prolog compiler with constraint
+solving over finite domains.  It accepts Prolog+ constraint programs and
+produces a compiled, native binary which can function in a stand-alone
+manner.  It also features an interactive interpreter.")
+    (license (list gpl2+ lgpl3+))
 
-GNU Prolog also includes an efficient constraint solver over finite domains.
-This opens contraint logic programming to the user combining the power of
-constraint programming to the declarativity of logic programming.")
-    (license (list gpl2+ lgpl3+))))
+    ;; See 'configure' for the list of supported architectures.
+    (supported-systems (fold delete
+                             %supported-systems
+                             '("armhf-linux" "mips64el-linux")))))