I have the same issue as @araruna, the problem does not go away with a clean build.
Search Criteria
Package Details: pcsx2-git 2.3.10.r0.g5441c7ed59-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/pcsx2-git.git (read-only, click to copy) |
---|---|
Package Base: | pcsx2-git |
Description: | A Sony PlayStation 2 emulator |
Upstream URL: | https://github.com/PCSX2/pcsx2 |
Licenses: | GPL-3.0+ |
Conflicts: | pcsx2 |
Provides: | pcsx2 |
Submitter: | alucryd |
Maintainer: | weirdbeard (xiota) |
Last Packager: | weirdbeard |
Votes: | 130 |
Popularity: | 0.33 |
First Submitted: | 2014-03-26 14:17 (UTC) |
Last Updated: | 2024-11-08 23:36 (UTC) |
Dependencies (32)
- alsa-lib
- ffmpeg (ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-ffplayoutAUR, ffmpeg-amd-full-gitAUR, ffmpeg-cudaAUR, ffmpeg-full-gitAUR, ffmpeg-gitAUR, ffmpeg-libfdk_aacAUR, ffmpeg-fullAUR, ffmpeg-decklinkAUR, ffmpeg-headlessAUR, ffmpeg-obsAUR, ffmpeg-amd-fullAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libaio (libaio-gitAUR)
- libglvnd (libglvnd-gitAUR)
- libpcap (libpcap-gitAUR)
- libpng (libpng-gitAUR, libpng-apngAUR)
- libxrandr (libxrandr-gitAUR)
- lld (llvm-rocm-gitAUR, llvm-gitAUR)
- qt6-base (qt6-base-headlessAUR, qt6-base-gitAUR)
- qt6-svg
- sdl2 (sdl2-gitAUR, sdl2-compat-gitAUR)
- soundtouch (soundtouch-gitAUR)
- wayland (wayland-gitAUR, wayland-asan-gitAUR, wayland-chromiumAUR)
- xcb-util-cursor (xcb-util-cursor-gitAUR)
- ccache (ccache-gitAUR) (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- cmake (cmake-gitAUR) (make)
- extra-cmake-modules (extra-cmake-modules-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- libjpeg-turbo (mozjpeg-gitAUR, libjpeg-turbo-gitAUR, mozjpegAUR) (make)
- libpipewire (libpipewire-gitAUR, libpipewire-full-gitAUR) (make)
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR) (make)
- lld (llvm-rocm-gitAUR, llvm-gitAUR) (make)
- llvm (llvm-rocm-gitAUR, llvm-gitAUR, llvm-minimal-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR, ninja-jobserverAUR) (make)
- p7zip (p7zip-natspecAUR, p7zip-full-binAUR, 7-zip-fullAUR) (make)
- qt6-tools (make)
- qt6-wayland (make)
- libpipewire (libpipewire-gitAUR, libpipewire-full-gitAUR) (optional) – Pipewire support
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR) (optional) – Pulseaudio support
- qt6-wayland (optional) – Wayland support
Required by (3)
- libretro-pcsx2-launcher (requires pcsx2)
- libretro-pcsx2-launcher-git (requires pcsx2)
- pcsx2-plugin-usbqemu-wheel (requires pcsx2)
Sources (8)
- git+https://github.com/google/shaderc.git#tag=v2024.1
- git+https://github.com/ianlancetaylor/libbacktrace.git#commit=ad106d5fdd5d960bd33fae1c48a351af567fd075
- git+https://github.com/KhronosGroup/glslang.git#commit=142052fa30f9eca191aa9dcf65359fcaed09eeec
- git+https://github.com/KhronosGroup/SPIRV-Headers.git#commit=5e3ad389ee56fca27c9705d093ae5387ce404df4
- git+https://github.com/KhronosGroup/SPIRV-Tools.git#commit=dd4b663e13c07fea4fbb3f70c1c91c86731099f7
- git+https://github.com/PCSX2/pcsx2.git
- git+https://github.com/PCSX2/pcsx2_patches.git
- ShaderName.patch
Latest Comments
« First ‹ Previous 1 .. 9 10 11 12 13 14 15 16 17 18 19 .. 66 Next › Last »
drcrinkle commented on 2023-04-11 05:17 (UTC)
weirdbeard commented on 2023-03-30 18:49 (UTC)
Does it fix if you clear the cache and start from a clean build?
araruna commented on 2023-03-30 18:09 (UTC)
I'm getting an error while trying to update this package to the last version. (Messages are in pt-BR)
==> Validando source arquivos com b2sums...
pcsx2 ... Ignorada
pcsx2_patches ... Ignorada
xz-pcsx2 ... Ignorada
googletest ... Ignorada
fmt ... Ignorada
libchdr ... Ignorada
rapidyaml ... Ignorada
cmake ... Ignorada
c4core ... Ignorada
debugbreak ... Ignorada
fast_float ... Ignorada
glslang ... Ignorada
vulkan-headers ... Ignorada
libzip ... Ignorada
zstd ... Ignorada
rcheevos ... Ignorada
pcsx2-qt.sh ... FALHOU
==> ERRO: Um ou mais arquivos não passaram na verificação de validade!
erro: falha ao baixar fontes para 'pcsx2-git-1.7.4275.r0.g66a13d4c3-1':
loathingkernel commented on 2023-03-24 14:50 (UTC)
Cheats are already separate as in, if you just build pcsx2 on its lonesome you won't have cheats.
I see that but that repo is unversioned which will cause issues with pulling the proper release in. But I guess it's minor and either solution is workable tbh.
Renaming sources will actually fix an issue with Vulkan-Headers and any like packages that when cloned do not share the naming scheme of PCSX2's expected submodule that's where overlapping can happen
That's what the source_name::internal_folder_name
structure is for in the comment below. The source will be looked up by the first part and the internal submodule path by the second part. I know this is a becoming a whole lot right now, but I have had these issues before with my own packages and trying to satisfy conflicting requirements.
weirdbeard commented on 2023-03-24 14:40 (UTC) (edited on 2023-03-24 14:40 (UTC) by weirdbeard)
Cheats are already separate as in, if you just build pcsx2 on its lonesome you won't have cheats.
They keep them in a separate repo that gets its own pushes and pulls.
Having a package in itself respects that modularity because it becomes the packager/user's choice to install them.
Renaming sources will actually fix an issue with Vulkan-Headers and any like packages that when cloned do not share the naming scheme of PCSX2's expected submodule that's where overlapping can happen
loathingkernel commented on 2023-03-24 14:20 (UTC) (edited on 2023-03-24 14:21 (UTC) by loathingkernel)
@eclairevoyant I have a few questions on your points
remove cheats from install file (cheats should be a separate package)
Why should it be a separate package?
rename sources to make them easier to use in the submodule for-loop
well, the point is that those sources should also be shareable with other packages though SRCDEST, so using the original repository name should be the default if the source is the upstream and not a fork.
rename the install file to something unique to prevent overlapping with other packages
I don't see how overlapping could happen, but this is a good suggestion in general and historically what is being done.
loathingkernel commented on 2023-03-24 14:06 (UTC) (edited on 2023-03-24 15:47 (UTC) by loathingkernel)
I have the complete PKGBUILD that I sent to @weirdbeard here https://github.com/loathingKernel/PKGBUILDs/tree/master/aur/pcsx2-git
In the same email I justified my reasoning around some choices, I will just copy the relevant parts here too
So I looked through the PKGBUILD and the build process itself. Since everything is included as a submodule, I have also reduced the dependencies. I am building everything is a clean chroot to verify the deps. I will comment and document some things below.
Dependencies: This is what namcap
has to say about the original package
pcsx2-git W: Unused shared library '/usr/lib64/ld-linux-x86-64.so.2' by file ('opt/pcsx2/pcsx2-qt')
pcsx2-git E: Dependency qt6-wayland specified in both depends and optdepends
pcsx2-git W: Dependency systemd-libs detected and implicitly satisfied (libraries ['usr/lib/libudev.so.1'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency gcc-libs detected and implicitly satisfied (libraries ['usr/lib/libstdc++.so.6', 'usr/lib/libgcc_s.so.1'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency hicolor-icon-theme detected and implicitly satisfied (needed for hicolor theme hierarchy)
pcsx2-git W: Dependency libpng detected and implicitly satisfied (libraries ['usr/lib/libpng16.so.16'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency libxrandr detected and implicitly satisfied (libraries ['usr/lib/libXrandr.so.2'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency curl detected and implicitly satisfied (libraries ['usr/lib/libcurl.so.4'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency zlib detected and implicitly satisfied (libraries ['usr/lib/libz.so.1'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency xz detected and implicitly satisfied (libraries ['usr/lib/liblzma.so.5'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency glibc detected and implicitly satisfied (libraries ['usr/lib/libc.so.6', 'usr/lib/ld-linux-x86-64.so.2', 'usr/lib/libm.so.6'] needed in files ['opt/pcsx2/pcsx2-qt'])
pcsx2-git W: Dependency included, but may not needed ('libjpeg-turbo')
pcsx2-git W: Dependency included, but may not needed ('libzip')
pcsx2-git W: Dependency included, but may not needed ('xorg-xrandr')
pcsx2-git W: Dependency included, but may not needed ('libxrender')
pcsx2-git W: Dependency included, but may not needed ('linux-api-headers')
pcsx2-git W: Dependency included, but may not needed ('libpulse')
pcsx2-git W: Dependency included, but may not needed ('ffmpeg')
pcsx2-git W: Dependency included, but may not needed ('portaudio')
pcsx2-git W: Dependency included, but may not needed ('libsamplerate')
pcsx2-git W: Dependency included, but may not needed ('qt6-wayland')
pcsx2-git W: Dependency included, but may not needed ('qt6-tools')
pcsx2-git W: Dependency included, but may not needed ('qt6-svg')
pcsx2-git W: Dependency included, but may not needed ('wayland')
pcsx2-git W: Dependency included, but may not needed ('zstd')
capabilities are also now removed when the package is removed
Some notable things:
-
qt6-tools
is a large package that it is not required at runtime and it was moved tomakedepends
. -
qt6-wayland
moved tomakedepends
and alsooptdepends
-
libgl
replaced withlibglvnd
,xorg-xrandr
with itslibxrandr
library,xorgproto
is pulled in byqt6-base
-
Any packages mentioned below that are handled by submodules have been removed from the dependencies
-
libpulse
has been replaced byalsa-lib
for basic audio, andlibpulse
is moved tomakedepends
andoptdepends
-
some implicit deps that are not part of the
base
meta-package or its deps were made explicit, The list is [hicolor-icon-theme
,libxrandr
,libpng
] -
I have left a few of the dependencies in there as comments for future reference since I am unsure, they don't seem to be used or are implicit. The list is [
libjpeg-turbo
,libxrenderer
,linux-api-headers
,portaudio
,libsamplerate
] -
swig
andpython
makedepends
seem to be unused,vulkan-headers
is a submodule
Patches: I have removed them. The reasoning is the added maintenance burden and that I have implemented a different solution for the directory structure.
I am installing the package under /opt/pcsx2
with resources
and cheats*.zip
inside resources
, all under the same directory. This is mostly static data as far as I can tell and it doesn't need to modified.
To run the program a very simple script is installed in /usr/bin
with the same name as the executable.
PCSX2 cmake supports the following system libs with CMake unmodified:
-DUSE_SYSTEM_FMT=OFF \
-DUSE_SYSTEM_LIBZIP=OFF \
-DUSE_SYSTEM_RYML=OFF \
-DUSE_SYSTEM_SDL2=ON \
-DUSE_SYSTEM_ZSTD=OFF \
I have set them all to OFF except for SDL2 since that is also what upstream does. I tried using system libs but rapidyaml
blocked that
-
fmt: it can use the system provided one
-
libzip: it can use the system provided one
-
rapidyaml: I tried using the system provided one but that in turn required
fast_float
which exists in the AUR but it is hopelessly outdated. If that changes, the package could use the system one. -
sdl2: it is better to use the one provided by the system, it also pulls some other required dependencies with it, which otherwise should be listed.
-
zstd: it can use the system provided one
Note: I still don't know if it would be beneficial to use system libs for the rest of them. I will take another look into it down the line.
I used the following structure to specify the relationship between the source name and the directory for the submodules
_pcsx2_submodules=(
xz-pcsx2::3rdparty/xz/xz
googletest::3rdparty/gtest
fmt::3rdparty/fmt/fmt
wil::3rdparty/wil
libchdr::3rdparty/libchdr/libchdr
rapidyaml::3rdparty/rapidyaml/rapidyaml
glslang::3rdparty/glslang/glslang
Vulkan-Headers::3rdparty/vulkan-headers
libzip::3rdparty/libzip/libzip
zstd::3rdparty/zstd/zstd
rcheevos::3rdparty/rcheevos/rcheevos
)
for submodule in ${_pcsx2_submodules[@]}; do
git submodule init "${submodule#*::}"
git submodule set-url "${submodule#*::}" "$srcdir"/"${submodule%::*}"
git -c protocol.file.allow=always submodule update "${submodule#*::}"
done
The part before the ::
is the source name, and the part after the ::
is the directory for the submodule inside the pcsx2 source
I would like to reduce the submodules down to anything that doesn't require patching the build system, what do you think?
weirdbeard commented on 2023-03-24 04:37 (UTC)
That's fine, it's not on me at this point xD
eclairevoyant commented on 2023-03-24 04:35 (UTC)
BTW I will probably not get around to packaging the cheats until the weekend, once I do I'll post the package name here and it could be added to the optdepends
eclairevoyant commented on 2023-03-23 23:27 (UTC) (edited on 2023-03-23 23:35 (UTC) by eclairevoyant)
As fun as this game of telephone has been, I'll just provide a patch: https://gist.github.com/eclairevoyant/76454650b6fcd68f329e0d7bc6b84473
This fixes the following issues:
-
upgrade
sha256sums
tob2sums
-
remove cheats from install file (cheats should be a separate package)
-
add some submodules that were present in
.gitmodules
but missing from thePKGBUILD
-
rename sources to make them easier to use in the submodule for-loop
-
actually use all the submodules that were downloaded
-
improve readability of
prepare()
-
remove
v
from start ofpkgver
-
allow file-protocol git sources only within the PKGBUILD
-
do not specify
-j
flag forninja
(ninja will automatically choose the best number of threads based on the system) -
remove unneeded flags for some commands (e.g.
cp -r
doesn't make sense for a single file, so just usecp
) -
rename the install file to something unique to prevent overlapping with other packages
-
remove the
/
prefix in the install file (everything should be relative to the chroot of the root directory of the target filesystem) -
add
pcsx2
to theprovides()
array
Please apply the patch using git am pcsx2-fix.patch
Pinned Comments
weirdbeard commented on 2024-08-17 03:40 (UTC)
https://github.com/PCSX2/pcsx2/pull/11632
This package now enables Cmake Package mode proper. PCSX2 will here on, be installed in the package standard folders /usr/bin, /usr/share, /usr/lib. Following the XDG standard pcsx2's config files remain in .config/PCSX2
In order to ensure a proper and clean upgrade. Uninstall this package COMPLETELY and clear cache before reinstalling.