academic/grass: Added (Geographic Resources Analysis Support System)

Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
David Spencer 2010-10-14 09:19:04 -04:00 committed by Robby Workman
parent e676c9a31e
commit f3cf70a37b
6 changed files with 225 additions and 0 deletions

23
academic/grass/README Normal file
View file

@ -0,0 +1,23 @@
GRASS (Geographic Resources Analysis Support System) is a free Geographic
Information System (GIS) used for geospatial data management and
analysis, image processing, graphics/maps production, spatial modeling,
and visualization. GRASS is an official project of the Open Source
Geospatial Foundation.
GRASS requires proj, gdal, numpy and wxPython.
The following optional dependencies may be enabled:
blas
lapack
ffmpeg
mysql
postgresql
sqlite
The options you require must be specified by setting the variable ENABLE
before running grass.SlackBuild, for example
ENABLE="sqlite,ffmpeg" ./grass.SlackBuild
If you need to make grass libraries available on the system
echo /opt/grass/lib >> /etc/ld.so.conf && ldconfig

3
academic/grass/doinst.sh Normal file
View file

@ -0,0 +1,3 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

View file

@ -0,0 +1,160 @@
#!/bin/sh
# Slackware build script for grass
# Written by David Spencer <baildon.research@googlemail.com>
# This script is dedicated to the public domain
PRGNAM=grass
VERSION=${VERSION:-6.4.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Option handling:
# $WITHLIST has to be an array due to embedded spaces in the ffmpeg includes :-(
set -- $(echo $ENABLE | sed 's/,/ /g')
withnum=0
while [[ "$1" != "" ]]; do
case "$1"
in
blas | \
lapack | \
sqlite )
WITHLIST[$((withnum++))]="--with-$1"
shift
;;
mysql )
WITHLIST[$((withnum++))]="--with-mysql"
WITHLIST[$((withnum++))]="--with-mysql-includes=/usr/include/mysql"
shift
;;
postgres | postgresql )
WITHLIST[$((withnum++))]="--with-postgres"
shift
;;
ffmpeg )
FFINCL="/usr/include/libavcodec /usr/include/libavformat /usr/include/libswscale"
WITHLIST[$((withnum++))]="--with-ffmpeg"
WITHLIST[$((withnum++))]="--with-ffmpeg-includes=$FFINCL"
shift
;;
* )
shift
;;
esac
done
if [ "$LIBDIRSUFFIX" = "64" ]; then
BITNESS=" --enable-64bit"
else
BITNESS=""
fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="-ldl -lncurses" \
./configure \
--prefix=/opt \
--with-cxx \
--with-fftw \
--with-motif \
--with-freetype \
--with-readline \
--with-python \
--with-proj-share=/usr/share/proj \
--with-cairo \
--with-wxwidgets \
--enable-largefile \
"${WITHLIST[@]}" \
$BITNESS \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux
make
make prefix=$PKG/opt BINDIR=$PKG/usr/bin \
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
find $PKG/opt/$PRGNAM-$VERSION/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/opt/$PRGNAM-$VERSION/man -type l ) ; do \
ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Install the pkgconfig file.
install -D -m0644 grass.pc $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/grass.pc
mkdir -p $PKG/usr/man/man1
cp -a \
$PKG/opt/$PRGNAM-$VERSION/man/man1/grass6.1.gz \
$PKG/usr/man/man1/grass.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS CHANGES COPYING ChangeLog* GPL.TXT INSTALL README REQUIREMENTS.html \
SUBMITTING SUBMITTING_SCRIPTS SUBMITTING_TCLTK TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
install -D -m 0644 $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/install
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}

View file

@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=GRASS GIS
Comment=
Categories=Education;Geography;
Exec=grass
TryExec=/usr/bin/grass64
Icon=grass
Terminal=true

10
academic/grass/grass.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="grass"
VERSION="6.4.0"
HOMEPAGE="http://grass.osgeo.org/"
DOWNLOAD="http://grass.osgeo.org/grass64/source/grass-6.4.0.tar.gz"
MD5SUM="ac3233aa3351f8e060ea48246aa01c7f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="David Spencer"
EMAIL="baildon.research@googlemail.com"
APPROVED="dsomero"

19
academic/grass/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
grass: grass (Geographic Resources Analysis Support System)
grass:
grass: Grass is a free Geographic Information System (GIS) used for
grass: geospatial data management and analysis, image processing,
grass: graphics/maps production, spatial modelling, and visualization.
grass:
grass: Homepage: http://grass.osgeo.org/
grass:
grass:
grass:
grass: