Package Details: duckstation-git 0.1.r6939.gef69c31-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: Apache-2.0, GPL-3.0-only
Conflicts: duckstation
Provides: duckstation
Submitter: jackdroido
Maintainer: eugene
Last Packager: eugene
Votes: 24
Popularity: 1.49
First Submitted: 2020-04-25 18:24 (UTC)
Last Updated: 2024-06-14 16:41 (UTC)

Required by (0)

Sources (5)

Latest Comments

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

lNGRID commented on 2023-12-16 03:55 (UTC) (edited on 2023-12-23 17:43 (UTC) by lNGRID)

I haven't been able to install duckstation thanks to this error:

[356/419] Building CXX object src/core/CMakeFiles/core.dir/cpu_recompiler_code_generator.cpp.o

FAILED: src/core/CMakeFiles/core.dir/cpu_recompiler_code_generator.cpp.o

/usr/bin/c++ -DENABLE_CUBEB=1 -DENABLE_DISCORD_PRESENCE=1 -DENABLE_MMAP_FASTMEM=1 -DENABLE_NEWREC=1 -DENABLE_OPENGL=1 -DENABLE_RECOMPILER=1 -DENABLE_SDL2=1 -DENABLE_VULKAN=1 -DXBYAK_NO_EXCEPTION=1 -DXXH_STATIC_LINKING_ONLY -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/src/core/.. -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/src/common/.. -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/fmt/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/fast_float/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/src/util/.. -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/simpleini/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/imgui/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/vulkan/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/zlib/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/stb/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/xxhash/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/rapidjson/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/rcheevos/include -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/xbyak/xbyak -I/home/Royce/.cache/yay/duckstation-git/src/duckstation/dep/discord-rpc/include -isystem /usr/include/SDL2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -Wno-error=format-security -Wall -Wno-switch -Wno-class-memaccess -Wno-invalid-offsetof -fno-exceptions -fno-rtti -DFMT_EXCEPTIONS=0 -O3 -DNDEBUG -std=gnu++20 -flto=auto -fno-fat-lto-objects -Winvalid-pch -include /home/Royce/.cache/yay/duckstation-git/src/build/src/core/CMakeFiles/core.dir/cmake_pch.hxx -MD -MT src/core/CMakeFiles/core.dir/cpu_recompiler_code_generator.cpp.o -MF src/core/CMakeFiles/core.dir/cpu_recompiler_code_generator.cpp.o.d -o src/core/CMakeFiles/core.dir/cpu_recompiler_code_generator.cpp.o -c /home/Royce/.cache/yay/duckstation-git/src/duckstation/src/core/cpu_recompiler_code_generator.cpp /home/Royce/.cache/yay/duckstation-git/src/duckstation/src/core/cpu_recompiler_code_generator.cpp: In member function ‘bool CPU::Recompiler::CodeGenerator::Compile_Bitwise(CPU::Instruction, const CPU::CodeCache::InstructionInfo&)’:

/home/Royce/.cache/yay/duckstation-git/src/duckstation/src/core/cpu_recompiler_code_generator.cpp:1330:81: error: operands to ‘?:’ have different types ‘BitField<unsigned int, CPU::Reg, 16, 5>’ and ‘BitField<unsigned int, CPU::Reg, 21, 5>’ 1330 | PGXP::PackMoveArgs(dest, lhs.HasConstantValue(0) ? instruction.r.rt : instruction.r.rs)), | ^ /home/Royce/.cache/yay/duckstation-git/src/duckstation/src/core/cpu_recompiler_code_generator.cpp:1362:81: error: operands to ‘?:’ have different types ‘BitField<unsigned int, CPU::Reg, 16, 5>’ and ‘BitField<unsigned int, CPU::Reg, 21, 5>’ 1362 | PGXP::PackMoveArgs(dest, lhs.HasConstantValue(0) ? instruction.r.rt : instruction.r.rs)), | ^

EDIT: I had to manually delete the cache files since there was an error trying to cleanbuild. I successfully was able to download it.

loathingkernel commented on 2023-09-17 10:30 (UTC) (edited on 2023-09-17 10:36 (UTC) by loathingkernel)

@ShalokShalom That's a preference, and Arch is a tool that is built on the principle of fiddling around with the system. If it is so much trouble to you to install an optional dependency or fiddling with the system, quite possibly Arch is not the correct tool for you.

Once Arch moves the wayland supporting packages into hard dependencies this is going to be an non-issue as this is going to be an already satisfied dependency. Until then, since qt6-wayland is optional in Arch's qt6-base, the correct approach is to remain an optional dependency here too, as to not force it on users that don't want to have it installed.

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;