From 9ba5c3c4b8289eb452c099ee7f036fa57d6db011 Mon Sep 17 00:00:00 2001 From: SpidFightFR Date: Wed, 7 Feb 2024 18:45:05 +0100 Subject: [PATCH] MangoHud: update to version 0.7.1. --- ...ptr-is-relative-on-non-glibc-systems.patch | 108 ------------------ ...lback-to-project_version-without-git.patch | 41 ------- ...ing-absolute-path-instead-of-Dynamic.patch | 49 -------- srcpkgs/MangoHud/template | 4 +- 4 files changed, 2 insertions(+), 200 deletions(-) delete mode 100644 srcpkgs/MangoHud/patches/0001-elfhacks-d_un.d_ptr-is-relative-on-non-glibc-systems.patch delete mode 100644 srcpkgs/MangoHud/patches/0001-meson-fallback-to-project_version-without-git.patch delete mode 100644 srcpkgs/MangoHud/patches/0002-meson-allow-setting-absolute-path-instead-of-Dynamic.patch diff --git a/srcpkgs/MangoHud/patches/0001-elfhacks-d_un.d_ptr-is-relative-on-non-glibc-systems.patch b/srcpkgs/MangoHud/patches/0001-elfhacks-d_un.d_ptr-is-relative-on-non-glibc-systems.patch deleted file mode 100644 index 6abe3dfc73f7a..0000000000000 --- a/srcpkgs/MangoHud/patches/0001-elfhacks-d_un.d_ptr-is-relative-on-non-glibc-systems.patch +++ /dev/null @@ -1,108 +0,0 @@ -From fc925300601098dc45241087626369843d6a2c66 Mon Sep 17 00:00:00 2001 -From: John Zimmermann -Date: Thu, 28 Sep 2023 16:42:21 +0200 -Subject: [PATCH 1/2] elfhacks: d_un.d_ptr is relative on non glibc systems - -elf(5) documents it this way, GLIBC diverts from this documentation - -partial fix for #601 ---- - src/elfhacks.cpp | 22 ++++++++++++++-------- - src/real_dlsym.cpp | 1 + - 2 files changed, 15 insertions(+), 8 deletions(-) - -diff --git a/src/elfhacks.cpp b/src/elfhacks.cpp -index 7cfc310..810a19d 100644 ---- a/src/elfhacks.cpp -+++ b/src/elfhacks.cpp -@@ -29,6 +29,12 @@ - * \{ - */ - -+#ifdef __GLIBC__ -+# define ABS_ADDR(obj, ptr) (ptr) -+#else -+# define ABS_ADDR(obj, ptr) ((obj->addr) + (ptr)) -+#endif -+ - struct eh_iterate_callback_args { - eh_iterate_obj_callback_func callback; - void *arg; -@@ -196,22 +202,22 @@ int eh_init_obj(eh_obj_t *obj) - if (obj->strtab) - return ENOTSUP; - -- obj->strtab = (const char *) obj->dynamic[p].d_un.d_ptr; -+ obj->strtab = (const char *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - } else if (obj->dynamic[p].d_tag == DT_HASH) { - if (obj->hash) - return ENOTSUP; - -- obj->hash = (ElfW(Word) *) obj->dynamic[p].d_un.d_ptr; -+ obj->hash = (ElfW(Word) *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - } else if (obj->dynamic[p].d_tag == DT_GNU_HASH) { - if (obj->gnu_hash) - return ENOTSUP; - -- obj->gnu_hash = (Elf32_Word *) obj->dynamic[p].d_un.d_ptr; -+ obj->gnu_hash = (Elf32_Word *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - } else if (obj->dynamic[p].d_tag == DT_SYMTAB) { - if (obj->symtab) - return ENOTSUP; - -- obj->symtab = (ElfW(Sym) *) obj->dynamic[p].d_un.d_ptr; -+ obj->symtab = (ElfW(Sym) *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - } - p++; - } -@@ -449,7 +455,7 @@ int eh_find_next_dyn(eh_obj_t *obj, ElfW_Sword tag, int i, ElfW(Dyn) **next) - - int eh_set_rela_plt(eh_obj_t *obj, int p, const char *sym, void *val) - { -- ElfW(Rela) *rela = (ElfW(Rela) *) obj->dynamic[p].d_un.d_ptr; -+ ElfW(Rela) *rela = (ElfW(Rela) *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - ElfW(Dyn) *relasize; - unsigned int i; - -@@ -470,7 +476,7 @@ int eh_set_rela_plt(eh_obj_t *obj, int p, const char *sym, void *val) - - int eh_set_rel_plt(eh_obj_t *obj, int p, const char *sym, void *val) - { -- ElfW(Rel) *rel = (ElfW(Rel) *) obj->dynamic[p].d_un.d_ptr; -+ ElfW(Rel) *rel = (ElfW(Rel) *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - ElfW(Dyn) *relsize; - unsigned int i; - -@@ -520,7 +526,7 @@ int eh_set_rel(eh_obj_t *obj, const char *sym, void *val) - - int eh_iterate_rela_plt(eh_obj_t *obj, int p, eh_iterate_rel_callback_func callback, void *arg) - { -- ElfW(Rela) *rela = (ElfW(Rela) *) obj->dynamic[p].d_un.d_ptr; -+ ElfW(Rela) *rela = (ElfW(Rela) *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - ElfW(Dyn) *relasize; - eh_rel_t rel; - eh_sym_t sym; -@@ -550,7 +556,7 @@ int eh_iterate_rela_plt(eh_obj_t *obj, int p, eh_iterate_rel_callback_func callb - - int eh_iterate_rel_plt(eh_obj_t *obj, int p, eh_iterate_rel_callback_func callback, void *arg) - { -- ElfW(Rel) *relp = (ElfW(Rel) *) obj->dynamic[p].d_un.d_ptr; -+ ElfW(Rel) *relp = (ElfW(Rel) *) ABS_ADDR(obj, obj->dynamic[p].d_un.d_ptr); - ElfW(Dyn) *relsize; - eh_rel_t rel; - eh_sym_t sym; -diff --git a/src/real_dlsym.cpp b/src/real_dlsym.cpp -index 173dc1b..3e5a77c 100644 ---- a/src/real_dlsym.cpp -+++ b/src/real_dlsym.cpp -@@ -26,6 +26,7 @@ static void get_real_functions() - #endif - "*libc.so*", - "*libc.*.so*", -+ "*ld-musl-*.so*", - }; - - for (size_t i = 0; i < sizeof(libs) / sizeof(*libs); i++) --- -2.42.0 - diff --git a/srcpkgs/MangoHud/patches/0001-meson-fallback-to-project_version-without-git.patch b/srcpkgs/MangoHud/patches/0001-meson-fallback-to-project_version-without-git.patch deleted file mode 100644 index d999df1bb0098..0000000000000 --- a/srcpkgs/MangoHud/patches/0001-meson-fallback-to-project_version-without-git.patch +++ /dev/null @@ -1,41 +0,0 @@ -From c6e7c2da873cf2ada7cac9cc8953c3afda7f4cd1 Mon Sep 17 00:00:00 2001 -From: John Zimmermann -Date: Thu, 28 Sep 2023 13:56:04 +0200 -Subject: [PATCH 1/2] meson: fallback to project_version() without git - -resolves #1131 ---- - src/meson.build | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 537ce63..0729596 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -9,12 +9,22 @@ else - ld_libdir_mangohud = get_option('prefix') + '/\$LIB/' - endif - -+git = find_program('git', required: false) -+if git.found() -+ git_describe = run_command([git, 'describe', '--tags', '--dirty=+'], check: false) -+endif -+if git.found() and git_describe.returncode() == 0 -+ describe_ver = git_describe.stdout().strip() -+else -+ describe_ver = meson.project_version() -+endif -+ - conf_data = configuration_data() - - conf_data.set('ld_libdir_mangohud_abs', libdir_mangohud) - conf_data.set('ld_libdir_mangohud', ld_libdir_mangohud) - conf_data.set('cpu_family', host_machine.cpu_family()) --conf_data.set('version', run_command(['git', 'describe', '--tags', '--dirty=+']).stdout().strip()) -+conf_data.set('version', describe_ver) - - overlay_shaders = [ - 'overlay.frag', --- -2.42.0 - diff --git a/srcpkgs/MangoHud/patches/0002-meson-allow-setting-absolute-path-instead-of-Dynamic.patch b/srcpkgs/MangoHud/patches/0002-meson-allow-setting-absolute-path-instead-of-Dynamic.patch deleted file mode 100644 index 19664a1829f58..0000000000000 --- a/srcpkgs/MangoHud/patches/0002-meson-allow-setting-absolute-path-instead-of-Dynamic.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 252f18e54d8a56ce4420c549fb48963cad3b91c0 Mon Sep 17 00:00:00 2001 -From: John Zimmermann -Date: Thu, 28 Sep 2023 18:17:37 +0200 -Subject: [PATCH 2/2] meson: allow setting absolute path instead of 'Dynamic - string tokens' - -resolves #601 ---- - meson_options.txt | 1 + - src/meson.build | 10 ++++++++-- - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/meson_options.txt b/meson_options.txt -index 5f7d11b..0173a54 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -12,3 +12,4 @@ option('mangoapp', type: 'boolean', value : false) - option('mangohudctl', type: 'boolean', value : false) - option('mangoapp_layer', type: 'boolean', value : false) - option('tests', type: 'feature', value: 'auto', description: 'Run tests') -+option('dynamic_string_tokens', type: 'boolean', value: true, description: 'Use dynamic string tokens in LD_PRELOAD') -diff --git a/src/meson.build b/src/meson.build -index 537ce63..034dce2 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -1,12 +1,18 @@ - glslang = find_program('glslang', 'glslangValidator') - -+if get_option('dynamic_string_tokens') -+ ld_prefix = get_option('prefix') + '/\$LIB/' -+else -+ ld_prefix = join_paths(get_option('prefix') ,get_option('libdir')) + '/' -+endif -+ - # Needs prefix for configure_file() - if get_option('append_libdir_mangohud') - libdir_mangohud = join_paths(get_option('prefix'), get_option('libdir'), 'mangohud') -- ld_libdir_mangohud = get_option('prefix') + '/\$LIB/mangohud/' -+ ld_libdir_mangohud = ld_prefix + 'mangohud/' - else - libdir_mangohud = join_paths(get_option('prefix'), get_option('libdir')) -- ld_libdir_mangohud = get_option('prefix') + '/\$LIB/' -+ ld_libdir_mangohud = ld_prefix - endif - - conf_data = configuration_data() --- -2.42.0 - diff --git a/srcpkgs/MangoHud/template b/srcpkgs/MangoHud/template index ac024dba897b7..b7c173f9442bf 100644 --- a/srcpkgs/MangoHud/template +++ b/srcpkgs/MangoHud/template @@ -1,6 +1,6 @@ # Template file for 'MangoHud' pkgname=MangoHud -version=0.7.0 +version=0.7.1 revision=1 build_style=meson configure_args="-Dwith_xnvctrl=disabled @@ -12,7 +12,7 @@ maintainer="John " license="MIT" homepage="https://github.com/flightlessmango/MangoHud" distfiles="https://github.com/flightlessmango/MangoHud/releases/download/v${version}/MangoHud-v${version}-Source-DFSG.tar.xz" -checksum=222e15d4f3e679937f7594e2e5615aaae41b97d487eb7938b96b26eeb1fbcf35 +checksum=b9ac2a7cfd200d792f8b2144ef1e1a0cba09ce6143b75a58b641de51e32ab605 python_version=3 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then