Thursday, December 30, 2021

New: graphics/libyuv 0.0.1807

Hello.

This is another dependency for our telegram-desktop port (more
accurately, for tg_owt port). It seems more correct to get the shared
library as a separate port, that's why we refused to use the bundled
version.

Keep in mind that Google supplies libyuv primarily as part of
Chromium and maintains build correctness only for the static library.
Unfortunately, it seems that these are not just words. For example,
one can observe this:

$ objdump -p /usr/local/lib/libyuv.so.0.0 | grep NEEDED | \
grep -c "jpeg"
0

but

$ strings /usr/local/lib/libyuv.so.0.0 | grep -c "jpeg"
14

The consequences of this are errors like "libyuv.so.0.0: undefined
symbol 'jpeg_resync_to_restart'" when linking to the library, unless
the '-ljpeg' flag is also specified. That is why we added libjpeg to
the 'Requires' in libyuv.pc. This fixes such errors.

The other point is versioning. Upstream does not care about this and
there are no usual ways (vcs tag, release on github, etc.) to
determine the version.
To find out the version and the corresponding commit,
do the following:

1) clone the libyuv repository from googlecode or from my mirror; cd
to the libyuv directory
2) git blame -l ./include/libyuv/version.h | \
awk '/#define LIBYUV_VERSION/ {printf "ci: %s, ver:%s\n", $1, $NF}'

The port also includes the yuvconvert utility.

Without Klemens Nanni's advice and comments, this port would
definitely have been made worse.

I'll maintain the package.

---
Information for inst:libyuv-0.0.1807

Comment:
library for freeswitch yuv graphics manipulation

Required by:
tg_owt-0.0.0.20211214

Description:
libyuv is an open source project that includes YUV conversion and
scaling functionality. Converts all webcam formats to YUV (I420).
Convert YUV to formats for rendering/effects. Rotate by 90 degrees to
adjust for mobile devices in portrait mode. Scale YUV to prepare
content for compression, with point, bilinear or box filter.

Maintainer: Andrew Krasavin <noiseless-ak@yandex.ru>, Klemens Nanni <kn@openbsd.org>

WWW: https://chromium.googlesource.com/libyuv/libyuv/

Objections? Feedback?
--
Wbr, Andrew Krasavin

No comments:

Post a Comment