Package Details: decaf-emu-git r5112.dd444a08-1

Git Clone URL: https://aur.archlinux.org/decaf-emu-git.git (read-only, click to copy)
Package Base: decaf-emu-git
Description: An experimental open-source Nintendo Wii U emulator
Upstream URL: https://github.com/decaf-emu/decaf-emu
Keywords: emulator nintendo wii-u wiiu
Licenses: GPL3
Submitter: linkmauve
Maintainer: None
Last Packager: dnmodder
Votes: 6
Popularity: 0.000054
First Submitted: 2015-12-01 22:19 (UTC)
Last Updated: 2021-09-30 19:09 (UTC)

Latest Comments

1 2 3 Next › Last »

dr460nf1r3 commented on 2021-11-05 12:05 (UTC)

qt5-x11extras needs to be in makedepends :)

dodecahedron commented on 2021-09-28 17:11 (UTC) (edited on 2021-09-28 17:25 (UTC) by dodecahedron)

This package fail to build for me with this error:

Submodule path 'libraries/cpp-peglib': checked out '79f4d90c19a1ffad613c89b470e11b313275e982'
fatal: git upload-pack: not our ref 5a6d92731aa8c2d1b2eb2741b1ea982967f77029
fatal: remote error: upload-pack: not our ref 5a6d92731aa8c2d1b2eb2741b1ea982967f77029
fatal: Fetched in submodule path 'libraries/cpptoml', but it did not contain 5a6d92731aa8c2d1b2eb2741b1ea982967f77029. Direct fetching of that commit failed.
==> ERROR: A failure occurred in prepare().
    Aborting...

Changing https://github.com/skystrife/cpptoml in the PKGBUILD to Decaf's fork fixes the issue.

jlague commented on 2021-07-07 02:17 (UTC) (edited on 2021-07-07 02:19 (UTC) by jlague)

