Package Details: dungeondraft 1-2

Git Clone URL: https://aur.archlinux.org/dungeondraft.git (read-only, click to copy)
Package Base: dungeondraft
Description: Dungeondraft is a tabletop encounter map creation tool designed to draw aesthetic maps without the typical frustrations and time investment
Upstream URL: https://dungeondraft.net
Licenses: custom:TailwindGamesLicense
Submitter: lucaci32u4
Maintainer: lucaci32u4 (shawly)
Last Packager: shawly
Votes: 6
Popularity: 0.001721
First Submitted: 2020-11-28 00:36 (UTC)
Last Updated: 2025-05-13 09:36 (UTC)

Latest Comments

1 2 Next › Last »

Lafe commented on 2025-06-13 18:20 (UTC)

@shawly that would explain a lot! Clearly I misunderstood that part. I'm glad it's easier than I made it for myself, haha

shawly commented on 2025-06-13 05:11 (UTC)

@Lafe I'm sorry you made such an effort, but.. you were supposed to just download the zip not the deb variant...

Lafe commented on 2025-06-13 02:41 (UTC)

I ended up having to manually change a lot of things to make this work. It seems that the contents of the Dungeondraft deb package have changed (or perhaps some setup step for it is missing from the PKGBUILD)

The md5sum for version 1.1.0.6 had changed, resulting in an error "One or more files did not pass the validity check!" I updated the md5 to get past that step, it's now a3d7d48415ffe0ad2dce32330532034c (I didn't check the others)

Then I saw an error caused by "cannot stat 'data_Dungeondraft': No such file or directory"

Looking in ~/.cache/yay/dungeondraft/src I see that instead of a data directory, there's now control.tar.xz and data.tar.xz. I manually untarred them with "tar xf control.tar.xz" and then the same for data, and it created src/opt/Dungeondraft and src/usr/share/applications. The files that the PKGBUILD were looking for were in the src/opt/Dungeondraft and the desktop file was in src/usr/share/applications.

I edited the paths in PKGBUILD to reflect those folder locations and after that I was able to makepkg -si.

But the fun wasn't done! On starting dungeondraft the splash screen showed up and then it crashed. I ran it from a terminal to see the output, and saw a ton of TypeInitializationExceptions coming out of mono.

When it installed the app into /opt/Dungeondraft, all of the folders were owned by root:root and had perms 700. After I fixed the permissions on all contained folders in /opt/Dungeondraft manually, now it runs great.

I'm still new to arch, and haven't figured out yet how to submit my changes to the PKGBUILD to add the various fixes, but hopefully this will help whomever is maintaining this, or at least other users who want to install Dungeondraft.

Asra_Null commented on 2025-06-02 02:56 (UTC) (edited on 2025-06-02 04:04 (UTC) by Asra_Null)

The export command doesn't seem to be working. I execute it and keep receiving the same error message.

[user@terminal dungeondraft]$ export DUNGEONDRAFT_DOWNLOAD_URL=https://cdn.humble.com/humblebundle/tailwindgamesllc_ChunI/Dungeondraft-1.1.0.6-Linux64.zip?gamekey=<gamekey>

[1] 5532

[user@terminal dungeondraft]$ makepkg -si

==> ERROR: You need to set DUNGEONDRAFT_DOWNLOAD_URL to install Dungeondraft!

To get the download URL go to your Humble Bundle purchases https://www.humblebundle.com/home/purchases, select Dungeondraft and then copy the link from the "Manual Install" button under the Linux section.

Afterwards execute "export DUNGEONDRAFT_DOWNLOAD_URL=<the url you copied>".

[1]+  Done                    export DUNGEONDRAFT_DOWNLOAD_URL=https://cdn.humble.com/humblebundle/tailwindgamesllc_ChunI/Dungeondraft-1.1.0.6-Linux64.zip?gamekey=<gamekey>

edit: putting double quotes around the url solved this issue.

shawly commented on 2025-05-13 09:37 (UTC)

FYI, I changed the pkgver to not follow the Dungeondraft version anymore. Since the PKGBUILD determines the actual Dungeondraft version by the provided download url. Technically this package cannot become out of date since users have to provide their own download url so they can install any version they want.

As a reminder to all the users, you have to purchase Dungeondraft, go to the https://www.humblebundle.com/home/purchases page, select Dungeondraft -> Linux and then copy the URL from the "Manuall Install" button. Then provide the url to the PKGBUILD with export DUNGEONDRAFT_DOWNLOAD_URL=<the url you copied>, then run makepkg -si or use whatever AUR helper you like.

@PCZERO, I just tested the build and it still works as I described above.

PCZERO commented on 2025-02-28 09:56 (UTC)

Impossible to download...

m0r commented on 2024-06-01 01:05 (UTC)

Installation crashing with the following error:

mv: cannot stat 'data_Dungeondraft': No such file or directory

It seems that this data_Dungeondraft is not being created.

lucaci32u4 commented on 2024-03-31 14:39 (UTC)

Added shawly's patch to the PKGBUILD and updated the version in .SRCINFO.

How, this can be used with AUR helpers by setting an environment variable:

export DUNGEONDRAFT_DOWNLOAD_URL=https://...

