From e8c70dcdfcdce8bd46c257693e7d7cb5e9b31a9f Mon Sep 17 00:00:00 2001 From: David Spencer Date: Mon, 23 Feb 2015 12:05:29 +0000 Subject: gis/grass: Updated for version 7.0.0. Signed-off-by: David Spencer --- gis/grass/README | 28 +++++++++-- gis/grass/grass.SlackBuild | 116 ++++++++++++++++++++++++++++----------------- gis/grass/grass.desktop | 46 +++++++++++++++++- gis/grass/grass.info | 8 ++-- 4 files changed, 143 insertions(+), 55 deletions(-) diff --git a/gis/grass/README b/gis/grass/README index 98a86beefb..861e0821d5 100644 --- a/gis/grass/README +++ b/gis/grass/README @@ -4,17 +4,35 @@ analysis, image processing, graphics/maps production, spatial modeling, and visualization. GRASS is an official project of the Open Source Geospatial Foundation. -The following optional dependencies may be enabled: - blas, lapack for the GRASS gmath library - ffmpeg for the GRASS ogsf library and nviz animation - mysql for mysql (or mariadb) database support +The following options may be enabled: + + mariadb for mariadb (or mysql) database support + postgresql for postgresql database support + (requires postgresql) + sqlite for sqlite database support + unixODBC for ODBC support + (requires unixODBC) + + gmath for the GRASS gmath library + (requires both blas and lapack) + + netcdf for netcdf export + (requires netcdf) + + opencl for OpenCL GPU acceleration + (requires opencl-headers, either nvidia-driver or amd-app-sdk, + and suitable GPU hardware) + The options you require must be specified by setting the variable ENABLE before running grass.SlackBuild, for example - ENABLE="sqlite,ffmpeg" ./grass.SlackBuild + ENABLE="sqlite,netcdf" ./grass.SlackBuild + +ffmpeg is an optional runtime dependency for the Animation tool +(g.gui.module). If you need to make grass libraries available to other applications (e.g. qgis) do this: diff --git a/gis/grass/grass.SlackBuild b/gis/grass/grass.SlackBuild index b8e47deac4..6755dbde89 100644 --- a/gis/grass/grass.SlackBuild +++ b/gis/grass/grass.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=grass -VERSION=${VERSION:-6.4.4} +VERSION=${VERSION:-7.0.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -75,10 +75,22 @@ set -- $(echo $ENABLE | sed 's/,/ /g') while [ "$1" != "" ]; do case "$1" in - blas | \ - lapack | \ - ffmpeg | \ - sqlite ) + sqlite | \ + netcdf | \ + opencl ) + WITHLIST="$WITHLIST --with-$1" + shift + ;; + # blas and lapack are both needed, so provide a single option ... + # (Maybe atlas would be better, but the docs are unclear about how the + # dependencies are used.) + gmath ) + WITHLIST="$WITHLIST --with-blas --with-lapack" + shift + ;; + # ... but for compatibility with previous versions of this SlackBuild, + # allow blas and lapack to be enabled individually. + blas | lapack ) WITHLIST="$WITHLIST --with-$1" shift ;; @@ -91,87 +103,103 @@ while [ "$1" != "" ]; do WITHLIST="$WITHLIST --with-postgres" shift ;; + unixODBC ) + WITHLIST="$WITHLIST --with-odbc" + shift + ;; + # If anybody needs LAS support, please submit libLAS to SBo :-) * ) shift ;; esac done -if [ "$LIBDIRSUFFIX" = "64" ]; then - BITNESS=" --enable-64bit" -else - BITNESS="" -fi - # geos now always enabled: it's an indirect hard dep (via gdal), and makes grass nicer :-) -# ffmpeg includes are only parsed if ffmpeg is enabled so it is safe to pass them to configure. CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS -fpermissive" \ LDFLAGS="-ldl -lncurses" \ ./configure \ --prefix=/opt \ + --exec-prefix=/wibble/usr \ + --enable-largefile \ + --with-cairo \ --with-cxx \ --with-fftw \ - --with-motif \ --with-freetype \ --with-freetype-includes=/usr/include/freetype2 \ - --with-readline \ + --with-geos \ + --with-nls \ + --with-openmp \ --with-python \ + --with-pthread \ --with-proj-share=/usr/share/proj \ - --with-cairo \ + --with-readline \ --with-wxwidgets \ - --with-geos \ - --enable-largefile \ $WITHLIST \ - $BITNESS \ - --with-ffmpeg-includes="/usr/include/libavcodec /usr/include/libavdevice \ - /usr/include/libavfilter /usr/include/libavformat /usr/include/libavutil \ - /usr/include/libpostproc /usr/include/libswresample /usr/include/libswscale" \ --build=$ARCH-slackware-linux \ --host=$ARCH-slackware-linux make -make prefix=$PKG/opt BINDIR=$PKG/usr/bin \ - PREFIX=$PKG/usr install +make prefix=$PKG/opt exec_prefix=$PKG/usr install find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -# Create unversioned symlink -( cd $PKG/opt ; ln -s $PRGNAM-$VERSION $PRGNAM ) - -# Wrapper script fixups -sed -i -e "s;$PKG;;" -e "s;-$VERSION;;" $PKG/usr/bin/grass64 -( cd $PKG/usr/bin ; ln -s grass64 $PRGNAM ) - -# Fix fonts path for fontcap -sed -i -e "s;$PKG;;" $PKG/opt/$PRGNAM-$VERSION/etc/fontcap - -# Unversion and install the pkgconfig file -sed -i -e "s/-${VERSION}//g" grass.pc +# Install the pkgconfig file: install -D -m0644 grass.pc $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/grass.pc -find $PKG/opt/$PRGNAM-$VERSION/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/opt/$PRGNAM-$VERSION/man -type l ) ; do \ +# Create unversioned symlinks: +( cd $PKG/opt ; ln -s $PRGNAM-$VERSION $PRGNAM ) +( cd $PKG/usr/bin ; ln -s grass70 $PRGNAM ) + +# Remove hardcoded version strings: +sed -i -e "s/-${VERSION}//g" \ + $PKG/usr/bin/grass70 \ + $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/grass.pc + +# Remove packaging directory pollution: +sed -i -e "s;$PKG;;" \ + $PKG/usr/bin/grass70 \ + $PKG/opt/$PRGNAM-$VERSION/demolocation/.grassrc70 \ + $PKG/opt/$PRGNAM-$VERSION/etc/fontcap \ + $PKG/opt/$PRGNAM-$VERSION/include/Make/Grass.make \ + $PKG/opt/$PRGNAM-$VERSION/include/Make/Platform.make + +# Documentation: +PKGOPTMAN=$PKG/opt/$PRGNAM-$VERSION/docs/man +find $PKGOPTMAN -type f -exec gzip -9 {} \; +for i in $( find $PKGOPTMAN -type l ) ; do \ ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - mkdir -p $PKG/usr/man/man1 cp -a \ - $PKG/opt/$PRGNAM-$VERSION/man/man1/grass6.1.gz \ + $PKGOPTMAN/man1/grass7.1.gz \ $PKG/usr/man/man1/grass.1.gz mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mv \ + $PKG/opt/$PRGNAM-$VERSION/{AUTHORS,CHANGES,COPYING,GPL.TXT,REQUIREMENTS.html} \ + $PKG/opt/$PRGNAM-$VERSION/*.csv \ + $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ - AUTHORS CHANGES COPYING ChangeLog* GPL.TXT INSTALL README REQUIREMENTS.html \ - SUBMITTING SUBMITTING_SCRIPTS SUBMITTING_TCLTK TODO \ + ChangeLog* INSTALL README SUBMITTING* TODO \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -install -D -m 0644 $CWD/$PRGNAM.desktop \ +# Desktop: +mkdir -p $PKG/usr/share/applications +cp -a \ + $CWD/$PRGNAM.desktop \ $PKG/usr/share/applications/$PRGNAM.desktop -install -D -m 0644 gui/icons/$PRGNAM-48x48.png \ - $PKG/usr/share/pixmaps/$PRGNAM.png +mkdir -p $PKG/usr/share/pixmaps +cp -a \ + gui/icons/$PRGNAM-64x64.png \ + $PKG/usr/share/pixmaps/${PRGNAM}.png + +# Cleanup: +rm -rf $PKG/opt/$PRGNAM-$VERSION/demolocation/PERMANENT/.tmp +rm $PKG/opt/$PRGNAM-$VERSION/config.status +rm -rf $PKG/opt/$PRGNAM-$VERSION/share/ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/gis/grass/grass.desktop b/gis/grass/grass.desktop index 238ec92f2b..9aac16df85 100644 --- a/gis/grass/grass.desktop +++ b/gis/grass/grass.desktop @@ -1,10 +1,52 @@ [Desktop Entry] -Version=1.0 Type=Application Name=GRASS GIS Comment=Geographic Information System +Comment[cs]=Geografický Informační Systém +Comment[de]=Geoinformationssystem +Comment[es]=Sistema de Información Geográfica +Comment[fi]=Maantieteellinen Tietojärjestelmä +Comment[fr]=Système d'Information Géographique +Comment[it]=Sistema Informativo Geografico +Comment[pl]=System Informacji Geograficznej +Comment[pt]=Sistema de Informação Geoáfic +Comment[sv]=Geografiskt Informationssystem +Comment[ar]=نظام المعلومات الجغرافي +Comment[az]=Coğrafi informasiya sistemi +Comment[bg]=Географска информационна система +Comment[bs]=Geografski informacioni sistem +Comment[ca]=Sistema d'informació geogràfica +Comment[el]=Σύστημα Γεωγραφικών Πληροφοριών +Comment[et]=Geoinfosüsteem +Comment[eu]=Geografia-informazioko sistemen +Comment[fa]=سامانه اطلاعات مکانی +Comment[gl]=Sistema de información xeográfica +Comment[he]=מערכת מידע גאוגרפית +Comment[hi]=भूगोलीय_सूचना_प्रणाली +Comment[hr]=Geografski informacijski sustav +Comment[hu]=Földrajzi információs rendszer +Comment[hy]=Աշխարհագրական տեղեկատվական համակարգ +Comment[id]=Sistem informasi geografis +Comment[is]=Landfræðilegt upplýsingakerfi +Comment[ka]=გეოინფორმაციული სისტემა +Comment[lt]=Geografinė informacinė sistema +Comment[lv]=Ģeogrāfiskā informācijas sistēma +Comment[mk]=Географски информационен систем +Comment[ml]=ജി.ഐ.എസ്. +Comment[nl]=Geografisch informatiesysteem +Comment[nn]=Geografiske informasjonssystem +Comment[no]=Geografiske informasjonssystemer +Comment[ro]=Sistem Informatic Geografic +Comment[ru]=Геоинформационная система +Comment[sh]=Geografski informacijski sistem +Comment[sk]=Geografický informačný systém +Comment[sl]=Geografski informacijski sistem +Comment[sr]=Географски информациони систем +Comment[th]=ระบบสารสนเทศภูมิศาสตร์ +Comment[tr]=Coğrafi bilgi sistemi +Comment[uk]=Геоінформаційна система +Comment[uz]=Geografik axborot tizimi Categories=Education;Science;Geoscience;Geography; Exec=grass -TryExec=/usr/bin/grass64 Icon=grass Terminal=true diff --git a/gis/grass/grass.info b/gis/grass/grass.info index e66d7e12d8..39972a376b 100644 --- a/gis/grass/grass.info +++ b/gis/grass/grass.info @@ -1,10 +1,10 @@ PRGNAM="grass" -VERSION="6.4.4" +VERSION="7.0.0" HOMEPAGE="http://grass.osgeo.org/" -DOWNLOAD="http://grass.osgeo.org/grass64/source/grass-6.4.4.tar.gz" -MD5SUM="4b3e0caaeb1567e15c78b523e3674170" +DOWNLOAD="http://grass.osgeo.org/grass70/source/grass-7.0.0.tar.gz" +MD5SUM="25b00b74ddb15284ffe2eacbb8999c7d" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="gdal numpy wxPython" +REQUIRES="gdal numpy-legacy wxPython" MAINTAINER="David Spencer" EMAIL="baildon.research@googlemail.com" -- cgit v1.2.3