Change:
, CVSSv3=2.4 (nixos-20.09) Scanned versions: nixos-20.09: . Cc Cc
Fixed by .

Discussion:
<del> { mkDerivation, lib, fetchurl, fetchsvn , pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook </del> <ins> { mkDerivation, lib, fetchurl, callPackage , pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo </ins> , qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 , tl-expected, hunspell

# - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template <del> mkDerivation rec { </del> <ins> let tg_owt = callPackage ./tg_owt.nix {}; in mkDerivation rec { </ins> pname = "telegram-desktop"; <del> version = "2.3.0"; </del> <ins> version = "2.4.4"; </ins> # Telegram-Desktop with submodules src = fetchurl { url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz"; <del> sha256 = "0yga4p36jrc5m3d8q2y2g0505c2v540w5hgcscapl4xj9hyb21dw"; </del> <ins> sha256 = "09lhikaybf57rki62miqcaxxrdg1ni2rj9aj4w9mrbzdv849fyc8"; </ins> }; postPatch = ''

dontWrapGApps = true; dontWrapQtApps = true; <del> nativeBuildInputs = [ pkgconfig cmake ninja python3 wrapGAppsHook wrapQtAppsHook ]; </del> <ins> nativeBuildInputs = [ pkgconfig cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ]; </ins> buildInputs = [ qtbase qtimageformats gtk3 libsForQt5.libdbusmenu enchant2 lz4 xxHash dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 tl-expected hunspell <ins> tg_owt </ins> # TODO: Shouldn't be required: pcre xorg.libpthreadstubs xorg.libXdmcp utillinux libselinux libsepol epoxy at-spi2-core libXtst ];

"-DDESKTOP_APP_USE_PACKAGED_GSL=OFF" "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON" "-DTDESKTOP_USE_PACKAGED_TGVOIP=OFF" <del> "-DDESKTOP_APP_DISABLE_WEBRTC_INTEGRATION=ON" </del> #"-DDESKTOP_APP_SPECIAL_TARGET=""" # TODO: Error when set to "": Bad special target '""' "-DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop" # Note: This is the default ];

# TODO: Package mapbox-variant postFixup = '' <ins> # Nuke refs to `tg_owt` which is introduced by `__FILE__` in headers. remove-references-to -t ${tg_owt} $out/bin/telegram-desktop </ins> # This is necessary to run Telegram in a pure environment. # We also use gappsWrapperArgs from wrapGAppsHook. wrapProgram $out/bin/telegram-desktop 

<ins> diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fbc0da..6cbff3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1856,3 +1856,41 @@ configure_file( "${CMAKE_CURRENT_BINARY_DIR}/tg_owtConfig.cmake" COPYONLY ) + +install( +TARGETS +    tg_owt +    libabsl +    libopenh264 +    libpffft +    librnnoise +    libsrtp +    libusrsctp +    libvpx +    ${vpx_export} +    libwebrtcbuild +    libyuv +    ${platform_export} +EXPORT tg_owtTargets +RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) + +install( +    DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/src/ +    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +    FILES_MATCHING PATTERN "*.h" +) + +install( +    EXPORT tg_owtTargets +    NAMESPACE tg_owt:: +    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/tg_owt +) + +install( +    FILES ${CMAKE_CURRENT_BINARY_DIR}/tg_owtConfig.cmake +    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/tg_owt +) diff --git a/cmake/libabsl.cmake b/cmake/libabsl.cmake index 2fb3b8c..4a4f85b 100644 --- a/cmake/libabsl.cmake +++ b/cmake/libabsl.cmake @@ -123,5 +123,6 @@ PRIVATE target_include_directories(libabsl PUBLIC -    ${libabsl_loc} +    $<BUILD_INTERFACE:${libabsl_loc}> +    $<INSTALL_INTERFACE:include/third_party/abseil-cpp> ) diff --git a/cmake/libpffft.cmake b/cmake/libpffft.cmake index a6ceb3e..435d3a3 100644 --- a/cmake/libpffft.cmake +++ b/cmake/libpffft.cmake @@ -24,5 +24,6 @@ endif() target_include_directories(libpffft PUBLIC -    ${libpffft_loc} +    $<BUILD_INTERFACE:${libpffft_loc}> +    $<INSTALL_INTERFACE:include/third_party/pffft/src> ) diff --git a/cmake/libsrtp.cmake b/cmake/libsrtp.cmake index 57c54b5..26b3466 100644 --- a/cmake/libsrtp.cmake +++ b/cmake/libsrtp.cmake @@ -30,6 +30,8 @@ PRIVATE target_include_directories(libsrtp PUBLIC -    ${libsrtp_loc}/include -    ${libsrtp_loc}/crypto/include +    $<BUILD_INTERFACE:${libsrtp_loc}/include> +    $<BUILD_INTERFACE:${libsrtp_loc}/crypto/include> +    $<INSTALL_INTERFACE:include/third_party/libsrtp/include> +    $<INSTALL_INTERFACE:include/third_party/libsrtp/crypto/include> ) diff --git a/cmake/libusrsctp.cmake b/cmake/libusrsctp.cmake index caa0529..38d2ef6 100644 --- a/cmake/libusrsctp.cmake +++ b/cmake/libusrsctp.cmake @@ -67,6 +67,8 @@ endif() target_include_directories(libusrsctp PUBLIC -    ${third_party_loc}/usrsctp/usrsctplib -    ${libusrsctp_loc} +    $<BUILD_INTERFACE:${third_party_loc}/usrsctp/usrsctplib> +    $<BUILD_INTERFACE:${libusrsctp_loc}> +    $<INSTALL_INTERFACE:include/third_party/usrsctp/usrsctplib/usrsctplib> +    $<INSTALL_INTERFACE:include/third_party/usrsctp/usrsctplib> ) diff --git a/cmake/libvpx.cmake b/cmake/libvpx.cmake index e192e7e..78cf25b 100644 --- a/cmake/libvpx.cmake +++ b/cmake/libvpx.cmake @@ -68,6 +68,11 @@ else() set(ASM_SUFFIX ".asm.S") endif() +foreach(dir ${include_directories}) +    string(REPLACE ${libvpx_loc} include/third_party/libvpx install_include_dir ${dir}) +    list(APPEND install_include_directories ${install_include_dir}) +endforeach() + function(add_sublibrary postfix) add_library(libvpx_${postfix} OBJECT) init_feature_target(libvpx_${postfix} ${postfix}) @@ -75,6 +80,8 @@ function(add_sublibrary postfix) target_include_directories(libvpx_${postfix} PRIVATE ${include_directories} +        "$<BUILD_INTERFACE:${include_directories}>" +        "$<INSTALL_INTERFACE:${install_include_directories}>" ) set(sources_list ${ARGV}) list(REMOVE_AT sources_list 0) @@ -725,5 +732,6 @@ endif() target_include_directories(libvpx PUBLIC -    ${include_directories} +    "$<BUILD_INTERFACE:${include_directories}>" +    "$<INSTALL_INTERFACE:${install_include_directories}>" ) diff --git a/cmake/libwebrtcbuild.cmake b/cmake/libwebrtcbuild.cmake index c3520b8..9b4b543 100644 --- a/cmake/libwebrtcbuild.cmake +++ b/cmake/libwebrtcbuild.cmake @@ -44,5 +44,6 @@ endif() target_include_directories(libwebrtcbuild INTERFACE -    ${webrtc_loc} +    $<BUILD_INTERFACE:${webrtc_loc}> +    $<INSTALL_INTERFACE:include> ) diff --git a/cmake/libyuv.cmake b/cmake/libyuv.cmake index ebfc6f0..18e70ef 100644 --- a/cmake/libyuv.cmake +++ b/cmake/libyuv.cmake @@ -126,7 +126,8 @@ endif() target_include_directories(libyuv PUBLIC -    ${libyuv_loc}/include +    $<BUILD_INTERFACE:${libyuv_loc}/include> +    $<INSTALL_INTERFACE:include/third_party/libyuv/include> ) target_compile_definitions(libyuv </ins>

<ins> { lib, stdenv, fetchFromGitHub, cmake, ninja, yasm , pkg-config, libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio }: let rev = "c73a4718cbff7048373a63db32068482e5fd11ef"; sha256 = "0nr20mvvmmg8ii8f2rljd7iv2szplcfjn40rpy6llkmf705mwr1k"; in stdenv.mkDerivation { pname = "tg_owt"; version = "git-${rev}"; src = fetchFromGitHub { owner = "desktop-app"; repo = "tg_owt"; inherit rev sha256; }; patches = [ ./tg_owt-install.patch ]; nativeBuildInputs = [ pkg-config cmake ninja yasm ]; buildInputs = [ libjpeg openssl libopus ffmpeg alsaLib libpulseaudio ]; meta.license = lib.licenses.bsd3; } </ins>