nuclide/Documentation/Dependencies.md

209 lines
3.3 KiB
Markdown
Raw Normal View History

2024-06-22 07:24:13 +00:00
# Dependencies
Here we *attempt* to document the dependencies you may require to
build certain aspects yourself, on various different platforms.
### Debian / Raspbian
#### FTEQW
```
> apt-get install libgl-dev gnutls-dev
```
#### SDL2
```
# apt-get install libsdl2-dev
```
#### GLX / X11 (part of libsdl2-dev)
```
# apt-get install libx11-dev libxcursor-dev libxrender-dev
```
#### Plugin: ODE
```
# apt-get install autoconf automake libtool
```
#### Plugin: FFMPEG
```
# apt-get install libavformat-dev libswscale-dev
```
### OpenBSD
#### FTE
```
# pkg_add git
```
#### SDL2
```
# pkg_add sdl2
```
#### Plugin: FFMPEG
```
# pkg_add ffmpeg
```
### Arch Linux
#### FTE
```
# pacman -S make gcc Xorg git
```
#### Plugin: ODE
```
# pacman -S zip automake autoconf
```
#### Plugin: FFMPEG
> [!important]
> You will have to manually build this plugin due to FFMPEG
> breaking ABI between releases and Arch's rolling release nature.
First install the legacy version of **ffmpeg**:
```
# pacman -S ffmpeg4.4
```
Then browse to `ThirdParty/fteqw/engine` and run this command:
```
$ make plugins-rel NATIVE_PLUGINS="ffmpeg" AV_BASE=/usr/include/ffmpeg4.4/ AV_LDFLAGS="-l:libavcodec.so.58 -l:libavformat.so.58 -l:libavutil.so.56 -l:libswscale.so.5"
```
Last, copy over `fteplug_ffmpeg_*.so` to the root directory where the
engine binaries (and other plugins) are.
#### SDL2
```
# pacman -S sdl2
```
#### WorldSpawn
```
# pacman -S pkgconf gtk2 gtkglext
```
### OpenSUSE
#### Nuclide
```
# zypper in git
```
#### FTE
```
# zypper in make gcc gcc-c++ mesa-libGL-devel libgnutls-devel alsa-devel libopus-devel speex-devel libvorbis-devel
```
#### SDL2
```
# zypper in libSDL2-devel
```
#### GLX / X11
```
# zypper in libX11-devel libXcursor-devel libXrandr-devel
```
#### Plugin: ODE
```
# zypper in autoconf automake libtool zip
```
#### Plugin: FFMPEG
```
# zypper in ffmpeg-4-libavformat-devel ffmpeg-4-libswscale-devel
```
#### Worldspawn
```
# zypper in make gtkglext-devel libxml2-devel libjpeg8-devel minizip-devel
```
### Fedora
#### FTE
```
# dnf install make gcc gcc-c++ mesa-libGL-devel gnutls-devel alsa-devel libopus-devel speex-devel libvorbis-devel
```
#### SDL2
```
# dnf install SDL2-devel
```
#### GLX / X11 (part of libsdl2-dev)
```
# dnf install libX11-devel libXcursor-devel libXrender-devel
```
#### Plugin: ODE
```
# dnf install autoconf automake libtool zip
```
#### Plugin: FFMPEG
> [!important]
> You will have to manually build this plugin due to FFMPEG
> breaking ABI between releases as well as install a custom repository
> since Fedora ships only latest versions of FFMPEG.
First, you will need to install the RPM Fusion if you
don't have it. We recommend reading their official guide:
https://rpmfusion.org/Configuration
Then, you can install the required version of FFMPEG:
```
# dnf install compat-ffmpeg4-devel
```
Now to build:
1. Browse to `ThirdParty/fteqw/engine`
2. Run this command:
```
$ make plugins-rel NATIVE_PLUGINS="ffmpeg" AV_BASE=/usr/include/compat-ffmpeg4 AV_LDFLAGS="-l:libavcodec.so.58 -l:libavformat.so.58 -l:libavutil.so.56 -l:libswscale.so.5"
```
Last, copy over `fteplug_ffmpeg.so` to the root directory where the
engine binaries (and other plugins) are.
#### Worldspawn
```
# dnf install make pkgconf gtkglext-devel libxml2-devel libjpeg-turbo-devel minizip-devel
```