Package Details: dolphin-emu-nogui-git 2503.r176.g1b85da9b85-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 - no GUI - 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-cli, dolphin-emu-nogui
Provides: dolphin-emu-cli, dolphin-emu-nogui
Submitter: None
Maintainer: dpeukert
Last Packager: dpeukert
Votes: 123
Popularity: 0.046648
First Submitted: 2011-08-20 13:05 (UTC)
Last Updated: 2025-03-31 22:22 (UTC)

Dependencies (45)

Required by (0)

Sources (11)

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 .. 15 16 17 18 19 20 21 22 23 24 25 .. 60 Next › Last »

hawaka commented on 2023-01-22 02:40 (UTC) (edited on 2023-01-22 02:55 (UTC) by hawaka)

As it was mentioned "gtest" needs to be added to externals.

You need to add gtest to sources (last on the source list) and the "prepare()" section, add an additional 'SKIP' to sha512sums as well:


source=(
   "$pkgname-gtest::git+https://github.com/google/googletest.git"

prepare() {
    cd "$srcdir/$_sourcedirectory/"
    if [ -d 'build/' ]; then rm -rf 'build/'; fi
    mkdir 'build/'

     # Provide gtest submodule
     _gtestpath='Externals/gtest'
     git submodule init "$_gtestpath"
     git config "submodule.$_gtestpath.url" "$srcdir/$pkgname-gtest/"
     git -c protocol.file.allow=always submodule update "$_gtestpath"

It should look like this:


# Maintainer: Daniel Peukert <daniel@peukert.cc>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Lightning <sgsdxzy@gmail.com>
_projectname='dolphin'
_mainpkgname="$_projectname-emu"
_noguipkgname="$_projectname-emu-nogui"
pkgbase="$_mainpkgname-git"
pkgname=("$pkgbase" "$_noguipkgname-git")
pkgver=5.0.r18279.g9fe1d80920
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'
    'libpulse' 'libx11' 'libxi' 'libxrandr' 'lzo' 'mbedtls' 'minizip-ng' 'pugixml'
    'qt6-base' 'sfml' 'zlib'
    'libavcodec.so' 'libavformat.so' 'libavutil.so' 'libcurl.so' 'libfmt.so'
    'libminiupnpc.so' 'libswscale.so' 'libudev.so' 'libusb-1.0.so'
)
makedepends=('cmake' 'git' 'ninja' 'python')
optdepends=('pulseaudio: PulseAudio backend')
source=(
    "$pkgname::git+https://github.com/$_mainpkgname/$_projectname"
    "$pkgname-spirvcross::git+https://github.com/KhronosGroup/SPIRV-Cross.git"
    "$pkgname-zlibng::git+https://github.com/zlib-ng/zlib-ng.git"
    "$pkgname-libspng::git+https://github.com/randy408/libspng.git"
    "$pkgname-vma::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
    "$pkgname-implot::git+https://github.com/epezent/implot.git"
    "$pkgname-gtest::git+https://github.com/google/googletest.git"
)
sha512sums=('SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP'
            'SKIP')

_sourcedirectory="$pkgname"

prepare() {
    cd "$srcdir/$_sourcedirectory/"
    if [ -d 'build/' ]; then rm -rf 'build/'; fi
    mkdir 'build/'

    # 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"

    # 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"

    # Provide libspng submodule
    _libspngpath='Externals/libspng/libspng'
    git submodule init "$_libspngpath"
    git config "submodule.$_libspngpath.url" "$srcdir/$pkgname-libspng/"
    git -c protocol.file.allow=always submodule update "$_libspngpath"

    # 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 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 gtest submodule
    _gtestpath='Externals/gtest'
    git submodule init "$_gtestpath"
    git config "submodule.$_gtestpath.url" "$srcdir/$pkgname-gtest/"
    git -c protocol.file.allow=always submodule update "$_gtestpath"

}

pkgver() {
    cd "$srcdir/$_sourcedirectory/"
    git describe --long --tags | sed -e 's/-\([^-]*-g[^-]*\)$/-r\1/' -e 's/-/./g'
}

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

package_dolphin-emu-git() {
    pkgdesc="$pkgdesc$_pkgdescappend"
    provides=("$_mainpkgname")
    conflicts=("$_mainpkgname")

    cd "$srcdir/$_sourcedirectory/"
    DESTDIR="$pkgdir" cmake --install 'build/'
    install -Dm644 'Data/51-usb-device.rules' "$pkgdir/usr/lib/udev/rules.d/51-usb-device.rules"

    rm -rf "$pkgdir/usr/bin/$_noguipkgname"
    rm -rf "$pkgdir/usr/include"
    rm -rf "$pkgdir/usr/lib/libdiscord-rpc.a"
    rm -rf "$pkgdir/usr/share/man/man6/$_noguipkgname.6"
}

package_dolphin-emu-nogui-git() {
    pkgdesc="$pkgdesc - no GUI$_pkgdescappend"
    depends=("$pkgbase")
    optdepends=()
    provides=("$_noguipkgname" "$_mainpkgname-cli")
    conflicts=("$_noguipkgname" "$_mainpkgname-cli")

    cd "$srcdir/$_sourcedirectory/"
    install -Dm755 "$srcdir/$_sourcedirectory/build/Binaries/$_noguipkgname" "$pkgdir/usr/bin/$_noguipkgname"
    ln -sf "/usr/bin/$_noguipkgname" "$pkgdir/usr/bin/$_mainpkgname-cli"
    install -Dm644 "Data/$_noguipkgname.6" "$pkgdir/usr/share/man/man6/$_noguipkgname.6"
}

tacosukoneko commented on 2023-01-21 23:41 (UTC)

upstream commit 597f8f1b874bf93854ae178795c55117f680e457 breaks this with "Externals/gtest does not contain a CMakeLists.txt file. Configuring incomplete, errors occurred!"

dpeukert commented on 2022-12-24 16:43 (UTC)

@rossome: Thanks for the info, updated. Merry Christmas :)

