summaryrefslogtreecommitdiffstats
path: root/gis/qgis
diff options
context:
space:
mode:
Diffstat (limited to 'gis/qgis')
-rw-r--r--gis/qgis/README26
-rw-r--r--gis/qgis/README.Slackware87
-rw-r--r--gis/qgis/qgis.SlackBuild56
-rw-r--r--gis/qgis/qgis.info12
4 files changed, 145 insertions, 36 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 af51687518..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-2020 Benjamin Trigona-Harany
+# 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.14.0}
-BUILD=${BUILD:-2}
+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,21 +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 '/CMAKE_POLICY (SET CMP0071 NEW)/d' CMakeLists.txt
-sed -i 's/Protobuf_/PROTOBUF_/' CMakeLists.txt src/core/CMakeLists.txt
+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
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} \
@@ -93,12 +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 9366944fc1..c1f196f212 100644
--- a/gis/qgis/qgis.info
+++ b/gis/qgis/qgis.info
@@ -1,10 +1,10 @@
PRGNAM="qgis"
-VERSION="3.14.0"
+VERSION="3.36.1"
HOMEPAGE="https://qgis.org/"
-DOWNLOAD="https://qgis.org/downloads/qgis-3.14.0.tar.bz2"
-MD5SUM="e4c1c32b95b6baa47eba62cf80eb5425"
+DOWNLOAD="https://qgis.org/downloads/qgis-3.36.1.tar.bz2"
+MD5SUM="991b01d1e8f81d2cb87a85b509cdfad9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="postgis libspatialite libspatialindex numpy3 qt5-webkit qwt-qt5 QScintilla-qt5 qtkeychain qca-qt5 protobuf3 python3-PyYAML python3-certifi python-requests Pygments OWSLib psycopg2 Jinja2"
-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"