From 3ed295a14acafb8e852cdace53e9d84f5f5238c4 Mon Sep 17 00:00:00 2001 From: Ivan Sokolov Date: Thu, 16 Jul 2020 14:03:58 +0300 Subject: [PATCH] New package: libtd-1.6.0 --- common/shlibs | 1 + srcpkgs/libtd-devel | 1 + srcpkgs/libtd/patches/cross-compiling.patch | 122 ++++++++++++++++++++ srcpkgs/libtd/template | 29 +++++ 4 files changed, 153 insertions(+) create mode 120000 srcpkgs/libtd-devel create mode 100644 srcpkgs/libtd/patches/cross-compiling.patch create mode 100644 srcpkgs/libtd/template diff --git a/common/shlibs b/common/shlibs index 42bb0996d24..df4341bcabc 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3979,3 +3979,4 @@ libtexluajit.so.2 texlive-LuaTeX-20200406_1 libtexlua53.so.5 texlive-LuaTeX-20200406_1 libptexenc.so.1 texlive-20200406_1 libdolphinvcs.so.5 dolphin-20.04.3_1 +libtdjson.so.1.6.0 libtd-1.6.0_1 diff --git a/srcpkgs/libtd-devel b/srcpkgs/libtd-devel new file mode 120000 index 00000000000..ee1a79b2bad --- /dev/null +++ b/srcpkgs/libtd-devel @@ -0,0 +1 @@ +libtd \ No newline at end of file diff --git a/srcpkgs/libtd/patches/cross-compiling.patch b/srcpkgs/libtd/patches/cross-compiling.patch new file mode 100644 index 00000000000..f7290089ef1 --- /dev/null +++ b/srcpkgs/libtd/patches/cross-compiling.patch @@ -0,0 +1,122 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ecf31c4a..c070b3da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,7 +261,7 @@ add_subdirectory(tdutils) + + add_subdirectory(td/generate) + +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_custom_target(prepare_cross_compiling DEPENDS tl_generate_common tdmime_auto tl_generate_json) + if (TD_ENABLE_DOTNET) + add_custom_target(remove_cpp_documentation +@@ -760,7 +760,7 @@ if (TD_ENABLE_JNI AND NOT ANDROID) # jni is available by default on Android + target_link_libraries(tdcore PUBLIC ${JAVA_JVM_LIBRARY}) + endif() + +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_dependencies(tdcore tl_generate_common) + if (TD_ENABLE_JNI) + add_dependencies(tdcore td_generate_java_api) +@@ -794,7 +794,7 @@ if (TD_ENABLE_DOTNET) + target_include_directories(tddotnet PUBLIC + $ + ) +- if (NOT CMAKE_CROSSCOMPILING) ++ if (YES) + add_dependencies(tddotnet generate_dotnet_api) + endif() + +@@ -814,7 +814,7 @@ target_include_directories(tdc PUBLIC + $ + $) + target_link_libraries(tdc PRIVATE tdclient tdutils) +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_dependencies(tdc tl_generate_c) + endif() + +@@ -823,7 +823,7 @@ target_include_directories(tdjson_private PUBLIC + $ + $) + target_link_libraries(tdjson_private PUBLIC tdclient tdutils) +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_dependencies(tdjson_private tl_generate_common tl_generate_json) + if (TD_ENABLE_DOTNET) + add_dependencies(tdjson_private remove_cpp_documentation) +@@ -879,7 +879,7 @@ if (EMSCRIPTEN) + endif() + + #EXECUTABLES +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_executable(tg_cli td/telegram/cli.cpp ${TL_TD_JSON}) + + if (NOT READLINE_FOUND) +diff --git a/td/generate/CMakeLists.txt b/td/generate/CMakeLists.txt +index a3f52b6c..0a386ed4 100644 +--- a/td/generate/CMakeLists.txt ++++ b/td/generate/CMakeLists.txt +@@ -89,7 +89,7 @@ set(TL_GENERATE_JSON_SOURCE + tl_json_converter.h + ) + +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + find_program(PHP_EXECUTABLE php) + + if (PHP_EXECUTABLE AND NOT TD_ENABLE_DOTNET) +diff --git a/tddb/CMakeLists.txt b/tddb/CMakeLists.txt +index 9a80b6cf..8cc9b0f5 100644 +--- a/tddb/CMakeLists.txt ++++ b/tddb/CMakeLists.txt +@@ -48,7 +48,7 @@ add_library(tddb STATIC ${TDDB_SOURCE}) + target_include_directories(tddb PUBLIC $) + target_link_libraries(tddb PUBLIC tdactor tdutils PRIVATE tdsqlite) + +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_executable(binlog_dump td/db/binlog/binlog_dump.cpp) + target_link_libraries(binlog_dump PRIVATE tddb) + endif() +diff --git a/tdutils/CMakeLists.txt b/tdutils/CMakeLists.txt +index d57d93c8..89c1a21c 100644 +--- a/tdutils/CMakeLists.txt ++++ b/tdutils/CMakeLists.txt +@@ -291,7 +291,7 @@ if (WIN32) + # target_link_libraries(tdutils PRIVATE ${WS2_32_LIBRARY} ${MSWSOCK_LIBRARY}) + target_link_libraries(tdutils PRIVATE ws2_32 Mswsock Normaliz) + endif() +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + add_dependencies(tdutils tdmime_auto) + endif() + +@@ -329,6 +329,11 @@ if (CMAKE_HOST_SYSTEM_NAME MATCHES "NetBSD") + target_link_libraries(tdutils PUBLIC /usr/pkg/gcc5/i486--netbsdelf/lib/libatomic.so) + endif() + ++# armv6l missing atomic operations without libatomic ++if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm") ++ target_link_libraries(tdutils PUBLIC atomic) ++endif() ++ + install(TARGETS tdutils EXPORT TdTargets + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +diff --git a/tdutils/generate/CMakeLists.txt b/tdutils/generate/CMakeLists.txt +index 9eca574a..72e51c9a 100644 +--- a/tdutils/generate/CMakeLists.txt ++++ b/tdutils/generate/CMakeLists.txt +@@ -16,7 +16,7 @@ set(TDMIME_AUTO + + add_custom_target(tdmime_auto DEPENDS ${TDMIME_SOURCE}) + +-if (NOT CMAKE_CROSSCOMPILING) ++if (YES) + find_program(GPERF_EXECUTABLE gperf) + if (NOT GPERF_EXECUTABLE) + message(FATAL_ERROR "Could NOT find gperf. Add path to gperf executable to PATH environment variable or specify it manually using GPERF_EXECUTABLE option, i. e. 'cmake -DGPERF_EXECUTABLE:FILEPATH=\"\"'.") diff --git a/srcpkgs/libtd/template b/srcpkgs/libtd/template new file mode 100644 index 00000000000..9fe7809b43d --- /dev/null +++ b/srcpkgs/libtd/template @@ -0,0 +1,29 @@ +# Template file for 'libtd' +pkgname=libtd +version=1.6.0 +revision=1 +wrksrc="td-${version}" +build_style=cmake +build_helper=qemu +hostmakedepends="gperf" +makedepends="libressl-devel zlib-devel" +short_desc="Cross-platform library for building Telegram clients" +maintainer="Ivan Sokolov " +license="BSL-1.0" +homepage="https://core.telegram.org/tdlib" +distfiles="https://github.com/tdlib/td/archive/v${version}.tar.gz" +checksum=9dce57a96f9d4bac8f99aab13ef5cbf6fed04b234a5d22dfa7ef7dce06ea43f8 +patch_args="-Np1" + +case "$XBPS_TARGET_MACHINE" in + (arm*) makedepends+=" libatomic-devel" ;; +esac + +libtd-devel_package() { + short_desc+=" - development files" + pkg_install() { + vmove "usr/lib/*.a" + vmove usr/include + vmove usr/lib/cmake + } +}