ALT Linux repos
Group :: System/Libraries
RPM: glib2
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: glib-2.75.4-alt-compat-version-script.patch
Download
Download
diff -durN glib-2.75.4.orig/gio/meson.build glib-2.75.4/gio/meson.build
--- glib-2.75.4.orig/gio/meson.build 2023-03-03 14:15:47.000000000 +0300
+++ glib-2.75.4/gio/meson.build 2023-03-04 17:53:51.128861926 +0300
@@ -837,6 +837,12 @@
gio_dtrace_hdr = []
endif
+compat_map = 'compat.map'
+compat_lds = 'compat.lds'
+compat_map_flag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), compat_map)
+compat_lds_flag = '-Wl,@0@/@1@'.format(meson.current_source_dir(), compat_lds)
+compat_ldflags = [ compat_map_flag, compat_lds_flag, ]
+
libgio = library('gio-2.0',
gioenumtypes_h, gioenumtypes_c, gnetworking_h, gio_sources,
gio_dtrace_hdr, gio_dtrace_obj,
@@ -855,7 +861,8 @@
objc_args : [gio_c_args, gio_c_args_internal],
gnu_symbol_visibility : 'hidden',
# intl.lib is not compatible with SAFESEH
- link_args : [noseh_link_args, glib_link_flags],
+ link_args : [noseh_link_args, glib_link_flags, compat_ldflags],
+ link_depends: [ compat_map, compat_lds ],
)
if get_option('gio_module_dir') != ''
diff -durN glib-2.75.4.orig/glib/meson.build glib-2.75.4/glib/meson.build
--- glib-2.75.4.orig/glib/meson.build 2023-03-03 14:15:47.000000000 +0300
+++ glib-2.75.4/glib/meson.build 2023-03-04 17:59:41.602987578 +0300
@@ -401,6 +401,13 @@
endif
glib_c_args = ['-DG_LOG_DOMAIN="GLib"'] + glib_c_args_internal + pcre2_static_args
+
+compat_map = 'compat.map'
+compat_lds = 'compat.lds'
+compat_map_flag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), compat_map)
+compat_lds_flag = '-Wl,@0@/@1@'.format(meson.current_source_dir(), compat_lds)
+compat_ldflags = [ compat_map_flag, compat_lds_flag, ]
+
libglib = library('glib-2.0',
glib_dtrace_obj, glib_dtrace_hdr,
sources : [deprecated_sources, glib_sources],
@@ -409,7 +416,8 @@
darwin_versions : darwin_versions,
install : true,
# intl.lib is not compatible with SAFESEH
- link_args : [noseh_link_args, glib_link_flags, win32_ldflags],
+ link_args : [noseh_link_args, glib_link_flags, compat_ldflags, win32_ldflags],
+ link_depends: [ compat_map, compat_lds ],
include_directories : configinc,
link_with: [charset_lib, gnulib_lib],
dependencies : [
diff -durN glib-2.75.4.orig/gobject/meson.build glib-2.75.4/gobject/meson.build
--- glib-2.75.4.orig/gobject/meson.build 2023-03-03 14:15:47.000000000 +0300
+++ glib-2.75.4/gobject/meson.build 2023-03-04 17:56:27.840975247 +0300
@@ -140,6 +140,12 @@
# when it includes GLib as a subproject
glib_types_h = files('glib-types.h')
+compat_map = 'compat.map'
+compat_lds = 'compat.lds'
+compat_map_flag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), compat_map)
+compat_lds_flag = '-Wl,@0@/@1@'.format(meson.current_source_dir(), compat_lds)
+compat_ldflags = [ compat_map_flag, compat_lds_flag, ]
+
libgobject = library('gobject-2.0',
gobject_dtrace_obj, gobject_dtrace_hdr, glib_enumtypes_h, glib_enumtypes_c,
sources : gobject_sources,
@@ -151,7 +157,8 @@
dependencies : [libffi_dep, libglib_dep],
c_args : ['-DG_LOG_DOMAIN="GLib-GObject"', '-DGOBJECT_COMPILATION'],
gnu_symbol_visibility : 'hidden',
- link_args : glib_link_flags,
+ link_args : [ glib_link_flags, compat_ldflags ],
+ link_depends: [ compat_map, compat_lds ],
)
pkg.generate(libgobject,