Download raw body.
Fix algol68g on non-x86
On 6/4/2024 7:16 AM, Jeremie Courreges-Anglas wrote:
>
> The diff at the end lets me build an algol68g package on riscv64 - and
> virtually any non-x86 architecture. make package/test passes on
> riscv64.
>
> However, configure.ac only recognizes OpenBSD/amd64 as tested, and
> thus builds a minimal version on other archs. It doesn't make much
> sense to me (all our platforms have IEEE754 FP now) and I'd rather
> build the same package everywhere. But that would require either
> patching configure or using autoreconf. Addressing this could be
> delayed until it goes upstream. Thoughts?
>
> |Index: patches/patch-configure_ac
> |===================================================================
> |RCS file: patches/patch-configure_ac
> |diff -N patches/patch-configure_ac
> |--- /dev/null 1 Jan 1970 00:00:00 -0000
> |+++ patches/patch-configure_ac 4 Jun 2024 07:28:27 -0000
> |@@ -0,0 +1,15 @@
> |+All our architectures have IEEE754 floating point, build the same set of
> |+features on all of them.
> |+
> |+Index: configure.ac
> |+--- configure.ac.orig
> |++++ configure.ac
> |+@@ -99,7 +99,7 @@ case "$host" in
> |+ # OpenBSD.
> |+ #
> |+
> |+-*86-*-openbsd* | *86_64-*-openbsd*)
> |++*-openbsd*)
> |+ AC_DEFINE(BUILD_BSD, 1, [Define this if OpenBSD was detected])
> |+ AC_DEFINE(HAVE_IEEE_754, 1, [Define this if IEEE_754 compliant])
> |+ bsd_include_dirs=yes
>
> Now fo the minimal fix. The src/a68g/parser-scanner.c patch fixes the
> cause of the build failure spotted on riscv64 and arm64[0]: when
> building a minimal package, ncurses isn't used and thus FALSE from
> ncurses.h isn't available. Just use A68_FALSE as was probably
> intended.
>
> Bumping REVISION is cheap but probably not required. ok for the
> the diff below, or also for the full proposal?
>
> Brian, do you wish to take care of upstreaming these fixes? Else I
> can handle it as time permits.
>
Yes ok for the full proposal. And yes, I will upstream. Upstream is
quite responsive.
~Brian
>
> [0] http://build-failures.rhaalovely.net/aarch64/2024-05-29/lang/algol68g.log
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/algol68g/Makefile,v
> diff -u -p -r1.16 Makefile
> --- Makefile 21 May 2024 14:48:06 -0000 1.16
> +++ Makefile 4 Jun 2024 07:28:27 -0000
> @@ -1,5 +1,6 @@
> COMMENT = Algol 68 Genie compiler-interpreter
> DISTNAME = algol68g-3.5.2
> +REVISION = 0
> CATEGORIES = lang
>
> HOMEPAGE = https://jmvdveer.home.xs4all.nl/algol.html
> Index: patches/patch-src_a68g_parser-scanner_c
> ===================================================================
> RCS file: patches/patch-src_a68g_parser-scanner_c
> diff -N patches/patch-src_a68g_parser-scanner_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_a68g_parser-scanner_c 4 Jun 2024 07:28:27 -0000
> @@ -0,0 +1,14 @@
> +Don't depend on curses defining FALSE.
> +
> +Index: src/a68g/parser-scanner.c
> +--- src/a68g/parser-scanner.c.orig
> ++++ src/a68g/parser-scanner.c
> +@@ -856,7 +856,7 @@ char *pragment (int type, LINE_T ** ref_l, char **ref_
> + ADD_ONE_CHAR (c);
> + c = next_char (ref_l, ref_c, A68_FALSE);
> + }
> +- scan_next = FALSE;
> ++ scan_next = A68_FALSE;
> + } else if (IS_PRINT (c) || IS_SPACE (c)) {
> + ADD_ONE_CHAR (c);
> + }
>
>
Fix algol68g on non-x86