shawly commented on 2022-07-23 19:07 (UTC)

I changed the PKGBUILD to allow the usage of AUR helpers, with this patch you can set the download URL via export DUNGEONDRAFT_DOWNLOAD_URL=xyz to the URL that your Humble Bundle store page provides and then install the package. It will verify the variable with the url and then download and install the package.

With this there is no more need to clone the AUR repo and manually download the package which should make things a little more convenient.

diff --git a/.SRCINFO b/.SRCINFO
index 55f9733..911d957 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
 pkgbase = dungeondraft
    pkgdesc = Dungeondraft is a tabletop encounter map creation tool designed to draw aesthetic maps without the typical frustrations and time investment
-   pkgver = 1.0.0.0
+   pkgver = 1.0
    pkgrel = 1
    url = https://dungeondraft.net
    arch = x86_64
@@ -8,8 +8,7 @@ pkgbase = dungeondraft
    makedepends = unzip
    depends = mono
    depends = zenity
-   source = file:///Dungeondraft-1.0.0.0-Linux64-hotfix.zip
+   source = $DUNGEONDRAFT_DOWNLOAD_URL
    md5sums = SKIP

 pkgname = dungeondraft
-
diff --git a/PKGBUILD b/PKGBUILD
index 9f9c546..d2909b0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,17 +2,13 @@
 # Maintainer: Alexandru Iercosan-Lucaci <lucaci32u4@gmail.com>

 #
-# Download the Dungeondraft zip archive from HumbleBundle and place it
-# in the same folder with this PKGBUILD and run makepkg.
+# Set DUNGEONDRAFT_DOWNLOAD_URL with the download url provided by 
+# the Humble Bundle purchase page and the nrun makepkg.
 # $ makepkg -si
 #
 # It will work with all current versions of Dungeondraft.
-# The version string is detected dinamically when run.
+# The version string is detected dynamically when run.
 #
-# Note: AUR helpers might not be able to use this package.
-#       Install manually.
-#
-

 pkgname=dungeondraft
 pkgrel=1
@@ -23,14 +19,28 @@ arch=('x86_64')
 url='https://dungeondraft.net'
 license=('custom:TailwindGamesLicense')

-depends=('mono' 'zenity')
-makedepends=('unzip')
+depends=('zenity')
+
+red_color='\033[0;31m'
+bold_font='\033[1m'
+no_color='\033[0m'
+
+if [[ -z $DUNGEONDRAFT_DOWNLOAD_URL ]]; then
+   echo -e "${red_color}${bold_font}==> ERROR:${no_color}${bold_font} You need to set DUNGEONDRAFT_DOWNLOAD_URL to install Dungeondraft!" 
+   echo ""
+   echo "To get the download URL go to your Humble Bundle purchases https://www.humblebundle.com/home/purchases, select Dungeondraft and then copy the link from the \"Manual Install\" button under the Linux section."
+   echo "Afterwards execute \"export DUNGEONDRAFT_DOWNLOAD_URL=<the url you copied>\"."
+   exit 12
+fi

+if [[ ! $DUNGEONDRAFT_DOWNLOAD_URL =~ ^https://dl.humble.com/tailwindgamesllc_ChunI/Dungeondraft.* ]]; then
+    echo -e "${red_color}${bold_font}==> ERROR:${no_color}${bold_font} DUNGEONDRAFT_DOWNLOAD_URL seems to be invalid! Your download link has to start with \"https://dl.humble.com/tailwindgamesllc_ChunI/Dungeondraft*\"."
+   exit 12
+fi

-sourcezip="$(ls . | grep -E '.*Dungeondraft.*..zip' | sort | head -n 1)"
-source=("file:///$sourcezip")
+source=("$DUNGEONDRAFT_DOWNLOAD_URL")
 md5sums=('SKIP')
-pkgver="$(echo "$sourcezip" | grep -oE '[0-9]+(\.[0-9]+)*' | head -n 1)"
+pkgver="$(echo "$DUNGEONDRAFT_DOWNLOAD_URL" | grep -oE '[0-9]+(\.[0-9]+)*' | head -n 1)"
 package() {
    local destdir="$pkgdir/opt/Dungeondraft"
    mkdir -p "$destdir"

Twiglet commented on 2022-03-08 13:13 (UTC) (edited on 2022-03-16 18:21 (UTC) by Twiglet)

I don't know if this is helpful but the API query needed to list download urls is:

URL="https://www.humblebundle.com/api/v1/order/YOURKEYHERE?wallet_data=true&all_tpkds=true&get_coupons=true"

Replacing YOURKEYHERE with the key from the url of your purchase.

Get the version of the Latest release:

DD_VERSION=$(curl "$url" | jq -r '.subproducts[].human_name' | grep -i 'latest' | grep -oE '[0-9]+(\.[0-9]+)*')

You can then get the zip url with the right auth strings:

curl "$url" | jq ".subproducts[].downloads[] | select(.platform == 'linux').download_struct[] | select(.name == 'Manual Install') | select(.url.web | contains(\"$DD_VERSION\")).url.web"

I'm an arch noob so don't know if it's possible to pass a variable/read from the environment variables into the process but this would automate the download as long as you have something like DUNGEONDRAFT_KEY=foobarbaz in your environment.