wpewebkit-2.27.2.ebuild (2937B)
1 # Copyright 2019 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5 CMAKE_MAKEFILE_GENERATOR="ninja"
6 PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
7 USE_RUBY="ruby24 ruby25 ruby26"
8
9 inherit cmake-utils python-any-r1 ruby-single
10
11 DESCRIPTION="WebKit port optimized for embedded devices"
12 HOMEPAGE="https://wpewebkit.org/"
13 LICENSE="LGPL-2+ BSD"
14 SRC_URI="https://wpewebkit.org/releases/${P}.tar.xz"
15 SLOT="1.0" # WPE_API_VERSION
16 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
17 IUSE="accessibility doc examples experimental jpeg2k qt +gstreamer sandbox +webdriver +webcrypto"
18
19 RDEPEND="
20 >=x11-libs/cairo-1.14.0:=
21 >=media-libs/fontconfig-2.8.0:=
22 >=media-libs/freetype-2.4.2:=
23 >=dev-libs/glib-2.44.0:=
24 >=media-libs/harfbuzz-0.9.18:=
25 dev-libs/icu
26 virtual/jpeg:=
27 >=media-libs/libepoxy-1.4.0:=
28 >=dev-libs/libgcrypt-1.6.0:=
29 >=net-libs/libsoup-2.54.0:=
30 >=dev-libs/libxml2-2.8.0:=
31 media-libs/libpng:=
32 dev-db/sqlite:=
33 media-libs/libwebp:=
34 net-libs/libwpe:=
35 sys-libs/zlib:=
36
37 >=dev-libs/libxslt-1.1.7
38 >=media-libs/woff2-1.0.2
39
40 jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
41 webcrypto? (
42 dev-libs/libtasn1:=
43 >=dev-libs/libgcrypt-1.7.0:=
44 )
45 qt? (
46 dev-qt/qtcore:5=
47 dev-qt/qtquickcontrols:5=
48 dev-qt/qtgui:5=
49 dev-qt/qttest:5=
50 >=dev-libs/wpebackend-fdo-1.3.0:=
51 )
52 gstreamer? (
53 >=media-libs/gstreamer-1.14:1.0
54 >=media-libs/gst-plugins-base-1.14:1.0[egl]
55 >=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
56 >=media-libs/gst-plugins-bad-1.14:1.0
57 )
58 accessibility? (
59 >=dev-libs/atk-2.16.0:=
60 app-accessibility/at-spi2-atk:=
61 )
62 sandbox? ( sys-apps/bubblewrap )
63 "
64 DEPEND="
65 ${RDEPEND}
66 ${PYTHON_DEPS}
67 ${RUBY_DEPS}
68
69 >=dev-lang/perl-5.10
70 virtual/perl-JSON-PP
71
72 doc? ( >=dev-util/gtk-doc-1.10 )
73 "
74
75 src_configure() {
76 # Ruby situation is a bit complicated. See bug 513888
77 local rubyimpl
78 local ruby_interpreter=""
79 for rubyimpl in ${USE_RUBY}; do
80 if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
81 ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
82 fi
83 done
84 # This will rarely occur. Only a couple of corner cases could lead us to
85 # that failure. See bug 513888
86 [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
87
88 local mycmakeargs=(
89 "-DPORT=WPE"
90 -DENABLE_ACCESSIBILITY=$(usex accessibility)
91 -DENABLE_BUBBLEWRAP_SANDBOX=$(usex sandbox)
92 -DUSE_WOFF2=ON
93 -DSHOULD_INSTALL_JS_SHELL=ON
94 -DENABLE_ENCRYPTED_MEDIA=OFF
95 -DENABLE_EXPERIMENTAL_FEATURES=$(usex experimental)
96 -DENABLE_GTKDOC=$(usex doc)
97 -DUSE_OPENJPEG=$(usex jpeg2k)
98 -DENABLE_WPE_QT_API=$(usex qt)
99 -DENABLE_MINIBROWSER=$(usex examples)
100 -DENABLE_VIDEO=$(usex gstreamer)
101 -DENABLE_WEB_AUDIO=$(usex gstreamer)
102 -DENABLE_WEBDRIVER=$(usex webdriver)
103 -DENABLE_WEB_CRYPTO=$(usex webcrypto)
104 -DENABLE_XSLT=ON
105 ${ruby_interpreter}
106 )
107
108 cmake-utils_src_configure
109 }