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
```
Added `withNativeTls` arg to enable building xh with native TLS support,
which makes `xh --native-tls` usable. With or without native TLS
support, xh uses rustls by default.
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).
Despite what the README says, libmount support is not enabled by
default and needs to be enabled explicitly. Without libmount support
the GC daemon (nilfs_cleanerd) is not started at mount.
Use SQLAlchemy 1.3 because ludios_wpull is incompatible with SQLAlchemy 1.4.
Use Python 3.8 instead of Python 3.7, as namedlist 1.8 fixed compatibility
with Python 3.8. We cannot use Python 3.9 until
https://github.com/ArchiveTeam/ludios_wpull/issues/20 is fixed.
Enable compilation of native assembly code on x86 systems, instead of
disabling it for all systems. On darwin ensure the format is set to
macho64.
The ASM/x86 directory is compiled whether "--enable-asm" is configured
or not, but it creates an empty archive, which fails on darwin, so
ensure it is not compiled on darwin to fix the build.
Clang requires upstream patch to fix configure script
We're in crunch time for the 21.11 release and this causes lots of rebuilds,
so the patch is applied conditionally to give Hydra a break. After it
gets auto-merged into staging, I'll do a followup PR to make it
unconditional.