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 |
+} |