Files
haikuports/sci-geosciences/qgis/qgis-3.44.5.recipe
2025-12-19 12:16:44 +01:00

155 lines
5.0 KiB
Bash

SUMMARY="A Free and Open Source Geographic Information System"
DESCRIPTION="QGIS functions as geographic information system (GIS) software, \
allowing users to analyze and edit spatial information, in addition to composing \
and exporting graphical maps.[3] QGIS supports raster, vector and mesh layers. \
Vector data is stored as either point, line, or polygon features. Multiple \
formats of raster images are supported, and the software can georeference images.
QGIS supports shapefiles, personal geodatabases, dxf, MapInfo, PostGIS, and other \
industry-standard formats. Web services, including Web Map Service and Web Feature \
Service, are also supported to allow use of data from external sources.
QGIS integrates with other open-source GIS packages, including PostGIS, GRASS GIS, \
and MapServer. Plugins written in Python or C++ extend QGIS's capabilities. \
Plugins can geocode using the Google Geocoding API, perform geoprocessing \
functions similar to those of the standard tools found in ArcGIS, and interface \
with PostgreSQL/PostGIS, SpatiaLite and MySQL databases."
HOMEPAGE="https://www.qgis.org/"
COPYRIGHT="QGIS Development Team"
LICENSE="GNU GPL v2
GNU GPL v3"
REVISION="1"
SOURCE_URI="https://download.qgis.org/downloads/qgis-$portVersion.tar.bz2"
CHECKSUM_SHA256="f1e4d52789b65cd5678a6e9b9c10bdf04df930b847a827bbf8f873db98019f2f"
PATCHES="qgis-$portVersion.patchset"
ADDITIONAL_FILES="qgis.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
qgis$secondaryArchSuffix = $portVersion
app:QGIS = $portVersion
cmd:qgis = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libexiv2$secondaryArchSuffix
lib:libgdal$secondaryArchSuffix
lib:libgeos$secondaryArchSuffix
lib:libgeos_c$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libgsl$secondaryArchSuffix
lib:libhdf5$secondaryArchSuffix
lib:libnetcdf$secondaryArchSuffix
# lib:libpq$secondaryArchSuffix
lib:libproj$secondaryArchSuffix
lib:libprotobuf$secondaryArchSuffix
lib:libqca_qt5$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libqt5keychain$secondaryArchSuffix
lib:libQt5WebKit$secondaryArchSuffix
lib:libQt5WebKitWidgets$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libqwt$secondaryArchSuffix
lib:libqscintilla2_qt5$secondaryArchSuffix
lib:libspatialindex$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzip$secondaryArchSuffix
lib:libzstd$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libexpat$secondaryArchSuffix
devel:libexiv2$secondaryArchSuffix
devel:libgdal$secondaryArchSuffix # >= 30.0.2
devel:libgeos$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libgsl$secondaryArchSuffix
devel:libhdf5$secondaryArchSuffix
devel:libnetcdf$secondaryArchSuffix
devel:libopencl_headers$secondaryArchSuffix
# devel:libpq$secondaryArchSuffix # == 16.10
devel:libproj$secondaryArchSuffix
devel:libprotobuf$secondaryArchSuffix
devel:libqca_qt5$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libqt5keychain$secondaryArchSuffix
devel:libQt5WebKit$secondaryArchSuffix
devel:libqwt$secondaryArchSuffix
devel:libqscintilla2_qt5$secondaryArchSuffix
devel:libspatialindex$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libsqlite3$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzip$secondaryArchSuffix
devel:libzstd$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:bison
cmd:cmake
cmd:flex
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
"
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir \
-DQGIS_BIN_SUBDIR="QGIS" \
-DQGIS_LIB_SUBDIR="QGIS/lib" \
-DQGIS_PLUGIN_SUBDIR="QGIS/plugins" \
-DQGIS_DATA_SUBDIR="QGIS/data" \
-DQGIS_QML_SUBDIR="QGIS" \
-DWITH_BINDINGS=FALSE \
-DWITH_SPATIALITE=FALSE \
-DWITH_3D=TRUE \
-DWITH_PDAL=FALSE \
-DWITH_DRACO=FALSE \
-DWITH_PYTHON=FALSE \
-DENABLE_TESTS=FALSE \
-Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -C build install
mkdir -p $prefix/bin $manDir
mv $appsDir/QGIS/qgis $appsDir/QGIS/QGIS
ln -s $appsDir/QGIS/QGIS $prefix/bin/qgis
mv $appsDir/man/man1 $manDir
rm -rf $appsDir/{man,lib,include,share}
local APP_SIGNATURE="application/x-vnd.qgis"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/qgis.rdef.in > qgis.rdef
addResourcesToBinaries qgis.rdef $appsDir/QGIS/QGIS
addAppDeskbarSymlink $appsDir/QGIS/QGIS
}