git: 554780bc9457 - main - net-im/tdlib: refactor port (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Fri, 16 Oct 2026 13:42:30 UTC
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=554780bc9457ee84cbf3545167ffa0b829276bd1

commit 554780bc9457ee84cbf3545167ffa0b829276bd1
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2026-10-16 13:34:48 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2026-10-16 13:41:41 +0000

    net-im/tdlib: refactor port (+)
    
    * Make port installs properly versioned shared libraries to easy track in dependencies
    * Build *_private and *_static libraries as static, they not intended to be shared
    * Install a CMake package for tde2e which offers those as tde2e::tde2e and tde2e::tdutils [1]
    
    Co-Authored-by: mi [1]
    PR:             299290 [1]
---
 net-im/tdlib/Makefile                           |  3 +-
 net-im/tdlib/files/patch-CMakeLists.txt         | 88 ++++++++++++++++++-------
 net-im/tdlib/files/patch-sqlite_CMakeLists.txt  | 12 +++-
 net-im/tdlib/files/patch-tdactor_CMakeLists.txt | 12 +++-
 net-im/tdlib/files/patch-tddb_CMakeLists.txt    | 12 +++-
 net-im/tdlib/files/patch-tde2e_CMakeLists.txt   | 12 +++-
 net-im/tdlib/files/patch-tdnet_CMakeLists.txt   | 12 +++-
 net-im/tdlib/files/patch-tdtl_CMakeLists.txt    | 10 ++-
 net-im/tdlib/files/patch-tdutils_CMakeLists.txt | 12 +++-
 net-im/tdlib/pkg-plist                          | 29 +++++++-
 10 files changed, 166 insertions(+), 36 deletions(-)

diff --git a/net-im/tdlib/Makefile b/net-im/tdlib/Makefile
index 2893d005f298..c13289e9d8e5 100644
--- a/net-im/tdlib/Makefile
+++ b/net-im/tdlib/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	tdlib
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.8.68
+PORTREVISION=	1
 CATEGORIES=	net-im devel
 
 MAINTAINER=	fluffy@FreeBSD.org
@@ -22,7 +23,7 @@ CMAKE_ON=	TD_INSTALL_SHARED_LIBRARIES TD_INSTALL_STATIC_LIBRARIES \
 CMAKE_OFF+=	TD_E2E_ONLY # supposed to install tde2e but it fails to install headers
 CMAKE_OFF+=	BUILD_TESTING FREEBSD_BUILD_BENCHMARKS
 
-PLIST_SUB+=	LIBVERSION=${PORTVERSION}
+PLIST_SUB+=	LIBVERSION=${PORTVERSION} ABIVERSION=${PORTVERSION:R:R}
 
 post-patch:
 	@${REINPLACE_CMD} -e '/hashvar/ s|GITDIR-NOTFOUND|${GH_TAGNAME}|g' \
diff --git a/net-im/tdlib/files/patch-CMakeLists.txt b/net-im/tdlib/files/patch-CMakeLists.txt
index 93497e0782f4..15ef3cb0a792 100644
--- a/net-im/tdlib/files/patch-CMakeLists.txt
+++ b/net-im/tdlib/files/patch-CMakeLists.txt
@@ -1,4 +1,4 @@
---- CMakeLists.txt.orig	2026-07-14 11:54:57 UTC
+--- CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ CMakeLists.txt
 @@ -230,7 +230,7 @@ endif()
    add_subdirectory(test)
@@ -9,7 +9,7 @@
    add_subdirectory(benchmark)
  endif()
  
-@@ -1307,7 +1307,7 @@ set(MEMPROF_STAT_SOURCE
+@@ -1323,7 +1323,7 @@ set(MEMPROF_STAT_SOURCE
  # LIBRARIES
  
  # memprof - simple library for memory usage profiling
@@ -18,7 +18,7 @@
  target_include_directories(memprof PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
  target_link_libraries(memprof PRIVATE tdutils)
  if (MEMPROF)
-@@ -1321,12 +1321,12 @@ endif()
+@@ -1337,12 +1337,12 @@ endif()
    endif()
  endif()
  
@@ -33,7 +33,7 @@
  target_include_directories(tdapi PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> INTERFACE $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
  target_link_libraries(tdapi PRIVATE tdutils)
  
-@@ -1343,7 +1343,7 @@ endif()
+@@ -1359,7 +1359,7 @@ endif()
    add_dependencies(tdapi tl_generate_common)
  endif()
  
@@ -42,7 +42,7 @@
  target_include_directories(tdmtproto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
  target_include_directories(tdmtproto SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR})
  target_link_libraries(tdmtproto PUBLIC tdactor tdnet tdutils PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES})
-@@ -1360,11 +1360,11 @@ if (MSVC AND TD_ENABLE_LTO)
+@@ -1376,11 +1376,11 @@ if (MSVC AND TD_ENABLE_LTO)
  
  # tdcore - internal TDLib interface
  if (MSVC AND TD_ENABLE_LTO)
@@ -56,7 +56,7 @@
    target_include_directories(tdcore_part2 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
    target_link_libraries(tdcore_part2 PUBLIC tdapi tdnet tddb tdactor tde2e tdutils PRIVATE tdmtproto)
  
-@@ -1373,7 +1373,7 @@ else()
+@@ -1389,7 +1389,7 @@ else()
  
    set(TD_CORE_PART_TARGETS tdcore_part1 tdcore_part2)
  else()
@@ -65,7 +65,7 @@
    target_include_directories(tdcore PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
    target_link_libraries(tdcore PUBLIC tdapi tdnet tddb tdactor tde2e tdutils PRIVATE tdmtproto)
  
-@@ -1387,7 +1387,7 @@ endif()
+@@ -1403,7 +1403,7 @@ endif()
    endif()
  endif()
  
@@ -74,7 +74,7 @@
  target_include_directories(tdclient PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
  target_link_libraries(tdclient PUBLIC tdapi PRIVATE tdcore)
  
-@@ -1420,14 +1420,14 @@ endif()
+@@ -1436,7 +1436,7 @@ endif()
  endif()
  
  # tdc - TDLib interface in pure C
@@ -83,20 +83,58 @@
  target_include_directories(tdc PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
  target_link_libraries(tdc PRIVATE tdclient tdutils)
  if (NOT CMAKE_CROSSCOMPILING)
-   add_dependencies(tdc tl_generate_c)
- endif()
- 
--add_library(tdjson_private STATIC ${TL_TD_JSON_SOURCE} td/telegram/ClientJson.cpp td/telegram/ClientJson.h)
-+add_library(tdjson_private ${TL_TD_JSON_SOURCE} td/telegram/ClientJson.cpp td/telegram/ClientJson.h)
- target_include_directories(tdjson_private PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
- target_link_libraries(tdjson_private PUBLIC tdclient tdutils)
- if (NOT CMAKE_CROSSCOMPILING)
-@@ -1447,7 +1447,7 @@ endif()
-   set_target_properties(tdjson PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/tdclientjson_export_list")
- endif()
- 
--add_library(tdjson_static STATIC ${TD_JSON_SOURCE} ${TD_JSON_HEADERS})
-+add_library(tdjson_static ${TD_JSON_SOURCE} ${TD_JSON_HEADERS})
- target_link_libraries(tdjson_static PRIVATE tdjson_private)
- target_compile_definitions(tdjson_static PUBLIC TDJSON_STATIC_DEFINE)
- target_include_directories(tdjson_static PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
+@@ -1611,5 +1611,53 @@ install(FILES "TdConfig.cmake" "${CMAKE_CURRENT_BINARY
+   DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Td"
+ )
+ 
++# Let find_package(tde2e) succeed against the full TDLib too -- as with TD_E2E_ONLY above,
++# only the tde2e:: namespace differs from the Td:: targets
++if (TD_INSTALL_STATIC_LIBRARIES)
++  install(EXPORT TdStaticTargets
++    FILE tde2eStaticTargets.cmake
++    NAMESPACE tde2e::
++    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tde2e"
++  )
++  file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/tde2eConfig.cmake"
++    "include(\"\${CMAKE_CURRENT_LIST_DIR}/tde2eStaticTargets.cmake\")\n"
++    "include(CMakePackageConfigHelpers)\n"
++    "include(CMakeFindDependencyMacro)\n"
++    "find_dependency(Td ${TDLib_VERSION} EXACT CONFIG)\n"
++    "foreach (_tde2e_target tde2e tdutils)\n"
++    "  if (NOT TARGET tde2e::\${_tde2e_target})\n"
++    "    add_library(tde2e::\${_tde2e_target} INTERFACE IMPORTED)\n"
++    "    set_target_properties(tde2e::\${_tde2e_target} PROPERTIES INTERFACE_LINK_LIBRARIES Td::\${_tde2e_target})\n"
++    "  endif()\n"
++    "endforeach()\n"
++  )
++  write_basic_package_version_file("tde2eConfigVersion.cmake"
++    VERSION "${TDLib_VERSION}"
++    COMPATIBILITY ExactVersion
++  )
++  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tde2eConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/tde2eConfigVersion.cmake"
++    DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/tde2e"
++  )
++endif()
++
+ # Add SOVERSION to shared libraries
+-set_property(TARGET tdjson PROPERTY SOVERSION "${TDLib_VERSION}")
++set_target_properties(tdapi PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdapi )
++set_target_properties(tdcore PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdcore )
++set_target_properties(tdclient PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdclient )
++set_target_properties(tdjson PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdjson )
++set_target_properties(tdmtproto PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdmtproto )
diff --git a/net-im/tdlib/files/patch-sqlite_CMakeLists.txt b/net-im/tdlib/files/patch-sqlite_CMakeLists.txt
index d6db21f5bb35..fe42eb84683a 100644
--- a/net-im/tdlib/files/patch-sqlite_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-sqlite_CMakeLists.txt
@@ -1,4 +1,4 @@
---- sqlite/CMakeLists.txt.orig	2025-05-09 16:44:31 UTC
+--- sqlite/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ sqlite/CMakeLists.txt
 @@ -23,7 +23,7 @@ set(SQLITE_SOURCE
  
@@ -9,3 +9,13 @@
  target_include_directories(tdsqlite PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
  target_include_directories(tdsqlite SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR})
  target_link_libraries(tdsqlite PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES})
+@@ -80,3 +80,9 @@ endif()
+     ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+   )
+ endif()
++
++# Add SOVERSION to shared libraries
++set_target_properties(tdsqlite PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdsqlite )
diff --git a/net-im/tdlib/files/patch-tdactor_CMakeLists.txt b/net-im/tdlib/files/patch-tdactor_CMakeLists.txt
index 7894a1a863c2..9cccd9a812d8 100644
--- a/net-im/tdlib/files/patch-tdactor_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-tdactor_CMakeLists.txt
@@ -1,4 +1,4 @@
---- tdactor/CMakeLists.txt.orig	2025-05-09 16:50:48 UTC
+--- tdactor/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ tdactor/CMakeLists.txt
 @@ -44,7 +44,7 @@ set(TDACTOR_TEST_SOURCE
    PARENT_SCOPE
@@ -9,3 +9,13 @@
  target_include_directories(tdactor PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
  target_link_libraries(tdactor PUBLIC tdutils)
  
+@@ -59,3 +59,9 @@ endif()
+     ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+   )
+ endif()
++
++# Add SOVERSION to shared libraries
++set_target_properties(tdactor PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdactor )
diff --git a/net-im/tdlib/files/patch-tddb_CMakeLists.txt b/net-im/tdlib/files/patch-tddb_CMakeLists.txt
index e42b54861319..4ffc615c1831 100644
--- a/net-im/tdlib/files/patch-tddb_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-tddb_CMakeLists.txt
@@ -1,4 +1,4 @@
---- tddb/CMakeLists.txt.orig	2025-05-09 16:50:17 UTC
+--- tddb/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ tddb/CMakeLists.txt
 @@ -48,7 +48,7 @@ set(TDDB_SOURCE
    td/db/detail/RawSqliteDb.h
@@ -9,3 +9,13 @@
  target_include_directories(tddb PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
  target_link_libraries(tddb PUBLIC tdactor tdutils PRIVATE tdsqlite)
  
+@@ -63,3 +63,9 @@ endif()
+     ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+   )
+ endif()
++
++# Add SOVERSION to shared libraries
++set_target_properties(tddb PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tddb )
diff --git a/net-im/tdlib/files/patch-tde2e_CMakeLists.txt b/net-im/tdlib/files/patch-tde2e_CMakeLists.txt
index 182df98beffe..a7c7dc525de0 100644
--- a/net-im/tdlib/files/patch-tde2e_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-tde2e_CMakeLists.txt
@@ -1,4 +1,4 @@
---- tde2e/CMakeLists.txt.orig	2026-07-14 11:54:57 UTC
+--- tde2e/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ tde2e/CMakeLists.txt
 @@ -66,7 +66,7 @@ set(TDE2E_TEST_SOURCE "${TDE2E_TEST_SOURCE}" PARENT_SC
  
@@ -9,3 +9,13 @@
  if (NOT CMAKE_CROSSCOMPILING)
    add_dependencies(tde2e tl_generate_common)
  endif()
+@@ -92,3 +92,9 @@ endif()
+     install(FILES td/e2e/e2e_api.h td/e2e/e2e_errors.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/td/e2e")
+   endif()
+ endif()
++
++# Add SOVERSION to shared libraries
++set_target_properties(tde2e PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tde2e )
diff --git a/net-im/tdlib/files/patch-tdnet_CMakeLists.txt b/net-im/tdlib/files/patch-tdnet_CMakeLists.txt
index ae3b417df20a..2b2cf093be28 100644
--- a/net-im/tdlib/files/patch-tdnet_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-tdnet_CMakeLists.txt
@@ -1,4 +1,4 @@
---- tdnet/CMakeLists.txt.orig	2026-07-14 11:54:57 UTC
+--- tdnet/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ tdnet/CMakeLists.txt
 @@ -61,7 +61,7 @@ endif()
    set_source_files_properties(td/net/DarwinHttp.mm PROPERTIES COMPILE_FLAGS -fobjc-arc)
@@ -9,3 +9,13 @@
  target_include_directories(tdnet PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
  target_include_directories(tdnet SYSTEM PRIVATE $<BUILD_INTERFACE:${OPENSSL_INCLUDE_DIR}>)
  target_link_libraries(tdnet PUBLIC tdutils tdactor)
+@@ -89,3 +89,9 @@ endif()
+     ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+   )
+ endif()
++
++# Add SOVERSION to shared libraries
++set_target_properties(tdnet PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdnet )
diff --git a/net-im/tdlib/files/patch-tdtl_CMakeLists.txt b/net-im/tdlib/files/patch-tdtl_CMakeLists.txt
index bd6135a15438..2764675bd9a3 100644
--- a/net-im/tdlib/files/patch-tdtl_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-tdtl_CMakeLists.txt
@@ -1,9 +1,15 @@
---- tdtl/CMakeLists.txt.orig	2025-05-09 16:52:10 UTC
+--- tdtl/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ tdtl/CMakeLists.txt
-@@ -24,5 +24,5 @@ set(TDTL_SOURCE
+@@ -24,5 +24,11 @@ set(TDTL_SOURCE
    td/tl/tl_writer.h
  )
  
 -add_library(tdtl STATIC ${TDTL_SOURCE})
 +add_library(tdtl ${TDTL_SOURCE})
  target_include_directories(tdtl PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
++
++# Add SOVERSION to shared libraries
++set_target_properties(tdtl PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdtl )
diff --git a/net-im/tdlib/files/patch-tdutils_CMakeLists.txt b/net-im/tdlib/files/patch-tdutils_CMakeLists.txt
index 60e62535b6d3..f7ae4064dd1f 100644
--- a/net-im/tdlib/files/patch-tdutils_CMakeLists.txt
+++ b/net-im/tdlib/files/patch-tdutils_CMakeLists.txt
@@ -1,4 +1,4 @@
---- tdutils/CMakeLists.txt.orig	2025-05-09 16:51:24 UTC
+--- tdutils/CMakeLists.txt.orig	2026-10-08 21:02:52 UTC
 +++ tdutils/CMakeLists.txt
 @@ -351,7 +351,7 @@ set(TDUTILS_TEST_SOURCE
    PARENT_SCOPE
@@ -9,3 +9,13 @@
  
  if (NOT CMAKE_CROSSCOMPILING AND TDUTILS_MIME_TYPE)
    add_dependencies(tdutils tdmime_auto)
+@@ -428,3 +428,9 @@ endif()
+     target_link_libraries(benchmark-hashset PRIVATE tdutils benchmark::benchmark Folly::folly absl::flat_hash_map absl::hash)
+   endif()
+ endif()
++
++# Add SOVERSION to shared libraries
++set_target_properties(tdutils PROPERTIES 
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME tdutils )
diff --git a/net-im/tdlib/pkg-plist b/net-im/tdlib/pkg-plist
index 5cfd01d13367..d901dda1ee07 100644
--- a/net-im/tdlib/pkg-plist
+++ b/net-im/tdlib/pkg-plist
@@ -785,20 +785,45 @@ lib/cmake/Td/TdStaticTargets-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/Td/TdStaticTargets.cmake
 lib/cmake/Td/TdTargets-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/Td/TdTargets.cmake
+lib/cmake/tde2e/tde2eConfig.cmake
+lib/cmake/tde2e/tde2eConfigVersion.cmake
+lib/cmake/tde2e/tde2eStaticTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/tde2e/tde2eStaticTargets.cmake
 lib/libtdactor.so
+lib/libtdactor.so.%%ABIVERSION%%
+lib/libtdactor.so.%%LIBVERSION%%
 lib/libtdapi.so
+lib/libtdapi.so.%%ABIVERSION%%
+lib/libtdapi.so.%%LIBVERSION%%
 lib/libtdclient.so
+lib/libtdclient.so.%%ABIVERSION%%
+lib/libtdclient.so.%%LIBVERSION%%
 lib/libtdcore.so
+lib/libtdcore.so.%%ABIVERSION%%
+lib/libtdcore.so.%%LIBVERSION%%
 lib/libtddb.so
+lib/libtddb.so.%%ABIVERSION%%
+lib/libtddb.so.%%LIBVERSION%%
 lib/libtde2e.so
+lib/libtde2e.so.%%ABIVERSION%%
+lib/libtde2e.so.%%LIBVERSION%%
 lib/libtdjson.so
+lib/libtdjson.so.%%ABIVERSION%%
 lib/libtdjson.so.%%LIBVERSION%%
-lib/libtdjson_private.so
-lib/libtdjson_static.so
+lib/libtdjson_private.a
+lib/libtdjson_static.a
 lib/libtdmtproto.so
+lib/libtdmtproto.so.%%ABIVERSION%%
+lib/libtdmtproto.so.%%LIBVERSION%%
 lib/libtdnet.so
+lib/libtdnet.so.%%ABIVERSION%%
+lib/libtdnet.so.%%LIBVERSION%%
 lib/libtdsqlite.so
+lib/libtdsqlite.so.%%ABIVERSION%%
+lib/libtdsqlite.so.%%LIBVERSION%%
 lib/libtdutils.so
+lib/libtdutils.so.%%ABIVERSION%%
+lib/libtdutils.so.%%LIBVERSION%%
 libdata/pkgconfig/tdactor.pc
 libdata/pkgconfig/tdapi.pc
 libdata/pkgconfig/tdclient.pc