diff options
Diffstat (limited to 'gis/qgis')
-rw-r--r-- | gis/qgis/README | 26 | ||||
-rw-r--r-- | gis/qgis/README.Slackware | 87 | ||||
-rw-r--r-- | gis/qgis/qgis.SlackBuild | 50 | ||||
-rw-r--r-- | gis/qgis/qgis.info | 12 |
4 files changed, 142 insertions, 33 deletions
diff --git a/gis/qgis/README b/gis/qgis/README index 0a26ed1c80..72d371f3fa 100644 --- a/gis/qgis/README +++ b/gis/qgis/README @@ -1,19 +1,11 @@ -QGIS is a user friendly Geographic Information System that lets you view and -manipulate spatial data on your computer. It supports many common spatial data -formats (e.g. PostGIS, ShapeFile and geotiff). +QGIS is a user friendly Geographic Information System that lets you +view and manipulate spatial data on your computer. It supports many +common spatial data formats (e.g. PostGIS, ShapeFile and geotiff). -Optional compile-time dependencies: - - postgis: for PostGIS support - - gpsbabel: for the GPS plugin - - grass: for the Grass plugin - - gsl: for georeferencing support - - fcgi: for the QGIS server (see README.server) +The installation of QGIS from sources can result strongly different +depending on the optional/required packages installed and enabled. This +slackbuild is based on basic and some optional settings that require +the dependencies (and related nested deps) reported in the REQUIRES +field of qgis.info. -Optional run-time dependencies: - - OTB - - R - - saga-gis - - TauDEM - -All dependencies must be built with Python 3 support and qtkeychain must be -built after Qt5. +For further information see the README.Slackware file. diff --git a/gis/qgis/README.Slackware b/gis/qgis/README.Slackware new file mode 100644 index 0000000000..0c2fbf044d --- /dev/null +++ b/gis/qgis/README.Slackware @@ -0,0 +1,87 @@ +Table of contents + +1. BUILD-TIME DEPENDENCIES +2. PYTHON BINDINGS AND DEPENDENCIES +3. RUNTIME DEPENDENCIES AND FORMATS +4. ISSUES + +1. BUILD-TIME DEPENDENCIES +Regardless of settings in this slackbuild, a basic installation of QGIS +requires these compile-time dependencies: + - proj + - geos + - libspatialite + - libspatialindex + - gdal + - qwt +The slackbuilds of these are available in this repository. The packages +gdal, proj, and geos are not reported in REQUIRES field of qgis.info +because should be installed as dependencies of others. +Other dependencies must be already installed in your system with a +full installation of Slackware (for example, Qt5, QScintilla, qca, +Python 3, qtkeychain, eccetera). + +Optional dependencies that are enabled as strictly required in this +slackbuild are the following: + - postgis: needed for PostGIS + +Other optional dependencies are enabled by default if found in the +system. These are the following + - gpsbabel: for the GPS plugin + - grass: for the Grass plugin + - pdal: for support to PDAL + - libdraco: for support to Draco plugin + - gsl: for georeferencing support + - fcgi: for the QGIS server functionality + +The build install as optional dependencies - autodetected - also +hdf5 and netcdf. If they are installed, the support of PDAL and/or +Draco can be disabled also by setting to "no" the environment variable + PDAL=no [DRACO=no] ./qgis.SlackBuild + +2. PYTHON BINDINGS AND DEPENDENCIES +The functionality of QGIS is strongly enhanced by a lot of plugins that +can be installed in runtime. Since these plugins are based on Python +modules, the support of Python is enabled by default. This requires +some Python dependencies that are available in a full installation of +Slackware or as slackbuilds in this repository. For a full support of +Python in QGIS you have to install the following packages (as reported +in REQUIRES field of qgis.info): + - OWSLib + - python3-numpy + - python3-psycopg2 + - termcolor +Other python modules are required as nested dependencies. The lack of +some of these modules could not affect the build/runtime of QGIS but +could affect the part or the entire functionality of the Python +support. + +3. RUNTIME DEPENDENCIES AND FORMATS +Optional run-time dependencies are: + - OTB + - R + - saga-gis + - TauDEM + +QGIS supports indirectly several formats that depends on the GDAL +support in build-time (usually autodetected). For example, the support +of the proprietary format ECW is enabled in QGIS if gdal has been build +with this support (this requires the package libecwj2 installed before +build gdal). + +4. ISSUES +Support to OpenCL is enabled by default but the build could fail in +systems with old drivers/graphic cards. If you want to prevent this +pass to the slackbuild the environment variable + + OPENCL=no ./qgis.SlackBuild + +It has reported that QGIS shows runtime warnings about 'osgeo' unless +the Python GDAL library is installed. If you encounter this issue you +can solve by installing via pip the Python GDAL library as simple user +(not root!) as following + $ pip install GDAL + +Other issues not noticed may be encountered depending on various +system settings. If you found any problem please contact the +maintainer. diff --git a/gis/qgis/qgis.SlackBuild b/gis/qgis/qgis.SlackBuild index d57f2e6a58..249dad3bc6 100644 --- a/gis/qgis/qgis.SlackBuild +++ b/gis/qgis/qgis.SlackBuild @@ -1,9 +1,10 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for QGIS # Copyright 2011 David Spencer, Baildon, West Yorkshire, U.K. # Copyright 2013-2021 Benjamin Trigona-Harany +# Copyright 2023-2024 Giancarlo Dessi, Cagliari, IT # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,10 +24,13 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=qgis -VERSION=${VERSION:-3.18.0} +VERSION=${VERSION:-3.36.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -36,7 +40,11 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -70,20 +78,37 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +if pkg-config --exists OpenCL; then + OCL="-DUSE_OPENCL=OFF " ; [ "${OPENCL:-yes}" = "yes" ] && OCL="-DUSE_OPENCL=ON " +else + OCL="-DUSE_OPENCL=OFF " +fi + +if pkg-config --exists pdal; then + WITHPDAL="-DWITH_PDAL=OFF "; [ "${PDAL:-yes}" = "yes" ] && WITHPDAL="-DWITH_PDAL=ON " +else + WITHPDAL="-DWITH_PDAL=OFF " +fi + +if pkg-config --exists draco; then + WITHDRACO="-DWITH_DRACO=OFF "; [ "${DRACO:-yes}" = "yes" ] && WITHDRACO="-DWITH_DRACO=ON " +else + WITHDRACO="-DWITH_DRACO=OFF " +fi + if pkg-config --exists grass; then - WITHGRASS="-DGRASS_PREFIX=$(pkg-config --variable=prefix grass)" + WITHGRASS="-DGRASS_PREFIX=$(pkg-config --variable=prefix grass) " else WITHGRASS="" fi -sed -i 's|${SIP_BINARY_PATH}|/usr/bin/python3-sip|' cmake/SIPMacros.cmake +sed -i '43 i IF (NOT PROJ_INCLUDE_DIR)\nFIND_PATH(PROJ_INCLUDE_DIR proj.h\n"$ENV{INCLUDE}"\n"$ENV{LIB_DIR}/include"\n)\nENDIF (NOT PROJ_INCLUDE_DIR)\n' cmake/FindProj.cmake mkdir -p build cd build - export "PATH=/opt/cmake-202x/bin:$PATH" cmake .. \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -pthread" \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DQGIS_LIB_SUBDIR=lib${LIBDIRSUFFIX} \ @@ -92,13 +117,17 @@ cd build -DWITH_QWTPOLAR=TRUE \ -DWITH_CUSTOM_WIDGETS=FALSE \ -DBINDINGS_GLOBAL_INSTALL=TRUE \ - -DQWT_INCLUDE_DIR=/usr/include/qt5/qwt \ + -DQWT_INCLUDE_DIR=/usr/include/qwt \ -DQSCINTILLA_INCLUDE_DIR=/usr/include/qt5 \ -DENABLE_TESTS=FALSE \ -DWITH_3D=TRUE \ -Wno-dev \ + $OCL \ + $WITHPDAL \ + $WITHDRACO \ $WITHGRASS + make make install DESTDIR=$PKG cd - @@ -113,8 +142,9 @@ cp debian/qgis.xml $PKG/usr/share/mime/packages mkdir -p $PKG/usr/doc mv $PKG/usr/share/$PRGNAM/doc $PKG/usr/doc/$PRGNAM-$VERSION +rm -f $PKG/usr/doc/$PRGNAM-$VERSION/INSTALL.md cp -a \ - ChangeLog Exception_to_GPL_for_Qt.txt NEWS.md \ + COPYING ChangeLog Exception_to_GPL_for_Qt.txt NEWS.md \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild @@ -123,4 +153,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/gis/qgis/qgis.info b/gis/qgis/qgis.info index 52171778d3..c1f196f212 100644 --- a/gis/qgis/qgis.info +++ b/gis/qgis/qgis.info @@ -1,10 +1,10 @@ PRGNAM="qgis" -VERSION="3.18.0" +VERSION="3.36.1" HOMEPAGE="https://qgis.org/" -DOWNLOAD="https://qgis.org/downloads/qgis-3.18.0.tar.bz2" -MD5SUM="b8e5d03d48e9c8e84858823c3d74b3c4" +DOWNLOAD="https://qgis.org/downloads/qgis-3.36.1.tar.bz2" +MD5SUM="991b01d1e8f81d2cb87a85b509cdfad9" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="cmake-202x postgis libspatialite libspatialindex numpy3 qt5-webkit qwt-qt5 QScintilla-qt5 qtkeychain qca-qt5 protobuf3 python3-PyYAML python-requests Pygments OWSLib psycopg2 Jinja2 zstd" -MAINTAINER="Benjamin Trigona-Harany" -EMAIL="slackbuilds@jaxartes.net" +REQUIRES="libspatialite libspatialindex OWSLib postgis python3-numpy python3-psycopg2 qwt termcolor protobuf3" +MAINTAINER="Giancarlo Dessi" +EMAIL="slack@giand.it" |