feat(3p/telega): Pin tdlib version used for telega
Recent channel updates have caused some issues for telega.el, mostly because the version of tdlib (the C++ library for Telegram) and the Emacs package are out of sync. This overrides the version used in the Emacs package to a "known good" commit. It would be useful to change the tdlib derivation in nixpkgs to make this version mismatch a hard build error. Change-Id: I9c994f783e1cc17e933432507cd13b65697efd4a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2445 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
parent
aa6e7f7c10
commit
83465be599
3 changed files with 25 additions and 6 deletions
6
third_party/default.nix
vendored
6
third_party/default.nix
vendored
|
@ -41,8 +41,9 @@ in exposed.lib.fix(self: exposed // {
|
|||
# Packages to be overridden
|
||||
originals = {
|
||||
inherit (nixpkgs) gtest openldap go grpc notmuch rr;
|
||||
inherit (stableNixpkgs) git;
|
||||
inherit (stableNixpkgs) git tdlib;
|
||||
ffmpeg = nixpkgs.ffmpeg-full;
|
||||
telega = stableNixpkgs.emacsPackages.telega;
|
||||
};
|
||||
|
||||
# Use LLVM 11
|
||||
|
@ -66,9 +67,6 @@ in exposed.lib.fix(self: exposed // {
|
|||
emacs27-nox = assert ((exposed.lib.versions.major nixpkgs.emacs.version) == "27");
|
||||
nixpkgs.emacs-nox;
|
||||
|
||||
# Provide telega.el from stable
|
||||
stableTelega = stableNixpkgs.emacsPackages.telega;
|
||||
|
||||
# The Go authors have released a version of Go (in alpha) that has a
|
||||
# type system. This makes it available, specifically for use with
|
||||
# //nix/buildTypedGo.
|
||||
|
|
21
third_party/telega/default.nix
vendored
Normal file
21
third_party/telega/default.nix
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Pin a working combination of telega.el & tdlib, as these are totally
|
||||
# out-of-sync in nixpkgs.
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
tdlib = pkgs.originals.tdlib.overrideAttrs(old: {
|
||||
version = "1.6.6";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "tdlib";
|
||||
repo = "td";
|
||||
rev = "c78fbe4bc5e31395e08f916816704e8051f27296"; # 1.6.6
|
||||
sha256 = "18ny990cvnwj5sd5jp49n0jn8b8fa8iszw4vxvsqdnw00srw0ggd";
|
||||
};
|
||||
});
|
||||
# Emacs packages use some sort of fixed point override scheme and
|
||||
# don't expose individual overrides in the override-functor, hence the
|
||||
# mess below.
|
||||
in pkgs.originals.telega.overrideAttrs(old: {
|
||||
buildInputs = [ tdlib ] ++
|
||||
(builtins.filter (p: !(p ? pname) || p.pname != "tdlib") old.buildInputs);
|
||||
})
|
|
@ -15,7 +15,7 @@ let
|
|||
emacsWithPackages = (third_party.emacsPackagesGen third_party.emacs27).emacsWithPackages;
|
||||
|
||||
# $PATH for binaries that need to be available to Emacs
|
||||
emacsBinPath = lib.makeBinPath [ third_party.stableTelega ];
|
||||
emacsBinPath = lib.makeBinPath [ third_party.telega ];
|
||||
|
||||
identity = x: x;
|
||||
|
||||
|
@ -100,7 +100,7 @@ let
|
|||
tvl
|
||||
|
||||
# patched / overridden versions of packages
|
||||
depot.third_party.stableTelega
|
||||
depot.third_party.telega
|
||||
depot.third_party.emacs.exwm
|
||||
depot.third_party.emacs.rcirc
|
||||
depot.third_party.emacs.vterm
|
||||
|
|
Loading…
Reference in a new issue