summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJeremy Kescher2022-10-15 22:01:00 +0200
committerJeremy Kescher2022-10-15 22:01:05 +0200
commit88db93c8671856964b35308046bf015ee3f7712a (patch)
tree3f21597bcaea554a40ef2b81dd617cd30e82ba01 /PKGBUILD
parent3ddbf2ba98aa4436de8741f6ece013eac00da0a0 (diff)
downloadaur-88db93c8671856964b35308046bf015ee3f7712a.tar.gz
Update to upstream tag v2.0-7
Patches updated too
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD95
1 files changed, 42 insertions, 53 deletions
diff --git a/PKGBUILD b/PKGBUILD
index a8887a6828cc..21effe1699e0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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