Omar Polo <o...@omarpolo.com> writes: > Hello ports@, > > $ pkg_info td > Information for inst:td-1.6.9 > > Comment: > cross-platform library for building Telegram clients > > Description: > TDLib (Telegram Database Library) is a cross-platform, fully > functional Telegram client that can be easily used from almost any > programming language. > > Maintainer: Omar Polo <o...@omarpolo.com> > > WWW: https://github.com/tdlib/td > > I've been using this for about a year, initially only as a C++ library > in some test projects of mine, and then in the last two months as a > dependency of telega.el[0], a telegram client for Emacs. I've seen a > recent post on r/OpenBSD so here's the port since it could be useful to > others too. > > td provides two set of libraries: some C++ statically-liked only > libraries (libtd{actor,api,client,...}) and a library, td_json.so, that > exposes a JSON api. I'm including both set of libraries, as the C++ > libraries can be useful (to me at least), even though I'm expecting the > majority of clients to use the json library only. We can drop the C++ > libraries eventually if they aren't considered useful. > > The code is released under the boost software license 1.0. Different > ports uses different comments for it, like "Boost", "Boost license", > "boost software license" and even "MIT-like (Boost)". I went with > "Boost SL 1.0", like math/mlpac does. > > A note regarding the name: based on a quick look on repology, it seems > that the majority of distro package td as "tdlib" (see td[1] vs > tdlib[2]). I've kept td, as it was the name that I picked first when > making the port, and also because it's the name of the upstream > repository, but we can go with tdlib if we want consistency with others > systems. > > A note about the versioning: upstream only tags "major" releases, like > 1.6 and 1.7, as they consider "minor" releases (i.e. 1.6.9) development > versions, and thus they only bump the version in their CMakeList.txt for > minor releases. I'm going with 1.6.9 since it seems pointless to me > providing a stable version of a library that cannot be used by its > consumer (telega.el requires 1.6.9, and the other clients mentioned in > the reddit post works with the library built from master). It doesn't > seem a bad idea to me, please correct me if I'm wrong. (also, I'm > providing an explicit DISTNAME since with the auto-generated one from > GH_COMMIT fails to download the tarball)
scratch this, upstream released v1.7.0. I’ve updated the attached port. Tests are passing, portcheck and port-lib-depends-check are happy. > A final note: upstream provides a script to split the sources to limit > the memory usage when building. I successfully built the library on a > decade old i686 with 2 gigs of ram without hitting the swap (while also > running X), so such workaround doesn't seem to be needed, but I left a > comment in the Makefile anyway just in case. (splitting the sources > will require an additional build-only dep on php.) > > Built and tested on amd64, successfully built on i386. > > ; make test > ===> Regression tests for td-1.6.9 > [0/1] ...[snip] > Test project /usr/ports/pobj/td-1.6.9/build-amd64 > Start 1: run_all_tests > 1/1 Test #1: run_all_tests .................... Passed 618.16 sec > > 100% tests passed, 0 tests failed out of 1 > > Total Test time (real) = 618.17 sec > > OK? Comments? > > [0]: https://github.com/zevlg/telega.el > [1]: https://repology.org/project/td/versions > [2]: https://repology.org/project/tdlib/versions
td.tar.gz
Description: Binary data