]> git.draconx.ca Git - homepage.git/commitdiff
cdecl99-1.3 bash-5 hotfix master
authorNick Bowler <nbowler@draconx.ca>
Wed, 17 Apr 2024 02:34:19 +0000 (22:34 -0400)
committerNick Bowler <nbowler@draconx.ca>
Wed, 17 Apr 2024 02:40:49 +0000 (22:40 -0400)
Turns out that prior to release the package was not tested on any
systems where /bin/sh is bash-5, and the configure script hits a
parser bug in this shell regarding for loops in case statements.

A workaround is to set CONFIG_SHELL environment variable to some
other shell without this bug.  But if that's not possible, this
patch can be applied to avoid the bug.

content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch [new file with mode: 0644]

diff --git a/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch b/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch
new file mode 100644 (file)
index 0000000..0ffc323
--- /dev/null
@@ -0,0 +1,49 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+NotDashEscaped: You need gpg to verify this message
+
+The configure script included with the cdecl99-1.3 release fails on
+bash-5 due to a parser bug in this shell.  On affected systems, a
+message similar to the following may be seen when running configure:
+
+  ./configure: line 6631: syntax error near unexpected token `do'
+  ./configure: line 6631: `do'
+
+You can work around the problem by setting the CONFIG_SHELL environment
+variable to some other shell before running configure; otherwise you can
+apply this patch file with a command such as:
+
+  % cd cdecl99-1.3
+  % patch -p1 <cdecl99-1.3-bash5-fix.patch
+
+*** cdecl99-1.3.orig/configure
+--- cdecl99-1.3/configure
+***************
+*** 6626,6633 ****
+    $as_echo_n "(cached) " >&6
+  else
+    dx_cv_have_alignas=no
+! for _dx_alignas
+! in '_Alignas(X)' '__attribute__((__aligned__(X)))' '__declspec(align(X))'
+  do
+  if ac_fn_c_compute_int "$LINENO" "sizeof (struct { char a; char ALIGNAS_TEST(4) b; }) >= 8" "_dx_tmp"        "#include <stddef.h>
+  #define ALIGNAS_TEST(X) $_dx_alignas
+--- 6626,6632 ----
+    $as_echo_n "(cached) " >&6
+  else
+    dx_cv_have_alignas=no
+! for _dx_alignas in '_Alignas(X)' '__attribute__((__aligned__(X)))' '__declspec(align(X))'
+  do
+  if ac_fn_c_compute_int "$LINENO" "sizeof (struct { char a; char ALIGNAS_TEST(4) b; }) >= 8" "_dx_tmp"        "#include <stddef.h>
+  #define ALIGNAS_TEST(X) $_dx_alignas
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAEBCAAdFiEEJagcgrvBtB9dtMuDW0XT0YW44fYFAmYfNBUACgkQW0XT0YW4
+4famBQf9GhDZJGOvrkDB5dGWwieXqFCWXJBbATVbY8JmY5wJupke5MqvDEQJ3tBr
+A2YIcQZ67+KjA2LwWTTQhQgKkveQs1HWFdTDrHnhTm4dF4jZdlxwVK3K3kHCcref
+uW+vl/6C9YkKcVcbf8OeHT4JVgYv2h7XRKW69XIB6lchdMc6rGNeStuCHyuGKYWG
+7n3WH9bA5OBPmPAd6yUPmU4urWBHjZwxyTaFBYBO7T+9R3Q4KvvyzCfxt1JxTUPS
+SmiQC1B0gg16/N2XJzCmnBsaVXSHdsvt8UrZeIZyWipejqtb2UR1MVnVToz/83NO
+gh5tyhxXnYiQgRqd2/uRg9z+GzziDw==
+=/RXF
+-----END PGP SIGNATURE-----