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
This commit is contained in:
Eugene Grosbein 2020-11-23 13:26:14 +00:00
parent 3a7b87ef5a
commit 5973cbeb09
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=556106
8 changed files with 327 additions and 1 deletions

1
MOVED
View File

@ -12845,7 +12845,6 @@ textproc/rubygem-gitlab-linguist|textproc/rubygem-github-linguist|2019-08-31|Has
textproc/rubygem-html-pipeline1|textproc/rubygem-html-pipeline|2019-08-31|Has expired: Use textproc/rubygem-html-pipeline instead textproc/rubygem-html-pipeline1|textproc/rubygem-html-pipeline|2019-08-31|Has expired: Use textproc/rubygem-html-pipeline instead
devel/pure-stldict||2019-09-01|Has expired: Depends on expiring devel/llvm35 devel/pure-stldict||2019-09-01|Has expired: Depends on expiring devel/llvm35
lang/dmd1||2019-09-01|Has expired: No longer supported upstream lang/dmd1||2019-09-01|Has expired: No longer supported upstream
lang/gprolog||2019-09-01|Has expired: Abandonware upstream (more than five years), fails in various ways with remotely recent compilers
math/pure-mpfr||2019-09-01|Has expired: Depends on expiring devel/llvm35 math/pure-mpfr||2019-09-01|Has expired: Depends on expiring devel/llvm35
math/pure-rational||2019-09-01|Has expired: Depends on expiring devel/llvm35 math/pure-rational||2019-09-01|Has expired: Depends on expiring devel/llvm35
net/pure-sockets||2019-09-01|Has expired: Depends on expiring devel/llvm35 net/pure-sockets||2019-09-01|Has expired: Depends on expiring devel/llvm35

View File

@ -116,6 +116,7 @@
SUBDIR += go SUBDIR += go
SUBDIR += go-devel SUBDIR += go-devel
SUBDIR += gomacro SUBDIR += gomacro
SUBDIR += gprolog
SUBDIR += gravity SUBDIR += gravity
SUBDIR += groovy SUBDIR += groovy
SUBDIR += gscheme SUBDIR += gscheme

41
lang/gprolog/Makefile Normal file
View File

@ -0,0 +1,41 @@
# Created by: Douglas Anestad <yotta@dougdidit.com>
# $FreeBSD$
PORTNAME= gprolog
PORTVERSION= 1.4.5
CATEGORIES= lang
MASTER_SITES= http://www.gprolog.org/
MAINTAINER= ports@FreeBSD.org
COMMENT= Free Prolog compiler
LICENSE= GPLv2
ONLY_FOR_ARCHS= amd64 i386
USES= gmake
CFLAGS+= -DUSE_LOCKS=1 -DUSE_RECURSIVE_LOCKS=1 -DUSE_SPIN_LOCKS=0 \
-DMMAP_CLEARS=0 -DNO_MACHINE_REG_FOR_REG_BANK
PLIST_SUB= GPROLOG_VER=${PORTVERSION}
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-c-flags="${CFLAGS}" \
--with-doc-dir="${DOCSDIR}" \
--with-examples-dir="${EXAMPLESDIR}"
CONFIGURE_TARGET= ${ARCH:S/amd64/x86_64/}-portbld-${OPSYS:tl}${OSREL}
MAKE_JOBS_UNSAFE= yes
WRKSRC_SUBDIR= src
OPTIONS_DEFINE= FD DOCS EXAMPLES
OPTIONS_DEFAULT= FD
OPTIONS_SUB= yes
FD_DESC= Enable finite domain constraint solver
FD_CONFIGURE_OFF= --disable-fd-solver
post-patch:
@${REINPLACE_CMD} \
'/LINKS_DIR/s|$$(INSTALL_DIR)|../${PORTNAME}-${PORTVERSION}|' \
${WRKSRC}/Makefile.in
.include <bsd.port.mk>

3
lang/gprolog/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1606049432
SHA256 (gprolog-1.4.5.tar.gz) = ce5335d1607f0b01d5567252211ae2b19e6a5e52b62978717880524748afb9a2
SIZE (gprolog-1.4.5.tar.gz) = 3585704

View File

