Package Details: dolphin-emu-git 5.0.r21606.g8ac22378a1-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: 121
Popularity: 0.74
First Submitted: 2011-08-20 13:05 (UTC)
Last Updated: 2024-05-28 23:55 (UTC)

Dependencies (44)

Required by (3)

Sources (7)

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 .. 7 8 9 10 11 12 13 14 15 16 17 .. 53 Next › Last »

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.

krakenwave commented on 2023-04-02 00:40 (UTC) (edited on 2023-04-02 00:42 (UTC) by krakenwave)

Whenever I run makepkg, right after "Resolving deltas" reaches 100%, I'm met with:

fatal: did not receive expected object 335f54ae35caa4341b67240272011e38fc441b06
fatal: fetch-pack: invalid index-pack output
==> ERROR: Failure while downloading dolphin-emu-git git repo
    Aborting...
error: failed to download sources for 'dolphin-emu-git-5.0.r18714.g3c4a21315d-1': 
error: packages failed to build: dolphin-emu-git-5.0.r18714.g3c4a21315d-1

Is this something weird on my end?

dpeukert commented on 2023-03-25 22:41 (UTC)

@hawaka: The patch enables the build process to use the system minizip instead of the vendored one, so the patch is technically not required, but as system libs should be used when possible, it is included. It looks like your build failure was caused by the patch package not being installed. It is included in the base-devel package, which packages assume to be installed when using the AUR (see the Arch Wiki for more details).

hawaka commented on 2023-03-25 21:46 (UTC) (edited on 2023-03-25 21:58 (UTC) by hawaka)

The build currently exits with "command not found" on line 48 of the PKGBUILD:

patch --forward -p1 < "$srcdir/minizip-ng.diff"

The comment above it reads "# Fix minizip-ng name for Arch".

EDIT: After removing said line it builds correctly. Guess the patch is not needed anymore.