Bug 261043

Summary: graphics/kf5-kimageformats: enable JPEG XL by default
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed FIXED    
Severity: Affects Only Me CC: makc, tcberner
Priority: --- Keywords: patch
Version: LatestFlags: tcberner: maintainer-feedback+
jbeich: merge-quarterly-
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262102
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262103
Bug Depends on: 261003    
Bug Blocks:    
Attachments:
Description Flags
v1 (apply via "git am")
none
v2 (apply via "git am") none

Description Jan Beich freebsd_committer freebsd_triage 2022-01-08 20:45:28 UTC
Created attachment 230828 [details]
v1 (apply via "git am")

See https://en.wikipedia.org/wiki/JPEG_XL

Seems to be already by default if libjxl package is found/installed, so track the dependency in the port. One downside is libjxl the binary package is a bit heavy due to dependency on gimp-app. This is temporary until review D16457 but disabling gimp by default would violate "batteries included" approach while splitting the build increases maintenance.

CMakeLists.txt:
  option(KIMAGEFORMATS_JXL "Enable plugin for JPEG XL format" ON)
  if(KIMAGEFORMATS_JXL)
      pkg_check_modules(LibJXL IMPORTED_TARGET libjxl>=0.6.1)
      pkg_check_modules(LibJXLThreads IMPORTED_TARGET libjxl_threads>=0.6.1)
  endif()
  add_feature_info(LibJXL LibJXL_FOUND "required for the QImage plugin for JPEG XL images")
Comment 1 Jan Beich freebsd_committer freebsd_triage 2022-01-08 21:01:57 UTC
Extra plugin is likely safe for /quarterly. Firefox also supports JXL (bundled libjxl) via image.jxl.enabled in about:config.
Comment 2 Max Brazhnikov freebsd_committer freebsd_triage 2022-01-10 21:28:25 UTC
(In reply to Jan Beich from comment #0)
I think this option it too heavy to be enabled by default. I agree about "batteries included" unless it pulls tons of staff as run-time dependencies.
Comment 3 Tobias C. Berner freebsd_committer freebsd_triage 2022-01-11 14:40:04 UTC
(In reply to Max Brazhnikov from comment #2)
Moin moin 

I agree with Max here. While I'm all for including as much features as possible, adding gimp as a dependency to a tier2 framework seems a bit much. 

How much work would it be to split it out into a library port before sub-packages arrive? It's not optimal as it is more work, but better from a dependency point of view.

mfg Tobias
Comment 4 Jan Beich freebsd_committer freebsd_triage 2022-02-11 11:18:54 UTC
Created attachment 231749 [details]
v2 (apply via "git am")

Rebase after ports befc9ebe2472. I haven't fixed graphics/libjxl bloat yet.
Comment 5 commit-hook freebsd_committer freebsd_triage 2022-02-21 18:20:02 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=99a4b3f912cecee17f915a9b3669108e618c3c78

commit 99a4b3f912cecee17f915a9b3669108e618c3c78
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-02-14 15:44:19 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-02-21 18:19:06 +0000

    x11/swayimg: enable JXL by default

    PR:             261043

 x11/swayimg/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 6 commit-hook freebsd_committer freebsd_triage 2022-02-21 18:20:03 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=952502d4bc71bdb364c13da40cdf2662f963613a

commit 952502d4bc71bdb364c13da40cdf2662f963613a
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-01-10 22:25:21 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-02-21 18:19:06 +0000

    graphics/libjxl: split GIMP into gimp-jxl-plugin

    gimp-app is a heavy dependency that prevents enabling JXL in other ports.

    PR:             261043

 graphics/Makefile                                  |  1 +
 graphics/gimp-jxl-plugin/Makefile (new)            | 26 ++++++++++++++++++
 graphics/gimp-jxl-plugin/distinfo (new)            |  3 ++
 .../files/patch-CMakeLists.txt (new)               | 32 ++++++++++++++++++++++
 graphics/gimp-jxl-plugin/pkg-descr (new)           |  3 ++
 graphics/libjxl/Makefile                           | 18 +++---------
 graphics/libjxl/pkg-message (new)                  |  8 ++++++
 graphics/libjxl/pkg-plist                          |  1 -
 8 files changed, 77 insertions(+), 15 deletions(-)
Comment 7 Jan Beich freebsd_committer freebsd_triage 2022-02-21 18:21:18 UTC
Do you approve now?
Comment 8 Tobias C. Berner freebsd_committer freebsd_triage 2022-02-22 07:53:42 UTC
(In reply to Jan Beich from comment #7)

I do. Thanks for splitting gimp out.
Comment 9 commit-hook freebsd_committer freebsd_triage 2022-02-22 08:08:32 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=755a50799648fe408051866f0d88c04c7b6232bf

commit 755a50799648fe408051866f0d88c04c7b6232bf
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-02-14 16:04:23 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-02-22 08:07:20 +0000

    graphics/ImageMagick7: enable JXL by default

    PR:             261043
    Approved by:    tcberner

 graphics/ImageMagick7/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 10 commit-hook freebsd_committer freebsd_triage 2022-02-22 08:08:33 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dd57178c33a86d7161ef8c6e8ecd37abcb1ece0e

commit dd57178c33a86d7161ef8c6e8ecd37abcb1ece0e
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-02-11 11:17:35 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-02-22 08:07:00 +0000

    graphics/kf5-kimageformats: enable JXL by default

    PR:             261043
    Approved by:    tcberner

 graphics/kf5-kimageformats/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Comment 11 Jan Beich freebsd_committer freebsd_triage 2022-02-22 08:13:37 UTC
libjxl diverged a bit from /quarterly (2022Q1) and the scope increased (JXL everywhere), so MFH is cancelled.