@ -0,0 +1,20 @@
--- EnginePl/machine.h.orig 2015-01-13 18:00:19 UTC
+++ EnginePl/machine.h
@@ -124,7 +124,7 @@ void M_Check_Magic_Words(void); /* not c
# define M_USED_REGS {"$9", "$10", "$11", "$12", "$13", "$14", 0}
/* on M_ix86_darwin : %ebx is used by gcc for pic base */
-#elif defined(M_ix86) && !defined(_MSC_VER) && !defined(M_ix86_darwin)
+#elif defined(M_ix86) && !defined(_MSC_VER) && !defined(M_ix86_darwin) && !defined(__clang__)
#ifdef NO_USE_EBP
# define M_USED_REGS {"ebx", 0}
@@ -137,7 +137,7 @@ void M_Check_Magic_Words(void); /* not c
# define M_USED_REGS {"15", "20", 0}
/* on M_x86_64_darwin Lion r12-r15 do not work (why ?) */
-#elif defined(M_x86_64) && !defined(_MSC_VER) && !defined(M_x86_64_darwin)
+#elif defined(M_x86_64) && !defined(_MSC_VER) && !defined(M_x86_64_darwin) && !defined(__clang__)
# define M_USED_REGS {"r12", "r13", "r14", "r15", 0}

View File

