GNU Prolog is a free Prolog compiler with constraint solving over finite
domains developed by Daniel Diaz.
GNU Prolog accepts Prolog+constraint programs and produces native binaries
(like gcc does from a C source). The obtained executable is then stand-alone.
The size of this executable can be quite small since GNU Prolog can avoid to
link the code of most unused built-in predicates. The performances of GNU
Prolog are very encouraging (comparable to commercial systems).
Beside the native-code compilation, GNU Prolog offers a classical interactive
interpreter (top-level) with a debugger.
The Prolog part conforms to the ISO standard for Prolog with many extensions
very useful in practice (global variables, OS interface, sockets,...).
GNU Prolog also includes an efficient constraint solver over Finite Domains
(FD). This opens contraint logic pogramming to the user combining the power
of constraint programming to the declarativity of logic programming.
===> The following configuration options are available for gprolog-1.5.0:
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
FD=on: Enable finite domain constraint solver
===> Use 'make config' to modify these settings
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
lang: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Aaron Dalton <aaron@FreeBSD.org>
* Adam Weinberger <adamw@FreeBSD.org>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Alex Dupre <ale@FreeBSD.org>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Alonso Cardenas Marquez <acm@FreeBSD.org>
* Andreas Klemm <andreas@klemm.gtn.com>
* Andrew Pantyukhin <infofarmer@FreeBSD.org>
* Andrey Zakhvatov
* Anton Berezin <tobez@FreeBSD.org>
* Anton Berezin <tobez@tobez.org>
(Only the first 15 lines of the commit message are shown above )
lang/gprolog: update to 1.5.0
Port changes:
- the version 1.5.0 now recognizes clang for amd64 so
the patch files/patch-EnginePl_machine.h reduced but
it is still needed for i386 build;
- this version correctly defines NO_MACHINE_REG_FOR_REG_BANK
and adds -fcommon for clang, so CFLAGS reduced too;
- the patch files/patch-Ma2Asm_x86__64__any.c rebuilt for new code,
it is still needed as build fails with an error without the patch:
Fatal Error: Segmentation Violation (bad address: 0x100ec814853)
lang/gprolog: recover GNU Prolog under FreeBSD.
Update to version 1.4.5 released in 2020.
Make it build and run with Clang 10:
- clang has no register reservation for x86, hence patch-EnginePl_machine.h
and -DNO_MACHINE_REG_FOR_REG_BANK to prevent using missing feature;
- add patch-Ma2Asm_x86__64__any.c fetched from upstream SourceForge
post-release commit dealing with PIC issues;
- disable usage of spinlocks that results in a hang eating all available
CPU cycles; fixed with -DUSE_LOCKS=1 -DUSE_RECURSIVE_LOCKS=1
-DUSE_SPIN_LOCKS=0;
- the software uses bundled dlmalloc dated back 2011 that replaces
functions like calloc() with own implemenations and it's calloc()
sometimes fails to clear allocated memory; this results in SIGSEGV
when its own hash-table implementation dereferences junk that
supposed to be NULL pointer, so it fails to complete build;
fixed with MMAP_CLEARS=0.
PR: 231393
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
The last years this port, based on an upstream abandoned half a decade
ago, has merely seen patching and prodding by several of us, often when
it got into the way of updates of other parts of the Ports Collection.
This is the case once again with a pending update of GCC to version 8,
where we run into
gmake[2]: Entering directory
'/wrkdirs/usr/ports/lang/gprolog/work/gprolog-1.4.4/src/Fd2C'
gplc -c --fast-math fd2c.pl
=>> Killing runaway build after 7200 seconds with no output
after already workarounds in place for other versions of remotely
recent compilers. Bite the bullet and mark for deprecation and
removal one-and-a-half months from now
PR: 231590
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
lang/gprolog: Clean up port (fix build with non-default options)
The no-docs and no-examples options weren't correct. The configuration
value in those causes were no absolute paths as apparently expected, but
relative to STAGEDIR. Fix by letting them install and use post-install
option targets to remove if necessary.
Do other cleanup such as wrap to 80 (when possible) and use options
framework. Also remove option-dependent packagename; that isn't
conventional. Also make configure target generic by platform.
lang/gprolog: pass -O3 to unbreak with gcc5
gplc -c --fast-math fd2c.pl
====>> Killing runaway build after 7200 seconds with no output
PR: 216707
Reported by: antoine (via exp-run)
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
Reset maintainer
<nsmoot@make.sh>: host in1-smtp.messagingengine.com[66.111.4.74] said: 550
5.1.1 <nsmoot@make.sh>: Recipient address rejected: User unknown in local
recipient table (in reply to RCPT TO command)
Sponsored by: DK Hostmaster A/S
Add DOCS to OPTIONS_DEFINE to ports that check for PORT_OPTIONS:MDOCS.
I'm not touching ruby19/ruby20/ruby21, but they also check for :MDOCS
without defining it in OPTIONS_DEFINE.
Make the port fetchable again.
Point MASTER_SITES to old_versions/, which is where previous releases go.
PR: ports/179656
Submitted by: John Marino <draco@marino.st> (maintainer)
Update CONFIGURE_ARGS for how we pass CONFIGURE_TARGET to configure script.
Specifically, newer autoconf (> 2.13) has different semantic of the
configure target. In short, one should use --build=CONFIGURE_TARGET
instead of CONFIGURE_TARGET directly. Otherwise, you will get a warning
and the old semantic may be removed in later autoconf releases.
To workaround this issue, many ports hack the CONFIGURE_TARGET variable
so that it contains the ``--build='' prefix.
To solve this issue, under the fact that some ports still have
configure script generated by the old autoconf, we use runtime detection
in the do-configure target so that the proper argument can be used.
Changes to Mk/*:
- Add runtime detection magic in bsd.port.mk
(Only the first 15 lines of the commit message are shown above )
Somehow GCC 3.x generates a gprolog binary which fails immediately on startup.
Fall back to GCC 2.95 and bump PORTREVISION accordingly.
This update also brings back the FD-solver!
Maybe somebody should check what other distros do about this, but e.g. blindly
applying the Debian patch set doesn't fix this error.
Reminded by: Fernando López
Mass-conversion to the USE_AUTOTOOLS New World Order. The code present
in bsd.autotools.mk essentially makes this a no-op given that all the
old variables set a USE_AUTOTOOLS_COMPAT variable, which is parsed in
exactly the same way as USE_AUTOTOOLS itself.
Moreover, USE_AUTOTOOLS has already been extensively tested by the GNOME
team -- all GNOME 2.12.x ports use it.
Preliminary documentation can be found at:
http://people.FreeBSD.org/~ade/autotools.txt
which is in the process of being SGMLized before introduction into the
Porters Handbook.
Light blue touch-paper. Run.
Unbreak on 5.x by disabling fast-calls. Notice that you will still see
build errors if you have -march=pentium4 in your CFLAGS
PR: ports/78794
Submitted by: Arne Wörner
Per bento logs, this port won't configure except on i386.
Mark it as ignore to warn the unwary. (There's probably
little reason to mark it as broken since it has no
maintainer. Any volunteers?)
PR: 57594
Submitted by: Mark Linimon <linimon@lonesome.com>
Fix problems with two files not correctly upgraded during
upgrade from 1.2.1 to 1.2.16.
PR: ports/45615
Submitted by: Douglas Anestad <yotta@anestad.com> (maintainer)