Package Details: melonds 0.9.5-6

Git Clone URL: https://aur.archlinux.org/melonds.git (read-only, click to copy)
Package Base: melonds
Description: DS emulator, sorta
Upstream URL: http://melonds.kuribo64.net/
Licenses: GPL3
Submitter: ckuiper
Maintainer: hcorion (HTV04)
Last Packager: hcorion
Votes: 24
Popularity: 0.029320
First Submitted: 2021-01-18 02:20 (UTC)
Last Updated: 2024-06-23 05:18 (UTC)

Latest Comments

1 2 Next › Last »

HurricanePootis commented on 2024-11-27 08:33 (UTC)

Hello, I have the following patch:

  1. Update to 1.0rc
  2. Remove arm and armv6h as they are not ARCHs for PKGBUILDs
  3. Change the license() to be SDPX compliant
  4. Add wayland as a makedepends() as CMake looks for it during the configuration process.
  5. Add libarchive, enet, gcc-libs, libx11, libglvnd, zstd, and hicolor-icon-theme to depends()
  6. Remove libepoxy and libslrip as it appears melonDS no longer requires it
  7. Make the build() and install() more compliant to the CMake guidelines. This means using -B to avoid having to use mkdir, and setting -DCMAKE_BUILD_TYPE to NONE.
  8. Clone the git repo with the name $pkgname so no need to create an extra variable.
diff --git a/PKGBUILD b/PKGBUILD
index f5b0e2e..df2fa7c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,38 +3,34 @@
 # Maintainer: Harrison <htv04rules at gmail dot com>

 pkgname=melonds
-pkgver=0.9.5
-pkgrel=6
+pkgver=1.0rc
+pkgrel=1
 pkgdesc="DS emulator, sorta"
-arch=("x86_64" "i686" "pentium4" "arm" "armv6h" "armv7h" "aarch64")
+arch=("x86_64" "i686" "pentium4" "armv7h" "aarch64")
 url="http://melonds.kuribo64.net/"
-license=("GPL3")
-makedepends=("git" "cmake" "pkg-config" "extra-cmake-modules")
-depends=("libepoxy" "libslirp" "qt6-base" "qt6-multimedia" "sdl2")
-source=("git+https://github.com/melonDS-emu/melonDS.git#tag=${pkgver}"
-        "dont-fix-libslirp-interface.patch")
-sha256sums=("SKIP"
-            "1c157d21f89a750140727b2906abbd340a7e21257dd7eaeebdc60cf71ed82770")
+license=("GPL-3.0-or-later")
+makedepends=("wayland" "git" "cmake" "pkg-config" "extra-cmake-modules")
+depends=("qt6-base" "qt6-multimedia" "sdl2" "libarchive" "enet" "gcc-libs" "glibc" "libx11" "libglvnd" "zstd" "hicolor-icon-theme")
+source=("$pkgname::git+https://github.com/melonDS-emu/melonDS.git#tag=${pkgver}")
+sha256sums=('cacc8af180b3d64a6d447afe5d5305ec4de7b7b95e28614d4037b0944b5bad51')

 prepare() {
-  cd melonDS
-  git cherry-pick -n e63e29ca91ba5fc1630634fbb9f064b9cce6cc1f # Fix build with GCC 14
-  patch -p1 -i ../dont-fix-libslirp-interface.patch
+  cd $pkgname
 }

 build() {
-  mkdir -p build
-  cd build
-  
-  cmake ../melonDS \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_INSTALL_PREFIX="/usr" \
-    -DUSE_QT6=ON
-  cmake --build .
+  cd "$srcdir"
+
+  cmake -B build -S $pkgname \
+  -DCMAKE_BUILD_TYPE=None \
+  -DCMAKE_INSTALL_PREFIX=/usr \
+  -DUSE_QT6=ON
+
+  cmake --build build
 }

 package() {
-  cd build
-  
-  DESTDIR="${pkgdir}" cmake --install .
+  cd "$srcdir"
+
+  DESTDIR="$pkgdir" cmake --install build
 }
