1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
|
# Maintainer: txtsd <aur.archlinux@ihavea.quest>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
pkgname=skia-sharp-atl-git
_pkgname=${pkgname%%-git}
__pkgname=${_pkgname%%-atl}
pkgver=r67245.ced64f6f90
pkgrel=2
_major=99
_minor=9
_release=0
pkgdesc='A complete 2D graphic library for drawing Text, Geometries, and Images (Mis012 fork)'
arch=(x86_64 aarch64 armv7h)
url=https://github.com/Mis012/skia/tree/with-patches-applied
license=(BSD-3-Clause)
depends=(
expat
fontconfig
libfreetype.so
libjpeg-turbo
libpng
libwebp
harfbuzz
zlib
gcc-libs
glibc
)
makedepends=(
clang
git
gn
python
ninja
)
provides=(
libSkiaSharp.so
${_pkgname}
${__pkgname}
)
conflicts=(
${_pkgname}
${__pkgname}
)
_branch_skia=with-patches-applied
_commit_brotli='6d03dfbedda1615c4cba1211f8d81735575209c8'
_commit_abseil_cpp='cb436cf0142b4cbe47aae94223443df7f82e2920'
_commit_dng_sdk='c8d0c9b1d16bfda56f15165d39e0ffa360a11123'
_commit_egl_registry='a0bca08de07c7d7651047bedc0b653cfaaa4f2ae'
_commit_highway='424360251cdcfc314cfc528f53c872ecd63af0f0'
_commit_imgui='55d35d8387c15bf0cfd71861df67af8cfbda7456'
_commit_libavif='f49462dc93784bf34148715eee36ab6697ca0b35'
_commit_libgav1='0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da'
_commit_jpeg_xl='a205468bc5d3a353fb15dae2398a101dff52f2d3'
_commit_libyuv='d248929c059ff7629a85333699717d7a677d8d96'
_commit_libmicrohttpd='748945ec6f1c67b7efc934ab0808e1d32f2fb98d'
_commit_oboe='b02a12d1dd821118763debec6b83d00a8a0ee419'
_commit_opengl_registry='14b80ebeab022b2c78f84a573f01028c96075553'
_commit_perfetto='93885509be1c9240bc55fa515ceb34811e54a394'
_commit_piex='bb217acdca1cc0c16b704669dd6f91a1b509c406'
_commit_vulkanmemoryallocator='7de5cc00de50e71a3aab22dea52fbb7ff4efceb6'
_commit_vulkan_deps='8a3971e5e9c5cddc437d1cf5e4ac1ed0728d6a49'
_commit_spirv_cross='12542fc6fc05000e04742daf93892a0b10edbe80'
_commit_spirv_headers='bdbfd019be6952fd8fa9bd5606a8798a7530c853'
_commit_spirv_tools='e7c6084fd1d6d6f5ac393e842728d8be309688ca'
_commit_vello='ef2630ad9c647b90863cb0915701d54725733968'
_commit_vulkan_headers='9e61870ecbd32514113b467e0a0c46f60ed222c7'
_commit_vulkan_tools='80b010b1e1b08c1f092fb2bfa337faadf8ea1ba3'
_commit_wuffs_mirror_release_c='a0041ac0310b3156b963e2f2bea09245f25ec073'
_commit_harfbuzz='09a266236147497bd8149240062c31c16fbc81e3'
_commit_zlib='c876c8f87101c5a75f6014b0f832499afeb65b73'
source=(
git+https://github.com/Mis012/skia.git#branch=${_branch_skia}
git+https://github.com/google/brotli.git#commit=${_commit_brotli}
git+https://github.com/abseil/abseil-cpp.git#commit=${_commit_abseil_cpp}
git+https://android.googlesource.com/platform/external/dng_sdk.git#commit=${_commit_dng_sdk}
git+https://github.com/KhronosGroup/egl-registry.git#commit=${_commit_egl_registry}
git+https://github.com/google/highway.git#commit=${_commit_highway}
git+https://github.com/ocornut/imgui.git#commit=${_commit_imgui}
git+https://github.com/AOMediaCodec/libavif.git#commit=${_commit_libavif}
git+https://chromium.googlesource.com/codecs/libgav1.git#commit=${_commit_libgav1}
git+https://gitlab.com/wg1/jpeg-xl.git#commit=${_commit_jpeg_xl}
git+https://chromium.googlesource.com/libyuv/libyuv.git#commit=${_commit_libyuv}
git+https://android.googlesource.com/platform/external/libmicrohttpd.git#commit=${_commit_libmicrohttpd}
git+https://github.com/google/oboe.git#commit=${_commit_oboe}
git+https://github.com/KhronosGroup/opengl-registry.git#commit=${_commit_opengl_registry}
git+https://android.googlesource.com/platform/external/perfetto.git#commit=${_commit_perfetto}
git+https://android.googlesource.com/platform/external/piex.git#commit=${_commit_piex}
git+https://github.com/GPUOpen-LibrariesAndSDKs/vulkanmemoryallocator.git#commit=${_commit_vulkanmemoryallocator}
git+https://chromium.googlesource.com/vulkan-deps.git#commit=${_commit_vulkan_deps}
git+https://github.com/KhronosGroup/spirv-cross.git#commit=${_commit_spirv_cross}
git+https://github.com/KhronosGroup/spirv-headers.git#commit=${_commit_spirv_headers}
git+https://github.com/KhronosGroup/spirv-tools.git#commit=${_commit_spirv_tools}
git+https://github.com/linebender/vello.git#commit=${_commit_vello}
git+https://github.com/KhronosGroup/vulkan-headers.git#commit=${_commit_vulkan_headers}
git+https://github.com/KhronosGroup/vulkan-tools.git#commit=${_commit_vulkan_tools}
git+https://github.com/google/wuffs-mirror-release-c.git#commit=${_commit_wuffs_mirror_release_c}
git+https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git#commit=${_commit_harfbuzz}
git+https://chromium.googlesource.com/chromium/src/third_party/zlib.git#commit=${_commit_zlib}
)
sha256sums=('SKIP'
'8453500f51e5f8237940971fe1334bec73a7cfcdf05c6b22600f803d30e63d64'
'6c8119e1ba59b2ba7f272b5b100f2707a33901d89aa9002d60474da5579eb6fd'
'e55147204c94e73588eca7aba9fc1986d2e02df86747c1648b6f374b2c0180b4'
'02e884e6d632afef01f4253a369f732f212ab27cdf93a18555b0bff6a9e09be8'
'eef51a4af75af5be68f03647778f27375e32066f75f794a61d001e3258178542'
'4715c67e5a256ae320cf7d1187a66f331128287c9da444c77ca8e75af25c8b80'
'6f9fafa876079f1fc4798b9a4e9efbd6caba9c7fe50c453ef853ee283d7d6b6f'
'c0b84712d505b66e57e78aedd22b0f88bddb9d7e3533260a7fea4e26b695247a'
'3954d26544c3ef2d955670378982ab1b9da5e202a2a69c92892e0c860856d9c8'
'4c29d69a123bfd600a30486d126a04cb4a42fc4c8cb6fd15cd05f102ca087725'
'99fdc721ad304393edf991c4a895d40b63d8e3fac8cece204f4b7455f7c9c7da'
'dffeec760f9f7a572f161e8bb18f7d74f7b25d393e4919a624b33ccdaf16bf48'
'12bef607b5a9615b1575ee32fdce4e7cb6b9a4a5a7058d4d3960ceafa1bf7acd'
'aa7fbaab5b094f52b3f26a222e5486bab0c6cef34bec917e0547a8a55d0807a9'
'48ebcdbd2fc18bb14247cb732f5c82d0228a80c363a74df3a65f5e3c0580431c'
'3af65d7edca108f4fcb85ef638dd578bd68e7659e5bbac272c4e5aa494f802ad'
'5cf54cb0c24312545f7e8bbeb21797343faa3dd4891b8f3b7810a7319b770f7b'
'4e8d31627ead1f15d2612c2c4b0becc20c973de049fd72f41d50789aa6997e14'
'34d76498a1d0056cb2818dd1991a8bd13240c70e272f7e836e8fe7fe72fb5a0f'
'ec2a8dd7a66ce3396b4fb7795edbe06f5e023ce2992c294e06234737411002b0'
'a3e73c7a678ce6937cb02c0db9938519ae00863abe546e9ca720571dd62470e3'
'1e9118c8047e46ecb8690f88955cadae9bc747766cd660694c805e41be105a4b'
'd7916b320394d1292bb410736ca7fc2381a86c97dec6ad00ca5cc810c44d4ce0'
'db092524cadeaae3a77616a6cfe48e880526776f4248b401508f51d212aa7228'
'574469662bbf3795b9987b38bd4d3fd50455c40666396c3d21959bd5da18ddae'
'ad1cc4f33b1df2172ce25fe74ef4586491721f8e309245f2bdcf5e5371d9e9a6')
case "$CARCH" in
x86_64) _arch=x64 ;;
*) _arch="$CARCH" ;;
esac
pkgver() {
cd skia
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
cd skia
for ex_dep in {brotli,abseil-cpp,dng_sdk,egl-registry,harfbuzz,highway,imgui,libavif,libgav1,libyuv,oboe,opengl-registry,perfetto,piex,vulkanmemoryallocator,vulkan-deps,spirv-cross,spirv-headers,spirv-tools,vello,vulkan-headers,vulkan-tools,zlib} ; do
mkdir -p third_party/externals/${ex_dep}
cp -r ${srcdir}/${ex_dep} third_party/externals/
done
cp -r ${srcdir}/jpeg-xl third_party/externals/libjxl
cp -r ${srcdir}/libmicrohttpd third_party/externals/microhttpd
cp -r ${srcdir}/wuffs-mirror-release-c third_party/externals/wuffs
}
build(){
cd skia
CFLAGS="$CFLAGS \
-DSKIA_C_DLL"
extra_cflags=""
for cflag in $CFLAGS; do
extra_cflags+="\"${cflag}\","
done
extra_ldflags=""
for ldflag in $LDFLAGS; do
extra_ldflags+="\"${ldflag}\","
done
gn gen out \
--args="\
target_os=\"linux\" \
target_cpu=\"x64\" \
cc=\"clang\" \
cxx=\"clang++\" \
extra_cflags=[${extra_cflags}] \
extra_ldflags=[${extra_ldflags}] \
skia_enable_gpu=true \
skia_enable_tools=false \
skia_use_dng_sdk=true \
skia_use_icu=false \
skia_use_piex=true \
skia_use_sfntly=false \
skia_use_system_harfbuzz=true \
skia_use_system_expat=true \
skia_use_system_freetype2=true \
skia_use_system_libjpeg_turbo=true \
skia_use_system_libpng=true \
skia_use_system_libwebp=true \
skia_use_system_zlib=true \
is_component_build=false \
is_debug=false \
is_official_build=true \
linux_soname_version=\"${_major}.${_minor}.${_release}\""
ninja -C out
}
package() {
install -Dm755 "skia/out/libSkiaSharp.so.${_major}.${_minor}.${_release}" -t "${pkgdir}/usr/lib/"
ln -s "libSkiaSharp.so.${_major}.${_minor}.${_release}" "${pkgdir}/usr/lib/libSkiaSharp.so.${_major}"
ln -s "libSkiaSharp.so.${_major}.${_minor}.${_release}" "${pkgdir}/usr/lib/libSkiaSharp.so.${_major}.${_minor}"
ln -s "libSkiaSharp.so.${_major}" "${pkgdir}/usr/lib/libSkiaSharp.so"
install -Dm644 'skia/LICENSE' "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
|