Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: mad.o:(.bss+0x233800): multiple definition of `tile_dict'; camera.o:(.bss+0x140): first defined here
Without the change build fails on -fno-common toolchains like upstream
gcc-10:
ld: hexen/libhexen.a(g_game.o):/build/source/src/hexen/g_game.c:101:
multiple definition of `demoextend'; hexen/libhexen.a(mn_menu.o):
/build/source/src/hexen/mn_menu.c:134: 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.
Without the change the build fails on `master` as:
```
tableau.cc:90:9: error: ordered comparison of pointer with integer zero ('unsigned char*' and 'int')
90 | if(Buf<=0) return false;
| ~~~^~~
```
* cudaPackages.cudnn: migrate to redist cudaPackages
* cudaPackages.cudnn: fix missing zlib in rpath
* cudaPackages.cudnn: remove the propagated cudatoolkit
* cudaPackages.cudnn: use autoPatchelfHook
instead of custom find ... -exec ldd | grep routine
mark libcudnn_cnn_infer.so as needed for libcudnn.so on cudnn>=8.0.5
- a hint for autoPatchelf, as an alternative to manually adding $ORIGIN
* cudaPackages.cudnn: use automatic hooks for rpath
as a more common way to use addOpenGLRunpath and autoPatchelf with cudaPackages
* cudaPackages.cudnn: consume individual cuda packages
...since cudnn is part of the cuda package set
- introduces the scary useCudatoolkitRunfile function argument
to discourage usage of the runfile-based cudatoolkit
- instead of the rather hidden useRedist term in let ... in
- repeats cudatoolkit_root pattern after cuda_joined in pytorch &c
(the "toolchain view")
- redist packages are marked optional to support cuda<11.4 where the
attributes for redist packages do not exist
* cudaPackages.cudnn: update to pname+version
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>