Package Details: duckstation-git 0.1.r8033.g2f70d1b-1

Git Clone URL: https://aur.archlinux.org/duckstation-git.git (read-only, click to copy)
Package Base: duckstation-git
Description: A Sony PlayStation (PSX) emulator, focusing on playability, speed, and long-term maintainability (git version)
Upstream URL: https://github.com/stenzek/duckstation
Keywords: emulator game gaming psone psx
Licenses: cc-by-nc-nd-4.0
Conflicts: duckstation
Provides: duckstation
Submitter: jackdroido
Maintainer: eugene
Last Packager: eugene
Votes: 26
Popularity: 0.75
First Submitted: 2020-04-25 18:24 (UTC)
Last Updated: 2024-12-01 23:33 (UTC)

Dependencies (44)

Required by (0)

Sources (10)

Latest Comments

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

ShalokShalom commented on 2023-09-17 10:16 (UTC)

I quote:

Any optional dependencies that are not needed to run the package or have it generally function should not be included in the depends array;

Exactly. And it is absolutely essential to run on most modern systems. Besides this: I can quote you thousands of packages, who all have depends, who are arguably "optionally". Look at Debian: They show you, what 'optional' really means.

I usually can install any package from Arch, both the official repositories and the AUR, and it just works. I don't need to fiddle around, and I don't expect critical libraries like support for the very display protocol our entire ecosystem is strongly moving towards, as an optional dependency.

Neros commented on 2023-09-16 22:48 (UTC) (edited on 2023-09-17 04:02 (UTC) by Neros)

It looks like sound is broken and fall back to "Null".

edit: fixed with the last commit

xAsh commented on 2023-08-29 14:32 (UTC)

build will now fail since commit e89789d (FAILED: dep/reshadefx/CMakeFiles/reshadefx.dir/src/effect_preprocessor.cpp.o)

eugene commented on 2023-08-21 12:58 (UTC)

It seems it builds fine with clang

heavysink commented on 2023-08-21 02:11 (UTC) (edited on 2023-08-21 02:12 (UTC) by heavysink)

It seems that it fails to build with the following:

``/usr/src/debug/duckstation-git/duckstation/src/core/achievements.cpp: In function ‘Shutdown.isra’:

/usr/src/debug/duckstation-git/duckstation/src/core/achievements.cpp:124:21: note: declared here

/usr/bin/ld: /tmp/cc1GHPEY.ltrans28.ltrans.o: in function `EmuThread::run()':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:2096:(.text+0x55e3): undefined reference to `fastjmp_set'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans29.ltrans.o: in function `EmuThread::singleStepCPU() [clone .part.0]':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:2139:(.text+0x30b7): undefined reference to `fastjmp_set'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans55.ltrans.o: in function `TimingEvents::RunEvents()':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:1782:(.text+0x16f4): undefined reference to `fastjmp_jmp'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans39.ltrans.o: in function `void CPU::ExecuteImpl<(PGXPMode)1, true>() [clone .lto_priv.0]':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:1782:(.text+0x2cde): undefined reference to `fastjmp_jmp'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans37.ltrans.o: in function `CPU::UpdateDebugDispatcherFlag()':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:1782:(.text+0xb7): undefined reference to `fastjmp_jmp'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans37.ltrans.o: in function `CPU::ClearBreakpoints()':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:1782:(.text+0x190): undefined reference to `fastjmp_jmp'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans37.ltrans.o: in function `CPU::ExecuteDebug() [clone .lto_priv.0]':

/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:1782:(.text+0x2c14): undefined reference to `fastjmp_jmp'

/usr/bin/ld: /tmp/cc1GHPEY.ltrans38.ltrans.o:/usr/src/debug/duckstation-git/duckstation/src/core/cpu_core.cpp:1782: more undefined references to `fastjmp_jmp' follow

collect2: error: ld returned 1 exit status``

loathingkernel commented on 2023-08-18 08:58 (UTC)

@exploder-jimmy while I do agree with the premise, the .install file is the wrong way to go about it. There are established procedures on how to handle this case and in this case the current solution and your suggestion don't follow them. There is already a system to do what you are proposing with the .install file and it is the optdepends array. I don't understand why it should be made somehow "clearer" by not following standard procedure.

It is not something it should be in the install file, and it definitely needs to be in the optdepends as it is a makedependency, meaning the package links to whatever qt6-wayland provides.

In short, there is no reason to break standardised procedures with lacking alternatives for something that is essentially a careless user.

exploder-jimmy commented on 2023-08-18 03:48 (UTC) (edited on 2023-08-18 03:58 (UTC) by exploder-jimmy)

@eugene Maybe add an .install file?

Something like this:

duckstation-git.install
---
post_upgrade() {
  echo "If you are running Wayland session, make sure qt6-wayland package is installed."
}

post_install() {
  post_upgrade
}

And remove it from both optdepends and depends, since it's already optional for qt6-base: qt6-wayland: to run Qt6 applications in a Wayland session.

exploder-jimmy commented on 2023-08-18 03:22 (UTC)

I think it is wrong to force a wayland dependency to all users

I think so as well.

@eugene Please see https://wiki.archlinux.org/title/Arch_package_guidelines#Package_etiquette

Any optional dependencies that are not needed to run the package or have it generally function should not be included in the depends array;

loathingkernel commented on 2023-08-17 17:06 (UTC) (edited on 2023-08-17 17:06 (UTC) by loathingkernel)

I think it is wrong to force a wayland dependency to all users when the issue is clearly an oversight by the user in this specific case. The optional dependency is there and pacman will alert for it. I assume there is a reason that most software in Arch is only optionally depending on qt6-wayland unless absolutely necessary.

eugene commented on 2023-08-17 10:15 (UTC)

@ShalokShalom: qt6-wayland was optional dependency, but I think it will be fine to make it mandatory. So be it.