Package Details: dolphin-emu-git 2409.r299.gd1ef4d5cc1-1

Git Clone URL: https://aur.archlinux.org/dolphin-emu-git.git (read-only, click to copy)
Package Base: dolphin-emu-git
Description: A Gamecube / Wii emulator - git version
Upstream URL: https://dolphin-emu.org
Keywords: dolphin emu emulator game gamecube gui nintendo remote revolution triforce wii wiimote
Licenses: GPL-2.0-or-later
Conflicts: dolphin-emu
Provides: dolphin-emu
Submitter: None
Maintainer: dpeukert
Last Packager: dpeukert
Votes: 123
Popularity: 0.54
First Submitted: 2011-08-20 13:05 (UTC)
Last Updated: 2024-11-10 13:18 (UTC)

Dependencies (53)

Required by (3)

Sources (9)

Pinned Comments

dpeukert commented on 2020-04-10 12:34 (UTC) (edited on 2020-09-26 17:48 (UTC) by dpeukert)

The PKGBUILD for this package is hosted here (contributions are welcome!): https://gitlab.com/dpeukert/pkgbuilds/tree/main/dolphin-emu-git

Latest Comments

« First ‹ Previous 1 .. 10 11 12 13 14 15 16 17 18 19 20 .. 56 Next › Last »

Compile3440 commented on 2023-05-30 01:03 (UTC)

The NEW patch is causing me issues. The previous one was fine, so long as you just got the git version of libmgba. I have to comment out the new line for it to work.

lgaggini commented on 2023-05-27 17:04 (UTC) (edited on 2023-05-27 17:05 (UTC) by lgaggini)

The build is currently broken because of this:

https://github.com/dolphin-emu/dolphin/pull/11847

So the patch of the pull request is required and also the package mbedtls2 is required (if not installed), mbedtls package installs mbedtls version 3.

kylon commented on 2023-05-11 15:47 (UTC) (edited on 2023-05-11 15:49 (UTC) by kylon)

@dpeukert

updated PKGBUILD to build latest dolphin

cleaned up prepare to be readable

fix build with USE_MGBA=ON, always build a static libmgba from dolphin submodule (also fix conflict with libmgba-git and latest mgba-git package)

disable autoupdate, since this is arch package, it is useless

--- PKGBUILD    2023-04-07 12:36:03.000000000 +0200
+++ dolphin-emu-git/PKGBUILD    2023-05-11 17:36:25.024538054 +0200
@@ -6,15 +6,15 @@
 _noguipkgname="$_projectname-emu-nogui"
 pkgbase="$_mainpkgname-git"
 pkgname=("$pkgbase" "$_noguipkgname-git")
