summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/pgplot/README16
-rw-r--r--libraries/pgplot/doinst.sh26
-rw-r--r--libraries/pgplot/drivers.list114
-rw-r--r--libraries/pgplot/pgplot.SlackBuild120
-rw-r--r--libraries/pgplot/pgplot.info10
-rw-r--r--libraries/pgplot/slack-desc19
6 files changed, 305 insertions, 0 deletions
diff --git a/libraries/pgplot/README b/libraries/pgplot/README
new file mode 100644
index 0000000000..cadec04fb7
--- /dev/null
+++ b/libraries/pgplot/README
@@ -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.
diff --git a/libraries/pgplot/doinst.sh b/libraries/pgplot/doinst.sh
new file mode 100644
index 0000000000..e14444b033
--- /dev/null
+++ b/libraries/pgplot/doinst.sh
@@ -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
diff --git a/libraries/pgplot/drivers.list b/libraries/pgplot/drivers.list
new file mode 100644
index 0000000000..53108b3b5f
--- /dev/null
+++ b/libraries/pgplot/drivers.list
@@ -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
diff --git a/libraries/pgplot/pgplot.SlackBuild b/libraries/pgplot/pgplot.SlackBuild
new file mode 100644
index 0000000000..2fa3207906
--- /dev/null
+++ b/libraries/pgplot/pgplot.SlackBuild
@@ -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}
diff --git a/libraries/pgplot/pgplot.info b/libraries/pgplot/pgplot.info
new file mode 100644
index 0000000000..1bce238dd5
--- /dev/null
+++ b/libraries/pgplot/pgplot.info
@@ -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"
diff --git a/libraries/pgplot/slack-desc b/libraries/pgplot/slack-desc
new file mode 100644
index 0000000000..4845115a0f
--- /dev/null
+++ b/libraries/pgplot/slack-desc
@@ -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: