From 86bb7c958a4ed46411da74a4498581a0cdc454a0 Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Tue, 16 Sep 2025 12:54:30 +0800 Subject: [PATCH] meson: refactor nix_soversion into nix-meson-build-support/common This is a follow-on to #13995 which added soversion to the libraries --- nix-meson-build-support/common/meson.build | 3 +++ src/libcmd/meson.build | 2 +- src/libexpr-c/meson.build | 2 +- src/libexpr-test-support/meson.build | 2 +- src/libexpr/meson.build | 2 +- src/libfetchers-c/meson.build | 2 +- src/libfetchers/meson.build | 2 +- src/libflake-c/meson.build | 2 +- src/libflake/meson.build | 2 +- src/libmain-c/meson.build | 2 +- src/libmain/meson.build | 2 +- src/libstore-c/meson.build | 2 +- src/libstore-test-support/meson.build | 2 +- src/libstore/meson.build | 2 +- src/libutil-c/meson.build | 2 +- src/libutil-test-support/meson.build | 2 +- src/libutil/meson.build | 2 +- 17 files changed, 19 insertions(+), 16 deletions(-) diff --git a/nix-meson-build-support/common/meson.build b/nix-meson-build-support/common/meson.build index fd686f140..5a29ff61d 100644 --- a/nix-meson-build-support/common/meson.build +++ b/nix-meson-build-support/common/meson.build @@ -40,3 +40,6 @@ if cxx.get_id() == 'clang' and ('address' in get_option('b_sanitize') or 'undefi )) add_project_link_arguments('-shared-libasan', language : 'cpp') endif + +# Darwin ld doesn't like "X.Y.Zpre" +nix_soversion = meson.project_version().strip('pre') diff --git a/src/libcmd/meson.build b/src/libcmd/meson.build index b259182c2..f553afa0b 100644 --- a/src/libcmd/meson.build +++ b/src/libcmd/meson.build @@ -95,7 +95,7 @@ this_library = library( 'nixcmd', sources, config_priv_h, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libexpr-c/meson.build b/src/libexpr-c/meson.build index 95c2c8ac9..c47704ce4 100644 --- a/src/libexpr-c/meson.build +++ b/src/libexpr-c/meson.build @@ -50,7 +50,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixexprc', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libexpr-test-support/meson.build b/src/libexpr-test-support/meson.build index 1d874320a..df28661b7 100644 --- a/src/libexpr-test-support/meson.build +++ b/src/libexpr-test-support/meson.build @@ -44,7 +44,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nix-expr-test-support', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, # TODO: Remove `-lrapidcheck` when https://github.com/emil-e/rapidcheck/pull/326 diff --git a/src/libexpr/meson.build b/src/libexpr/meson.build index dc43a9742..55a36c1bd 100644 --- a/src/libexpr/meson.build +++ b/src/libexpr/meson.build @@ -181,7 +181,7 @@ this_library = library( parser_tab, lexer_tab, generated_headers, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libfetchers-c/meson.build b/src/libfetchers-c/meson.build index a381c792a..db415d917 100644 --- a/src/libfetchers-c/meson.build +++ b/src/libfetchers-c/meson.build @@ -53,7 +53,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixfetchersc', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libfetchers/meson.build b/src/libfetchers/meson.build index e5f5bd192..792a0fdbf 100644 --- a/src/libfetchers/meson.build +++ b/src/libfetchers/meson.build @@ -61,7 +61,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixfetchers', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libflake-c/meson.build b/src/libflake-c/meson.build index 837291786..fddb39bdf 100644 --- a/src/libflake-c/meson.build +++ b/src/libflake-c/meson.build @@ -53,7 +53,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixflakec', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libflake/meson.build b/src/libflake/meson.build index a962258e7..58916ecd9 100644 --- a/src/libflake/meson.build +++ b/src/libflake/meson.build @@ -58,7 +58,7 @@ this_library = library( 'nixflake', sources, generated_headers, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libmain-c/meson.build b/src/libmain-c/meson.build index 61ec4d54b..36332fdb7 100644 --- a/src/libmain-c/meson.build +++ b/src/libmain-c/meson.build @@ -45,7 +45,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixmainc', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libmain/meson.build b/src/libmain/meson.build index d465dd6a4..2ac59924e 100644 --- a/src/libmain/meson.build +++ b/src/libmain/meson.build @@ -77,7 +77,7 @@ this_library = library( 'nixmain', sources, config_priv_h, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libstore-c/meson.build b/src/libstore-c/meson.build index b73822b0c..c6b6174c7 100644 --- a/src/libstore-c/meson.build +++ b/src/libstore-c/meson.build @@ -46,7 +46,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixstorec', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libstore-test-support/meson.build b/src/libstore-test-support/meson.build index 90fef8489..5873680ea 100644 --- a/src/libstore-test-support/meson.build +++ b/src/libstore-test-support/meson.build @@ -44,7 +44,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nix-store-test-support', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, # TODO: Remove `-lrapidcheck` when https://github.com/emil-e/rapidcheck/pull/326 diff --git a/src/libstore/meson.build b/src/libstore/meson.build index 95dcf08bd..556616181 100644 --- a/src/libstore/meson.build +++ b/src/libstore/meson.build @@ -363,7 +363,7 @@ this_library = library( generated_headers, sources, config_priv_h, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libutil-c/meson.build b/src/libutil-c/meson.build index b214266a1..1806dbb6f 100644 --- a/src/libutil-c/meson.build +++ b/src/libutil-c/meson.build @@ -53,7 +53,7 @@ this_library = library( 'nixutilc', sources, config_priv_h, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags, diff --git a/src/libutil-test-support/meson.build b/src/libutil-test-support/meson.build index da2b443ec..64231107e 100644 --- a/src/libutil-test-support/meson.build +++ b/src/libutil-test-support/meson.build @@ -41,7 +41,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nix-util-test-support', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, # TODO: Remove `-lrapidcheck` when https://github.com/emil-e/rapidcheck/pull/326 diff --git a/src/libutil/meson.build b/src/libutil/meson.build index ff8b042c7..f4b8dbb61 100644 --- a/src/libutil/meson.build +++ b/src/libutil/meson.build @@ -197,7 +197,7 @@ subdir('nix-meson-build-support/windows-version') this_library = library( 'nixutil', sources, - soversion : meson.project_version().replace('pre', ''), + soversion : nix_soversion, dependencies : deps_public + deps_private + deps_other, include_directories : include_dirs, link_args : linker_export_flags,