1SUMMARY="SWI Prolog. Stable and free standard Prolog implementation"
2DESCRIPTION="SWI-Prolog is an open source implementation of the programming language Prolog, \
3commonly used for teaching and semantic web applications. It has a rich set of \
4features, libraries for constraint logic programming, multithreading, unit \
5testing, GUI, interfacing to Java, ODBC and others, literate programming, a web \
6server, SGML, RDF, RDFS, developer tools (including an IDE with a GUI debugger \
7and GUI profiler), and extensive documentation."
8HOMEPAGE="https://www.swi-prolog.org/"
9COPYRIGHT="1985-2018 VU University Amsterdam
10	CWI Amsterdam"
11LICENSE="BSD (2-clause)"
12REVISION="1"
13SOURCE_URI="https://www.swi-prolog.org/download/stable/src/swipl-$portVersion.tar.gz"
14CHECKSUM_SHA256="feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0"
15SOURCE_DIR="swipl-$portVersion"
16PATCHES="swi_prolog-$portVersion.patchset"
17
18ARCHITECTURES="?all !x86_gcc2"
19SECONDARY_ARCHITECTURES="?x86"
20
21libVersion="9.0.4"
22libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
23
24PROVIDES="
25	swi_prolog$secondaryArchSuffix = $portVersion
26	cmd:swipl$secondaryArchSuffix
27	cmd:swipl_ld$secondaryArchSuffix
28	cmd:swipl_rc$secondaryArchSuffix
29	lib:libswipl$secondaryArchSuffix = libVersionCompat
30	"
31REQUIRES="
32	haiku$secondaryArchSuffix
33	lib:libatomic$secondaryArchSuffix
34	lib:libgmp$secondaryArchSuffix
35	lib:libncurses$secondaryArchSuffix
36#	lib:libreadline$secondaryArchSuffix
37	lib:libz$secondaryArchSuffix
38	"
39
40BUILD_REQUIRES="
41	haiku${secondaryArchSuffix}_devel
42	gcc_syslibs${secondaryArchSuffix}_devel
43#	devel:libarchive$secondaryArchSuffix
44	devel:libexecinfo$secondaryArchSuffix
45	devel:libgmp$secondaryArchSuffix
46	devel:libncurses$secondaryArchSuffix
47#	devel:libodbc$secondaryArchSuffix
48#	devel:libpcre2_8$secondaryArchSuffix
49#	devel:libQt5Core$secondaryArchSuffix
50#	devel:libQt5Widgets$secondaryArchSuffix
51#	devel:libreadline$secondaryArchSuffix
52#	devel:libssl$secondaryArchSuffix
53#	devel:libuuid$secondaryArchSuffix >= 1.3
54#	devel:libyaml$secondaryArchSuffix
55	devel:libz$secondaryArchSuffix
56	"
57BUILD_PREREQUIRES="
58	cmd:cmake
59	cmd:gcc$secondaryArchSuffix
60	cmd:make
61	cmd:pkg_config$secondaryArchSuffix
62#	cmd:python3
63	"
64
65BUILD()
66{
67	cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
68		-DCMAKE_INSTALL_PREFIX=$prefix \
69		-DSWIPL_INSTALL_IN_LIB=$libDir \
70		-DSWIPL_INSTALL_IN_SHARE=$dataDir \
71		-DSWIPL_INSTALL_MANPAGES=$manDir/man1 \
72		-DSWIPL_INSTALL_PKGCONFIG=$libDir/pkgconfig \
73		-DHAVE_LIBATOMIC=ON \
74		-DBUILD_TESTING=OFF \
75		-DSWIPL_PACKAGES=OFF \
76		-DSWIPL_PACKAGES_ARCHIVE:BOOL=OFF \
77		-DSWIPL_PACKAGES_BASIC:BOOL=OFF \
78		-DSWIPL_PACKAGES_BDB:BOOL=OFF \
79		-DSWIPL_PACKAGES_JAVA:BOOL=OFF \
80		-DSWIPL_PACKAGES_ODBC:BOOL=OFF \
81		-DSWIPL_PACKAGES_PCRE:BOOL=OFF \
82		-DSWIPL_PACKAGES_QT:BOOL=OFF \
83		-DSWIPL_PACKAGES_SSL:BOOL=OFF \
84		-DSWIPL_PACKAGES_TERM:BOOL=OFF \
85		-DSWIPL_PACKAGES_TIPC:BOOL=OFF \
86		-DSWIPL_PACKAGES_X:BOOL=OFF \
87		-DSWIPL_PACKAGES_YAML:BOOL=OFF
88
89	make -C build $jobArgs
90}
91
92INSTALL()
93{
94	make -C build install
95}
96
97TEST()
98{
99	ctest --test-dir build
100}
101