The package fails to build when compiling with gcc 11, because this version of gcc requires the limits header (see https://github.com/skystrife/cpptoml/issues/126).

A workaround would be to add

sed -i "23i#include <limits>" $srcdir/$_pkgname/libraries/cpptoml/include/cpptoml.h

at the end of the prepare() phase, although I don't know if it would be the best solution.

niobium93 commented on 2021-05-09 14:03 (UTC)

You need to change

"gsl-lite::git+https://github.com/decaf-emu/gsl-lite"

to

"gsl-lite::git+https://github.com/gsl-lite/gsl-lite"

dodecahedron commented on 2021-04-21 13:44 (UTC)

@Elinvention I had the same problem as well, so I rewrote the PKGBUILD based on the official building instructions. Instead of the submodule trickery, you can simply git clone --recursive https://github.com/decaf-emu/decaf-emu.git, although it's considered bad practice to do this in PKGBUILD files.

Elinvention commented on 2021-04-18 16:56 (UTC)

I get this error:

fatal: git upload-pack: not our ref 4b796627ad0fa42640f5fdb96f23c4a0d9ee084f
fatal: remote error: upload-pack: not our ref 4b796627ad0fa42640f5fdb96f23c4a0d9ee084f
Fetched in submodule path 'libraries/gsl-lite', but it did not contain 4b796627ad0fa42640f5fdb96f23c4a0d9ee084f. Direct fetching of that commit failed.
==> ERROR: A failure occurred in prepare().
    Aborting...

m4thu commented on 2020-04-08 20:25 (UTC) (edited on 2020-04-08 20:26 (UTC) by m4thu)

I am getting a build error


/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/libgpu/src/vulkan/vulkan_display.cpp: In Funktion »std::tuple<vk::Device, unsigned int, vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceTransformFeedbackFeaturesEXT> vulkan::createDevice(vk::PhysicalDevice&, vk::SurfaceKHR&)«:
/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/libgpu/src/vulkan/vulkan_display.cpp:354:32: Fehler: ungültige Initialisierung einer Referenz des Typs »const string_view&« {aka »const std::basic_string_view<char>&«} von Ausdruck des Typs »vk::ArrayWrapper1D<char, 256>«
  354 |          if (iequals(name, ext.extensionName)) {
      |                            ~~~~^~~~~~~~~~~~~
In Datei, eingebunden von /home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/libgpu/src/vulkan/vulkan_display.cpp:11:
/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/./common/strutils.h:92:60: Anmerkung: bei Übergabe des Arguments 2 von »bool iequals(const string_view&, const string_view&)«
   92 | iequals(const std::string_view &a, const std::string_view &b)
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^
/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/libgpu/src/vulkan/vulkan_display.cpp:368:32: Fehler: ungültige Initialisierung einer Referenz des Typs »const string_view&« {aka »const std::basic_string_view<char>&«} von Ausdruck des Typs »vk::ArrayWrapper1D<char, 256>«
  368 |          if (iequals(name, ext.extensionName)) {
      |                            ~~~~^~~~~~~~~~~~~
In Datei, eingebunden von /home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/libgpu/src/vulkan/vulkan_display.cpp:11:
/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/src/./common/strutils.h:92:60: Anmerkung: bei Übergabe des Arguments 2 von »bool iequals(const string_view&, const string_view&)«
   92 | iequals(const std::string_view &a, const std::string_view &b)
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~^
make[2]: *** [src/libgpu/CMakeFiles/libgpu.dir/build.make:586: src/libgpu/CMakeFiles/libgpu.dir/src/vulkan/vulkan_display.cpp.o] Fehler 1
make[2]: Verzeichnis „/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/build“ wird verlassen
make[1]: *** [CMakeFiles/Makefile2:1074: src/libgpu/CMakeFiles/libgpu.dir/all] Fehler 2
make[1]: Verzeichnis „/home/chris/.cache/yay/decaf-emu-git/src/decaf-emu/build“ wird verlassen
make: *** [Makefile:147: all] Fehler 2
==> FEHLER: Ein Fehler geschah in build().
    Breche ab...
Error making: decaf-emu-git

Terence commented on 2020-01-05 16:55 (UTC)

@dnmodder Thank you very much! there is just an echo that I had for debugging that I forgot to remove but it's not a big deal.

dnmodder commented on 2020-01-05 16:02 (UTC)

@Terence done

Terence commented on 2019-12-30 23:58 (UTC) (edited on 2019-12-31 01:07 (UTC) by Terence)

I modified this PKGBUILD so that the submodules are checked out at the root as indicated by https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git_Submodules so you don't need to download them each time you do a clean build.

# Maintainer: Darvin Delgado <dnmodder@gmail.com>
# Contributor: Mesmer <mesmer@fisica.if.uff.br>
# Contributor: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
# Contributor: aldelaro5 <aldelaro5@gmail.com>

_pkgname='decaf-emu'
pkgname="${_pkgname}-git"
pkgver=r5066.9a2d4318
pkgrel=1
pkgdesc="An experimental open-source Nintendo Wii U emulator"
arch=('x86_64')
url="https://github.com/decaf-emu/decaf-emu"
license=('GPL3')
depends=('curl' 'ffmpeg' 'c-ares' 'openssl' 'qt5-base' 'qt5-svg' 'sdl2' 'vulkan-icd-loader' 'zlib')
makedepends=('cmake' 'c-ares' 'glslang' 'git' 'python' 'vulkan-validation-layers')
optdepends=('qt5-wayland: for Wayland support')
source=("git+$url"
        "qtads::git+https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System"
        "catch::git+https://github.com/catchorg/Catch2"
        "addrlib::git+https://github.com/decaf-emu/addrlib"
        "cereal::git+https://github.com/USCiLab/cereal"
        "cnl::git+https://github.com/johnmcfarlane/cnl"
        "cpp-peglib::git+https://github.com/yhirose/cpp-peglib"
        "cpptoml::git+https://github.com/skystrife/cpptoml"
        "excmd::git+https://github.com/exjam/excmd"
        "fmt::git+https://github.com/fmtlib/fmt"
        "glslang::git+https://github.com/KhronosGroup/glslang"
        "gsl-lite::git+https://github.com/decaf-emu/gsl-lite"
        "imgui::git+https://github.com/ocornut/imgui"
        "libbinrec::git+https://github.com/decaf-emu/libbinrec"
        "ovsocket::git+https://github.com/exjam/ovsocket"
        "pugixml::git+https://github.com/zeux/pugixml"
        "spdlog::git+https://github.com/gabime/spdlog"
        )
md5sums=('SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP')


pkgver() {
    cd "$srcdir/$_pkgname"

    echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
}

prepare() {
    cd "$srcdir/$_pkgname"

    git submodule init
    for mod_url in ${source[@]:1}
    do
      mod_name=${mod_url%%:*}
    echo $mod_name
      git config submodule.libraries/$mod_name.url $srcdir/$mod_name
    done

    git submodule update
}

build() {
    cd "$srcdir/$_pkgname"

    mkdir -p build && cd build
    cmake .. \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release \
        -DDECAF_QT=ON
    make
}

package() {
    cd "$srcdir/$_pkgname/build"

    make DESTDIR="$pkgdir" install
}