Skip to content

Commit

Permalink
gis/grass: Updated for version 7.0.0.
Browse files Browse the repository at this point in the history
Signed-off-by: David Spencer <baildon.research@googlemail.com>
  • Loading branch information
idlemoor authored and willysr committed Feb 28, 2015
1 parent 1343d1b commit e8c70dc
Show file tree
Hide file tree
Showing 4 changed files with 143 additions and 55 deletions.
28 changes: 23 additions & 5 deletions gis/grass/README
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
116 changes: 72 additions & 44 deletions gis/grass/grass.SlackBuild
Original file line number Diff line number Diff line change
Expand Up @@ -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}

Expand Down Expand Up @@ -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
;;
Expand All @@ -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
Expand Down
46 changes: 44 additions & 2 deletions gis/grass/grass.desktop
Original file line number Diff line number Diff line change
@@ -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
8 changes: 4 additions & 4 deletions gis/grass/grass.info
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit e8c70dc

Please sign in to comment.