$OpenBSD: patch-buildtools_wafsamba_wafsamba_py,v 1.7 2019/12/19 02:57:28 jca Exp $

- allow the library version to be overriden

  BUG: https://bugzilla.samba.org/show_bug.cgi?id=9774

- make sure we don't clobber the version that ends up in tdb.pc

Index: buildtools/wafsamba/wafsamba.py
--- buildtools/wafsamba/wafsamba.py.orig
+++ buildtools/wafsamba/wafsamba.py
@@ -219,6 +219,14 @@ def SAMBA_LIBRARY(bld, libname, source,
     deps = TO_LIST(deps)
     deps.append(obj_target)
 
+    saved_lib_version = vnum
+    osvnum = os.getenv('LIB' + libname.replace('-', '_') + '_VERSION')
+    if osvnum:
+        vnum = osvnum
+        if realname:  realname  = re.sub(r'(\.[0-9]+)+$', '.' + osvnum, realname)
+        if link_name: link_name = re.sub(r'(\.[0-9]+)+$', '.' + osvnum, link_name)
+        if soname:    soname    = re.sub(r'(\.[0-9]+)+$', '.' + osvnum, soname)
+
     realname = bld.map_shlib_extension(realname, python=(target_type=='PYTHON'))
     link_name = bld.map_shlib_extension(link_name, python=(target_type=='PYTHON'))
 
@@ -331,9 +339,9 @@ def SAMBA_LIBRARY(bld, libname, source,
 
     if pc_files is not None and not private_library:
         if pyembed and bld.env['IS_EXTRA_PYTHON']:
-            bld.PKG_CONFIG_FILES(pc_files, vnum=vnum, extra_name=bld.env['PYTHON_SO_ABI_FLAG'])
+            bld.PKG_CONFIG_FILES(pc_files, vnum=saved_lib_version, extra_name=bld.env['PYTHON_SO_ABI_FLAG'])
         else:
-            bld.PKG_CONFIG_FILES(pc_files, vnum=vnum)
+            bld.PKG_CONFIG_FILES(pc_files, vnum=saved_lib_version)
 
     if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and
         bld.env['XSLTPROC_MANPAGES']):
