Package Details: xenia-git r5780.a641b5b16.linux_fixes-1

Git Clone URL: https://aur.archlinux.org/xenia-git.git (read-only, click to copy)
Package Base: xenia-git
Description: Xenia is an experimental emulator for the Xbox 360.
Upstream URL: http://xenia.jp
Licenses: BSD
Conflicts: xenia
Provides: xenia
Submitter: bwrsandman
Maintainer: bwrsandman
Last Packager: bwrsandman
Votes: 3
Popularity: 0.059592
First Submitted: 2018-01-28 02:20
Last Updated: 2020-04-22 08:37

Latest Comments

xer01ne commented on 2020-04-08 16:21

The package errors on build with a lot of git CONFLICT error messages.

From ../xenia-linux-fixes
 * branch                HEAD       -> FETCH_HEAD
Auto-merging xenia-build
Auto-merging src/xenia/vfs/virtual_file_system.cc
CONFLICT (content): Merge conflict in src/xenia/vfs/virtual_file_system.cc
Auto-merging src/xenia/vfs/entry.cc
CONFLICT (content): Merge conflict in src/xenia/vfs/entry.cc
Auto-merging src/xenia/ui/window_win.cc
Auto-merging src/xenia/ui/window_gtk.h
Auto-merging src/xenia/ui/window_gtk.cc
CONFLICT (content): Merge conflict in src/xenia/ui/window_gtk.cc
Auto-merging src/xenia/ui/window_demo.cc
Auto-merging src/xenia/ui/window.h
CONFLICT (content): Merge conflict in src/xenia/ui/window.h
Auto-merging src/xenia/ui/vulkan/vulkan_instance.cc
CONFLICT (content): Merge conflict in src/xenia/ui/vulkan/vulkan_instance.cc
Auto-merging src/xenia/ui/vulkan/vulkan_context.cc
Auto-merging src/xenia/ui/vulkan/premake5.lua
Auto-merging src/xenia/ui/vk/vulkan_provider.cc
Auto-merging src/xenia/ui/loop_gtk.cc
Auto-merging src/xenia/memory.cc
CONFLICT (content): Merge conflict in src/xenia/memory.cc
Auto-merging src/xenia/kernel/util/shim_utils.h
Auto-merging src/xenia/kernel/util/object_table.cc
CONFLICT (content): Merge conflict in src/xenia/kernel/util/object_table.cc
Auto-merging src/xenia/kernel/kernel_state.cc
CONFLICT (content): Merge conflict in src/xenia/kernel/kernel_state.cc
Auto-merging src/xenia/hid/premake5.lua
Auto-merging src/xenia/gpu/vulkan/premake5.lua
Auto-merging src/xenia/gpu/graphics_system.cc
Auto-merging src/xenia/gpu/command_processor.cc
Auto-merging src/xenia/cpu/processor.h
Auto-merging src/xenia/cpu/processor.cc
Auto-merging src/xenia/cpu/backend/x64/x64_sequences.cc
Auto-merging src/xenia/cpu/backend/x64/x64_emitter.cc
Auto-merging src/xenia/cpu/backend/x64/x64_code_cache.cc
CONFLICT (content): Merge conflict in src/xenia/cpu/backend/x64/x64_code_cache.cc
Auto-merging src/xenia/base/threading_win.cc
Auto-merging src/xenia/base/threading_posix.cc
CONFLICT (content): Merge conflict in src/xenia/base/threading_posix.cc
Auto-merging src/xenia/base/testing/premake5.lua
Auto-merging src/xenia/base/system_linux.cc
CONFLICT (content): Merge conflict in src/xenia/base/system_linux.cc
Auto-merging src/xenia/base/string_buffer.cc
Auto-merging src/xenia/base/string.cc
CONFLICT (content): Merge conflict in src/xenia/base/string.cc
Auto-merging src/xenia/base/memory_win.cc
Auto-merging src/xenia/base/memory_posix.cc
CONFLICT (content): Merge conflict in src/xenia/base/memory_posix.cc
Auto-merging src/xenia/base/memory.h
CONFLICT (content): Merge conflict in src/xenia/base/memory.h
Auto-merging src/xenia/base/main_posix.cc
Auto-merging src/xenia/base/logging.cc
CONFLICT (content): Merge conflict in src/xenia/base/logging.cc
Auto-merging src/xenia/base/filesystem_posix.cc
CONFLICT (content): Merge conflict in src/xenia/base/filesystem_posix.cc
Auto-merging src/xenia/base/debugging_posix.cc
CONFLICT (content): Merge conflict in src/xenia/base/debugging_posix.cc
Auto-merging src/xenia/apu/xma_decoder.cc
Auto-merging src/xenia/app/premake5.lua
Auto-merging src/xenia/app/emulator_window.cc
CONFLICT (content): Merge conflict in src/xenia/app/emulator_window.cc
Auto-merging premake5.lua
Automatic merge failed; fix conflicts and then commit the result.
==> ERROR: A failure occurred in prepare().
    Aborting...