-pkgver='5.0.r19176.gaaedc2827d'
-pkgrel='1'
+pkgver=5.0.r19365.g33c4e84f35
+pkgrel=1
 pkgdesc='A Gamecube / Wii emulator'
 _pkgdescappend=' - git version'
 arch=('x86_64' 'aarch64')
 url="https://$_mainpkgname.org"
 license=('GPL2')
 depends=(
-   'alsa-lib' 'bluez-libs' 'cubeb' 'enet' 'hidapi' 'libevdev' 'libgl' 'libmgba'
+   'alsa-lib' 'bluez-libs' 'cubeb' 'enet' 'hidapi' 'libevdev' 'libgl'
    'libpulse' 'libspng' 'libx11' 'libxi' 'libxrandr' 'lzo' 'mbedtls' 'minizip-ng'
    'pugixml' 'qt6-base' 'sfml' 'zlib'
    'libavcodec.so' 'libavformat.so' 'libavutil.so' 'libcurl.so' 'libfmt.so'
@@ -27,17 +27,26 @@
    "$pkgname-implot::git+https://github.com/epezent/implot.git"
    "$pkgname-vma::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
    "$pkgname-zlibng::git+https://github.com/zlib-ng/zlib-ng.git"
+   "$pkgname-mgba::git+https://github.com/mgba-emu/mgba.git"
    'minizip-ng.diff'
 )
 sha512sums=('SKIP'
             'SKIP'
             'SKIP'
             'SKIP'
+            'SKIP'
             'b469597fe9b4e9be6ae9ab0330fe5e3d6b944a73505775ff75f9895ae4843768f3815d4b5b8e227d6d2e87c3f4882d6d7262f9df85be0aaddf46730a7afa16dd')

 _sourcedirectory="$pkgname"

 prepare() {
+   declare -A submodules=(
+       [implot]="Externals/implot/implot"
+       [vma]="Externals/VulkanMemoryAllocator"
+       [zlibng]="Externals/zlib-ng/zlib-ng"
+       [mgba]="Externals/mGBA/mgba"
+   )
+
    cd "$srcdir/$_sourcedirectory/"
    if [ -d 'build/' ]; then rm -rf 'build/'; fi
    mkdir 'build/'
@@ -45,23 +54,13 @@
    # Fix minizip-ng name for Arch
    patch --forward -p1 < "$srcdir/minizip-ng.diff"

-   # Provide implot submodule
-   _implotpath='Externals/implot/implot'
-   git submodule init "$_implotpath"
-   git config "submodule.$_implotpath.url" "$srcdir/$pkgname-implot/"
-   git -c protocol.file.allow=always submodule update "$_implotpath"
-
-   # Provide vma submodule
-   _vmapath='Externals/VulkanMemoryAllocator'
-   git submodule init "$_vmapath"
-   git config "submodule.$_vmapath.url" "$srcdir/$pkgname-vma/"
-   git -c protocol.file.allow=always submodule update "$_vmapath"
-
-   # Provide zlib-ng submodule
-   _zlibngpath='Externals/zlib-ng/zlib-ng'
-   git submodule init "$_zlibngpath"
-   git config "submodule.$_zlibngpath.url" "$srcdir/$pkgname-zlibng/"
-   git -c protocol.file.allow=always submodule update "$_zlibngpath"
+   for submod in "${!submodules[@]}"; do
+       path="${submodules[$submod]}"
+
+       git submodule init "$path"
+       git config "submodule.$path.url" "$srcdir/$pkgname-$submod/"
+       git -c protocol.file.allow=always submodule update "$path"
+   done
 }

 pkgver() {
@@ -72,12 +71,14 @@
 build() {
    cd "$srcdir/$_sourcedirectory/"
    cmake -S '.' -B 'build/' -G Ninja \
-       -DCMAKE_BUILD_TYPE=None \
+       -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX='/usr' \
        -DDISTRIBUTOR=archlinux.org \
        -DENABLE_TESTS=OFF \
        -DUSE_SHARED_ENET=ON \
        -DUSE_RETRO_ACHIEVEMENTS=OFF \
+       -DENABLE_AUTOUPDATE=OFF \
+       -DCMAKE_DISABLE_FIND_PACKAGE_LIBMGBA=True \
        -Wno-dev
    cmake --build 'build/'
 }

creepergd commented on 2023-04-27 17:50 (UTC)

Something with this package is that if you want the absolute latest version of dolphin and you don't really like waiting multiple weeks per update, you can replace the package version in the PKGBUILD and build the latest one, it's pretty nice.

infirit commented on 2023-04-05 16:36 (UTC)

Actually @HurricanePootis that is exactly what should be done for the rcheevos submodule. It literally does nothing yet and many more pull requests are needed to properly implement RetroAchievements.

HurricanePootis commented on 2023-04-05 00:37 (UTC)

Hey, so Peter0x44 has the wrong idea of just disabling the part that was failing due to the missing submodule. I have attached a patch file adding all missing submodules from this PKGBUILD, except for SDL and libusb.

diff --git a/PKGBUILD b/PKGBUILD
index 2431733..6086c9b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,8 +6,8 @@ _mainpkgname="$_projectname-emu"
 _noguipkgname="$_projectname-emu-nogui"
 pkgbase="$_mainpkgname-git"
 pkgname=("$pkgbase" "$_noguipkgname-git")
-pkgver='5.0.r18714.g3c4a21315d'
-pkgrel='1'
+pkgver=5.0.r19148.gd8fabd37fb
+pkgrel=1
 pkgdesc='A Gamecube / Wii emulator'
 _pkgdescappend=' - git version'
 arch=('x86_64' 'aarch64')
@@ -24,6 +24,11 @@ makedepends=('cmake' 'git' 'ninja' 'python')
 optdepends=('pulseaudio: PulseAudio backend')
 source=(
    "$pkgname::git+https://github.com/$_mainpkgname/$_projectname"
+   "$pkgname-mgba::git+https://github.com/mgba-emu/mgba.git"
+   "$pkgname-libspng::git+https://github.com/randy408/libspng.git"
+   "$pkgname-VulkanMemoryAllocator::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
+   "$pkgname-cubeb::git+https://github.com/mozilla/cubeb.git"
+   "$pkgname-rcheevos::git+https://github.com/RetroAchievements/rcheevos.git"
    "$pkgname-spirvcross::git+https://github.com/KhronosGroup/SPIRV-Cross.git"
    "$pkgname-zlibng::git+https://github.com/zlib-ng/zlib-ng.git"
    "$pkgname-vma::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
@@ -31,6 +36,11 @@ source=(
    'minizip-ng.diff'
 )
 sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
             'SKIP'
             'SKIP'
             'SKIP'
@@ -47,29 +57,51 @@ prepare() {
    # Fix minizip-ng name for Arch
    patch --forward -p1 < "$srcdir/minizip-ng.diff"

+   #Provide MGBA submodule
+   _mgbapath='Externals/mGBA/mgba'
+   git config --file=.gitmodules "submodule.$_mgbapath.url" "$srcdir/$pkgname-mgba/"
+   git -c protocol.file.allow=always submodule update --init "$_mgbapath" 
+
+   #Provide libspng submodule
+   _libspngpath='Externals/libspng/libspng'
+   git config --file=.gitmodules "submodule.$_libspngpath.url" "$srcdir/$pkgname-libspng"
+   git -c protocol.file.allow=always submodule update --init "$_libspngpath" 
+
+   #Provide VulkanMemoryAllocator submodule
+   _VulkanMemoryAllocatorpath='Externals/VulkanMemoryAllocator'
+   git config --file=.gitmodules "submodule.$_VulkanMemoryAllocatorpath.url" "$srcdir/$pkgname-VulkanMemoryAllocator"
+   git -c protocol.file.allow=always submodule update --init "$_VulkanMemoryAllocatorpath" 
+
+   # Provide cubeb submodule
+   _cubebpath='Externals/cubeb/cubeb'
+   git config --file=.gitmodules "submodule.$_cubebpath.url" "$srcdir/$pkgname-cubeb"
+   git -c protocol.file.allow=always submodule update --init "$_cubebpath" 
+
+   # Provide rcheevos submodule
+   _rcheevospath='Externals/rcheevos/rcheevos'
+   git config --file=.gitmodules "submodule.$_rcheevospath.url" "$srcdir/$pkgname-rcheevos"
+   git -c protocol.file.allow=always submodule update --init "$_rcheevospath" 
+
    # Provide SPIRV-Cross submodule
    _spirvcrosspath='Externals/spirv_cross/SPIRV-Cross'
-   git submodule init "$_spirvcrosspath"
-   git config "submodule.$_spirvcrosspath.url" "$srcdir/$pkgname-spirvcross/"
-   git -c protocol.file.allow=always submodule update "$_spirvcrosspath"
+   git config --file=.gitmodules "submodule.$_spirvcrosspath.url" "$srcdir/$pkgname-spirvcross/"
+   git -c protocol.file.allow=always submodule update --init "$_spirvcrosspath" 

    # Provide zlib-ng submodule
    _zlibngpath='Externals/zlib-ng/zlib-ng'
-   git submodule init "$_zlibngpath"
-   git config "submodule.$_zlibngpath.url" "$srcdir/$pkgname-zlibng/"
-   git -c protocol.file.allow=always submodule update "$_zlibngpath"
+   git config --file=.gitmodules "submodule.$_zlibngpath.url" "$srcdir/$pkgname-zlibng/"
+   git -c protocol.file.allow=always submodule update --init "$_zlibngpath" 

    # Provide vma submodule
    _vmapath='Externals/VulkanMemoryAllocator'
-   git submodule init "$_vmapath"
-   git config "submodule.$_vmapath.url" "$srcdir/$pkgname-vma/"
-   git -c protocol.file.allow=always submodule update "$_vmapath"
+   git config --file=.gitmodules "submodule.$_vmapath.url" "$srcdir/$pkgname-vma/"
+   git -c protocol.file.allow=always submodule update --init "$_vmapath" 

    # Provide implot submodule
    _implotpath='Externals/implot/implot'
-   git submodule init "$_implotpath"
-   git config "submodule.$_implotpath.url" "$srcdir/$pkgname-implot/"
-   git -c protocol.file.allow=always submodule update "$_implotpath"
+   git config --file=.gitmodules "submodule.$_implotpath.url" "$srcdir/$pkgname-implot/"
+   git -c protocol.file.allow=always submodule update --init "$_implotpath"
+
 }

 pkgver() {

Peter0x44 commented on 2023-04-04 15:31 (UTC) (edited on 2023-04-04 15:32 (UTC) by Peter0x44)

Since https://github.com/dolphin-emu/dolphin/pull/11669/ building this package did not work, due to missing an "rcheevos" submodule, with error:

CMake Error at Externals/rcheevos/CMakeLists.txt:1 (add_library):
  Cannot find source file:

    rcheevos/include/rc_api_editor.h

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc


CMake Error at Externals/rcheevos/CMakeLists.txt:1 (add_library):
  No SOURCES given to target: rcheevos

I personally resolved that with this patch since I don't care about those achievements anyways, I suspect many people probably think the same too

diff --git a/PKGBUILD b/PKGBUILD
index 2431733..11a65b1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -85,6 +85,7 @@ build() {
                -DDISTRIBUTOR=archlinux.org \
                -DENABLE_TESTS=OFF \
                -DUSE_SHARED_ENET=ON \
+               -DUSE_RETRO_ACHIEVEMENTS=OFF \
                -Wno-dev
        cmake --build 'build/'
 }

Whether it's worth keeping these achievements in a regular build is not really up to me, I guess, but this fix is the easiest for now.

noabody commented on 2023-04-03 16:22 (UTC) (edited on 2023-04-03 18:50 (UTC) by noabody)

Build fails with mgba-git installed version of libmgba. Reported to dolphin-emu upstream.

Upstream says it's a package manager issue, will not fix unless someone submits a PR against dolphin-emu.

Best I could do was identify the problem. There are a few ways to work around it but the simplest would probably be -DUSE_MGBA=OFF:

build() {
    cd "$srcdir/$_sourcedirectory/"
    cmake -S '.' -B 'build/' -G Ninja \
        -DCMAKE_BUILD_TYPE=None \
        -DCMAKE_INSTALL_PREFIX='/usr' \
        -DDISTRIBUTOR=archlinux.org \
        -DENABLE_TESTS=OFF \
        -DUSE_SHARED_ENET=ON \
        -DUSE_MGBA=OFF \
        -Wno-dev
    cmake --build 'build/'
}

dpeukert commented on 2023-04-02 10:47 (UTC)

@krakenwave: Looks to me like some sort of a network issue, the repo cloned with no issues on my machine.