1SUMMARY="A virtual globe and world atlas"
2DESCRIPTION="Marble is a geographical atlas and a virtual globe which lets you \
3quickly explore places on our home planet.
4
5You can use Marble to look up addresses, to easily create maps, \
6measure distances and to retrieve detail information about locations \
7that you have just heard about in the news or on the Internet.
8
9The user interface is clean, simple and easy to use."
10HOMEPAGE="https://marble.kde.org/"
11COPYRIGHT="2007-2024 Marble Virtual Globe authors"
12LICENSE="GNU LGPL v2.1"
13REVISION="1"
14SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/marble-$portVersion.tar.xz"
15CHECKSUM_SHA256="856cff312725f9644b05cc92d3e437712311d96927e6aa008a44df1c0f4a0b88"
16ADDITIONAL_FILES="marble.rdef.in"
17
18ARCHITECTURES="all !x86_gcc2"
19SECONDARY_ARCHITECTURES="x86"
20
21PROVIDES="
22	marble$secondaryArchSuffix = $portVersion
23	app:Marble$secondaryArchSuffix = $portVersion
24	lib:libastro$secondaryArchSuffix = $portVersion
25	lib:libmarbledeclarative$secondaryArchSuffix = $portVersion
26	lib:libmarblewidget_qt5$secondaryArchSuffix = $portVersion
27	"
28REQUIRES="
29	haiku$secondaryArchSuffix
30	lib:libkdeinit5_kded5$secondaryArchSuffix
31	lib:libkdeinit5_klauncher$secondaryArchSuffix
32	lib:libKF5Archive$secondaryArchSuffix
33	lib:libKF5Attica$secondaryArchSuffix
34	lib:libKF5Auth$secondaryArchSuffix
35	lib:libKF5Bookmarks$secondaryArchSuffix
36	lib:libKF5Codecs$secondaryArchSuffix
37	lib:libKF5Completion$secondaryArchSuffix
38	lib:libKF5ConfigCore$secondaryArchSuffix
39	lib:libKF5ConfigGui$secondaryArchSuffix
40	lib:libKF5ConfigWidgets$secondaryArchSuffix
41	lib:libKF5CoreAddons$secondaryArchSuffix
42	lib:libKF5Crash$secondaryArchSuffix
43	lib:libKF5DocTools$secondaryArchSuffix
44	lib:libKF5GuiAddons$secondaryArchSuffix
45	lib:libKF5I18n$secondaryArchSuffix
46	lib:libKF5IconThemes$secondaryArchSuffix
47	lib:libKF5ItemModels$secondaryArchSuffix
48	lib:libKF5ItemViews$secondaryArchSuffix
49	lib:libKF5JobWidgets$secondaryArchSuffix
50	lib:libKF5KDELibs4Support$secondaryArchSuffix
51	lib:libKF5KIOCore$secondaryArchSuffix
52	lib:libKF5KIOFileWidgets$secondaryArchSuffix
53	lib:libKF5KIOWidgets$secondaryArchSuffix
54	lib:libKF5NewStuff$secondaryArchSuffix
55	lib:libKF5Parts$secondaryArchSuffix
56	lib:libKF5Service$secondaryArchSuffix
57	lib:libKF5Solid$secondaryArchSuffix
58	lib:libKF5SonnetUi$secondaryArchSuffix
59	lib:libKF5TextWidgets$secondaryArchSuffix
60	lib:libKF5WidgetsAddons$secondaryArchSuffix
61	lib:libKF5WindowSystem$secondaryArchSuffix
62	lib:libKF5XmlGui$secondaryArchSuffix
63	lib:libphonon4qt5$secondaryArchSuffix
64	lib:libprotobuf$secondaryArchSuffix
65	lib:libQt5Core$secondaryArchSuffix
66	lib:libQt5Gui$secondaryArchSuffix
67	lib:libQt5Network$secondaryArchSuffix
68	lib:libQt5PrintSupport$secondaryArchSuffix
69	lib:libQt5WebEngineCore$secondaryArchSuffix
70	lib:libQt5WebEngineWidgets$secondaryArchSuffix
71	lib:libQt5Widgets$secondaryArchSuffix
72	lib:libQt5Xml$secondaryArchSuffix
73	lib:libz$secondaryArchSuffix
74	"
75
76BUILD_REQUIRES="
77	haiku${secondaryArchSuffix}_devel
78	extra_cmake_modules$secondaryArchSuffix
79	devel:libkdeinit5_kded5$secondaryArchSuffix
80	devel:libkdeinit5_klauncher$secondaryArchSuffix
81	devel:libKF5Archive$secondaryArchSuffix
82	devel:libKF5Attica$secondaryArchSuffix
83	devel:libKF5Auth$secondaryArchSuffix
84	devel:libKF5Bookmarks$secondaryArchSuffix
85	devel:libKF5Codecs$secondaryArchSuffix
86	devel:libKF5Completion$secondaryArchSuffix
87	devel:libKF5ConfigCore$secondaryArchSuffix
88	devel:libKF5ConfigGui$secondaryArchSuffix
89	devel:libKF5ConfigWidgets$secondaryArchSuffix
90	devel:libKF5CoreAddons$secondaryArchSuffix
91	devel:libKF5Crash$secondaryArchSuffix
92	devel:libKF5DocTools$secondaryArchSuffix
93	devel:libKF5GuiAddons$secondaryArchSuffix
94	devel:libKF5I18n$secondaryArchSuffix
95	devel:libKF5IconThemes$secondaryArchSuffix
96	devel:libKF5ItemModels$secondaryArchSuffix
97	devel:libKF5ItemViews$secondaryArchSuffix
98	devel:libKF5JobWidgets$secondaryArchSuffix
99	devel:libKF5KDELibs4Support$secondaryArchSuffix
100	devel:libKF5KIOCore$secondaryArchSuffix
101	devel:libKF5KIOFileWidgets$secondaryArchSuffix
102	devel:libKF5KIOWidgets$secondaryArchSuffix
103	devel:libKF5NewStuff$secondaryArchSuffix
104	devel:libKF5Parts$secondaryArchSuffix
105	devel:libKF5Service$secondaryArchSuffix
106	devel:libKF5Solid$secondaryArchSuffix
107	devel:libKF5SonnetUi$secondaryArchSuffix
108	devel:libKF5TextWidgets$secondaryArchSuffix
109	devel:libKF5WidgetsAddons$secondaryArchSuffix
110	devel:libKF5WindowSystem$secondaryArchSuffix
111	devel:libKF5XmlGui$secondaryArchSuffix
112	devel:libphonon4qt5$secondaryArchSuffix
113	devel:libprotobuf$secondaryArchSuffix
114	devel:libQt5Core$secondaryArchSuffix
115	devel:libQt5Gui$secondaryArchSuffix
116	devel:libQt5Network$secondaryArchSuffix
117	devel:libQt5PrintSupport$secondaryArchSuffix
118	devel:libQt5WebEngineCore$secondaryArchSuffix
119	devel:libQt5WebEngineWidgets$secondaryArchSuffix
120	devel:libQt5Widgets$secondaryArchSuffix
121	devel:libQt5Xml$secondaryArchSuffix
122	devel:libz$secondaryArchSuffix
123	"
124BUILD_PREREQUIRES="
125	cmd:cmake
126	cmd:g++$secondaryArchSuffix
127	cmd:lrelease$secondaryArchSuffix >= 5
128	cmd:make
129	cmd:perl
130	cmd:pkg_config$secondaryArchSuffix
131	"
132
133BUILD()
134{
135	# disable docs generation
136	sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
137	# disable knsrc file install
138	sed -e '/install(FILES marble.knsrc/ s/^#*/#/' -i src/apps/marble-kde/CMakeLists.txt
139	# disable doctools
140	sed -e '/    kdoctools_install/ s/^#*/#/' -i src/apps/marble-kde/CMakeLists.txt
141
142	mkdir -p build
143	cd build
144
145	cmake .. \
146		-DCMAKE_BUILD_TYPE=Release \
147		-DCMAKE_INSTALL_PREFIX=$appsDir \
148		-DCMAKE_INSTALL_DATADIR=$dataDir \
149		-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
150		-DCMAKE_INSTALL_FULL_DATAROOTDIR=$dataDir \
151		-DSHARE_INSTALL_PREFIX=$dataDir \
152		-DKDE_INSTALL_BINDIR=$appsDir \
153		-DKDE_INSTALL_LIBDIR=$libDir \
154		-DKDE_INSTALL_INCLUDEDIR=$includeDir \
155		-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
156		-DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt5 \
157		-DMARBLE_DATA_PATH=$dataDir/marble \
158		-DMARBLE_PLUGIN_PATH=$addOnsDir/marble \
159		-DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \
160		-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
161
162	make $jobArgs
163}
164
165INSTALL()
166{
167	cd build
168	make install
169
170	mv $appsDir/marble $appsDir/Marble
171	rm -rf $appsDir/{bin,mkspecs,include,lib,share}
172	rm -rf $dataDir/{mime,metainfo}
173	rm -rf $libDir/cmake
174
175	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
176	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
177	local MINOR="`echo "$portVersion" | cut -d. -f3`"
178	sed \
179		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
180		-e "s|@MAJOR@|$MAJOR|" \
181		-e "s|@MIDDLE@|$MIDDLE|" \
182		-e "s|@MINOR@|$MINOR|" \
183		$portDir/additional-files/marble.rdef.in > marble.rdef
184
185	addResourcesToBinaries marble.rdef $appsDir/Marble
186
187	addAppDeskbarSymlink $appsDir/Marble
188}
189