Package Details: telegram-tdlib-purple-git 0.7.9.r496.80a9163-3

Git Clone URL: https://aur.archlinux.org/telegram-tdlib-purple-git.git (read-only, click to copy)
Package Base: telegram-tdlib-purple-git
Description: libpurple/pidgin Telegram plugin implemented using official tdlib client library. Needs TD_API_ID and TD_API_HASH env vars to be set for makepkg.
Upstream URL: https://github.com/ars3niy/tdlib-purple
Keywords: bitlbee libpurple pidgin tdlib telegram
Licenses: GPL2, LGPL2.1, custom:FTL, custom:PIX, custom:RPD, custom:SKIA, custom:STB
Conflicts: telegram-tdlib-purple
Provides: telegram-tdlib-purple
Submitter: mk-fg
Maintainer: mk-fg
Last Packager: mk-fg
Votes: 4
Popularity: 0.126294
First Submitted: 2020-06-27 20:23 (UTC)
Last Updated: 2022-05-15 16:15 (UTC)

Pinned Comments

mk-fg commented on 2021-12-07 14:44 (UTC) (edited on 2022-03-18 16:03 (UTC) by mk-fg)

If you're getting error like this on login:

Login error: Authentication error: code 400 (API_ID_PUBLISHED_FLOOD)

Check https://core.telegram.org/api/obtaining_api_id URL, for generating api_id/api_hash values (only a couple clicks) and specify those for makepkg like this:

TD_API_ID=... TD_API_HASH=... makepkg -f

WARNING messages should be printed if these values are missing in env during build.

This might be unnecessary in future versions, if these credentials can be specified via the UI there. See tdlib-purple README or https://github.com/ars3niy/tdlib-purple/pull/129 for more up-to-date info.

Latest Comments

mk-fg commented on 2022-05-15 16:16 (UTC)

Fixed, thank you!

Thaodan commented on 2022-05-15 15:48 (UTC)

Can you change tdlib from depend to makedepend? The plugin is using the static C++ interface.

mk-fg commented on 2022-03-18 16:02 (UTC)

Got around to add the patch and test the thing with it - works fine here as well, with current tdlib 1.8.2+ from git.

patch --dry-run -tNp1 -R ... || patch -tNp1 ... should hopefully match the applied PR in the future too, instead of breaking the build after that.

Thanks for pointing it out.

pepper_chico commented on 2022-03-14 19:17 (UTC)

@mk-fg yes it does make it compatible. I can confirm it works, and I'm building on top of that PR instead of sticking to tdlib 1.7.9 as a solution. Hopefully it gets merged.

mk-fg commented on 2022-03-14 11:57 (UTC)

Presumably it makes tdlib-purple compatible with current tdlib?

Probably a good idea to add if it fixes that tdlib version annoyance, at least until they eff-it-up again.

Though it seems like a bad idea for -git package in general, as it'll probably either get merged or broken soon enough, and this shouldn't be my own fork of the thing.

pepper_chico commented on 2022-03-14 10:56 (UTC)

@mk-fg what about integrating this PR as patch meanwhile:

mk-fg commented on 2021-12-27 23:53 (UTC) (edited on 2021-12-27 23:54 (UTC) by mk-fg)

Hi. Will add conflicts/provides, thanks for the suggestion.

if there is a version restriction to the dependency telegram-tdlib, then I suggest you add it to the depends array, like depends=('telegram-tdlib>=0.7.9' 'telegram-tdlib<0.7.10'), and poke the maintainer of telegram-tdlib-git to add =${pkgver} to the telegram-tdlib entry in the provides array.

Yeah, that's the problem with adding such dependency:

  • Has to also be in telegram-tdlib-git
  • Have to be manually updated whenever it changes in telegram-tdlib-purple

Since this is a -git package, upstream telegram-tdlib-purple can change anytime, and I don't monitor changes there and only build it myself something like once a year, second thing would be a hassle, especially since upstream telegram-tdlib seem to be breaking API in minor versions on a whim (which is far from the strangest thing about it).

And since I won't bother tracking these versions in PKGBUILD, there seem to be no need to bother with telegram-tdlib-git tweaks either or make its ad-hoc copy for specific telegram-tdlib-purple commit ranges.

