Title: [286057] trunk/Tools/buildstream
Revision
286057
Author
[email protected]
Date
2021-11-19 06:39:07 -0800 (Fri, 19 Nov 2021)

Log Message

[Flatpak SDK] Add build recipe for libjxl
https://bugs.webkit.org/show_bug.cgi?id=233326

Reviewed by Philippe Normand.

Add the build recipe for libjxl, which in turns needs highway (libhwy), which gets imported
as well. Highway is always built as a static library, and therefore only needed at build
time. As for libjxl, the recipe tries to disable as much as possible of bundled sources from
its third_party/ subdirectory, but LodePNG gets always needed, and the same goes for either
SkCMS or LCMS2; and in both cases they get built and linked statically into the resulting
libjxl library. Ideally we would prefer that libjxl could use a system-installed copy of
LCMS2 because that is already available in the SDK, but that not being an option SkCMS is
preferred as it is smaller.

* elements/sdk-platform.bst: List libjxl for installation in the SDK.
* elements/sdk/highway.bst: Added.
* elements/sdk/libjxl.bst: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/buildstream/ChangeLog (286056 => 286057)


--- trunk/Tools/buildstream/ChangeLog	2021-11-19 14:30:34 UTC (rev 286056)
+++ trunk/Tools/buildstream/ChangeLog	2021-11-19 14:39:07 UTC (rev 286057)
@@ -1,3 +1,23 @@
+2021-11-19  Adrian Perez de Castro  <[email protected]>
+
+        [Flatpak SDK] Add build recipe for libjxl
+        https://bugs.webkit.org/show_bug.cgi?id=233326
+
+        Reviewed by Philippe Normand.
+
+        Add the build recipe for libjxl, which in turns needs highway (libhwy), which gets imported
+        as well. Highway is always built as a static library, and therefore only needed at build
+        time. As for libjxl, the recipe tries to disable as much as possible of bundled sources from
+        its third_party/ subdirectory, but LodePNG gets always needed, and the same goes for either
+        SkCMS or LCMS2; and in both cases they get built and linked statically into the resulting
+        libjxl library. Ideally we would prefer that libjxl could use a system-installed copy of
+        LCMS2 because that is already available in the SDK, but that not being an option SkCMS is
+        preferred as it is smaller.
+
+        * elements/sdk-platform.bst: List libjxl for installation in the SDK.
+        * elements/sdk/highway.bst: Added.
+        * elements/sdk/libjxl.bst: Added.
+
 2021-11-06  David Kilzer  <[email protected]>
 
         Remove empty directories from from svn.webkit.org repository as of r285357

Added: trunk/Tools/buildstream/elements/sdk/highway.bst (0 => 286057)


--- trunk/Tools/buildstream/elements/sdk/highway.bst	                        (rev 0)
+++ trunk/Tools/buildstream/elements/sdk/highway.bst	2021-11-19 14:39:07 UTC (rev 286057)
@@ -0,0 +1,16 @@
+kind: cmake
+
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
+
+variables:
+  cmake-local: |
+    -DBUILD_TESTING=OFF \
+    -DHWY_WARNINGS_ARE_ERRORS=OFF \
+    -DHWY_ENABLE_EXAMPLES=OFF \
+    -DHWY_ENABLE_INSTALL=ON
+
+sources:
+- kind: tar
+  url: https://github.com/google/highway/archive/refs/tags/0.15.0.tar.gz
+  ref: 4bbd4439eae08cf038f1c5cc5d9ebc6a1a50f2c610c13a1483adccacfa24c150

Added: trunk/Tools/buildstream/elements/sdk/libjxl.bst (0 => 286057)


--- trunk/Tools/buildstream/elements/sdk/libjxl.bst	                        (rev 0)
+++ trunk/Tools/buildstream/elements/sdk/libjxl.bst	2021-11-19 14:39:07 UTC (rev 286057)
@@ -0,0 +1,54 @@
+kind: cmake
+
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
+- sdk/highway.bst
+
+depends:
+- freedesktop-sdk.bst:components/brotli.bst
+
+variables:
+  cmake-local: |
+    -DBUILD_TESTING=OFF \
+    -DJPEGXL_ENABLE_FUZZERS=OFF \
+    -DJPEGXL_ENABLE_DEVTOOLS=OFF \
+    -DJPEGXL_ENABLE_TOOLS=OFF \
+    -DJPEGXL_ENABLE_MANPAGES=OFF \
+    -DJPEGXL_ENABLE_BENCHMARK=OFF \
+    -DJPEGXL_ENABLE_EXAMPLES=OFF \
+    -DJPEGXL_ENABLE_JNI=OFF \
+    -DJPEGXL_ENABLE_VIEWERS=OFF \
+    -DJPEGXL_ENABLE_TCMALLOC=OFF \
+    -DJPEGXL_ENABLE_PLUGINS=OFF \
+    -DJPEGXL_ENABLE_COVERAGE=OFF \
+    -DJPEGXL_ENABLE_PROFILER=OFF \
+    -DJPEGXL_ENABLE_TRANSCODE_JPEG=OFF \
+    -DJPEGXL_ENABLE_SJPEG=OFF \
+    -DJPEGXL_STATIC=OFF \
+    -DJPEGXL_WARNINGS_AS_ERRORS=OFF \
+    -DJPEGXL_ENABLE_SKCMS=ON \
+    -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
+    -DJPEGXL_FORCE_SYSTEM_GTEST=ON \
+    -DJPEGXL_FORCE_SYSTEM_HWY=ON
+
+sources:
+- kind: tar
+  url: https://github.com/libjxl/libjxl/archive/refs/tags/v0.6.1.tar.gz
+  ref: ccbd5a729d730152303be399f033b905e608309d5802d77a61a95faa092592c5
+- kind: remote
+  url: https://github.com/lvandeve/lodepng/raw/8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a/lodepng.h
+  ref: e6cb1736b11217209873f02b8859256e662e14d297f1f9346fbf1778d5efadbb
+  directory: third_party/lodepng
+- kind: remote
+  url: https://github.com/lvandeve/lodepng/raw/8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a/lodepng.cpp
+  ref: 6c61ad12196fde3d2cbb2e5ce689db414ae7f64c98f709b227928b451280ed1b
+  directory: third_party/lodepng
+- kind: remote
+  url: https://github.com/lvandeve/lodepng/raw/8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a/LICENSE
+  ref: bdafa318b8e637d600ca1b60545e894881977a16a16b74809c95e805701621e3
+  directory: third_party/lodepng
+- kind: git
+  url: https://skia.googlesource.com/skcms
+  ref: 64374756e03700d649f897dbd98c95e78c30c7da
+  directory: third_party/skcms
+  checkout-submodules: False

Modified: trunk/Tools/buildstream/elements/sdk-platform.bst (286056 => 286057)


--- trunk/Tools/buildstream/elements/sdk-platform.bst	2021-11-19 14:30:34 UTC (rev 286056)
+++ trunk/Tools/buildstream/elements/sdk-platform.bst	2021-11-19 14:39:07 UTC (rev 286057)
@@ -38,6 +38,7 @@
 - sdk/libcap-ng.bst
 - sdk/libevent.bst
 - sdk/libgcrypt.bst
+- sdk/libjxl.bst
 - sdk/libkate.bst
 - sdk/libmanette.bst
 - sdk/libnotify.bst
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to