On 20-12-01 17:45:42, Omar Polo wrote:
>
>Omar Polo <op@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 <op@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
>
Build and tested on amd64. Runs well with tg[1] until now.
[1]: https://github.com/paul-nameless/tg
No comments:
Post a Comment