diff options
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PKGBUILD | 69 | ||||
-rw-r--r-- | megamek.sh | 19 | ||||
-rw-r--r-- | megameklab.desktop | 9 | ||||
-rw-r--r-- | mekhq.install | 7 | ||||
-rw-r--r-- | mekhq.sh | 29 |
7 files changed, 106 insertions, 56 deletions
@@ -1,23 +1,32 @@ pkgbase = mekhq pkgdesc = MekHQ is a java helper program for the MegaMek game that allows users to load a list of entities from an XML file, perform repairs and customizations, and then save the new entities to another XML file that can be loaded into MegaMek. - pkgver = 0.45.2 - pkgrel = 1 + pkgver = 0.48.0 + pkgrel = 6 url = https://github.com/MegaMek/mekhq + install = mekhq.install arch = x86_64 license = GPL - depends = jdk10-openjdk + makedepends = gradle + makedepends = git + depends = jdk11-openjdk + depends = rsync provides = megamek conflicts = megamek - source = https://github.com/MegaMek/mekhq/releases/download/v0.45.2/mekhq-0.45.2.tar.gz + source = mekhq.tar.gz::https://github.com/MegaMek/mekhq/archive/refs/tags/v0.48.0.tar.gz + source = megamek.tar.gz::https://github.com/MegaMek/megamek/archive/refs/tags/v0.48.0.tar.gz + source = megameklab.tar.gz::https://github.com/MegaMek/megameklab/archive/refs/tags/v0.48.0.tar.gz + source = mekhq.install source = mekhq.desktop source = megamek.desktop + source = megameklab.desktop source = mekhq.sh - source = megamek.sh - sha256sums = 92fe5fa29fea85b5156eb7ea0d364eed4dff059b8328ab9b3f70ffbc77c8a957 + sha256sums = 69bee526358f576453b51fae8ef2c3aa83f09c044d032f6c587c4fe267b9d2ba + sha256sums = 4942182c885b87caa9e851d1851add095f2e2103c0933b61e961f6e74d3e1b29 + sha256sums = e7b0e37d98cd8273d7e23ce655773c37482980f4d2a95d739e1f8af025e0989f + sha256sums = 2432d81323849cf60d801782e60a842ceef70ed5a2ed7b56a012f3a8391c49ce sha256sums = a6c0cc72c6f3ad773bdcec24c8036ae7d09dcaea4908f5b6d4e5ac6091cff772 sha256sums = caf5bf3e7294029c7b6dec974eed0253d6caf3804a6a9fcc953edc3c9be98b16 - sha256sums = fda6e9d542062041e9d9b7f6331069d8a78b9455a290286aa8d214ed66b13fd7 - sha256sums = 9ad4d0251ecfe02140c46dfeb67a4ce2b0fe9f123b04a3911139b8e255ff2beb + sha256sums = 6e6bb03f14a0ce6e06fd9009fd9f159d22a34a7020ba85b13ad6dbf649ca9e38 + sha256sums = 977b1292555b1a8f82636f292460b06c6c12c0dd06c3e20a23fbc4cf4fc7452d pkgname = mekhq - diff --git a/.gitignore b/.gitignore index 5fdc46c8c82d..6b358cd3d816 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -*.pkg.tar.xz +*.pkg.tar.* *.tar.gz /pkg /src @@ -1,66 +1,91 @@ # Maintainer: Paul Davis <paul@dangersalad.com> pkgname=mekhq -pkgver=0.45.2 +pkgver=0.48.0 _pkgver= -pkgrel=1 +pkgrel=6 epoch= +install=mekhq.install pkgdesc="MekHQ is a java helper program for the MegaMek game that allows users to load a list of entities from an XML file, perform repairs and customizations, and then save the new entities to another XML file that can be loaded into MegaMek." arch=('x86_64') url="https://github.com/MegaMek/mekhq" license=('GPL') groups=() -depends=('jdk10-openjdk') +depends=('jdk11-openjdk' 'rsync') +makedepends=('gradle' 'git') provides=('megamek') conflicts=('megamek') -source=("https://github.com/MegaMek/mekhq/releases/download/v${pkgver}/${pkgname}-${pkgver}${_pkgver}.tar.gz" +source=("mekhq.tar.gz::https://github.com/MegaMek/mekhq/archive/refs/tags/v${pkgver}.tar.gz" + "megamek.tar.gz::https://github.com/MegaMek/megamek/archive/refs/tags/v${pkgver}.tar.gz" + "megameklab.tar.gz::https://github.com/MegaMek/megameklab/archive/refs/tags/v${pkgver}.tar.gz" + "mekhq.install" "mekhq.desktop" "megamek.desktop" - "mekhq.sh" - "megamek.sh") + "megameklab.desktop" + "mekhq.sh") -sha256sums=('92fe5fa29fea85b5156eb7ea0d364eed4dff059b8328ab9b3f70ffbc77c8a957' +sha256sums=('69bee526358f576453b51fae8ef2c3aa83f09c044d032f6c587c4fe267b9d2ba' + '4942182c885b87caa9e851d1851add095f2e2103c0933b61e961f6e74d3e1b29' + 'e7b0e37d98cd8273d7e23ce655773c37482980f4d2a95d739e1f8af025e0989f' + '2432d81323849cf60d801782e60a842ceef70ed5a2ed7b56a012f3a8391c49ce' 'a6c0cc72c6f3ad773bdcec24c8036ae7d09dcaea4908f5b6d4e5ac6091cff772' 'caf5bf3e7294029c7b6dec974eed0253d6caf3804a6a9fcc953edc3c9be98b16' - 'fda6e9d542062041e9d9b7f6331069d8a78b9455a290286aa8d214ed66b13fd7' - '9ad4d0251ecfe02140c46dfeb67a4ce2b0fe9f123b04a3911139b8e255ff2beb') + '6e6bb03f14a0ce6e06fd9009fd9f159d22a34a7020ba85b13ad6dbf649ca9e38' + '977b1292555b1a8f82636f292460b06c6c12c0dd06c3e20a23fbc4cf4fc7452d') + +build() { + rm -rf megamek megameklab + + mv megamek-${pkgver} megamek + mv megameklab-${pkgver} megameklab + + cd ${pkgname}-${pkgver} + ./gradlew stageFiles + ./gradlew stageMM + ./gradlew stageMML + ./gradlew startScripts + ./gradlew installUnixDist +} package() { - install -D "${pkgname}-${pkgver}${_pkgver}/MegaMek.jar" \ + + install -D "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/MegaMek.jar" \ "${pkgdir}/usr/lib/${pkgname}/MegaMek.jar" - install -D "${pkgname}-${pkgver}${_pkgver}/MegaMekLab.jar" \ + install -D "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/MegaMekLab.jar" \ "${pkgdir}/usr/lib/${pkgname}/MegaMekLab.jar" - install -D "${pkgname}-${pkgver}${_pkgver}/MekHQ.jar" \ + install -D "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/MekHQ.jar" \ "${pkgdir}/usr/lib/${pkgname}/MekHQ.jar" - install -Dm755 "${pkgname}-${pkgver}${_pkgver}/mm-startup" \ + install -Dm755 "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/mm-startup" \ "${pkgdir}/usr/lib/${pkgname}/mm-startup" - install -Dm755 "${pkgname}-${pkgver}${_pkgver}/hq" \ + install -Dm755 "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/hq" \ "${pkgdir}/usr/lib/${pkgname}/hq" - install -Dm755 "${pkgname}-${pkgver}${_pkgver}/lab" \ + install -Dm755 "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/lab" \ "${pkgdir}/usr/lib/${pkgname}/lab" - cp -r "${pkgname}-${pkgver}${_pkgver}/campaigns" "${pkgdir}/usr/lib/${pkgname}" + cp -r "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/campaigns" "${pkgdir}/usr/lib/${pkgname}" - cp -r "${pkgname}-${pkgver}${_pkgver}/data" "${pkgdir}/usr/lib/${pkgname}" + cp -r "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/data" "${pkgdir}/usr/lib/${pkgname}" - cp -r "${pkgname}-${pkgver}${_pkgver}/docs" "${pkgdir}/usr/lib/${pkgname}" + cp -r "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/docs" "${pkgdir}/usr/lib/${pkgname}" - cp -r "${pkgname}-${pkgver}${_pkgver}/lib" "${pkgdir}/usr/lib/${pkgname}" + cp -r "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/lib" "${pkgdir}/usr/lib/${pkgname}" - cp -r "${pkgname}-${pkgver}${_pkgver}/logs" "${pkgdir}/usr/lib/${pkgname}" + cp -r "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/logs" "${pkgdir}/usr/lib/${pkgname}" - cp -r "${pkgname}-${pkgver}${_pkgver}/mmconf" "${pkgdir}/usr/lib/${pkgname}" + cp -r "${pkgname}-${pkgver}/MekHQ/build/install/${pkgname}/mmconf" "${pkgdir}/usr/lib/${pkgname}" install -D mekhq.desktop "${pkgdir}/usr/share/applications/${pkgname}.desktop" install -D megamek.desktop "${pkgdir}/usr/share/applications/megamek.desktop" + install -D megameklab.desktop "${pkgdir}/usr/share/applications/megameklab.desktop" install -Dm755 mekhq.sh "${pkgdir}/usr/bin/${pkgname}" - install -Dm755 megamek.sh "${pkgdir}/usr/bin/megamek" + ln -s "/usr/bin/${pkgname}" "${pkgdir}/usr/bin/megamek" + ln -s "/usr/bin/${pkgname}" "${pkgdir}/usr/bin/megameklab" } diff --git a/megamek.sh b/megamek.sh deleted file mode 100644 index 6f5c20a1b887..000000000000 --- a/megamek.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -conf=$HOME/.config/mekhq - -if [[ -n "$XGD_CONFIG_HOME" ]] -then - conf="$XDG_CONFIG_HOME/mekhq" -fi - -if [[ ! -d "$conf" ]] -then - mkdir -p "$conf" -fi - -rsync -avc /usr/lib/mekhq/ "$conf/" - -cd "$conf" - -exec env MEGAMEK_CONFPATH="$conf" "$conf/mm-startup" diff --git a/megameklab.desktop b/megameklab.desktop new file mode 100644 index 000000000000..4ef71aa2bb5d --- /dev/null +++ b/megameklab.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=MegaMek Lab +GenericName=Java version of BattleTech (Mek Editor) +Exec=megameklab +Terminal=false +Type=Application +Icon=megameklab +Categories=Games;Java; +StartupWMClass=SWT diff --git a/mekhq.install b/mekhq.install new file mode 100644 index 000000000000..8a470e213c81 --- /dev/null +++ b/mekhq.install @@ -0,0 +1,7 @@ +function post_install () { + echo "Use MEKHQ_CONF_NAME to change the directory read in ~/.config at startup. The default is 'mekhq'" +} + +function post_upgrade () { + post_install +} @@ -1,19 +1,38 @@ #!/usr/bin/env bash -conf=$HOME/.config/mekhq +export script_name="${0##*/}" + +conf_name=mekhq +if [[ -n "$MEKHQ_CONF_NAME" ]] +then + conf_name="$MEKHQ_CONF_NAME" +fi + +conf="$HOME/.config/${conf_name}" if [[ -n "$XGD_CONFIG_HOME" ]] then - conf="$XDG_CONFIG_HOME/mekhq" + conf="$XDG_CONFIG_HOME/${conf_name}" fi if [[ ! -d "$conf" ]] then mkdir -p "$conf" + rsync -avc /usr/lib/mekhq/ "$conf/" fi -rsync -avc /usr/lib/mekhq/ "$conf/" +startup_name="hq" + +case "${script_name}" in + + "megamek") + startup_name="mm-startup" + ;; + "megameklab") + startup_name="lab" + ;; +esac -cd "$conf" +cd "${conf}" -exec env MEGAMEK_CONFPATH="$conf" "$conf/hq" +exec env MEGAMEK_CONFPATH="$conf" "${conf}/${startup_name}" |