Package Details: maptool 1.15.2-1

Git Clone URL: https://aur.archlinux.org/maptool.git (read-only, click to copy)
Package Base: maptool
Description: An open source virtual tabletop program
Upstream URL: https://rptools.net/tools/maptool
Keywords: maptool role-playing roleplaying roleplaying-game roleplaying-games rpg tabletop virtual-tabletop vtt
Licenses: AGPL3
Submitter: waltersm
Maintainer: patlefort
Last Packager: patlefort
Votes: 4
Popularity: 0.144724
First Submitted: 2019-03-18 16:15 (UTC)
Last Updated: 2024-09-27 08:58 (UTC)

Dependencies (8)

Required by (0)

Sources (2)

Latest Comments

1 2 3 Next › Last »

patlefort commented on 2024-01-26 05:28 (UTC)

My issue resolved itself so I've bumped up the version.

patlefort commented on 2023-11-26 18:53 (UTC)

I'm having issues with version 1.14. It depends on java 20 but then they already upgraded to 21 right after. I'd rather not have to make a temporary java package for just this version. However, even using their latest commit and java 21, it won't work. I get the following error as a pop-up:

(MapToolEventQueue.java:68) [AWT-EventQueue-1] ERROR - java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils
java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils
        at com.sun.javafx.embed.swing.newimpl.JFXPanelInteropN.isUngrabEvent(JFXPanelInteropN.java:40) ~[javafx.swing.jar:?]
        at javafx.embed.swing.JFXPanel.lambda$new$6(JFXPanel.java:887) ~[javafx.swing.jar:?]
        at java.desktop/java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Toolkit.notifyAWTEventListeners(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) ~[?:?]
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) ~[?:?]
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEnterExit(Unknown Source) ~[?:?]
        at java.desktop/java.awt.LightweightDispatcher.trackMouseEnterExit(Unknown Source) ~[?:?]
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) ~[?:?]
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source) ~[?:?]
        at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) ~[?:?]
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:?]
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source) ~[?:?]
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source) ~[?:?]
        at java.base/java.security.AccessController.doPrivileged(Unknown Source) ~[?:?]
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?]
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?]
        at java.desktop/java.awt.EventQueue$5.run(Unknown Source) ~[?:?]
        at java.desktop/java.awt.EventQueue$5.run(Unknown Source) ~[?:?]
        at java.base/java.security.AccessController.doPrivileged(Unknown Source) ~[?:?]
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?]
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) ~[?:?]
        at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:54) [MapTool.jar:SNAPSHOT-1768ead]
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:?]
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:?]
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:?]
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:?]
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:?]
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source) [?:?]
Caused by: java.lang.ClassNotFoundException: jdk.swing.interop.SwingInterOpUtils

And it won't go away.

MarsSeed commented on 2023-10-15 16:20 (UTC)

java-openjfx is on version 21 but declares it needs makedepends 'java-environment-openjdk=17'. It is also broken.

It was dropped from extra repo to AUR by @freswa, and disowned.

Until the problems get resolved, it would be best to pin the JDK/JRE/JFX requirements of this package to v17, as upstream fully supports it.

patlefort commented on 2023-05-05 20:46 (UTC)

I resolved my issues by rebuilding everything (gradle7, jdk18-openjdk, jdk19-openjdk) in a clean chroot.

I've updated the dependencies but it is a bit of a pain to build now: You will need to build jdk18-openjdk, then jdk19-openjdk and finally maptool. I've also renamed the executable to MapTool to be consistent with maptool-bin.

patlefort commented on 2023-04-26 22:38 (UTC)

Update: I am also having issues running maptool. With java version 17 to 20, with last stable version of the last commit from their repo, all result in a segfault, tested on multiple machines. I gotta get to the bottom of this.

patlefort commented on 2023-04-26 14:06 (UTC)

It won't build currently with java version 20 so please revert back or keep version 19 for the moment.

patlefort commented on 2023-01-27 04:29 (UTC)

Looks like the server nerps.net is down at the moment. Maybe retry later.

asakurahao commented on 2023-01-27 03:48 (UTC) (edited on 2023-01-27 03:59 (UTC) by asakurahao)

I'm trying to install the package but it shows the following errors:

Configure project :

Project : => no module-info.java found

Configuring for MapTool 1.12.2 by RPTools

AppVersion: 1.12.2

OS Detected: linux

Setting Linux installer options

FAILURE: Build failed with an exception.

What went wrong: Could not determine the dependencies of task ':installDist'.

Could not resolve all task dependencies for configuration ':runtimeClasspath'.

Could not resolve com.github.RPTools:maptool-resources:1.6.0.

Could not resolve com.github.RPTools:maptool-resources:1.6.0.

