Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: random.o:(.bss+0x0): multiple definition of `LW_RANDOM_ON'; game.o:(.bss+0x4): first defined here
Without the change the build against upstream gcc-10 build fails as:
ld: sprite.o:/build/0verkill/data.h:171: multiple definition of `obj_attr'; server.o:/build/0verkill/data.h:171: first defined here
ld: sprite.o:/build/0verkill/data.h:142: multiple definition of `weapon_name'; server.o:/build/0verkill/data.h:142: first defined here
Use -fcommon as a workeround until upstream updates the code.
Touch support requires rebuilding irrlichtmt with touch support, which
upstream does not enable by default. Building Minetest with touch
support also disables the regular interface, so touch support defaults
to off.
Since the previous version of anki no longer works on nixos-unstable
due to glibc changes the version was bumped to 2.1.51 which works.
Also adds support for aarch64 on apple silicon
Fixes#167765
glew alone is not enough to propagate explicitly:
```
$ nix run nixpkgs#mindustry
[E] Failed to initialize discord. Enable debug logging for details.
[E] java.lang.ExceptionInInitializerError
at arc.backend.sdl.SdlApplication.lambda$init$0(SdlApplication.java:73)
at arc.backend.sdl.SdlApplication.check(SdlApplication.java:181)
at arc.backend.sdl.SdlApplication.init(SdlApplication.java:73)
at arc.backend.sdl.SdlApplication.<init>(SdlApplication.java:29)
at mindustry.desktop.DesktopLauncher.main(DesktopLauncher.java:36)
Caused by: arc.util.ArcRuntimeException: Couldn't load shared library 'libsdl-arc64.so' for target: Linux, 64-bit
at arc.util.SharedLibraryLoader.load(SharedLibraryLoader.java:85)
at arc.backend.sdl.jni.SDL.<clinit>(SDL.java:142)
... 5 more
Caused by: arc.util.ArcRuntimeException: java.lang.UnsatisfiedLinkError: /tmp/arc/35a2b27b/libsdl-arc64.so: /nix/store/v8pdm5rd4f89ng08zgxryyil065g1dh2-SDL2-2.0.20/lib/libSDL2.so: cannot open shared object file: No such file or directory
at arc.util.SharedLibraryLoader.loadFile(SharedLibraryLoader.java:288)
at arc.util.SharedLibraryLoader.load(SharedLibraryLoader.java:81)
... 6 more
Caused by: java.lang.UnsatisfiedLinkError: /tmp/arc/35a2b27b/libsdl-arc64.so: /nix/store/v8pdm5rd4f89ng08zgxryyil065g1dh2-SDL2-2.0.20/lib/libSDL2.so: cannot open shared object file: No such file or directory
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
at java.base/java.lang.Runtime.load0(Runtime.java:747)
at java.base/java.lang.System.load(System.java:1857)
at arc.util.SharedLibraryLoader.loadFile(SharedLibraryLoader.java:294)
at arc.backend.sdl.jni.SDL$3.loadFile(SDL.java:140)
at arc.util.SharedLibraryLoader.loadFile(SharedLibraryLoader.java:260)
... 7 more
```
Let's add all SDL and alsa-lib as well. Instead of using propagatedBuildInputs
let's embed store paths into a shell wrapper.