1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
State of externals / dependencies (Updating / Upstreaming / Unforking)
**Take anything below with a grain of salt; it's only based on a quick skim over the externals.**
---
Background: I wrote this list a couple of days ago after briefly discussing fex on the Asahi Linux Fedora matrix channel.
Basically for Asahi Fedora it would be beneficial if more of the dependencies could come from the system.
So I went and checked the externals and wrote down some thoughts.
Because I don't have a lot of time right now I'm posting it in the current state, so it doesn't go to waste on my local disk.
However, it's not polished and might be incorrect.
My hope with this issue is:
- Someone updates the libs which come from upstream.
- Discussion / feedback which libs must remain bundled and why (which could be an argument for packagers).
- Discussion how system libs could be used (e.g. by moving the custom CMake files out of forks or merging them upstream).
- Split this meta-issue into smaller, more manageable, issues (e.g. "Update to catch 3.x") which can be closed once a task is finished.
---
For packaging FEX, it might be beneficial to use system libraries.
I'm listing the state of the externals here:
## [Catch2 @ c4e3767](https://github.com/catchorg/Catch2/tree/c4e3767e265808590986d5db6ca1b5532a7f3d13)
This is v2.13.7
Newest v2: v2.13.10
Newest v3: v3.4.0
## [Vulkan-Headers @ 98f440c](https://github.com/KhronosGroup/Vulkan-Headers/tree/98f440ce6868c94f5ec6e198cc1adda4760e8849)
This is v1.3.231
Newest: v1.3.261
## [fmt @ a0b8a92](https://github.com/fmtlib/fmt/tree/a0b8a92e3d1532361c2f7feb63babc5c18d00ef2)
This is 10.0.0
Newest: 10.1.0
## [imgui @ 4c986ec](https://github.com/Sonicadvance1/imgui/tree/4c986ecb8d2807087fd8e34894d1e7a138bc2f1d)
This is a fork starting at 0bdc1453433ab0bb4d889c72ef9b0353ba3998aa (August 2019)
Changes:
- Don't autodetect OpenGL ES with custom loader
- ?
- Disable glPolygonMode with ES. We aren't using it anyway.
- Not sure why this commit exists
- Fixes KP enter on imgui SDL impl
- This feels like something for upstream
- Add CMake file
- Upstream rejects this / has trouble finding a working solution
- Add imgui addons
- No idea where all of this comes from, but potentially problematic for switching to upstream
- Add a mapping of keypad enter to map to regular enter key.
- This feels like something for upstream
## [jemalloc @ 16f8061](https://github.com/FEX-Emu/jemalloc/tree/16f80619558c44c917695228e00c1a7ec1b2b752) & [jemalloc_glibc @ 888181c](https://github.com/FEX-Emu/jemalloc/tree/888181c5f7072ab1bd7aa7aca6d9f85816a95c43)
Forked from 5.3.0.
This has various changes, and likely needs to remain a fork
## [json-maker @ 8ecb8ec](https://github.com/Sonicadvance1/json-maker/tree/8ecb8ecc348bf88c592fac808c03efb342f69e0a)
Forked from 66cb2b7a5155417898463152e247eb8b2ae6fff8 (November 2018)
Changes:
- Add CMake file
- Upstream has a CMake file now, too
This should probably be migrated to the upstream version.
## [robin-map @ f1ab690](https://github.com/FEX-Emu/robin-map/tree/f1ab6900466891af11e3c264c63acf1dd9c3532c)
Forked from v1.2.1
Changes:
- Make empty bucket be a per-map object. Needed to fix allocation problems
- This might be hard or impossible to fix (and also suggest this might be a problem for other libraries)
## [tiny-json @ 9d09127](https://github.com/Sonicadvance1/tiny-json/tree/9d09127f87ea6a128fb17d1ffd0b444517343f1c)
Forked from 58200fff5cc0df857f9aca7e53fbc4a8db88ef19 (March 2019)
Changes:
- Add CMake file
- can probably be done upstream; same author as json-maker, and that has gotten a CMake file upstream
## [vixl @ debc345](https://github.com/FEX-Emu/vixl/tree/debc3456835003b0e577f905b54bfd5addbf14db)
Changes:
- Smaller bugfixes and CMake file
At least one of the bugfixes has been upstreamed, at least one other bugfix is no longer needed due to a different implementation.
## [xbyak @ 5f8c048](https://github.com/FEX-Emu/xbyak/tree/5f8c0488bab7a5e1c8cee831c3b6a5a884e10df8)
This is v6.68
Changes:
- Allow custom allocators for xbyak
- Support cpuid CLWB
- Adds back missing SSE4a check
- Disables xbyak db code size checking
- Adds new setNewBuffer function
Except for the last one, these feel upstreamable.
The last one sounds dangerous-by-design, so this might not be possible?
## [xxhash @ ba7375d](https://github.com/FEX-Emu/xxHash/tree/ba7375d54fbbf7bfd9519b465a146e9a8bf0240f)
Forked from 35b0373c697b5f160d3db26b1cbb45a0d5ba788c (November 2019)
Changes:
- Adds CMakeLists file
- Upstream already had this in /cmake_unofficial/
|