Package Details: libtd 1.8.16-1

Git Clone URL: https://aur.archlinux.org/libtd.git (read-only, click to copy)
Package Base: libtd
Description: Cross-platform library for building Telegram clients
Upstream URL: https://core.telegram.org/tdlib
Licenses: boost
Conflicts: telegram-tdlib
Provides: libtd
Submitter: felixseblanc
Maintainer: j.r
Last Packager: j.r
Votes: 5
Popularity: 0.000000
First Submitted: 2019-09-29 16:03 (UTC)
Last Updated: 2023-08-27 20:15 (UTC)

Latest Comments

1 2 Next › Last »

xiota commented on 2023-11-12 13:14 (UTC)

Provides on libtd should be removed because all packages provides themselves.

Provides on telegram-tdlib should be added because it share the same files and upstream project.

j.r commented on 2022-12-02 12:14 (UTC)

@kovdan01 thanks for the patch. Could you please git send-email the patch to j.r@jugendhacker.de? Because I somehow can't git am it from my clipboard.

kovdan01 commented on 2022-11-25 13:41 (UTC)

Hello @j.r ! Please consider using cmake wrappers instead of make commands in PKGBUILD. When a custom CMAKE_GENERATOR environment variable is set, we have to use something like cmake --build . --target all instead of just make. The same applies to make install. I've prepared a patch for that. Would be glad if you apply it using git am to save my credits in commit history. Thanks!

From 90960f8d105d1ba7c7c23d133bf1585427efd5b1 Mon Sep 17 00:00:00 2001
From: Daniil Kovalev <daniil@kovalev.website>
Date: Fri, 25 Nov 2022 16:40:15 +0300
Subject: [PATCH] Use cmake build and install wrappers instead of make ones

In case of custom `CMAKE_GENERATOR` environment variable (e.g. `Ninja`) we
have to use cmake wrappers instead of raw make commands in order to support
different build systems.
---
 PKGBUILD | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/PKGBUILD b/PKGBUILD
index 8d52dbf..e7b9d6f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -31,14 +31,14 @@ build() {
        CC=/usr/bin/clang
        CXX=/usr/bin/clang++
        cmake -B build -S "$pkgname" -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX:PATH="$pkgdir/usr" -Wno-dev
-       make -C build prepare_cross_compiling
+       cmake --build build --target prepare_cross_compiling
        cd "$pkgname"
        php SplitSource.php
        cd ..
-       make -C build
+       cmake --build build --target all
 }

 package() {
        cd "$srcdir"
-       make -C build install
+       cmake --build build --target install
 }
-- 
2.38.1

dreieck commented on 2022-03-08 16:03 (UTC)

Should telegram-tdlib (=${pkgver}) be added to the provides array? For the package libtd-dev that is the case.

j.r commented on 2021-05-04 06:21 (UTC)

@djmattyg007 I updated the package according to cmake package guidelines, but unfortunately upstream somehow added compile tasks to the install target. I think there is not much I can do to avoid compilation in the package step. If you have a solution feel free to send me a patch over at sr.ht

djmattyg007 commented on 2021-05-01 12:48 (UTC)

I just built the latest version of this package, and I found that compilation was happening inside the package() function. This doesn't seem correct - compilation should be complete once build() is finished.

qontinuum commented on 2021-04-29 12:43 (UTC)

Okay thank you for the precision ^^

j.r commented on 2021-04-29 11:59 (UTC)

@franck.stauffer I'll remove make, but I explicitly set clang, because according to the libtd build instructions it does consume less RAM during build. For many multiple users the build failed before because they ran out of RAM.

qontinuum commented on 2021-04-29 11:14 (UTC)

make is in the base-devel group so it shouldn't be a makedep since this group is a pre-requisite.

Also, are you sure it's a good thing to enforce the compiler? Since CC and CXX can be set in makepkg.conf and the program compiles well using gcc I think it shouldn't be enforced by a PKGBUILD that do not strictly requires it.

Arndroid commented on 2021-02-04 20:57 (UTC) (edited on 2021-02-04 21:04 (UTC) by Arndroid)

Thanks!

Edit, ah too bad it didn't make it all the way:

