Package Details: cemu-git 2.5.r14.geab1b243-1

Git Clone URL: https://aur.archlinux.org/cemu-git.git (read-only, click to copy)
Package Base: cemu-git
Description: Nintendo Wii U emulator
Upstream URL: https://cemu.info/
Keywords: console emulation emulator game nintendo
Licenses: MPL-2.0
Conflicts: cemu
Provides: cemu
Submitter: abouvier
Maintainer: abouvier
Last Packager: abouvier
Votes: 12
Popularity: 0.152132
First Submitted: 2022-08-27 04:24 (UTC)
Last Updated: 2025-01-14 06:01 (UTC)

Required by (1)

Sources (2)

Pinned Comments

abouvier commented on 2022-10-12 17:50 (UTC)

Data and config files previously stored in ~/.local/share/cemu are now searched in ~/.config/Cemu, ~/.local/share/Cemu and ~/.cache/Cemu.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 Next › Last »

Neko-san commented on 2023-07-30 06:21 (UTC) (edited on 2023-07-30 06:51 (UTC) by Neko-san)

(@abouvier we can use these edits to make Cemu build-able again until the libfmt issue gets worked out)

Some the depends/makedepends I included were missing and are actually listed as necessary dependencies upstream:

https://github.com/cemu-project/Cemu/blob/main/BUILD.md#for-arch-and-derivatives

depends=(
    'discord-rpc'
    'freeglut'
    'gcc-libs'
    'glibc'
    'hicolor-icon-theme'
    'libc++abi'
    'libpulse'
    'libx11'
    'pugixml'
    'sdl2'
    'systemd'
    'wxwidgets-gtk3>=3.2'
    'zlib'
)
makedepends=(
    'boost'
    'clang'
    'cmake>=3.21.1'
    'cubeb'
    'curl'
#   'fmt>=9.1'
    'git'
    'glib2'
    'glm'
    'glslang'
    'glu'
    'gtk3'
    'libgcrypt'
    'libgl'
    'libpng'
    'libsecret'
    'libzip'
    'llvm'
    'nasm'
    'openssl'
    'rapidjson'
    'tar'
    'unzip'
    'vulkan-headers>=1:1.3.225'
    'wayland'
    'wayland-protocols'
    'zarchive>=0.1.2'
    'zip'
    'zstd'
)

Need to pull all the submodules or vcpkg will get mad (you might be able to refactor it to include everything besides fmt? Probably not)

prepare() {
    cd $_pkgname
    git config submodule.dependencies/imgui.url ../imgui
    git -c protocol.file.allow=always submodule update --init --recursive
    rm -r bin/shaderCache
    sed -i '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt
    sed -i '/discord-rpc/d' CMakeLists.txt
    sed -i '/FMT_HEADER_ONLY/d' src/Common/precompiled.h
    sed -i 's/glm::glm/glm/' src/{Common,input}/CMakeLists.txt
}

The if-check to both start using vcpkg and better account for using clang+LLVM if users have set clang in makepkg.conf

    if [ "${CC} = "gcc" ] || [ "${CC} = "/usr/bin/gcc" ]; then
        cmake -S $_pkgname -B build \
            -DCMAKE_C_COMPILER="${CC}" \
            -DCMAKE_CXX_COMPILER="/usr/bin/g++" \
            -DCMAKE_BUILD_TYPE=Release \
            -DCMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG" \
            -DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG" \
            -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
            -DCMAKE_MAKE_PROGRAM="make" \
            -DPORTABLE=OFF \
            -Wno-dev
        cmake --build build
    elif [ "${CC} = "clang" ] || [ "${CC} = "/usr/bin/clang" ]; then
        cmake -S $_pkgname -B build \
            -DCMAKE_BUILD_TYPE=Release \
            -DCMAKE_C_COMPILER="${CC}" \
            -DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
            -DCMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG" \
            -DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG" \
            -DCMAKE_EXE_LINKER_FLAGS="-lc++abi ${LDFLAGS}" \
            -DCMAKE_AR="/usr/bin/llvm-ar" \
            -DCMAKE_NM="/usr/bin/llvm-nm" \
            -DCMAKE_AS="/usr/bin/llvm-as" \
            -DCMAKE_RANLIB="/usr/bin/llvm-ranlib" \
            -DCMAKE_OBJCOPY="/usr/bin/llvm-objcopy" \
            -DCMAKE_MAKE_PROGRAM="make" \
            -DPORTABLE=OFF \
            -Wno-dev
        cmake --build build
    fi