I think the latter task would fit a proper non-git telegram-tdlib-purple much better, so if you want to maintain more reliable package like that, I'd suggest creating it, and bumping both release version and dependencies there manually to track those in upstream, unlike this generic git pkgbuild.

dreieck commented on 2021-12-27 17:57 (UTC)

Dear maintainer,

when this package needs telegram-tdlib version >=0.7.9 but <0.7.10, and that package is not available, I suggest to create a package telegram-tdlib-0.7.9 that specifically provides that version and upload it to the URL.

dreieck commented on 2021-12-27 17:53 (UTC) (edited on 2021-12-27 17:54 (UTC) by dreieck)

Dear maintainer,

if there is a version restriction to the dependency telegram-tdlib, then I suggest you add it to the depends array, like
depends=('telegram-tdlib>=0.7.9' 'telegram-tdlib<0.7.10'),
and poke the maintainer of telegram-tdlib-git to add =${pkgver} to the telegram-tdlib entry in the provides array.

That seems to be the clean way for dependencies that are version specific.

dreieck commented on 2021-12-27 17:48 (UTC)

Can you please add provides=("telegram-tdlib-purple=${pkgver}"), conflicts=('telegram-tdlib-purple')?

Thanks for maintaining!

mk-fg commented on 2021-12-15 03:56 (UTC) (edited on 2021-12-15 04:00 (UTC) by mk-fg)

I'm getting a bunch of linking errors. A small sample:

Probably incompatible tdlib version - see pinned msg above.

EDIT: I'd also suggest doing "rm -rf src" to repeat the build from scratch, if you maybe had stuff from previous build cached there, but otherwise no idea.

fungible commented on 2021-12-15 02:59 (UTC)

I'm getting a bunch of linking errors. A small sample:

[ 66%] Built target fmt
Consolidate compiler generated dependencies of target telegram-tdlib
[ 68%] Linking CXX shared library libtelegram-tdlib.so
/usr/bin/ld: /tmp/ccCaISrl.ltrans0.ltrans.o: in function `showInviteLink(_PurpleBlistNode*, void*)':
<artificial>:(.text+0x1a48): undefined reference to `td::td_api::createChatInviteLink::createChatInviteLink()'
........
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/telegram-tdlib.dir/build.make:318: libtelegram-tdlib.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:304: CMakeFiles/telegram-tdlib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

gpc commented on 2021-12-12 09:51 (UTC)

Yes everything seems to work with the updated git link.

mk-fg commented on 2021-12-11 10:15 (UTC)

ERROR: Unrecognized reference: 3070415c

Ah yes, sorry, didn't actually test that link and forgot "commit=" in there - should be git+https://github.com/tdlib/td.git#commit=3070415c , my bad.

gpc commented on 2021-12-11 05:38 (UTC) (edited on 2021-12-11 05:40 (UTC) by gpc)

I tried changing telegram-tdlib-git PKGBUILD to have source=("git+https://github.com/tdlib/td.git#3070415c") but got ERROR: Unrecognized reference: 3070415c Do I need to do something else to make it work?

(Re. below yes amazing timing haha)

mk-fg commented on 2021-12-09 21:14 (UTC)

Given that it doesn't seem to be needed by pretty much anything else, I think keeping it bundled would seem to be easier to maintain and build/manage for users, especially for a -git package where version requirements change.

Do you have it installed for something else, or maybe have some other benefit or use-case in mind?

Thaodan commented on 2021-12-09 19:41 (UTC)

Can you uses unbundled lottie by appending -DNoBundledLottie=True to cmake?

mk-fg commented on 2021-12-07 14:44 (UTC) (edited on 2022-03-18 16:03 (UTC) by mk-fg)

If you're getting error like this on login:

Login error: Authentication error: code 400 (API_ID_PUBLISHED_FLOOD)

Check https://core.telegram.org/api/obtaining_api_id URL, for generating api_id/api_hash values (only a couple clicks) and specify those for makepkg like this:

TD_API_ID=... TD_API_HASH=... makepkg -f

WARNING messages should be printed if these values are missing in env during build.

This might be unnecessary in future versions, if these credentials can be specified via the UI there. See tdlib-purple README or https://github.com/ars3niy/tdlib-purple/pull/129 for more up-to-date info.

