pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
gnu-apl: playing with fixes for SunOS (checked on SmartOS)
Module Name: pkgsrc-wip
Committed By: Marcin Gondek <drixter%e-utp.net@localhost>
Pushed By: drixter
Date: Wed Oct 14 22:26:14 2026 +0200
Changeset: 04c87adb5dce1613a7ea49edd25982991458ac84
Added Files:
gnu-apl/DESCR
gnu-apl/Makefile
gnu-apl/PLIST
gnu-apl/distinfo
gnu-apl/options.mk
gnu-apl/patches/patch-HOWTOs_Makefile_in
gnu-apl/patches/patch-src_Backtrace.cc
gnu-apl/patches/patch-src_Common.hh
gnu-apl/patches/patch-src_Quad_JSON.cc
gnu-apl/patches/patch-src_Quad_XML.cc
gnu-apl/patches/patch-src_main.cc
Log Message:
gnu-apl: playing with fixes for SunOS (checked on SmartOS)
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=04c87adb5dce1613a7ea49edd25982991458ac84
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
gnu-apl/DESCR | 15 +++
gnu-apl/Makefile | 47 +++++++++
gnu-apl/PLIST | 163 +++++++++++++++++++++++++++++++
gnu-apl/distinfo | 11 +++
gnu-apl/options.mk | 62 ++++++++++++
gnu-apl/patches/patch-HOWTOs_Makefile_in | 24 +++++
gnu-apl/patches/patch-src_Backtrace.cc | 16 +++
gnu-apl/patches/patch-src_Common.hh | 16 +++
gnu-apl/patches/patch-src_Quad_JSON.cc | 15 +++
gnu-apl/patches/patch-src_Quad_XML.cc | 14 +++
gnu-apl/patches/patch-src_main.cc | 29 ++++++
11 files changed, 412 insertions(+)
diffs:
diff --git a/gnu-apl/DESCR b/gnu-apl/DESCR
new file mode 100644
index 0000000000..f45187dc4b
--- /dev/null
+++ b/gnu-apl/DESCR
@@ -0,0 +1,15 @@
+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. For example, this GNU APL home page was
+produced by a CGI script written in APL.
+
+GNU APL was written and is being maintained by Jurgen Sauermann.
diff --git a/gnu-apl/Makefile b/gnu-apl/Makefile
new file mode 100644
index 0000000000..10d91630e5
--- /dev/null
+++ b/gnu-apl/Makefile
@@ -0,0 +1,47 @@
+# $NetBSD: Makefile,v 1.1 2026/10/14 08:16:40 drixter Exp $
+
+DISTNAME= apl-2.0
+PKGNAME= gnu-${DISTNAME}
+PKGREVISION= 1
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_GNU:=apl/}
+
+MAINTAINER= drixter%e-utp.net@localhost
+HOMEPAGE= https://ftp.jaist.ac.jp/pub/GNU/apl/
+COMMENT= Free interpreter for the programming language APL
+LICENSE= gnu-gpl-v3
+
+GNU_CONFIGURE= yes
+INFO_FILES+= yes
+USE_LIBTOOL= yes
+USE_LANGUAGES= c c++
+USE_CXX_FEATURES= c++20
+
+CONFIGURE_ARGS+= --program-prefix=gnu-
+CONFIGURE_ARGS+= --docdir=${PREFIX}/share/doc/${PKGBASE}
+CONFIGURE_ARGS+= CORE_COUUNT_WANTED=argv
+MAKE_ENV+= MAKE_J=${MAKE_JOBS:U1}
+
+EGDIR= ${PREFIX}/share/examples/${PKGBASE}
+PKG_SYSCONFSUBDIR= ${PKGBASE}.d
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} sysconfdir=${EGDIR}
+INSTALLATION_DIRS+= ${EGDIR}
+APLD_CONFFILES= keyboard1.txt parallel_thresholds preferences
+.for conf in ${APLD_CONFFILES}
+CONF_FILES+= ${EGDIR}/${PKGBASE}.d/${conf} \
+ ${PKG_SYSCONFDIR}/${conf}
+.endfor
+
+.include "options.mk"
+
+.include "../../mk/bsd.prefs.mk"
+.if ${OPSYS:M*BSD}
+.include "../../devel/libexecinfo/buildlink3.mk"
+.endif
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../math/gsl/buildlink3.mk"
+.include "../../math/fftw/buildlink3.mk"
+.include "../../mk/curses.buildlink3.mk"
+.include "../../mk/readline.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/gnu-apl/PLIST b/gnu-apl/PLIST
new file mode 100644
index 0000000000..4405bf772e
--- /dev/null
+++ b/gnu-apl/PLIST
@@ -0,0 +1,163 @@
+@comment $NetBSD: PLIST,v 1.1 2026/10/14 08:16:40 drixter Exp $
+bin/gnu-AP100
+bin/gnu-AP210
+bin/gnu-APserver
+${PLIST.gtk3}bin/gnu-Gtk_server
+bin/gnu-apl
+bin/gnu-integral.py
+info/apl-library.info
+info/apl.info
+info/libapl.info
+lib/apl/doc/DALY/apl-library.info
+lib/apl/doc/DALY/apl-library.texi
+lib/apl/doc/DALY/apl-pkg-mgr.texi
+lib/apl/doc/DALY/apl_kbd.texi
+lib/apl/doc/DALY/arg_parser.texi
+lib/apl/doc/DALY/assert.texi
+lib/apl/doc/DALY/cfg.texi
+lib/apl/doc/DALY/cl.texi
+lib/apl/doc/DALY/date.texi
+lib/apl/doc/DALY/dom.texi
+lib/apl/doc/DALY/export.texi
+lib/apl/doc/DALY/fdl-1.3.texi
+lib/apl/doc/DALY/finance.texi
+lib/apl/doc/DALY/fmt.texi
+lib/apl/doc/DALY/html.texi
+lib/apl/doc/DALY/import.texi
+lib/apl/doc/DALY/lex.texi
+lib/apl/doc/DALY/lex1.texi
+lib/apl/doc/DALY/lpr.texi
+lib/apl/lib_file_io.la
+lib/apl/lib_sql.la
+lib/apl/lib_template_F0.la
+lib/apl/lib_template_F12.la
+lib/apl/lib_template_OP1.la
+lib/apl/lib_template_OP2.la
+lib/apl/libemacs.la
+lib/apl/wslib3/DALY/README.md
+lib/apl/wslib3/DALY/date.apl
+lib/apl/wslib3/DALY/fin.apl
+lib/apl/wslib3/DALY/fmt.apl
+lib/apl/wslib3/DALY/lex.apl
+lib/apl/wslib3/DALY/seq.apl
+lib/apl/wslib3/DALY/stack.apl
+lib/apl/wslib3/DALY/stat.apl
+lib/apl/wslib3/DALY/xml.apl
+lib/apl/wslib3/INVARIANTS.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/ASSERT.apl
+lib/apl/wslib5/DALY/README.md
+lib/apl/wslib5/DALY/aparse.apl
+lib/apl/wslib5/DALY/assert.apl
+lib/apl/wslib5/DALY/cfg.apl
+lib/apl/wslib5/DALY/cl.apl
+lib/apl/wslib5/DALY/dom.apl
+lib/apl/wslib5/DALY/export.apl
+lib/apl/wslib5/DALY/fin.apl
+lib/apl/wslib5/DALY/find_test_data.apl
+lib/apl/wslib5/DALY/from-ods.apl
+lib/apl/wslib5/DALY/import.apl
+lib/apl/wslib5/DALY/lpr.apl
+lib/apl/wslib5/DALY/parse_json.apl
+lib/apl/wslib5/DALY/pref.apl
+lib/apl/wslib5/DALY/prompt.apl
+lib/apl/wslib5/DALY/pw.apl
+lib/apl/wslib5/DALY/utf8.apl
+lib/apl/wslib5/DALY/utl.apl
+lib/apl/wslib5/DALY/wblg.apl
+lib/apl/wslib5/DALY/wsinit.apl
+lib/apl/wslib5/FILE_IO.apl
+lib/apl/wslib5/FILE_IO1.apl
+lib/apl/wslib5/HTML.apl
+lib/apl/wslib5/ISO-13751.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
+man/man1/gnu-apl.1
+share/doc/gnu-apl/APL-Communication-Cookbook.asciidoc
+share/doc/gnu-apl/APL-Communication-Cookbook.html
+share/doc/gnu-apl/APL-on-Macintosh.pdf
+share/doc/gnu-apl/APL1.png
+share/doc/gnu-apl/APL2.png
+share/doc/gnu-apl/APL3.png
+share/doc/gnu-apl/APL4.png
+share/doc/gnu-apl/APL5.png
+share/doc/gnu-apl/APL_keyboard.html
+share/doc/gnu-apl/APL_keyboard2.html
+share/doc/gnu-apl/GNU-APL-Designers-Guide.asciidoc
+share/doc/gnu-apl/GNU-APL-Designers-Guide.html
+share/doc/gnu-apl/GNU-APL-Memory-Management.asciidoc
+share/doc/gnu-apl/GNU-APL-Memory-Management.html
+share/doc/gnu-apl/GNU-APL-Performance.asciidoc
+share/doc/gnu-apl/GNU-APL-Performance.html
+share/doc/gnu-apl/GNU-APL-Troubleshooting.asciidoc
+share/doc/gnu-apl/GNU-APL-Troubleshooting.html
+share/doc/gnu-apl/GNU-APL-Windows-11.asciidoc
+share/doc/gnu-apl/GNU-APL-Windows-11.html
+share/doc/gnu-apl/LApack-primer.asciidoc
+share/doc/gnu-apl/LApack-primer.html
+share/doc/gnu-apl/MX_distributions.png
+share/doc/gnu-apl/PLOT_circle.png
+share/doc/gnu-apl/PLOT_zigzag.png
+share/doc/gnu-apl/Parallel-APL.asciidoc
+share/doc/gnu-apl/Parallel-APL.html
+share/doc/gnu-apl/Parallel-APL.pdf
+share/doc/gnu-apl/Quad-GTK.asciidoc
+share/doc/gnu-apl/Quad-GTK.html
+share/doc/gnu-apl/README
+share/doc/gnu-apl/README-1-prerequisites
+share/doc/gnu-apl/README-10-python
+share/doc/gnu-apl/README-11-bogus-compiler-warnings
+share/doc/gnu-apl/README-12-vpath-builds
+share/doc/gnu-apl/README-13-build-pitfalls
+share/doc/gnu-apl/README-2-configure
+share/doc/gnu-apl/README-3-keyboard
+share/doc/gnu-apl/README-4-compliance
+share/doc/gnu-apl/README-5-WINDOWS
+share/doc/gnu-apl/README-6-porting
+share/doc/gnu-apl/README-7-more-info
+share/doc/gnu-apl/README-8-parallel
+share/doc/gnu-apl/README-9-post-installation
+share/doc/gnu-apl/SQL.apl
+share/doc/gnu-apl/apl-info.css
+share/doc/gnu-apl/apl.1
+share/doc/gnu-apl/apl.html
+share/doc/gnu-apl/apl.info
+share/doc/gnu-apl/apl.texi
+share/doc/gnu-apl/apl_js.apache2
+share/doc/gnu-apl/apl_js.html
+share/doc/gnu-apl/glade-0.png
+share/doc/gnu-apl/glade-1.png
+share/doc/gnu-apl/glade-10.png
+share/doc/gnu-apl/glade-11.png
+share/doc/gnu-apl/glade-12.png
+share/doc/gnu-apl/glade-2.png
+share/doc/gnu-apl/glade-3.png
+share/doc/gnu-apl/glade-4.png
+share/doc/gnu-apl/glade-5.png
+share/doc/gnu-apl/glade-6.png
+share/doc/gnu-apl/glade-7.png
+share/doc/gnu-apl/glade-8.png
+share/doc/gnu-apl/glade-9.png
+share/doc/gnu-apl/libapl.html
+share/doc/gnu-apl/libapl.info
+share/doc/gnu-apl/libapl.texi
+share/doc/gnu-apl/wsock.js
+share/examples/gnu-apl/gnu-apl.d/keyboard1.txt
+share/examples/gnu-apl/gnu-apl.d/parallel_thresholds
+share/examples/gnu-apl/gnu-apl.d/preferences
diff --git a/gnu-apl/distinfo b/gnu-apl/distinfo
new file mode 100644
index 0000000000..f265b934b5
--- /dev/null
+++ b/gnu-apl/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1 2026/10/14 08:16:40 drixter Exp $
+
+BLAKE2s (apl-2.0.tar.gz) = aa61bb4f3369709cf39e15431b75aa1e5c7d61a613c1f02dfb52f4d87e106c70
+SHA512 (apl-2.0.tar.gz) = d110505eb34b0f7a6cf17a51462216b9a3b4bf93a932308be38bc2d37d55738bd09f0a5fe8c9e2f16dc14ff7de705e223a0a3242af18ab0f41e55fc3cdaf0fa6
+Size (apl-2.0.tar.gz) = 5128916 bytes
+SHA1 (patch-HOWTOs_Makefile_in) = 4635dd59d8964e3776f3de888aa748074d3c489c
+SHA1 (patch-src_Backtrace.cc) = e811ba5a9ea1bc67b382ac81adb22aae762b4ebf
+SHA1 (patch-src_Common.hh) = 03fd937a2b241acf44c2c46c000d9ba455ae6733
+SHA1 (patch-src_Quad_JSON.cc) = aa81f8c08bf20c702e6b17d8cd4b7598f2214c33
+SHA1 (patch-src_Quad_XML.cc) = 9f46316e7a248df7c2b987639eb2f659094db272
+SHA1 (patch-src_main.cc) = 1338c87f87dde40ff9b9d90953b4cef510008235
diff --git a/gnu-apl/options.mk b/gnu-apl/options.mk
new file mode 100644
index 0000000000..5ea2b0c8ca
--- /dev/null
+++ b/gnu-apl/options.mk
@@ -0,0 +1,62 @@
+# $NetBSD: options.mk,v 1.1 2026/10/14 08:16:41 drixter Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.gnu-apl
+PKG_SUPPORTED_OPTIONS= gtk3 pcre x11
+PKG_OPTIONS_OPTIONAL_GROUPS= database
+PKG_OPTIONS_GROUP.database= pgsql sqlite3
+PKG_SUGGESTED_OPTIONS= pcre sqlite3
+
+PLIST_VARS+= gtk3
+
+
+.include "../../mk/bsd.options.mk"
+
+
+.if !empty(PKG_OPTIONS:Mgtk3)
+USE_TOOLS+= pkg-config
+CONFIGURE_ARGS+= --with-gtk3
+PLIST.gtk3= yes
+
+.include "../../x11/gtk3/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+
+.else
+CONFIGURE_ARGS+= --without-gtk3
+.endif
+
+
+.if !empty(PKG_OPTIONS:Mpcre)
+CONFIGURE_ARGS+= --with-pcre
+.include "../../devel/pcre2/buildlink3.mk"
+
+.else
+CONFIGURE_ARGS+= --without-pcre
+.endif
+
+
+.if !empty(PKG_OPTIONS:Mx11)
+CONFIGURE_ARGS+= --with-x
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+
+.else
+CONFIGURE_ARGS+= --without-x
+.endif
+
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+CONFIGURE_ARGS+= --with-postgresql
+.include "../../mk/pgsql.buildlink3.mk"
+
+.else
+CONFIGURE_ARGS+= --without-postgresql
+.endif
+
+
+.if !empty(PKG_OPTIONS:Msqlite3)
+CONFIGURE_ARGS+= --with-sqlite3
+.include "../../databases/sqlite3/buildlink3.mk"
+
+.else
+CONFIGURE_ARGS+= --without-sqlite3
+.endif
diff --git a/gnu-apl/patches/patch-HOWTOs_Makefile_in b/gnu-apl/patches/patch-HOWTOs_Makefile_in
new file mode 100644
index 0000000000..c3e4f209e6
--- /dev/null
+++ b/gnu-apl/patches/patch-HOWTOs_Makefile_in
@@ -0,0 +1,24 @@
+$NetBSD$
+
+SunOS fix: use command -v instead which, because which works differently there
+
+--- HOWTOs/Makefile.in.orig Wed Oct 14 19:46:12 2026
++++ HOWTOs/Makefile.in Wed Oct 14 19:47:48 2026
+@@ -612,7 +612,7 @@
+ # The .html has a stupid <noscript> tag that needs to be removed
+ # in order to properly display the Table of Contents.
+ .asciidoc.html:
+- @if [ -z `which asciidoc` ] ; then touch $@ ; \
++ @if ! command -v asciidoc >/dev/null 2>&1 ; then touch $@ ; \
+ else asciidoc -a icons -o $@ $< ; \
+ sed -i 's|Cpp|C++|g' $@ ; \
+ sed -i 's|<pre><code>|<pre>\n\n<code>|' $@ ; \
+@@ -624,7 +624,7 @@
+ # use LibreOffic Writer (if installed) to convert .html to .pdf
+ #
+ .html.pdf:
+- @if [ -z `which lowriter` ] ; then touch $@ ; \
++ @if ! command -v lowriter >/dev/null 2>&1 ; then touch $@ ; \
+ else lowriter --headless --convert-to pdf $< ; \
+ fi
+
diff --git a/gnu-apl/patches/patch-src_Backtrace.cc b/gnu-apl/patches/patch-src_Backtrace.cc
new file mode 100644
index 0000000000..3091133d19
--- /dev/null
+++ b/gnu-apl/patches/patch-src_Backtrace.cc
@@ -0,0 +1,16 @@
+$NetBSD$
+
+SunOS fix: Add alloca.h which is needed
+
+--- src/Backtrace.cc.orig Wed Oct 14 19:51:00 2026
++++ src/Backtrace.cc Wed Oct 14 19:51:00 2026
+@@ -32,6 +32,9 @@
+ #include <sys/stat.h>
+
+ #include "Common.hh" // for HAVE_EXECINFO_H et al.
++#if defined(__sun)
++#include <alloca.h>
++#endif
+ #ifdef HAVE_EXECINFO_H
+ # include <execinfo.h>
+ # include <cxxabi.h>
diff --git a/gnu-apl/patches/patch-src_Common.hh b/gnu-apl/patches/patch-src_Common.hh
new file mode 100644
index 0000000000..08135b09a3
--- /dev/null
+++ b/gnu-apl/patches/patch-src_Common.hh
@@ -0,0 +1,16 @@
+$NetBSD$
+
+SunOS fix: Add alloca.h which is needed
+
+--- src/Common.hh.orig
++++ src/Common.hh
+@@ -50,6 +50,9 @@
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#if defined(__sun)
++#include <alloca.h>
++#endif
+ #include <sys/time.h> // for gettimeofday()
+
+ #ifndef RLIM_INFINITY // Raspberry
diff --git a/gnu-apl/patches/patch-src_Quad_JSON.cc b/gnu-apl/patches/patch-src_Quad_JSON.cc
new file mode 100644
index 0000000000..1dd25ef809
--- /dev/null
+++ b/gnu-apl/patches/patch-src_Quad_JSON.cc
@@ -0,0 +1,15 @@
+$NetBSD$
+
+SunOS fix: Add unistd.h and fcntl.h which are needed
+
+--- src/Quad_JSON.cc.orig
++++ src/Quad_JSON.cc
+@@ -23,6 +23,8 @@
+
+ #include <errno.h>
+ #include <string.h>
++#include <unistd.h>
++#include <fcntl.h>
+
+ #include <sys/fcntl.h> // for O_RDONLY
+ #include <sys/stat.h>
diff --git a/gnu-apl/patches/patch-src_Quad_XML.cc b/gnu-apl/patches/patch-src_Quad_XML.cc
new file mode 100644
index 0000000000..5ee78685cc
--- /dev/null
+++ b/gnu-apl/patches/patch-src_Quad_XML.cc
@@ -0,0 +1,14 @@
+$NetBSD$
+
+SunOS fix: Add fcntl.h which is needed
+
+--- src/Quad_XML.cc.orig
++++ src/Quad_XML.cc
+@@ -24,6 +24,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <sys/fcntl.h> // for O_RDONLY
++#include <fcntl.h>
+ #include <sys/stat.h>
+
+ #include "Avec.hh"
diff --git a/gnu-apl/patches/patch-src_main.cc b/gnu-apl/patches/patch-src_main.cc
new file mode 100644
index 0000000000..0765828345
--- /dev/null
+++ b/gnu-apl/patches/patch-src_main.cc
@@ -0,0 +1,29 @@
+$NetBSD$
+
+SunOS Fix: Move const into proper place
+
+
+--- src/main.cc.orig Tue Mar 10 17:37:18 2026
++++ src/main.cc Wed Oct 14 19:56:02 2026
+@@ -53,6 +53,7 @@
+ #include "Workspace.hh"
+ #include "UserPreferences.hh"
+
++
+ #if HAVE_IOCTL_TIOCGWINSZ // platform has ioctl(fd, TIOCGWINSZ. ...)
+ # include <sys/ioctl.h>
+ #endif
+@@ -422,11 +423,12 @@
+ sigaction(SIGHUP, &new_HUP_action, &old_HUP_action);
+ signal(SIGCHLD, SIG_IGN); // do not create zombies
+
++ const UserPreferences & uprefs = UserPreferences::uprefs;
++
+ #if HAVE_IOCTL_TIOCGWINSZ
+ // Enable the ability to change ⎕PW on window resize only if the
+ // platform supports ioctl TIOCGWINSZ
+ //
+-const UserPreferences & uprefs = UserPreferences::uprefs;
+ if (uprefs.WINCH_sets_pw)
+ {
+ // IF WINCH_sets_pw preference is enabled, set up a handler for the
Home |
Main Index |
Thread Index |
Old Index