Without the fix build on ncurses-6.3 fails as:
src/client/monitor/status_client_ncurses.c:350:9:
error: format not a string literal and no format arguments [-Werror=format-security]
350 | mvprintw(0, col-l-1, date);
| ^~~~~~~~
catch is ancient and has no support for aarch64-darwin. The following
snippet is an example of what is supported on darwin platforms in catch
(i.e., prior to v2).
```
#ifdef CATCH_PLATFORM_MAC
#if defined(__ppc64__) || defined(__ppc__)
#define CATCH_TRAP() \
__asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n" \
: : : "memory","r0","r3","r4" ) /* NOLINT */
#else
#define CATCH_TRAP() __asm__("int $3\n" : : /* NOLINT */ )
#endif
```
Fix wrong header for statfs function.
Use gccStdenv to build with GCC on all systems. GCC is hardcoded in
configure.in, but after setting CC_FOR_BUILD to cc to use Clang, the
build fails anyway when running a post-compilation command:
clang -DLOCALE=LANG_en -DLOCALE_DESC="\"en\"" -DPKGLIBDIR="\"<out>/lib/arj\"" -D_UNIX -g -O2 -o darwin20.6.0/en/rs/arj/arj <objects_files>
: darwin20.6.0/en/rs/arj/arj
./darwin20.6.0/en/rs/tools/join ./darwin20.6.0/en/rs/arj/arj ./darwin20.6.0/en/rs/arjsfxjr/arjsfxjr
JOIN v 1.30 [26/04/2003] Not a part of any binary package!
Copying .. done!
./darwin20.6.0/en/rs/tools/join ./darwin20.6.0/en/rs/arj/arj ./darwin20.6.0/en/rs/arjsfx/arjsfx
JOIN v 1.30 [26/04/2003] Not a part of any binary package!
Copying ... done!
./darwin20.6.0/en/rs/tools/join ./darwin20.6.0/en/rs/arj/arj ./darwin20.6.0/en/rs/arjsfxv/arjsfxv
JOIN v 1.30 [26/04/2003] Not a part of any binary package!
Copying ..... done!
./darwin20.6.0/en/rs/tools/join ./darwin20.6.0/en/rs/arj/arj ./darwin20.6.0/en/rs/sfxstub/sfxstub
JOIN v 1.30 [26/04/2003] Not a part of any binary package!
Copying . done!
rm -f ./darwin20.6.0/en/rs/help.arj
TZ=UTC0 ./darwin20.6.0/en/rs/arj/arj a ./darwin20.6.0/en/rs/help.arj -+ -t1f -2d -e -jm -jh65535 -jt -hdo200506231314 ./resource/en/arj?.txt
ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia.
Creating archive : ./darwin20.6.0/en/rs/help.arj
Adding ./resource/en/arjl.txt 37.2%
Adding ./resource/en/arjs.txt 47.3%
Testing arjl.txt OK
Testing arjs.txt OK
2 file(s)
./darwin20.6.0/en/rs/tools/join ./darwin20.6.0/en/rs/arj/arj ./darwin20.6.0/en/rs/help.arj
JOIN v 1.30 [26/04/2003] Not a part of any binary package!
Copying . done!
./darwin20.6.0/en/rs/tools/postproc darwin20.6.0/en/rs/arj/arj
POSTPROC v 1.30 [17/01/2003] Not a part of any binary package!
Patch not found
make[1]: *** [GNUmakefile:398: darwin20.6.0/en/rs/arj/arj] Error 3
- Update fix-luajit-darwin.patch to apply to the current version.
- Add a patch to fix compilation of cmetrics on darwin.
- Use default stdenv instead of gccStdenv. The only requirement for GCC
was the bundled luajit having 'DEFAULT_CC = gcc' hardcoded, but it has
been fixed with the updated fix-luajit-darwin.patch by adding
DEFAULT_CC=cc to the arguments.
/sbin/nilfs_cleanerd -> $out/bin/nilfs_cleanerd
/sbin/badblocks -> ${e2fsprogs}/bin/badblocks
The relevant binaries to test are mkfs.nilfs2 (calls badblocks),
mount.nilfs2 and umount.nilfs2 (calls nilfs_cleanerd).