[Bug 295274] lang/swipl update to 10.0.2

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 14 May 2026 06:47:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295274

            Bug ID: 295274
           Summary: lang/swipl update to 10.0.2
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: dewayne@heuristicsystems.com.au
                CC: mailinglist@diamondbox.dk
                CC: mailinglist@diamondbox.dk
             Flags: maintainer-feedback?(mailinglist@diamondbox.dk)

I had a few challenges with the build of swipl 10.0.2, and would like to share
what I did to achive (on 14.3S):
# swipl --version
SWI-Prolog version 10.0.2 for amd64-freebsd

Unfortunately I've heavily customised the port, so a patch diff is unlikely to
be helpful, so the steps were:

# Changed the version for libswipl.so
sed -i '' -e "s/9.2.9/10.0.2/g"  -e "s/so.9/so.10/g" 
/usr/ports/lang/swipl/pkg-plist

# Added the necessary ABI, swipl will not start without.
sed -i '' -E '/bin\/swipl.home/a\
lib/swipl/ABI\
'  /usr/ports/lang/swipl/pkg-plist

# Some files are relocated or no longer created during the build (readline is
gone)
sed -i '' -e "/http_json.pl/s|http/http/http_json.pl|json/http/http_json.pl|1"
-e "s|http/http/js_grammar.pl|json/http/js_grammar.pl|1" -e
"s|http/http/json.pl|json/http/json.pl|1" -e
"s|http/http/json.pl|json/http/json.pl|1" -e
"s|http/http/json_convert.pl|json/http/json_convert.pl|1" -e /readline.pl/d -e
/readline4pl.so/d -e /checklast.pl/d -e /checkselect.pl/d
/usr/ports/lang/swipl/pkg-plist  

# Additional files that are removed from pkg-plist
sed -i '' -e /ext\\/swipy\\/INDEX.pl/d -e /swipl-lfr.pl/d  -e
/gen_pb\\/google\\/protobuf\\/INDEX.pl/d  -e
/gen_pb\\/google\\/protobuf\\/compiler\\/INDEX.pl/d  -e /readline/d 
/usr/ports/lang/swipl/pkg-plist

So you have a sense of how a CLI-only swipl 10.0.2 "works for me", the major
changes that I have to my Makefile include:
USES=           cmake compiler:c11 libarchive pathfix pkgconfig \
                shebangfix ssl
CMAKE_ARGS=     -DSWIPL_PACKAGES_PYTHON=OFF -DSWIPL_PACKAGES_TIPC=OFF \
                -DSWIPL_PACKAGES_JAVA=OFF -DSWIPL_PACKAGES_GUI=OFF \
                -DSWIPL_PACKAGES_QT=OFF -DSWIPL_PACKAGES_X=OFF \
                -DUSE_GMP=OFF -DSWIPL_PACKAGES_ODBC=OFF -DMULTI_THREADED=ON \
                -DCURSES_NEED_NCURSES=OFF -DCURSES_NEED_WIDE=OFF
C_CFLAGS=       -O3 -march=${CPUTYPE} -fno-common -fstack-clash-protection \
                -ftrivial-auto-var-init=zero -fomit-frame-pointer
-fno-delete-null-pointer-checks \
                -Wl,-z,noexecstack -flto -fsanitize=safe-stack -Wl,--strip-all
-Wl,-z,notext \
                -Wl,-z,relro -Wl,-z,now

and my configuration options are
lang_swipl_UNSET=DOCS MAN GMP ODBC TCMALLOC XPCE PYTHON

I have detailed steps and reasons, if its useful, but the above gets the job
done.

I'm sharing in the hope that it saves you some time/effort. :)

-- 
You are receiving this mail because:
You are the assignee for the bug.