Package Details: miniongg 3.0.11.r1.5710ea73-1

Git Clone URL: https://aur.archlinux.org/miniongg.git (read-only, click to copy)
Package Base: miniongg
Description: Elder Scrolls Online and World of Warcraft Addon Manager
Upstream URL: https://minion.mmoui.com/
Licenses: custom
Provides: miniongg
Submitter: miziakmwa
Maintainer: kruzah
Last Packager: kruzah
Votes: 9
Popularity: 0.91
First Submitted: 2019-06-08 13:07 (UTC)
Last Updated: 2022-03-08 09:30 (UTC)

Dependencies (3)

Required by (0)

Sources (5)

Latest Comments

1 2 3 4 5 Next › Last »

alexzk commented on 2024-03-31 08:38 (UTC) (edited on 2024-03-31 08:38 (UTC) by alexzk)

Part of the PKGBUILD file (not the whole!) which downloads latest and sets version of the package to git's hash:

pkgname=miniongg
pkgver=r16.9e980f6
pkgrel=1
pkgdesc="Elder Scrolls Online and World of Warcraft Addon Manager"
arch=('any')
url='https://minion.mmoui.com/'
license=('custom')
depends=('java-runtime' 'java-openjfx')
makedepends=('unzip')
provides=("miniongg")

source=("https://cdn.mmoui.com/minion/v3/Minion3.0.12-java.zip"
    "Minion-EULA.html::https://minion.mmoui.com/?license"
    "miniongg.sh"
    "minion.desktop")
md5sums=("068276d3a406ff273d05f35b89ec556e"
    "SKIP"
    "ac963b2368a1db40b44d7a3b147546d4"
    "cb92061ae2d15effbddc3b23600cfeaf")

