summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Ports/AvailablePorts.md1
-rwxr-xr-xPorts/opfor/package.sh54
2 files changed, 55 insertions, 0 deletions
diff --git a/Ports/AvailablePorts.md b/Ports/AvailablePorts.md
index aedbaa9ad7..557ba64f99 100644
--- a/Ports/AvailablePorts.md
+++ b/Ports/AvailablePorts.md
@@ -141,6 +141,7 @@ Please make sure to keep this list up to date when adding and updating ports. :^
| [`openttd-opensfx`](openttd-opensfx/) | OpenSFX audio files for OpenTTD | 1.0.1 | https://www.openttd.org/ |
| [`opentyrian`](opentyrian/) | OpenTyrian | 84b820f | https://github.com/opentyrian/opentyrian |
| [`opentyrian-data`](opentyrian-data/) | OpenTyrian graphics and audio | 1.0.0 | https://camanis.net/tyrian/tyrian21.zip |
+| [`opfor`](opfor/) | Half-Life: Opposing Force | 1.0.0 | https://github.com/SerenityPorts/xash3d-fwgs |
| [`oksh`](oksh/) | oksh | 7.0 | https://github.com/ibara/oksh |
| [`p7zip`](p7zip/) | p7zip | 17.04 | https://github.com/jinfeihan57/p7zip |
| [`patch`](patch/) | patch (GNU) | 2.7.6 | https://savannah.gnu.org/projects/patch/ |
diff --git a/Ports/opfor/package.sh b/Ports/opfor/package.sh
new file mode 100755
index 0000000000..696b522691
--- /dev/null
+++ b/Ports/opfor/package.sh
@@ -0,0 +1,54 @@
+#!/usr/bin/env -S bash ../.port_include.sh
+port="opfor"
+version="1.0.0"
+useconfigure="true"
+depends=("SDL2" "halflife")
+workdir="hlsdk-xash3d-opfor"
+files="https://github.com/SerenityPorts/hlsdk-xash3d/archive/opfor.tar.gz xash3d_gearbox.tar.gz"
+launcher_name="Half-Life: Opposing Force"
+launcher_category="Games"
+
+# This one is a bit tricky to build, so I'm going a little bit off the script....
+configure() {
+ # Configure the shared object projects (client and game)
+ run ./waf configure -T release
+}
+
+build() {
+ # Build game shared object
+ run ./waf build
+}
+
+install() {
+ run ./waf install --destdir=${SERENITY_INSTALL_ROOT}/home/anon/Games/halflife
+}
+
+post_install() {
+ # On arch-linux systems, rename is installed as perl-rename
+ if command -v perl-rename &> /dev/null
+ then
+ rename_command=perl-rename
+ else
+ rename_command=rename
+ fi
+ # Strip the output libraries of their "lib" prefix
+ pushd ${SERENITY_INSTALL_ROOT}/home/anon/Games/halflife/gearbox/cl_dlls/
+ "$rename_command" 's/^...//' lib*
+ popd
+ pushd ${SERENITY_INSTALL_ROOT}/home/anon/Games/halflife/gearbox/dlls/
+ "$rename_command" 's/^...//' lib*
+ popd
+
+ # Create a launch script
+ cat <<- 'EOF' > ${SERENITY_INSTALL_ROOT}/home/anon/Games/halflife/opfor.sh
+#!/bin/sh
+export LD_LIBRARY_PATH=/home/anon/Games/halflife/
+scriptdir=$(dirname "$0")
+cd $scriptdir
+./xash3d -console -game gearbox
+EOF
+ chmod +x ${SERENITY_INSTALL_ROOT}/home/anon/Games/halflife/opfor.sh
+
+ echo "Please remember to copy the 'gearbox/' folder from your own Half-Life installation"
+ echo "into ${SERENITY_INSTALL_ROOT}/home/anon/Games/halflife/"
+}