about summary refs log tree commit diff
path: root/third_party/telega
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-01-26T13·05+0300
committertazjin <mail@tazj.in>2021-01-26T13·25+0000
commit83465be599f2ed8d55dae0262156869fb78240a1 (patch)
treeea0bfcc664ef7facb648286d7c489e53e6524ed2 /third_party/telega
parentaa6e7f7c107a3222dc919abb54784625d106b5c8 (diff)
feat(3p/telega): Pin tdlib version used for telega r/2146
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>
Diffstat (limited to 'third_party/telega')
-rw-r--r--third_party/telega/default.nix21
1 files changed, 21 insertions, 0 deletions
diff --git a/third_party/telega/default.nix b/third_party/telega/default.nix
new file mode 100644
index 000000000000..7eda244b7fac
--- /dev/null
+++ b/third_party/telega/default.nix
@@ -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);
+})