From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A87B9138350 for ; Sat, 25 Apr 2020 00:37:31 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9D0D5E0BE1; Sat, 25 Apr 2020 00:37:28 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 79094E0BDA for ; Sat, 25 Apr 2020 00:37:28 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5CDAF34F1C8 for ; Sat, 25 Apr 2020 00:37:27 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A51F91FA for ; Sat, 25 Apr 2020 00:37:24 +0000 (UTC) From: "Alessandro Barbieri" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alessandro Barbieri" Message-ID: <1587775035.9d1db4a3a02af5233999f88d1fc5f9b569f03ce5.Alessandro-Barbieri@gentoo> Subject: [gentoo-commits] repo/proj/guru:dev commit in: media-libs/skia/ X-VCS-Repository: repo/proj/guru X-VCS-Files: media-libs/skia/Manifest media-libs/skia/metadata.xml media-libs/skia/skia-84.ebuild X-VCS-Directories: media-libs/skia/ X-VCS-Committer: Alessandro-Barbieri X-VCS-Committer-Name: Alessandro Barbieri X-VCS-Revision: 9d1db4a3a02af5233999f88d1fc5f9b569f03ce5 X-VCS-Branch: dev Date: Sat, 25 Apr 2020 00:37:24 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 55a214d2-760c-4b44-97c3-365a4c6d98f7 X-Archives-Hash: 9d959c7e2461257486935c2f99af5388 commit: 9d1db4a3a02af5233999f88d1fc5f9b569f03ce5 Author: Alessandro Barbieri gmail com> AuthorDate: Thu Apr 23 13:12:09 2020 +0000 Commit: Alessandro Barbieri gmail com> CommitDate: Sat Apr 25 00:37:15 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9d1db4a3 media-libs/skia: new package Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Alessandro Barbieri gmail.com> media-libs/skia/Manifest | 1 + media-libs/skia/metadata.xml | 13 ++++ media-libs/skia/skia-84.ebuild | 142 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+) diff --git a/media-libs/skia/Manifest b/media-libs/skia/Manifest new file mode 100644 index 0000000..f1160cc --- /dev/null +++ b/media-libs/skia/Manifest @@ -0,0 +1 @@ +DIST skia-84.tar.gz 46451124 BLAKE2B f64d5a4e66307ab99214e36be402064e75acd83d9f6e4957b52c3be3c1088feb92ac53ef6a15b94d3bbd74f5567c34146cc837e750c4867c02254a5ff258b2fb SHA512 e2455d57db4de093b7ce5c0a9ef7260df7ad7bebbe7684e39153a4bd7c80169629bdb58163fec5ed304b1f8a846200ce7100a8d067540afee6eff6a230393542 diff --git a/media-libs/skia/metadata.xml b/media-libs/skia/metadata.xml new file mode 100644 index 0000000..8e363d5 --- /dev/null +++ b/media-libs/skia/metadata.xml @@ -0,0 +1,13 @@ + + + + + +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. + + + use Dawn, a WebGPU implementation + + diff --git a/media-libs/skia/skia-84.ebuild b/media-libs/skia/skia-84.ebuild new file mode 100644 index 0000000..ec24265 --- /dev/null +++ b/media-libs/skia/skia-84.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python2_7 ) + +inherit ninja-utils python-any-r1 + +COMMIT="2fc431eaea2979f6e6b20cdb715db8861d5a47b1" + +SRC_URI="https://github.com/google/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" +DESCRIPTION="A complete 2D graphic library for drawing Text, Geometries, and Images" +HOMEPAGE=" + https://skia.org + https://github.com/google/skia +" +LICENSE="BSD" +SLOT="0" +IUSE="dawn expat gif jpeg png pdf webp zlib" +#TODO: find out how to enable and link: angle egl ffmpeg fontconfig freetype gl harfbuzz heif icu lua opencl piex sfntly wuffs vulkan xps s + +#TODO: find out which deps are needed for gl/egl/vulkan/X/gif/xps +# fontconfig? ( media-libs/fontconfig ) +# freetype? ( media-libs/freetype ) +# ffmpeg? ( virtual/ffmpeg ) +# harfbuzz? ( media-libs/harfbuzz ) +# heif? ( media-libs/libheif ) +# icu? ( dev-libs/icu ) +# virtual/opengl +# lua? ( dev-lang/lua ) +# opencl? ( virtual/opencl ) +RDEPEND=" + expat? ( dev-libs/expat ) + jpeg? ( media-libs/libjpeg-turbo ) + png? ( media-libs/libpng ) + webp? ( media-libs/libwebp ) + zlib? ( sys-libs/zlib ) +" +DEPEND=" + ${PYTHON_DEPS} + ${RDEPEND} +" +BDEPEND=" + dev-util/gn +" + +S="${WORKDIR}/${PN}-${COMMIT}" + +src_prepare() { + default + # https://chromium.googlesource.com/chromium/src/third_party/zlib + # https://github.com/jtkukunas/zlib + sed \ + -e '/:zlib_x86/d' \ + -e '/third_party("zlib_x86/,/^}/d' \ + -i third_party/zlib/BUILD.gn +} + +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 "${CFLAGS}" ldflags + + myconf_gn+=( + ar=\"${AR}\" + cc=\"${CC}\" + cxx=\"${CXX}\" + is_component_build=true + is_official_build=true + + skia_enable_pdf=$(usex pdf true false) + + skia_use_dawn=$(usex dawn true false) + skia_use_expat=$(usex expat true false) + skia_use_libgifcodec=$(usex gif 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_zlib=$(usex zlib true false) + + skia_use_direct3d=false + skia_use_dng_sdk=false + skia_use_fonthost_mac=false + skia_use_metal=false + ) +# skia_use_angle=$(usex angle true false) +# skia_use_egl=$(usex egl true false) +# skia_use_fontconfig=$(usex fontconfig true false) +# skia_use_freetype=$(usex freetype true false) +# skia_use_ffmpeg=$(usex ffmpeg true false) +# skia_use_gl=$(usex gl true false) +# skia_use_harfbuzz=$(usex harfbuzz true false) +# skia_use_icu=$(usex icu true false) +# skia_use_libheif=$(usex heif true false) +# skia_use_lua=$(usex lua true false) +# skia_use_opencl=$(usex opencl true false) +# skia_use_vulkan=$(usex vulkan true false) +# skia_use_x11=$(usex X true false) +# skia_use_xps=$(usex xps true false) +# skia_use_piex=$(usex piex true false) +# skia_use_sfntly=$(usex sfntly true false) +# skia_use_wuffs=$(usex wuffs true false) + +# use freetype && myconf_gn+=( skia_use_system_freetype2=true ) +# 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 + echo "$@" + "$@" || die +} + +src_compile() { + eninja -C out/Release +} + +src_install() { + dolib.so out/Release/*.so + insinto "/usr/include/${PN}" + doins -r include/. +}