Commit Graph
20 Commits
Author SHA1 Message Date
Александр 9833b202f9 fix(telegram-desktop): use Telegram's own external-updater opt-out instead
The DESKTOPINTEGRATION wrapper/environment.d combo only ever stopped the
shadow .desktop/.service self-install. It never addressed a second, worse
symptom: QGuiApplication::setDesktopFileName() in Platform::start() sets the
Wayland app_id to a per-install-path hashed "org.telegram.desktop._<hash>"
id whenever Core::UpdaterDisabled() is false — completely independent of
DESKTOPINTEGRATION — so the running window's app_id never matched our
shipped org.telegram.desktop.desktop and its icon/taskbar entry broke even
after the duplicate launcher file was silenced.

Telegram ships a documented opt-out for exactly this: Launcher::
ComputeExternalUpdater() (core/launcher.cpp) scans <exe-dir>/
externalupdater.d/ for a file containing a line equal to its own full
executable path, and calls SetUpdaterDisabledAtStartup() if found. That one
flag flips both Core::UpdaterDisabled() checks at once — InstallLauncher()
skips the shadow-file self-install AND desktopFileName() uses the plain
"org.telegram.desktop" id that matches our .desktop file, fixing the window
icon too. Drop the wrapper script and environment.d drop-in; back to a
plain /usr/bin symlink plus one externalupdater.d marker file.
2026-07-25 16:44:53 +10:00
Александр d3b2abecdd fix(telegram-desktop): also export DESKTOPINTEGRATION for the whole session
The /usr/bin wrapper only stops the shadow .desktop/.service self-install
when Telegram is actually launched through it. A stale GNOME Shell app-grid
entry (or anything else invoking /opt/telegram-desktop/Telegram directly)
still bypasses it and lets InstallLauncher() recreate the shadow files,
which was still reproducing after the previous fix.

