Klemens Nanni <[email protected]> writes:

> Here is the first of two ports for telegram's official desktop
> application port, their library required behind the qt gui.
>
> This builds and works fine on amd64 and arm64.
> Audio and video calls, sending files, viewing media... it all works.
>
> It still builds a few (unported) dependencies as bundles, but we are
> actively working on those to be split out into proper ports.
>
> At this point in time it seems to be more work juggling even more
> patches and port more stuff, so my plan is to get it in now and improve
> things over time.
>
> I have submitted all required patches upstream;  they are fetched via
> PATCHFILES so patches/ only contains a trivial CMakeLists.txt patch wrt.
> bundles/ports.
>
> This is a joint effort with Andew.
>
>       Information for inst:tg_owt-0.0.0.20211214
>
>       Comment:
>       WebRTC build for Telegram
>
>       Required by:
>       tdesktop-3.3.0
>
>       Description:
>       tg_owt is a WebRTC build for Telegram Desktop (net/tdesktop).
>
>       WebRTC is an open source project that enables web browsers with 
> Real-Time
>       Communications (RTC) capabilities via simple Javascript APIs.
>       The WebRTC components have been optimized to best serve this purpose.
>       WebRTC implements the W3C's proposal for video conferencing on the web.
>
>       Maintainer: Andrew Krasavin <[email protected]>,  Klemens Nanni 
> <[email protected]>
>
>       WWW: https://github.com/desktop-app/tg_owt
>
> Feedback? OK?
>
> [2. application/octet-stream; tg_owt.tgz]...

Port looks fine and builds fine, doesn't have tests so hopefully it also
works.  Trusting that you've runtime-tested it with tdesktop, with what
sdk@ said fixed, ok op and looking forward to test it too :)

small nitpicks that I'd like to raise (but it's fine either the way,
pick or ignore them if you want.)

 - The CXXFLAGS += -I${LOCALBASE}/include is quite frequent, you can
   drop the comment if you want.

 - portcheck complains about /usr/local/include vs ${LOCALBASE}, but it
   seems that you prefer to use hardcoded paths anyway so I guess it's
   fine.

 - I'd simplify the post-extract loop inlining the needed dependencies
   and dropping the *_BUNDLES variables (or turning them into comments),
   but if it's easier for you this way is fine too, something along the
   lines of

-# ${WRKSRC}/src/third_party/ subdirectories
-ALL_BUNDLES =  abseil-cpp libsrtp libvpx libyuv openh264 pffft pipewire 
rnnoise usrsctp yasm
-# these are ported and probed for in ${WRKSRC}/cmake/external.cmake
-PORTED_BUNDLES =abseil-cpp libsrtp libvpx        openh264                
rnnoise usrsctp yasm
-# these are unported and/or not probed for and/or contain patches
-NEEDED_BUNDLES =           libsrtp        libyuv          pffft          
rnnoise
-
 NO_TEST =              Yes

+# see ${WRKSRC}/src/third_party for all the bundled dependencies, some
+# of them are unported, not probed for and/or contain local patches.
+# Remove the unneeded bundles to prevent (accidental) use and
+# packaging.
 post-extract:
-       # remove unneeded bundles to prevent (accidential) use and packaging
-.for _bundle in ${ALL_BUNDLES}
-.    if !${NEEDED_BUNDLES:M${_bundle}}
+.for _bundle in abseil-cpp libvpx openh264 pipewire usrsctp yasm
        rm -fr -- ${WRKSRC}/src/third_party/${_bundle}
-.    endif
 .endfor


Cheers,

Omar Polo

Reply via email to