Package Details: pcsx2-git 1.7.5703.r0.g070068366f-1

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: GPL2, GPL3, LGPL3, LGPL2.1
Conflicts: pcsx2
Provides: pcsx2
Submitter: alucryd
Maintainer: rafaelff (weirdbeard)
Last Packager: weirdbeard
Votes: 127
Popularity: 0.49
First Submitted: 2014-03-26 14:17 (UTC)
Last Updated: 2024-04-13 15:10 (UTC)

Dependencies (31)

Required by (3)

Sources (11)

Pinned Comments

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 56 Next › Last »

weirdbeard commented on 2023-03-23 17:09 (UTC)

And now yay is happy stage bow

weirdbeard commented on 2023-03-23 16:36 (UTC) (edited on 2023-03-23 16:55 (UTC) by weirdbeard)

No, I get it and I'll fix that next, I decided to flip back to VCS style because I want the submodule sources to cache so they don't update every time. Also, I know the upstream team isn't planning any major submodule changes in the future. It's just getting yay to be happy since it seems sensitive to having every source compared to makepkg

eclairevoyant commented on 2023-03-23 16:30 (UTC)

Thanks for taking a look, but changing global config is pretty much never appropriate for a PKGBUILD, instead you should use git -c protocol.file.allow=always submodule update

weirdbeard commented on 2023-03-23 15:47 (UTC)

Sorry for pushing SRCINFO, I just changed the submodules back to VCS style... For now at least

loathingkernel commented on 2023-03-23 14:46 (UTC) (edited on 2023-03-23 15:21 (UTC) by loathingkernel)

As an extension to what @eclairevoyant already said, the submodules should be specified in the sources array and cloned from local copies, also as per Archwiki suggestions. As it is you are forcing anyone building the package to re-download the full repositories of all the submodules each time they rebuild the package. Also, if a submodule repo is a fork of some other repo, the destination directory in the source array should be named in something that won't conflict with the upstream repo, since makepkg supports global source directories through SRCDEST.

Since this can be a chore for packages where upstream hates distro packaging and change submodules regularly without the ability to easily use system packages, you could at least instruct git submodule to do shallow clones, saving on both space and time.

As a last note, the errors in the PKGBUILD are too numerous to mention all of them. Please consult the relevant Archwiki articles, PKGBUILDs from the official repositories. The PKGBUILD is broken as it is.

Some other examples:

The cheats download at post_install (can't those be part of the sources?) as they as they won't be removed when the package is uninstalled, because they are not part of it. Also using sudo, is pointless as your permissions are already elevated when installing a package.

The version SHOULD NOT start with v, it has to be removed. Take a look at /usr/share/pacman/PKGBUILD-vcs.proton

the install script is historically named $pkgname.install

And since upstream is being difficult about downstream packaging, it might be worth exploring installing it in /var/games or /opt as whole and giving access to the users through the games group https://wiki.archlinux.org/title/users_and_groups#User_groups

eclairevoyant commented on 2023-02-18 05:58 (UTC) (edited on 2023-02-18 06:00 (UTC) by eclairevoyant)

You don't need to push updates here unless the build process or output package is actually changing (e.g. adding new patches, changing dependencies, etc.). VCS packages (which -git packages are) will automatically pull the current HEAD based on the sources array (unless you explicitly specify a commit). Users should rebuild regularly if they choose to use -git packages.

Also, this part makes no sense:

OPTIONS+=(
  epoch = 1
)

and this code also does nothing since the depends array is immediately overwritten on the following line:

depends=('rapidyaml>=0.4')

You can also condense these lines:

 mkdir -p ${pkgdir}/usr/share/icons/hicolor/64x64/apps
 cp ${srcdir}/pcsx2/pcsx2/Resources/AppIcon64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/PCSX2.png

into just one line:

install -Dm644 pcsx2/pcsx2/Resources/AppIcon64.png "$pkgdir/usr/share/icons/hicolor/64x64/apps/PCSX2.png"

Finally, you should be quoting $srcdir and $pkgdir wherever they're used as per the Arch packaging guidelines. The other points mentioned are suggestions, but this is a clear requirement. You can even leave off $srcdir from the beginning of most of the commands, since you are guaranteed to be in $srcdir at the start of each function.

abouvier commented on 2023-02-09 14:35 (UTC)

You're not supposed to update the pkgver every time a commit is published upstream :p

SycoLTH commented on 2023-02-08 00:48 (UTC)

Hi, I'm trying this on a new arch installation, but I get

Using precompiled headers.
-- Found Python: /usr/bin/python3.10 (found version "3.10.9") found components: Interpreter 
-- Configuring done
CMake Error at pcsx2/CMakeLists.txt:1125 (target_link_libraries):
  The link interface of target "PCSX2_FLAGS" contains:

    PkgConfig::LIBUDEV

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.



-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: pcsx2-git

is there some dependency missing? Thanks