diff options
-rw-r--r-- | academic/grace/README | 13 | ||||
-rw-r--r-- | academic/grace/doinst.sh | 4 | ||||
-rw-r--r-- | academic/grace/grace.SlackBuild | 117 | ||||
-rw-r--r-- | academic/grace/grace.info | 10 | ||||
-rw-r--r-- | academic/grace/patches/xmgrace-fftw.patch | 33 | ||||
-rw-r--r-- | academic/grace/patches/xmgrace-help.patch | 17 | ||||
-rw-r--r-- | academic/grace/patches/xmgrace-netcdf.patch | 16 | ||||
-rw-r--r-- | academic/grace/patches/xmgrace-null.patch | 11 | ||||
-rw-r--r-- | academic/grace/patches/xmgrace-strip.patch | 33 | ||||
-rw-r--r-- | academic/grace/slack-desc | 19 | ||||
-rw-r--r-- | academic/grace/xmgrace.desktop | 8 | ||||
-rw-r--r-- | academic/grace/xmgrace.png | bin | 0 -> 3013 bytes |
12 files changed, 281 insertions, 0 deletions
diff --git a/academic/grace/README b/academic/grace/README new file mode 100644 index 0000000000000..ef2bf3c9308aa --- /dev/null +++ b/academic/grace/README @@ -0,0 +1,13 @@ +Grace is a WYSIWYG tool to make two-dimensional plots of numerical +data. It runs under various (if not all) flavors of Unix with X11 and +M*tif (LessTif or Motif). It also runs under VMS, OS/2, and Windows +(95/98/NT/2000/XP). Its capabilities are roughly similar to GUI-based +programs like Sigmaplot or Microcal Origin plus script-based tools +like Gnuplot or Genplot. Its strength lies in the fact that it +combines the convenience of a graphical user interface with the power +of a scripting language which enables it to do sophisticated +calculations or perform automated tasks. + +Grace is derived from Xmgr (a.k.a. ACE/gr), originally written by Paul Turner. + +This requires netcdf and fftw. diff --git a/academic/grace/doinst.sh b/academic/grace/doinst.sh new file mode 100644 index 0000000000000..7f49a049dcd7e --- /dev/null +++ b/academic/grace/doinst.sh @@ -0,0 +1,4 @@ +if [ -x /usr/bin/update-desktop-database ]; then +/usr/bin/update-desktop-database -q /usr/share/applications >/dev/null 2>&1 +fi + diff --git a/academic/grace/grace.SlackBuild b/academic/grace/grace.SlackBuild new file mode 100644 index 0000000000000..520a94b23cfa9 --- /dev/null +++ b/academic/grace/grace.SlackBuild @@ -0,0 +1,117 @@ +#!/bin/sh + +# Slackware build script for grace +# Written by B. Jogai <jogaib {at} comcast [dot] net> +# Substantially modified by Robby Workman <rworkman@slackware.com> + +PRGNAM=grace +VERSION=5.1.22 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-"_SBo"} + +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" +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 . +chmod -R u+w,go+r-w,a-s . + +# Apply some miscellaneous fixup patches +patch -p0 < $CWD/patches/xmgrace-null.patch +patch -p0 < $CWD/patches/xmgrace-help.patch +patch -p0 < $CWD/patches/xmgrace-strip.patch + +# The invocation of nc_inq_libvers() has changed with the newer netcdf +patch -p1 < $CWD/patches/xmgrace-netcdf.patch + +# The header and library files of package fftw2 have been split +# up into single and double. grace uses double. +patch -p1 < $CWD/patches/xmgrace-fftw.patch + +# Fix paths to docs in src/xmgrace.c +sed -i "s%/usr/share/doc/packages/%/usr/lib${LIBDIRSUFFIX}/%g" src/xmgrace.c + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --enable-grace-home=/usr/lib${LIBDIRSUFFIX}/xmgrace \ + --with-x \ + --with-netcdf \ + --with-printcmd="lpr" \ + --with-helpviewer="firefox %s" \ + --build=$ARCH-slackware-linux + +make +make DESTDIR=$PKG install +# Set up the links for /usr/bin, /usr/include, and /usr/lib +make DESTDIR=$PKG install links + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | \ + cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + find . | xargs file | grep "shared object" | grep ELF | \ + cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +) + +# Fix hardcoding of /usr/lib in the "links" target +if [ "$ARCH" = "x86_64" ]; then + mv $PKG/usr/lib/*.a $PKG/usr/lib${LIBDIRSUFFIX} + rmdir $PKG/usr/lib 2>/dev/null || true +fi + +# Add desktop menu entries +mkdir -p $PKG/usr/share/{applications,pixmaps} +cat $CWD/xmgrace.png > $PKG/usr/share/pixmaps/xmgrace.png +cat $CWD/xmgrace.desktop > $PKG/usr/share/applications/xmgrace.desktop + +mkdir -p $PKG/usr/doc +mv $PKG/usr/lib${LIBDIRSUFFIX}/xmgrace/doc $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CHANGES ChangeLog README DEVELOPERS LICENSE \ + $PKG/usr/doc/$PRGNAM-$VERSION +find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \; +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +( cd $PKG/usr/lib${LIBDIRSUFFIX}/xmgrace # now make the compat symlink + ln -s ../../doc/$PRGNAM-$VERSION doc +) + +# We're going to leave the man pages where they are, since grace (might|does) +# look for them in its docs dir, but we also want users to be able to find +# them. Since grace might still use them directly, we're going to leave +# them uncompressed. Don't fuss - disk space is cheap :-) +mkdir -p $PKG/usr/man/man1 +( cd $PKG/usr/man/man1 + for i in convcal grace grconvert ; do + ln -s ../../lib${LIBDIRSUFFIX}/xmgrace/doc/${i}.1 . ; + done +) + +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/academic/grace/grace.info b/academic/grace/grace.info new file mode 100644 index 0000000000000..f4e59dd1595cf --- /dev/null +++ b/academic/grace/grace.info @@ -0,0 +1,10 @@ +PRGNAM="grace" +VERSION="5.1.22" +HOMEPAGE="http://plasma-gate.weizmann.ac.il/Grace/" +DOWNLOAD="ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/grace-5.1.22.tar.gz" +MD5SUM="672356466f18fe59ed21a8fb44f9851d" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="B. Jogai" +EMAIL="jogaib <at> comcast {dot} net" +APPROVED="rworkman" diff --git a/academic/grace/patches/xmgrace-fftw.patch b/academic/grace/patches/xmgrace-fftw.patch new file mode 100644 index 0000000000000..e4dac78592914 --- /dev/null +++ b/academic/grace/patches/xmgrace-fftw.patch @@ -0,0 +1,33 @@ +diff -Naur grace-5.1.22.orig/configure grace-5.1.22/configure +--- grace-5.1.22.orig/configure 2008-05-21 16:52:09.000000000 -0400 ++++ grace-5.1.22/configure 2009-10-01 12:40:20.976239041 -0400 +@@ -15690,7 +15690,7 @@ + + if test "x$fftw_library" = "x" + then +- fftw_library=-lfftw ++ fftw_library=-ldfftw + fi + + { echo "$as_me:$LINENO: checking for FFTW library >= 2.1.3" >&5 +@@ -15722,7 +15722,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + +-#include <fftw.h> ++#include <dfftw.h> + #include <string.h> + int main(void) { + char *vlib = (char *) fftw_version; +diff -Naur grace-5.1.22.orig/src/fourier.c grace-5.1.22/src/fourier.c +--- grace-5.1.22.orig/src/fourier.c 2004-07-03 16:47:45.000000000 -0400 ++++ grace-5.1.22/src/fourier.c 2009-10-01 12:41:14.567703801 -0400 +@@ -230,7 +230,7 @@ + #else + /* Start of new FFTW-based transforms by Marcus H. Mendenhall */ + +-#include <fftw.h> ++#include <dfftw.h> + #include <string.h> + + static char *wisdom_file=0; diff --git a/academic/grace/patches/xmgrace-help.patch b/academic/grace/patches/xmgrace-help.patch new file mode 100644 index 0000000000000..d8e2780c3c668 --- /dev/null +++ b/academic/grace/patches/xmgrace-help.patch @@ -0,0 +1,17 @@ +--- src/xmgrace.c 2007/04/26 09:39:20 1.1 ++++ src/xmgrace.c 2007/04/26 09:40:26 +@@ -864,10 +864,10 @@ + + menupane = CreateMenu(menubar, "Help", 'H', TRUE); + +- CreateMenuButton(menupane, "User's Guide", 'G', HelpCB, "doc/UsersGuide.html"); +- CreateMenuButton(menupane, "Tutorial", 'T', HelpCB, "doc/Tutorial.html"); +- CreateMenuButton(menupane, "FAQ", 'Q', HelpCB, "doc/FAQ.html"); +- CreateMenuButton(menupane, "Changes", 'C', HelpCB, "doc/CHANGES.html"); ++ CreateMenuButton(menupane, "User's Guide", 'G', HelpCB, "/usr/share/doc/packages/xmgrace/doc/UsersGuide.html"); ++ CreateMenuButton(menupane, "Tutorial", 'T', HelpCB, "/usr/share/doc/packages/xmgrace/doc/Tutorial.html"); ++ CreateMenuButton(menupane, "FAQ", 'Q', HelpCB, "/usr/share/doc/packages/xmgrace/doc/FAQ.html"); ++ CreateMenuButton(menupane, "Changes", 'C', HelpCB, "/usr/share/doc/packages/xmgrace/doc/CHANGES.html"); + + CreateMenuSeparator(menupane); + diff --git a/academic/grace/patches/xmgrace-netcdf.patch b/academic/grace/patches/xmgrace-netcdf.patch new file mode 100644 index 0000000000000..f18fbb6fe1135 --- /dev/null +++ b/academic/grace/patches/xmgrace-netcdf.patch @@ -0,0 +1,16 @@ +diff -Naur grace-5.1.21.orig/configure grace-5.1.21/configure +--- grace-5.1.21.orig/configure 2007-02-16 17:44:49.000000000 -0500 ++++ grace-5.1.21/configure 2008-04-03 08:54:45.000000000 -0400 +@@ -15181,7 +15181,11 @@ + int main(void) { + char *vlib; + vlib = nc_inq_libvers(); +- if (strcmp(vlib, "3.0") < 0) { ++ /* nc_inq_libvers() has changed. It now returns a long string, ++ a portion of which is in quotes. Advance the pointer to ++ eliminate the first quote, then compare. But also need ++ to ensure backward compatibility. */ ++ if ((strcmp(vlib, "3.0") || strcmp(++vlib, "3.0")) < 0) { + exit(1); + } + exit(0); diff --git a/academic/grace/patches/xmgrace-null.patch b/academic/grace/patches/xmgrace-null.patch new file mode 100644 index 0000000000000..5a8eb7705716e --- /dev/null +++ b/academic/grace/patches/xmgrace-null.patch @@ -0,0 +1,11 @@ +--- src/fontwin.c ++++ src/fontwin.c 2006/01/17 09:08:26 +@@ -126,7 +126,7 @@ + fonttool_frame = XmCreateDialogShell(app_shell, "Font tool", NULL, 0); + handle_close(fonttool_frame); + fonttool_panel = XtCreateWidget("fonttool_panel", xmFormWidgetClass, +- fonttool_frame, NULL, 0); ++ fonttool_frame, NULL, NULL); + + font_select_item = CreateFontChoice(fonttool_panel, "Font:"); + XtVaSetValues(font_select_item->menu, diff --git a/academic/grace/patches/xmgrace-strip.patch b/academic/grace/patches/xmgrace-strip.patch new file mode 100644 index 0000000000000..5ac62995cce8f --- /dev/null +++ b/academic/grace/patches/xmgrace-strip.patch @@ -0,0 +1,33 @@ +--- auxiliary/Makefile ++++ auxiliary/Makefile +@@ -27,7 +27,7 @@ + install : $(AUXILIARIES) $(PROGRAMS) $(SCRIPTS) + $(MKINSTALLDIRS) $(DESTDIR)$(GRACE_HOME)/auxiliary + for i in $(AUXILIARIES); do $(INSTALL_DATA) $$i $(DESTDIR)$(GRACE_HOME)/auxiliary; done +- for i in $(PROGRAMS); do $(INSTALL_PROGRAM) -s $$i $(DESTDIR)$(GRACE_HOME)/bin; done ++ for i in $(PROGRAMS); do $(INSTALL_PROGRAM) $$i $(DESTDIR)$(GRACE_HOME)/bin; done + for i in $(SCRIPTS); do $(INSTALL_PROGRAM) $$i $(DESTDIR)$(GRACE_HOME)/bin; done + + tests : dummy +--- grconvert/Makefile ++++ grconvert/Makefile +@@ -42,7 +42,7 @@ + + install : $(PROG) + $(MKINSTALLDIRS) $(DESTDIR)$(GRACE_HOME)/bin +- $(INSTALL_PROGRAM) -s $(PROG) $(DESTDIR)$(GRACE_HOME)/bin/$(PROG) ++ $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(GRACE_HOME)/bin/$(PROG) + + dummy : + +--- src/Makefile ++++ src/Makefile +@@ -60,7 +60,7 @@ + + install : $(GRACE) + $(MKINSTALLDIRS) $(DESTDIR)$(GRACE_HOME)/bin +- $(INSTALL_PROGRAM) -s $(GRACE) $(DESTDIR)$(GRACE_HOME)/bin/$(GRACE) ++ $(INSTALL_PROGRAM) $(GRACE) $(DESTDIR)$(GRACE_HOME)/bin/$(GRACE) + cd $(DESTDIR)$(GRACE_HOME)/bin; $(RM) $(GRBATCH); $(LN_S) $(GRACE) $(GRBATCH) + + tests : dummy diff --git a/academic/grace/slack-desc b/academic/grace/slack-desc new file mode 100644 index 0000000000000..4457e0654928a --- /dev/null +++ b/academic/grace/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 ':'. + + |-----handy-ruler------------------------------------------------------| +grace: grace (WYSIWYG 2D Plotting/Graphing Tool) +grace: +grace: Grace is a WYSIWYG 2D plotting tool for the X Window System and M*tif. +grace: Grace is a descendant of ACE/gr, also known as Xmgr. It knows a lot of +grace: different graph types and supports a lot of output formats. +grace: +grace: For examples, see /usr/share/xmgrace/examples. +grace: +grace: +grace: +grace: diff --git a/academic/grace/xmgrace.desktop b/academic/grace/xmgrace.desktop new file mode 100644 index 0000000000000..183f364c08c7f --- /dev/null +++ b/academic/grace/xmgrace.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Exec=xmgrace +Name=xmgrace +Terminal=false +Comment=Scientific Plotting Application +Icon=/usr/share/pixmaps/xmgrace.png +Categories=Qt;KDE;Graphics;Development; diff --git a/academic/grace/xmgrace.png b/academic/grace/xmgrace.png Binary files differnew file mode 100644 index 0000000000000..86bb0b145211a --- /dev/null +++ b/academic/grace/xmgrace.png |