[docs] full Gentoo caveats/deps (#2939)
Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2939 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
This commit is contained in:
parent
903106c9b2
commit
6a9ad5e1ea
|
|
@ -1,14 +1,16 @@
|
||||||
# Caveats
|
# Caveats
|
||||||
|
|
||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
- [Arch Linux](#arch-linux)
|
- [Caveats](#caveats)
|
||||||
- [Gentoo Linux](#gentoo-linux)
|
- [Arch Linux](#arch-linux)
|
||||||
- [macOS](#macos)
|
- [Gentoo Linux](#gentoo-linux)
|
||||||
- [Solaris](#solaris)
|
- [macOS](#macos)
|
||||||
- [HaikuOS](#haikuos)
|
- [Solaris](#solaris)
|
||||||
- [OpenBSD](#openbsd)
|
- [HaikuOS](#haikuos)
|
||||||
- [FreeBSD](#freebsd)
|
- [OpenBSD](#openbsd)
|
||||||
- [NetBSD](#netbsd)
|
- [FreeBSD](#freebsd)
|
||||||
|
- [NetBSD](#netbsd)
|
||||||
|
- [MSYS2](#msys2)
|
||||||
<!-- /TOC -->
|
<!-- /TOC -->
|
||||||
|
|
||||||
## Arch Linux
|
## Arch Linux
|
||||||
|
|
@ -17,7 +19,9 @@ Eden is also available as an [AUR package](https://aur.archlinux.org/packages/ed
|
||||||
|
|
||||||
## Gentoo Linux
|
## Gentoo Linux
|
||||||
|
|
||||||
Enable the GURU repository to install [`games-emulation/eden`](https://gitweb.gentoo.org/repo/proj/guru.git/tree/games-emulation/eden). This repository also contains some additional dependencies, such as mcl, sirit, oaknut, etc.
|
[`games-emulation/eden`](https://gitweb.gentoo.org/repo/proj/guru.git/tree/games-emulation/eden) is available in the GURU. This repository also contains some additional dependencies, such as mcl, sirit, oaknut, etc.
|
||||||
|
|
||||||
|
If you're having issues with building, always consult that ebuild.
|
||||||
|
|
||||||
## macOS
|
## macOS
|
||||||
|
|
||||||
|
|
@ -121,7 +125,7 @@ export PATH="/${MSYS_TOOLCHAIN}/bin:$PATH"
|
||||||
# grab deps of a dll or exe and place them in the current dir
|
# grab deps of a dll or exe and place them in the current dir
|
||||||
deps() {
|
deps() {
|
||||||
# string parsing is fun
|
# string parsing is fun
|
||||||
objdump -p "$1" | grep -e ".DLL Name:" | cut -d" " -f3 | while read -r dll; do
|
objdump -p "$1" | awk '/DLL Name:/ {print $3}' | while read -r dll; do
|
||||||
[ -z "$dll" ] && continue
|
[ -z "$dll" ] && continue
|
||||||
|
|
||||||
# bin directory is used for DLLs, so we can do a quick "hack"
|
# bin directory is used for DLLs, so we can do a quick "hack"
|
||||||
|
|
@ -130,8 +134,8 @@ deps() {
|
||||||
|
|
||||||
[ -z "$dllpath" ] && continue
|
[ -z "$dllpath" ] && continue
|
||||||
|
|
||||||
# explicitly include system32/syswow64 deps
|
# explicitly exclude system32/syswow64 deps
|
||||||
# these aren't needed to be bundled, as all systems include them
|
# these aren't needed to be bundled, as all systems already have them
|
||||||
case "$dllpath" in
|
case "$dllpath" in
|
||||||
*System32* | *SysWOW64*) continue ;;
|
*System32* | *SysWOW64*) continue ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -152,8 +156,8 @@ deps() {
|
||||||
deps eden.exe
|
deps eden.exe
|
||||||
|
|
||||||
# deploy Qt plugins and such
|
# deploy Qt plugins and such
|
||||||
windeployqt6 --release --no-compiler-runtime \
|
windeployqt6 --no-compiler-runtime --no-opengl-sw --no-system-dxc-compiler \
|
||||||
--no-opengl-sw --no-system-dxc-compiler --no-system-d3d-compiler eden.exe
|
--no-system-d3d-compiler eden.exe
|
||||||
|
|
||||||
# grab deps for Qt plugins
|
# grab deps for Qt plugins
|
||||||
find ./*/ -name "*.dll" | while read -r dll; do deps "$dll"; done
|
find ./*/ -name "*.dll" | while read -r dll; do deps "$dll"; done
|
||||||
|
|
|
||||||
40
docs/Deps.md
40
docs/Deps.md
|
|
@ -93,7 +93,45 @@ Click on the arrows to expand.
|
||||||
GURU must be enabled:
|
GURU must be enabled:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo
|
sudo emerge -a app-eselect/eselect-repository
|
||||||
|
sudo eselect repository enable guru
|
||||||
|
sudo emaint sync -r guru
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, install all deps:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo emerge -a \
|
||||||
|
app-arch/lz4 app-arch/zstd app-arch/unzip \
|
||||||
|
dev-libs/libfmt dev-libs/libusb dev-libs/mcl dev-libs/sirit \
|
||||||
|
dev-libs/unordered_dense dev-libs/boost dev-libs/openssl dev-libs/discord-rpc \
|
||||||
|
dev-util/spirv-tools dev-util/spirv-headers dev-util/vulkan-headers \
|
||||||
|
dev-util/vulkan-utility-libraries dev-util/glslang \
|
||||||
|
media-gfx/renderdoc media-libs/libva media-libs/opus media-video/ffmpeg \
|
||||||
|
media-libs/VulkanMemoryAllocator media-libs/libsdl2 media-libs/cubeb \
|
||||||
|
net-libs/enet net-libs/mbedtls \
|
||||||
|
sys-libs/zlib \
|
||||||
|
dev-cpp/nlohmann_json dev-cpp/simpleini dev-cpp/cpp-httplib dev-cpp/cpp-jwt \
|
||||||
|
games-util/gamemode \
|
||||||
|
net-wireless/wireless-tools \
|
||||||
|
dev-qt/qtbase:6 dev-libs/quazip \
|
||||||
|
virtual/pkgconfig
|
||||||
|
```
|
||||||
|
|
||||||
|
- On `amd64`, also add `dev-libs/xbyak`
|
||||||
|
- On `riscv64`, also add `dev-libs/biscuit` (currently unavailable)
|
||||||
|
- On `aarch64`, also add `dev-libs/oaknut`
|
||||||
|
- If tests are enabled, also add `dev-libs/oaknut` and `dev-cpp/catch`
|
||||||
|
|
||||||
|
Required USE flags:
|
||||||
|
- `dev-qt/qtbase network concurrent dbus gui widgets`
|
||||||
|
- `dev-libs/quazip qt6`
|
||||||
|
- `net-libs/mbedtls cmac`
|
||||||
|
- `media-libs/libsdl2 haptic joystick sound video`
|
||||||
|
- `dev-cpp/cpp-httplib ssl`
|
||||||
|
|
||||||
|
[Caveats](./Caveats.md#gentoo-linux)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue