- Try to unbreak; it looks like r322706 left out another race, which happens

with -jX build: `libyor.a' is not built atomically, so depend on the cookie
  file that is dropped after all parts of libyor.a are completed (search for
  ``oinsert'' targets inside ${WRKSRC}/yorick/Makefile to get the idea)
- While here, fix/sort pkg-plist, cleanup the Makefile and port description,
  use relative symbolic links
This commit is contained in:
Alexey Dokuchaev 2014-04-11 05:42:36 +00:00
parent 2b1ed78dd4
commit cefd353c93
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=350891
3 changed files with 31 additions and 34 deletions

View File

@ -3,24 +3,22 @@
PORTNAME= yorick
PORTVERSION= 2.2.02
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= lang math
EXTRACT_SUFX= .tgz
MAINTAINER= johans@FreeBSD.org
COMMENT= Interpreted language for scientific simulations
USES= tar:tgz
USE_XORG= x11
MAKE_ARGS= Y_HOME=relocatable Y_DOCDIR=/dev/null
USE_GITHUB= yes
GH_ACCOUNT= dhmunro
GH_TAGNAME= y_${PORTVERSION:S/./_/g}
GH_COMMIT= 82e60dc
BROKEN= Fails to link
USE_XORG= x11
MAKE_ARGS= Y_HOME=relocatable Y_DOCDIR=/dev/null
INFO= yorick
PORTDOCS= FILE_FORMATS README drat.doc graph.doc hex.doc \
library.doc math.doc refs.pdf refs.tex std.doc \
yorick.pdf yorick.tex
@ -29,32 +27,33 @@ OPTIONS_DEFINE= DOCS
# Change "cd foo; $(MAKE)" into "$(MAKE) -C foo" to unbreak parallel builds
post-patch:
@${REINPLACE_CMD} -e 's|libyor\.a$$|libyor|' ${WRKSRC}/Makefile
@${REINPLACE_CMD} -E 's|cd (.+); (\$$\(MAKE\))|\2 -C \1|' \
${WRKSRC}/gist/Makefile ${WRKSRC}/play/Makefile \
${WRKSRC}/yorick/Makefile ${WRKSRC}/Makefile
@${REINPLACE_CMD} 's/-ldl[[:>:]]//' ${WRKSRC}/play/unix/config.sh
do-configure:
cd ${CONFIGURE_WRKSRC} && ${SETENV} ${MAKE_ENV} \
${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ysite config
cd ${CONFIGURE_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ysite config
post-build:
${MAKE} -C ${WRKSRC}/doc yorick.info
post-install:
${INSTALL_DATA} ${WRKSRC}/emacs/yorick.el ${WRKSRC}/relocatable
@${RM} -rf ${WRKSRC}/relocatable/doc
@${RM} -rf ${PREFIX}/lib/${PORTNAME}
@${RM} -rf ${WRKSRC}/relocatable/doc ${PREFIX}/lib/${PORTNAME}
@${MV} ${WRKSRC}/relocatable ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
.for f in gist yorick
${INSTALL_MAN} ${WRKSRC}/doc/${f}.1 ${STAGEDIR}${MANPREFIX}/man/man1
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/bin/${f}
@${LN} -sf ${PREFIX}/lib/${PORTNAME}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}
${LN} -sf ../lib/${PORTNAME}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}
.endfor
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/lib/codger
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}
@${LN} -sf ${DOCSDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/doc
${INSTALL_DATA} ${WRKSRC}/doc/yorick.info* ${STAGEDIR}${PREFIX}/${INFO_PATH}
${LN} -sf ../../${DOCSDIR_REL} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/doc
${INSTALL_DATA} ${WRKSRC}/doc/yorick.info* \
${STAGEDIR}${PREFIX}/${INFO_PATH}
.include <bsd.port.mk>

View File

@ -1,19 +1,20 @@
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
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.
* Scientific simulations or calculations
* Postprocessing or steering large simulation codes
* Interactive scientific graphics
* Reading, writing, and translating large files of numbers
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.
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.
This package includes an emacs-based development environment, which one
can launch by typing M-x yorick in emacs, if installed `yorick.el' have
been loaded into one's ~/.emacs file.
WWW: http://yorick.sourceforge.net/

View File

@ -1,5 +1,5 @@
bin/yorick
bin/gist
bin/yorick
lib/yorick/LICENSE.md
lib/yorick/Make.cfg
lib/yorick/Makedll
@ -7,7 +7,7 @@ lib/yorick/Makeexe
lib/yorick/Makepkg
lib/yorick/bin/gist
lib/yorick/bin/yorick
lib/yorick/doc
%%PORTDOCS%%lib/yorick/doc
lib/yorick/g/README
lib/yorick/g/axes.gs
lib/yorick/g/boxed.gs
@ -164,14 +164,11 @@ lib/yorick/lib/hex.so
lib/yorick/lib/install.grp
lib/yorick/lib/install.sh
lib/yorick/lib/libdep.sh
lib/yorick/lib/libdrat.a
lib/yorick/lib/libhex.a
lib/yorick/lib/libyor.a
lib/yorick/lib/main.o
lib/yorick/yorick.el
%%PORTDOCS%%lib/yorick/doc
man/man1/yorick.1.gz
man/man1/gist.1.gz
man/man1/yorick.1.gz
@dirrm lib/yorick/g
@dirrm lib/yorick/i0
@dirrm lib/yorick/i