aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/yorick/Makefile60
-rw-r--r--lang/yorick/distinfo3
-rw-r--r--lang/yorick/files/patch-ab18
-rw-r--r--lang/yorick/pkg-comment2
-rw-r--r--lang/yorick/pkg-descr30
-rw-r--r--lang/yorick/pkg-install19
-rw-r--r--lang/yorick/pkg-plist16
7 files changed, 103 insertions, 45 deletions
diff --git a/lang/yorick/Makefile b/lang/yorick/Makefile
index 03d66c857f20..fea493aba9a9 100644
--- a/lang/yorick/Makefile
+++ b/lang/yorick/Makefile
@@ -5,44 +5,84 @@
# $FreeBSD$
#
+# History: 1.4.1 port by Pedro Giffuni <giffunip@asme.org>
+# 1.5.02 port by ports@FreeBSD.org,
+# from submission by Ed Alley <wea@llnl.gov>
+# 1.5.07 port by David H. Munro <munro1@llnl.gov>
+# 1.5.07 notes:
+# (1) info pages installed in PREFIX/info for consistency with other apps
+# -- really should be in PREFIX/share/info
+# (2) several fixes to allow PREFIX for package install to be different
+# from PREFIX at build time (which is compiled into yorick and gist):
+# (a) PREFIX/bin/{yorick,gist} are softlinks, which allows
+# yorick and gist to compute ${PREFIX}/lib/${PORTNAME} at runtime
+# (b) softlink for g/ put in lib/${PORTNAME} for gist
+# (c) softlink doc/ so yorick online help is correct
+# (d) copy of paths.i put in lib/${PORTNAME}/bin for yorick
+# (e) pkg-install script added to fiddle softlinks, paths.i, and
+# Maketmpl if PREFIX has changed at install time
+# -- assume DOCSDIR and DATADIR take default values as does pkg-plist
+# 1.5.08 replaces 1.5.07 infant mortality
+
PORTNAME= yorick
-PORTVERSION= 1.5.02
+PORTVERSION= 1.5.08
CATEGORIES= lang math
MASTER_SITES= ftp://ftp-icf.llnl.gov/pub/Yorick/ \
ftp://wuarchive.wustl.edu/languages/yorick/
EXTRACT_SUFX= .tgz
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= munro1@llnl.gov
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}
USE_XLIB= yes
-MAKE_ARGS= Y_HOME="${PREFIX}/lib/${PORTNAME}" Y_SITE="${DATADIR}"
+MAKE_ARGS= Y_HOME="${PREFIX}/lib/${PORTNAME}" Y_SITE="${DATADIR}" \
+ Y_DOCDIR=/dev/null
MAN1= yorick.1 gist.1
PORTDOCS= FILE_FORMATS README drat.doc drat.tex graph.doc hex.doc \
- library.doc math.doc refs.ps refs.tex std.doc yorick.pdf \
- yorick.ps yorick.tex
-
-post-patch:
- @${PERL} -pi -e \
- 's|/usr/X11R6|${X11BASE}|g' ${WRKSRC}/play/x11/xconfig.sh
+ library.doc math.doc refs.pdf refs.ps refs.tex std.doc \
+ yorick.pdf yorick.ps yorick.tex
do-configure:
@(cd ${CONFIGURE_WRKSRC}; ${SETENV} ${MAKE_ENV} \
${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ysite config)
+post-build:
+.if !defined(NOPORTDOCS)
+ cd ${WRKSRC}/doc; make yorick.info
+ ${GZIP_CMD} ${WRKSRC}/doc/yorick.info*
+.endif
+
post-install:
+.if !exists(${PREFIX}/bin)
+ @${MKDIR} ${PREFIX}/bin
+.endif
+.if !exists(${PREFIX}/man/man1)
+ @${MKDIR} ${PREFIX}/man/man1
+.endif
.for file in gist yorick
${INSTALL_MAN} ${WRKSRC}/doc/${file}.1 ${PREFIX}/man/man1
- @strip ${PREFIX}/lib/${PORTNAME}/bin/${file}
+ @${STRIP_CMD} ${PREFIX}/lib/${PORTNAME}/bin/${file}
@${LN} -sf ${PREFIX}/lib/${PORTNAME}/bin/${file} ${PREFIX}/bin/${file}
.endfor
+ @${STRIP_CMD} ${PREFIX}/lib/${PORTNAME}/lib/codger
+ ${INSTALL_DATA} ${WRKSRC}/emacs/yorick.el ${DATADIR}
+ @${LN} -sf ../../share/${PORTNAME}/g ${PREFIX}/lib/${PORTNAME}/g
+ @${CP} ${DATADIR}/i0/paths.i ${PREFIX}/lib/${PORTNAME}/bin/paths.i
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for file in ${PORTDOCS}
${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR}
.endfor
+ @${LN} -sf ../doc/${PORTNAME} ${DATADIR}/doc
+.if !exists(${PREFIX}/info)
+ @${MKDIR} ${PREFIX}/info
+.endif
+ for f in ${WRKSRC}/doc/yorick.info*; do \
+ ${INSTALL_DATA} $$f ${PREFIX}/info; \
+ done
+ install-info ${PREFIX}/info/yorick.info.gz ${PREFIX}/info/dir
.endif
.include <bsd.port.mk>
diff --git a/lang/yorick/distinfo b/lang/yorick/distinfo
index 0bbc317c6f67..a8d3b92d365a 100644
--- a/lang/yorick/distinfo
+++ b/lang/yorick/distinfo
@@ -1 +1,2 @@
-MD5 (yorick-1.5.02.tgz) = 0b8db7534b52e9fbaf9ab80d9d826a80
+MD5 (yorick-1.5.08.tgz) = 2f13dd9bc2fd1503b18006c2a3c253ee
+
diff --git a/lang/yorick/files/patch-ab b/lang/yorick/files/patch-ab
deleted file mode 100644
index 419e8d12ce20..000000000000
--- a/lang/yorick/files/patch-ab
+++ /dev/null
@@ -1,18 +0,0 @@
---- install.sh.orig Sat May 12 03:56:33 2001
-+++ install.sh Wed Sep 19 23:40:58 2001
-@@ -91,7 +91,6 @@
- if test ! -d $Y_SITE/i; then mkdir $Y_SITE/i; fi
- if test ! -d $Y_SITE/i0; then mkdir $Y_SITE/i0; fi
- if test ! -d $Y_SITE/g; then mkdir $Y_SITE/g; fi
--if test ! -d $Y_SITE/doc; then mkdir $Y_SITE/doc; fi
- rm -f $Y_SITE/junk.tst
- touch ./junk.tst
- if test -f $Y_SITE/junk.tst; then
-@@ -100,7 +99,6 @@
- cp -f i/*.i i/README $Y_SITE/i
- cp -f i0/*.i i0/README $Y_SITE/i0
- cp -f g/*.gs g/*.gp g/ps.ps g/README $Y_SITE/g
-- cp -f doc/*.tex doc/*.ps doc/*.pdf doc/FILE_FORMATS doc/README doc/*.doc $Y_SITE/doc
- fi
- rm -f ./junk.tst
-
diff --git a/lang/yorick/pkg-comment b/lang/yorick/pkg-comment
index 7d928c61a797..d2ff741d3f40 100644
--- a/lang/yorick/pkg-comment
+++ b/lang/yorick/pkg-comment
@@ -1 +1 @@
-An Interpreted Language for Scientific Computing
+Interpreted language and scientific graphics
diff --git a/lang/yorick/pkg-descr b/lang/yorick/pkg-descr
index cadde68905a4..c843e87299cf 100644
--- a/lang/yorick/pkg-descr
+++ b/lang/yorick/pkg-descr
@@ -1,19 +1,19 @@
-Yorick is an interpreted language like Basic or Lisp. For an interpreter,
-Yorick is very fast for many scientific applications. It features:
+Yorick is an interpreted programming language for:
+ * scientific simulations or calculations
+ * postprocessing or steering large simulation codes
+ * interactive scientific graphics
+ * reading, writing, and translating large files of numbers
- * A C-like language, but without declarative statements.
- * An X window system interactive graphics package.
- * Yorick's binary file package can read or write floating point
- formats foreign to the machine where Yorick is running.
- * A library of functions written in the Yorick language.
- * Provisions for embedding compiled subroutines and functions within
- a Yorick interpreter.
+The language features a compact syntax for many common array
+operations, so it processes large arrays of numbers very quickly and
+efficiently. Superficially, yorick code resembles C code, but yorick
+variables are never explicitly declared and have a dynamic scoping
+similar to many Lisp dialects. The yorick language is designed to be
+typed interactively at a keyboard, as well as stored in files for
+later use.
-Because Yorick can read either text or binary files, it can be used
-"out of the box" as a pre- and post-processor for most existing
-physics simulation programs.
-
-Read the article in the Nov/Dec 1995 issue of Computers in Physics
-(Vol. 9, p. 609) for more details.
+This package includes an emacs-based development environment, which
+you can launch by typing M-x yorick in emacs, if you load
+.../share/yorick/yorick.el in your ~/.emacs file.
WWW: ftp://ftp-icf.llnl.gov/pub/Yorick/doc/index.html
diff --git a/lang/yorick/pkg-install b/lang/yorick/pkg-install
new file mode 100644
index 000000000000..5e1e39c3d452
--- /dev/null
+++ b/lang/yorick/pkg-install
@@ -0,0 +1,19 @@
+#!/bin/sh
+if test "$2" = "POST-INSTALL"; then
+ YS=$PKG_PREFIX/share/yorick
+ YH=$PKG_PREFIX/lib/yorick
+ x=`grep "^Y_HOME = $YH" $YH/Maketmpl`
+ if test -z "$x"; then
+ YB=$PKG_PREFIX/lib/yorick/bin
+ ln -sf $YB/gist $PKG_PREFIX/bin/gist
+ ln -sf $YB/yorick $PKG_PREFIX/bin/yorick
+ s="s%^...set_site,.*%set_site, \"$YS\", \"$YH\"\\;%g"
+ sed -e "$s" $YB/paths.i >$YB/paths.tmp
+ mv -f $YB/paths.tmp $YB/paths.i
+ sed -e "s%^Y_SITE = .*%Y_SITE = $YS%g" $YH/Maketmpl >$YH/Maketmpl.tmp
+ rm -f $YH/Maketmpl
+ sed -e "s%^Y_HOME = .*%Y_HOME = $YH%g" $YH/Maketmpl.tmp >$YH/Maketmpl
+ rm -f $YH/Maketmpl.tmp
+ fi
+fi
+true
diff --git a/lang/yorick/pkg-plist b/lang/yorick/pkg-plist
index adf2a99bd5fa..7e3d87dfa21f 100644
--- a/lang/yorick/pkg-plist
+++ b/lang/yorick/pkg-plist
@@ -3,6 +3,7 @@ bin/yorick
lib/yorick/Make.cfg
lib/yorick/Maketmpl
lib/yorick/bin/gist
+lib/yorick/bin/paths.i
lib/yorick/bin/yorick
lib/yorick/include/bcast.h
lib/yorick/include/binio.h
@@ -31,9 +32,13 @@ lib/yorick/include/xfancy.h
lib/yorick/include/yasync.h
lib/yorick/include/ydata.h
lib/yorick/include/yio.h
+lib/yorick/include/yversion.h
lib/yorick/lib/codger
+lib/yorick/lib/libdrat.a
+lib/yorick/lib/libhex.a
lib/yorick/lib/libyor.a
lib/yorick/lib/main.o
+lib/yorick/g
%%PORTDOCS%%share/doc/yorick/FILE_FORMATS
%%PORTDOCS%%share/doc/yorick/README
%%PORTDOCS%%share/doc/yorick/drat.doc
@@ -42,12 +47,14 @@ lib/yorick/lib/main.o
%%PORTDOCS%%share/doc/yorick/hex.doc
%%PORTDOCS%%share/doc/yorick/library.doc
%%PORTDOCS%%share/doc/yorick/math.doc
+%%PORTDOCS%%share/doc/yorick/refs.pdf
%%PORTDOCS%%share/doc/yorick/refs.ps
%%PORTDOCS%%share/doc/yorick/refs.tex
%%PORTDOCS%%share/doc/yorick/std.doc
%%PORTDOCS%%share/doc/yorick/yorick.pdf
%%PORTDOCS%%share/doc/yorick/yorick.ps
%%PORTDOCS%%share/doc/yorick/yorick.tex
+%%PORTDOCS%%share/yorick/doc
share/yorick/g/README
share/yorick/g/axes.gs
share/yorick/g/boxed.gs
@@ -146,6 +153,15 @@ share/yorick/i0/matrix.i
share/yorick/i0/paths.i
share/yorick/i0/std.i
share/yorick/i0/stdx.i
+share/yorick/yorick.el
+%%PORTDOCS%%@unexec install-info --delete %D/info/yorick.info.gz %D/info/dir
+%%PORTDOCS%%info/yorick.info.gz
+%%PORTDOCS%%info/yorick.info-1.gz
+%%PORTDOCS%%info/yorick.info-4.gz
+%%PORTDOCS%%info/yorick.info-2.gz
+%%PORTDOCS%%info/yorick.info-5.gz
+%%PORTDOCS%%info/yorick.info-3.gz
+%%PORTDOCS%%@exec install-info %D/info/yorick.info.gz %D/info/dir
@dirrm share/yorick/i0
@dirrm share/yorick/i
@dirrm share/yorick/g