Package Base Details: dolphin-emu-git

Git Clone URL: https://aur.archlinux.org/dolphin-emu-git.git (read-only, click to copy)
Keywords: dolphin emu emulator game gamecube gui nintendo remote revolution triforce wii wiimote
Submitter: None
Maintainer: dpeukert
Last Packager: dpeukert
Votes: 120
Popularity: 0.32
First Submitted: 2011-08-20 13:05 (UTC)
Last Updated: 2024-02-25 16:52 (UTC)

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

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.

gugylucky commented on 2023-03-10 01:13 (UTC)

@jasterlaf the package just needs to be rebuild with the newer ffmpeg version. so first you have to uninstall it, then update ffmpeg, then rebuild dolphin-emu-git.

jasterlaf commented on 2023-03-09 17:48 (UTC)

error: failed to prepare transaction (could not satisfy dependencies)
:: installing ffmpeg (2:6.0-3) breaks dependency 'libavcodec.so=59-64' required by dolphin-emu-git
:: installing ffmpeg (2:6.0-3) breaks dependency 'libavformat.so=59-64' required by dolphin-emu-git
:: installing ffmpeg (2:6.0-3) breaks dependency 'libavutil.so=57-64' required by dolphin-emu-git
:: installing ffmpeg (2:6.0-3) breaks dependency 'libswscale.so=6-64' required by dolphin-emu-git

vikbar54.9 commented on 2023-03-09 07:59 (UTC) (edited on 2023-03-09 08:02 (UTC) by vikbar54.9)

The errors in flag comment are related to newer versions now requiring libavcodec major version 60, libavformat major version 60, libavfilter major version 9, libavutil major version 58 and libswscale version in ffmpeg 6.0, which is now (only) in testing repository. libavfilter is mentioned in error message, but isn't included in dependicies and other libraries need a version bump in dependicies, because mgba library now requires newer versions.

HurricanePootis commented on 2023-03-09 07:32 (UTC)

@vikbar54.9 dolphin-emu-git builds for me. next time you have building errors, please leave a comment detailing your situation instead of just dumping your error message into the wrong box

dpeukert commented on 2023-01-25 11:02 (UTC)

@tacosukoneko, @hawaka: Thanks for the heads-up, updated.

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