@rubin55 probably from another package that didn't use the .git suffix, so you'll have to figure out which package did that I guess. I'm pretty sure this one has always had the suffix.
Search Criteria
Package Details: pcsx2-git 2.3.240.r2.g23c495b939-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/pcsx2-git.git (read-only, click to copy) |
---|---|
Package Base: | pcsx2-git |
Description: | PlayStation 2 emulator |
Upstream URL: | https://github.com/PCSX2/pcsx2 |
Licenses: | GPL-3.0-or-later |
Conflicts: | pcsx2 |
Provides: | pcsx2 |
Submitter: | alucryd |
Maintainer: | weirdbeard (xiota) |
Last Packager: | weirdbeard |
Votes: | 131 |
Popularity: | 0.33 |
First Submitted: | 2014-03-26 14:17 (UTC) |
Last Updated: | 2025-03-25 20:47 (UTC) |
Dependencies (35)
- alsa-lib
- ffmpeg (ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-cudaAUR, ffmpeg-ffplayoutAUR, ffmpeg-headlessAUR, ffmpeg-fullAUR, ffmpeg-decklinkAUR, ffmpeg-amd-fullAUR, ffmpeg-gitAUR, ffmpeg-full-gitAUR, ffmpeg-amd-full-gitAUR, ffmpeg-libfdk_aacAUR, ffmpeg-obsAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- kddockwidgets-qt6AUR (kddockwidgets-qt6-gitAUR)
- libaio (libaio-gitAUR)
- libbacktrace (libbacktrace-gitAUR)
- libglvnd (libglvnd-gitAUR)
- libpcap (libpcap-gitAUR)
- libpng (libpng-gitAUR, libpng-apngAUR)
- libxi (libxi-gitAUR)
- libxrandr (libxrandr-gitAUR)
- qt6-base (qt6-base-gitAUR, qt6-base-headlessAUR)
- qt6-svg
- sdl3 (sdl3-gitAUR)
- shaderc (shaderc-gitAUR)
- soundtouch (soundtouch-gitAUR)
- wayland (wayland-gitAUR, wayland-asan-gitAUR, wayland-chromiumAUR)
- xcb-util-cursor (xcb-util-cursor-gitAUR)
- 7zip (make)
- clang (llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- cmake (cmake-gitAUR, cmake3AUR) (make)
- extra-cmake-modules (extra-cmake-modules-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- libpipewire (libpipewire-full-gitAUR, libpipewire-gitAUR) (make)
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR) (make)
- lld (llvm-gitAUR) (make)
- llvm (llvm-gitAUR, llvm-minimal-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR, ninja-jobserverAUR) (make)
- qt6-tools (make)
- qt6-wayland (make)
- alsa-utils (alsa-utils-gitAUR) (optional) – Sound player for RetroAchievements
- gstreamer (gstreamer-gitAUR) (optional) – Backup sound player for RetroAchievements
- libpipewire (libpipewire-full-gitAUR, libpipewire-gitAUR) (optional) – Pipewire support
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR) (optional) – Pulseaudio support
- qt6-wayland (optional) – Wayland support
Required by (4)
- better-libretro-pcsx2-launcher-git (requires pcsx2)
- libretro-pcsx2-launcher (requires pcsx2)
- libretro-pcsx2-launcher-git (requires pcsx2)
- pcsx2-plugin-usbqemu-wheel (requires pcsx2)
Sources (2)
eclairevoyant commented on 2023-06-13 20:10 (UTC)
rubin55 commented on 2023-06-13 19:57 (UTC)
I was just makepkg'ing my way around pcsx2-git, and I got a few errors I haven't seen mentioned before. Observe my output:
==> Making package: pcsx2-git 1.7.4546.r0.ged6dd6f6c-1 (Tue 13 Jun 2023 09:40:43 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating pcsx2 git repo...
-> Updating pcsx2_patches git repo...
-> Updating xz-pcsx2 git repo...
-> Updating googletest git repo...
-> Updating fmt git repo...
==> ERROR: /home/rubin/Syncthing/Packaging/Arch/Sources/libchdr is not a clone of https://github.com/rtissera/libchdr.git
Aborting...
I got that for libchdr, glslang and Vulkan-Headers. It turned out that for some reason, these git repositories are cloned in the SRCDEST directory with an origin like:
https://github.com/rtissera/libchdr
Instead of:
https://github.com/rtissera/libchdr.git
Doing a git remote remove origin
in those repositories and git remote add <url>
with the .git
appended to the origin url fixes the problem.
weirdbeard commented on 2023-04-11 06:19 (UTC)
Make sure you've got the latest PKGBUILD, I pushed a fix for it by updating the files checksum earlier that fixed it for me and a few others in the discord
drcrinkle commented on 2023-04-11 05:17 (UTC)
I have the same issue as @araruna, the problem does not go away with a clean build.
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?
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.