summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrhialto <rhialto@pkgsrc.org>2022-12-04 18:30:38 +0000
committerrhialto <rhialto@pkgsrc.org>2022-12-04 18:30:38 +0000
commite65fe9556ca026570e3b85c982bb1ca9843ddc7c (patch)
tree391009cbdb9721cedba114f79cda836376ebee2f
parentb3531a3180be35ab9dd9a279254108a537c8554e (diff)
downloadpkgsrc-e65fe9556ca026570e3b85c982bb1ca9843ddc7c.tar.gz
lang/algol68g: fix the patch for the dlopen problem.
-rw-r--r--lang/algol68g/Makefile3
-rw-r--r--lang/algol68g/distinfo4
-rw-r--r--lang/algol68g/patches/patch-src_a68g_a68g.c24
3 files changed, 16 insertions, 15 deletions
diff --git a/lang/algol68g/Makefile b/lang/algol68g/Makefile
index 120ddd8c54c..e2fab050955 100644
--- a/lang/algol68g/Makefile
+++ b/lang/algol68g/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.21 2022/12/04 17:11:13 rhialto Exp $
+# $NetBSD: Makefile,v 1.22 2022/12/04 18:30:38 rhialto Exp $
DISTNAME= algol68g-3.1.0
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://jmvdveer.home.xs4all.nl/
diff --git a/lang/algol68g/distinfo b/lang/algol68g/distinfo
index 506112e653f..0cd9aebcc4e 100644
--- a/lang/algol68g/distinfo
+++ b/lang/algol68g/distinfo
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.13 2022/12/04 17:11:13 rhialto Exp $
+$NetBSD: distinfo,v 1.14 2022/12/04 18:30:38 rhialto Exp $
BLAKE2s (algol68g-3.1.0.tar.gz) = 43b0ff30bc2f4e453ea7e0f12215381d585e200abe7def717cef12da55f6b539
SHA512 (algol68g-3.1.0.tar.gz) = 92370031432eb42c8de4486696827ed6b0716f4cd918cb722263c16cec03cbf6e07873b7d6a56ca6e52b762a45d9be1848eba62755dd5cacafdc3aac7abf4f2e
Size (algol68g-3.1.0.tar.gz) = 630652 bytes
-SHA1 (patch-src_a68g_a68g.c) = 3ce7296f05afbd78500ec562968e533d34d18007
+SHA1 (patch-src_a68g_a68g.c) = 3dcee4e2343dc6305b000933bea685820d7cacdc
SHA1 (patch-src_a68g_options.c) = 35d53f40b5874f0169a49641e73cbcc71dd143a0
diff --git a/lang/algol68g/patches/patch-src_a68g_a68g.c b/lang/algol68g/patches/patch-src_a68g_a68g.c
index 010d40f6d80..610946a2e4b 100644
--- a/lang/algol68g/patches/patch-src_a68g_a68g.c
+++ b/lang/algol68g/patches/patch-src_a68g_a68g.c
@@ -1,7 +1,7 @@
-$NetBSD: patch-src_a68g_a68g.c,v 1.2 2022/12/04 17:11:13 rhialto Exp $
+$NetBSD: patch-src_a68g_a68g.c,v 1.3 2022/12/04 18:30:39 rhialto Exp $
-* Add -rpath=. to the linker command line, so that --compile works.
- Otherwise, you get errors like
+* Use an explicit directory name to store (and later dlopen) the .so file,
+ so that --compile works. Otherwise, you get errors like
test-set$ a68g --compile 20-quicksort.a68
[20-quicksort.a68]
@@ -11,12 +11,12 @@ $NetBSD: patch-src_a68g_a68g.c,v 1.2 2022/12/04 17:11:13 rhialto Exp $
--- src/a68g/a68g.c.orig 2022-11-06 16:02:39.000000000 +0000
+++ src/a68g/a68g.c
-@@ -437,7 +437,7 @@ void compiler_interpreter (void)
- #endif
- ASSERT (snprintf (cmd, SNPRINTF_SIZE, "%s -I%s %s -c -o \"%s\" \"%s\"", C_COMPILER, INCLUDEDIR, 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);
-+ ASSERT (snprintf (cmd, SNPRINTF_SIZE, "ld -rpath=. -export-dynamic -shared -o \"%s\" \"%s\"", FILE_LIBRARY_NAME (&A68_JOB), FILE_BINARY_NAME (&A68_JOB)) >= 0);
- ABEND (system (cmd) != 0, ERROR_ACTION, cmd);
- a68_rm (FILE_BINARY_NAME (&A68_JOB));
- }
+@@ -480,7 +480,7 @@ void compiler_interpreter (void)
+ struct stat srcstat, objstat;
+ int ret;
+ announce_phase ("dynamic linker");
+- ASSERT (snprintf (libname, SNPRINTF_SIZE, "%s", FILE_LIBRARY_NAME (&A68_JOB)) >= 0);
++ ASSERT (snprintf (libname, SNPRINTF_SIZE, "./%s", FILE_LIBRARY_NAME (&A68_JOB)) >= 0);
+ // Check whether we are doing something rash.
+ ret = stat (FILE_SOURCE_NAME (&A68_JOB), &srcstat);
+ ABEND (ret != 0, ERROR_ACTION, FILE_SOURCE_NAME (&A68_JOB));