Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37787546
en ru br
ALT Linux repos
S:2.78.0-alt1
5.0: 2.20.1-alt1
4.1: 2.16.6-alt0.M41.2
4.0: 2.14.1-alt1
3.0: 2.6.5-alt1

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


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,
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin