From 9c63fe6c1f855a09a62d6d74739ce6eced6fdef8 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Fri, 1 Feb 2013 16:11:29 +0000 Subject: gnu: Add GNU Prolog. * gnu/packages/gprolog.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/gprolog.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 gnu/packages/gprolog.scm diff --git a/Makefile.am b/Makefile.am index 8588266501..f35e2c9619 100644 --- a/Makefile.am +++ b/Makefile.am @@ -78,6 +78,7 @@ MODULES = \ gnu/packages/gnupg.scm \ gnu/packages/gnutls.scm \ gnu/packages/gperf.scm \ + gnu/packages/gprolog.scm \ gnu/packages/groff.scm \ gnu/packages/gsasl.scm \ gnu/packages/guile.scm \ diff --git a/gnu/packages/gprolog.scm b/gnu/packages/gprolog.scm new file mode 100644 index 0000000000..ba84d9a836 --- /dev/null +++ b/gnu/packages/gprolog.scm @@ -0,0 +1,72 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Nikita Karetnikov +;;; +;;; 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 gprolog) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public gprolog + (package + (name "gprolog") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.gprolog.org/gprolog-" + version ".tar.gz")) + (sha256 + (base32 + "0y25c2gwz41i6g28qyfjklrmanzgk0c8cr4jn2s7s8qgd9dnm1fm")))) + (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))) + (home-page "https://www.gnu.org/software/gprolog/") + (synopsis + "GNU Prolog, a free Prolog compiler with constraint solving over +finite domains") + (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 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+)))) \ No newline at end of file -- cgit v1.2.3