diff options
author | Jeremy Kescher | 2022-10-15 22:01:00 +0200 |
---|---|---|
committer | Jeremy Kescher | 2022-10-15 22:01:05 +0200 |
commit | 88db93c8671856964b35308046bf015ee3f7712a (patch) | |
tree | 3f21597bcaea554a40ef2b81dd617cd30e82ba01 /PKGBUILD | |
parent | 3ddbf2ba98aa4436de8741f6ece013eac00da0a0 (diff) | |
download | aur-88db93c8671856964b35308046bf015ee3f7712a.tar.gz |
Update to upstream tag v2.0-7
Patches updated too
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 95 |
1 files changed, 42 insertions, 53 deletions
@@ -1,7 +1,9 @@ -# Maintainer: Anuskuss <anuskuss@googlemail.com> +# Maintainer: Jeremy Kescher <jeremy@kescher.at> +# Contributor, Maintainer prior to 2022-09-20: Anuskuss <anuskuss@googlemail.com> + pkgname=cemu -pkgver=2.0.144 -pkgrel=2 +pkgver=2.0.182 +pkgrel=1 pkgdesc='Software to emulate Wii U games and applications on PC (with cutting edge Linux patches)' arch=(x86_64) url=https://cemu.info @@ -11,8 +13,7 @@ depends=( 'fmt>=9.1' 'sdl2>=2.0.22' 'pugixml>=1.12.1' 'libzip>=1.9.2' 'libpng>=1.6.37' 'wxwidgets-gtk3>=3.2' ) makedepends=( - # pkgbuild - git 'cmake>=3.21.1' make + git 'cmake>=3.21.1' # clang $([[ $CC+$CXX == *clang* ]] && echo 'clang>=12 llvm>=12') # unbundled vcpkg @@ -21,19 +22,19 @@ makedepends=( nasm 'vulkan-headers>=1.3.225' # wxwidgets glu + # cubeb optional + libpulse ) optdepends=( + 'alsa-lib: Audio output' 'vulkan-driver: Vulkan graphics' ) install=cemu.install source=( - git+https://github.com/cemu-project/Cemu#commit=7864d76ecaff3ce500c6d3f09910fbb24027efd7 - # dependencies - imgui-1.88.tar.gz::https://github.com/ocornut/imgui/archive/refs/tags/v1.88.tar.gz - imgui.cmake::https://raw.githubusercontent.com/microsoft/vcpkg/1b0252c/ports/imgui/CMakeLists.txt - imgui.conf::https://raw.githubusercontent.com/microsoft/vcpkg/1b0252c/ports/imgui/imgui-config.cmake.in + git+https://github.com/cemu-project/Cemu#commit=ada8bbb3b49622e19deccb7358b1c804a766baab # submodules git+https://github.com/mozilla/cubeb#commit=dc511c6b3597b6384d28949285b9289e009830ea + git+https://github.com/ocornut/imgui#commit=8a44c31c95c8e0217f6e1fc814cbbbcca4981f14 # git+https://github.com/microsoft/vcpkg#commit=1b0252ca70ca2244a711535462c7f981eb439e83 # git+https://github.com/KhronosGroup/Vulkan-Headers#commit=715673702f5b18ffb8e5832e67cf731468d32ac6 git+https://github.com/Exzap/ZArchive#commit=d2c717730092c7bf8cbb033b12fd4001b7c4d932 @@ -41,25 +42,19 @@ source=( git+https://github.com/arsenm/sanitizers-cmake#commit=aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a git+https://github.com/google/googletest#commit=800f5422ac9d9e0ad59cd860a2ef3a679588acb4 # patches - xdg.diff # 00dbe939f29c6fa6670a6f71946e52b520d51033 - overlay.diff # edeb14d4c68ee8bf500b990b13079177e01c25f1 - gamelist.diff # 182b40d38964a4c296127c5eb4497b5cccc01802 + overlay.diff # 6aa7a0c7b2003f625bfecd64f6143a10605234b2 mic.diff # 5231a71527cb57ea79b1b2ab9e4d7247d9141dd1 + crc.diff # f0938e1a23f6cdd03bfd1e21d84f2c0f65aeb45f ) -sha256sums=( - SKIP - 9f14c788aee15b777051e48f868c5d4d959bd679fc5050e3d2a29de80d8fd32e - 262faed507149c89aab7572fd2c2a968f843ca2900043e30a9c339735ed08a8f - 91528f60cca93d3bce042d2ac16a63169025ec25a34453b49803126ed19153ae - SKIP - SKIP - SKIP - SKIP - 31c7df4abb5261c5290bc6c6972a69a6fce3f89c3a80c0224c2e5274bc00e46f - f25d13fe76cc6a0b475f0131211a951288160ddae92cd7a815f5aea61d7cfc0f - 00a8b51434c45f595b54b3d317719cd36955ce36dcb246c796eabfd3d3967ed1 - afcebfb585d9a2495bb905ad716ef09a48f881e5597d859dd8a88d1dbf76c63f -) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'f25d13fe76cc6a0b475f0131211a951288160ddae92cd7a815f5aea61d7cfc0f' + '46992c822e75dc60e1b07162a6a3f502aed6cea4605f29c9038c442f7cb1869f' + '095b2d2882073c29405927bb3f00153c402de962affeb68878b6a752fb37ed5a') pkgver() { cd Cemu @@ -74,7 +69,7 @@ prepare() { sed -i "/#define EMULATOR_VERSION_MINOR/s/[0-9]\+/${pkgver##*.}/;s/-/./" src/Common/version.h # cemu submodules - for submodule in dependencies/{cubeb,ZArchive}; do + for submodule in dependencies/{cubeb,imgui,ZArchive}; do git config submodule.$submodule.url "file://$srcdir/${submodule##*/}" git submodule update --init $submodule done @@ -88,44 +83,39 @@ prepare() { # unbundled fmt sed -i '/FMT_HEADER_ONLY/d' src/Common/precompiled.h - # unbundled imgui - sed -i '/imgui/cadd_subdirectory(dependencies/imgui)' CMakeLists.txt - ln -srf "$srcdir/imgui-1.88" dependencies/imgui - ln -srf "$srcdir/imgui.cmake" dependencies/imgui/CMakeLists.txt - ln -srf "$srcdir/imgui.conf" dependencies/imgui/imgui-config.cmake.in - # cubeb fix sed -i '/find_package(cubeb)/d' CMakeLists.txt # glm fix sed -i 's/glm::glm/glm/' src/Common/CMakeLists.txt src/input/CMakeLists.txt - # glslang fix - sed -i 's/GLSLANG_VERSION_LESS/GLSLANG_VERSION_GREATER/' src/Cafe/HW/Latte/Renderer/Vulkan/RendererShaderVk.cpp - - # experimental: xdg base dir (https://github.com/cemu-project/Cemu/pull/130) - git apply "$srcdir/xdg.diff" - sed -i 's|gameProfiles/default|gameProfiles|' src/Cafe/GameProfile/GameProfile.cpp + # Dir names will be changed to "Cemu" in this package with 2.1 + # Needs notice in post_install() then + sed -i 's/GetAppName()/"cemu"/' src/gui/CemuApp.cpp + # The subdirectory "default" is incorrect in upstream + sed -i 's/gameProfiles\/default/gameProfiles/' src/Cafe/GameProfile/GameProfile.cpp # experimental: linux overlay (https://github.com/cemu-project/Cemu/pull/142) rm -rf src/util/SystemInfo git apply "$srcdir/overlay.diff" sed -i '/add_library/aSystemInfo/SystemInfo.cpp SystemInfo/SystemInfoLinux.cpp' src/util/CMakeLists.txt - # experimental: gamelist auto resize (https://github.com/cemu-project/Cemu/pull/214) - git apply "$srcdir/gamelist.diff" + # gamelist column width fix + sed -i '/InsertColumn/s/kListIconWidth/&+8/;/SetColumnWidth/s/last_col_width/&-1/' src/gui/components/wxGameList.cpp # experimental: microphone (https://github.com/cemu-project/Cemu/pull/251) rm -f src/audio/{Cubeb,IAudio}InputAPI.{cpp,h} git apply "$srcdir/mic.diff" + + # Fix CRC errors (graphics packs) (https://github.com/cemu-project/Cemu/pull/375) + git apply "$srcdir/crc.diff" } build() { # prefer clang (faster) if [[ $(clang --version 2> /dev/null | sed -E '1!d;s/^clang version ([0-9]+)\.[0-9]+\.[0-9]+$/\1/') -ge 12 ]] && [[ $(llvm-config --version 2> /dev/null | sed -E 's/^([0-9]+)\.[0-9]+\.[0-9]+$/\1/') -ge 12 ]]; then - [[ -z $CC ]] && export CC=$(which clang) - [[ -z $CXX ]] && export CXX=$(which clang++) + [[ -z $CC ]] && [[ -z $CXX ]] && export CC=$(which clang) && export CXX=$(which clang++) fi cd Cemu @@ -133,11 +123,10 @@ build() { cmake -B build \ $(which ninja &> /dev/null && echo '-G Ninja') \ -DCMAKE_CXX_FLAGS="$CXXFLAGS -w" -Wno-dev \ - -DSYSTEM_DATA_PATH=/opt/cemu \ -DENABLE_VCPKG=OFF \ - -DCMAKE_BUILD_TYPE=Release \ - -DPUBLIC_RELEASE=ON - $(which ninja 2> /dev/null || which make) -C build -j $(nproc) + -DPORTABLE=OFF \ + -DCMAKE_BUILD_TYPE=Release + $(which ninja 2> /dev/null || which make) -C build $([[ "$MAKEFLAGS" == *-j* ]] && echo "$MAKEFLAGS" || echo -j $(nproc)) } package() { @@ -147,15 +136,15 @@ package() { pushd bin/gameProfiles/default mv 000500001011000.ini 0005000010111000.ini for ini in *[A-Z]*; do mv $ini ${ini,,}; done - # install -Dm644 ../example.ini "$pkgdir/opt/cemu/gameProfiles/example.ini" - install -Dm644 * -t "$pkgdir/opt/cemu/gameProfiles" + # install -Dm644 ../example.ini "$pkgdir/usr/share/cemu/gameProfiles/example.ini" + install -Dm644 * -t "$pkgdir/usr/share/cemu/gameProfiles" popd - install -Dm644 bin/resources/sharedFonts/* -t "$pkgdir/opt/cemu/resources/sharedFonts" + install -Dm644 bin/resources/sharedFonts/* -t "$pkgdir/usr/share/cemu/resources/sharedFonts" for lang in {ca,de,es,fr,hu,it,ja,ko,nb,nl,pl,pt,ru,sv,tr,zh}; do - install -Dm644 bin/resources/$lang/cemu.mo "$pkgdir/opt/cemu/resources/$lang/cemu.mo" + install -Dm644 bin/resources/$lang/cemu.mo "$pkgdir/usr/share/cemu/resources/$lang/cemu.mo" done - # install -Dm644 bin/shaderCache/info.txt "$pkgdir/opt/cemu/shaderCache/info.txt" + # install -Dm644 bin/shaderCache/info.txt "$pkgdir/usr/share/cemu/shaderCache/info.txt" install -Dm644 src/resource/logo_icon.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/cemu.png" sed -i -e '/^Icon=/cIcon=cemu' -e '/^Exec=/cExec=env GDK_BACKEND=x11 cemu' dist/linux/info.cemu.Cemu.desktop |