summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2022-03-02 01:41:34 +0000
committerryoon <ryoon@pkgsrc.org>2022-03-02 01:41:34 +0000
commit7498785997f88165091edb759bdfb68c1c6c28c2 (patch)
treeebf57254d0481bf58bb137917e37aa58965a3de5
parent9e6c46b55242deab09201750f0c7a9bdc03b10f6 (diff)
downloadpkgsrc-7498785997f88165091edb759bdfb68c1c6c28c2.tar.gz
algol68g: Update to 3.0.4
* Enable compiler mode (--compile) for NetBSD at least. Changelog: Version 3.0.3 and 3.0.4 * Unavailable. Version 3.0.1-4, January/February 2022 * Several bug fixes, reported for 3.0.0. * Updates a68g.exe to GSL 2.7.1 and R mathlib 4.1.2. Version 3.0.0, December 2021 * On platforms that support them: 64 bit INT/BITS and 128-bit LONG INT, LONG BITS and LONG REAL. These platforms include amd64, x86_64 and i386 with GCC. * More bindings for routines from the GNU Scientific Library. * Adds a generalized incomplete gamma function. * Builds with R mathlib bindings, if available. * Fixes several minor bugs.
-rw-r--r--lang/algol68g/Makefile17
-rw-r--r--lang/algol68g/PLIST35
-rw-r--r--lang/algol68g/distinfo14
-rw-r--r--lang/algol68g/patches/patch-src_a68g_a68g.c15
-rw-r--r--lang/algol68g/patches/patch-src_a68g_a68glib.c16
-rw-r--r--lang/algol68g/patches/patch-src_a68g_options.c42
-rw-r--r--lang/algol68g/patches/patch-src_include_a68g-includes.h15
-rw-r--r--lang/algol68g/patches/patch-src_include_a68g-platform.h15
-rw-r--r--lang/algol68g/patches/patch-src_include_a68g.h15
9 files changed, 176 insertions, 8 deletions
diff --git a/lang/algol68g/Makefile b/lang/algol68g/Makefile
index b92b84dfe94..77396cf84fd 100644
--- a/lang/algol68g/Makefile
+++ b/lang/algol68g/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.18 2021/06/01 09:12:26 wiz Exp $
+# $NetBSD: Makefile,v 1.19 2022/03/02 01:41:34 ryoon Exp $
-DISTNAME= algol68g-2.8.4
-PKGREVISION= 2
+DISTNAME= algol68g-3.0.4
CATEGORIES= lang
MASTER_SITES= http://jmvdveer.home.xs4all.nl/
@@ -14,6 +13,18 @@ USE_LANGUAGES= c
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --docdir=${PREFIX}/share/doc/${PKGBASE}
+SUBST_CLASSES+= fix-path
+SUBST_STAGE.fix-path= pre-configure
+SUBST_MESSAGE.fix-path= Fixing /usr/local path.
+SUBST_FILES.fix-path+= Makefile.in
+SUBST_SED.fix-path= -e 's,/usr/local/include/algol68g,${PREFIX}/include/algol68g,g'
+
+SUBST_CLASSES+= prefix
+SUBST_STAGE.prefix= pre-configure
+SUBST_MESSAGE.prefix= Adding ${PREFIX}/include to compiler arguments.
+SUBST_FILES.prefix+= src/a68g/a68g.c
+SUBST_VARS.prefix+= PREFIX
+
TEST_TARGET= check
.include "options.mk"
diff --git a/lang/algol68g/PLIST b/lang/algol68g/PLIST
index ae014dfa01a..ab009ae5add 100644
--- a/lang/algol68g/PLIST
+++ b/lang/algol68g/PLIST
@@ -1,9 +1,42 @@
-@comment $NetBSD: PLIST,v 1.2 2012/07/03 08:20:25 asau Exp $
+@comment $NetBSD: PLIST,v 1.3 2022/03/02 01:41:34 ryoon Exp $
bin/a68g
+include/algol68g/a68g-common.h
+include/algol68g/a68g-compiler.h
include/algol68g/a68g-config.h
+include/algol68g/a68g-defines.h
+include/algol68g/a68g-diagnostics.h
+include/algol68g/a68g-double.h
+include/algol68g/a68g-enums.h
+include/algol68g/a68g-environ.h
+include/algol68g/a68g-frames.h
+include/algol68g/a68g-generic.h
+include/algol68g/a68g-genie.h
+include/algol68g/a68g-includes.h
+include/algol68g/a68g-level-3.h
+include/algol68g/a68g-lib.h
+include/algol68g/a68g-listing.h
+include/algol68g/a68g-masks.h
+include/algol68g/a68g-math.h
+include/algol68g/a68g-mp.h
+include/algol68g/a68g-nil.h
+include/algol68g/a68g-numbers.h
+include/algol68g/a68g-optimiser.h
+include/algol68g/a68g-options.h
+include/algol68g/a68g-parser.h
+include/algol68g/a68g-physics.h
+include/algol68g/a68g-platform.h
+include/algol68g/a68g-postulates.h
+include/algol68g/a68g-prelude-gsl.h
+include/algol68g/a68g-prelude-mathlib.h
+include/algol68g/a68g-prelude.h
+include/algol68g/a68g-stack.h
+include/algol68g/a68g-stddef.h
+include/algol68g/a68g-transput.h
+include/algol68g/a68g-types.h
include/algol68g/a68g.h
man/man1/a68g.1
share/doc/algol68g/AUTHORS
share/doc/algol68g/COPYING
+share/doc/algol68g/LICENSE
share/doc/algol68g/NEWS
share/doc/algol68g/README
diff --git a/lang/algol68g/distinfo b/lang/algol68g/distinfo
index 0a74ca2b9ef..c0202bece95 100644
--- a/lang/algol68g/distinfo
+++ b/lang/algol68g/distinfo
@@ -1,5 +1,11 @@
-$NetBSD: distinfo,v 1.11 2021/10/26 10:51:29 nia Exp $
+$NetBSD: distinfo,v 1.12 2022/03/02 01:41:34 ryoon Exp $
-BLAKE2s (algol68g-2.8.4.tar.gz) = b098dccbf10affad6451b6f1eb7844a635fc4167183757f55a4ecc76c88339e0
-SHA512 (algol68g-2.8.4.tar.gz) = c72405a7b10f62705dd29efcca9f8ac917f592944ad22cf868b8f3664d9d6e98ef4d1c0f7e400ad732e70c52786238126f011b606e6eee768402229421545c03
-Size (algol68g-2.8.4.tar.gz) = 516697 bytes
+BLAKE2s (algol68g-3.0.4.tar.gz) = 482deae56b1b8dde6147c24bd5938cca61ed2d3ac0a2c219147fa0776571bb2c
+SHA512 (algol68g-3.0.4.tar.gz) = 3f5fba11a2e43be6939639f7b376c38d64b3b9cea7e5c84fd02a9f17b09aada8828df5107e479f158b0ccaf8bcb8b1739a34baaed4b746c38f6065e4d5d09230
+Size (algol68g-3.0.4.tar.gz) = 622123 bytes
+SHA1 (patch-src_a68g_a68g.c) = 14cb8f465b7f490e170725822cbbbdc2d2e11ab2
+SHA1 (patch-src_a68g_a68glib.c) = 6b3dbdb227b1508aaa138ecea7ebbb4c14ef9035
+SHA1 (patch-src_a68g_options.c) = d3f93775816b8c698ee3988ffc10d06b3e2bf54d
+SHA1 (patch-src_include_a68g-includes.h) = e7e581f27bcd3c0e23e40608ef5d0b9e11cba1df
+SHA1 (patch-src_include_a68g-platform.h) = b996b309192e49b384ed34ed304ed11fe74da1db
+SHA1 (patch-src_include_a68g.h) = 6d47419c7133d96474fb9cb46beb880a33005032
diff --git a/lang/algol68g/patches/patch-src_a68g_a68g.c b/lang/algol68g/patches/patch-src_a68g_a68g.c
new file mode 100644
index 00000000000..85fb504eb7e
--- /dev/null
+++ b/lang/algol68g/patches/patch-src_a68g_a68g.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_a68g_a68g.c,v 1.1 2022/03/02 01:41:34 ryoon Exp $
+
+* Use header files from ${PREFIX}.
+
+--- src/a68g/a68g.c.orig 2022-02-01 20:45:41.000000000 +0000
++++ src/a68g/a68g.c
+@@ -448,7 +448,7 @@ static void compiler_interpreter (void)
+ bufcat (options, " ", BUFFER_SIZE);
+ bufcat (options, HAVE_PIC, BUFFER_SIZE);
+ #endif
+- ASSERT (snprintf (cmd, SNPRINTF_SIZE, "gcc %s -c -o \"%s\" \"%s\"", options, FILE_BINARY_NAME (&A68_JOB), FILE_OBJECT_NAME (&A68_JOB)) >= 0);
++ ASSERT (snprintf (cmd, SNPRINTF_SIZE, "gcc %s -I@PREFIX@/include -c -o \"%s\" \"%s\"", options, FILE_BINARY_NAME (&A68_JOB), FILE_OBJECT_NAME (&A68_JOB)) >= 0);
+ ABEND (system (cmd) != 0, ERROR_ACTION, cmd);
+ ASSERT (snprintf (cmd, SNPRINTF_SIZE, "ld -export-dynamic -shared -o \"%s\" \"%s\"", FILE_LIBRARY_NAME (&A68_JOB), FILE_BINARY_NAME (&A68_JOB)) >= 0);
+ ABEND (system (cmd) != 0, ERROR_ACTION, cmd);
diff --git a/lang/algol68g/patches/patch-src_a68g_a68glib.c b/lang/algol68g/patches/patch-src_a68g_a68glib.c
new file mode 100644
index 00000000000..f45644f1ddf
--- /dev/null
+++ b/lang/algol68g/patches/patch-src_a68g_a68glib.c
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_a68g_a68glib.c,v 1.1 2022/03/02 01:41:34 ryoon Exp $
+
+* Fix build under NetBSD at least.
+
+--- src/a68g/a68glib.c.orig 2022-02-01 20:45:41.000000000 +0000
++++ src/a68g/a68glib.c
+@@ -43,7 +43,9 @@ int snprintf (char *s, size_t n, const c
+ {
+ va_list ap;
+ va_start (ap, format);
++#if 0
+ int vsnprintf (char *, size_t, const char *, va_list);
++#endif
+ int result = vsnprintf (s, n, format, ap);
+ va_end (ap);
+ return result;
diff --git a/lang/algol68g/patches/patch-src_a68g_options.c b/lang/algol68g/patches/patch-src_a68g_options.c
new file mode 100644
index 00000000000..8565f3dba4c
--- /dev/null
+++ b/lang/algol68g/patches/patch-src_a68g_options.c
@@ -0,0 +1,42 @@
+$NetBSD: patch-src_a68g_options.c,v 1.1 2022/03/02 01:41:34 ryoon Exp $
+
+* Enable compiler for *BSD.
+
+--- src/a68g/options.c.orig 2022-02-01 20:45:41.000000000 +0000
++++ src/a68g/options.c
+@@ -544,7 +544,7 @@ BOOL_T set_options (OPTION_LIST_T * i, B
+ #endif
+ }
+ if (eq (q, "linux")) {
+-#if !defined (BUILD_LINUX)
++#if (!defined (BUILD_LINUX) && !defined(BUILD_BSD))
+ io_close_tty_line ();
+ WRITE (STDOUT_FILENO, "linux required - exiting graciously");
+ a68_exit (EXIT_SUCCESS);
+@@ -701,7 +701,7 @@ BOOL_T set_options (OPTION_LIST_T * i, B
+ }
+ // COMPILE and NOCOMPILE switch on/off compilation.
+ else if (eq (p, "Compile")) {
+-#if defined (BUILD_LINUX)
++#if defined (BUILD_LINUX) || defined(BUILD_BSD)
+ OPTION_COMPILE (&A68_JOB) = A68_TRUE;
+ OPTION_COMPILE_CHECK (&A68_JOB) = A68_TRUE;
+ if (OPTION_OPT_LEVEL (&A68_JOB) < OPTIMISE_1) {
+@@ -745,7 +745,7 @@ BOOL_T set_options (OPTION_LIST_T * i, B
+ }
+ // RUN-SCRIPT runs a compiled .sh script.
+ else if (eq (p, "RUN-SCRIPT")) {
+-#if defined (BUILD_LINUX)
++#if defined (BUILD_LINUX) || defined(BUILD_BSD)
+ FORWARD (i);
+ if (i != NO_OPTION_LIST) {
+ if (!name_set) {
+@@ -766,7 +766,7 @@ BOOL_T set_options (OPTION_LIST_T * i, B
+ }
+ // RUN-QUOTE-SCRIPT runs a compiled .sh script.
+ else if (eq (p, "RUN-QUOTE-SCRIPT")) {
+-#if defined (BUILD_LINUX)
++#if defined (BUILD_LINUX) || defined(BUILD_BSD)
+ FORWARD (i);
+ if (i != NO_OPTION_LIST) {
+ if (!name_set) {
diff --git a/lang/algol68g/patches/patch-src_include_a68g-includes.h b/lang/algol68g/patches/patch-src_include_a68g-includes.h
new file mode 100644
index 00000000000..00b65541bf0
--- /dev/null
+++ b/lang/algol68g/patches/patch-src_include_a68g-includes.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_include_a68g-includes.h,v 1.1 2022/03/02 01:41:34 ryoon Exp $
+
+* Fix compiler build for *BSD.
+
+--- src/include/a68g-includes.h.orig 2022-02-01 20:45:41.000000000 +0000
++++ src/include/a68g-includes.h
+@@ -66,7 +66,7 @@
+ #include <dirent.h>
+ #endif
+
+-#if defined (HAVE_DL)
++#if defined (HAVE_DL) || defined(BUILD_BSD)
+ #include <dlfcn.h>
+ #endif
+
diff --git a/lang/algol68g/patches/patch-src_include_a68g-platform.h b/lang/algol68g/patches/patch-src_include_a68g-platform.h
new file mode 100644
index 00000000000..44bd23b551b
--- /dev/null
+++ b/lang/algol68g/patches/patch-src_include_a68g-platform.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_include_a68g-platform.h,v 1.1 2022/03/02 01:41:34 ryoon Exp $
+
+* Fix *BSD compiler runtime error.
+
+--- src/include/a68g-platform.h.orig 2022-02-01 20:45:41.000000000 +0000
++++ src/include/a68g-platform.h
+@@ -24,8 +24,6 @@
+
+ #if defined (BUILD_WIN32)
+ #include "a68g-config.win32.h"
+-#elif defined (BUILD_BSD)
+-#include "a68g-config.bsd.h"
+ #else
+ #include "a68g-config.h"
+ #endif
diff --git a/lang/algol68g/patches/patch-src_include_a68g.h b/lang/algol68g/patches/patch-src_include_a68g.h
new file mode 100644
index 00000000000..7ec0190159e
--- /dev/null
+++ b/lang/algol68g/patches/patch-src_include_a68g.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_include_a68g.h,v 1.1 2022/03/02 01:41:34 ryoon Exp $
+
+* Enable compiler for *BSD.
+
+--- src/include/a68g.h.orig 2022-02-01 20:45:41.000000000 +0000
++++ src/include/a68g.h
+@@ -32,7 +32,7 @@
+
+ // Build switches depending on platform.
+
+-#if (defined (BUILD_LINUX) && defined (HAVE_GCC) && defined (HAVE_DL))
++#if (defined (BUILD_LINUX) && defined (HAVE_GCC) && defined (HAVE_DL)) || defined(BUILD_BSD)
+ # define BUILD_A68_COMPILER
+ #else
+ // Untested, so disabled.