diff options
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | PKGBUILD | 23 | ||||
-rw-r--r-- | starsector.install | 27 | ||||
-rw-r--r-- | starsector.sh | 59 |
6 files changed, 67 insertions, 70 deletions
@@ -1,15 +1,11 @@ -# Generated by mksrcinfo v8 -# Sat Feb 12 22:44:40 UTC 2022 pkgbase = starsector pkgdesc = Starsector (formerly “Starfarer”) is an in-development open-world single-player space-combat, roleplaying, exploration, and economic game. pkgver = 0.95.1a_RC6 - pkgrel = 1 + pkgrel = 2 url = http://fractalsoftworks.com/ - install = starsector.install arch = i686 arch = x86_64 license = custom - depends = java-runtime=7 depends = openal depends = bash depends = desktop-file-utils @@ -20,8 +16,7 @@ pkgbase = starsector source = starsector.desktop sha256sums = 3da88bd5198a1c35ab557ff11973c4e6fa243c13936a1faf1a3867d78ffefd93 sha256sums = 0d9a2382e1c15e3d471b88eb3770c68f5dd93edc81710e511fd892def9f2ab16 - sha256sums = 1d59f7e2855783c880ad1d885834f85defd5fd813e81c5f78b0c3e911905c5c8 + sha256sums = 1ecffd6bd17c437157998b334fbee6a273f35dd478943cd43a24416674982721 sha256sums = becc92483d9599672b75d8b00216a64dd8fda38cfcfccd8e735238aa0ce6d8b6 pkgname = starsector - diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..453715c6eacb --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +starsector_* +LICENSE +*.asc +*.tar.* +src/ +pkg/ +*.pdf diff --git a/Makefile b/Makefile new file mode 100644 index 000000000000..059c9af31da3 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ + +.SRCINFO: PKGBUILD + makepkg --printsrcinfo > .SRCINFO + +package: PKGBUILD .SRCINFO + updpkgsums + makepkg --syncdeps --rmdeps --force --clean --noconfirm + +all: package + +clean: + rm -Rv .SRCINFO *.tar.* src/ pkg/ 2> /dev/null || true @@ -1,23 +1,21 @@ -# Maintainer: Erdbeerkaese <erbeerkaese dot arch at gmail dot com> +# Maintainer: Phillip Schichtel <phillip@schich.tel> pkgname=starsector pkgver=0.95.1a_RC6 -pkgrel=1 +pkgrel=2 pkgdesc="Starsector (formerly “Starfarer”) is an in-development open-world single-player space-combat, roleplaying, exploration, and economic game." arch=('i686' 'x86_64') url="http://fractalsoftworks.com/" license=('custom') -depends=('java-runtime=7' 'openal' 'bash' 'desktop-file-utils') -install='starsector.install' +depends=('openal' 'bash' 'desktop-file-utils') replaces=('starfarer') -source=( -http://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-${pkgver//_/-}.zip -${pkgname}.pdf::http://www.fractalsoftworks.com/starfarer/docs/StarfarerManual.pdf -starsector.sh -starsector.desktop) +source=(http://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-${pkgver//_/-}.zip + ${pkgname}.pdf::http://www.fractalsoftworks.com/starfarer/docs/StarfarerManual.pdf + starsector.sh + starsector.desktop) sha256sums=('3da88bd5198a1c35ab557ff11973c4e6fa243c13936a1faf1a3867d78ffefd93' '0d9a2382e1c15e3d471b88eb3770c68f5dd93edc81710e511fd892def9f2ab16' - '1d59f7e2855783c880ad1d885834f85defd5fd813e81c5f78b0c3e911905c5c8' + 'ba7eb4fc35d116c6b699ae4abf1e31f9709b06ea38950a731b1227d1f16e964f' 'becc92483d9599672b75d8b00216a64dd8fda38cfcfccd8e735238aa0ce6d8b6') package() { install -d "$pkgdir/usr/share/$pkgname" \ @@ -33,6 +31,10 @@ package() { cd "$srcdir/$pkgname" + cd jre_linux + find -type f -exec install -D "{}" "$pkgdir/usr/lib/$pkgname/jre/{}" \; + cd .. + install -Dm644 *.jar "$pkgdir/usr/share/java/$pkgname" install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" @@ -45,4 +47,3 @@ package() { find data graphics sounds -type f -print0 | xargs -0 chmod 644 cp -R data graphics sounds "$pkgdir/usr/share/$pkgname/" } -# vim:set ts=2 sw=2 et: diff --git a/starsector.install b/starsector.install deleted file mode 100644 index 0b12434b6d69..000000000000 --- a/starsector.install +++ /dev/null @@ -1,27 +0,0 @@ -## arg 1: the new package version -post_install() { - update-desktop-database -q - echo ">>> PACKAGE NOTES" - echo ">>> --------------" - echo ">>> This is the full version of the game, you need a serial key to play it." - echo ">>> You can buy a serial key at http://fractalsoftworks.com/preorder/" - echo "" - echo ">>> RELEASE NOTES:" - echo ">>> --------------" - echo ">>> http://fractalsoftworks.com/forum/index.php?topic=11477.0" -} - -## arg 1: the new package version -## arg 2: the old package version -post_upgrade() { - update-desktop-database -q - echo ">>> RELEASE NOTES:" - echo ">>> --------------" - echo ">>> http://fractalsoftworks.com/forum/index.php?topic=11477.0" -} - -post_remove() { - update-desktop-database -q -} - -# vim:set ts=2 sw=2 et: diff --git a/starsector.sh b/starsector.sh index d505952bc755..c94d47ce2283 100644 --- a/starsector.sh +++ b/starsector.sh @@ -1,38 +1,47 @@ -#!/bin/bash +#!/usr/bin/env bash -# Java 7 is the only version of Java supported by starsector. -JAVA7=/usr/lib/jvm/$(archlinux-java status | grep -m 1 java-7 | sed 's/^ *//')/bin -[ -d ${JAVA7} ] && export PATH=${JAVA7}:${PATH} +set -euo pipefail # fix for users of special IM modules unset XMODIFIERS GTK_IM_MODULE QT_IM_MODULE -unset CLASSPATH -BASEPATH=~/.starsector -SAVEPATH=${BASEPATH}/saves -MODPATH=${BASEPATH}/mods -SCRPATH=${BASEPATH}/screenshots -LOGPATH=${BASEPATH}/ +state_dir="${XDG_STATE_HOME:-"$HOME/.local/share"}/starsector" +saves_path="${state_dir}/saves" +mods_path="${state_dir}/mods" +screenshots_path="${state_dir}/screenshots" +log_path="$state_dir" -[ -d ${BASEPATH} ] || mkdir ${BASEPATH} -[ -d ${SAVEPATH} ] || mkdir ${SAVEPATH} -[ -d ${MODPATH} ] || mkdir ${MODPATH} -[ -d ${SCRPATH} ] || mkdir ${SCRPATH} +mkdir -p "$saves_path" +mkdir -p "$mods_path" +mkdir -p "$screenshots_path" +mkdir -p "$log_path" -for jarfile in /usr/share/java/starsector/*.jar ; do - CLASSPATH=${CLASSPATH}:${jarfile} -done +classpath="$(find '/usr/share/java/starsector' -type f -name '*.jar' | paste -sd ':')" +config_path="${XDG_CONFIG_HOME:-"$HOME/.config"}/starsector" +startup_config="${config_path}/startup.sh" + +jvm_args=(-Xms1536m -Xmx1536m -Xss2048k) +program_args=() + +if [ -r "$startup_config" ] +then + . "$startup_config" +fi + +export JAVA_HOME='/usr/lib/starsector/jre' cd /usr/share/starsector -exec java -server \ +exec "$JAVA_HOME/bin/java" -server \ -XX:CompilerThreadPriority=1 \ -XX:+CompilerThreadHintNoPreempt \ -Djava.library.path=/usr/lib/starsector \ - -Xms1536m -Xmx1536m -Xss2048k -classpath ${CLASSPATH} \ - -Dcom.fs.starfarer.settings.paths.saves=${SAVEPATH} \ - -Dcom.fs.starfarer.settings.paths.screenshots=${SCRPATH} \ - -Dcom.fs.starfarer.settings.paths.mods=${MODPATH} \ - -Dcom.fs.starfarer.settings.paths.logs=${LOGPATH} \ + -classpath "${classpath}" \ + -Dcom.fs.starfarer.settings.paths.saves="${saves_path}" \ + -Dcom.fs.starfarer.settings.paths.screenshots="${screenshots_path}" \ + -Dcom.fs.starfarer.settings.paths.mods="${mods_path}" \ + -Dcom.fs.starfarer.settings.paths.logs="${log_path}" \ -Dcom.fs.starfarer.settings.linux=true \ - com.fs.starfarer.StarfarerLauncher -# vim:set ts=2 sw=2 et: + "${jvm_args[@]}" \ + com.fs.starfarer.StarfarerLauncher \ + "${program_args[@]}" + |