summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO27
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD69
-rw-r--r--megamek.sh19
-rw-r--r--megameklab.desktop9
-rw-r--r--mekhq.install7
-rw-r--r--mekhq.sh29
7 files changed, 106 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4f873fec91ce..cca90f0ed3d3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 7498a73f0e65..431249ae4413 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+}
diff --git a/mekhq.sh b/mekhq.sh
index 1e0d1902b405..338dd6dd7fa4 100644
--- a/mekhq.sh
+++ b/mekhq.sh
@@ -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}"