queenbiscuit311 commented on 2023-07-29 05:01 (UTC)

The fmt build error might be related to the update to fmt on the arch repos from yesterday. I can't update my packages because this and two other emulators require the previous version, that might be why but I'm not sure.

Neko-san commented on 2023-07-28 20:14 (UTC) (edited on 2023-07-28 21:07 (UTC) by Neko-san)

There appears to be a build error connected to CubebInputAPI.cpp that might be connected to a core.h header error with the fmt package:

[ 24%] Building CXX object src/audio/CMakeFiles/CemuAudio.dir/CubebInputAPI.cpp.o
In file included from <built-in>:508:
In file included from /build/cemu-git/src/build/src/audio/CMakeFiles/CemuAudio.dir/cmake_pch.hxx:5:
In file included from /build/cemu-git/src/cemu/src/Common/precompiled.h:9:
/usr/include/fmt/core.h:2561:10: error: call to deleted constructor of 'formatter<mapped_type, char_type>' (aka 'formatter<IAudioInputAPI::AudioInputAPI, char>')
  return formatter<mapped_type, char_type>().parse(ctx);
         ^
/usr/include/fmt/core.h:2620:23: note: in instantiation of function template specialization 'fmt::detail::parse_format_specs<IAudioInputAPI::AudioInputAPI, fmt::detail::compile_parse_context<char>>' requested here
        parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
                      ^
/usr/include/fmt/core.h:2769:47: note: in instantiation of member function 'fmt::detail::format_string_checker<char, IAudioInputAPI::AudioInputAPI>::format_string_checker' requested here
      detail::parse_format_string<true>(str_, checker(s));
                                              ^
/build/cemu-git/src/cemu/src/audio/IAudioInputAPI.cpp:54:40: note: in instantiation of function template specialization 'fmt::basic_format_string<char, IAudioInputAPI::AudioInputAPI &>::basic_format_string<char[22], 0>' requested here
                throw std::runtime_error(fmt::format("invalid audio api: {}", api));
                                                     ^
/usr/include/fmt/core.h:792:3: note: 'formatter' has been explicitly marked deleted here
  formatter() = delete;
  ^
/usr/include/fmt/core.h:1690:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/include/fmt/core.h:1711:10: note: in instantiation of function template specialization 'fmt::detail::make_value<fmt::basic_format_context<fmt::appender, char>, IAudioInputAPI::AudioInputAPI &>' requested here
  return make_value<Context>(val);
         ^