Ship a systemd environment.d drop-in setting DESKTOPINTEGRATION=1 for the
whole graphical session, so the guard applies regardless of which launcher
or cached desktop entry starts the binary. Requires a full logout/login (or
reboot) to take effect, same as the desktop-shell cache refresh this bug
already needs on Wayland.
2026-07-25 16:30:19 +10:00
Александр b9e2887b2f fix(telegram-desktop): actually stop the shadow desktop-file self-install
The Exec-path and DBusActivatable matching from the previous two commits
were treating the wrong cause: InstallLauncher() in tdesktop's
specific_linux.cpp unconditionally wipes and rewrites its own
~/.local/share/applications/*.desktop and dbus-1/services/*.service on
every launch, regardless of what the installed .desktop file says — unless
the DESKTOPINTEGRATION env var is non-empty, which is upstream's documented
opt-out for exactly this kind of repack.

/usr/bin/telegram-desktop is now a wrapper script that sets
DESKTOPINTEGRATION=1 before exec'ing the real binary, covering every launch
path (desktop file, D-Bus activation, terminal). The .desktop file's
Exec/TryExec/DBusActivatable revert to their original values since the
field-matching theory they were built on didn't hold.
2026-07-25 16:11:20 +10:00
Александр f33ec4b124 fix(telegram-desktop): declare DBusActivatable=true to match Telegram's own check
Matching Exec to the real binary path wasn't enough: Telegram also compares
the installed .desktop's DBusActivatable field against what it expects and
still self-installs a shadow copy in ~/.local/share/applications when it
sees DBusActivatable=false, producing the same duplicate-icon symptom.
Setting it to true stops the shadow copy. Bumped release and checksum.
2026-07-25 15:56:05 +10:00
Александр c0929c030a vintner: bump to 0.4.0 - DirectX SDK support, legacy PlatformToolset aliasing
Two real new capabilities from upstream, both developed and verified
against a real years-old game client build: --with-dxsdk fetches the
DirectX SDK (June 2010) for legacy D3DX9 code, and old PlatformToolset-
pinned .vcxproj files (v90-v143) now transparently resolve to the one
installed compiler instead of failing MSB8020. Added cabextract as a
package dependency (needed at runtime for --with-dxsdk, same reasoning
as the existing msitools dependency).
2026-07-25 15:46:43 +10:00
Александр f02fc98097 vintner: bump to 0.3.1 - real toolrelay.exe mt.exe fix
Upstream fixed a real bug found while building Ogre3D through
vintner: toolrelay.exe's mt.exe detection compared the whole path
against "mt.exe" instead of just the filename, since it only checked
for a backslash separator on a path that actually arrives with
forward slashes - so the CMake-compatibility exit-code translation
this whole helper exists for had never actually fired.
2026-07-25 11:57:55 +10:00
Александр 08104de30c vintner: bump to 0.3.0, auto-install shell completion
Wires vintner's own `completion bash|zsh` output into Stapler's
install-completion helper (bash -> /usr/share/bash-completion/
completions/vintner, zsh -> /usr/share/zsh/site-functions/_vintner -
both verified against a real built package, since neither path nor
the required paired files-find() registration is documented anywhere
reachable). Completion now works immediately after `stplr install`,
no manual `source <(vintner completion bash)` needed.

0.3.0 also picks up upstream's signal-forwarding fix (a wine
subprocess no longer survives `vintner` being killed by PID) and its
own expanded test coverage.
2026-07-25 11:33:17 +10:00
Александр 91fe77b794 Rename msvc-go-wine package to vintner, bump to 0.2.0
Upstream rebranded to vintner (github.com/Cheviiot/vintner) and
cut a new release with WDK driver-build support, short command
aliases, and English/Russian CLI localization. Updates the package
directory, Staplerfile (name, urls, checksums, replaces), catalog
entry in README.md, and the two tools/ scripts that hardcode the
package name list.
2026-07-25 04:06:07 +10:00
Александр 5dc78222f6 fix(telegram-desktop): point Exec at the real binary to stop duplicate launcher icons
Telegram's own Linux runtime checks whether the installed .desktop file's
Exec matches its actual binary path, and silently writes a private copy to
~/.local/share/applications with a randomized name whenever it doesn't.
Our desktop entry pointed at the /usr/bin/telegram-desktop symlink, which
never matched /opt/telegram-desktop/Telegram, so Telegram regenerated a
shadow launcher on every start, producing a second, unmatched icon.

Exec/TryExec now point directly at the installed binary so Telegram's own
check finds a match. Bumped release and updated the checksum for the
changed desktop file.
2026-07-25 03:43:58 +10:00
github-actions[bot] 71d6f41d92 chore: autonomously update msvc-go-wine 2026-07-24 17:42:49 +00:00
Александр a68fb112d7 fix(telegram-desktop): correct ALT Linux dependency package names
libbrotli, libbz2, libfontconfig, libffi, libglib2 and hicolor-icon-theme
don't exist as such in ALT's repos. Verified real names against this
machine's apt-cache: libbrotlicommon/libbrotlidec, bzlib, libfontconfig1,
libffi8, glib2, icon-theme-hicolor.
2026-07-25 02:35:06 +10:00
Александр 84a1bbea8a fix(telegram-desktop): ignore archive ownership on extraction
tsetup.tar.xz bakes in uid/gid 1000 from Telegram's release tooling;
the sandboxed builder can't chown to it, so the build failed with
"Невозможно изменить владельца". --no-same-owner/--no-same-permissions
matches the pineconemc package's handling of the same issue.
2026-07-25 02:30:28 +10:00
Александр 8564f84ed5 fix: avoid substring collision in sync_readme_versions.py
Wrap the install command in backticks when matching README rows, so
nivora/claude no longer matches inside the nivora/claude-alt row.
2026-07-25 02:28:09 +10:00
Александр 07d13aca64 feat: add Telegram Desktop package
Repackages the official static tsetup.7.0.5.tar.xz Linux build for
amd64, keeping the upstream org.telegram.desktop desktop-id and
TelegramDesktop WM class.
2026-07-25 02:28:05 +10:00
Александр c34650a941 chore: update msvc-go-wine catalog version 2026-07-25 01:49:32 +10:00
Александр fdb4a492ef feat: add Nivora CLI and msvc-go-wine 2026-07-25 01:43:11 +10:00
Александр 3cc4217790 feat: rename Claude package 2026-07-25 01:22:52 +10:00
Александр f3af93802f feat: split ClaudeAlt into independent package 2026-07-25 01:18:17 +10:00
Александр 1801be3549 fix(yandex-browser): bind window to visible launcher 2026-07-25 00:55:17 +10:00
Александр f405ae2bcf feat: create autonomous Nivora package repository
Maintain a validated cross-distribution package catalog.
Automate upstream updates, isolated builds, diagnostics, and direct publication.
Build the official GitHub Desktop sources for Linux with working OAuth.
github-desktop-3.6.3-linux
2026-07-25 00:49:32 +10:00