mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
156 lines
5.2 KiB
Plaintext
156 lines
5.2 KiB
Plaintext
# Contributor: psykose <alice@ayaya.dev>
|
|
# Maintainer: psykose <alice@ayaya.dev>
|
|
pkgname=pcsx2
|
|
pkgver=1.7.4477
|
|
pkgrel=0
|
|
_fastfloat=v4.0.0
|
|
_glslang=11.12.0
|
|
_gtest=v1.13.0
|
|
_libchdr=3c6e0e47a06ed42b2c04dbd82bc9c8d253c7d1ee
|
|
_rcheevos=v10.7.0
|
|
pkgdesc="Playstation 2 emulator"
|
|
url="https://github.com/PCSX2/pcsx2"
|
|
arch="x86_64" # only x86_64 supported for now
|
|
license="GPL-3.0-or-later AND LGPL-3.0-or-later"
|
|
# for some reason they added a bunch of dlopen spaghetti instead of linking to
|
|
# this. why?
|
|
depends="
|
|
ffmpeg-libavcodec
|
|
ffmpeg-libavformat
|
|
ffmpeg-libavutil
|
|
ffmpeg-libswscale
|
|
ffmpeg-libswresample
|
|
"
|
|
makedepends="
|
|
alsa-lib-dev
|
|
clang
|
|
cmake
|
|
curl-dev
|
|
eudev-dev
|
|
ffmpeg-dev
|
|
fmt-dev
|
|
glslang-dev
|
|
libaio-dev
|
|
libpcap-dev
|
|
libpng-dev
|
|
libzip-dev
|
|
lld
|
|
llvm
|
|
pulseaudio-dev
|
|
qt6-qtbase-dev
|
|
qt6-qttools-dev
|
|
rapidyaml-dev
|
|
samurai
|
|
sdl2-dev
|
|
soundtouch-dev
|
|
vulkan-headers
|
|
vulkan-loader-dev
|
|
wayland-dev
|
|
zstd-dev
|
|
"
|
|
checkdepends="perl"
|
|
source="https://github.com/PCSX2/pcsx2/archive/refs/tags/v$pkgver/pcsx2-v$pkgver.tar.gz
|
|
fastfloat-$_fastfloat.tar.gz::https://github.com/fastfloat/fast_float/archive/$_fastfloat.tar.gz
|
|
glslang-$_glslang.tar.gz::https://github.com/KhronosGroup/glslang/archive/$_glslang.tar.gz
|
|
gtest-$_gtest.tar.gz::https://github.com/google/googletest/archive/$_gtest.tar.gz
|
|
libchdr-$_libchdr.tar.gz::https://github.com/rtissera/libchdr/archive/$_libchdr.tar.gz
|
|
rcheevos-$_rcheevos.tar.gz::https://github.com/RetroAchievements/rcheevos/archive/$_rcheevos.tar.gz
|
|
fast-float.patch
|
|
fix-lfs64.patch
|
|
unbundle-vulkan.patch
|
|
version.patch
|
|
zstd.patch
|
|
|
|
PCSX2.desktop
|
|
"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
rmdir 3rdparty/glslang/glslang
|
|
rmdir 3rdparty/gtest
|
|
rmdir 3rdparty/libchdr/libchdr
|
|
rmdir 3rdparty/rcheevos/rcheevos
|
|
|
|
rm -r 3rdparty/ffmpeg
|
|
|
|
ln -sfv "$srcdir"/glslang-${_glslang/v/} \
|
|
"$builddir"/3rdparty/glslang/glslang
|
|
ln -sfv "$srcdir"/googletest-${_gtest/v/} \
|
|
"$builddir"/3rdparty/gtest
|
|
ln -sfv "$srcdir"/libchdr-$_libchdr \
|
|
"$builddir"/3rdparty/libchdr/libchdr
|
|
ln -sfv "$srcdir"/rcheevos-${_rcheevos/v/} \
|
|
"$builddir"/3rdparty/rcheevos/rcheevos
|
|
|
|
ln -sfv "$srcdir"/fast_float-${_fastfloat/v/} \
|
|
"$builddir"/3rdparty/fast_float
|
|
|
|
sed -i \
|
|
-e "s|@@VERSION@@|$pkgver|g" \
|
|
-e "s|@@PKGREL@@|$pkgrel|g" \
|
|
cmake/Pcsx2Utils.cmake
|
|
}
|
|
|
|
build() {
|
|
export CC=clang
|
|
export CXX=clang++
|
|
export CFLAGS="$CFLAGS -flto=thin"
|
|
export CXXFLAGS="$CXXFLAGS -flto=thin -Wno-macro-redefined"
|
|
export LDFLAGS="$LDFLAGS -fuse-ld=lld -Wl,--icf=safe,--gc-sections"
|
|
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DDISABLE_ADVANCE_SIMD=ON \
|
|
-DDISABLE_BUILD_DATE=ON \
|
|
-DENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
|
|
-DCUBEB_API=ON \
|
|
-DUSE_ACHIEVEMENTS=ON \
|
|
-DUSE_DISCORD_PRESENCE=OFF \
|
|
-DUSE_SYSTEM_LIBS=ON \
|
|
-DUSE_VTUNE=OFF \
|
|
-DUSE_VULKAN=ON \
|
|
-DQT_BUILD=ON \
|
|
-DWAYLAND_API=ON \
|
|
-DX11_API=ON
|
|
|
|
cmake --build build --target all "$(want_check && echo unittests)"
|
|
}
|
|
|
|
check() {
|
|
ctest --test-dir build/tests/ctest --output-on-failure
|
|
}
|
|
|
|
package() {
|
|
install -Dm644 bin/resources/icons/AppIconLarge.png \
|
|
"$pkgdir"/usr/share/icons/hicolor/256x256/apps/PCSX2.png
|
|
install -Dm644 "$srcdir"/PCSX2.desktop \
|
|
-t "$pkgdir"/usr/share/applications/
|
|
|
|
mkdir -p "$pkgdir"/usr/lib/
|
|
|
|
rm build/bin/*test*
|
|
cp -a build/bin "$pkgdir"/usr/lib/PCSX2
|
|
|
|
install -Dm755 /dev/stdin "$pkgdir"/usr/bin/pcsx2 <<-EOF
|
|
#!/bin/sh
|
|
exec /usr/lib/PCSX2/pcsx2-qt "\$@"
|
|
EOF
|
|
}
|
|
|
|
sha512sums="
|
|
108032779d3d84a90e81bb1bc4a939684edc7c2837ee8fc48da097343104429efe7cd61d5a9848bfa67228f2123a5c7db3bc525367f0b7ee95b517dc0ef131c1 pcsx2-v1.7.4477.tar.gz
|
|
e3a1941364413f008d4bff190df45f95d7100263e57e714a907dba85b705fd19dcd34ac6db3fc332e5232fd4b67442542f2344a81d296ef04282e3d615dfe0fb fastfloat-v4.0.0.tar.gz
|
|
fd955f9912551668056dfe52835eef11e5dc0bf0d25b2d961a31f684adbd63bc6380759944c1921cfd63d359a58c7cc3a4a4d5eea69fa1b050f58960e5101271 glslang-11.12.0.tar.gz
|
|
70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e gtest-v1.13.0.tar.gz
|
|
48f6c4a53ea610857af49d89513e92f0858fe1c4867a9772470062ddb6369f4c55ecb6d29151249ab5e165948b84a9d66a5cefc9792c049ba1d482736df64e83 libchdr-3c6e0e47a06ed42b2c04dbd82bc9c8d253c7d1ee.tar.gz
|
|
b4947e6f3fe4d74b7bc91637b6b02ed8a69791e4d1d9fcd84fa96da1cee6c61888a96940965f252331a1dda7da93c13e27d7a60b92b837e5cff68b4668ab9ee4 rcheevos-v10.7.0.tar.gz
|
|
20624d3e46b956a5f0339b569891824b7a9321f4395c572393d42f7520d93b30b6e6bb8af90b5d6c52cbcaf2d82eb386bec3943532c5f1d8303c8b50938cd89b fast-float.patch
|
|
e6e7964e36274372c3b9c67acd66a29b8ae7f4be1503959deb8284d427cddb5ea5bb534aad35f53073e8983bcb319d90b1127fe5dd6b8bd6bb1f3f8f306fcf0c fix-lfs64.patch
|
|
461f184cc3b5c76539247db66fb0a364edbddc3d434869ff1641e723c6d962115cfa190be5e95205f31108ed47be0db6abf54c92d9875589ac978e73a29a379c unbundle-vulkan.patch
|
|
113f0e80c7975985d65c90acd2b4c9a4487d0c9f240178500feac512808b836d6ae36343895a4ef4f16d91364eeee4f0a3aa4ecc17708facdaf0cb430b5e9a71 version.patch
|
|
6e2b383c9e4dddb253258229c4afb5740970244fb2eaeaabe27508f8a76ffbcece02858d67f52aee695b1a9507cd3415c53096060678783e138f4d4d52ccbcc4 zstd.patch
|
|
bdc23c2773e1b963b06c0a51e3685b0a86db7dfe5cb2dd3e0cad4dd6f72aab2abef7eb421c8fb0f5303fae5c7ffb265eaa3a6e470998943aed54527bbb4d676c PCSX2.desktop
|
|
"
|