Package Details: telegram-desktop-dev-bin 4.16.1-1

Git Clone URL: https://aur.archlinux.org/telegram-desktop-dev-bin.git (read-only, click to copy)
Package Base: telegram-desktop-dev-bin
Description: Official desktop version of Telegram messaging app - Static binaries, developement version
Upstream URL: https://desktop.telegram.org
Licenses: GPL3
Conflicts: telegram-desktop, telegram-desktop-bin
Provides: telegram-desktop
Submitter: ItachiSan
Maintainer: ItachiSan
Last Packager: ItachiSan
Votes: 31
Popularity: 0.056646
First Submitted: 2023-08-01 07:54 (UTC)
Last Updated: 2024-04-03 20:06 (UTC)

Dependencies (9)

Required by (2)

Sources (11)

Latest Comments

1 2 3 4 Next › Last »

alllexx88 commented on 2024-04-04 11:14 (UTC) (edited on 2024-04-04 11:18 (UTC) by alllexx88)

I wrote a yaml config and and an override script for aur-auto-update.

telegram-desktop-dev-bin.yaml:

nvchecker:
  source: cmd
  cmd: |
       bash -c \
       'vers=$(for i in 0 1; do
                   curl -w "%{redirect_url}\n" -o /dev/null -s https://telegram.org/dl/desktop/linux?beta=$i
               done | sed -n -e "s|.*/tsetup\.\([0-9\.]\+\)\(\.beta\)\?\.tar\.xz\$|\1|p")
        vers=($vers)
        [ "${#vers[@]}" != 2 ] && echo "Failed to parse versions from redirect urls" >&2 && exit 1
        if [ $(vercmp ${vers[0]} ${vers[1]}) -gt 0 ]; then
            echo ${vers[0]}
        else
            echo ${vers[1]}
        fi'
test: true

The tricky part was that you either get a stable version URL from https://telegram.org/dl/desktop/linux, or a beta version URL from https://telegram.org/dl/desktop/linux?beta=1, and I didn't find any ready-made nvchecker source types to extract both and select the newer one. So I resorted to writing my own implementation as a bash script, luckily yaml format (used by aur-auto-update, it gets auto converted to toml for nvchecker) supports multiline strings, and so it looks readable.

telegram-desktop-dev-bin.override:

#!/bin/sh
newver="$1"
force="$2"

if [ -z "${force}" ]; then
    oldver=$(grep -P '^pkgver=' PKGBUILD | cut -d= -f2)
    [ $(vercmp "${oldver}" "${newver}") -eq 1 ] && echo "The oldver ${oldver} is greater than newver ${newver}." && exit 1
fi

if [ "${oldver}" != "${newver}" ]; then
    if curl --output /dev/null --silent --head --fail "https://updates.tdesktop.com/tlinux/tsetup.${newver}.tar.xz"; then
        dev=0
    elif curl --output /dev/null --silent --head --fail "https://updates.tdesktop.com/tlinux/tsetup.${newver}.beta.tar.xz"; then
        dev=1
    else
        echo "One URL has to be valid: https://updates.tdesktop.com/tlinux/tsetup.${newver}.tar.xz or https://updates.tdesktop.com/tlinux/tsetup.${newver}.beta.tar.xz"
        exit 1
    fi
    sed "s/^pkgver=.*/pkgver=${newver}/" -i PKGBUILD
    sed "s/^pkgrel=.*/pkgrel=1/" -i PKGBUILD
    sed "s/^_dev=.*/_dev=${dev}/" -i PKGBUILD

    su makepkg -c 'updpkgsums'
fi

We need an override script here, since the default bin/update-pkgver just updates the version, but we also need to set the _dev= value right.

If you're okay with this kind of automation, you can use these files freely. Just create a PR to https://github.com/arch4edu/aur-auto-update with them (or your version), and add AutoUpdateBot to the package as a co-maintainer. Or, I could create a PR myself if you're okay with that, you'd just need to add AutoUpdateBot as a co-maintainer. The bot will then check for new versions daily.

xiota commented on 2024-04-01 22:07 (UTC) (edited on 2024-04-01 22:24 (UTC) by xiota)

Would renaming the desktop file this package installs as org.telegram.desktop prevent duplicate entries?

Alternatively, file can be added to pacman.conf:

NoExtract   = usr/share/applications/org.telegram.desktop.desktop

alllexx88 commented on 2024-04-01 18:19 (UTC)

Hi, thank you for your work!

What do you think about using aur-auto-update bot to automatically track new releases? It can query for new versions, run test builds and push updates to AUR on success.

timhs commented on 2024-03-16 21:27 (UTC)

today after update, telegram-desktop don't start, a memory overflow happens and I get : Scudo ERROR: internal map failure (NO MEMORY) requesting 34913876KB First time I had problems to start telegram.

ItachiSan commented on 2023-11-27 19:19 (UTC) (edited on 2023-11-27 19:23 (UTC) by ItachiSan)

@earch theoretically it shouldn't generate its own desktop file.

The reason why I package a desktop file is because I can guarantee people will be able to start the application, just that.

EDIT 1: I looked through the code and it seems the desktop file is generated if you select the built in updater option.

See:

https://github.com/telegramdesktop/tdesktop/blob/v4.11.8/Telegram/SourceFiles/platform/linux/specific_linux.cpp#L417

You probably want to disable that and flag the package here when it is not updated.

earch commented on 2023-11-25 21:22 (UTC)

Why do we create /usr/share/applications/telegramdesktop.desktop if Telegram creates a .desktop file on its own, when launching it?

For me it's there: .local/share/applications/org.telegram.desktop._f79d601e26a782fd149b3ffb098aae9f.desktop

So I end up with two Desktop Entries in my launcher. Btw they do differ, slightly.

xiota commented on 2023-09-20 13:18 (UTC) (edited on 2023-10-24 08:00 (UTC) by xiota)

Please remove replaces directive, in accordance with AUR submission guidelines.

ItachiSan commented on 2023-08-01 07:56 (UTC)

Hi @MarsSeed,

All has been done :) See: https://aur.archlinux.org/packages/telegram-desktop-dev-bin

Thanks for the detailed guide! Given how busy I am recently, it helped a lot.

MarsSeed commented on 2023-07-31 13:57 (UTC)

You will need to add your co-maintainer to the new package, they won't get added automatically.

MarsSeed commented on 2023-07-31 13:53 (UTC) (edited on 2023-08-01 11:55 (UTC) by MarsSeed)

It's not that complicated actually.

First you create and submit a new telegram-desktop-dev-bin package from your existing local repo.

You can do it by renaming the pkgname in your PKGBUILD, refreshing the .SRCINFO, committing these edits, and then changing the git repo's remote URL and pushing it to AUR.

git remote set-url origin ssh://aur@aur.archlinux.org/telegram-desktop-dev-bin.git
git push origin master

Then you send an AUR package merge request from the old package via the 'Submit Request' link, choosing type 'Merge', and entering the name of the new package. You can just mention in the comment that you renamed the package.

EDIT: removed the no longer existing link.