nix/13995.patch
2025-10-27 12:42:00 +08:00

218 lines
8.7 KiB
Diff

From dd1a554aba720c5f23a529ddc32f1c7127b62af9 Mon Sep 17 00:00:00 2001
From: Jens Petersen <petersen@redhat.com>
Date: Mon, 15 Sep 2025 14:38:08 +0800
Subject: [PATCH] meson: add soversion with nix version to give SONAME to libs
(#13960, #13979)
remove 'pre' version suffix for non-releases (chokes Darwin ld)
---
src/libcmd/meson.build | 1 +
src/libexpr-c/meson.build | 1 +
src/libexpr-test-support/meson.build | 1 +
src/libexpr/meson.build | 1 +
src/libfetchers-c/meson.build | 1 +
src/libfetchers/meson.build | 1 +
src/libflake-c/meson.build | 1 +
src/libflake/meson.build | 1 +
src/libmain-c/meson.build | 1 +
src/libmain/meson.build | 1 +
src/libstore-c/meson.build | 1 +
src/libstore-test-support/meson.build | 1 +
src/libstore/meson.build | 1 +
src/libutil-c/meson.build | 1 +
src/libutil-test-support/meson.build | 1 +
src/libutil/meson.build | 1 +
16 files changed, 16 insertions(+)
diff --git a/src/libcmd/meson.build b/src/libcmd/meson.build
index 24e0752462c..b259182c266 100644
--- a/src/libcmd/meson.build
+++ b/src/libcmd/meson.build
@@ -95,6 +95,7 @@ this_library = library(
'nixcmd',
sources,
config_priv_h,
+ soversion : meson.project_version().replace('pre', ''),
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 7c014d61d37..95c2c8ac92c 100644
--- a/src/libexpr-c/meson.build
+++ b/src/libexpr-c/meson.build
@@ -50,6 +50,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixexprc',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 d762eb85e32..1d874320a51 100644
--- a/src/libexpr-test-support/meson.build
+++ b/src/libexpr-test-support/meson.build
@@ -44,6 +44,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nix-expr-test-support',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 40d3f390b4b..dc43a97420d 100644
--- a/src/libexpr/meson.build
+++ b/src/libexpr/meson.build
@@ -181,6 +181,7 @@ this_library = library(
parser_tab,
lexer_tab,
generated_headers,
+ soversion : meson.project_version().replace('pre', ''),
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 8542744b4da..a381c792af9 100644
--- a/src/libfetchers-c/meson.build
+++ b/src/libfetchers-c/meson.build
@@ -53,6 +53,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixfetchersc',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 922a2c49199..e5f5bd19210 100644
--- a/src/libfetchers/meson.build
+++ b/src/libfetchers/meson.build
@@ -61,6 +61,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixfetchers',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 933e06d9037..83729178693 100644
--- a/src/libflake-c/meson.build
+++ b/src/libflake-c/meson.build
@@ -53,6 +53,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixflakec',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 191d8f0680c..a962258e723 100644
--- a/src/libflake/meson.build
+++ b/src/libflake/meson.build
@@ -58,6 +58,7 @@ this_library = library(
'nixflake',
sources,
generated_headers,
+ soversion : meson.project_version().replace('pre', ''),
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 9e26ad8adf3..61ec4d54b53 100644
--- a/src/libmain-c/meson.build
+++ b/src/libmain-c/meson.build
@@ -45,6 +45,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixmainc',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 4a90d2d83b6..d465dd6a40f 100644
--- a/src/libmain/meson.build
+++ b/src/libmain/meson.build
@@ -77,6 +77,7 @@ this_library = library(
'nixmain',
sources,
config_priv_h,
+ soversion : meson.project_version().replace('pre', ''),
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 f8eaef80395..b73822b0cb7 100644
--- a/src/libstore-c/meson.build
+++ b/src/libstore-c/meson.build
@@ -46,6 +46,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixstorec',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 b2977941f86..90fef8489ad 100644
--- a/src/libstore-test-support/meson.build
+++ b/src/libstore-test-support/meson.build
@@ -44,6 +44,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nix-store-test-support',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 7aeacbab79b..95dcf08bd0d 100644
--- a/src/libstore/meson.build
+++ b/src/libstore/meson.build
@@ -363,6 +363,7 @@ this_library = library(
generated_headers,
sources,
config_priv_h,
+ soversion : meson.project_version().replace('pre', ''),
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 8131c517cd8..b214266a13a 100644
--- a/src/libutil-c/meson.build
+++ b/src/libutil-c/meson.build
@@ -53,6 +53,7 @@ this_library = library(
'nixutilc',
sources,
config_priv_h,
+ soversion : meson.project_version().replace('pre', ''),
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 910f1d88164..da2b443ec54 100644
--- a/src/libutil-test-support/meson.build
+++ b/src/libutil-test-support/meson.build
@@ -41,6 +41,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nix-util-test-support',
sources,
+ soversion : meson.project_version().replace('pre', ''),
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 cdffc892ae7..ff8b042c7ec 100644
--- a/src/libutil/meson.build
+++ b/src/libutil/meson.build
@@ -197,6 +197,7 @@ subdir('nix-meson-build-support/windows-version')
this_library = library(
'nixutil',
sources,
+ soversion : meson.project_version().replace('pre', ''),
dependencies : deps_public + deps_private + deps_other,
include_directories : include_dirs,
link_args : linker_export_flags,