Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: media-libs/skia/
Date: Thu, 30 Apr 2020 19:17:31
Message-Id: 1588274242.64def23e2b8cf1b4c810b6e2d95936f0c8bf803e.Alessandro-Barbieri@gentoo
1 commit: 64def23e2b8cf1b4c810b6e2d95936f0c8bf803e
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Wed Apr 29 14:47:50 2020 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Thu Apr 30 19:17:22 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=64def23e
7
8 media-libs/skia: lift some restrictions
9
10 Package-Manager: Portage-2.3.99, Repoman-2.3.22
11 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
12
13 media-libs/skia/skia-80_p20191220-r1.ebuild | 157 ++++++++++++++++++++++++++++
14 1 file changed, 157 insertions(+)
15
16 diff --git a/media-libs/skia/skia-80_p20191220-r1.ebuild b/media-libs/skia/skia-80_p20191220-r1.ebuild
17 new file mode 100644
18 index 0000000..708bfe3
19 --- /dev/null
20 +++ b/media-libs/skia/skia-80_p20191220-r1.ebuild
21 @@ -0,0 +1,157 @@
22 +# Copyright 1999-2020 Gentoo Authors
23 +# Distributed under the terms of the GNU General Public License v2
24 +
25 +EAPI="7"
26 +
27 +PYTHON_COMPAT=( python2_7 )
28 +
29 +inherit ninja-utils python-any-r1
30 +
31 +#https://github.com/google/skia/blob/master/include/core/SkMilestone.h
32 +COMMIT="1c9ebb50024f80f3bf289838298e15185d8f6966"
33 +
34 +SRC_URI="https://github.com/google/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
35 +KEYWORDS="~amd64"
36 +DESCRIPTION="A complete 2D graphic library for drawing Text, Geometries, and Images"
37 +HOMEPAGE="
38 + https://skia.org
39 + https://github.com/google/skia
40 +"
41 +LICENSE="BSD"
42 +SLOT="0"
43 +IUSE=""
44 +#IUSE="dawn expat gif jpeg png pdf webp zlib"
45 +#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
46 +
47 +#TODO: find out which deps are needed for gl/egl/vulkan/X/gif/xps
48 +# ffmpeg? ( virtual/ffmpeg )
49 +# heif? ( media-libs/libheif )
50 +# icu? ( dev-libs/icu )
51 +# virtual/opengl
52 +# lua? ( dev-lang/lua )
53 +# opencl? ( virtual/opencl )
54 +RDEPEND="
55 + app-arch/bzip2
56 + dev-libs/expat
57 + dev-libs/libbsd
58 + dev-libs/libpcre
59 + media-gfx/graphite2
60 + media-libs/fontconfig
61 + media-libs/freetype
62 + media-libs/harfbuzz
63 + media-libs/libglvnd
64 + media-libs/libjpeg-turbo
65 + media-libs/libpng
66 + media-libs/libwebp
67 + sys-apps/util-linux
68 + sys-libs/zlib
69 + x11-libs/libxcb
70 + x11-libs/libX11
71 + x11-libs/libXau
72 + x11-libs/libXdmcp
73 +"
74 +DEPEND="
75 + ${PYTHON_DEPS}
76 + ${RDEPEND}
77 +"
78 +BDEPEND="
79 + dev-util/gn
80 +"
81 +
82 +S="${WORKDIR}/${PN}-${COMMIT}"
83 +
84 +src_prepare() {
85 + default
86 + # https://chromium.googlesource.com/chromium/src/third_party/zlib
87 + # https://github.com/jtkukunas/zlib
88 + sed \
89 + -e '/:zlib_x86/d' \
90 + -e '/third_party("zlib_x86/,/^}/d' \
91 + -i third_party/zlib/BUILD.gn
92 +
93 + #remove questionable cflags
94 + sed -i 's|-O3||g' gn/BUILD.gn || die
95 + sed -i 's|-ffunction-sections||g' gn/BUILD.gn || die
96 + sed -i 's|-fdata-sections||g' gn/BUILD.gn || die
97 +}
98 +
99 +src_configure() {
100 + python_setup
101 + tc-export AR CC CXX
102 +
103 + local myconf_gn=()
104 + passflags() {
105 + local _f _x
106 + _f=( ${1} )
107 + _x="[$(printf '"%s", ' "${_f[@]}")]"
108 + myconf_gn+=( extra_${2}="${_x}" )
109 + }
110 + passflags "${CFLAGS}" cflags_c
111 + passflags "${CXXFLAGS}" cflags_cc
112 + passflags "${CFLAGS}" ldflags
113 +
114 + myconf_gn+=(
115 + ar=\"${AR}\"
116 + cc=\"${CC}\"
117 + cxx=\"${CXX}\"
118 + is_component_build=true
119 + is_official_build=true
120 + skia_use_dng_sdk=false
121 + skia_use_metal=false
122 + skia_use_sfntly=false
123 + )
124 +# skia_enable_pdf=$(usex pdf true false)
125 +#
126 +# skia_use_dawn=$(usex dawn true false)
127 +# skia_use_expat=$(usex expat true false)
128 +# skia_use_libgifcodec=$(usex gif true false)
129 +# skia_use_libjpeg_turbo_decode=$(usex jpeg true false)
130 +# skia_use_libjpeg_turbo_encode=$(usex jpeg true false)
131 +# skia_use_libpng_decode=$(usex png true false)
132 +# skia_use_libpng_encode=$(usex png true false)
133 +# skia_use_libwebp_decode=$(usex webp true false)
134 +# skia_use_libwebp_encode=$(usex webp true false)
135 +# skia_use_zlib=$(usex zlib true false)
136 +
137 +# skia_use_angle=$(usex angle true false)
138 +# skia_use_egl=$(usex egl true false)
139 +# skia_use_fontconfig=$(usex fontconfig true false)
140 +# skia_use_freetype=$(usex freetype true false)
141 +# skia_use_ffmpeg=$(usex ffmpeg true false)
142 +# skia_use_gl=$(usex gl true false)
143 +# skia_use_harfbuzz=$(usex harfbuzz true false)
144 +# skia_use_icu=$(usex icu true false)
145 +# skia_use_libheif=$(usex heif true false)
146 +# skia_use_lua=$(usex lua true false)
147 +# skia_use_opencl=$(usex opencl true false)
148 +# skia_use_vulkan=$(usex vulkan true false)
149 +# skia_use_x11=$(usex X true false)
150 +# skia_use_xps=$(usex xps true false)
151 +# skia_use_piex=$(usex piex true false)
152 +# skia_use_sfntly=$(usex sfntly true false)
153 +# skia_use_wuffs=$(usex wuffs true false)
154 +
155 +# use freetype && myconf_gn+=( skia_use_system_freetype2=true )
156 +# use harfbuzz && myconf_gn+=( skia_use_system_harfbuzz=true )
157 +# use icu && myconf_gn+=( skia_use_system_icu=true )
158 +# use jpeg && myconf_gn+=( skia_use_system_libjpeg_turbo=true )
159 +# use lua && myconf_gn+=( skia_use_system_lua=true )
160 +# use png && myconf_gn+=( skia_use_system_libpng=true )
161 +# use webp && myconf_gn+=( skia_use_system_libwebp=true )
162 +# use zlib && myconf_gn+=( skia_use_system_zlib=true )
163 +
164 + myconf_gn="${myconf_gn[@]} ${EXTRA_GN}"
165 + set -- gn gen --args="${myconf_gn% }" out/Release
166 + echo "$@"
167 + "$@" || die
168 +}
169 +
170 +src_compile() {
171 + eninja -C out/Release
172 +}
173 +
174 +src_install() {
175 + dolib.so out/Release/*.so
176 + insinto "/usr/include/${PN}"
177 + doins -r include/.
178 +}