lang/gnu-apl: Remove port

Niche use case, not aligned with broad server application needs
This commit is contained in:
2025-04-27 20:08:40 +02:00
parent 1d02177385
commit e8cd189d53
11 changed files with 1 additions and 264 deletions
+1
View File
@@ -3780,6 +3780,7 @@ lang/gcc14-devel
lang/gcc6-aux
lang/gnat12
lang/gnat13
lang/gnu-apl
lang/gscheme
lang/hla
lang/intel-compute-runtime
-1
View File
@@ -99,7 +99,6 @@
SUBDIR += gnatdroid-binutils-x86
SUBDIR += gnatdroid-sysroot
SUBDIR += gnatdroid-sysroot-x86
SUBDIR += gnu-apl
SUBDIR += gnu-cobol
SUBDIR += gnustep-base
SUBDIR += go
-72
View File
@@ -1,72 +0,0 @@
PORTNAME= apl
PORTVERSION= 1.8
PORTREVISION= 3
CATEGORIES= lang
MASTER_SITES= GNU
PKGNAMEPREFIX= gnu-
MAINTAINER= danfe@FreeBSD.org
COMMENT= Free interpreter for APL programming language
WWW= https://www.gnu.org/software/apl/
LICENSE= GPLv3+
# XXX: should be optional, but no way to disable in the configure script
LIB_DEPENDS= libfftw3.so:math/fftw3
USES= compiler:c++11-lang gmake libtool localbase sbrk
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
CONFIGURE_ENV= CXX_WERROR=no
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
INFO= apl libapl
PORTDOCS= *
OPTIONS_DEFINE= DOCS GTK3 LIBAPL PCRE PGSQL SQLITE
OPTIONS_SUB= yes
LIBAPL_DESC= Build libapl.so instead of executable
# XXX: LIBAPL_CONFIGURE_WITH won't work for some reason
LIBAPL_CONFIGURE_ON= --with-libapl
GTK3_USES= pkgconfig gnome
GTK3_USE= GNOME=gtk30
GTK3_CONFIGURE_WITH= gtk3
PCRE_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
PCRE_CONFIGURE_WITH= pcre=${LOCALBASE}
PGSQL_USES= pgsql
PGSQL_CONFIGURE_WITH= postgresql
SQLITE_USES= sqlite:3
SQLITE_CONFIGURE_WITH= sqlite3=${LOCALBASE}
post-patch:
@${REINPLACE_CMD} -e '25s,^,#include <sys/socket.h>,' \
${WRKSRC}/src/Common.hh
@${REINPLACE_CMD} -e 's,auto_ptr,unique_ptr,' \
${WRKSRC}/src/emacs_mode/network.cc \
${WRKSRC}/src/sql/apl-sqlite.cc
@${REINPLACE_CMD} -e 's,bind(,::&,' \
${WRKSRC}/src/emacs_mode/TcpListener.cc \
${WRKSRC}/src/emacs_mode/UnixSocketListener.cc
@${REINPLACE_CMD} -e 's,POLLRDHUP,POLLHUP,' \
${WRKSRC}/src/Quad_GTK.cc
# Prevent needless C[XX]FLAGS pollution
@${REINPLACE_CMD} -e 's,-g -O. ,,' \
${WRKSRC}/src/APs/Makefile.in \
${WRKSRC}/src/native/Makefile.in
# Fixes below are for GCC-based builds
@${REINPLACE_CMD} -e '28s,^,#include <cstring>,' \
${WRKSRC}/src/Error.hh
@${REINPLACE_CMD} -E '/(total|used)_memory/s,uint64_t,int64_t,' \
${WRKSRC}/src/Quad_WA.?? ${WRKSRC}/src/Value.cc
post-install:
@${MV} ${STAGEDIR}${PREFIX}/etc/gnu-apl.d/preferences \
${STAGEDIR}${PREFIX}/etc/gnu-apl.d/preferences.sample
.include <bsd.port.mk>
-3
View File
@@ -1,3 +0,0 @@
TIMESTAMP = 1561298598
SHA256 (apl-1.8.tar.gz) = 144f4c858a0d430ce8f28be90a35920dd8e0951e56976cb80b55053fa0d8bbcb
SIZE (apl-1.8.tar.gz) = 3565018
@@ -1,16 +0,0 @@
--- gnu-apl.d/preferences.in.orig 2019-06-23 12:39:20 UTC
+++ gnu-apl.d/preferences.in
@@ -301,10 +301,11 @@
# execution mode and ∇-edit mode.
#
# Below the number of history lines and the location of the history file
-# can be configured.
+# can be configured. If the file path starts with "~/", tilde (~) would
+# be expanded to the value of the 'HOME' environment variable.
#
READLINE_HISTORY_LEN 500
-READLINE_HISTORY_PATH .apl.history
+READLINE_HISTORY_PATH ~/.apl.history
# The history can serve two purposes: to recall lines that were previously
# and to list what was done (with command )HISTORY). For the latter purpose
@@ -1,26 +0,0 @@
--- src/Bif_F12_FORMAT.cc.orig 2019-06-23 12:39:20 UTC
+++ src/Bif_F12_FORMAT.cc
@@ -576,18 +576,17 @@ right_decorator: /// the right decorator
fields_done:
-int sum = 0;
- sum += left_deco.out_len = left_deco .format.size();
+ left_deco.out_len = left_deco.format.size();
- sum += int_part .out_len = int_part .format.size();
+ int_part.out_len = int_part.format.size();
if (fract_part.format.size())
- sum += fract_part.out_len = fract_part.format.size() + 1;
+ fract_part.out_len = fract_part.format.size() + 1;
if (exponent.size())
{
- sum += expo_deco.out_len = expo_deco.size();
- sum += exponent.out_len = exponent.format.size() + 1;
+ expo_deco.out_len = expo_deco.size();
+ exponent.out_len = exponent.format.size() + 1;
}
right_deco.out_len = right_deco.format.size();
@@ -1,16 +0,0 @@
--- src/NumericCell.cc.orig 2019-06-23 12:39:20 UTC
+++ src/NumericCell.cc
@@ -1402,8 +1402,11 @@ NumericCell::bif_binomial(Cell * Z, const Cell * A) co
if (!A->is_near_int()) return E_DOMAIN_ERROR;
if (!is_near_int()) return E_DOMAIN_ERROR;
- if (is_float_cell() && 0x7FFFFFFFFFFFFFFFLL < get_real_value())
- return E_DOMAIN_ERROR;
+ if (is_float_cell())
+ {
+ if (get_real_value() > 9223372036854775800.0) return E_DOMAIN_ERROR;
+ if (get_real_value() < -9223372036854775800.0) return E_DOMAIN_ERROR;
+ }
const APL_Integer a = A->get_checked_near_int();
const APL_Integer b = get_checked_near_int();
-33
View File
@@ -1,33 +0,0 @@
--- src/Tokenizer.cc.orig 2019-06-23 12:39:20 UTC
+++ src/Tokenizer.cc
@@ -755,10 +755,10 @@ enum { MAX_TOKENIZE_DIGITS_1 = 20,
MAX_TOKENIZE_DIGITS = MAX_TOKENIZE_DIGITS_1 - 1 // excl. rounding digit
};
-#define exp_0_9(x) x ## 0L, x ## 1L, x ## 2L, x ## 3L, x ## 4L, \
- x ## 5L, x ## 6L, x ## 7L, x ## 8L, x ## 9L,
+#define exp_0_9(x) x ## 0, x ## 1, x ## 2, x ## 3, x ## 4, \
+ x ## 5, x ## 6, x ## 7, x ## 8, x ## 9,
-static const long double expo_tab[310] =
+static const long double expo_tab[309] =
{
exp_0_9(1E) exp_0_9(1E1) exp_0_9(1E2) exp_0_9(1E3) exp_0_9(1E4)
exp_0_9(1E5) exp_0_9(1E6) exp_0_9(1E7) exp_0_9(1E8) exp_0_9(1E9)
@@ -766,7 +766,7 @@ static const long double expo_tab[310] =
exp_0_9(1E15) exp_0_9(1E16) exp_0_9(1E17) exp_0_9(1E18) exp_0_9(1E19)
exp_0_9(1E20) exp_0_9(1E21) exp_0_9(1E22) exp_0_9(1E23) exp_0_9(1E24)
exp_0_9(1E25) exp_0_9(1E26) exp_0_9(1E27) exp_0_9(1E28) exp_0_9(1E29)
- exp_0_9(1E30)
+ 1E300, 1E301, 1E302, 1E303, 1E304, 1E305, 1E306, 1E307, 1E308
};
static const long double nexpo_tab[310] =
@@ -960,6 +960,7 @@ UTF8_string digits = int_digits;
if (expo > 0)
{
+ if (expo > 308) return false;
if (negative) flt_val = - v * expo_tab[expo];
else flt_val = v * expo_tab[expo];
return true; // OK
@@ -1,29 +0,0 @@
--- src/UserPreferences.cc.orig 2019-06-23 12:39:20 UTC
+++ src/UserPreferences.cc
@@ -1299,7 +1299,25 @@ int file_profile = 0; // the current profile in the
}
else if (!strcasecmp(opt, "READLINE_HISTORY_PATH"))
{
- line_history_path = UTF8_string(arg);
+ // If 'arg' starts with "~/", expand ~ -> $HOME
+ if (arg[0] == '~' && arg[1] == '/')
+ {
+ const char * HOME = getenv("HOME");
+ if (HOME == 0)
+ {
+ if (log_startup)
+ CERR << "environment variable 'HOME' is not "
+ "defined for '~' expansion, will use "
+ << (arg + 2) << endl;
+ line_history_path = UTF8_string(arg + 2);
+ }
+ else
+ {
+ line_history_path = UTF8_string(HOME);
+ line_history_path.append_ASCII(arg + 1);
+ }
+ }
+ else line_history_path = UTF8_string(arg);
}
else if (!strcasecmp(opt, "NABLA-TO-HISTORY"))
{
-12
View File
@@ -1,12 +0,0 @@
GNU APL is a free interpreter for the programming language APL.
The APL interpreter is an (almost) complete implementation of ISO
standard 13751 aka Programming Language APL, Extended.
The APL interpreter has implemented:
- nested arrays and related functions
- complex numbers, and
- a shared variable interface
In addition, GNU APL can be scripted.
-56
View File
@@ -1,56 +0,0 @@
bin/AP100
bin/AP210
bin/APserver
%%NO_LIBAPL%%bin/apl
%%GTK3%%bin/Gtk_server
etc/gnu-apl.d/keyboard1.txt
etc/gnu-apl.d/parallel_thresholds
@sample etc/gnu-apl.d/preferences.sample
%%LIBAPL%%include/apl/libapl.h
%%LIBAPL%%lib/apl/libapl.a
%%LIBAPL%%lib/apl/libapl.so
lib/apl/lib_file_io.a
lib/apl/lib_file_io.so
lib/apl/lib_sql.a
lib/apl/lib_sql.so
lib/apl/lib_sql.so.0
lib/apl/lib_sql.so.0.0.0
lib/apl/lib_template_F0.a
lib/apl/lib_template_F0.so
lib/apl/lib_template_F12.a
lib/apl/lib_template_F12.so
lib/apl/lib_template_OP1.a
lib/apl/lib_template_OP1.so
lib/apl/lib_template_OP2.a
lib/apl/lib_template_OP2.so
lib/apl/libemacs.a
lib/apl/libemacs.so
lib/apl/libemacs.so.0
lib/apl/libemacs.so.0.0.0
lib/apl/workspaces/APL_CGI.apl
lib/apl/workspaces/RUBIK.apl
lib/apl/workspaces/SCRIPT.apl
lib/apl/workspaces/ScalarBenchmark.apl
lib/apl/workspaces/gnuplot.apl
lib/apl/wslib3/meta.apl
lib/apl/wslib4/dummy.apl
lib/apl/wslib5/APLComponentFiles/AUTHORS
lib/apl/wslib5/APLComponentFiles/CF_README.txt
lib/apl/wslib5/APLComponentFiles/ComponentFiles.apl
lib/apl/wslib5/APLComponentFiles/LAST_GIT_PULL
lib/apl/wslib5/APLComponentFiles/LICENSE
lib/apl/wslib5/APLComponentFiles/README.md
lib/apl/wslib5/APLComponentFiles/README_FIRST.txt
lib/apl/wslib5/APLComponentFiles/SQL_README.txt
lib/apl/wslib5/FILE_IO.apl
lib/apl/wslib5/HTML.apl
lib/apl/wslib5/SQL.apl
lib/apl/wslib5/iso-apl-cf/AUTHORS
lib/apl/wslib5/iso-apl-cf/LAST_GIT_PULL
lib/apl/wslib5/iso-apl-cf/README.md
lib/apl/wslib5/iso-apl-cf/_control_.apl
lib/apl/wslib5/iso-apl-cf/_metadata_
lib/apl/wslib5/iso-apl-cf/iso_cf.apl
lib/apl/wslib5/iso-apl-cf/perf.apl
lib/apl/wslib5/iso-apl-cf/test.apl
share/man/man1/apl.1.gz