[157/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/SuggestedAction.cpp.o
[158/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o
FAILED: CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o 
/usr/bin/c++ -D_FILE_OFFSET_BITS=64 -I../ -I../td/generate/auto -I../tdactor -I../tdutils -Itdutils -I../tdnet -I../tddb -D_FORTIFY_SOURCE=2 -pthread -std=c++14 -fno-omit-frame-pointer -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -Wall -Wextra -Wimplicit-fallthrough=2 -Wpointer-arith -Wcast-qual -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Walloc-zero -Wlogical-op -Wno-tautological-compare -Wpointer-arith -Wvla -Wnon-virtual-dtor -Wno-unused-parameter -Wconversion -Wno-sign-conversion -Wdeprecated -Wodr -flto-odr-type-merging -Wno-maybe-uninitialized -Wno-redundant-move -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o -MF CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o.d -o CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o -c ../td/telegram/MessagesManager.cpp
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
[159/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/SecretChatActor.cpp.o
[160/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/PollManager.cpp.o
[161/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/SecureValue.cpp.o
[162/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/NotificationManager.cpp.o
[163/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/SecretChatsManager.cpp.o
[164/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/StorageManager.cpp.o
[165/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/SecureManager.cpp.o
[166/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/StickersManager.cpp.o
In file included from ../tdutils/td/utils/logging.h:28,
                 from ../tdutils/td/utils/ObjectPool.h:10,
                 from ../tdactor/td/actor/impl/ActorId-decl.h:9,
                 from ../tdactor/td/actor/impl/Actor-decl.h:9,
                 from ../tdactor/td/actor/impl/Actor.h:9,
                 from ../tdactor/td/actor/actor.h:9,
                 from ../td/telegram/StickersManager.h:9,
                 from ../td/telegram/StickersManager.cpp:7:
In lambda function,
    inlined from ‘void td::detail::LambdaPromise<ValueT, FunctionOkT, FunctionFailT>::do_error(td::Status&&) [with ValueT = td::Unit; FunctionOkT = td::StickersManager::get_stickers(td::string, td::int32, bool, td::Promise<>&&)::<lambda(td::Result<td::Unit>)>; FunctionFailT = td::PromiseCreator::Ignore]’ at ../tdactor/td/actor/PromiseFuture.h:294:9,
    inlined from ‘td::detail::LambdaPromise<ValueT, FunctionOkT, FunctionFailT>::~LambdaPromise() [with ValueT = td::Unit; FunctionOkT = td::StickersManager::get_stickers(td::string, td::int32, bool, td::Promise<>&&)::<lambda(td::Result<td::Unit>)>; FunctionFailT = td::PromiseCreator::Ignore]’ at ../tdactor/td/actor/PromiseFuture.h:277:13,
    inlined from ‘td::detail::LambdaPromise<ValueT, FunctionOkT, FunctionFailT>::~LambdaPromise() [with ValueT = td::Unit; FunctionOkT = td::StickersManager::get_stickers(td::string, td::int32, bool, td::Promise<>&&)::<lambda(td::Result<td::Unit>)>; FunctionFailT = td::PromiseCreator::Ignore]’ at ../tdactor/td/actor/PromiseFuture.h:278:3:
../tdutils/td/utils/Slice.h:270:45: warning: ‘int __builtin_memcmp_eq(const void*, const void*, long unsigned int)’ reading 18 bytes from a region of size 13 [-Wstringop-overflow=]
  270 |   return a.size() == b.size() && std::memcmp(a.data(), b.data(), a.size()) == 0;
      |                                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In lambda function,
    inlined from ‘void td::detail::LambdaPromise<ValueT, FunctionOkT, FunctionFailT>::do_error(td::Status&&) [with ValueT = td::Unit; FunctionOkT = td::StickersManager::get_stickers(td::string, td::int32, bool, td::Promise<>&&)::<lambda(td::Result<td::Unit>)>; FunctionFailT = td::PromiseCreator::Ignore]’ at ../tdactor/td/actor/PromiseFuture.h:294:9,
    inlined from ‘td::detail::LambdaPromise<ValueT, FunctionOkT, FunctionFailT>::~LambdaPromise() [with ValueT = td::Unit; FunctionOkT = td::StickersManager::get_stickers(td::string, td::int32, bool, td::Promise<>&&)::<lambda(td::Result<td::Unit>)>; FunctionFailT = td::PromiseCreator::Ignore]’ at ../tdactor/td/actor/PromiseFuture.h:277:13:
../tdutils/td/utils/Slice.h:270:45: warning: ‘int __builtin_memcmp_eq(const void*, const void*, long unsigned int)’ reading 18 bytes from a region of size 13 [-Wstringop-overflow=]
  270 |   return a.size() == b.size() && std::memcmp(a.data(), b.data(), a.size()) == 0;
      |                                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[167/396] Building CXX object CMakeFiles/tdcore.dir/td/telegram/Td.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...