From 7319bccc0486b76f9fb9f41861a1cbfbd862483fbdccd0ee0ab5235664115ea1 Mon Sep 17 00:00:00 2001 From: Bernd Ritter Date: Wed, 27 Dec 2023 09:51:09 +0000 Subject: [PATCH] Accepting request 1133041 from home:jengelh:branches:devel:libraries:c_c++ - Add some symbol versions to ease rebuilds and transition on user systems when fmt changes [boo#1217820] OBS-URL: https://build.opensuse.org/request/show/1133041 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/spdlog?expand=0&rev=90 --- spdlog.changes | 6 ++++++ spdlog.spec | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/spdlog.changes b/spdlog.changes index c81082e..945adee 100644 --- a/spdlog.changes +++ b/spdlog.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Dec 14 09:47:07 UTC 2023 - Jan Engelhardt + +- Add some symbol versions to ease rebuilds and transition on + user systems when fmt changes [boo#1217820] + ------------------------------------------------------------------- Thu Nov 16 13:08:02 UTC 2023 - Jiri Srain diff --git a/spdlog.spec b/spdlog.spec index 68e1da5..8f3f1b2 100644 --- a/spdlog.spec +++ b/spdlog.spec @@ -77,6 +77,12 @@ sed -i -e "s,\r,," README.md LICENSE %build export CXX=g++ test -x "$(type -p g++-8)" && export CXX=g++-8 + +# spdlog embodies fmt ABI; add some symvers so both ld.so and rpm notice the change. +v=$(rpm -q --qf="%%{VERSION}" --whatprovides "pkgconfig(fmt)" | sed -e 's/\..*//') +echo "FMT_$v { global: _ZN6spdlog*N3fmt${#v}v${v}; };" >spdlog.sym +v="$PWD/spdlog.sym" + %cmake -G Ninja \ -DSPDLOG_BUILD_TESTS=ON \ -DSPDLOG_BUILD_BENCH=OFF \ @@ -84,6 +90,7 @@ test -x "$(type -p g++-8)" && export CXX=g++-8 -DCMAKE_BUILD_TYPE=Release \ -DSPDLOG_BUILD_EXAMPLES=OFF \ -DSPDLOG_BUILD_SHARED=ON \ + -DCMAKE_SHARED_LINKER_FLAGS="%{?build_ldflags} -Wl,--as-needed -Wl,-z,now -Wl,--version-script=$v" \ .. %ninja_build