1SUMMARY="HTML rendering engine"
2DESCRIPTION="KHTML is a web rendering engine, based on the KParts technology and using KJS for JavaScript support."
3HOMEPAGE="https://invent.kde.org/frameworks/khtml/"
4COPYRIGHT="2010-2024 KDE Organisation"
5LICENSE="
6		GNU GPL v3
7		GNU LGPL v2
8		"
9REVISION="1"
10SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/portingAids/khtml-${portVersion}.tar.xz"
11CHECKSUM_SHA256="742a9965008d5205e92ece2a574b48f65452b17b8c4ce2176e0c25cc3be8cf60"
12
13ARCHITECTURES="all !x86_gcc2"
14SECONDARY_ARCHITECTURES="x86"
15
16GLOBAL_WRITABLE_FILES="
17	settings/xdg/khtmlrc keep-old
18	"
19
20PROVIDES="
21	khtml$secondaryArchSuffix = $portVersion
22	lib:libKF5KHtml$secondaryArchSuffix = $portVersion compat >= 5
23	"
24REQUIRES="
25	haiku$secondaryArchSuffix
26	lib:libcrypto$secondaryArchSuffix
27	lib:libgif$secondaryArchSuffix
28	lib:libjpeg$secondaryArchSuffix
29	lib:libKF5Archive$secondaryArchSuffix
30	lib:libKF5Auth$secondaryArchSuffix
31	lib:libKF5Bookmarks$secondaryArchSuffix
32	lib:libKF5Codecs$secondaryArchSuffix
33	lib:libKF5Completion$secondaryArchSuffix
34	lib:libKF5ConfigCore$secondaryArchSuffix
35	lib:libKF5ConfigGui$secondaryArchSuffix
36	lib:libKF5ConfigWidgets$secondaryArchSuffix
37	lib:libKF5CoreAddons$secondaryArchSuffix
38	lib:libKF5GlobalAccel$secondaryArchSuffix
39	lib:libKF5I18n$secondaryArchSuffix
40	lib:libKF5IconThemes$secondaryArchSuffix
41	lib:libKF5ItemViews$secondaryArchSuffix
42	lib:libKF5JobWidgets$secondaryArchSuffix
43	lib:libKF5JobWidgets$secondaryArchSuffix
44	lib:libKF5JS$secondaryArchSuffix
45	lib:libKF5JSApi$secondaryArchSuffix
46	lib:libKF5KIOCore$secondaryArchSuffix
47	lib:libKF5Notifications$secondaryArchSuffix
48	lib:libKF5NotifyConfig$secondaryArchSuffix
49	lib:libKF5Parts$secondaryArchSuffix
50	lib:libKF5Service$secondaryArchSuffix
51	lib:libKF5Solid$secondaryArchSuffix
52	lib:libKF5SonnetCore$secondaryArchSuffix
53	lib:libKF5SonnetUi$secondaryArchSuffix
54	lib:libKF5TextWidgets$secondaryArchSuffix
55	lib:libKF5Wallet$secondaryArchSuffix
56	lib:libKF5WidgetsAddons$secondaryArchSuffix
57	lib:libKF5WindowSystem$secondaryArchSuffix
58	lib:libKF5XmlGui$secondaryArchSuffix
59	lib:libphonon4qt5$secondaryArchSuffix
60	lib:libphonon4qt5experimental$secondaryArchSuffix
61	lib:libpng16$secondaryArchSuffix
62	lib:libQt5Core$secondaryArchSuffix
63	lib:libQt5Gui$secondaryArchSuffix
64	lib:libQt5TextToSpeech$secondaryArchSuffix
65	lib:libQt5Widgets$secondaryArchSuffix
66	lib:libQt5Xml$secondaryArchSuffix
67	lib:libssl$secondaryArchSuffix
68	lib:libz$secondaryArchSuffix
69	"
70
71PROVIDES_devel="
72	khtml${secondaryArchSuffix}_devel = $portVersion
73	devel:libKF5KHtml$secondaryArchSuffix = $portVersion compat >= 5
74	"
75REQUIRES_devel="
76	khtml$secondaryArchSuffix == $portVersion base
77	"
78
79BUILD_REQUIRES="
80	haiku${secondaryArchSuffix}_devel
81	extra_cmake_modules$secondaryArchSuffix >= $portVersion
82	devel:libcrypto$secondaryArchSuffix
83	devel:libgif$secondaryArchSuffix
84	devel:libjpeg$secondaryArchSuffix
85	devel:libKF5Archive$secondaryArchSuffix == $portVersion
86	devel:libKF5Auth$secondaryArchSuffix == $portVersion
87	devel:libKF5Bookmarks$secondaryArchSuffix == $portVersion
88	devel:libKF5Codecs$secondaryArchSuffix == $portVersion
89	devel:libKF5Completion$secondaryArchSuffix == $portVersion
90	devel:libKF5ConfigCore$secondaryArchSuffix == $portVersion
91	devel:libKF5ConfigGui$secondaryArchSuffix == $portVersion
92	devel:libKF5ConfigWidgets$secondaryArchSuffix == $portVersion
93	devel:libKF5CoreAddons$secondaryArchSuffix == $portVersion
94	devel:libKF5GlobalAccel$secondaryArchSuffix == $portVersion
95	devel:libKF5I18n$secondaryArchSuffix == $portVersion
96	devel:libKF5IconThemes$secondaryArchSuffix == $portVersion
97	devel:libKF5ItemViews$secondaryArchSuffix == $portVersion
98	devel:libKF5JobWidgets$secondaryArchSuffix == $portVersion
99	devel:libKF5JS$secondaryArchSuffix == $portVersion
100	devel:libKF5JSApi$secondaryArchSuffix == $portVersion
101	devel:libKF5KIOCore$secondaryArchSuffix == $portVersion
102	devel:libKF5Notifications$secondaryArchSuffix == $portVersion
103	devel:libKF5NotifyConfig$secondaryArchSuffix == $portVersion
104	devel:libKF5Parts$secondaryArchSuffix == $portVersion
105	devel:libKF5Service$secondaryArchSuffix == $portVersion
106	devel:libKF5Solid$secondaryArchSuffix == $portVersion
107	devel:libKF5SonnetCore$secondaryArchSuffix == $portVersion
108	devel:libKF5SonnetUi$secondaryArchSuffix == $portVersion
109	devel:libKF5TextWidgets$secondaryArchSuffix == $portVersion
110	devel:libKF5Wallet$secondaryArchSuffix	 == $portVersion
111	devel:libKF5WidgetsAddons$secondaryArchSuffix == $portVersion
112	devel:libKF5WindowSystem$secondaryArchSuffix == $portVersion
113	devel:libKF5XmlGui$secondaryArchSuffix == $portVersion
114	devel:libphonon4qt5$secondaryArchSuffix
115	devel:libpng16$secondaryArchSuffix
116	devel:libQt5Core$secondaryArchSuffix
117	devel:libssl$secondaryArchSuffix
118	devel:libz$secondaryArchSuffix
119	"
120BUILD_PREREQUIRES="
121	cmd:cmake
122	cmd:g++$secondaryArchSuffix
123	cmd:gperf
124	cmd:lrelease$secondaryArchSuffix >= 5
125	cmd:make
126	cmd:perl
127	cmd:python3.10
128	"
129
130PATCH()
131{
132	sed -e '/platforms:/ a \ \ \ \ - name: Haiku' -i $sourceDir/metainfo.yaml
133}
134
135BUILD()
136{
137	mkdir -p build
138	cd build
139
140	cmake .. $cmakeDirArgs \
141		-DCMAKE_BUILD_TYPE=Release \
142		-DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \
143		-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
144		-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
145		-DWITH_X11=OFF
146
147	make $jobArgs
148}
149
150INSTALL()
151{
152	cd build
153	make install
154
155	prepareInstalledDevelLibs \
156		libKF5KHtml
157
158	packageEntries devel \
159		$libDir/cmake \
160		$dataDir/Qt5/mkspecs \
161		$developDir
162}
163
164TEST()
165{
166	cd build
167	make test
168}
169