Page MenuHomeFreeBSD

graphics/imlib2: convert WEBP and JXL to subpackages
Needs ReviewPublic

Authored by jbeich on Jan 24 2024, 7:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 27, 11:31 AM
Unknown Object (File)
Sat, Apr 27, 11:27 AM
Unknown Object (File)
Sat, Apr 27, 11:26 AM
Unknown Object (File)
Sat, Apr 27, 10:15 AM
Unknown Object (File)
Feb 25 2024, 8:21 AM
Unknown Object (File)
Feb 4 2024, 5:24 AM
Unknown Object (File)
Jan 24 2024, 9:21 PM
Subscribers
None

Details

Reviewers
eduardo
Group Reviewers
portmgr
Summary

Allows users to install external imlib2-jxl and imlib2-webp as binary packages. As it's not my port, due to missing USE_*.<subpkg> helper and for POLA sake I didn't try to convert other options.

Test Plan

poudriere bulk -Nj 132i386 graphics/imlib2-jxl graphics/imlib2-webp is OK (confirms the conflict is resolved).

$ poudriere testport -j 132i386 graphics/imlib2~jxl
[...]
===========================================================================
=>> Checking shared library dependencies
 0x00000001 NEEDED               Shared library: [libImlib2.so.1]
 0x00000001 NEEDED               Shared library: [libX11-xcb.so.1]
 0x00000001 NEEDED               Shared library: [libX11.so.6]
 0x00000001 NEEDED               Shared library: [libXext.so.6]
 0x00000001 NEEDED               Shared library: [libc.so.7]
 0x00000001 NEEDED               Shared library: [libdl.so.1]
 0x00000001 NEEDED               Shared library: [libfreetype.so.6]
 0x00000001 NEEDED               Shared library: [libjxl.so.0.9]
 0x00000001 NEEDED               Shared library: [libjxl_threads.so.0.9]
 0x00000001 NEEDED               Shared library: [libm.so.5]
 0x00000001 NEEDED               Shared library: [libxcb-shm.so.0]
 0x00000001 NEEDED               Shared library: [libxcb.so.1]

$ poudriere testport -j 132i386 graphics/imlib2~webp
[...]
===========================================================================
=>> Checking shared library dependencies
 0x00000001 NEEDED               Shared library: [libImlib2.so.1]
 0x00000001 NEEDED               Shared library: [libX11-xcb.so.1]
 0x00000001 NEEDED               Shared library: [libX11.so.6]
 0x00000001 NEEDED               Shared library: [libXext.so.6]
 0x00000001 NEEDED               Shared library: [libc.so.7]
 0x00000001 NEEDED               Shared library: [libdl.so.1]
 0x00000001 NEEDED               Shared library: [libfreetype.so.6]
 0x00000001 NEEDED               Shared library: [libm.so.5]
 0x00000001 NEEDED               Shared library: [libwebpdemux.so.2]
 0x00000001 NEEDED               Shared library: [libxcb-shm.so.0]
 0x00000001 NEEDED               Shared library: [libxcb.so.1]

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

jbeich created this revision.

Hello Jan,

As it's not my port, due to missing USE_*.<subpkg> helper and for POLA sake I didn't try to convert other options.

I'm new to subpackages and this review will be an awesome exercise for learning.
Could you turn this port into full subpackage?
As you said earlier, after imlib2 becomes a subpackage port, graphics/imlib2-jxl and graphics/imlib2-webp can be removed from ports tree.

Thanks

Could you turn this port into full subpackage?

Without USES.<subpkg> and USE_*.<subpkg> helpers converting JPEG and X11 will require flattening USES=jpeg and USES=xorg to LIB_DEPENDS. USES=jpeg after 8a45ee228f2c is still useful to support graphics/mozjpeg while USES=xorg is only useful for consistently passing CONFIGURE_ARGS, the rest is cosmetics.

As you said earlier, after imlib2 becomes a subpackage port, graphics/imlib2-jxl and graphics/imlib2-webp can be removed from ports tree.

Did you miss "alternatively"? graphics/imlib2-jxl and graphics/imlib2-webp can be removed now (without the patch here). According to Repology it doesn't look like anyone else packages external jxl and webp loaders.

Converting other options to subpackages also hits POLA wall as pkg install feh (example imlib2 consumer) will no longer be able to view PNG and JPG images. FreeBSD pkg doesn't seem to have Debian-style "suggested" package flag i.e., imlib2 suggests all its subpackages like imlib2-png, imlib2-jpeg, etc.