On Sun, Dec 26, 2021 at 11:03:47AM +0100, Omar Polo wrote:
> 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 :)

Thanks to both of you.

We are working on
a) tdesktop update from 3.3.0 to 3.3.1
   (new dependency, will probably delay the update)
b) using our libyuv port rather than the bundle
   (needs more patching but works, not sure if that should make it into
    the initial port submission)
c) which API id/hash to use for our port
   https://github.com/telegramdesktop/tdesktop/issues/17435

The last one being my only blocker so far.  Once there is a definitive
answer we'll submit a tdesktop to this list.

> 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.

Yes, substituting LOCALBASE is just noise at this point, imho.

>  - 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

I've deliberately kept this as variables during development to keep
track of our ongoing work on replacing bundles with ports.

> -# ${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

Reply via email to