academic/karma: Added (ATNF CSIRO Karma signal & image processing).

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
Nitish Ragoomundun 2017-03-24 17:45:33 +00:00 committed by David Spencer
parent e0e452be7a
commit d91af2790e
5 changed files with 192 additions and 0 deletions

17
academic/karma/README Normal file
View file

@ -0,0 +1,17 @@
ATNF CSIRO Karma is a package for signal and image processing
applications. It contains KarmaLib (the structured library and API)
and a large number of modules and applications to perform many standard
tasks on astronomical data in common formats like FITS. It is a toolkit
for manipulating the Karma network data structure.
Another major component of KarmaLib is the display support. The display
system both provides an abstract interface to the underlying graphics
system (ie. the X window system), and also provides much higher level
functionality than many graphics libraries. As well as supporting simple
geometric primitives and text display, a powerful and flexible image
display system is included. This allows the direct mapping of
application data structures (ie. 2-D and 3-D arrays) to display
windows (canvases).
This SlackBuild script builds a Slackware package from the official
binary distributed by CSIRO.

26
academic/karma/doinst.sh Normal file
View file

@ -0,0 +1,26 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
preserve_perms() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
if [ -e $OLD ]; then
cp -a $OLD ${NEW}.incoming
cat $NEW > ${NEW}.incoming
mv ${NEW}.incoming $NEW
fi
config $NEW
}
preserve_perms etc/profile.d/karma.sh.new
preserve_perms etc/profile.d/karma.csh.new

View file

@ -0,0 +1,116 @@
#!/bin/sh
# Slackware build script for karma
# Copyright 2017 Nitish Ragoomundun, Mauritius
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=karma
VERSION=${VERSION:-1.7.25}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i686 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
if [ "$ARCH" = "x86_64" ]; then
ARCHDEP="amd64_Linux_libc6.3"
elif [ "$ARCH" = "i686" ]; then
ARCHDEP="i386_Linux_libc6"
else
printf "\n\n$ARCH is not supported... \n"
exit 1
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar -jxvf $CWD/$PRGNAM-$VERSION-common.tar.bz2
tar -jxvf $CWD/$PRGNAM-$VERSION-$ARCHDEP.tar.bz2
# Remove some broken links and reorder directories
cd $PRGNAM-$VERSION
rm i386_Darwin x86_64_Darwin
mv $ARCHDEP/{bin,lib} .
rm -R $ARCHDEP
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Copy everything to package directory
mkdir -p $PKG/opt/$PRGNAM
cp -pR * $PKG/opt/$PRGNAM
find $PKG/opt/$PRGNAM/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/opt/$PRGNAM/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Put scripts in /etc/profile.d to set up environment variables
mkdir -p $PKG/etc/profile.d/
# sh script
cat << EOF > $PKG/etc/profile.d/karma.sh.new
#!/bin/sh
PATH=$PATH:/opt/$PRGNAM/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/$PRGNAM/lib
KARMABASE=/opt/$PRGNAM
EOF
# csh script
cat << EOF > $PKG/etc/profile.d/karma.csh.new
#!/bin/csh
setenv PATH $PATH:/opt/$PRGNAM/bin
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/opt/$PRGNAM/lib
setenv KARMABASE /opt/$PRGNAM
EOF
chmod 0755 $PKG/etc/profile.d/*
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
ln -s /opt/$PRGNAM/doc/{COPYING,README} $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
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}

14
academic/karma/karma.info Normal file
View file

@ -0,0 +1,14 @@
PRGNAM="karma"
VERSION="1.7.25"
HOMEPAGE="http://www.atnf.csiro.au/computing/software/karma"
DOWNLOAD="ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-i386_Linux_libc6.tar.bz2 \
ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-common.tar.bz2"
MD5SUM="791d94f7c4098a03e4fabac7175c94dd \
e4f77bf0ad53ad1578111df3b5b241e9"
DOWNLOAD_x86_64="ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-amd64_Linux_libc6.3.tar.bz2 \
ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-common.tar.bz2"
MD5SUM_x86_64="0917cdbac92a7774e2763b1ab8f43974 \
e4f77bf0ad53ad1578111df3b5b241e9"
REQUIRES=""
MAINTAINER="Nitish Ragoomundun"
EMAIL="lrugratz@gmail.com"

19
academic/karma/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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
karma: karma (ATNF CSIRO Karma signal and image processing)
karma:
karma: Karma is a package for signal and image processing applications. It
karma: a programmer's toolkit for manipulating the karma network data
karma: structure. It also contains KarmaLib and a large number of modules to
karma: perform standard tasks on astronomical data in all common formats
karma: like FITS. Karma also incorporates a suite of visualization tools for
karma: astronomy.
karma:
karma: http://www.atnf.csiro.au/computing/software/karma/
karma: