net-im/tdlib: Remove static libs in favor of shared libs
This commit is contained in:
@@ -14,6 +14,8 @@ WWW= https://github.com/ars3niy/tdlib-purple
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
BROKEN= fails to compile with the latest revision of net-im/tdlib
|
||||
|
||||
LIB_DEPENDS= libfmt.so:devel/libfmt \
|
||||
libtdapi.so:net-im/tdlib \
|
||||
librlottie.so:graphics/rlottie \
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
PORTNAME= tdlib
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 1.8.48
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= net-im devel
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
@@ -15,8 +16,10 @@ USE_GITHUB= yes
|
||||
GH_PROJECT= td
|
||||
GH_TAGNAME= b8b08b0 # hash corresponding to 1.8.48
|
||||
|
||||
CMAKE_ON= TD_INSTALL_SHARED_LIBRARIES TD_INSTALL_STATIC_LIBRARIES
|
||||
CMAKE_OFF= BUILD_TESTING FREEBSD_BUILD_BENCHMARKS
|
||||
CMAKE_ON= TD_INSTALL_SHARED_LIBRARIES TD_INSTALL_STATIC_LIBRARIES \
|
||||
BUILD_SHARED_LIBS
|
||||
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}
|
||||
|
||||
@@ -24,4 +27,12 @@ post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%COMMIT%%|${GH_TAGNAME}|g' \
|
||||
${WRKSRC}/CMake/GetGitRevisionDescription.cmake
|
||||
|
||||
post-install: # see https://github.com/tdlib/td/issues/3328
|
||||
@cd ${WRKSRC}/td && \
|
||||
${COPYTREE_SHARE} telegram ${STAGEDIR}${PREFIX}/include/td
|
||||
@cd ${WRKSRC}/tdutils/td && \
|
||||
${COPYTREE_SHARE} utils ${STAGEDIR}${PREFIX}/include/td
|
||||
@cd ${WRKSRC}/tde2e/td && \
|
||||
${COPYTREE_SHARE} e2e ${STAGEDIR}${PREFIX}/include/td
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
||||
@@ -9,3 +9,95 @@
|
||||
add_subdirectory(benchmark)
|
||||
endif()
|
||||
|
||||
@@ -1148,7 +1148,7 @@ set(MEMPROF_STAT_SOURCE
|
||||
# LIBRARIES
|
||||
|
||||
# memprof - simple library for memory usage profiling
|
||||
-add_library(memprof STATIC ${MEMPROF_SOURCE})
|
||||
+add_library(memprof ${MEMPROF_SOURCE})
|
||||
target_include_directories(memprof PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
target_link_libraries(memprof PRIVATE tdutils)
|
||||
if (MEMPROF)
|
||||
@@ -1162,12 +1162,12 @@ endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-add_library(memprof_stat EXCLUDE_FROM_ALL STATIC ${MEMPROF_STAT_SOURCE})
|
||||
+add_library(memprof_stat EXCLUDE_FROM_ALL ${MEMPROF_STAT_SOURCE})
|
||||
target_include_directories(memprof_stat PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
target_link_libraries(memprof_stat PRIVATE tdutils)
|
||||
|
||||
|
||||
-add_library(tdapi STATIC ${TL_TD_API_SOURCE})
|
||||
+add_library(tdapi ${TL_TD_API_SOURCE})
|
||||
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)
|
||||
|
||||
@@ -1184,7 +1184,7 @@ endif()
|
||||
add_dependencies(tdapi tl_generate_common)
|
||||
endif()
|
||||
|
||||
-add_library(tdmtproto STATIC ${TD_MTPROTO_SOURCE})
|
||||
+add_library(tdmtproto ${TD_MTPROTO_SOURCE})
|
||||
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})
|
||||
@@ -1201,11 +1201,11 @@ if (MSVC AND TD_ENABLE_LTO)
|
||||
|
||||
# tdcore - internal TDLib interface
|
||||
if (MSVC AND TD_ENABLE_LTO)
|
||||
- add_library(tdcore_part1 STATIC ${TDLIB_SOURCE_PART1})
|
||||
+ add_library(tdcore_part1 ${TDLIB_SOURCE_PART1})
|
||||
target_include_directories(tdcore_part1 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
|
||||
target_link_libraries(tdcore_part1 PUBLIC tdapi tdnet tddb tdactor tde2e tdutils PRIVATE tdmtproto)
|
||||
|
||||
- add_library(tdcore_part2 STATIC ${TDLIB_SOURCE_PART2})
|
||||
+ add_library(tdcore_part2 ${TDLIB_SOURCE_PART2})
|
||||
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)
|
||||
|
||||
@@ -1214,7 +1214,7 @@ else()
|
||||
|
||||
set(TD_CORE_PART_TARGETS tdcore_part1 tdcore_part2)
|
||||
else()
|
||||
- add_library(tdcore STATIC ${TDLIB_SOURCE})
|
||||
+ add_library(tdcore ${TDLIB_SOURCE})
|
||||
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)
|
||||
|
||||
@@ -1231,7 +1231,7 @@ endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-add_library(tdclient STATIC td/telegram/Client.cpp td/telegram/Client.h td/telegram/Log.cpp td/telegram/Log.h)
|
||||
+add_library(tdclient td/telegram/Client.cpp td/telegram/Client.h td/telegram/Log.cpp td/telegram/Log.h)
|
||||
target_include_directories(tdclient PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
)
|
||||
@@ -1263,7 +1263,7 @@ endif()
|
||||
endif()
|
||||
|
||||
# tdc - TDLib interface in pure C
|
||||
-add_library(tdc STATIC EXCLUDE_FROM_ALL ${TL_C_SCHEME_SOURCE} td/telegram/td_c_client.cpp td/telegram/td_c_client.h)
|
||||
+add_library(tdc EXCLUDE_FROM_ALL ${TL_C_SCHEME_SOURCE} td/telegram/td_c_client.cpp td/telegram/td_c_client.h)
|
||||
target_include_directories(tdc PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDE_DIR}>)
|
||||
@@ -1272,7 +1272,7 @@ endif()
|
||||
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}>)
|
||||
@@ -1299,7 +1299,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
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
if (GIT_DIR STREQUAL "")
|
||||
set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE)
|
||||
- set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE)
|
||||
+ set(${_hashvar} "%%COMMIT%%" PARENT_SCOPE)
|
||||
+ set(${_hashvar} "b8b08b0" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
||||
11
net-im/tdlib/files/patch-sqlite_CMakeLists.txt
Normal file
11
net-im/tdlib/files/patch-sqlite_CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
--- sqlite/CMakeLists.txt.orig 2025-05-09 16:44:31 UTC
|
||||
+++ sqlite/CMakeLists.txt
|
||||
@@ -23,7 +23,7 @@ set(SQLITE_SOURCE
|
||||
|
||||
# all SQLite functions are moved to namespace tdsqlite3 by `sed -Ebi 's/sqlite3([^.]|$)/td&/g' *`
|
||||
|
||||
-add_library(tdsqlite STATIC ${SQLITE_SOURCE})
|
||||
+add_library(tdsqlite ${SQLITE_SOURCE})
|
||||
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})
|
||||
11
net-im/tdlib/files/patch-tdactor_CMakeLists.txt
Normal file
11
net-im/tdlib/files/patch-tdactor_CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
--- tdactor/CMakeLists.txt.orig 2025-05-09 16:50:48 UTC
|
||||
+++ tdactor/CMakeLists.txt
|
||||
@@ -44,7 +44,7 @@ set(TDACTOR_TEST_SOURCE
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
-add_library(tdactor STATIC ${TDACTOR_SOURCE})
|
||||
+add_library(tdactor ${TDACTOR_SOURCE})
|
||||
target_include_directories(tdactor PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
target_link_libraries(tdactor PUBLIC tdutils)
|
||||
|
||||
11
net-im/tdlib/files/patch-tddb_CMakeLists.txt
Normal file
11
net-im/tdlib/files/patch-tddb_CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
--- tddb/CMakeLists.txt.orig 2025-05-09 16:50:17 UTC
|
||||
+++ tddb/CMakeLists.txt
|
||||
@@ -48,7 +48,7 @@ set(TDDB_SOURCE
|
||||
td/db/detail/RawSqliteDb.h
|
||||
)
|
||||
|
||||
-add_library(tddb STATIC ${TDDB_SOURCE})
|
||||
+add_library(tddb ${TDDB_SOURCE})
|
||||
target_include_directories(tddb PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
target_link_libraries(tddb PUBLIC tdactor tdutils PRIVATE tdsqlite)
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
--- tde2e/CMakeLists.txt.orig 2025-04-30 22:25:21 UTC
|
||||
--- tde2e/CMakeLists.txt.orig 2025-05-09 16:51:07 UTC
|
||||
+++ tde2e/CMakeLists.txt
|
||||
@@ -83,4 +83,7 @@ if (TDE2E_ENABLE_INSTALL)
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
)
|
||||
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/td
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
+ FILES_MATCHING PATTERN "*.h")
|
||||
@@ -62,7 +62,7 @@ set(TDE2E_TEST_SOURCE "${TDE2E_TEST_SOURCE}" PARENT_SC
|
||||
|
||||
set(TDE2E_TEST_SOURCE "${TDE2E_TEST_SOURCE}" PARENT_SCOPE)
|
||||
|
||||
-add_library(tde2e STATIC ${TDE2E_SOURCE})
|
||||
+add_library(tde2e ${TDE2E_SOURCE})
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
add_dependencies(tde2e tl_generate_common)
|
||||
endif()
|
||||
|
||||
11
net-im/tdlib/files/patch-tdnet_CMakeLists.txt
Normal file
11
net-im/tdlib/files/patch-tdnet_CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
--- tdnet/CMakeLists.txt.orig 2025-05-09 16:51:47 UTC
|
||||
+++ tdnet/CMakeLists.txt
|
||||
@@ -60,7 +60,7 @@ endif()
|
||||
set_source_files_properties(td/net/DarwinHttp.mm PROPERTIES COMPILE_FLAGS -fobjc-arc)
|
||||
endif()
|
||||
|
||||
-add_library(tdnet STATIC ${TDNET_SOURCE})
|
||||
+add_library(tdnet ${TDNET_SOURCE})
|
||||
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)
|
||||
9
net-im/tdlib/files/patch-tdtl_CMakeLists.txt
Normal file
9
net-im/tdlib/files/patch-tdtl_CMakeLists.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
--- tdtl/CMakeLists.txt.orig 2025-05-09 16:52:10 UTC
|
||||
+++ tdtl/CMakeLists.txt
|
||||
@@ -24,5 +24,5 @@ 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}>)
|
||||
@@ -1,12 +1,11 @@
|
||||
--- tdutils/CMakeLists.txt.orig 2025-04-30 22:25:21 UTC
|
||||
--- tdutils/CMakeLists.txt.orig 2025-05-09 16:51:24 UTC
|
||||
+++ tdutils/CMakeLists.txt
|
||||
@@ -416,6 +416,9 @@ if (TDUTILS_ENABLE_INSTALL)
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
)
|
||||
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/td
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
+ FILES_MATCHING PATTERN "*.h")
|
||||
endif()
|
||||
@@ -351,7 +351,7 @@ set(TDUTILS_TEST_SOURCE
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
if (TD_TEST_FOLLY AND ABSL_FOUND AND TDUTILS_USE_EXTERNAL_DEPENDENCIES)
|
||||
-add_library(tdutils STATIC ${TDUTILS_SOURCE})
|
||||
+add_library(tdutils ${TDUTILS_SOURCE})
|
||||
|
||||
if (NOT CMAKE_CROSSCOMPILING AND TDUTILS_MIME_TYPE)
|
||||
add_dependencies(tdutils tdmime_auto)
|
||||
|
||||
11
net-im/tdlib/files/patch-test_CMakeLists.txt
Normal file
11
net-im/tdlib/files/patch-test_CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
--- test/CMakeLists.txt.orig 2025-05-09 17:43:17 UTC
|
||||
+++ test/CMakeLists.txt
|
||||
@@ -61,7 +61,7 @@ if (NOT CMAKE_CROSSCOMPILING OR EMSCRIPTEN)
|
||||
target_include_directories(run_all_tests PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
target_include_directories(test-tdutils PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
target_link_libraries(test-tdutils PRIVATE tdutils)
|
||||
- target_link_libraries(run_all_tests PRIVATE tdcore tdclient)
|
||||
+ target_link_libraries(run_all_tests PRIVATE tdcore tdclient tdmtproto)
|
||||
target_link_libraries(test-online PRIVATE tdcore tdjson_private tdclient tdutils tdactor)
|
||||
|
||||
if (CLANG)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
||||
PORTNAME= telegram-desktop
|
||||
DISTVERSION= 5.14.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= net-im
|
||||
MASTER_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/v${DISTVERSION}/
|
||||
DISTNAME= tdesktop-${DISTVERSION}-full
|
||||
@@ -27,7 +28,6 @@ BUILD_DEPENDS= boost-libs>0:devel/boost-libs \
|
||||
tl-expected>0:devel/tl-expected \
|
||||
v4l_compat>0:multimedia/v4l_compat \
|
||||
yasm:devel/yasm \
|
||||
${LOCALBASE}/lib/libtde2e.a:net-im/tdlib \
|
||||
${LOCALBASE}/lib/libtg_owt.a:net-im/tg_owt
|
||||
LIB_DEPENDS= libabsl_base.so:devel/abseil \
|
||||
libada.so:devel/libada \
|
||||
@@ -47,6 +47,7 @@ LIB_DEPENDS= libabsl_base.so:devel/abseil \
|
||||
libqrcodegencpp.so:graphics/qr-code-generator \
|
||||
librnnoise.so:audio/rnnoise \
|
||||
libsrtp2.so:net/libsrtp2 \
|
||||
libtde2e.so:net-im/tdlib \
|
||||
libxxhash.so:devel/xxhash \
|
||||
libvpx.so:multimedia/libvpx
|
||||
|
||||
|
||||
Reference in New Issue
Block a user