Files
haikuports/dev-lang/swi_prolog/swi_prolog-9.0.4.recipe

101 lines
3.0 KiB
Bash

SUMMARY="SWI Prolog. Stable and free standard Prolog implementation"
DESCRIPTION="SWI-Prolog is an open source implementation of the programming language Prolog, \
commonly used for teaching and semantic web applications. It has a rich set of \
features, libraries for constraint logic programming, multithreading, unit \
testing, GUI, interfacing to Java, ODBC and others, literate programming, a web \
server, SGML, RDF, RDFS, developer tools (including an IDE with a GUI debugger \
and GUI profiler), and extensive documentation."
HOMEPAGE="https://www.swi-prolog.org/"
COPYRIGHT="1985-2018 VU University Amsterdam
CWI Amsterdam"
LICENSE="BSD (2-clause)"
REVISION="1"
SOURCE_URI="https://www.swi-prolog.org/download/stable/src/swipl-$portVersion.tar.gz"
CHECKSUM_SHA256="feb2815a51d34fa81cb34e8149830405935a7e1d1c1950461239750baa8b49f0"
SOURCE_DIR="swipl-$portVersion"
PATCHES="swi_prolog-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="9.0.4"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
swi_prolog$secondaryArchSuffix = $portVersion
cmd:swipl$secondaryArchSuffix
cmd:swipl_ld$secondaryArchSuffix
cmd:swipl_rc$secondaryArchSuffix
lib:libswipl$secondaryArchSuffix = libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libatomic$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
# lib:libreadline$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
gcc_syslibs${secondaryArchSuffix}_devel
# devel:libarchive$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
# devel:libodbc$secondaryArchSuffix
# devel:libpcre2_8$secondaryArchSuffix
# devel:libQt5Core$secondaryArchSuffix
# devel:libQt5Widgets$secondaryArchSuffix
# devel:libreadline$secondaryArchSuffix
# devel:libssl$secondaryArchSuffix
# devel:libuuid$secondaryArchSuffix >= 1.3
# devel:libyaml$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
# cmd:python3
"
BUILD()
{
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DSWIPL_INSTALL_IN_LIB=$libDir \
-DSWIPL_INSTALL_IN_SHARE=$dataDir \
-DSWIPL_INSTALL_MANPAGES=$manDir/man1 \
-DSWIPL_INSTALL_PKGCONFIG=$libDir/pkgconfig \
-DHAVE_LIBATOMIC=ON \
-DBUILD_TESTING=OFF \
-DSWIPL_PACKAGES=OFF \
-DSWIPL_PACKAGES_ARCHIVE:BOOL=OFF \
-DSWIPL_PACKAGES_BASIC:BOOL=OFF \
-DSWIPL_PACKAGES_BDB:BOOL=OFF \
-DSWIPL_PACKAGES_JAVA:BOOL=OFF \
-DSWIPL_PACKAGES_ODBC:BOOL=OFF \
-DSWIPL_PACKAGES_PCRE:BOOL=OFF \
-DSWIPL_PACKAGES_QT:BOOL=OFF \
-DSWIPL_PACKAGES_SSL:BOOL=OFF \
-DSWIPL_PACKAGES_TERM:BOOL=OFF \
-DSWIPL_PACKAGES_TIPC:BOOL=OFF \
-DSWIPL_PACKAGES_X:BOOL=OFF \
-DSWIPL_PACKAGES_YAML:BOOL=OFF
make -C build $jobArgs
}
INSTALL()
{
make -C build install
}
TEST()
{
ctest --test-dir build
}