diff --git a/dont-fix-libslirp-interface.patch b/dont-fix-libslirp-interface.patch
deleted file mode 100644
index 326c2ba..0000000
--- a/dont-fix-libslirp-interface.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/frontend/qt_sdl/CMakeLists.txt b/src/frontend/qt_sdl/CMakeLists.txt
-index 6b964f33..cd907f05 100644
---- a/src/frontend/qt_sdl/CMakeLists.txt
-+++ b/src/frontend/qt_sdl/CMakeLists.txt
-@@ -88,7 +88,7 @@ pkg_check_modules(SDL2 REQUIRED IMPORTED_TARGET sdl2)
- pkg_check_modules(Slirp REQUIRED IMPORTED_TARGET slirp)
- pkg_check_modules(LibArchive REQUIRED IMPORTED_TARGET libarchive)
- 
--fix_interface_includes(PkgConfig::SDL2 PkgConfig::Slirp PkgConfig::LibArchive)
-+fix_interface_includes(PkgConfig::SDL2 PkgConfig::LibArchive)
- 
- add_compile_definitions(ARCHIVE_SUPPORT_ENABLED)
- 

hcorion commented on 2024-06-23 04:42 (UTC)

@dansecob fix applied!

@mifori libslirp is used for online play.

dansecob commented on 2024-06-18 18:11 (UTC)

This PKGBUILD relies on make as the CMake backend, so it fails on any system that configures CMake with ninja as the backend. This patch replaces make calls with CMake calls, to be backend agnostic.

@@ -25,11 +25,11 @@ build() {
   cmake ../melonDS \
     -DCMAKE_BUILD_TYPE=Release \
     -DCMAKE_INSTALL_PREFIX="/usr"
-  make VERBOSE=ON
+  cmake --build .
 }

 package() {
   cd build

-  make DESTDIR="${pkgdir}" install
+  DESTDIR="${pkgdir}" cmake --install .
 }

mifori commented on 2024-05-28 22:00 (UTC)

Why does this depend on libslirp?

imcb commented on 2023-11-20 18:09 (UTC)

git url is now https://github.com/melonDS-emu/melonDS

HTV04 commented on 2022-11-10 23:09 (UTC)

@micwoj92 Updated, thanks!

micwoj92 commented on 2022-11-07 07:35 (UTC)

Missing dependency qt5-multimedia

micwoj92 commented on 2022-07-19 15:07 (UTC)

This has already been fixed upstream https://github.com/Arisotura/melonDS/commit/4cc34121b0db2cf77541014271af8d79fed35f26

you can fix it yourself by adding git cherry-pick -n 4cc34121b0db2cf77541014271af8d79fed35f26 before the build step

atlasRequiem commented on 2022-07-19 14:39 (UTC) (edited on 2022-07-19 14:53 (UTC) by atlasRequiem)

Hi, I'm trying to install this package but for some reason the build is failing with

/.cache/yay/melonds/src/melonDS/src/teakra/src/processor.cpp:1:
/.cache/yay/melonds/src/melonDS/src/teakra/src/interpreter.h: In member function ‘void Teakra::Interpreter::CodebookSearch(u16, u16, u16, CbsCond)’:
/.cache/yay/melonds/src/melonDS/src/teakra/src/interpreter.h:2788:23: error: ‘exchange’ is not a member of ‘std’
2788 |         u16 x0 = std::exchange(regs.x[0], regs.y[0]);
      |                       ^~~~~~~~
compilation terminated due to -Wfatal-errors.
make[2]: *** [src/teakra/src/CMakeFiles/teakra.dir/build.make:202: src/teakra/src/CMakeFiles/teakra.dir/processor.cpp.o] Error 1
make[2]: Leaving directory '/home/atlas/.cache/yay/melonds/src/build'
make[1]: *** [CMakeFiles/Makefile2:194: src/teakra/src/CMakeFiles/teakra.dir/all] Error 2
make[1]: Leaving directory '/home/atlas/.cache/yay/melonds/src/build'
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: melonds

so I'm wondering if it's an issue with the actual package or if its broken due to a gcc update
EDIT: Formatting

HTV04 commented on 2022-03-13 17:23 (UTC)

@spiffeeroo Fixed, git has been added as a makedepend.

@tepten2 Glad the issue has been resolved :)