libraries/pgplot: Added (graphics subroutine library).

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
Nitish Ragoomundun 2017-05-09 14:23:26 +01:00 committed by Willy Sudiarto Raharjo
parent fbe0107f78
commit e196e8f941
6 changed files with 305 additions and 0 deletions

16
libraries/pgplot/README Normal file
View File

@ -0,0 +1,16 @@
PGPLOT is a Fortran subroutine package for drawing simple scientific
graphs on various graphics display devices. It was originally developed
for use with astronomical data reduction programs in the Caltech
Astronomy Department.
It consists of a library of routines that are Fortran- and C-callable.
There are routines that are device-dependent, in that they can produce
output for various terminals, image displays, dot-matrix printers,
laser printers, and pen plotters. Common file formats supported include
PostScript and GIF.
PGPLOT is not public-domain software. However, it is freely available
for non-commercial use. The source code and documentation are
copyrighted by California Institute of Technology, and may not be
redistributed or placed on public Web servers without permission. The
software is provided "as is" with no warranty.

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/pgplot.sh.new
preserve_perms etc/profile.d/pgplot.csh.new

View File

@ -0,0 +1,114 @@
! PGPLOT drivers.
!------------------------------------------------------------------------------
! To configure PGPLOT, ensure that drivers you do not want are
! commented out (place ! in column 1). N.B. Many device-drivers are
! available on selected operating systems only.
!------------------------------------------------------------------------------
! File Code Description Restrictions
! BCDRIV 0 /BCANON Canon Laser printer (bitmap version), landscape
! CADRIV 0 /CANON Canon Laser printer, LBP-8/A2, landscape
! CCDRIV 0 /CCP DEC LJ250 Color Companion printer
! CGDRIV 1 /CGM CGM metafile, indexed colour selection C
! CGDRIV 2 /CGMD CGM metafile, direct colour selection C
! CWDRIV 0 /CW6320 Gould/Bryans Colourwriter 6320 pen plotter Std F77
! EPDRIV 0 /EPSON Epson FX100 dot matrix printer
! EXDRIV 1 /EXCL Talaris/EXCL printers, landscape
! EXDRIV 2 /EXCL Talaris/EXCL printers, portrait
! GCDRIV 0 /GENICOM Genicom 4410 dot-matrix printer, landscape
! Caution: use of GIDRIV may require a license from Unisys:
GIDRIV 1 /GIF GIF-format file, landscape
GIDRIV 2 /VGIF GIF-format file, portrait
! GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77
! GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77
! GODRIV 0 /GOC GOC Sigma T5670 terminal VMS
! GVDRIV 0 /GVENICOM Genicom 4410 dot-matrix printer, portrait
! HGDRIV 0 /HPGL2 Hewlett-Packard graphics language
! HIDRIV 0 /HIDMP Houston Instruments HIDMP pen plotter
! HJDRIV 0 /HJ Hewlett-Packard Desk/Laserjet printer
! HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77
! LADRIV 0 /LA50 Dec LA50 and other sixel printers
! LJDRIV 0 /LJ Hewlett-Packard LaserJet printers VMS
! LSDRIV 1 /LIPS2 Canon LaserShot printer (landscape)
! LSDRIV 2 /VLIPS2 Canon LaserShot printer (portrait)
! LNDRIV 0 /LN03 Dec LN03-PLUS Laser printer (landscape) VMS
! LVDRIV 0 /LVN03 Dec LN03-PLUS Laser printer (portrait) VMS
! LXDRIV 0 /LATEX LaTeX picture environment
! MFDRIV 0 /FILE PGPLOT graphics metafile
! NEDRIV 0 /NEXT Computers running NeXTstep operating system
NUDRIV 0 /NULL Null device (no output) Std F77
! PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77
! PNDRIV 1 /PNG Portable Network Graphics file C
! PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C
! PPDRIV 1 /PPM Portable Pixel Map file, landscape
! PPDRIV 2 /VPPM Portable PIxel Map file, portrait
PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77
PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77
PSDRIV 3 /CPS PostScript printers, color, landscape Std F77
PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77
! PXDRIV 0 /PRINTRONI Printronix P300 or P600 dot-matrix printer
! QMDRIV 1 /QMS QUIC devices (QMS and Talaris), landscape Std F77
! QMDRIV 2 /VQMS QUIC devices (QMS and Talaris), portrait Std F77
! TFDRIV 0 /TFILE Tektronix-format disk file VMS
! TODRIV 0 /TOSHIBA Toshiba "3-in-one" printer, model P351
! TTDRIV 1 /TEK4010 Tektronix 4006/4010 storage-tube terminal Std F77
! TTDRIV 2 /GF GraphOn terminal Std F77
! TTDRIV 3 /RETRO RetroGraphics terminal Std F77
! TTDRIV 4 /GTERM GTERM Tektronix terminal emulator Std F77
TTDRIV 5 /XTERM XTERM Tektronix terminal emulator Std F77
! TTDRIV 6 /ZSTEM ZSTEM terminal emulator Std F77
! TTDRIV 7 /V603 Visual 603 terminal Std F77
! TTDRIV 8 /KRM3 Kermit 3 on IBM-PC Std F77
! TTDRIV 9 /TK4100 Tektronix 4100-series terminals Std F77
! TTDRIV 10 /VMAC Macintosh VersaTerm-PRO Tektronix-4105 emulator Std F77
! TXDRIV 0 /TX TeX PK Font Output files
! VADRIV 0 /VCANON Canon Laser printer, LBP-8/A2, portrait
! VBDRIV 0 /VBCANON Canon Laser printer (bitmap version), portrait
! VTDRIV 0 /VT125 Dec Regis terminals (VT125 etc.) Std F77
WDDRIV 1 /WD X Window dump file, landscape
WDDRIV 2 /VWD X Window dump file, portrait
! WSDRIV 0 /WS VAX workstations running VWS software VMS
! X2DRIV 0 /XDISP PGDISP or FIGDISP server for X workstations C
XWDRIV 1 /XWINDOW Workstations running X Window System C
XWDRIV 2 /XSERVE Persistent window on X Window System C
! ZEDRIV 0 /ZETA Zeta 8 Digital Plotter
!
! The following drivers can only be used in PGPLOT installations on MS-DOS
! systems with appropriate hardware and software. Do not select these
! on UNIX or VMS systems.
!
! LHDRIV 0 /LH IBM PCs and clones, Lahey F77 32-bit Fortran v5.0
! MSDRIV 0 /MSOFT IBM PCs and clones running Microsoft Fortran 5.0
! SSDRIV 0 /SS IBM PCs and clones, MS-DOS, Salford Software FTN
!
! The following driver can only be used in PGPLOT installations on Acorn
! Archimedes systems with appropriate hardware and software.
!
! ACDRIV 0 /ARC Acorn Archimedes computer
!
! Selection of the XMOTIF driver causes a stub driver to be placed in
! the main PGPLOT library. The real driver is placed in libXmPgplot.a.
! Applications that need the Motif driver should link with libXmPgplot.a
! before the PGPLOT library. This treatment means that only Motif
! applications have to be linked with Motif libraries.
!
! XMDRIV 0 /XMOTIF Motif applications containing XmPgplot widgets. C
!
! Selection of the XATHENA driver causes a stub driver to be placed in
! the main PGPLOT library. The real driver is placed in libXawPgplot.a.
! Applications that need the Athena driver should link with libXawPgplot.a
! before the PGPLOT library. This treatment means that only Athena
! applications have to be linked with Xaw libraries.
!
! XADRIV 0 /XATHENA Motif applications containing XaPgplot widgets. C
!
! Selection of the TK driver causes a stub driver to be placed in
! the main PGPLOT library. The real driver is placed in libtkpgplot.a.
! Applications that need the Tk driver should link with libtkpgplot.a
! before the PGPLOT library. This treatment means that only Tcl/Tk
! applications have to be linked with the Tcl and Tk libraries.
!
! TKDRIV 0 /XTK X-window Tcl/Tk programs with pgplot widgets. C
!
! The following driver is included solely for use by the aips++ team.
!
! RVDRIV 0 /XRV X-window Rivet/Tk programs with pgplot widgets. C

