1SUMMARY="A QtWebEngine browser"
2DESCRIPTION="Falkon is a KDE web browser using QtWebEngine rendering engine, \
3previously known as QupZilla. It aims to be a lightweight web browser available \
4through all major platforms."
5HOMEPAGE="https://falkon.org/"
6COPYRIGHT="2009-2023 Falkon Browser Team"
7LICENSE="GNU GPL v3"
8REVISION="2"
9SOURCE_URI="https://invent.kde.org/network/falkon/-/archive/v23.08.4/falkon-v${portVersion}.tar.bz2"
10CHECKSUM_SHA256="c14b763603a58f295ccc70b5d27fb865047a2499e2d86e8966971e4373959417"
11SOURCE_DIR="falkon-v${portVersion}"
12PATCHES="falkon-$portVersion.patchset"
13ADDITIONAL_FILES="
14	falkon.rdef.in
15	icons.zip
16	"
17
18ARCHITECTURES="all !x86_gcc2"
19SECONDARY_ARCHITECTURES="x86"
20
21PROVIDES="
22	falkon$secondaryArchSuffix = $portVersion
23	app:Falkon$secondaryArchSuffix = $portVersion
24	"
25REQUIRES="
26	haiku$secondaryArchSuffix
27	lib:libcrypto$secondaryArchSuffix
28	lib:libintl$secondaryArchSuffix
29	lib:libQt5Core$secondaryArchSuffix
30	lib:libQt5DBus$secondaryArchSuffix
31	lib:libQt5Gui$secondaryArchSuffix
32	lib:libKF5Archive$secondaryArchSuffix
33	lib:libQt5Network$secondaryArchSuffix
34	lib:libQt5Positioning$secondaryArchSuffix
35	lib:libQt5PrintSupport$secondaryArchSuffix
36	lib:libQt5Qml$secondaryArchSuffix
37	lib:libQt5QmlModels$secondaryArchSuffix
38	lib:libQt5Quick$secondaryArchSuffix
39	lib:libQt5QuickWidgets$secondaryArchSuffix
40	lib:libQt5Sql$secondaryArchSuffix
41	lib:libQt5WebChannel$secondaryArchSuffix
42	lib:libQt5WebEngine$secondaryArchSuffix
43	lib:libQt5WebEngineCore$secondaryArchSuffix
44	lib:libQt5WebEngineWidgets$secondaryArchSuffix
45	lib:libQt5Widgets$secondaryArchSuffix
46	lib:libssl$secondaryArchSuffix
47	lib:libstdc++$secondaryArchSuffix
48	"
49
50BUILD_REQUIRES="
51	haiku${secondaryArchSuffix}_devel
52	devel:libintl$secondaryArchSuffix
53	devel:libKF5I18n$secondaryArchSuffix
54	devel:libKF5Archive$secondaryArchSuffix
55	devel:libQt5Core$secondaryArchSuffix
56	devel:libQt5DBus$secondaryArchSuffix
57	devel:libQt5Gui$secondaryArchSuffix
58	devel:libQt5Network$secondaryArchSuffix
59	devel:libQt5PrintSupport$secondaryArchSuffix
60	devel:libQt5Positioning$secondaryArchSuffix
61	devel:libQt5Qml$secondaryArchSuffix
62	devel:libQt5QmlModels$secondaryArchSuffix
63	devel:libQt5Quick$secondaryArchSuffix
64	devel:libQt5QuickWidgets$secondaryArchSuffix
65	devel:libQt5Sql$secondaryArchSuffix
66	devel:libQt5WebChannel$secondaryArchSuffix
67	devel:libQt5WebEngine$secondaryArchSuffix
68	devel:libQt5WebEngineCore$secondaryArchSuffix
69	devel:libQt5WebEngineWidgets$secondaryArchSuffix
70	devel:libQt5Widgets$secondaryArchSuffix
71	devel:libssl$secondaryArchSuffix
72	extra_cmake_modules
73	"
74BUILD_PREREQUIRES="
75	cmd:cmake
76	cmd:g++$secondaryArchSuffix
77	cmd:ninja
78	cmd:pkg_config$secondaryArchSuffix
79	cmd:qdbuscpp2xml$secondaryArchSuffix >= 5
80	cmd:sed
81	"
82
83defineDebugInfoPackage falkon$secondaryArchSuffix \
84	"$appsDir"/Falkon/Falkon \
85	"$appsDir"/Falkon/lib/libFalkonPrivate.so \
86	"$addOnsDir"/Qt5/falkon/AutoScroll.so \
87	"$addOnsDir"/Qt5/falkon/FlashCookieManager.so \
88	"$addOnsDir"/Qt5/falkon/GreaseMonkey.so \
89	"$addOnsDir"/Qt5/falkon/MouseGestures.so \
90	"$addOnsDir"/Qt5/falkon/PIM.so \
91	"$addOnsDir"/Qt5/falkon/StatusBarIcons.so \
92	"$addOnsDir"/Qt5/falkon/TabManager.so \
93	"$addOnsDir"/Qt5/falkon/VerticalTabs.so
94
95PATCH()
96{
97	unzip -o $sourceDir/../../additional-files/icons.zip -d $sourceDir
98}
99
100BUILD()
101{
102	cmake -S . -B build -G Ninja \
103		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
104		-DCMAKE_INSTALL_PREFIX:PATH="$appsDir/Falkon" \
105		-DCMAKE_INSTALL_DATAROOTDIR:PATH="$dataDir" \
106		-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
107		-DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \
108		-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
109	cd build
110	ninja $jobArgs
111}
112
113INSTALL()
114{
115	cd build
116	ninja install
117
118	mv $appsDir/Falkon/bin/falkon \
119		$appsDir/Falkon/Falkon
120	
121	rm -rf $appsDir/Falkon/bin
122	
123	mkdir -p $appsDir/Falkon/lib
124	cp $sourceDir/build/bin/libFalkonPrivate.so $appsDir/Falkon/lib
125
126	local APP_SIGNATURE="application/x-vnd.falkon"
127	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
128	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
129	local MINOR="`echo "$portVersion" | cut -d. -f3`"
130	sed \
131		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
132		-e "s|@MAJOR@|$MAJOR|" \
133		-e "s|@MIDDLE@|$MIDDLE|" \
134		-e "s|@MINOR@|$MINOR|" \
135		$portDir/additional-files/falkon.rdef.in > falkon.rdef
136
137	addResourcesToBinaries falkon.rdef \
138		$appsDir/Falkon/Falkon
139
140	addAppDeskbarSymlink $appsDir/Falkon/Falkon "Falkon"
141}
142