rossome commented on 2022-12-23 23:16 (UTC) (edited on 2022-12-23 23:17 (UTC) by rossome)

The PKGBUILD needs to provide the implot submodule to build:

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

Peter0x44 commented on 2022-11-29 01:20 (UTC) (edited on 2022-11-29 01:21 (UTC) by Peter0x44)

I did the same, but cubeb-git does provide cubeb, so patching the PKGBUILD should not be necessary.

cubeb-git for me has this provides line:

Provides : cubeb=0.2.r1400.g27d2a10 libcubeb.so=0-64

There was no need for me to patch anything about the PKGBUILD.

pretzelface commented on 2022-11-28 21:30 (UTC)

cubeb no longer seems to be available in the AUR. I resolved the problem locally by putting cubeb-git in the PKGBUILD.

Peter0x44 commented on 2022-11-28 00:29 (UTC) (edited on 2022-11-28 00:31 (UTC) by Peter0x44)

EDITED: was my bad, I forgot to pull before attempting to build

dpeukert commented on 2022-11-04 18:36 (UTC)

@Penglyn: This is a VCS package, the most up-to-date version is used whenever you build the PKGBUILD.

mferraci commented on 2022-10-26 17:32 (UTC) (edited on 2022-10-26 17:58 (UTC) by mferraci)

Git has done a security update on submodules. It breaks many AUR packages.

A fix :


  diff --git a/PKGBUILD b/PKGBUILD
 index c5b7161..dda9ca7 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.r17354.g1efb5b8800'
 -pkgrel='1'
 +pkgver=5.0.r17732.gd367b3ec3b
 +pkgrel=1
  pkgdesc='A Gamecube / Wii emulator'
  _pkgdescappend=' - git version'
  arch=('x86_64' 'aarch64')
 @@ -27,11 +27,13 @@ source=(
    "$pkgname-spirvcross::git+https://github.com/KhronosGroup/SPIRV-Cross.git"
    "$pkgname-zlibng::git+https://github.com/zlib-ng/zlib-ng.git"
    "$pkgname-libspng::git+https://github.com/randy408/libspng.git"
+        "$pkgname-vma::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
 )
 sha512sums=('SKIP'
             'SKIP'
             'SKIP'
             'SKIP'
+            'SKIP'
             'SKIP')

 _sourcedirectory="$pkgname"
@@ -45,25 +47,31 @@ prepare() {
    _mgbapath='Externals/mGBA/mgba'
    git submodule init "$_mgbapath"
    git config "submodule.$_mgbapath.url" "$srcdir/$pkgname-mgba/"
-   git submodule update "$_mgbapath"
+   git -c protocol.file.allow=always submodule update "$_mgbapath"

    # Provide SPIRV-Cross submodule
    _spirvcrosspath='Externals/spirv_cross/SPIRV-Cross'
    git submodule init "$_spirvcrosspath"
    git config "submodule.$_spirvcrosspath.url" "$srcdir/$pkgname-spirvcross/"
-   git submodule update "$_spirvcrosspath"
+   git -c protocol.file.allow=always submodule update "$_spirvcrosspath"

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

    # Provide libspng submodule
    _libspngpath='Externals/libspng/libspng'
    git submodule init "$_libspngpath"
    git config "submodule.$_libspngpath.url" "$srcdir/$pkgname-libspng/"
-   git submodule update "$_libspngpath"
+   git -c protocol.file.allow=always submodule update "$_libspngpath"
+
+   # 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"
 }

 pkgver() {

jasterlaf commented on 2022-10-23 11:01 (UTC) (edited on 2022-10-23 21:58 (UTC) by jasterlaf)

==> Starting prepare()...
Submodule 'Externals/mGBA/mgba' (https://github.com/mgba-emu/mgba.git) registered for path 'Externals/mGBA/mgba'
Cloning into '/home/user/builds/dolphin-emu-git/src/dolphin-emu-git/Externals/mGBA/mgba'...
warning: --depth is ignored in local clones; use file:// instead.
fatal: transport 'file' not allowed
fatal: clone of '/home/user/builds/dolphin-emu-git/src/dolphin-emu-git-mgba/' into submodule path '/home/user/builds/dolphin-emu-git/src/dolphin-emu-git/Externals/mGBA/mgba' failed
Failed to clone 'Externals/mGBA/mgba'. Retry scheduled
Cloning into '/home/user/builds/dolphin-emu-git/src/dolphin-emu-git/Externals/mGBA/mgba'...
warning: --depth is ignored in local clones; use file:// instead.
fatal: transport 'file' not allowed
fatal: clone of '/home/user/builds/dolphin-emu-git/src/dolphin-emu-git-mgba/' into submodule path '/home/user/builds/dolphin-emu-git/src/dolphin-emu-git/Externals/mGBA/mgba' failed
Failed to clone 'Externals/mGBA/mgba' a second time, aborting
==> ERROR: A failure occurred in prepare().
    Aborting...