@ -0,0 +1,57 @@
--- Ma2Asm/x86_64_any.c.orig 2018-10-23 15:17:17 UTC
+++ Ma2Asm/x86_64_any.c
@@ -112,6 +112,9 @@
* Global Variables *
*---------------------------------*/
+int can_produce_pic_code = 1; /* overwritte var of ma2asm.c */
+extern int pic_code;
+
static double dbl_tbl[MAX_DOUBLES_IN_PRED];
static int nb_dbl = 0;
static int dbl_lc_no = 0;
@@ -149,7 +152,6 @@ static const char *fpr_arg[MAX_FPR_ARGS]
#endif
/* variables for ma_parser.c / ma2asm.c */
-int can_produce_pic_code = 1;
char *comment_prefix = "#";
#ifdef M_x86_64_darwin
char *local_symb_prefix = "L";
@@ -210,10 +212,8 @@ Asm_Start(void)
strcpy(asm_reg_cp, Off_Reg_Bank(MAP_OFFSET_CP));
#endif
-#if defined(M_x86_64_darwin) || defined(M_x86_64_bsd)
- pic_code = 1; /* NB: on darwin and BSD everything is PIC code */
-#elif defined(M_x86_64_linux) && __GNUC__ >= 6 /* gcc >= 6 needs PIC for linux */
- pic_code = 1;
+#ifdef M_x86_64_darwin
+ pic_code = 1; /* NB: on darwin everything is PIC code */
#elif defined(_WIN32)
pic_code = 0; /* NB: on MinGW nothing is needed for PIC code */
#endif
@@ -1199,9 +1199,9 @@ Dico_Long(char *name, int global, VType
size_bytes = value * 8;
#ifdef M_x86_64_darwin
if (!global)
- Label_Printf(".zerofill __DATA,__bss," UN "%s,%" PL_FMT_d ",4", name, size_bytes);
+ Label_Printf(".zerofill __DATA,__bss," UN "%s,%" PL_FMT_d ",3", name, size_bytes);
else
- Inst_Printf(".comm", UN "%s,%" PL_FMT_d ",4", name, size_bytes);
+ Inst_Printf(".comm", UN "%s,%" PL_FMT_d ",3", name, size_bytes);
#else
#if defined(M_x86_64_linux) || defined(M_x86_64_sco) || \
defined(M_x86_64_solaris) || defined(M_x86_64_bsd)
@@ -1226,11 +1226,6 @@ Dico_Long(char *name, int global, VType
case INITIAL_VALUE:
if (global)
Inst_Printf(".globl", UN "%s", name);
-#ifdef M_x86_64_darwin
- Inst_Printf(".align", "3");
-#else
- Inst_Printf(".align", "8");
-#endif
#if !(defined(M_x86_64_darwin) || defined(_WIN32))
Inst_Printf(".size", UN "%s,8", name);
#endif

20
lang/gprolog/pkg-descr Normal file
View File

@ -0,0 +1,20 @@
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.
WWW: http://www.gprolog.org/

185
lang/gprolog/pkg-plist Normal file
View File

@ -0,0 +1,185 @@
%%FD%%bin/fd2c
bin/gplc
bin/gprolog
bin/hexgplc
bin/ma2asm
bin/pl2wam
bin/wam2ma
gprolog-%%GPROLOG_VER%%/COPYING
gprolog-%%GPROLOG_VER%%/ChangeLog
gprolog-%%GPROLOG_VER%%/NEWS
gprolog-%%GPROLOG_VER%%/README
gprolog-%%GPROLOG_VER%%/VERSION
%%FD%%gprolog-%%GPROLOG_VER%%/bin/fd2c
gprolog-%%GPROLOG_VER%%/bin/gplc
gprolog-%%GPROLOG_VER%%/bin/gprolog
gprolog-%%GPROLOG_VER%%/bin/hexgplc
gprolog-%%GPROLOG_VER%%/bin/ma2asm
gprolog-%%GPROLOG_VER%%/bin/pl2wam
gprolog-%%GPROLOG_VER%%/bin/wam2ma
gprolog-%%GPROLOG_VER%%/gprolog.ico
gprolog-%%GPROLOG_VER%%/include/fd_to_c.h
gprolog-%%GPROLOG_VER%%/include/gprolog.h
%%FD%%gprolog-%%GPROLOG_VER%%/lib/all_fd_bips.o
gprolog-%%GPROLOG_VER%%/lib/all_pl_bips.o
gprolog-%%GPROLOG_VER%%/lib/debugger.o
%%FD%%gprolog-%%GPROLOG_VER%%/lib/libbips_fd.a
gprolog-%%GPROLOG_VER%%/lib/libbips_pl.a
%%FD%%gprolog-%%GPROLOG_VER%%/lib/libengine_fd.a
gprolog-%%GPROLOG_VER%%/lib/libengine_pl.a
gprolog-%%GPROLOG_VER%%/lib/liblinedit.a
gprolog-%%GPROLOG_VER%%/lib/top_level.o
%%PORTDOCS%%%%DOCSDIR%%/compil-scheme.eps
%%PORTDOCS%%%%DOCSDIR%%/compil-scheme.pdf
%%PORTDOCS%%%%DOCSDIR%%/contents_motif.gif
%%PORTDOCS%%%%DOCSDIR%%/debug-box.eps
%%PORTDOCS%%%%DOCSDIR%%/debug-box.pdf
%%PORTDOCS%%%%DOCSDIR%%/gprolog.chm
%%PORTDOCS%%%%DOCSDIR%%/gprolog.dvi
%%PORTDOCS%%%%DOCSDIR%%/gprolog.html
%%PORTDOCS%%%%DOCSDIR%%/gprolog.pdf
%%PORTDOCS%%%%DOCSDIR%%/gprolog.ps
%%PORTDOCS%%%%DOCSDIR%%/html_node/contents_motif.gif
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog-idx.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog.css
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog001.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog002.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog003.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog004.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog005.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog006.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog007.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog008.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog009.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog010.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog011.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog012.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog013.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog014.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog015.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog016.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog017.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog018.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog019.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog020.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog021.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog022.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog023.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog024.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog025.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog026.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog027.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog028.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog029.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog030.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog031.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog032.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog033.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog034.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog035.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog036.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog037.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog038.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog039.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog040.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog041.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog042.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog043.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog044.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog045.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog046.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog047.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog048.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog049.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog050.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog051.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog052.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog053.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog054.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog055.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog056.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog057.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog058.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog059.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog060.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog061.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog062.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog063.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog064.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog065.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog066.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog067.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog068.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog069.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog070.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog071.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog072.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/gprolog073.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/index.html
%%PORTDOCS%%%%DOCSDIR%%/html_node/next_motif.gif
%%PORTDOCS%%%%DOCSDIR%%/html_node/previous_motif.gif
%%PORTDOCS%%%%DOCSDIR%%/logo.eps
%%PORTDOCS%%%%DOCSDIR%%/logo.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesC/Makefile
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesC/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesC/examp.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesC/examp_c.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesC/new_main.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesC/new_main_c.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/Makefile
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/alpha.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/array.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bdiag.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bdonald.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bpigeon.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bqueens.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bramsey.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bridge.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bridge1.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bschur.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/bsend.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/cars.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/crypta.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/digit8.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/donald.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/eq10.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/eq20.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/five.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/gardner.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/interval.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/langford.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/magic.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/magsq.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/multipl.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/partit.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/qg5.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/queens.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/queens_fd.fd
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/send.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/square.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesFD/srq.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/Makefile
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/PROGS
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/boyer.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/browse.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/cal.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/chat_parser.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/common.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/crypt.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/ham.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/hook.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/meta_qsort.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/nand.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/nrev.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/poly_10.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/qsort.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/queens.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/queensn.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/query.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/reducer.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/sdda.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/sendmore.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/tak.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/tak_gvar.pl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ExamplesPl/zebra.pl