summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Gilio <brettg@gnu.org>2020-01-03 21:44:18 -0600
committerBrett Gilio <brettg@gnu.org>2020-01-03 21:44:18 -0600
commit7eef98484c4eea2ce92fd53a86a001f006a78c16 (patch)
tree98f8d503fe0f4efc29e374de2ca2ae7911bbd6d9
parente4ed9929532794b5b52c795b7356ff7413829eed (diff)
gnu: Add swi-prolog.
* gnu/packages/prolog.scm (swi-prolog): New variable.
-rw-r--r--gnu/packages/prolog.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index 3eba35abed..4963691cb5 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -20,9 +20,23 @@
(define-module (gnu packages prolog)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages backup)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages libunwind)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public gprolog
@@ -68,3 +82,46 @@ manner. It also features an interactive interpreter.")
(supported-systems (fold delete
%supported-systems
'("armhf-linux" "mips64el-linux")))))
+
+(define-public swi-prolog
+ (package
+ (name "swi-prolog")
+ (version "8.1.19")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SWI-Prolog/swipl-devel.git")
+ (recursive? #t) ; TODO: Determine if this can be split out.
+ (commit (string-append "V" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0p1psf1lrkm9vdz5fggyfnr7hwyf6rvf80gygbw47hhfx46li8jh"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:parallel-build? #t
+ #:tests? #f ; FIXME: Some tests require network access.
+ #:configure-flags
+ (list "-DINSTALL_DOCUMENTATION=ON"
+ "-DBUILD_PDF_DOCUMENTATION=ON"
+ "-DSWIPL_INSTALL_IN_LIB=OFF"))) ; FIXME: Breaks RUNPATH validation.
+ (native-inputs
+ `(("zlib" ,zlib)
+ ("gmp" ,gmp)
+ ("readline" ,readline)
+ ("texinfo" ,texinfo)
+ ("libarchive" ,libarchive)
+ ("libunwind" ,libunwind)
+ ("libjpeg", libjpeg)
+ ("libxft" ,libxft)
+ ("fontconfig" ,fontconfig)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("openssl" ,openssl)))
+ (home-page "https://www.swi-prolog.org/")
+ (synopsis "ISO/Edinburgh-style Prolog interpreter")
+ (description "SWI-Prolog is a fast and powerful ISO/Edinburgh-style Prolog
+compiler with a rich set of built-in predicates. It offers a fast, robust and
+small environment which enables substantial applications to be developed with
+it.")
+ (license license:bsd-2)))