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