Could not get resource 'https://nerps.net/repo/com/github/RPTools/maptoolresources/1.6.0/maptool-resources-1.6.0.pom'. Could not GET 'https://nerps.net/repo/com/github/RPTools/maptoolresources/1.6.0/maptool-resources-1.6.0.pom'.

Could not resolve com.github.RPTools:parser:1.8.3.

Could not resolve com.github.RPTools:parser:1.8.3.

Could not get resource 'https://nerps.net/repo/com/github/RPTools/parser/1.8.3/parser-1.8.3.pom'.

Could not GET 'https://nerps.net/repo/com/github/RPTools/parser/1.8.3/parser-1.8.3.pom'.

Could not resolve com.github.cwisniew:NoiseLib:1.0.0.

Could not resolve com.github.cwisniew:NoiseLib:1.0.0.

Could not get resource 'https://nerps.net/repo/com/github/cwisniew/NoiseLib/1.0.0/NoiseLib-1.0.0.pom'. Could not GET 'https://nerps.net/repo/com/github/cwisniew/NoiseLib/1.0.0/NoiseLib-1.0.0.pom'. Read timed out

Could someone help me to solve these problems?

patlefort commented on 2022-09-30 04:30 (UTC)

It work fine for me on java 18 on any machine I tested, I do not have jre17-openjdk or jdk17-openjdk installed, so the problem must be something else.

sgowie commented on 2022-09-30 03:43 (UTC)

I hit the same issue, with the stack trace starting with :

> Configure project :
Project : => no module-info.java found
Configuring for MapTool 1.12.1 by RPTools
AppVersion: 1.12.1
OS Detected: linux
Setting Linux installer options

> Task :spotlessJava FAILED
Step 'google-java-format' found problem in 'src/main/java/net/rptools/lib/FileUtil.java':
null
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
        at com.diffplug.spotless.java.GoogleJavaFormatStep$State.lambda$constructRemoveUnusedFunction$3(GoogleJavaFormatStep.java:190)
        at com.diffplug.spotless.java.GoogleJavaFormatStep$State.lambda$createFormat$0(GoogleJavaFormatStep.java:158)
        at com.diffplug.spotless.FormatterFunc.apply(FormatterFunc.java:32)
        at com.diffplug.spotless.FormatterStepImpl$Standard.format(FormatterStepImpl.java:78)
        at com.diffplug.spotless.FormatterStep$Strict.format(FormatterStep.java:76)
        at com.diffplug.spotless.Formatter.compute(Formatter.java:230)
        at com.diffplug.spotless.PaddedCell.calculateDirtyState(PaddedCell.java:201)
        at com.diffplug.spotless.PaddedCell.calculateDirtyState(PaddedCell.java:188)
        at com.diffplug.gradle.spotless.SpotlessTaskImpl.processInputFile(SpotlessTaskImpl.java:71)
        at com.diffplug.gradle.spotless.SpotlessTaskImpl.performAction(SpotlessTaskImpl.java:57)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
        at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)

and ends with:

        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:119)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:203)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:860)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:86)
        at com.google.googlejavaformat.java.RemoveUnusedImports$UnusedImportScanner.scan(RemoveUnusedImports.java:124)
        at com.google.googlejavaformat.java.RemoveUnusedImports$UnusedImportScanner.scan(RemoveUnusedImports.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:119)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:614)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:86)
        at com.google.googlejavaformat.java.RemoveUnusedImports$UnusedImportScanner.scan(RemoveUnusedImports.java:124)
        at com.google.googlejavaformat.java.RemoveUnusedImports.removeUnusedImports(RemoveUnusedImports.java:195)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        ... 125 more

So spotlessJava is a dependency of the google-java-fomat step. The only change to the FileUtil in the last 2 years is https://github.com/RPTools/maptool/commit/4a8d396145fae1fa623d7a6feea4c2c978f30043, but I don't know enough Java to figure out anything more.

I tried to tackle this from another angle. I noticed in July an update to CHANGE_LOG.md (https://github.com/RPTools/maptool/commit/10c6b3d7703603737fc63f52b8d707a00d44d433) referenced the move from OpenJDK 16 to 17. In April, Arch's OpenJDK package updated to 18. So I installed jre17-openjdk and jdk17-openjdk, then set the environment to 17 (sudo archlinux-java set java-17-openjdk), then ran the build with the JAVA_HOME env set (JAVA_HOME=/usr/lib/jvm/java-17-openjdk makepkg).

BUILD SUCCESSFUL in 10s
17 actionable tasks: 10 executed, 7 up-to-date
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "maptool"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: maptool 1.12.1-1 (Thu 29 Sep 2022 09:40:46 PM)

TLDR; Install openjdk17 and build with THAT version of Java.

1 Install JDK17

$ sudo pacman -S jre17-openjdk jdk17-openjdk

2 Set the version of java

$ sudo archlinux-java set java-17-openjdk

3 Build

$ JAVA_HOME=/usr/lib/jvm/java-17-openjdk makepkg