bwrsandman commented on 2020-01-11 12:57

Pedro, unfortunately the package is as it is because the changes are as of yet unmerged. This completely up to the maintainers.

Regenerating a patch every time there is a change to the Linux branch would require too much intervention on my part. Additionally, this would not solve the merge conflicts issue currently seen.

I could switch to the Linux fixes fork, but this would be better done as a separate package as doing it in this package would be misleading as the fork is not the official code and is not always up to date with upstream as it lags behind.

Creating a separate AUR package would lead to a having this package being unusable and a separate AUR package which works a little better but when the changes get merged, this would require deleting that forked AUR package.

As you can see, I'm in a situation where there isn't one perfect fix until the changes are merged. When I created this package two years ago, I believed that patches to have Linux support would have been integrated a little faster by the upstream maintainers. This is why the package is as it is.

As for the conflicts, this requires rebasing on the forked project which is done periodically.

PedroHLC commented on 2020-01-10 21:50

Man, I'm not sure you should pull "xenia-linux-fixes" over the main repo, that's way too messy. You either use the fork as the source, or squash the fixes commits in a single patch file and make sure it's applying.

The way it's now, the user downloads twice the repo entire commit history, git has to be configured cause it will create a merge commit (that breaks compiling from clean containers/chroots entirely), and requires manual user intervention when there are merge conflicts (git default setting is to fallback to whatever EDITOR was set).

It would be even better to get these changes upstreamed. But that's usually trouble.

You can use "git diff" to generate the squashed .patch file, but you probably already know that...

IEPforAUR commented on 2019-08-29 01:30

The build fails unless all the "git+"-'s in the sources and clone url are removed...

lok1 commented on 2018-03-04 15:28

Build fails with Submodule does not exsist.

fatal: repository '/tmp/pamac-build-steve/xenia-git/src/SPIRV-Headers' does not exist fatal: clone of '/tmp/pamac-build-steve/xenia-git/src/SPIRV-Headers' into submodule path '/tmp/pamac-build-steve/xenia-git/src/xenia/third_party/spirv-headers' failed Failed to clone 'third_party/spirv-headers'. Retry scheduled

fatal: repository '/tmp/pamac-build-steve/xenia-git/src/yaml-cpp' does not exist fatal: clone of '/tmp/pamac-build-steve/xenia-git/src/yaml-cpp' into submodule path '/tmp/pamac-build-steve/xenia-git/src/xenia/third_party/yaml-cpp' failed Failed to clone 'third_party/yaml-cpp'. Retry scheduled

fatal: repository '/tmp/pamac-build-steve/xenia-git/src/Catch2' does not exist fatal: clone of '/tmp/pamac-build-steve/xenia-git/src/Catch2' into submodule path '/tmp/pamac-build-steve/xenia-git/src/xenia/third_party/catch' failed Failed to clone 'third_party/catch' a second time, aborting

gm666q commented on 2018-02-17 12:48

You're missing libc++ and libpthread-stubs from dependencies.