pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang swi-prolog*: Update to 8.0.1
details: https://anonhg.NetBSD.org/pkgsrc/rev/8f07d35ce5d9
branches: trunk
changeset: 330234:8f07d35ce5d9
user: leot <leot%pkgsrc.org@localhost>
date: Mon Feb 25 15:20:44 2019 +0000
description:
swi-prolog*: Update to 8.0.1
pkgsrc changes:
- Rename swi-prolog to swipl to follow upstream nomenclature
- Add all main packages (except X11) to swi-prolog-lite.
After CMake migration in order to generate the documentation and being able
to use it (e.g. via help/2) it is needed to add basic, archive, ssl and term
packages.
All X11 packages are provided by swi-prolog-packages.
- Adjust pkgsrc Makefile-s logic to upstream CMake migration:
o Uncoditionally disable not wanted packages in Makefile.common (to avoid
possible PLIST mismatches; please note that this will probably disable
tipc package on Linux!).
All other installed packages are enabled/disabled via
swi-prolog-{lite,packages,jpl} Makefile.
o Add libarchive, ossp-uuid and openssl build dependency to
swi-prolog-packages. Despite these are provided by swi-prolog-lite
they are needed as part of the build of swi-prolog-packages too.
o Remove no more needed logic to check and eventually start X server to
build documentation. Should address PR pkg/42047.
- Remove an unconditional CHECK_WRKREF_SKIP, this was needed on FreeBSD
but unfortunately it is not clear why. If this is still needed please let
me know in order to try to investigate further and address that.
- Bump API requirements to 8.0.1 in buildlink3.mk to be on the safe side
now that shared libraries are provided on all platforms.
Changes:
8.0.1
-----
Indexing on multiple arguments together, indexing inside compounds,
Mode-directed tabling, saved states using ZIP files, many deployment
enhancements. Moved build environment to CMake and removed most of
the build tool dependencies. Builds documentation along with the
binary.
Please note that this is just a short summary. Unfortunately the
complete changelog is very long, full changelog can be found at:
<http://www.swi-prolog.org/ChangeLog?branch=stable&from=7.6.4&to=8.0.1>
diffstat:
lang/swi-prolog-jpl/Makefile | 58 +-
lang/swi-prolog-jpl/PLIST | 8 +-
lang/swi-prolog-lite/DESCR | 4 +-
lang/swi-prolog-lite/Makefile | 33 +-
lang/swi-prolog-lite/Makefile.common | 36 +-
lang/swi-prolog-lite/PLIST | 1235 ++++-
lang/swi-prolog-lite/PLIST.Darwin | 3 -
lang/swi-prolog-lite/PLIST.Linux-x86_64 | 4 -
lang/swi-prolog-lite/buildlink3.mk | 5 +-
lang/swi-prolog-lite/distinfo | 17 +-
lang/swi-prolog-lite/patches/patch-ad | 19 -
lang/swi-prolog-lite/patches/patch-packages_Dialect.defs.in | 15 -
lang/swi-prolog-lite/patches/patch-src_configure | 15 -
lang/swi-prolog-lite/patches/patch-src_os_pl-files.c | 40 -
lang/swi-prolog-lite/patches/patch-src_pl-funcs.h | 16 -
lang/swi-prolog-lite/patches/patch-src_pl-rsort.c | 217 -
lang/swi-prolog-lite/patches/patch-src_pl-thread.c | 22 -
lang/swi-prolog-packages/DESCR | 4 +-
lang/swi-prolog-packages/Makefile | 108 +-
lang/swi-prolog-packages/PLIST | 2256 ++++------
lang/swi-prolog/Makefile | 4 +-
21 files changed, 1946 insertions(+), 2173 deletions(-)
diffs (truncated from 4297 to 300 lines):
diff -r 6f7144eb7e95 -r 8f07d35ce5d9 lang/swi-prolog-jpl/Makefile
--- a/lang/swi-prolog-jpl/Makefile Mon Feb 25 14:53:30 2019 +0000
+++ b/lang/swi-prolog-jpl/Makefile Mon Feb 25 15:20:44 2019 +0000
@@ -1,50 +1,46 @@
-# $NetBSD: Makefile,v 1.5 2018/12/10 14:59:50 leot Exp $
+# $NetBSD: Makefile,v 1.6 2019/02/25 15:20:44 leot Exp $
.include "../../lang/swi-prolog-lite/Makefile.common"
PKGNAME= swi-prolog-jpl-${SWIPLVERS}
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
-COMMENT= jpl package for SWI Prolog
+COMMENT= Packages for SWI Prolog
+
+USE_TOOLS+= pkg-config
+
+CMAKE_ARGS+= -DSWIPL_PACKAGES_JAVA=ON
+CMAKE_ARGS+= -DINSTALL_PACKAGES=OFF
+CMAKE_ARGS+= -DINSTALL_DOCUMENTATION=OFF
-GNU_CONFIGURE= yes
-USE_TOOLS+= gmake pkg-config
-MAKE_JOBS_SAFE= no
+# Part of swi-prolog-lite
+CMAKE_ARGS+= -DSWIPL_PACKAGES_ARCHIVE=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_BASIC=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_SSL=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_TERM=OFF
+
+# Part of swi-prolog-packages
+CMAKE_ARGS+= -DSWIPL_PACKAGES_X=OFF
+
+SWIPL_PACKAGES_COMPONENTS+= Java_interface
.include "../../mk/bsd.prefs.mk"
-CONFIGURE_ENV+= PL=swi-prolog
-CONFIGURE_ENV+= PLARCH=${MACHINE_GNU_PLATFORM} # make PLIST consistent
-CONFIGURE_ENV+= PKG=jpl
-CONFIGURE_ENV+= JAVAC=${PKG_JAVA_HOME}/bin/javac
-
-CONFIGURE_DIRS+= . packages
-BUILD_DIRS+= packages/jpl
-INSTALL_DIRS+= packages/jpl
-BUILD_TARGET= libjpl.so jpl.jar
-
-INSTALLATION_DIRS= lib/swi-prolog-${PKGVERSION_NOREV}/bin/${MACHINE_GNU_PLATFORM}
+CPPFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS
TEST_TARGET= check
-pre-configure:
- ${LN} -sf ${LOCALBASE}/bin/plld ${WRKSRC}/src
- ${LN} -sf ${LOCALBASE}/bin/swi-prolog ${WRKSRC}/src
-
-post-configure:
- ${LN} -sf ${LOCALBASE}/bin/plld ${WRKSRC}/src
- ${LN} -sf ${LOCALBASE}/bin/swi-prolog ${WRKSRC}/src
- cd ${WRKSRC}/packages; \
- ${SETENV} \
- CPP=${CPP:Q} \
- ${GMAKE} PKG=jpl configure
- mkdir ${WRKSRC}/include
- ${LN} -sf ${WRKSRC}/src/SWI-Prolog.h ${WRKSRC}/include
- ${LN} -sf ${WRKSRC}/src/os/SWI-Stream.h ${WRKSRC}/include
-
+do-install:
+.for component in ${SWIPL_PACKAGES_COMPONENTS}
+ cd ${WRKSRC}/build && \
+ ${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
+ ${CMAKE} -DCMAKE_INSTALL_COMPONENT=${component:Q} \
+ -P cmake_install.cmake
+.endfor
.include "../../lang/swi-prolog-lite/buildlink3.mk"
.include "../../mk/java-vm.mk"
+.include "../../devel/zlib/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
diff -r 6f7144eb7e95 -r 8f07d35ce5d9 lang/swi-prolog-jpl/PLIST
--- a/lang/swi-prolog-jpl/PLIST Mon Feb 25 14:53:30 2019 +0000
+++ b/lang/swi-prolog-jpl/PLIST Mon Feb 25 15:20:44 2019 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2014/05/28 10:33:00 markd Exp $
-lib/swi-prolog-${PKGVERSION}/lib/jpl.jar
-lib/swi-prolog-${PKGVERSION}/library/jpl.pl
-lib/swi-prolog-${PKGVERSION}/lib/${MACHINE_GNU_PLATFORM}/libjpl.so
+@comment $NetBSD: PLIST,v 1.2 2019/02/25 15:20:44 leot Exp $
+lib/swipl/lib/jpl.jar
+lib/swipl/lib/${MACHINE_GNU_PLATFORM}/libjpl.so
+lib/swipl/library/jpl.pl
diff -r 6f7144eb7e95 -r 8f07d35ce5d9 lang/swi-prolog-lite/DESCR
--- a/lang/swi-prolog-lite/DESCR Mon Feb 25 14:53:30 2019 +0000
+++ b/lang/swi-prolog-lite/DESCR Mon Feb 25 15:20:44 2019 +0000
@@ -6,5 +6,5 @@
GNU-readline interface. SWI-Prolog supports architectures with 32-bit
or greater (64-bit) word-length.
-This is the core package, packages are available in the
-swi-prolog-packages package.
+This is the core package with basic SWI-Prolog packages.
+X11 packages are available via swi-prolog-packages package.
diff -r 6f7144eb7e95 -r 8f07d35ce5d9 lang/swi-prolog-lite/Makefile
--- a/lang/swi-prolog-lite/Makefile Mon Feb 25 14:53:30 2019 +0000
+++ b/lang/swi-prolog-lite/Makefile Mon Feb 25 15:20:44 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.28 2018/12/10 14:59:50 leot Exp $
+# $NetBSD: Makefile,v 1.29 2019/02/25 15:20:44 leot Exp $
.include "Makefile.common"
@@ -7,12 +7,20 @@
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
COMMENT= ISO/Edinburgh-style Prolog compiler
-GNU_CONFIGURE= yes
-CONFIGURE_DIRS= src
+CMAKE_ARGS+= -DSWIPL_INSTALL_MANPAGES=${PKGMANDIR}/man1
+CMAKE_ARGS+= -DSWIPL_PACKAGES_BASIC=ON
+CMAKE_ARGS+= -DSWIPL_PACKAGES_ARCHIVE=ON
+CMAKE_ARGS+= -DSWIPL_PACKAGES_SSL=ON
+CMAKE_ARGS+= -DSWIPL_PACKAGES_TERM=ON
+CMAKE_ARGS+= -DINSTALL_DOCUMENTATION=ON
-CONFIGURE_ENV+= PL=swi-prolog
-CONFIGURE_ENV+= PLARCH=${MACHINE_GNU_PLATFORM} # make PLIST consistent
-USE_TOOLS+= gmake bash:run
+# Part of swi-prolog-jpl
+CMAKE_ARGS+= -DSWIPL_PACKAGES_JAVA=OFF
+
+# Part of swi-prolog-packages
+CMAKE_ARGS+= -DSWIPL_PACKAGES_X=OFF
+
+USE_TOOLS+= bash:run
.include "../../mk/bsd.prefs.mk"
@@ -25,12 +33,23 @@
REPLACE_INTERPRETER+= swipl
REPLACE.swipl.old= /usr/bin/swipl
-REPLACE.swipl.new= ${PREFIX}/bin/swi-prolog
+REPLACE.swipl.new= ${PREFIX}/bin/swipl
REPLACE_FILES.swipl+= library/dialect/sicstus/swipl-lfr.pl
+# XXX: editline bindings seems limited and does not support completion, remove
+# XXX: them in order to always use readline.pl.
+post-install:
+ ${RM} ${DESTDIR}${PREFIX}/lib/swipl/lib/${MACHINE_GNU_PLATFORM}/libedit4pl.so || ${TRUE}
+ ${RM} ${DESTDIR}${PREFIX}/lib/swipl/library/editline.pl || ${TRUE}
+
TEST_TARGET= check
+.include "../../archivers/libarchive/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
+.include "../../devel/ossp-uuid/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff -r 6f7144eb7e95 -r 8f07d35ce5d9 lang/swi-prolog-lite/Makefile.common
--- a/lang/swi-prolog-lite/Makefile.common Mon Feb 25 14:53:30 2019 +0000
+++ b/lang/swi-prolog-lite/Makefile.common Mon Feb 25 15:20:44 2019 +0000
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile.common,v 1.15 2018/12/10 14:59:50 leot Exp $
+# $NetBSD: Makefile.common,v 1.16 2019/02/25 15:20:44 leot Exp $
#
# used by lang/swi-prolog/Makefile
# used by lang/swi-prolog-packages/Makefile
# used by lang/swi-prolog-jpl/Makefile
-SWIPLVERS= 7.6.4
+SWIPLVERS= 8.0.1
DISTNAME= swipl-${SWIPLVERS}
CATEGORIES= lang
MASTER_SITES= http://www.swi-prolog.org/download/stable/src/
@@ -17,5 +17,33 @@
DISTINFO_FILE= ${.CURDIR}/../../lang/swi-prolog-lite/distinfo
PATCHDIR= ${.CURDIR}/../../lang/swi-prolog-lite/patches
-CONFIGURE_ENV+= CMFLAGS="-fPIC"
-CONFIGURE_ENV+= COFLAGS=${CFLAGS:M*:Q}
+USE_CMAKE= yes
+CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
+CMAKE_ARGS+= -DSWIPL_ARCH=${MACHINE_GNU_PLATFORM}
+
+# XXX: Explicitly disable all not wanted packages to avoid possible build
+# XXX: failures. For a complete list please see:
+# XXX: ${WRKSRC}/cmake/PackageSelection.cmake
+CMAKE_ARGS+= -DSWIPL_PACKAGES_ODBC=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_BDB=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_PCRE=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_YAML=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_TIPC=OFF
+CMAKE_ARGS+= -DSWIPL_PACKAGES_QT=OFF
+
+USE_LANGUAGES= c c++
+
+# XXX: That's kludgy, can it be avoided?
+MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}/build/src
+
+# XXX: Can this be addressed differently without appending to the LDFLAGS?
+# XXX: (i.e. it should just work(TM))
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/swipl/lib/${MACHINE_GNU_PLATFORM}
+
+CONFIGURE_DIRS= build
+CMAKE_ARG_PATH= ..
+
+PRINT_PLIST_AWK+= { sub("${MACHINE_GNU_PLATFORM}", "$${MACHINE_GNU_PLATFORM}") }
+
+pre-configure:
+ cd ${WRKSRC} && ${MKDIR} build
diff -r 6f7144eb7e95 -r 8f07d35ce5d9 lang/swi-prolog-lite/PLIST
--- a/lang/swi-prolog-lite/PLIST Mon Feb 25 14:53:30 2019 +0000
+++ b/lang/swi-prolog-lite/PLIST Mon Feb 25 15:20:44 2019 +0000
@@ -1,406 +1,833 @@
-@comment $NetBSD: PLIST,v 1.13 2018/12/10 14:59:50 leot Exp $
-bin/swi-prolog
+@comment $NetBSD: PLIST,v 1.14 2019/02/25 15:20:44 leot Exp $
+bin/swipl
bin/swipl-ld
-bin/swipl-rc
-lib/pkgconfig/swipl.pc
-lib/swi-prolog-${PKGVERSION}/bin/swipl.home
-lib/swi-prolog-${PKGVERSION}/bin/${MACHINE_GNU_PLATFORM}/swi-prolog
-lib/swi-prolog-${PKGVERSION}/bin/${MACHINE_GNU_PLATFORM}/swipl-ld
-lib/swi-prolog-${PKGVERSION}/bin/${MACHINE_GNU_PLATFORM}/swipl-rc
-lib/swi-prolog-${PKGVERSION}/boot/apply.pl
-lib/swi-prolog-${PKGVERSION}/boot/attvar.pl
-lib/swi-prolog-${PKGVERSION}/boot/autoload.pl
-lib/swi-prolog-${PKGVERSION}/boot/bags.pl
-lib/swi-prolog-${PKGVERSION}/boot/dcg.pl
-lib/swi-prolog-${PKGVERSION}/boot/dicts.pl
-lib/swi-prolog-${PKGVERSION}/boot/dwim.pl
-lib/swi-prolog-${PKGVERSION}/boot/engines.pl
-lib/swi-prolog-${PKGVERSION}/boot/expand.pl
-lib/swi-prolog-${PKGVERSION}/boot/history.pl
-lib/swi-prolog-${PKGVERSION}/boot/init.pl
-lib/swi-prolog-${PKGVERSION}/boot/license.pl
-lib/swi-prolog-${PKGVERSION}/boot/load.pl
-lib/swi-prolog-${PKGVERSION}/boot/messages.pl
-lib/swi-prolog-${PKGVERSION}/boot/packs.pl
-lib/swi-prolog-${PKGVERSION}/boot/parms.pl
-lib/swi-prolog-${PKGVERSION}/boot/predopts.pl
-lib/swi-prolog-${PKGVERSION}/boot/qlf.pl
-lib/swi-prolog-${PKGVERSION}/boot/rc.pl
-lib/swi-prolog-${PKGVERSION}/boot/syspred.pl
-lib/swi-prolog-${PKGVERSION}/boot/toplevel.pl
-lib/swi-prolog-${PKGVERSION}/boot/topvars.pl
-lib/swi-prolog-${PKGVERSION}/boot${BITS}.prc
-lib/swi-prolog-${PKGVERSION}/customize/README
-lib/swi-prolog-${PKGVERSION}/customize/dotswiplrc
-lib/swi-prolog-${PKGVERSION}/customize/dotxpcerc
-lib/swi-prolog-${PKGVERSION}/customize/edit
-lib/swi-prolog-${PKGVERSION}/demo/README
-lib/swi-prolog-${PKGVERSION}/demo/likes.pl
-lib/swi-prolog-${PKGVERSION}/doc/Manual/64bits.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/Bibliography.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/Contents.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/DCG.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/DDE.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/DocIndex.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/IDE.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/IO.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/SyntaxAndSemantics.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/acknowledge.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/aggregate.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/allsolutions.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/altmoduleapi.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/ancestral-cut.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/apply.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/arith.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/assoc.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/attvar.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/autoload.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/breakpoint.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/broadcast.gif
-lib/swi-prolog-${PKGVERSION}/doc/Manual/broadcast.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/builtin.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/builtinlist.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/charconv.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/chario.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/chars.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/charsio.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/chartype.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/check.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/chr.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/chrintro.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/clp.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/clpb.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/clpfd.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/clpqr.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/cmdline.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/compare.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/compilation.html
-lib/swi-prolog-${PKGVERSION}/doc/Manual/consulting.html
Home |
Main Index |
Thread Index |
Old Index