commit:     49e50a8a5c03b15294661dc6f1bccbd1f9fabdaf
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu Mar 10 00:39:20 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Thu Mar 10 01:05:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=49e50a8a

media-libs/skia: update EAPI 7 -> 8

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 .../skia/files/skia-97-questionable-flags.patch    |  52 +++++
 .../skia/files/skia-97-system-skcms-headers.patch  | 232 +++++++++++++++++++++
 media-libs/skia/files/skia-97-system-skcms.patch   |  52 +++++
 media-libs/skia/files/skia-97-system-vulkan.patch  | 101 +++++++++
 media-libs/skia/files/skia-97-system-zlib.patch    |  16 ++
 media-libs/skia/metadata.xml                       |  11 +-
 media-libs/skia/skia-97-r1.ebuild                  | 213 +++++++++++++++++++
 7 files changed, 675 insertions(+), 2 deletions(-)

diff --git a/media-libs/skia/files/skia-97-questionable-flags.patch 
b/media-libs/skia/files/skia-97-questionable-flags.patch
new file mode 100644
index 000000000..ee1aaea7e
--- /dev/null
+++ b/media-libs/skia/files/skia-97-questionable-flags.patch
@@ -0,0 +1,52 @@
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gn/skia/BUILD.gn
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gn/skia/BUILD.gn
+@@ -335,7 +335,7 @@
+ config("no_exceptions") {
+   # Exceptions are disabled by default on Windows.  (Use /EHsc to enable 
them.)
+   if (!is_win) {
+-    cflags_cc = [ "-fno-exceptions" ]
++    cflags_cc = [ "" ]
+   }
+ }
+ 
+@@ -572,7 +572,7 @@
+     if (is_win) {
+       cflags_cc = [ "/GR-" ]
+     } else {
+-      cflags_cc = [ "-fno-rtti" ]
++      cflags_cc = [ "" ]
+     }
+   }
+ }
+@@ -592,10 +592,6 @@
+     if (is_mac || is_ios) {
+       ldflags = [ "-dead_strip" ]
+     } else {
+-      cflags += [
+-        "-fdata-sections",
+-        "-ffunction-sections",
+-      ]
+       ldflags = [ "-Wl,--gc-sections" ]
+     }
+     if (target_cpu == "wasm") {
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/canvaskit/compile.sh
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/canvaskit/compile.sh
+@@ -358,7 +358,6 @@
+     -DSK_DISABLE_AAA \
+     -DSK_FORCE_8_BYTE_ALIGNMENT \
+     -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 \
+-    -fno-rtti \
+     $WASM_GPU \
+     $WASM_PATHOPS \
+     $WASM_RT_SHADER \
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/pathkit/compile.sh
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/pathkit/compile.sh
+@@ -113,7 +113,7 @@
+ --no-entry \
+ --pre-js $BASE_DIR/helper.js \
+ --pre-js $BASE_DIR/chaining.js \
+--fno-rtti -fno-exceptions -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 \
++-DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 \
+ $WASM_CONF \
+ -s ERROR_ON_UNDEFINED_SYMBOLS=1 \
+ -s EXPORT_NAME="PathKitInit" \

diff --git a/media-libs/skia/files/skia-97-system-skcms-headers.patch 
b/media-libs/skia/files/skia-97-system-skcms-headers.patch
new file mode 100644
index 000000000..c46b77276
--- /dev/null
+++ b/media-libs/skia/files/skia-97-system-skcms-headers.patch
@@ -0,0 +1,232 @@
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/dm/DMSrcSink.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/dm/DMSrcSink.cpp
+@@ -28,7 +28,7 @@
+ #include "include/ports/SkImageGeneratorWIC.h"
+ #include "include/private/SkImageInfoPriv.h"
+ #include "include/private/SkTLogic.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "include/utils/SkNullCanvas.h"
+ #include "include/utils/SkPaintFilterCanvas.h"
+ #include "include/utils/SkRandom.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/experimental/wasm-skp-debugger/compile.sh
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/experimental/wasm-skp-debugger/compile.sh
+@@ -130,7 +130,7 @@
+     $RELEASE_CONF \
+     -I. \
+     -Ithird_party/icu \
+-    -Ithird_party/skcms \
++    -lskcms \
+     -DSK_DISABLE_AAA \
+     -DSK_FORCE_8_BYTE_ALIGNMENT \
+     -std=c++17 \
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gm/pictureshadercache.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gm/pictureshadercache.cpp
+@@ -22,7 +22,7 @@
+ #include "include/core/SkString.h"
+ #include "include/core/SkSurface.h"
+ #include "include/core/SkTileMode.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ 
+ #include <utility>
+ 
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gm/readpixels.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gm/readpixels.cpp
+@@ -23,7 +23,7 @@
+ #include "include/core/SkString.h"
+ #include "include/core/SkTypes.h"
+ #include "include/gpu/GrDirectContext.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "tools/Resources.h"
+ 
+ #include <string.h>
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gn/gn_to_bp.py
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/gn/gn_to_bp.py
+@@ -485,10 +485,6 @@
+ gn_to_bp_utils.GrabDependentValues(js, '//:nanobench', 'sources',
+                                    nanobench_srcs, 'skia')
+ 
+-# skcms is a little special, kind of a second-party library.
+-local_includes.add("include/third_party/skcms")
+-dm_includes   .add("include/third_party/skcms")
+-
+ # Android's build will choke if we list headers.
+ def strip_headers(sources):
+   return {s for s in sources if not s.endswith('.h')}
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/include/core/SkColorSpace.h
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/include/core/SkColorSpace.h
+@@ -11,7 +11,7 @@
+ #include "include/core/SkRefCnt.h"
+ #include "include/private/SkFixed.h"
+ #include "include/private/SkOnce.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include <memory>
+ 
+ class SkData;
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/include/private/SkEncodedInfo.h
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/include/private/SkEncodedInfo.h
+@@ -12,7 +12,7 @@
+ 
+ #include "include/core/SkData.h"
+ #include "include/core/SkImageInfo.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ 
+ struct SkEncodedInfo {
+ public:
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/canvaskit/compile.sh
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/canvaskit/compile.sh
+@@ -353,7 +353,7 @@
+     $RELEASE_CONF \
+     -I. \
+     -Ithird_party/icu \
+-    -Ithird_party/skcms \
++    -lskcms \
+     -Ithird_party/externals/icu/source/common/ \
+     -DSK_DISABLE_AAA \
+     -DSK_FORCE_8_BYTE_ALIGNMENT \
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/public.bzl
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/public.bzl
+@@ -534,7 +534,6 @@
+     "include/pathops",
+     "include/ports",
+     "include/private",
+-    "include/third_party/skcms",
+     "include/utils",
+     "include/utils/mac",
+     "src/codec",
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/core/SkColorSpace.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/core/SkColorSpace.cpp
+@@ -8,7 +8,7 @@
+ #include "include/core/SkColorSpace.h"
+ #include "include/core/SkData.h"
+ #include "include/private/SkTemplates.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpacePriv.h"
+ #include "src/core/SkOpts.h"
+ 
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/core/SkColorSpaceXformSteps.cpp
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/core/SkColorSpaceXformSteps.cpp
+@@ -5,7 +5,7 @@
+  * found in the LICENSE file.
+  */
+ 
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpacePriv.h"
+ #include "src/core/SkColorSpaceXformSteps.h"
+ #include "src/core/SkRasterPipeline.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/gpu/GrDataUtils.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/gpu/GrDataUtils.cpp
+@@ -8,7 +8,7 @@
+ #include "src/gpu/GrDataUtils.h"
+ 
+ #include "include/private/SkTPin.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpaceXformSteps.h"
+ #include "src/core/SkCompressedDataUtils.h"
+ #include "src/core/SkConvertPixels.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/images/SkImageEncoderFns.h
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/src/images/SkImageEncoderFns.h
+@@ -12,7 +12,7 @@
+ #include "include/core/SkICC.h"
+ #include "include/core/SkTypes.h"
+ #include "include/private/SkColorData.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ 
+ typedef void (*transform_scanline_proc)(char* dst, const char* src, int 
width, int bpp);
+ 
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/AndroidCodecTest.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/AndroidCodecTest.cpp
+@@ -18,7 +18,7 @@
+ #include "include/core/SkSize.h"
+ #include "include/core/SkString.h"
+ #include "include/core/SkTypes.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/codec/SkCodecImageGenerator.h"
+ #include "src/core/SkPixmapPriv.h"
+ #include "tests/Test.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/CodecTest.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/CodecTest.cpp
+@@ -37,7 +37,7 @@
+ #include "include/encode/SkWebpEncoder.h"
+ #include "include/private/SkMalloc.h"
+ #include "include/private/SkTemplates.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "include/utils/SkRandom.h"
+ #include "src/codec/SkCodecImageGenerator.h"
+ #include "src/core/SkAutoMalloc.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/ColorSpaceTest.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/ColorSpaceTest.cpp
+@@ -12,7 +12,7 @@
+ #include "include/core/SkRefCnt.h"
+ #include "include/core/SkStream.h"
+ #include "include/core/SkTypes.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpacePriv.h"
+ #include "tests/Test.h"
+ #include "tools/Resources.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/ICCTest.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/ICCTest.cpp
+@@ -9,7 +9,7 @@
+ 
+ #include "include/core/SkICC.h"
+ #include "include/core/SkString.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpacePriv.h"
+ #include "tests/Test.h"
+ #include "tools/Resources.h"
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/NonlinearBlendingTest.cpp
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tests/NonlinearBlendingTest.cpp
+@@ -6,7 +6,7 @@
+  */
+ 
+ #include "include/core/SkColorSpace.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpaceXformSteps.h"
+ #include "tests/Test.h"
+ 
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/doxygen/Doxyfile
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/doxygen/Doxyfile
+@@ -795,7 +795,6 @@
+   ../../include/docs \
+   ../../include/gpu \
+   ../../include/pathops \
+-  ../../third_party/skcms \
+   ../../modules/particles/include \
+   ../../modules/skottie/include \
+   ../../modules/sksg/include \
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/imgcvt.cpp
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/imgcvt.cpp
+@@ -10,7 +10,7 @@
+ #include "include/core/SkImage.h"
+ #include "include/core/SkStream.h"
+ #include "include/core/SkSurface.h"
+-#include "include/third_party/skcms/skcms.h"
++#include "skcms.h"
+ #include "src/core/SkColorSpacePriv.h"
+ 
+ static void write_png(const char* path, sk_sp<SkImage> img) {
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/rewrite_includes.py
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/rewrite_includes.py
+@@ -76,8 +76,7 @@
+ need_rewriting = []
+ for file_path in to_rewrite():
+   if ('/generated/' in file_path or
+-      'tests/sksl/' in file_path or
+-      'third_party/skcms' in file_path):
++      'tests/sksl/' in file_path):
+     continue
+   if (file_path.endswith('.h') or
+       file_path.endswith('.c') or

diff --git a/media-libs/skia/files/skia-97-system-skcms.patch 
b/media-libs/skia/files/skia-97-system-skcms.patch
new file mode 100644
index 000000000..40bd69516
--- /dev/null
+++ b/media-libs/skia/files/skia-97-system-skcms.patch
@@ -0,0 +1,52 @@
+--- a/BUILD.gn
++++ b/BUILD.gn
+@@ -93,7 +93,7 @@
+       "GR_TEST_UTILS=1",
+     ]
+   }
+-  libs = []
++  libs = [ "skcms" ]
+   lib_dirs = []
+   if (skia_use_gl && skia_use_angle) {
+     defines += [ "SK_ANGLE" ]
+@@ -1110,21 +1110,6 @@
+   sources = [ "src/codec/SkRawCodec.cpp" ]
+ }
+ 
+-import("third_party/skcms/skcms.gni")
+-skia_source_set("skcms") {
+-  cflags = []
+-  if (!is_win || is_clang) {
+-    cflags += [
+-      "-w",
+-      "-std=c11",
+-    ]
+-  }
+-
+-  public = [ "include/third_party/skcms/skcms.h" ]
+-  include_dirs = [ "include/third_party/skcms" ]
+-  sources = rebase_path(skcms_sources, ".", "third_party/skcms")
+-}
+-
+ optional("typeface_freetype") {
+   enabled = skia_use_freetype
+ 
+@@ -1225,7 +1210,6 @@
+     ":gpu",
+     ":graphite",
+     ":pdf",
+-    ":skcms",
+     ":xps",
+   ]
+ 
+@@ -2096,9 +2080,9 @@
+     test_app("imgcvt") {
+       sources = [ "tools/imgcvt.cpp" ]
+       deps = [
+-        ":skcms",
+         ":skia",
+       ]
++      libs = [ "skcms" ]
+     }
+     test_app("fm") {
+       sources = [

diff --git a/media-libs/skia/files/skia-97-system-vulkan.patch 
b/media-libs/skia/files/skia-97-system-vulkan.patch
new file mode 100644
index 000000000..c14ffbf07
--- /dev/null
+++ b/media-libs/skia/files/skia-97-system-vulkan.patch
@@ -0,0 +1,101 @@
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/BUILD.gn
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/BUILD.gn
+@@ -1479,10 +1479,6 @@
+   deps = [ "experimental/sktext" ]
+ }
+ 
+-config("our_vulkan_headers") {
+-  include_dirs = [ "include/third_party/vulkan" ]
+-}
+-
+ # Targets guarded by skia_enable_tools may use //third_party freely.
+ if (skia_enable_tools) {
+   skia_public_includes = [
+@@ -1569,7 +1565,6 @@
+   skia_source_set("public_headers_warnings_check") {
+     sources = [ "tools/public_headers_warnings_check.cpp" ]
+     configs = [
+-      ":our_vulkan_headers",
+       ":cpp14",
+     ]
+     if (defined(skia_header_target_default_configs)) {
+@@ -1681,10 +1676,6 @@
+   test_lib("gpu_tool_utils") {
+     public_defines = []
+ 
+-    # Bots and even devs may not have Vulkan headers, so put
+-    # include/third_party/vulkan on our path so they're always available.
+-    all_dependent_configs = [ ":our_vulkan_headers" ]
+-
+     defines = []
+     if (skia_enable_discrete_gpu) {
+       defines += [ "SK_ENABLE_DISCRETE_GPU" ]
+@@ -2204,7 +2195,6 @@
+ 
+   test_app("skpinfo") {
+     sources = [ "tools/skpinfo.cpp" ]
+-    configs = [ ":our_vulkan_headers" ]
+     deps = [
+       ":flags",
+       ":skia",
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/include/gpu/vk/GrVkVulkan.h
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/include/gpu/vk/GrVkVulkan.h
+@@ -11,7 +11,7 @@
+ #include "include/core/SkTypes.h"
+ 
+ #if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
+-#include "include/third_party/vulkan/vulkan/vulkan_core.h"
++#include "vulkan/vulkan_core.h"
+ #else
+ // For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make 
sure that the vulkan
+ // headers stay up to date for our needs
+@@ -21,7 +21,7 @@
+ #ifdef SK_BUILD_FOR_ANDROID
+ // This is needed to get android extensions for external memory
+ #if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
+-#include "include/third_party/vulkan/vulkan/vulkan_android.h"
++#include "vulkan/vulkan_android.h"
+ #else
+ // For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make 
sure that the vulkan
+ // headers stay up to date for our needs
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/particles/BUILD.gn
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/modules/particles/BUILD.gn
+@@ -27,7 +27,6 @@
+     sources = skia_particle_sources
+     configs += [
+       "../../:skia_private",
+-      "../../:our_vulkan_headers",
+     ]
+   }
+ }
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/third_party/vulkanmemoryallocator/BUILD.gn
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/third_party/vulkanmemoryallocator/BUILD.gn
+@@ -12,7 +12,6 @@
+ 
+   include_dirs = [
+     "../..",
+-    "../../include/third_party/vulkan",
+   ]
+ 
+   sources = [
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/check-headers-self-sufficient
++++ 
skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/check-headers-self-sufficient
+@@ -32,7 +32,6 @@
+     r'include/private/.*_impl\.h',
+     r'include/private/.*_neon\.h',
+     r'include/private/.*_sse\.h',
+-    r'include/third_party/vulkan/.*',
+     r'include/utils/mac/SkCGUtils\.h',
+     r'include/views/SkOSWindow_.*\.h',
+     r'modules/.*',
+--- 
/var/tmp/portage/media-libs/skia-97-r1/work/skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/rewrite_includes.py
++++ skia-f2093bf1b076210bd017f237eaab84ea4d3d6771/tools/rewrite_includes.py
+@@ -43,7 +43,7 @@
+ # Don't count our local Vulkan headers as Skia headers;
+ # we don't want #include <vulkan/vulkan_foo.h> rewritten to point to them.
+ # Nor do we care about things in node_modules, used by *Kits.
+-ignorelist = ['include/third_party/vulkan', 'node_modules']
++ignorelist = ['node_modules']
+ 
+ assert '/' in [os.sep, os.altsep]
+ def fix_path(p):

diff --git a/media-libs/skia/files/skia-97-system-zlib.patch 
b/media-libs/skia/files/skia-97-system-zlib.patch
new file mode 100644
index 000000000..6fb0aef47
--- /dev/null
+++ b/media-libs/skia/files/skia-97-system-zlib.patch
@@ -0,0 +1,16 @@
+--- a/third_party/zlib/BUILD.gn
++++ b/third_party/zlib/BUILD.gn
+@@ -196,13 +196,3 @@
+ 
+ config("zlib_config") {
+ }
+-
+-third_party("compression_utils_portable") {
+-  visibility = [ "//third_party/externals/angle2:*" ]
+-  public_include_dirs = [ "../externals/zlib/google" ]
+-  sources = [
+-    "../externals/zlib/google/compression_utils_portable.cc",
+-    "../externals/zlib/google/compression_utils_portable.h",
+-  ]
+-  public_deps = [ ":zlib" ]  # either system or from source
+-}

diff --git a/media-libs/skia/metadata.xml b/media-libs/skia/metadata.xml
index 44de944f4..c4eacab6f 100644
--- a/media-libs/skia/metadata.xml
+++ b/media-libs/skia/metadata.xml
@@ -8,7 +8,14 @@
   </maintainer>
   <longdescription lang="en">
 Skia is an open source 2D graphics library which provides common APIs that 
work across a variety of hardware and software platforms. It serves as the 
graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and 
Firefox OS, and many other products.
-
-Skia is sponsored and managed by Google, but is available for use by anyone 
under the BSD Free Software License. While engineering of the core components 
is done by the Skia development team, we consider contributions from any source.
   </longdescription>
+  <use>
+    <flag name="ccpr">enable coverage counting path renderer</flag>
+    <flag name="freetype">enable <pkg>media-libs/freetype</pkg> support</flag>
+    <flag name="harfbuzz">enable <pkg>media-libs/harfbuzz</pkg> support</flag>
+    <flag name="lottie">Play back bodymovin lottie files</flag>
+    <flag name="opencl">enable opencl support</flag>
+    <flag name="rive">enable support for rive files</flag>
+    <flag name="vulkan">enable vulkan backend</flag>
+  </use>
 </pkgmetadata>

diff --git a/media-libs/skia/skia-97-r1.ebuild 
b/media-libs/skia/skia-97-r1.ebuild
new file mode 100644
index 000000000..cf53c41df
--- /dev/null
+++ b/media-libs/skia/skia-97-r1.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_9 )
+
+inherit ninja-utils python-any-r1 toolchain-funcs
+
+#https://github.com/google/skia/blob/master/include/core/SkMilestone.h
+COMMIT="f2093bf1b076210bd017f237eaab84ea4d3d6771"
+
+DESCRIPTION="A complete 2D graphic library for drawing Text, Geometries, and 
Images"
+HOMEPAGE="
+       https://skia.org
+       https://github.com/google/skia
+"
+SRC_URI="https://github.com/google/${PN}/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+KEYWORDS="~amd64"
+LICENSE="BSD"
+SLOT="0"
+IUSE="+ccpr debug ffmpeg +fontconfig +freetype +harfbuzz +icu jit +jpeg 
+lottie lua opencl +opengl +pdf +png +rive vulkan +webp +zlib +X +xml"
+#TODO: find out how to enable and link: angle dawn piex sfntly wuffs
+
+CDEPEND="
+       media-libs/skcms:=
+
+       ffmpeg? ( media-video/ffmpeg )
+       fontconfig? ( media-libs/fontconfig )
+       freetype? ( media-libs/freetype )
+       harfbuzz? ( media-libs/harfbuzz:=[icu?] )
+       icu? ( dev-libs/icu:= )
+       jpeg? ( media-libs/libjpeg-turbo )
+       lua? ( dev-lang/lua:* )
+       opengl? ( virtual/opengl )
+       png? ( media-libs/libpng )
+       webp? ( media-libs/libwebp )
+       xml? ( dev-libs/expat )
+       zlib? ( sys-libs/zlib )
+"
+RDEPEND="
+       ${CDEPEND}
+       opencl? ( virtual/opencl )
+"
+DEPEND="
+       ${PYTHON_DEPS}
+       ${CDEPEND}
+       opencl? ( dev-util/opencl-headers )
+       vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="dev-util/gn"
+
+PATCHES=(
+       "${FILESDIR}/${P}-system-skcms-headers.patch"
+       "${FILESDIR}/${P}-system-skcms.patch"
+       "${FILESDIR}/${P}-system-vulkan.patch"
+       "${FILESDIR}/${P}-questionable-flags.patch"
+       "${FILESDIR}/${P}-system-zlib.patch"
+)
+
+REQUIRED_USE="
+       X? ( opengl )
+"
+
+src_prepare() {
+       rm -r include/third_party/* || die
+       rm -r third_party/skcms || die
+
+       default
+}
+
+src_configure() {
+       python_setup
+       tc-export AR CC CXX
+
+       local myconf_gn=()
+       passflags() {
+               local _f _x
+               _f=( ${1} )
+               _x="[$(printf '"%s", ' "${_f[@]}")]"
+               myconf_gn+=( extra_${2}="${_x}" )
+       }
+       passflags "${CFLAGS}" cflags_c
+       passflags "${CXXFLAGS}" cflags_cc
+       passflags "${LDFLAGS}" ldflags
+
+       # skia_qt_path = getenv("QT_PATH") #todo
+
+       myconf_gn+=(
+               ar=\"${AR}\"
+               cc=\"${CC}\"
+               cxx=\"${CXX}\"
+               is_component_build=false
+               is_official_build=true
+               is_shared_library=true
+               skia_build_fuzzers=false
+               skia_compile_sksl_tests=false
+               skia_enable_android_utils=false #android
+               skia_enable_api_available_macro = true
+               skia_enable_flutter_defines = false
+               skia_enable_fontmgr_android=false #android
+               skia_enable_fontmgr_win_gdi=false #windows
+               skia_enable_nga=false
+               skia_enable_tools=false
+               skia_enable_winuwp = false
+               skia_generate_workarounds = false
+               skia_include_multiframe_procs = false
+               skia_lex = false
+               skia_skqp_global_error_tolerance=0
+               skia_update_fuchsia_sdk=false #fuchsia
+               skia_use_angle=false #todo
+               skia_use_dawn=false #todo
+               skia_use_direct3d=false #windows
+               skia_use_dng_sdk=false
+               skia_use_libheif=false #android only
+               skia_use_experimental_xform=false
+               skia_use_fixed_gamma_text=false #android
+               skia_use_fonthost_mac=false #mac
+               skia_use_libgifcodec=false #todo
+               skia_use_metal=false #ios
+               skia_use_ndk_images=false #android
+               skia_use_piex=false #todo
+               skia_use_sfml=false #todo
+               skia_use_sfntly=false #todo
+               skia_use_webgl=false #todo
+               skia_use_wuffs=false #todo
+               skia_use_xps=false #windows
+
+               skia_compile_processors = $(usex processors true false)
+               skia_enable_ccpr=$(usex cppr true false)
+               skia_enable_gpu=$(usex gpu true false)
+               skia_enable_gpu_debug_layers=$(usex debug true false)
+               skia_enable_pdf=$(usex pdf true false)
+               skia_enable_skottie=$(usex lottie true false)
+               skia_enable_skrive=$(usex rive true false)
+               skia_enable_skvm_jit_when_possible=$(usex jit true false)
+               skia_enable_svg=$(usex svg true false)
+               skia_pdf_subset_harfbuzz =$(usex harfbuzz true false)
+               skia_use_egl=$(usex opengl true false)
+               skia_use_expat=$(usex xml true false)
+               skia_use_ffmpeg=$(usex ffmpeg true false)
+               skia_use_fontconfig=$(usex fontconfig true false)
+               skia_use_gl=$(usex opengl true false)
+               skia_use_harfbuzz=$(usex harfbuzz true false)
+               skia_use_icu=$(usex icu true false)
+               skia_use_libjpeg_turbo_decode=$(usex jpeg true false)
+               skia_use_libjpeg_turbo_encode=$(usex jpeg true false)
+               skia_use_libpng_decode=$(usex png true false)
+               skia_use_libpng_encode=$(usex png true false)
+               skia_use_libwebp_decode=$(usex webp true false)
+               skia_use_libwebp_encode=$(usex webp true false)
+               skia_use_lua=$(usex lua true false)
+               skia_use_opencl=$(usex opencl true false)
+               skia_use_vma=$(usex vulkan true false)
+               skia_use_vulkan=$(usex vulkan true false)
+               skia_use_x11=$(usex X true false)
+               skia_use_zlib=$(usex zlib true false)
+       )
+
+               if use freetype; then
+                       myconf_gn+=( skia_enable_fontmgr_custom_directory=true )
+                       myconf_gn+=( skia_enable_fontmgr_custom_embedded=true )
+                       myconf_gn+=( skia_enable_fontmgr_custom_empty=true )
+                       myconf_gn+=( skia_use_freetype=true )
+                       myconf_gn+=( skia_use_system_freetype2=true )
+
+                       if use fontconfig; then
+                               myconf_gn+=( 
skia_enable_fontmgr_fontconfig=true )
+                               myconf_gn+=( 
skia_enable_fontmgr_FontConfigInterface=true )
+                       fi
+               else
+                       myconf_gn+=( skia_enable_fontmgr_custom_directory=false 
)
+                       myconf_gn+=( skia_enable_fontmgr_custom_embedded=false )
+                       myconf_gn+=( skia_enable_fontmgr_custom_empty=false )
+                       myconf_gn+=( skia_use_freetype=false )
+                       myconf_gn+=( skia_use_system_freetype2=false )
+               fi
+
+               if ! use freetype !! ! use fontconfig; then
+                       myconf_gn+=( skia_enable_fontmgr_fontconfig=false )
+                       myconf_gn+=( 
skia_enable_fontmgr_FontConfigInterface=false )
+               fi
+
+#              skia_use_angle=$(usex angle true false)
+#              skia_use_piex=$(usex piex true false)
+#              skia_use_sfntly=$(usex sfntly true false)
+#              skia_use_wuffs=$(usex wuffs true false)
+
+       use harfbuzz    && myconf_gn+=( skia_use_system_harfbuzz=true )
+       use icu         && myconf_gn+=( skia_use_system_icu=true )
+       use jpeg        && myconf_gn+=( skia_use_system_libjpeg_turbo=true )
+       use lua         && myconf_gn+=( skia_use_system_lua=true )
+       use png         && myconf_gn+=( skia_use_system_libpng=true )
+       use webp        && myconf_gn+=( skia_use_system_libwebp=true )
+       use zlib        && myconf_gn+=( skia_use_system_zlib=true )
+
+       myconf_gn="${myconf_gn[@]} ${EXTRA_GN}"
+       set -- gn gen --args="${myconf_gn% }" out/Release || die
+       echo "$@"
+       "$@" || die
+}
+
+src_compile() {
+       eninja -C out/Release
+}
+
+src_install() {
+       dolib.so out/Release/*.so
+       insinto "/usr/include/${PN}"
+       doins -r include/.
+}

Reply via email to