/usr/include/fmt/core.h:1825:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, fmt::detail::type::custom_type, IAudioInputAPI::AudioInputAPI &, 0>' requested here
        data_{detail::make_arg<
                      ^
/usr/include/fmt/core.h:1844:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, IAudioInputAPI::AudioInputAPI>::format_arg_store<IAudioInputAPI::AudioInputAPI &>' requested here
  return {FMT_FORWARD(args)...};
         ^
/usr/include/fmt/core.h:2817:28: note: in instantiation of function template specialization 'fmt::make_format_args<fmt::basic_format_context<fmt::appender, char>, IAudioInputAPI::AudioInputAPI &>' requested here
  return vformat(fmt, fmt::make_format_args(args...));
                           ^
/build/cemu-git/src/cemu/src/audio/IAudioInputAPI.cpp:54:33: note: in instantiation of function template specialization 'fmt::format<IAudioInputAPI::AudioInputAPI &>' requested here
                throw std::runtime_error(fmt::format("invalid audio api: {}", api));
                                              ^
2 errors generated.
make[2]: *** [src/audio/CMakeFiles/CemuAudio.dir/build.make:109: src/audio/CMakeFiles/CemuAudio.dir/IAudioInputAPI.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from <built-in>:508:
In file included from /build/cemu-git/src/build/src/audio/CMakeFiles/CemuAudio.dir/cmake_pch.hxx:5:
In file included from /build/cemu-git/src/cemu/src/audio/../Common/precompiled.h:9:
/usr/include/fmt/core.h:2561:10: error: call to deleted constructor of 'formatter<mapped_type, char_type>' (aka 'formatter<IAudioAPI::AudioAPI, char>')
  return formatter<mapped_type, char_type>().parse(ctx);
         ^
/usr/include/fmt/core.h:2620:23: note: in instantiation of function template specialization 'fmt::detail::parse_format_specs<IAudioAPI::AudioAPI, fmt::detail::compile_parse_context<char>>' requested here
        parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
                      ^
/usr/include/fmt/core.h:2769:47: note: in instantiation of member function 'fmt::detail::format_string_checker<char, IAudioAPI::AudioAPI>::format_string_checker' requested here
      detail::parse_format_string<true>(str_, checker(s));
                                              ^
/build/cemu-git/src/cemu/src/audio/IAudioAPI.cpp:134:40: note: in instantiation of function template specialization 'fmt::basic_format_string<char, IAudioAPI::AudioAPI &>::basic_format_string<char[22], 0>' requested here
                throw std::runtime_error(fmt::format("invalid audio api: {}", api));
                                                     ^
/usr/include/fmt/core.h:792:3: note: 'formatter' has been explicitly marked deleted here
  formatter() = delete;
  ^
/usr/include/fmt/core.h:1690:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/include/fmt/core.h:1711:10: note: in instantiation of function template specialization 'fmt::detail::make_value<fmt::basic_format_context<fmt::appender, char>, IAudioAPI::AudioAPI &>' requested here
  return make_value<Context>(val);
         ^
/usr/include/fmt/core.h:1825:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, fmt::detail::type::custom_type, IAudioAPI::AudioAPI &, 0>' requested here
        data_{detail::make_arg<
                      ^
/usr/include/fmt/core.h:1844:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, IAudioAPI::AudioAPI>::format_arg_store<IAudioAPI::AudioAPI &>' requested here
  return {FMT_FORWARD(args)...};
         ^
/usr/include/fmt/core.h:2817:28: note: in instantiation of function template specialization 'fmt::make_format_args<fmt::basic_format_context<fmt::appender, char>, IAudioAPI::AudioAPI &>' requested here
  return vformat(fmt, fmt::make_format_args(args...));
                           ^
/build/cemu-git/src/cemu/src/audio/IAudioAPI.cpp:134:33: note: in instantiation of function template specialization 'fmt::format<IAudioAPI::AudioAPI &>' requested here
                throw std::runtime_error(fmt::format("invalid audio api: {}", api));
                                              ^
2 errors generated.
make[2]: *** [src/audio/CMakeFiles/CemuAudio.dir/build.make:93: src/audio/CMakeFiles/CemuAudio.dir/IAudioAPI.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:593: src/audio/CMakeFiles/CemuAudio.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Also mentioned this upstream: https://github.com/cemu-project/Cemu/issues/919

Martchus commented on 2023-01-23 16:38 (UTC)

@modnoob Just rebuild. This "soname" dependency is automatically determined during the build. There's no change to the PKGBUILD file itself required.

modnoob commented on 2023-01-23 15:31 (UTC)

The build fails with: :: unable to satisfy dependency 'libboost_filesystem.so=1.80.0-64' required by cemu-git :: unable to satisfy dependency 'libboost_program_options.so=1.80.0-64' required by cemu-git Time to change some of the dependencys I would guess.

abouvier commented on 2022-12-16 02:34 (UTC)

Oops, I deleted and recloned the cemu repo and now I get the same result as you. The local config of the old repo was probably messed up.

I added --abbrev for nothing it seems :$

patlefort commented on 2022-12-15 23:52 (UTC)

Sorry but no, I tested on many machines with different distro, same result. None of them have anything special, very vanilla.

git describe --long --tags always result in v2.0-22-0-g058d11b.

In any case, adding --abbrev solve the issue.

abouvier commented on 2022-12-15 23:27 (UTC)

I get the same pkgver value (i.e. 2.0.22.r0.g058d11b4) with or without --abbrev=8. There is definitely something weird with your git installation :p

patlefort commented on 2022-12-15 22:18 (UTC)

Same issue as last time. I really think your git command should have --abbrev=8 so that it's consistent for everyone. Something is setting yours to 9 characters instead of 8.