View File

@ -0,0 +1,120 @@
#!/bin/sh
# Slackware build script for PGPLOT
# 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=pgplot
VERSION=${VERSION:-5.2.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
FVER=5.2
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -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
tar xvf $CWD/${PRGNAM}${FVER}.tar.gz
cd $PRGNAM
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 {} \;
# Replace upstream's list of enabled drivers
cat $CWD/drivers.list > drivers.list
CFLAGC="$SLKCFLAGS" \
FFLAGC="$SLKCFLAGS" \
$TMP/$PRGNAM/makemake $TMP/$PRGNAM linux g77_gcc
make -j1
make -j1 cpg
ld -shared -o libcpgplot.so --whole-archive libcpgplot.a
mkdir -p $PKG/usr/bin
install -D -m755 pgxwin_server $PKG/usr/bin
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
install -D -m755 libpgplot.so $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/libpgplot.so
install -D -m644 libpgplot.a libcpgplot.a grfont.dat rgb.txt $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/
mkdir -p $PKG/usr/include
cp -a cpgplot.h $PKG/usr/include/cpgplot.h
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/etc/profile.d/
cat << EOF > $PKG/etc/profile.d/pgplot.sh.new
#!/bin/sh
export PGPLOT_DIR="/usr/lib${LIBDIRSUFFIX}/$PRGNAM"
EOF
cat << EOF > $PKG/etc/profile.d/pgplot.csh.new
#!/bin/csh
setenv PGPLOT_DIR /usr/lib${LIBDIRSUFFIX}/$PRGNAM
EOF
chmod 0755 $PKG/etc/profile.d/*
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a aaaread.me copyright.notice install*.txt ver5*.txt \
$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}

View File

@ -0,0 +1,10 @@
PRGNAM="pgplot"
VERSION="5.2.2"
HOMEPAGE="http://www.astro.caltech.edu/~tjp/pgplot"
DOWNLOAD="ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz"
MD5SUM="e8a6e8d0d5ef9d1709dfb567724525ae"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Nitish Ragoomundun"
EMAIL="lrugratz@gmail.com"

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------------------------------------------------------|
pgplot: pgplot (graphics subroutine library)
pgplot:
pgplot: PGPLOT is a Fortran- or C-callable, device-independent graphics
pgplot: package for making simple scientific graphs. It is intended for
pgplot: making graphical images of publication quality with minimum effort
pgplot: on the part of the user.
pgplot:
pgplot:
pgplot: Homepage: http://www.astro.caltech.edu/~tjp/pgplot
pgplot:
pgplot: