Package Details: dusklight-git 1.4.1.r0.gf5642f3-1

Git Clone URL: https://aur.archlinux.org/dusklight-git.git (read-only, click to copy)
Package Base: dusklight-git
Description: Dusklight brings a classic adventure to PC and mobile platforms with a variety of fixes and improvements.
Upstream URL: https://github.com/TwilitRealm/dusklight
Licenses: CC0-1.0
Conflicts: dusklight, dusklight-bin
Replaces: tp-dusk-git
Submitter: R0dn3yS
Maintainer: R0dn3yS
Last Packager: R0dn3yS
Votes: 2
Popularity: 0.63
First Submitted: 2026-05-12 16:36 (UTC)
Last Updated: 2026-06-17 03:43 (UTC)

Latest Comments

R0dn3yS commented on 2026-06-10 16:27 (UTC) (edited on 2026-06-10 16:27 (UTC) by R0dn3yS)

I fixed all the problems with libraries missing, they were upstream issues and now just waiting for them to merge it into upstream.

finesco commented on 2026-06-01 06:00 (UTC)

With the most recent commit need packages and libs: rmlui libfreeverb.so (ln -s /usr/lib/libfreeverb3.so /usr/lib/libfreeverb.so doesn't work)

HurricanePootis commented on 2026-05-17 20:50 (UTC)

@R0dn3y

I am the maintainer of dusklight. I have a few suggestions for this PKGBUILD to bring it into parity with dusklight:

  1. Remove the launcher script. There is no reason to have a launcher script at all whenever the program works with symlinks in the right place
  2. Install the desktop and icon with the reverse domain name (dev.twilitrealm.dusk). This is standard practice on new apps. The packager should always strive to do this!
  3. Add libpng and zlib to depends()
  4. Add conflicts=("${pkgname::-4}") and provides=(tp-dusk "${pkgname::-4"). Since dusklight exist, you need to add these since this is the -git package. Furthermore, you forgot about provides() in the first place
diff --git a/PKGBUILD b/PKGBUILD
index 6dc3ea8..f217e78 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,25 +3,24 @@

 _pkgname=dusklight
 pkgname=${_pkgname}-git
-pkgver=1.1.1.r0.g7a77d48
+pkgver=1.1.1.r48.g55b277f
 pkgrel=1
 pkgdesc="Dusklight brings a classic adventure to PC and mobile platforms with a variety of fixes and improvements."
 arch=('x86_64')
 url="https://github.com/TwilitRealm/dusklight"
 license=('CC0-1.0')
-depends=(libjpeg-turbo glibc libgcc sdl3 abseil-cpp freetype2 libstdc++ bash)
+depends=(libjpeg-turbo glibc libgcc sdl3 abseil-cpp freetype2 libstdc++ zlib libpng)
 makedepends=(git cmake ninja llvm vulkan-headers python python-markupsafe clang lld alsa-lib libpulse libxrandr patchelf)
 replaces=(tp-dusk-git)
-conflicts=(tp-dusk)
+provides=(tp-dusk "${pkgname::-4}")
+conflicts=(tp-dusk "${pkgname::-4}")
 source=(
   "git+$url"
   "git+https://github.com/encounter/aurora.git"
-  "launcher.sh"
 )

 sha256sums=('SKIP'
-            'SKIP'
-            '71e621f84d9747788b55e02354e984e327dfaf23df151232067284443e81714a')
+            'SKIP')

 pkgver() {
    cd "$srcdir/dusklight"
@@ -41,23 +40,26 @@ build() {

   cmake -B build -GNinja \
     -DCMAKE_BUILD_TYPE=None \
-   -DCMAKE_C_COMPILER=clang \
-   -DCMAKE_CXX_COMPILER=clang++ \
-   -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS} -fuse-ld=lld" \
-   -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS} -fuse-ld=lld" \
-   -DCMAKE_C_FLAGS="${CFLAGS} -flto=thin -DNDEBUG" \
-   -DCMAKE_CXX_FLAGS="${CXXFLAGS} -flto=thin -DNDEBUG" \
-   -DDUSK_ENABLE_UPDATE_CHECKER=OFF
+    -DCMAKE_C_COMPILER=clang \
+    -DCMAKE_CXX_COMPILER=clang++ \
+    -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS} -fuse-ld=lld" \
+    -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS} -fuse-ld=lld" \
+    -DCMAKE_C_FLAGS="${CFLAGS} -flto=thin -DNDEBUG" \
+    -DCMAKE_CXX_FLAGS="${CXXFLAGS} -flto=thin -DNDEBUG" \
+    -DDUSK_ENABLE_UPDATE_CHECKER=OFF
   cmake --build build
 }

 package() {
-  install -Dm 755 "${srcdir}/dusklight/build/dusklight" "${pkgdir}/usr/share/${_pkgname}/dusklight"
-  install -Dm 755 "launcher.sh" "${pkgdir}/usr/bin/${_pkgname}"
+  install -Dm 755 "${srcdir}/dusklight/build/dusklight" "${pkgdir}/usr/lib/${_pkgname}/dusklight"
+  install -dm755 "${pkgdir}/usr/bin"
+  install -dm755 "${pkgdir}/usr/share/${_pkgname}"
   cp -r "${srcdir}/dusklight/res" "${pkgdir}/usr/share/${_pkgname}/res"
+  ln -s "/usr/share/${_pkgname}/res" "${pkgdir}/usr/lib/${_pkgname}/res"
+  ln -s "/usr/lib/${_pkgname}/dusklight" "${pkgdir}/usr/bin/dusklight"

-  install -Dm 644 "${srcdir}/dusklight/platforms/freedesktop/1024x1024/apps/dusklight.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
-  install -Dm 755 "${srcdir}/dusklight/platforms/freedesktop/dusklight.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+  install -Dm 644 "${srcdir}/dusklight/platforms/freedesktop/1024x1024/apps/dusklight.png" "${pkgdir}/usr/share/pixmaps/dev.twilitrealm.dusk.png"
+  install -Dm 755 "${srcdir}/dusklight/platforms/freedesktop/dusklight.desktop" "${pkgdir}/usr/share/applications/dev.twilitrealm.dusk.desktop"

-  patchelf --remove-rpath "${pkgdir}/usr/share/${_pkgname}/dusklight"
+  patchelf --remove-rpath "${pkgdir}/usr/lib/${_pkgname}/dusklight"
 }
diff --git a/tp-dusk.desktop b/tp-dusk.desktop
deleted file mode 100644
index f7689e9..0000000
--- a/tp-dusk.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=Twilight Princess Dusk
-Comment=Dusk is a reverse-engineered reimplementation of Twilight Princess.
-Exec=tp-dusk
-Icon=tp-dusk
-Terminal=false
-Type=Application
-Categories=Game;
\ No newline at end of file

Since I am the maintainer of dusklight itself (and I have more experience packaging), I think it would be best if I were to be co-maintainer of this package so that any changes between the two can be kept in sync without having to do the song and dance of me leaving a comment every single time.

HurricanePootis commented on 2026-05-11 07:57 (UTC)

Any recommendations I made to tp-dusk should also be applied here. Furthermore, you should change pkgver() to reflect that there is a stable version now.

diff --git a/PKGBUILD b/PKGBUILD
index c5a641a..e7e36b5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,14 +2,14 @@

 _pkgname=tp-dusk
 pkgname=${_pkgname}-git
-pkgver=r3996.c948bffd32
+pkgver=1.0.1.r1.g764fc0b
 pkgrel=1
-pkgdesc="Dusk is a reverse-engineered reimplementation of Twilight Princess."
+#pkgdesc="Dusk is a reverse-engineered reimplementation of Twilight Princess."
 arch=('x86_64')
 url="https://github.com/TwilitRealm/dusk"
 license=('CC0-1.0')
