about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2023-04-07 16:46:39 +0200
committerSandro Jäckel <sandro.jaeckel@gmail.com>2023-04-07 16:46:39 +0200
commite6c5f4cff886a131b74be494405e0d6a4c740518 (patch)
treee93eed2dde4cb0c6fa5a0354c2ea68e41ee02938 /pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
parentc816bd50aa41bd3ab4adfeb62ac918566076d59f (diff)
telegram-desktop: rename from tdesktop
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
new file mode 100644
index 0000000000000..6e57a81dc2962
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
@@ -0,0 +1,61 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, pkg-config, cmake, ninja, yasm
+, libjpeg, openssl_1_1, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
+, openh264, usrsctp, libevent, libvpx
+, libX11, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr, libXi
+, glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire
+, mesa, valgrind, libepoxy, libglvnd
+}:
+
+stdenv.mkDerivation {
+  pname = "tg_owt";
+  version = "unstable-2023-03-14";
+
+  src = fetchFromGitHub {
+    owner = "desktop-app";
+    repo = "tg_owt";
+    rev = "1a18da2ed4d5ce134e984d1586b915738e0da257";
+    sha256 = "18srnl688ng8grfpmgcjpdyr4cw87yjdvyw94b2jjq5jmnq9n3a3";
+    fetchSubmodules = true;
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkg-config cmake ninja yasm ];
+
+  buildInputs = [
+    libjpeg libopus ffmpeg alsa-lib libpulseaudio protobuf
+    openh264 usrsctp libevent libvpx
+    libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr libXi
+    glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire
+    mesa libepoxy libglvnd
+  ];
+
+  patches = [
+    # GCC 12 Fix
+    (fetchpatch {
+      url = "https://github.com/desktop-app/tg_owt/pull/101/commits/86d2bcd7afb8706663d29e30f65863de5a626142.patch";
+      hash = "sha256-iWS0mB8R0vqPU/0qf6Ax54UCAKYDVCPac2mi/VHbFm0=";
+    })
+    # additional fix for GCC 12 + musl
+    (fetchpatch {
+      url = "https://git.alpinelinux.org/aports/plain/community/tg_owt/gcc12.patch?id=8120df03fa3b6db5b8ff92c7a52b680290ad6e20";
+      hash = "sha256-ikgxUH1e7pz0n0pKUemrPXXa4UkECX+w467M9gU68zs=";
+    })
+  ];
+
+  cmakeFlags = [
+    # Building as a shared library isn't officially supported and may break at any time.
+    "-DBUILD_SHARED_LIBS=OFF"
+  ];
+
+  propagatedBuildInputs = [
+    # Required for linking downstream binaries.
+    abseil-cpp openh264 usrsctp libevent libvpx openssl_1_1
+  ];
+
+  meta = with lib; {
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ oxalica ];
+  };
+}