tdesktop.tg_owt: rework and clean up

- Build shared library to keep binary small.

- Prefer system-wide libraries instead of bundled ones.

- `abseil-cpp` (absl) is required for downstream build and appears in
  output cmake file. So it's added to `propagatedBuildInputs`.
This commit is contained in:
oxalica 2021-07-20 22:54:17 +08:00
parent 16105403bd
commit 548ff79765
No known key found for this signature in database
GPG key ID: CED392DE0C483D00

View file

@ -1,9 +1,9 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch
, pkg-config, cmake, ninja, yasm
, libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
, xorg, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr
, openh264, usrsctp, libevent, libvpx
, glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire
, libXi
, xorg, libX11, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr, libXi
}:
stdenv.mkDerivation {
@ -24,15 +24,23 @@ stdenv.mkDerivation {
buildInputs = [
libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf
xorg.libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr
openh264 usrsctp libevent libvpx
libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr libXi
glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire
libXi
];
cmakeFlags = [
# Building as a shared library isn't officially supported and currently broken:
# Building as a shared library isn't officially supported and may break at any time.
"-DBUILD_SHARED_LIBS=OFF"
];
meta.license = lib.licenses.bsd3;
propagatedBuildInputs = [
# Required for linking downstream binaries.
abseil-cpp openh264 usrsctp libevent libvpx
];
meta = with lib; {
license = licenses.bsd3;
maintainers = with maintainers; [ oxalica ];
};
}