-depends=(libjpeg-turbo glibc curl libgcc sdl3 abseil-cpp freetype2 libstdc++)
-makedepends=(cmake ninja llvm vulkan-headers python python-markupsafe clang lld alsa-lib libpulse libxrandr)
+depends=(libjpeg-turbo glibc libgcc sdl3 abseil-cpp freetype2 libstdc++ hicolor-icon-theme bash)
+makedepends=(cmake ninja llvm vulkan-headers python python-markupsafe clang lld alsa-lib libpulse libxrandr patchelf)
 provides=(tp-dusk)
 conflicts=(tp-dusk)
 source=(
@@ -21,12 +21,12 @@ source=(

 sha256sums=('SKIP'
             'SKIP'
-            '9bcacbd0a3da8a4149dd8cc4b904f3e9df6af59eb86de5cd6ece1f6ee1179ad5'
-            '1e6547cf4dd69f0ecb6895733dcd13f3e265c6267298c7bf83dd6acbad42fda5')
+            '897e5bb82d8699845fa73a5a70f1d9d28e9a0ed2895bb6351e8a5378912dd6a9'
+            '92ed09437a21fd3e3e935725d6089ce0398771b44e31361114cf9204c3d992a6')

 pkgver() {
    cd "$srcdir/dusk"
-   printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+   git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//'
 }

 prepare() {
@@ -38,18 +38,29 @@ prepare() {
 }

 build() {
-  cd "$srcdir/dusk"
+  cd "$srcdir"

-  cmake --preset linux-default-relwithdebinfo
-  cmake --build --preset linux-default-relwithdebinfo
+  cmake -B build -S dusk -GNinja \
+  -DCMAKE_BUILD_TYPE=None \
+  -DCMAKE_C_COMPILER=clang \
+  -DCMAKE_CXX_COMPILER=clang++ \
+  -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS} -fuse-ld=lld" \
+  -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS} -fuse-ld=lld" \
+  -DCMAKE_C_FLAGS="${CFLAGS} -flto=thin" \
+  -DCMAKE_CXX_FLAGS="${CXXFLAGS} -flto=thin" \
+  -DDUSK_ENABLE_UPDATE_CHECKER=OFF
+
+  cmake --build build
 }

 package() {
-  install -Dm 755 "launcher.sh" "${pkgdir}/usr/bin/tp-dusk"
-
-  install -Dm 755 "${srcdir}/dusk/build/linux-default-relwithdebinfo/dusk" "${pkgdir}/usr/share/tp-dusk/dusk"
+  install -Dm755 "${srcdir}/build/dusk" "$pkgdir/usr/lib/${pkgname::-4}/dusk"
+  install -Dm755 "${srcdir}/launcher.sh" "${pkgdir}/usr/bin/${pkgname::-4}"
+  install -dm755 "${pkgdir}/usr/share/${pkgname::-4}"
   cp -r "${srcdir}/dusk/res" "${pkgdir}/usr/share/tp-dusk/res"

-  install -Dm 644 "${srcdir}/dusk/res/icon.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
-  install -Dm 755 "tp-dusk.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop" 
+  install -Dm 644 "${srcdir}/dusk/res/icon.png" "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/tp-dusk.png"
+  install -Dm 755 "tp-dusk.desktop" "${pkgdir}/usr/share/applications/${pkgname::-4}.desktop"
+
+  patchelf --remove-rpath "${pkgdir}/usr/lib/${pkgname::-4}/dusk"
 }
diff --git a/launcher.sh b/launcher.sh
index a0033dc..0d7b7c9 100644
--- a/launcher.sh
+++ b/launcher.sh
@@ -1,4 +1,12 @@
-#!/usr/bin/bash
+#!/usr/bin/env sh
+
+dir=$(mktemp -d)
+
+ln -s /usr/lib/tp-dusk/dusk "$dir/dusk" && echo linked 1
+ln -s /usr/share/tp-dusk/res "$dir/res" && echo linked 2
+"/$dir/dusk" "$@"
+wait
+rm "$dir/dusk" "$dir/res"
+rmdir "$dir"
+exit

-cd /usr/share/tp-dusk || exit 0
-/usr/share/tp-dusk/dusk
\ No newline at end of file
diff --git a/tp-dusk.desktop b/tp-dusk.desktop
index f7689e9..ecf0e70 100644
--- a/tp-dusk.desktop
+++ b/tp-dusk.desktop
@@ -6,4 +6,4 @@ Exec=tp-dusk
 Icon=tp-dusk
 Terminal=false
 Type=Application
-Categories=Game;
\ No newline at end of file
+Categories=Game;