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/5b4e934703fb
branches:  trunk
changeset: 392234:5b4e934703fb
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 4c59f46a5686 -r 5b4e934703fb 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 4c59f46a5686 -r 5b4e934703fb 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 4c59f46a5686 -r 5b4e934703fb 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 4c59f46a5686 -r 5b4e934703fb 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 4c59f46a5686 -r 5b4e934703fb 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 4c59f46a5686 -r 5b4e934703fb 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