mk-fg commented on 2021-12-07 11:14 (UTC) (edited on 2021-12-07 11:16 (UTC) by mk-fg)

Hahah, I think you just randomly hit a great timing, as tdlib-purple repository was indeed updated from <1.6.5 to >1.7.8 in the span of last 2 hours, and since this -git PKGBUILD pulls from there directly, builds before/after that update got such different results.

You do need 1.7.8 or newer now indeed, and tdlib<1.7.0 no longer even works with telegram servers, since they changed protocol in the last few days.

gpc commented on 2021-12-07 11:00 (UTC) (edited on 2021-12-07 11:02 (UTC) by gpc)

I've had make fail with message

tdlib version 1.6.5 or older is required

and then after reinstalling telegram-tdlib 1.6.0 fail with message

tdlib version 1.7.8 or newer is required

So I wonder, how should I install this package?

mk-fg commented on 2021-02-03 16:08 (UTC)

This won't build without a package for telegram-tdlib <=1.6.5.

Yeah, I've noticed it as well.

For me it's not really an issue, as I don't use any AUR helpers and it's easy to skip updating telegram-tdlib or rollback git repo from AUR and build any older release there.

If AUR helpers can do something similar - i.e. selectively update or build older AUR release - maybe that's a good enough solution in the meantime.

Though to be fair, copying PKGBUILD for older release into a new package isn't exactly difficult either, but I'm lazy to test it all, as C++ takes ages to build :)

mkaito commented on 2021-02-03 15:34 (UTC) (edited on 2021-02-03 15:35 (UTC) by mkaito)

This won't build without a package for telegram-tdlib <=1.6.5. Work towards supporting the current 1.7.0 is in progress, but there's no frame of reference for when it might be done. Might be worth publishing a (temporary) 1.6.5 package so this can build in the meantime.

mk-fg commented on 2020-12-15 00:28 (UTC) (edited on 2020-12-15 00:28 (UTC) by mk-fg)

Should this conflict with https://aur.archlinux.org/packages/telegram-tdlib then?

Quite the opposite, it's a libpurple plugin built on top of that lib, and it depends on it.

Strykar commented on 2020-12-15 00:25 (UTC)

Should this conflict with https://aur.archlinux.org/packages/telegram-tdlib then?

The-Compiler commented on 2020-09-30 16:28 (UTC)

Thanks for the quick fix! I also use it with bitlbee (yay!), so +1 for the minimal variant.

mk-fg commented on 2020-09-29 21:35 (UTC)

guess I'll also make a -minimal version

Created it here: https://aur.archlinux.org/packages/telegram-tdlib-purple-minimal-git/

mk-fg commented on 2020-09-29 20:57 (UTC)

Should be fixed, thanks.

Use this lib with bitlbee myself, so guess I'll also make a -minimal version to use with libpurple-minimal and with no unnecessary deps.

The-Compiler commented on 2020-09-28 19:44 (UTC) (edited on 2020-09-28 19:51 (UTC) by The-Compiler)

This fails to build for me with:

.../src/telegram-tdlib-purple-git/account-data.h:13:10: fatal error: VoIPController.h: No such file or directory

Looking at the https://github.com/ars3niy/tdlib-purple readme, there's probably a missing dependency on libtgvoip.

edit: It also needs -Dtgvoip_INCLUDE_DIRS=/usr/include/tgvoip added to the cmake invocation to build properly.

mk-fg commented on 2020-08-12 13:18 (UTC)

Should this conflict with telegram-purple since that is what most folks have been installing for telegram with Bitlbee?

No, don't think so. They install separate libs, which I think you should be able to even use at the same time, or switch between at runtime, if you want.

Also, any chance of a non-git version?

Obviously don't use it myself, so can't maintain it, but feel free to create one.

And, looks like gperf is a dependency that isn't listed.

Thanks, added it to the list.

Strykar commented on 2020-08-12 10:11 (UTC) (edited on 2020-08-12 10:21 (UTC) by Strykar)

Should this conflict with telegram-purple since that is what most folks have been installing for telegram with Bitlbee?
Also, any chance of a non-git version?
And, looks like gperf is a dependency that isn't listed.