pkgver() {
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

Shalrath commented on 2023-12-10 18:16 (UTC)

I see. Openjfx being removed was the reason why I assumed 17 is the most recent version of it. I'm trying to use 21 now.

[rawjaw@ws2 ~]$ archlinux-java get
java-21-openjdk
[rawjaw@ws2 ~]$ pacman -Qs java-runtime
local/java-runtime-common 3-5
    Common files for Java Runtime Environments
local/jre-openjdk 21.u35-8
    OpenJDK Java 21 full runtime environment
local/jre17-openjdk 17.0.9.u8-2
    OpenJDK Java 17 full runtime environment
local/jre17-openjdk-headless 17.0.9.u8-2
    OpenJDK Java 17 headless runtime environment
[rawjaw@ws2 ~]$ pacman -Qs java-openjfx
local/java-openjfx 21.0.1.u6-1
    Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version
[rawjaw@ws2 ~]$ java --version
openjdk 21 2023-09-19
OpenJDK Runtime Environment (build 21+35)
OpenJDK 64-Bit Server VM (build 21+35, mixed mode, sharing)
[rawjaw@ws2 ~]$ miniongg
Error occurred during initialization of boot layer
java.lang.module.FindException: Module jdk.unsupported.desktop not found, required by javafx.swing

I also tried java-openjfx-bin instead of java-openjfx from AUR to skip the compiling, but with this I got the old error:

[rawjaw@ws2 ~]$ miniongg 
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.web not found

kruzah commented on 2023-12-05 22:32 (UTC)

The package still works as-is with the latest version of OpenJDK and OpenJFX. Previously I've received feedback that forcing users to install a particular version of Java is not a good idea.

$ pacman -Qi java-runtime
Name            : jdk-openjdk
Version         : 21.u35-8
$ pacman -Qi java-openjfx
Name            : java-openjfx
Version         : 21.0.1.u6-1
$ archlinux-java get
java-21-openjdk

With this configuration, Minion launches fine with the current PKGBUILD.

OpenJFX is unfortunately no longer in the [extra] repository, so it has to be built from source as an AUR package. Building java-openjfx is very memory-intensive (on my 16c32t system it used about 30 GiB), however there are instructions in the AUR comments for java-openjfx that provide guidance on how to lower the parallelism for CMake to reduce the memory footprint of the compilation process.

txtsd commented on 2023-10-31 05:22 (UTC)

Can I get co-maintainer on this? I've got a few ideas for fixes.

Shalrath commented on 2023-10-30 17:40 (UTC) (edited on 2023-10-30 17:42 (UTC) by Shalrath)

I looked into this more closely and saw that /usr/bin/miniongg (installed by this package) is actually a shell script that relies on java modules in /usr/lib/jvm/default. This explains why java 17 must be set as default in order to work properly with this script

My suggestion would be to make jre17-openjdk a dependency of miniongg and to change the module paths in /usr/bin/miniongg from /usr/lib/jvm/default to /usr/lib/jvm/java-17-openjdk. This would take away the possibility to chose which version of java to use to run minion, but as minion only runs with java 17 there is no choice anyway. For the most common setup (using the most recent java version as the system default), this package is broken.

txtsd commented on 2023-10-30 02:03 (UTC) (edited on 2023-10-30 02:03 (UTC) by txtsd)

In the .sh file, you could prepend JAVA_HOME=/usr/lib/jvm/java-17-openjdk to the java command, if your intention is to pin it to a certain jvm. This way it will run no matter which java is the system default, but it erodes user choice. Some people might want to run a different flavor of the JRE like temurin, zulu, etc.

Shalrath commented on 2023-10-29 17:59 (UTC) (edited on 2023-10-29 18:02 (UTC) by Shalrath)

I figured out that minion only runs with openjdk 17. I think it's because it requires java-openjfx of which the most recent version is also 17 so you can't run minion with java 21.

However, one thing seems odd: I need to set java 17 as the system default for minon to work, just calling it using java 17 while having set java 21 as default does not work.

Examples:

[rawjaw@ws2 ~]$ export PATH="/usr/lib/jvm/java-17-openjdk/bin/:$PATH"
[rawjaw@ws2 ~]$ java --version
openjdk 17.0.9 2023-10-17
OpenJDK Runtime Environment (build 17.0.9+8)
OpenJDK 64-Bit Server VM (build 17.0.9+8, mixed mode)
[rawjaw@ws2 ~]$ miniongg 
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.web not found
[rawjaw@ws2 ~]$

[root@ws2 rawjaw]# archlinux-java set java-17-openjdk
[rawjaw@ws2 ~]$ miniongg
-> minion runs fine.

Shalrath commented on 2023-10-27 20:34 (UTC)

Does not run anymore. All dependencies are met.

Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.web not found

Shalrath commented on 2023-02-12 17:28 (UTC) (edited on 2023-02-12 21:20 (UTC) by Shalrath)

@kruzah, Thank you, setting the default java version to 19 fixed everything. java-openjfx was automatically installed as a dependency. No need to keep java 8 around and therefore no more python2 required.

It's a bit of a pitfall that you can only set the default java version to a fixed version and not make the most recent the default automatically. If you barely use java and don't care about it, you might get stuck on a years old version unwittingly and some day it will cause problems.

kruzah commented on 2023-02-12 11:33 (UTC)

Minion does not require Java 8, and you should probably not install it if it requires Python 2. The package is compatible with all of the other JVMs that are currently supported by Arch Linux, and I would recommend installing those instead and uninstalling Java 8 from your system unless you have a package installed that explicitly requires Java 8.

To use the latest version of OpenJDK, install using pacman -S java-openjfx jre-openjdk. You then need to switch to it using archlinux-java set <version>. Per the time of writing, the latest version is Java 19, so you'd have to run archlinux-java set java-19-openjdk. If you are unsure, you can run archlinux-java status to see the list of Java versions you have installed on your system.

You need to ensure that you have a version of OpenJFX installed that matches the version of Java you are using. Check this with archlinux-java status. If you are using Java 19, you need to install java-openjfx. If you are using Java 17, you need to install java17-openjfx. If you are using Java 11, you need to install java11-openjfx.

This should fix all the issues mentioned below, including "main class not found" and the unnecessary dependency on Python 2.