summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn-Michael Mulesa2021-09-22 17:06:43 +1000
committerJohn-Michael Mulesa2021-09-22 17:06:43 +1000
commitad408e870e1b74d93ef936840a470abd29dfe7fa (patch)
treeb70b12cf892909e9a4a3b9287706c74daad5f8cf
downloadaur-ad408e870e1b74d93ef936840a470abd29dfe7fa.tar.gz
Initial commit.
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD50
-rw-r--r--broforce.desktop8
-rw-r--r--broforce.sh14
4 files changed, 94 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3bda4c53d646
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = broforce-steam
+ pkgdesc = Broforce Linux-native with data via Steam
+ pkgver = 1130_20201008
+ pkgrel = 1
+ url = https://store.steampowered.com/app/274190/Broforce/
+ arch = i686
+ arch = x86_64
+ groups = games
+ license = custom
+ makedepends = steamcmd
+ depends = libgl
+ depends = libx11
+ depends = libxext
+ depends = desktop-file-utils
+ provides = broforce
+ conflicts = broforce-gog
+ source = broforce.sh
+ source = broforce.desktop
+ sha256sums = d7d6801f8928f0929b88f318cc18abc3c75664c598e8d549cc877c5cf2a6ceb9
+ sha256sums = f4d0ab0b9014724ded958a7cf4a6c62e6bcc056c1ffc27ea21a11d506f22bebf
+
+pkgname = broforce-steam
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..95374794958a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: John-Michael Mulesa <jmulesa at gmail dot com>
+
+pkgname=broforce-steam
+_pkgname=broforce
+pkgver=1130_20201008
+pkgrel=1
+_steamid=274190
+pkgdesc="Broforce Linux-native with data via Steam"
+arch=("i686" "x86_64")
+url="https://store.steampowered.com/app/274190/Broforce/"
+license=("custom")
+groups=("games")
+provides=('broforce')
+conflicts=('broforce-gog')
+source=("${_pkgname}.sh" "${_pkgname}.desktop")
+depends=(libgl libx11 libxext desktop-file-utils)
+makedepends=('steamcmd')
+sha256sums=('d7d6801f8928f0929b88f318cc18abc3c75664c598e8d549cc877c5cf2a6ceb9'
+ 'f4d0ab0b9014724ded958a7cf4a6c62e6bcc056c1ffc27ea21a11d506f22bebf')
+
+prepare() {
+ mkdir -p $srcdir/${_pkgname}
+
+ # Use steamcmd to get data.
+ printf "Enter your Steam username:"
+ read steam_username
+ steamcmd +@sSteamCmdForcePlatformType linux +@ShutdownOnFailedCommand 1 +force_install_dir $srcdir/${_pkgname} +login $steam_username "+app_update ${_steamid} validate" +quit
+}
+
+package() {
+ # game files
+ mkdir -p "${pkgdir}/opt/${_pkgname}"
+ cp -r "${srcdir}/${_pkgname}/"* "${pkgdir}/opt/${_pkgname}/"
+ rm -rf "${pkgdir}/opt/${_pkgname}/steamapps"
+
+ # launcher and permissions
+ # Note: Saves and Levels data may be permissions restricted to one user by default.
+ chmod 755 "${pkgdir}/opt/${_pkgname}/Broforce.x86_64"
+ chmod 755 "${pkgdir}/opt/${_pkgname}/Broforce.x86"
+ chmod 777 "${pkgdir}/opt/${_pkgname}"
+ install -Dm755 "${srcdir}/${_pkgname}.sh" "${pkgdir}/usr/bin/${_pkgname}"
+
+ # desktop environment integration
+ install -Dm644 \
+ "${srcdir}/${_pkgname}/Broforce_Data/Resources/UnityPlayer.png" \
+ "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
+ install -Dm644 \
+ "${srcdir}/${_pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+}
diff --git a/broforce.desktop b/broforce.desktop
new file mode 100644
index 000000000000..37def6f34079
--- /dev/null
+++ b/broforce.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Broforce
+Comment=Broforce Linux-native
+Exec=/usr/bin/broforce
+Icon=broforce
+Terminal=false
+Type=Application
+Categories=Game;
diff --git a/broforce.sh b/broforce.sh
new file mode 100644
index 000000000000..fa3e23ddc25f
--- /dev/null
+++ b/broforce.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+cd /opt/broforce
+while getopts ":lmh" opt; do
+ case ${opt} in
+ l ) ./Broforce.x86
+ ;;
+ m ) ./Broforce.x86_64
+ ;;
+ h ) echo "Usage: broforce [-l: legacy 32-bit Broforce.x86|-m: modern 64-bit Broforce.x86_64 (default)]"
+ ;;
+ esac
+ exit
+done
+./Broforce.x86_64