debian/0000775000000000000000000000000012253225750007173 5ustar debian/rules0000775000000000000000000001265511773052453010270 0ustar #!/usr/bin/make -f DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) # start by saving the path to debian/rules (useful in get-orig-source) PATH_TO_DEBIAN := $(shell dirname $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))) ifneq (,$(filter $(DEB_HOST_ARCH), ia64)) DEB_CPPFLAGS_MAINT_APPEND = -DMM_MIN_ALIGNMENT=16 endif DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/buildflags.mk CFLAGS += $(CPPFLAGS) export CFLAGS # This has to be exported to make some magic below work. export DH_OPTIONS check: dh_testdir ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS))) # Untill 580524 is closed ifeq (,$(filter $(DEB_HOST_ARCH), ia64 hurd-i386 mips)) relocate/bin/yorick -batch debian/check.i endif endif configure: configure-stamp configure-stamp: dh_testdir make Y_HOME=relocate ysite chmod a+x debian/helpers/*.i touch configure-stamp BUILDDIR=../../build/ build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: configure-stamp dh_testdir $(MAKE) CDG_FLAGS="$(CFLAGS) $(LDFLAGS)" install -rm relocate/LICENSE $(MAKE) -C doc yorick.info mkdir -p build/share mkdir -p build/lib/yorick cp -a relocate build/share/yorick mv build/share/yorick/doc build cp debian/helpers/README build/doc mkdir -p build/share/yorick/packages/installed mv build/share/yorick/bin build/lib/yorick/ mv build/share/yorick/lib build/lib/yorick/ mkdir -p build/yorick-dev/share/yorick/ mkdir -p build/yorick-dev/lib/yorick/lib/ mv build/share/yorick/Make* build/yorick-dev/share/yorick/ mv build/share/yorick/include build/yorick-dev/share/yorick/ cd build/lib/yorick/lib; \ mv codger install.grp install.sh libdep.sh libyor.a main.o \ $(CURDIR)/build/yorick-dev/lib/yorick/lib cp emacs/yorick-auto.el build/50yorick-auto.el convert icons/yicon32.png build/yorick32x32.xpm convert icons/yicon16.png build/yorick16x16.xpm $(MAKE) -C doc/html BUILDDIR=$(BUILDDIR) manual refcard $(BUILDDIR)doc/README.html $(BUILDDIR)doc/images/triangle3.jpg $(BUILDDIR)doc/skull.css cp doc/html/packinfo.txt build/00yorick.packinfo cp doc/html/keywords.txt build/00yorick.keywords cp doc/html/aliases.txt build/00yorick.aliases touch build-stamp build-mpy-stamp: build-stamp cp -a mpy mpy.mpich2 (cd mpy.mpich2 ; \ ./configure --yorick=../relocate/bin/yorick --mpicc=mpicc.mpich2 ; \ $(MAKE)) mv mpy.mpich2/mpy mpy.mpich2/mpy.mpich2 mv mpy.mpich2/libmpy.a mpy.mpich2/libmpy.mpich2.a mv mpy.mpich2/Makempy mpy.mpich2/Makempy.mpich2 mv mpy.mpich2/mpymain.o mpy.mpich2/mpymain.mpich2.o ifeq ($(wildcard /usr/bin/mpicc.openmpi), /usr/bin/mpicc.openmpi) cp -a mpy mpy.openmpi (cd mpy.openmpi ; \ ./configure --yorick=../relocate/bin/yorick --mpicc=mpicc.openmpi ; \ $(MAKE)) mv mpy.openmpi/mpy mpy.openmpi/mpy.openmpi mv mpy.openmpi/libmpy.a mpy.openmpi/libmpy.openmpi.a mv mpy.openmpi/Makempy mpy.openmpi/Makempy.openmpi mv mpy.openmpi/mpymain.o mpy.openmpi/mpymain.openmpi.o endif touch build-mpy-stamp clean-mpy: rm -Rf build-mpy-stamp mpy.mpich2 mpy.openmpi clean: configure-stamp clean-mpy dh_testdir rm -Rf build-stamp configure-stamp build relocate touch Make.cfg $(MAKE) -C doc/html clean $(MAKE) distclean # $(MAKE) Y_HOME=. ysite dh_clean # Must not depend on anything. This is to be called by # binary-arch/binary-indep # in another 'make' thread. binary-common: dh_testdir dh_testroot dh_prep dh_installdirs dh_install dh_installchangelogs dh_installdocs dh_installexamples dh_installmenu dh_installinfo dh_installdebconf dh_installman dh_link dh_strip -pyorick --dbg-package=yorick-dbg dh_strip -pyorick-dev -pyorick-mpy-openmpi -pyorick-mpy-mpich2 dh_usrlocal dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # Build architecture independant packages using the common target. #binary-indep: build-indep install-indep binary-indep: build-stamp $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common # Build architecture dependant packages using the common target. binary-arch: build-mpy-stamp check $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common ###### Getting the original source: Y_FULL_VERS:=$(shell dpkg-parsechangelog -l$(PATH_TO_DEBIAN)/changelog | grep Version | sed 's/Version: //' | sed 's/-[0-9].*//') Y_VERS:=$(subst +dfsg,,$(Y_FULL_VERS)) GIT_TAG:=y_$(subst .,_,$(Y_VERS)) GIT_REPO=git://github.com/dhmunro/yorick.git # Non-DFSG-free files (see copyright): PRUNEFILES:=play/hacks/hack103.c i/idlsave.i opengl # make orig.tar.bz2 from current source dir, pruning PRUNEFILES orig-txz: rm -Rf $(PRUNEFILES) cd .. ; \ mv `basename $(CURDIR)` yorick-$(Y_FULL_VERS) ; \ tar cvf - yorick-$(Y_FULL_VERS) --exclude=.pc --exclude=.git \ --exclude=yorick-$(Y_FULL_VERS)/debian --exclude=.gitignore \ | xz > yorick_$(Y_FULL_VERS).orig.tar.xz get-orig-source: -rm -Rf ../orig-sources mkdir ../orig-sources cd ../orig-sources ; \ git clone $(GIT_REPO) ; \ cd yorick ; \ git checkout $(GIT_TAG) ; \ rm -Rf $(PRUNEFILES) -rm -Rf ../yorick-$(Y_VERS) mv ../orig-sources/yorick ../yorick-$(Y_VERS)+dfsg rm -Rf ../orig-sources cd ..; tar cf - --exclude=.git --exclude=.gitignore \ yorick-$(Y_VERS)+dfsg | \ xz > yorick_$(Y_VERS)+dfsg.orig.tar.xz gitclean: clean -quilt pop -a if test -e .pc ; then \ cd .pc ; \ rm .quilt_patches .quilt_series .version ; \ cd .. ; rmdir .pc ; \ fi binary: binary-arch binary-indep .PHONY: build-arch build-indep build clean binary-indep binary-arch binary \ configure clean-mpy gitclean debian/yorick.preinst0000664000000000000000000000155111770117412012101 0ustar #!/bin/sh set -e case "$1" in install|upgrade) # older (unofficial) versions of yorick 2.x shipped with the package # manager but no debian-friendly setup. Users that have used pkg_mngr # with this configuration have automatically created a pkg_setup.i file # we'd like them to get rid of. All this mess can certainly disappear # at lenny+1. if [ -e /usr/lib/yorick/packages/pkg_setup.i ] && [ ! -h /usr/lib/yorick/packages/pkg_setup.i ]; then [ -e /etc/yorick/packages ] || mkdir -p /etc/yorick/packages if [ -e /etc/yorick/packages/pkg_setup.i ]; then mv /etc/yorick/packages/pkg_setup.i \ /etc/yorick/packages/pkg_setup.i.dpkg-bak fi mv /usr/lib/yorick/packages/pkg_setup.i \ /etc/yorick/packages/pkg_setup.i rm -f /etc/yorick/packages/pkg_setup_may_use_Y_HOME || true fi ;; esac #DEBHELPER# debian/watch0000664000000000000000000000020411770117412010216 0ustar version=3 opts=dversionmangle=s/\+dfsg$//,uversionmangle=s/_/./g \ https://github.com/dhmunro/yorick/tags .*/tarball/y_(\d[\d\_]+) debian/yorick.postinst0000664000000000000000000000021211770117412012271 0ustar #!/bin/sh set -e if [ "$1" = "configure" ] && [ -x "`which update-yorickdoc 2>/dev/null`" ]; then update-yorickdoc --auto fi #DEBHELPER# debian/yorick-doc.install0000664000000000000000000000030011770117412012615 0ustar debian/helpers/update-yorickdoc usr/bin debian/etc/yorick-doc etc doc/html/template.html usr/share/yorick-doc doc/html/texi2html.tpl usr/share/yorick-doc build/00yorick.* usr/share/yorick-doc debian/yorick-doc.manpages0000664000000000000000000000004211770117412012745 0ustar debian/helpers/update-yorickdoc.1 debian/check.i0000664000000000000000000000137311770117412010424 0ustar /* * $Id: check.i,v 1.1 2009/12/02 16:01:03 paumard Exp $ * This file runs a full set of tests on the Macintosh version * of yorick, although it should be also useful for any other version. */ /* Copyright (c) 2005, The Regents of the University of California. * All rights reserved. * This file is part of yorick (http://yorick.sourceforge.net). * Read the accompanying LICENSE file for details. */ /* run all tests in testp.i */ skip_testb= 0; skip_test1= 0; skip_test2= 0; skip_test3= 0; /* use the same pass count for all tests */ npass= 20; /* run the parser test */ #include "testp.i" /* Run the tests of the math library routines */ #include "testm.i" testm; /* Run the linpack benchmark */ #include "testlp.i" testlp, 200; write, ""; quit; debian/changelog0000664000000000000000000003776312253225747011073 0ustar yorick (2.2.02+dfsg-6ubuntu2) trusty; urgency=medium * No-change rebuild for libopenmpi1.3 -> libopenmpi1.6 transition. -- Logan Rosen Sat, 14 Dec 2013 23:11:12 -0500 yorick (2.2.02+dfsg-6ubuntu1) saucy; urgency=low * Add armhf to the list of arches that don't build yorick-av. -- Adam Conrad Thu, 10 Oct 2013 00:26:44 -0600 yorick (2.2.02+dfsg-6) unstable; urgency=low * yorick-full Depends: on yorick-svipc and yorick-gyoto -- Thibaut Paumard Sat, 30 Jun 2012 07:41:29 +0200 yorick (2.2.02+dfsg-5) unstable; urgency=low * Fortify (make sure CPPFLAGS end up in Make.cfg) -- Thibaut Paumard Thu, 28 Jun 2012 15:04:40 +0200 yorick (2.2.02+dfsg-4) unstable; urgency=low * Mention yorick-full in yorick's package description * Shorten yorick's suggest to only yorick-full and what it doesn't provide * Suggest yorick-svipc and yorick-gyoto in yorick-full -- Thibaut Paumard Tue, 26 Jun 2012 10:16:17 +0200 yorick (2.2.02+dfsg-3) unstable; urgency=low * Move maintenance to the debian-science team. Update debian/control to comply with their policy: + change Maintainer, put self in Uploaders; + DM-Upload-Allowed: yes; + fill-in Vcs-* fields; + Priority is extra. * update README.source accordingly * Bug fix: "p_malloc uses wrong alignment on ia64", introducing patch fix-weird-alignment (Closes: #678276). * Bug fix: "re-enable testsuite on hppa", thanks to dann frazier (Closes: #584136). -- Thibaut Paumard Wed, 20 Jun 2012 17:10:58 +0200 yorick (2.2.02+dfsg-2) unstable; urgency=low * Add yorick-full metapackage * Fix lintian warning about codger not being compiled with hardenned LDFLAGS. -- Thibaut Paumard Wed, 13 Jun 2012 15:23:45 +0200 yorick (2.2.02+dfsg-1) unstable; urgency=low * New upstream release * Bump standards version to 3.9.3 -- Thibaut Paumard Sun, 15 Apr 2012 12:45:43 +0200 yorick (2.2.01+dfsg-2) unstable; urgency=low * Add yorick-dbg package * Add Vcs-Git and Vcs-Browser control fields * Update list of achitectures for openmpi * include /usr/share/dpkg/buildflags.mk in debian/rules -- Thibaut Paumard Tue, 27 Sep 2011 11:51:07 +0200 yorick (2.2.01+dfsg-1) unstable; urgency=low * New upstream from git repository (tagged release) * Fix lintian warnings (bump standards version) -- Thibaut Paumard Mon, 26 Sep 2011 22:10:42 +0200 yorick (2.2.00+dfsg+cvs20100907-1) experimental; urgency=low * New upstream release from CVS: experimental object-oriented features. See http://yorick.sourceforge.net/phpBB2/viewtopic.php?t=299 * Check against policy 3.9.1 -- Thibaut Paumard Wed, 08 Sep 2010 17:41:17 +0200 yorick (2.1.06+dfsg-2) unstable; urgency=low * Deactivate check suite on MIPS due to bug #580524. -- Thibaut Paumard Thu, 06 May 2010 17:47:18 +0200 yorick (2.1.06+dfsg-1) unstable; urgency=low * New upstream release -- Thibaut Paumard Mon, 19 Apr 2010 10:56:52 +0200 yorick (2.1.05+dfsg+cvs20100408-1) unstable; urgency=low * New upstream (many new functions from YETI) * Removed two patches applied upstream (debian/patches/mpy*) -- Thibaut Paumard Thu, 08 Apr 2010 17:18:27 +0200 yorick (2.1.05+dfsg+cvs20100318-1) unstable; urgency=low * New upstream * Build additional yorick-mpy-* packages * Fix spelling errors in manpages -- Thibaut Paumard Tue, 23 Mar 2010 16:55:43 +0100 yorick (2.1.05+dfsg+cvs20091202-2) unstable; urgency=low * Desactivate check on hppa, hurd-i386 and ia64. On those three architectures, there remains a bug to fix, see 559406 and 560026. -- Thibaut Paumard Tue, 08 Dec 2009 14:19:22 +0100 yorick (2.1.05+dfsg+cvs20091202-1) unstable; urgency=low * New upstream from CVS: - initial support for interpreting code stored in a string array (see include()) - new set_gpath() function for setting the path for .gs and .gp files * Use 3.0 (quilt) format * Reformat debian/copyright in the DEP-3 spirit -- Thibaut Paumard Sat, 28 Nov 2009 20:44:19 +0100 yorick (2.1.05+dfsg-7) unstable; urgency=low * Adapt doc build system to texi2html 1.82 thanks to Lucas Nussbaum (Closes: #552966). * Checked against policy 3.8.3. -- Thibaut Paumard Sun, 15 Nov 2009 15:32:31 +0100 yorick (2.1.05+dfsg-6) unstable; urgency=low * Bug fix: "yorick-dev: make debug generates 'undefined reference to main' error", thanks to Alan W. Irwin (Closes: #490597). -- Thibaut Paumard Tue, 15 Jul 2008 15:04:56 +0200 yorick (2.1.05+dfsg-5) unstable; urgency=low * Add triggers support to yorick-doc: * add triggers control file; * rename --auto option of update-yorickdoc to --auto-now; * add new --auto option which makes update-yorickdoc a no-op on systems where dpkg-trigger exists and else falls back to the same as --auto-now; * change dh_installyorick to not modify maintainer scripts by default, use -m option to force it. * Add a draft policy document in yorick-dev. -- Thibaut Paumard Sun, 18 May 2008 23:14:45 +0200 yorick (2.1.05+dfsg-4) unstable; urgency=low * Bug fix: "update-yorickdoc crashes when parsing UTF-8 files", thanks to Aaron M. Ucko, Dave Munro and Arnaud Sevin (Closes: #463746). The fix consist in patching the strtok function, which now behaves well on UTF-8 strings. * Move menu entry to Applications/Science/Data Analysis. * Move doc-base entry to Science/Data Analysis. * Update-yorickdoc: + Add --quiet/--verbose options and short options (-a, -p, -v, -q). + Ignore $HOME/.yorick-doc for the root user, else problems happen when using sudo. + update-yorickdoc now creates $TO directory if needed and gives usage notice if called with unkown arguments (e.g. --help). * Remove obsolete linda overrides and yorick-almost-everything files from source package. -- Thibaut Paumard Fri, 14 Mar 2008 14:57:16 +0100 yorick (2.1.05+dfsg-3) unstable; urgency=low * Convert from dpatch to quilt. * Re-introduce -dSAFER in EPSGS_CMD. Fixes wrong bounding boxes when using the eps et al. functions. (Closes: #468336). * Strip main.o in yorick-dev. * Add longtitle to Debian menu item. -- Thibaut Paumard Thu, 28 Feb 2008 16:38:53 +0100 yorick (2.1.05+dfsg-2) unstable; urgency=low * debian/copyright: fixed typo in download information: y_2_1_04 -> y_2_1_05 * debian/control: add XS-DM-Upload-Allowed field * fix a regression: pkginst.i now installs correctly again the infofile specified on the command-line. -- Thibaut Paumard Thu, 10 Jan 2008 13:43:45 +0100 yorick (2.1.05+dfsg-1) unstable; urgency=low * update to cvs. * add linda and lintian overrides. * add data, python and glade directories. * add watch file * aknowledging Ubuntu fix to debian/helpers/pkginst.i (closes: #459137, #459138, #459142, #459143, #459144, #459145). * new yorick-doc package. * move most txt and pdf documentation there. * add html documentation. * add update-yorickdoc command. * large development of pkginst.i from yorick-dev: * add dh_installyorick link to this file, which now behaves like a debhelper script. * add lines in maintainer scripts to call update-yorickdoc. * add code in yorick-data.postrm to purge /etc/yorick if necessary (closes: #454387). -- Thibaut Paumard Mon, 7 Jan 2008 15:43:38 +0100 yorick (2.1.04+dfsg-1ubuntu1) hardy; urgency=low [ Thibaut Paumard ] * debian/helpers/pkginst.i: fix bashism which leads packages which build-depend on yorick-dev to FTBFS. [ Luca Falavigna ] * debian/control: update Maintainer script as per spec -- Luca Falavigna Thu, 06 Dec 2007 19:59:25 +0100 yorick (2.1.04+dfsg-1) unstable; urgency=low * new upstream release. * added link from /usr/lib/yorick/LICENSE to /usr/share/doc/yorick/copyright. Closes: #399191 * minor doc corrections. Closes: #399192 * improved emacs integration. If .i files have no association yet, they get associated to yorick-mode. Closes: #399193 * modified dependencies for binNMU-safeness. Closes: #435966 * menu entry updated to new hierarchy, yorick is now found in Applications/Science/Mathematics. * installation scripts updated to use debconf for prompting. * if /usr/lib/yorick/packages/pkg_setup.i exists, it is moved to /etc/yorick/packages/. The link normal link is now part of the package. -- Thibaut Paumard Thu, 20 Sep 2007 10:33:53 +0200 yorick (2.1.01cvs20060706-1) unstable; urgency=low * new maintainer. Closes: #357679 * acknowledged NMU. Closes: #346861 * upgrade to cvs ("2.1.02"), many new features, see ONEWS for changes Closes: #333074, #367895 * fixed doc. Closes: #250903, #306726 * package revamped: * now builds a "relocatable" tree with Y_SITE=Y_HOME=/usr/lib/yorick (see README.Debian); request from DH Munro (upstream author and former maintainer); * split package into yorick, yorick-data and yorick-dev; * yorick is now accessible through the Debian menu; * system-wide configuration can now be done in /etc/yorick/, user-wide in ~/.yorick/i-start/; * now always installs the emacs helpers (yorick.el and yorick-auto.el); * idlsave.i removed due to copyright issues. * repackaged with debhelper (Closes: #372975) -- Thibaut Paumard Thu, 06 Jul 2006 13:28:54 +0200 yorick (1.5.14-1.1) unstable; urgency=high * Non-maintainer upload. * Split xlibs-dev build-dep (Closes: #346861). -- Luk Claes Mon, 9 Jan 2006 19:46:59 +0100 yorick (1.5.14-1) unstable; urgency=low * fixed info manual long ago (Closes: #75177) * upgrade to 1.5.14, see NEWS for changes -- David H. Munro Wed, 8 Oct 2002 16:38:57 -0800 yorick (1.5.12-1) unstable; urgency=low * upgrade to 1.5.12, see NEWS for changes -- David H. Munro Thu, 21 Nov 2002 16:38:57 -0800 yorick (1.5.10-1) unstable; urgency=low * added -geometry switch to gist (Closes: #150115) * fixed gist font orientation (Closes: #150110) * reworded gist "partly illegible" warning (Closes: #150093) * (the warning is not bogus, a file with cell arrays really * would be partly illegible) * numerous other more serious bug fixes, see NEWS -- David H. Munro Mon, 1 Jul 2002 15:12:04 -0800 yorick (1.5.08-1) unstable; urgency=low * 1.5.08 replaces infant mortality 1.5.07, see NEWS -- David H. Munro Mon, 4 Feb 2002 08:47:40 -0800 yorick (1.5.07-1) unstable; urgency=low * renumber version to accomodate binary file change in upstream source * numerous bug fixes, see NEWS file -- David H. Munro Mon, 28 Jan 2002 09:15:46 -0800 yorick (1.5-06) unstable; urgency=low * private release, never uploaded -- David H. Munro Fri, 25 Jan 2002 15:12:26 -0800 yorick (1.5-05) unstable; urgency=low * private release, never uploaded -- David H. Munro Fri, 25 Jan 2002 15:11:44 -0800 yorick (1.5-04) unstable; urgency=low * repair debian problems (Closes: #116588) -- David H. Munro Mon, 22 Oct 2001 15:11:07 -0700 yorick (1.5-03) unstable; urgency=low * fixes many bugs in 1.5-02, see NEWS file -- David H. Munro Fri, 19 Oct 2001 15:11:07 -0700 yorick (1.5-02) frozen unstable; urgency=low * repairs debian/control (Closes: #105154) -- David H. Munro Thu, 19 Jul 2001 15:11:07 -0700 yorick (1.5-01) unstable; urgency=low * version 1.5.01 upstream release -- David H. Munro Sat, 5 May 2001 12:45:38 -0700 yorick (1.4-15) unstable; urgency=low * resync 1.4-14.2 with upstream sources -- David H. Munro Wed, 2 May 2001 14:27:45 -0700 yorick (1.4-14.2) unstable; urgency=low * NMU * Package is orphaned: maintainer set to the Debian QA Group, which acknowledges the previous NMU. (Closes: #91102, #91103, #91726, #91727, #91728) * Maintainer stated in the entry for yorick 1.4-13 that he had dealt with bugs 30857, 37405, 37587 and 39814, therefore I'm assuming he forgot to close them. (Closes: #30857, #37405, #37587, #39814) -- Carlos Laviola Sat, 21 Apr 2001 00:41:26 -0300 yorick (1.4-14.1) unstable; urgency=low * NMU * Yorick/doc/yorick.tex: Typo is fixed (Closes: #75177) * debian/rules: replaced every reference of /usr/{doc,man} with the proper paths, which are /usr/share/{doc,man} now. (Closes: #91102, #91103, #91726, #91727, #91728) * Upped Standards-Version to 3.5.2. -- Carlos Laviola Mon, 16 Apr 2001 21:41:45 -0300 yorick (1.4-14) frozen unstable; urgency=low * fix unsigned char parsing problems, other minor fixes -- David H. Munro Mon, 17 Apr 2000 14:00:10 -0700 yorick (1.4-13) unstable; urgency=low * deal with bugs 30857 37405 37587 39814 -- David H. Munro Fri, 30 Jul 1999 11:06:19 -0700 yorick (1.4-12) stable unstable; urgency=low * attempt to cope with slink and potato problems -- David H. Munro Wed, 28 Apr 1999 10:30:17 -0700 yorick (1.4-11) frozen unstable; urgency=low * fixed bogus xdevel virtual package dependency -- David H. Munro Thu, 17 Dec 1998 09:48:48 -0800 yorick (1.4-10) frozen unstable; urgency=low * many bug fixes, see NEWS file -- David H. Munro Mon, 7 Dec 1998 10:39:08 -0800 yorick (1.4-9) unstable; urgency=low * fixes bugs with rotated text and other graphics -- David H. Munro Fri, 10 Apr 1998 08:21:56 -0700 yorick (1.4-8) unstable; urgency=low * added copyright for yorick-dev, upstream bug fixes -- David H. Munro Tue, 17 Mar 1998 12:21:04 -0800 yorick (1.4-7) unstable; urgency=low * fix double-align problem for x2 speedup of fft, matrix ops -- David H. Munro Wed, 4 Feb 1998 17:19:27 -0800 yorick (1.4-6) unstable; urgency=low * rebuilt with libc6 and xlib6g for hamm -- David H. Munro Thu, 15 Jan 1998 18:20:14 -0800 yorick (1.4-5) unstable; urgency=low * upstream bug fixes thru 7/Nov/97 patch -- David H. Munro Fri, 7 Nov 1997 17:12:23 -0800 yorick (1.4-4) unstable; urgency=low * many small bug fixes and improvements -- David H. Munro Tue, 7 Oct 1997 10:48:08 -0700 yorick (1.4-3) unstable; urgency=low * Fixed package description to conform with debian-policy. -- David H. Munro Tue, 29 Apr 1997 09:23:08 -0700 yorick (1.4-2) unstable; urgency=low * fixed Gist/ps.ps, Yorick/ascio.c, yorick-dev and g77 dependencies -- David H. Munro Thu, 10 Apr 1997 11:49:39 -0700 yorick (1.4-1) unstable; urgency=low * New 1.4 version -- David H. Munro Tue, 18 Mar 1997 17:56:14 -0800 yorick (1.3-3) unstable; urgency=low * install through patch-4 on ftp-icf.llnl.gov:/pub/Yorick -- David H. Munro Fri, 17 Jan 1997 14:11:51 -0800 yorick (1.3-2) unstable; urgency=low * Upgraded to debstd technology, included yorick-1.3-patch-1. -- David H. Munro Fri, 3 Jan 1997 15:14:46 -0800 yorick (1.3-1) unstable; urgency=low * Initial Release. -- David H. Munro Thu, 2 Jan 1997 12:38:08 -0800 debian/yorick.docs0000664000000000000000000000004411770117412011341 0ustar ONEWS debian/README.Debian.packages debian/yorick-mpy-openmpi.prerm0000664000000000000000000000020311770117412014003 0ustar #!/bin/sh set -e #DEBHELPER# if [ "$1" != "upgrade" ]; then update-alternatives --remove mpy /usr/bin/mpy.openmpi fi exit 0 debian/yorick-mpy-common.examples0000664000000000000000000000001511770117412014316 0ustar mpy/testmp.i debian/compat0000664000000000000000000000000211770117412010367 0ustar 7 debian/yorick-doc.docs0000664000000000000000000000001411770117412012101 0ustar build/doc/* debian/README.source0000664000000000000000000000260611770117412011354 0ustar This package uses quilt to manage all modifications to the upstream source. Changes are stored in the source package as diffs in debian/patches and applied during the build. See /usr/share/doc/quilt/README.source for usage. It is maintained on Alioth: git://git.debian.org/git/debian-science/packages/yorick.git The branches are set as follows: - upstream-non-dfsg is a direct copy of upstream's master branch at git://github.com/dhmunro/yorick.git - upstream is the same with the following files or directories removed: play/hacks/hack103.c i/idlsave.i opengl/ - master is a merge of upstream with the debian changes and the debian/ directory - pristine-tar holds the files needed by the eponymous utility The tags are as follows: - We inherit (non-dfsg) upstream release tags of the form y_x_y_zz; - We use upstream/x.y.zz+dfsg for the corresponding DFSG-free release; - The Debian revisions are tagged debian/x.y.zz+dfsg-n. Since this package uses quilt, the "upstream" and "master" branches should remain identical except for the debian directory. The quilt patches should be applied before building (in case one of them modifies a file later modified during built) and the source should be cleaned and unpatched commiting to git. This can be done with: fakeroot debian/rules gitclean. -- Thibaut Paumard , Tue, 19 Jun 2012 15:07:02 +0200 debian/yorick-doc.triggers0000664000000000000000000000013211770117412013000 0ustar interest /usr/share/yorick-doc interest /usr/share/yorick/i interest /usr/share/yorick/i0 debian/yorick-policy0000664000000000000000000001375011770117412011717 0ustar Yorick for Debian Packaging Policy ================================== This document drafts the best practices/policy for Yorick and add-on packages. Concensus on has been easy to reach since there is so far mostly one person involved, although at times I have to argue fiercely with myself and have been edging on the verge of self-inflicted flame-war. In fact, I am just aiming at documenting hereby how I do things. Other relevant documents ------------------------ /usr/share/doc/yorick/README.Debian*, man dh_installyorick, man update-yorickdoc, Yorick source README. File layout ----------- After discussions with David Munro (primary upstream author of Yorick), I have made the Debian packages relocatable and install it under Y_SITE=Y_HOME=/usr/lib/yorick. There are mainly two reasons for it: - David plans on deprecating the Y_SITE/Y_HOME dichotomy and on supporting only relocatable builds at some point; - this makes is reasonably easy for a sysadmin to save a working version of Yorick to somewhere under /usr/local for instance, before a major, potentially incompatible upgrade (or even after, since they are supposed to back-up their systems!). Installing under something like /usr/lib/yorick/2.1 for instance looked like an unnecessary burden to me. However, the Debian policy, following the FHS, specifies that arch-indep files should be installed under /usr/share. This is the case of many files in Yorick and its add-ons: the interpreted libraries (.i files), the GIST (graphic) files (.gp and .gs), python scripts and glade files for packages which peruse a fancy GUI... So indeed those files are installed under /usr/share/yorick and linked to from /usr/lib/yorick. The yorick-dev package provides the command dh_installyorick, which any yorick add-on should use. It handles installation of files under various subdirectories of /usr/lib/yorick and /usr/share/yorick, so add-on package maintainers don't need to deal with the nasty details (and should not, as they may change). However, here they are: /usr/share/yorick all arch-indep files for yorick and add-ons. /usr/share/yorick/data misc data files for add-ons (no example in mind, this is a provision should a maintainer need it). /usr/share/yorick/include C include files /usr/share/yorick/python Python scripts, usually for software coded in Yorick with a GUI coded in Python+glade. /usr/share/yorick/i Yorick interpreted functions (.i files) /usr/share/yorick/i/debian Debian-specific .i files, used in dh_installyorick for instance. /usr/share/yorick/i-start Initialization .i files for packages, mostly used for autoload statements. /usr/share/yorick/g Gist fils (.gs and .gp) /usr/share/yorick/i0 Yorick bindings for compiled code (e.g. .i files containing a plug_in statement). /usr/share/yorick/packages Files for pkg_mngr.i /usr/share/yorick/packages/installed .info files (see below) for packages installed under Y_SITE/Y_HOME. /usr/share/yorick/glade Glade files defining GUIs for Yorick software. /usr/lib/yorick/ Yorick. This is Y_SITE and Y_HOME as perceived from within yorick. All the files and directories directly under /usr/share/yorick/ are linked to from here. Some files under /usr/share/doc/ are also linked to from here. /usr/lib/yorick/bin/ Binaries and executable scripts that need to be here (e.g. yorick itself and gist), or that should not be in the path. It is fine to put any executable file here, with or without a link from e.g. /usr/bin. Currently, stand-alone programs coded in Yorick are directly put in /usr/bin, but it could be nice to put them here with a link in /usr/bin. /usr/lib/yorick/lib/ .so files, mostly compiled plug-ins. Also object files and libraries (.o, .so and .a files) as well as support executables (codger, shell scripts) used for compiling plug-ins and custom yorick executables. /usr/share/yorick-doc/ Files used by update-yorickdoc for building the HTML documentation. Each add-on package should put at least a .packinfo file here, and may add .keywords and .aliases files as needed. /etc/yorick/ Customization files. Some programs which use Yorick have their own file directly under /etc/, but if possible, this should be avoided. However, only packages with a strong dependency on Yorick should put anything under /etc/yorick, since this directory will be forcibly deleted when purging the yorick package. yorick-doc, for instance, must survive a yorick purge, and therefore has its own /etc/yorick-doc. Mandatory files --------------- Each add-on package should provide: - one or several autoload file(s) named after the package (keep upstream name if it exists already; - a .info file, so that pkg_mngr knows what add-ons are installed in Y_SITE; this makes it easier for users to use pkg_mngr to install additional add-ons in their home directories; - one or several .packinfo file(s) for update-yorickdoc, possibly accompanied by .keywords and .aliases files. dh_installyorick should be used to manage installation of these files where they belong, refer to its manpage for more details. Maintainer scripts ------------------ During Lenny development, the add-on packages used to call "update-yorickdoc -a" in their postinst and postrm scripts. Regeneration of HTML pages is now automatically triggered whenever the content of any of these directories changes during package unpack: /usr/share/yorick-doc /usr/share/yorick/i /usr/share/yorick/i0 Therefore, the "update-yorickdoc -a" call is not necessary anymore, and should be removed as soon as convenient. Since these lines are normally added by dh_installyorick, a simple rebuild is sufficient. However, if a package modifies any of these directories during postinst or postrm, it should trigger the regeneration by calling explicitely dpkg-trigger on this directory. -- Thibaut Paumard Fri, 18 May 2008 08:06:43 +0200 debian/yorick-mpy-mpich2.install0000664000000000000000000000036611770117412014051 0ustar mpy.mpich2/mpy.mpich2 /usr/lib/yorick/bin/ mpy.mpich2/libmpy.mpich2.a /usr/lib/yorick/lib/ mpy.mpich2/mpymain.mpich2.o /usr/lib/yorick/lib/ mpy.mpich2/Makempy.mpich2 /usr/share/yorick/ debian/yorick-mpy-openmpi.postinst0000664000000000000000000000072111770117412014546 0ustar #!/bin/sh set -e update-alternatives --install /usr/bin/mpy mpy /usr/bin/mpy.openmpi 40 \ --slave /usr/lib/yorick/lib/libmpy.a libmpy.a \ /usr/lib/yorick/lib/libmpy.openmpi.a \ --slave /usr/lib/yorick/lib/mpymain.o mpymain.o \ /usr/lib/yorick/lib/mpymain.openmpi.o \ --slave /usr/lib/yorick/Makempy Makempy \ /usr/lib/yorick/Makempy.openmpi #DEBHELPER# exit 0 debian/yorick-doc.doc-base0000664000000000000000000000072211770117412012634 0ustar Document: yorick-doc Title: Yorick Documentation Author: David Munro Abstract: Yorick documentation consists of the Yorick Manual, quick reference cards, and the indexed and cross-referenced documentation for all Yorick and add-on functions installed on this system. Section: Science/Data Analysis Format: HTML Index: /usr/share/doc/yorick-doc/README.html Files: /usr/share/doc/yorick-doc/README.html /usr/share/doc/yorick-doc/*/* /usr/share/doc/yorick-doc/*.css debian/yorick-doc.postrm0000664000000000000000000000040211770117412012476 0ustar #!/bin/sh set -e case $1 in remove) if [ -x "`which update-yorickdoc 2>/dev/null`" ]; then update-yorickdoc --auto fi ;; purge) if [ -e "/usr/share/doc/yorick-doc" ]; then rm -Rf /usr/share/doc/yorick-doc fi ;; esac #DEBHELPER# debian/yorick.install0000664000000000000000000000022011770117412012053 0ustar build/lib usr debian/etc/yorick etc build/50yorick-auto.el etc/emacs/site-start.d debian/lintian-overrides.d/yorick usr/share/lintian/overrides debian/yorick-mpy-openmpi.links0000664000000000000000000000027111770117412014003 0ustar /usr/lib/yorick/bin/mpy.openmpi /usr/bin/mpy.openmpi /usr/share/yorick/Makempy.openmpi /usr/lib/yorick/Makempy.openmpi /usr/share/man/man1/mpy.1.gz /usr/share/man/man1/mpy.openmpi.1.gz debian/yorick-data.install0000664000000000000000000000036211770117412012771 0ustar build/share usr debian/zzdebian.i usr/share/yorick/i-start emacs/yorick.el usr/share/emacs/site-lisp build/yorick*.xpm usr/share/pixmaps debian/lintian-overrides.d/yorick-data usr/share/lintian/overrides doc/html/htmldoc.i usr/share/yorick/i debian/yorick.README.Debian0000664000000000000000000000773111770117412012541 0ustar Yorick for Debian ----------------- This is the `Yorick' interpreted language by David H. Munro, prepackaged for Debian GNU/Linux. This package was put together by Thibaut Paumard from the sourceforge CVS sources. The changes are regularly committed back to the CVS. 1) Documentation 2) Configuration 3) Add-ons 4) Relocation 5) Suppressed material 6) Additional documentation 1) Documentation ---------------- The homepage is full-featured with an active forum, bug-tracker etc. http://yorick.sourceforge.net Install the yorick-doc package for off-line documentation. It contains the Yorick Manual and Quick-Reference Cards in HTML and PDF formats, as well as HTML documentation for all the Yorick functions installed on your system. By default, this documentation is updated each time you install, update, or remove Yorick or a Yorick add-on package. See the `update-yorickdoc'command in the yorick-doc package if this is not what you want, or if this does not work for some reason. 2) Configuration: ----------------- * System-wide: Any .i script found in /etc/yorick/ will be sourced by Yorick on start-up (in alphabetic order). Use this for system-wide configuration. * Per-user: Each user can have one user directory, one of ~/.yorick, ~/yorick and ~/Yorick. If you have several of them and want to know which one Yorick is using , look at the Y_USER variable. Any .i script found in Y_USER/i-start/ will be sourced by Yorick on start-up (in alphabetic order). This can be used for user-level configuration. Additionally, Yorick will look for custom.i in the path. This can be used for "task-level" customizations by putting a custom.i in the directory from which you start Yorick for a given task. 3) Add-ons: ----------- There are useful interpreted libraries as well as compiled plug-ins available around the net (see e.g. http://www.maumae.net), some of which are packaged for Debian. By default, the Debian package of Yorick is configured in such way that its package manager (pkg_mngr.i) will install packages under /usr/local/lib/yorick. See README.Debian.packages for details. Users can take inspiration from this file to install packages in their home directories. 4) Relocation: -------------- This build of Yorick is relocatable. This means that you can keep a functional copy of this version e.g. before upgrading by simply copying the entire /usr/lib/yorick directory anywhere. If you do that: - make sure you dereference symbolic links (-L option to cp); - you may want to remove i-start/zzdebian.i, which makes an `include_all,"/etc/yorick";'; - you may also want to have a look at packages/pkg_setup.i and check whether it does something useful for you (you probably want to delete it). - the yorick binary is in bin/; you may set up a symbolic link, but you cannot change the layout of the directory tree or move the real executable out. 5) Suppressed material ---------------------- Due to some copyright incompatibilities, a few files have been removed from the upstream source. Most of them do not get used in the standard Linux build anyway and are therefore useless for the Debian package (see copyright file for details). The exception is idlsave.i, that can be used to read "save" files from the commercial software Interactive Data Language (IDL) from Research System Inc. (RSI). It is legal for an IDL user to use and distribute this file, but it might be problematic for Debian to ship it. If you need to exchange data between IDL and Yorick, I suggest you look at a standard file format: FITS is supported out-of-the-box by Yorick, HDF5 thanks to the yorick-hdf5 plug-in. If you really need idlsave.i, grab it from the CVS web interface, as of writing: http://yorick.cvs.sourceforge.net/*checkout*/yorick/yorick/i/idlsave.i and put it anywhere in your path (e.g. /usr/local/lib/yorick/i/ for system-wide install, ~/.yorick/ for per-user install). Thibaut Paumard , Sat, 29 Dec 2007 15:31:24 +0100 debian/yorick.manpages0000664000000000000000000000003011770117412012177 0ustar doc/yorick.1 doc/gist.1 debian/yorick-mpy-mpich2.README.Debian0000664000000000000000000000142111770117412014512 0ustar Message Passing Yorick package for Debian ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This package is built against the MPICH2 implementation of the Message Passing Interface (MPI). A test script is provided in /usr/share/doc/yorick-mpy-common/examples/. To run it, you must first start the mpd daemon. After having created a mpd.conf file (see man mpd), run mpd& Then copy, unzip and run the script: cp /usr/share/doc/yorick-mpy-common/examples/testmp.i.gz ./ gunzip testmp.i.gz mpirun -np 4 mpy.mpich2 -j testmp.i Then, at the mpy command prompt: > testmp > quit You can test with other values of the -np parameter above, see man mpirun. See the yorick and mpy manpages for more details. -- Thibaut Paumard , Tue, 23 Mar 2010 16:22:52 +0100 debian/copyright0000664000000000000000000001326011770117412011126 0ustar Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file Upstream-Name: Yorick Upstream-Contact: David H. Munro Source: http://yorick.sourceforge.net/ Files: * Copyright: 1989, 1993-1995, 2005-2011, The Regents of the University of California. License: BSD Files: emacs/yorick.el Copyright: 2000, David H. Munro License: GPL-2+ Files: i/fits.i Copyright: 2000-2008, Éric Thiébaut License: GPL-2+ Files: doc/refs.tex Copyright: 1987, Free Software Foundation, Inc. 1995, Regents of the University of California License: GPL-1+ Files: debian/* distribs/debian/* Copyright: 2006-2011 Thibaut Paumard License: GPL-2+ Files: regexp/yregexp.c Copyright: 1986, University of Toronto License: other Written by Henry Spencer. Not derived from licensed software. . Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions: . 1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it. . 2. The origin of this software must not be misrepresented, either by explicit claim or by omission. . 3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. . Beware that some of this code is subtly aware of the way operator precedence is structured in regular expressions. Serious changes in regular-expression syntax might require a total rethink. License: BSD BSD License . Copyright (c) 2005, The Regents of the University of California. Produced at the Lawrence Livermore National Laboratory. Written by David H. Munro . UCRL-CODE-155996 All rights reserved. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the disclaimer below. . * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer (as noted below) in the documentation and/or other materials provided with the distribution. . * Neither the name of the UC/LLNL nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 REGENTS OF THE UNIVERSITY OF CALIFORNIA, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS 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. . . . . Additional BSD Notice . 1. This notice is required to be provided under our contract with the U.S. Department of Energy (DOE). This work was produced at the University of California, Lawrence Livermore National Laboratory under Contract No. W-7405-ENG-48 with the DOE. . 2. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately-owned rights. . 3. Also, reference herein to any specific commercial products, process, or services by trade name, trademark, manufacturer or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California, and shall not be used for advertising or product endorsement purposes. License: GPL-1+ Permission is granted to make and distribute copies of this card provided the copyright notice and this permission notice are preserved on all copies. . On Debian systems, the GPL (v. 2) can be found in /usr/share/common-licenses/GPL-2 License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. debian/source/0000775000000000000000000000000011770117412010471 5ustar debian/source/format0000664000000000000000000000001411770117412011677 0ustar 3.0 (quilt) debian/yorick-mpy-common.manpages0000664000000000000000000000001211770117412014270 0ustar mpy/mpy.1 debian/README.Debian.packages0000664000000000000000000001771311770117412013020 0ustar Debian treatment for Yorick add-on packages ------------------------------------------- 1 What are Yorick add-on packages? 2 How to install add-on packages under Debian? 2.1 Using pkg_mngr.i 2.2 Compiling from source 2.3 Adjusting your paths 3 Technical details 3.1 What does Debian do with add-on packages? 3.2 Why? 3.3 How? 4 Bugs 4.1 ERROR (*main*) autoload variable must be nil initially 4.2 GISTPATH 1) What are Yorick add-on packages? ----------------------------------- The Yorick core package is intentionally simple. It has very few external dependencies and contains only the functionalities needed in most setups. Add-on packages exist for a variety of more specific problems, ranging from fairly general purpose file format support (e.g. jpeg support in the yorick-z package) to very specialized software (e.g. modelling of the adaptive optics systems used in modern telescopes in the yorick-yao package). Some of these add-ons are purely interpreted libraries, others contain compiled code (and are then called plug-ins). There are basically three ways of installing add-ons: - some are available as Debian packages installable through e.g. apt-get (there names always start in yorick-); - more can be downloaded and installed using Yorick's own package manager pkg_mngr.i (as of writing, the only Debian platform supported is i386, ppc coming soon); - even more can be downloaded from the Internet as source code that you have to compile and install yourself. We will describe the last two methods below, as the first is straightforward. 2) How to install add-on packages under Debian? ----------------------------------------------- 2.1 using pkg_mngr.i -------------------- This method currently works only for GNU/Linux on i386 as well as MacOS on PPC and MS Windows on i386. To install packages using the pkg_mngr, simply install the Debian package `curl' and issue the following at the Yorick prompt: //install system-wide under /usr/local/lib/yorick: // you must be root or in the `staff' group #include "pkg_mngr.i"; // you then get a message that a special Debian // configuration has been loaded pkg_sync; // synchronize the package list with the repository pkg_list; // lists available packages pkg_install,"pkg_name"; // replace pkg_name by the actual name //install at the user level or at another location: #include "pkg_mngr.i"; // you then get a message that a special Debian // configuration has been loaded pkg_setup; // reconfigure the pkg_mngr: you would normally // accept all defaults except for `PKG_Y_HOME'. // Follow the instructions on screen. pkg_sync; // synchronize the package list with the repository pkg_list; // lists available packages pkg_install,"pkg_name"; // replace pkg_name by the actual name 2.2 Compiling from source ------------------------- First make sure you installed the yorick-dev package. Packages usually come with instructions on how to install them, which for simpler packages boils down to: yorick -batch make.i # sometimes a more complicated configure step make make install Under Debian, you can specify the variables DEST_Y_SITE and DEST_Y_HOME (and DEST_Y_BINDIR if you are building an executable) in this last `make install' step to install at a custom place. For instance: # system-wide, recommended place (/usr/local/lib/yorick): make DEST_Y_SITE=/usr/local/lib/yorick \ DEST_Y_HOME=/usr/local/lib/yorick \ install # per-user, canonical place (~/.yorick): make DEST_Y_SITE=~/.yorick \ DEST_Y_HOME=~/.yorick \ install See /usr/lib/yorick/Makepkg for details. 2.3 adjusting your paths ------------------------ You must make sure Yorick is able to find the files you install. The Debian default configuration includes a full package tree in /usr/local/lib/yorick, so if you install packages there, you have nothing special to do (see /etc/yorick/20usrlocal.i). On the other hand, if you install in another place (say, ~/.yorick), you must add the following lines in a startup file (e.g. ~/.yorick/custom.i or any .i file in ~/.yorick/i-start): require, "pathfun.i"; add_y_home,"~/.yorick/"; pkg_setup will offer to do it for you. 3) Technical details -------------------- 3.1 What does Debian do with add-on packages? --------------------------------------------- It is recommended not to mix packages installed through these various means in the same directory. The following is advisable: - packages installed using Debian's apt-get are installed in the main Yorick tree (/usr/lib/yorick/); - packages installed system-wide using Yorick's pkg_mngr or compiled manually are installed in a local tree (/usr/local/lib/yorick/); - additionally, users can install packages in their home directory. 3.2 Why? -------- Apt is not aware of packages installed through the pkg_mngr. On the other hand, the pkg_mngr is aware of packages installed through apt, but not that they have been installed through apt. So you could easily install a package with apt and remove it with the pkg_mngr, leaving your system in an inconsistent state. Another useful example: in the future, it is possible (and, actually, likely) that the main Yorick package for Debian will change significantly, e.g. that the main directory will be relocated. Debian packages for add-ons will be updated accordingly, but packages installed using the pkg_mngr will be left behind. Even worse, if the main directory is split rather than relocated, then packages installed using the pkg_mngr will end-up half installed. In a word, separating the apt space and the pkg_mngr/local space will save the sysadmins from almost certain future hassle. 3.3 How? -------- First of all, the local tree must be taken into account into the various paths of Yorick. This is achieved through the file /etc/yorick/20usrlocal.i . The second part is to get pkg_mngr to install files under /usr/local/lib/yorick/. The Debian package provides a file /etc/yorick/packages/pkg_setup.i which performs the basic configuration of the pkg_mngr. This file also reads /usr/local/lib/yorick/packages/pkg_setup.i if it exists. /etc/yorick/packages/pkg_setup.i is pointed to by a link in Y_HOME/packages, that pkg_mngr.i reads when it is first loaded, unless the variable PKG_SETUP is set. There are copies of these two files in /usr/share/doc/yorick/examples/ . 4) Bugs ------- 4.1) ERROR (*main*) autoload variable must be nil initially ----------------------------------------------------------- This error is due to the autoload() function and happens when the same package is installed twice, for instance both system-wide and per-user. More precisely, upon Yorick startup, if a package is installed twice in your path, you will get an error such as: ERROR (*main*) autoload variable must be nil initially WARNING detailed line number information unavailable now at pc= 1 (of 17), failed at pc= 11 LINE: 1 FILE: ~/.yorick/i-start/mypkg-auto.i To enter debug mode, type now (then dbexit to get out) Check all your i-start directories (/usr/lib/yorick/i-start/, /usr/local/lib/yorick/i-start/, ~/.yorick/i-start/) for files with the same name (in this case, "mypkg-auto.i"). If you find several of them, ask yourself whether you need both copies of the package (presumably called "mypkg" in this example). If not, simply deinstall one of the instances of the package. If yes, then you can have the error disappear by doing the following: - write down all the .i files that are referred to by calls such as autoload, "file.i", var1, var2....; in this file "mypkg-auto.i"; - for each one of them, write a line like autoload, "file.i"; without variable specification once near the top of the file ~/.yorick/i-start/mypkg-auto.i . This issue is being thought in depth by upstream. -- Thibaut Paumard Sat, 28 Nov 2009 20:44:19 +0100 debian/yorick-mpy-mpich2.links0000664000000000000000000000026411770117412013520 0ustar /usr/lib/yorick/bin/mpy.mpich2 /usr/bin/mpy.mpich2 /usr/share/yorick/Makempy.mpich2 /usr/lib/yorick/Makempy.mpich2 /usr/share/man/man1/mpy.1.gz /usr/share/man/man1/mpy.mpich2.1.gz debian/yorick-mpy-common.install0000664000000000000000000000052511770117412014154 0ustar mpy/mpy.i /usr/share/yorick/i0/ mpy/custommp.i /etc/yorick/mpy/ debian/custommp.i /usr/share/yorick/i/ mpy/mpy1.i /usr/share/yorick/i/ mpy/mpool.i /usr/share/yorick/i/ mpy/mpy.h /usr/share/yorick/include/ debian/yorick-mpy.packinfo /usr/share/yorick-doc/ debian/yorick-mpy-mpich2.prerm0000664000000000000000000000020211770117412013515 0ustar #!/bin/sh set -e #DEBHELPER# if [ "$1" != "upgrade" ]; then update-alternatives --remove mpy /usr/bin/mpy.mpich2 fi exit 0 debian/lintian-overrides.d/0000775000000000000000000000000011770117412013051 5ustar debian/lintian-overrides.d/yorick-data0000664000000000000000000000116111770117412015202 0ustar yorick-data: extra-license-file usr/share/yorick/LICENSE.md # This file is read by Yorick's "legal" command yorick-data: package-contains-empty-directory usr/share/yorick/packages/installed/ yorick-data: package-contains-empty-directory usr/share/yorick/python/ yorick-data: package-contains-empty-directory usr/share/yorick/glade/ yorick-data: package-contains-empty-directory usr/share/yorick/data/ # Those directories are used by some add-on packages. They are linked # to from /usr/lib/yorick. It is necessary to create the links in the # yorick package. yorick-data creates the directories to avoid # dangling links. debian/lintian-overrides.d/yorick0000664000000000000000000000066211770117412014300 0ustar yorick: menu-command-not-in-package usr/share/menu/yorick:4 rlwrap # The actual menu command uses rlwrap only if it is installed, # and works also if it isn't. # Besides, rlwrap is "recommended" by yorick. yorick: menu-icon-missing yorick32x32.xpm yorick: menu-icon-missing yorick16x16.xpm # The icons are in yorick-data, on which yorick "depends". yorick: conflicts-with-version yorick-yutils (<= 1.5.0) # Breaks isn't sufficient. debian/yorick-data.postrm0000664000000000000000000000076611770117412012657 0ustar #!/bin/sh set -e case $1 in remove) if [ -e /usr/share/yorick ]; then rm -Rf /usr/share/yorick fi ;; purge) # remove dangling conffiles from previous version # if Yorick is purged but they are still around if [ -e /etc/yorick ] && \ [ "`dpkg-query -s yorick|grep Status`" = "Status: purge ok not-installed" ]; then rm -Rf /etc/yorick fi if [ -e /etc/emacs/site-start.d/50yorick-auto.el ]; then rm -f /etc/emacs/site-start.d/50yorick-auto.el fi ;; esac #DEBHELPER# debian/yorick-doc.postinst0000664000000000000000000000031711770117412013042 0ustar #!/bin/sh set -e case $1 in configure|reconfigure) if [ -e "/usr/share/yorick/i" ]; then update-yorickdoc --auto-now fi ;; triggered) update-yorickdoc --auto-now ;; esac #DEBHELPER# debian/yorick.desktop0000664000000000000000000000025411770117412012065 0ustar [Desktop Entry] Type=Application Encoding=UTF-8 Name=yorick GenericName= Comment= Icon=yicon48.xpm Exec=rlwrap yorick || yorick Terminal=true Categories=X-Debian-Apps-Math debian/yorick-dev.links0000664000000000000000000000045711770117412012315 0ustar usr/share/yorick/include usr/lib/yorick/include usr/share/yorick/Make.cfg usr/lib/yorick/Make.cfg usr/share/yorick/Makedll usr/lib/yorick/Makedll usr/share/yorick/Makeexe usr/lib/yorick/Makeexe usr/share/yorick/Makepkg usr/lib/yorick/Makepkg usr/share/yorick/i/debian/pkginst.i usr/bin/dh_installyorick debian/yorick-dbg.links0000664000000000000000000000020611770117412012263 0ustar usr/lib/debug/usr/lib/yorick/bin/yorick usr/lib/debug/usr/bin/yorick usr/lib/debug/usr/lib/yorick/bin/gist usr/lib/debug/usr/bin/gist debian/yorick-dev.manpages0000664000000000000000000000004211770117412012756 0ustar debian/helpers/dh_installyorick.1 debian/yorick-doc.prerm0000664000000000000000000000014211770117412012300 0ustar #!/bin/sh set -e case $1 in remove) update-yorickdoc --auto --purge ;; esac #DEBHELPER# debian/yorick-mpy.packinfo0000664000000000000000000000037511770117412013015 0ustar :newsubsection MPY: Message Passing Yorick :mpy base function of mpy (beware: mpy cannot be loaded in yorick, it is a separate executable) :mpy1 backward compabiiity layer implementing the old mpy1 API :mpool dispatch work in a pool-of-tasks fashion debian/yorick-mpy-openmpi.install0000664000000000000000000000037611770117412014337 0ustar mpy.openmpi/mpy.openmpi /usr/lib/yorick/bin/ mpy.openmpi/libmpy.openmpi.a /usr/lib/yorick/lib/ mpy.openmpi/mpymain.openmpi.o /usr/lib/yorick/lib/ mpy.openmpi/Makempy.openmpi /usr/share/yorick/ debian/zzdebian.i0000664000000000000000000000022411770117412011147 0ustar /* Any changes to this file will be lost during upgrades. Please put all local configuration in /etc/yorick . */ include_all,"/etc/yorick"; debian/helpers/0000775000000000000000000000000011770117412010633 5ustar debian/helpers/update-yorickdoc0000664000000000000000000000507711770117412014035 0ustar #!/bin/sh # $Id: update-yorickdoc,v 1.5 2009/12/02 16:01:03 paumard Exp $ set -e # First set "builtin" defaults, see conffile for details: CONFFILE=/etc/yorick-doc USERFILE=${HOME}/.`basename ${CONFFILE}` ENABLE_AUTO=1 SRC_DIR=/usr/share/yorick-doc TEMPLATE=${SRC_DIR}/template.html FROM=/usr/share/yorick/i:/usr/share/yorick/i0 TO=/usr/share/doc/yorick-doc XREF_DIR=html_xref QUIET=1 # source CONFFILE to possibly override these defaults: if [ -r $CONFFILE ]; then . $CONFFILE fi if [ `id -u` -gt 0 -a -r $USERFILE ]; then . $USERFILE fi usage() { echo Usage: `basename $0` '[--auto|-a] [--purge|-p] [--verbose|-v|--quiet|-q] \' echo ' [--src-dir=] [--from=] [--to=] [--template=] [--xref-dir=] [--conf=]' } # parse command-line PURGE=0 for opt; do case $opt in --auto|-a) if [ $ENABLE_AUTO -eq 0 ]; then echo "ENABLE_AUTO set to zero in $CONFFILE or equivalent" echo "Not updating Yorick documentation" exit 0 fi if type dpkg-trigger >/dev/null 2>&1 ; then exit 0 fi ;; --auto-now|-A) if [ $ENABLE_AUTO -eq 0 ]; then echo "ENABLE_AUTO set to zero in $CONFFILE or equivalent" echo "Not updating Yorick documentation" exit 0 fi ;; --purge|-p) PURGE=1 ;; --verbose|-v) QUIET=0 ;; --quiet|-q) QUIET=1 ;; --src-dir=*) SRC_DIR=${opt#--*=} ;; --from=*) FROM=${opt#--*=} ;; --to=*) TO=${opt#--*=} ;; --template=*) TEMPLATE=${opt#--*=} ;; --xref-dir=*) XREF_DIR=${opt#--*=} ;; --conf=*) CUSTOMRC=${opt#--*=} if [ -r $CUSTOMRC ]; then . $CUSTOMRC else echo "Warning: $CUSTOMRC not found" fi ;; *) echo Unknown parameter $opt usage exit 1 ;; esac done if [ $QUIET -eq 1 ]; then QUIET=--quiet else QUIET= fi # Do the actual work echo Updating Yorick documentation in ${TO}/${XREF_DIR} if [ -e ${TO}/${XREF_DIR} ]; then rm -Rf ${TO}/${XREF_DIR} fi if [ $PURGE -eq 1 ]; then echo "${TO}/${XREF_DIR} deleted." exit 0 fi if [ -x "`which yorick`" ]; then mkdir -p $TO PACKINFO=`mktemp` KEYWORDS=`mktemp` ALIASES=`mktemp` cat ${SRC_DIR}/*.packinfo >> $PACKINFO cat ${SRC_DIR}/*.keywords | sort | uniq >> $KEYWORDS cat ${SRC_DIR}/*.aliases >> $ALIASES yorick -batch htmldoc.i --template=$TEMPLATE --packinfo=$PACKINFO \ --keywords=$KEYWORDS --aliases=$ALIASES --from=$FROM --to=$TO \ --xref-dir=$XREF_DIR $QUIET rm -f $PACKINFO $KEYWORDS $ALIASES else echo "Yorick not found; ${TO}/${XREF_DIR} deleted." fi exit 0 debian/helpers/README0000664000000000000000000000200411770117412011507 0ustar Yorick Documentation The files in this Y_SITE/doc directory are: yorick.tex TeXinfo source for the Yorick manual refs.tex TeX source for a short reference card (these two files are precompiled in PDF and HTML formats in the yorick-doc package) Alphabetized DOCUMENT comments for Yorick functions in gzipped text format (the same information is found in cross-referenced HTML format in the yorick-doc package): std.doc standard Yorick functions. graph.doc Yorick graphics functions. math.doc matrix and FFT functions. drat.doc sample Drat transport equation solver. This is probably of interest only as an example of how to write a complete Yorick application. hex.doc a 3D transport equation solver. library.doc an index of the include files shipped with this Yorick package. FILE_FORMATS pointers to descriptions of all the binary file formats recognized or produced by Yorick debian/helpers/pkginst.i0000775000000000000000000001473711770117412012503 0ustar #!/usr/bin/yorick -batch /* $Id: pkginst.i,v 1.7 2009/12/02 16:01:03 paumard Exp $ To be used in Debian packages for Yorick plug-ins It is considered obsolete to call this script as documented below. Call dh_installyorick instead, and refer to man dh_installyorick. yorick -batch debian/pkginst.i $DESTDIR [pkg.info] For now, will install under DESTDIR/Y_HOME, then move the architecture-independent directories at the right place under DESTDIR/usr/share and create the right symlinks in DESTDIR/Y_HOME. Anything installed in contrib will be moved to i. If the name of a .info file is provided on the command line, it will be installed in the relevant directory. */ extern VERBOSE, NO_ACT, DESTDIR; quiet=1; // avoid printing out install directories #include "debian/instdirs.i" if (anyof(options=="-v" | options=="--verbose") | get_env("DH_VERBOSE")=="1") VERBOSE=1; if (anyof(options=="--no-act") | get_env("DH_NO_ACT")=="1") NO_ACT=1; func make_link(target, link) { starget=pathsplit(target,delim="/"); slink=pathsplit(link,delim="/"); shortest=min(numberof(starget),numberof(slink)); fdif=(starget(1:shortest)==slink(1:shortest))(mnx); target=pathform(starget(fdif:0),delim="/"); if (pathform(starget(1:fdif-1),delim="/")+"/"==DESTDIR) { target="/"+target; } else { for (i=1;i<=numberof(slink)-fdif;i++) target="../"+target; } mkdirpv,dirname(link); syscall,"ln -s "+target+" "+link; } func syscall(command) { if (VERBOSE) write, format="\t%s\n",command; if (!NO_ACT) { status=long; fh=popen(command+" >/dev/null && echo 0",0); status=rdline(fh); close,fh; if (status != "0") error,"\""+command+"\" failed"; } } func mkdirpv (dir) { if (VERBOSE) write, format="\tmkdir -p %s\n", dir; if (!NO_ACT) mkdirp, dir; } func write_snipet (package, stage) { fname=DEBIAN+package+"."+stage+".debhelper"; if (VERBOSE) write, format="\tupdating %s\n", fname; if(!NO_ACT) { f=open(fname,"a"); if (stage=="postinst") action="configure"; else if (stage=="postrm") action="remove"; write, f, format="%s\n", ["# Automatically added by dh_installyorick", "if [ \"$1\" = \""+action+"\" ] && "+ "[ -x \"`which update-yorickdoc 2>/dev/null`\" ]; then", " update-yorickdoc --auto", "fi", "# End automatically added section"]; close, f; } } // single package special case: // start with "make DESTDIR=debian/package/ install" DIRS=["i-start","include","i0","i","g","doc","packages", "python","glade","data"]; if (noneof(options=="--no-make-install") & numberof(packages)==1) { syscall,"make DESTDIR="+DESTDIR+" install"; for (d=1;d<=numberof(DIRS);d++) { from=DEPDIR+DIRS(d); to=INDEPDIR+DIRS(d); if (lsdir(DEPDIR+DIRS(d))!=0) { mkdirpv, INDEPDIR; syscall,"mv "+from+" "+to; } } if (lsdir(DEPDIR+"contrib")!=0) { mkdirpv,INDEPDIR+"i"; syscall,"mv "+DEPDIR+"contrib/* "+INDEPDIR+"i/"; syscall,"rmdir "+DEPDIR+"contrib"; } temp=DEPDIR; while (is_void(lsdir(temp)) & temp!=DESTDIR+"/") { if (VERBOSE) write, format="\trmdir%s\n"; if (!NO_ACT) remove,temp; temp=dirname(temp); } if (INFILE) { dest=INDEPDIR+"packages/installed"; mkdirpv,dest; syscall,"cp "+INFILE+" "+dest; } } // General case: for each packages, // 1) install various types of files listed in debian/package.* // 2) add snipets to postinst.debhelper etc... debian_files=lsdir(DEBIAN,dirs); sy_site=pathsplit(Y_SITE,delim="/"); dy_site=numberof(sy_site); // depth of Y_SITE for (packn=1;packn<=numberof(packages);packn++) { package=packages(packn); if (package==MAINPACKAGE) ISMAIN=1; else ISMAIN=0; if (!ISMAIN & numberof(packages)>=2) { DESTDIR=DEBIAN+package; DEPDIR=DESTDIR+Y_HOME; if (Y_SITE==Y_HOME) INDEPDIR= DESTDIR+streplace(Y_HOME,strfind("usr/lib/",Y_HOME),"usr/share/"); else INDEPDIR=DESTDIR+Y_SITE; } ext="ynstall"; if (ISMAIN & anyof(debian_files==ext)) file=DEBIAN+ext; else file=DEBIAN+package+"."+ext; if (open(file,"r",1)) { line=hdoc_read_file(file); for (j=1;j<=numberof(line);j++) { words=strpart(line(j),strword(line(j),,3)); file=words(1); if (!file) continue; if (strpart(file,[0,1])=="#") continue; is_exec=0; if (words(2)) { // we've got a destination. dest=words(2); sdest=pathsplit(dest,delim="/"); if (numberof(sdest)>=dy_site && sdest(1:dy_site)==sy_site){ sdest=grow(["Y_SITE"],sdest(dy_site+1:)); dest=pathform(sdest,delim="/"); } if (anyof(sdest(1)==DIRS)) dest=INDEPDIR+dest; else if (anyof(sdest(1)==["lib","bin"])) dest=DEPDIR+dest; else { if (sdest(1)=="Y_HOME") dest=DEPDIR+pathform(sdest(2:),delim="/"); else if (sdest(1)=="Y_SITE") { dest=pathform(sdest(2:),delim="/"); make_link,INDEPDIR+dest+"/"+basename(file), DEPDIR+dest+"/"+basename(file); dest=INDEPDIR+dest; mkdirpv,dest; } else dest=DESTDIR+"/"+dest; } } else { // guess destination ext=pathsplit(file,delim=".")(0); if (ext=="i") dest=INDEPDIR+"i"; // so i0 and i-sart must be specified else if (anyof(ext==["gs","gp"])) dest=INDEPDIR+"g"; else if (ext=="info") dest=INDEPDIR+"packages/installed"; else if (ext=="py") dest=INDEPDIR+"python"; else if (ext=="glade") dest=INDEPDIR+"glade"; else if (ext=="so") dest=DEPDIR+"lib"; else if (anyof(ext==["packinfo","keywords","aliases"])) dest=DESTDIR+"/usr/share/yorick-doc"; } mkdirpv,dest; syscall,"cp "+file+" "+dest; if (words(3)) { // we've got a link. link=pathsplit(words(3),delim="/"); if (link(1)=="Y_HOME") link=DEPDIR+pathform(link(2:),delim="/"); else if (link(1)=="Y_SITE") link=INDEPDIR+pathform(link(2:),delim="/"); else if (anyof(link(1)==DIRS)) link=INDEPDIR+words(3); else if (anyof(link(1)==["lib","bin"])) link=DEPDIR+words(3); else link=DESTDIR+"/"+words(3); make_link,dest+"/"+basename(file),link; if (anyof(basename(dirname(link))==["bin","sbin"])) is_exec=1; } if (anyof(basename(dest)==["bin","sbin","python"])) is_exec=1; if (is_exec) syscall,"chmod a+x "+dest+"/"+basename(file); } } // add maintainer script snipets if (noneof(options=="-n") & anyof(options=="-m")) { write_snipet, package, "postinst"; write_snipet, package, "postrm"; } } debian/helpers/update-yorickdoc.10000664000000000000000000001424611770117412014172 0ustar .\" $Id: update-yorickdoc.1,v 1.5 2009/12/02 16:01:03 paumard Exp $ .\" .IX Title "UPDATE\-YORICKDOC 1" .TH UPDATE\-YORICKDOC 1 "2008\-05\-18" "" "Yorick" .SH "NAME" update\-yorickdoc \- Build HTML documentation for Yorick .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBupdate\-yorickdoc\fR [\fB\-\-conf=\fRfile] [\fB\-\-auto\fR] [\fB\-\-auto\-now\fR] [\fB\-\-from=\fRdirectory] [\fB\-\-to=\fRdirectory] [\fB\-\-xref\-dir=\fRdirectory] [\fB\-\-src\-dir=\fRdirectory] [\fB\-\-template=\fRfile] .SH "DESCRIPTION" .IX Header "DESCRIPTION" update\-yorickdoc is a wrapper around htmldoc.i, a Yorick script that extracts DOCUMENT comments from Yorick source files and turns them into a set of HTML files. update\-yorickdoc merges files from a "source directory" (default: /usr/share/yorick\-doc, command\-line option: \-\-src\-dir), deletes the target directory (default: /usr/share/doc/yorick\-doc/html_xref), and, if Yorick is installed, calls "yorick \-batch htmldoc.i" to compile HTML documentation for all currently installed functions (either from the main Yorick package or from add\-on packages). .PP update\-yorickdoc is meant to be called automatically whenever a Yorick package is installed or removed. It is possible to prevent automatic updates by setting "ENABLE_AUTO" to 0 in /etc/yorick\-doc. It is also possible to use update\-yorickdoc manually to create documentation from custom directories (e.g. a user's own ~/Yorick/ directory) or to a custom place, for instance. .PP update\-yorickdoc has a set of default parameters to function with. These parameters are overwritten in chronological order by the content /etc/yorick\-doc, $HOME/.yorick\-doc, and the command line. .PP A few files are required for this script to function. Default files are provided in the default source directory, and add\-on packages should provide additional information in the same place. See \fBFILES\fR below as well as /usr/share/doc/yorick-dev/yorick-policy.gz. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-auto\fR | \fB\-a" 4 .IX Item "\-\-auto" This flag is being deprecated by the advent of triggers in dpkg. On systems where dpkg supports triggers, \-a turns update\-yorickdoc into a no-op. On older systems, it behaves like \-A below. .IP "\fB\-\-auto\-now\fR | \fB\-A" 4 .IX Item "\-\-auto\-now" This flag is meant to be used only in the postinst script of the yorick-doc package, which is turn is supposed to be triggered each time a yorick add-on package is installed, upgraded, or removed. It is possible to turn update\-yorickdoc into a no\-op when this flag is set by setting ENABLE_AUTO to 0 in /etc/yorick\-doc. .IP "\fB\-\-conf=\fRfile" 4 .IX Item "\-\-conf=file" Read configuration from this file. This file is parsed as the option is found on the command line, overwriting the options coming before. .IP "\fB\-\-from=\fRdirectory1:directory2..." 4 .IX Item "\-\-from=directory1:directory2..." Colon\-separated list of directories to scan for Yorick files. Default: /usr/share/yorick/i:/usr/share/yorick/i0. .IP "\fB\-\-purge\fR | \fB\-p" 4 .IX Item "\-\-purge" Only delete /usr/share/doc/yorick\-doc/html_xref (or the directory set using \-\-to and \-\-xref\-dir, or the equivalent variables in /etc/yorick\-doc), do not rebuild the documentation afterwards. .IP "\fB\-\-quiet\fR | \fB\-q" 4 .IX Item "\-\-quiet" Be quiet, only telling shortly what update\-yorickdoc does. This is the built-in default but may have been overridden in a configuration file. .IP "\fB\-\-src\-dir=\fRdirectory" 4 .IX Item "\-\-src\-dir=directory" Directory containing .packinfo, .keywords and .aliases files when building the documentation. Each of these three types of files will be concatenated in lexicographical order and fed to htmldoc.i using the \-\-packinfo, \-\-keywords, and \-\-aliases options (see htmldoc.i). Default: /usr/share/yorick\-doc. .IP "\fB\-\-template=\fRfile" 4 .IX Item "\-\-template=file" Template file for htmldoc.i. The correct format is detailed htmldoc.i. Default: /usr/share/yorick\-doc/template.html. .IP "\fB\-\-to=\fRdirectory" 4 .IX Item "\-\-to=directory" Top\-level directory of the Yorick HTML hierarchy to update. This is one level above the directory that will be deleted and/or (re)built. Defaults to /usr/share/doc/yorick\-doc. .IP "\fB\-\-verbose\fR | \fB\-v" 4 .IX Item "\-\-verbose" Be verbose, outputting lots of debugging information. The built-in default is to be quiet, just telling shortly what update\-yorickdoc does. .IP "\fB\-\-xref\-dir=\fRword" 4 .IX Item "\-\-xref\-dir=word" The sub\-directory of the "TO" directory in which to compile the documentation. Certain hyperlinks in the documentation will use this value. This should not be set to a directory whose content you value, since this directory will be first erased. Default: html_xref. .SH "FILES" .IX Header "FILES" .IP "\fB/etc/yorick\-doc\fR" 4 .IX Item "/etc/yorick\-doc" System\-wide configuration for update\-yorickdoc. This is the right place to set ENABLE_AUTO=0 in case you don't want Yorick's documentation each time a package of the Yorick suite is installed, upgraded, or removed. Another interesting option is FROM, in which you can add for instance /usr/local/yorick/i if you maintain a secondary Yorick tree at your site. See the file itself for more details. .IP "\fB$HOME/.yorick\-doc\fR" 4 .IX Item "$HOME/.yorick\-doc" User\-level equivalent to the above. It is ignored for the root user. .IP "\fB/usr/share/yorick\-doc/*.packinfo\fR" .IX Item "/usr/share/yorick\-doc/*.packinfo" Source for the package index in the documentation. .IP "\fB/usr/share/yorick\-doc/*.keywords\fR" .IX Item "/usr/share/yorick\-doc/*.keywords" Lists of keywords for the index page of the documentation. .IP "\fB/usr/share/yorick\-doc/*.aliases\fR" .IX Item "/usr/share/yorick\-doc/*.aliases" See htmldoc.i. .IP "\fB/usr/share/yorick\-doc/template.html\fR" .IX Item "/usr/share/yorick\-doc/template.html" Template file for htmldoc.i. .IP "\fB/usr/share/yorick/i/htmldoc.i\fR" .IX Item "/usr/share/yorick/i/htmldoc.i" the Yorick script which does most of the actual work. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fI/usr/share/yorick/i/htmldoc.i\fR, \&\fI/usr/share/doc/yorick-dev/yorick-policy.gz\fR, \&\fIdh_installyorick\fR\|(1) .SH "AUTHORS" .IX Header "AUTHORS" Thibaut Paumard debian/helpers/dh_installyorick.10000664000000000000000000001267111770117412014266 0ustar .\" $Id: dh_installyorick.1,v 1.4 2009/12/02 16:01:03 paumard Exp $ .\" .IX Title "DH_INSTALLYORICK 1" .TH DH_INSTALLYORICK 1 "2008\-05\-15" "" "Debhelper" .SH "NAME" dh_installyorick \- install Yorick add\-on packages .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBdh_installyorick\fR [\fIdebhelper\ options\fR] [\fB\-m\fR] [\fB\-\-no\-make\-install\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" dh_installyorick is a debhelper program that installs the files of your Yorick add\-on at the right place when building a Debian package. For a simple plug\-in package, this is mostly done by calling "make DESTDIR=debian/ install" and then moving arch\-independent files to usr/share. Note that there is no Y_SITE/contrib directory in the Debian packages, its content is merged into YSITE/i. .PP Calling "make ... install" can be disabled by using the "\-\-no\-make\-install" flag. This is useful in particular for interpreted add\-on packages, which do not ship with a standard Yorick Makefile. .PP If the "\-m" flag is used (but not the "\-n" one), dh_installyorick will also add lines to your package's postinst and postrm scripts to call "update\-yorickdoc \-\-auto" if the yorick\-doc package is installed. It is necessary to call dh_installdeb after dh_installyorick for this to work. It is usually not necessary with a recent dpkg supporting triggers, so this possibility is kept mostly for easing backports and should be deprecated soon. .PP dh_installyorick will look for a file named debian/.ynstall for additional files to install (see \fBYNSTALL FILE\fR below). The prefix "." can be omitted for the main binary package being built (usally the first one listed in debian/control). .PP For the time being, Y_SITE=Y_HOME=/usr/lib/yorick. Requests to install a file under Y_SITE results in its installation under /usr/share/yorick. dh_installyorick handles the creation of the necessary symbolic links from Y_HOME to /usr/share/yorick. .PP Files that are installed in a directory ending in "/bin" or "/sbin", as well as files that are pointed at by symbolic link in such a directory, are installed with execution permission for everyone. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-m\fR\fR" 4 .IX Item "\-m" Modify postinst/postrm scripts to add a call to update\-yorickdoc. This is needed only if the target dpkg does not support triggers. If both "\-m" and "\-n" are specified, the scripts are not modified. .IP "\fB\-\-no\-make\-install\fR\fR" 4 .IX Item "\-\-no\-make\-install" Do not call "make DESTDIR=debian/ install". .IP "\fB\-\-infofile=\fR\fR" 4 .IX Item "\-\-infofile=" An additional pkg_mngr .info file to install. .PP Additionally, dh_installyorick abides by the following standard debhelper options: \-a/\-\-arch, \-i/\-\-indep, \-\-mainpackage, \-n, \-\-no\-act, \-N/\-\-no\-package, \-p/\-\-package, \-P/\-\-tmpdir, \-s/\-\-same\-arch, and \-v/\-\-verbose. .SH "YNSTALL FILE" .IX Header "YNSTALL FILE" Blank lines are ignored, several blank character are counted as one, and line starting with "#" (possibly following one or more blanks) are ignored. Each non\-comment, non\-blank line should be of the form: .PP \&\fIfile\fR [\fIdirectory\fR [\fIlink\fR]] .PP Where \fIfile\fR is the file to install, \fIdirectory\fR the directory it should be installed in, and \fIlink\fR an optional symbolic link pointing on the installed file. .IP "\fIfile\fR" 4 .IX Item "file" the relative path from the top directory of the package source to the file. If \fIlink\fR is not specified, \fIfile\fR can contain shell globs and actually denote sevral files. If \fIdirectory\fR is not specified, it is guessed from the extension of \fIfile\fR: .i files are installed in Y_SITE/i, .gs and .gp in Y_SITE/g, .info in Y_SITE/packages/installed, .packinfo, .aliases and .keywords in /usr/share/yorick\-doc, and .so in Y_HOME/lib. .IP "\fIdirectory\fR" 4 .IX Item "directory" the full path (without leading "/") into which the file should be installed. If the file is to be installed inside Yorick's Y_SITE or Y_HOME directory (which will almost alway be the case), it is possible (and advisable) to not specify the full path, but to write "Y_SITE/" or "Y_HOME" followed by the relative path from there. It is also possible to omit this "Y_SITE/" or "Y_HOME/" prefix if \fIdirectory\fR starts whith one of: Y_SITE/i, Y_SITE/i0, Y_SITE/i\-start, Y_SITE/g, Y_SITE/packages, Y_HOME/bin or Y_HOME/lib. .IP "\fIlink\fR" 4 .IX Item link the full path to a symbolic link that should point to the installed file. The same shortcuts apply as for \fIdirectory\fR. .SH "EXAMPLES" .IX Header "EXAMPLES" The four following lines in debian/ynstall would be equivalent: .br somefile.i /usr/share/yorick/i .br somefile.i Y_SITE/i .br somefile.i i .br somefile.i .PP Likewise, the following are equivalent: .br somefile.i /usr/share/yorick/i0 .br somefile.i Y_SITE/i0 .br somefile.i i0 .PP Example with a symlink. Here, somefile.i is a script that is both useful #included from within Yorick or from the command line. Its first line reads "#!/usr/bin/yorick \-batch". .br somefile.i i usr/bin/command_name .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIdebhelper\fR\|(7), \&\fIupdate\-yorickdoc\fR\|(1), \&\fIdeb\-triggers\fR\|(5) .PP This program is a part of yorick\-dev but is made to work with debhelper. Note that only compatibility level 5 has been implemented and tested. This script is not idempotent, dh_clean \-k should be executed between any two runs. .SH "AUTHORS" .IX Header "AUTHORS" Thibaut Paumard debian/helpers/instdirs.i0000775000000000000000000000625211770117412012654 0ustar #!/usr/bin/yorick -batch /* $Id: instdirs.i,v 1.2 2007/12/11 12:56:54 paumard Exp $ To be used in Debian packages for Yorick add-ons yorick -batch debian/instdirs.i [$DESTDIR] Will output the directories for architecture dependent and independent files. */ if (batch()) b=1; else b=0; batch,0; #include "htmldoc.i" batch,b; if (is_void(argv)) argv=get_argv(); ind=where(strgrep("^-",argv)(2,)==-1); if (numberof(ind)>=2) { DESTDIR=argv(ind(2)); MAINPACKAGE=package=basename(DESTDIR); packages=[package]; DEBIAN=dirname(DESTDIR)+"/"; } if (is_void(DEBIAN)) DEBIAN="debian/"; if (numberof(ind)>=3) INFILE= argv(ind(3)); ind=where(strgrep("^-",argv)(2,)!=-1); if (numberof(ind)) options=argv(ind); options=grow(get_env("DH_OPTIONS"), options); if (is_void(packages)) { file=hdoc_read_file("debian/control"); ind=where(strgrep("^Package: ",file)(2,)!=-1); packages=strpart(file(ind),strlen("Package: ")+1:0); ind=where(strgrep("^Architecture: ",file)(2,)!=-1); archs=strpart(file(ind),strlen("Architecture: ")+1:0); MAINPACKAGE=packages(1); } if (anyof(strgrep("^-p",options)(2,)!=-1)) packages=[]; if (anyof(strgrep("^--package=",options)(2,)!=-1)) packages=[]; if (anyof(options=="-i" | options=="--indep")) packages=packages (where(archs=="all")); if (anyof(options=="-a" | options=="--arch")) packages=packages (where(archs!="all")); if (anyof(options=="-s" | options=="--same-arch")) { f=popen("dpkg-architecture",0); line=rdline(f,12); close,f; arch=pathsplit(line(where(strmatch(line,"DEB_BUILD_ARCH"))),delim="=")(2); packages=packages(where(strmatch(archs,arch) | strmatch(archs,"any"))); } for (i=1;i<=numberof(options);i++) { option=options(i); if (strpart(option,1:strlen("--tmpdir="))=="--tmpdir=") { DESTDIR=strpart(option,strlen("--tmpdir=")+1:0); continue; } if (strpart(option,1:strlen("-P"))=="-P") { DESTDIR=strpart(option,strlen("-P")+1:0); continue; } if (strpart(option,1:strlen("--infofile="))=="--infofile=") { INFILE=strpart(option,strlen("--infofile=")+1:0); continue; } if (strpart(option,1:strlen("--mainpackage="))=="--mainpackage=") { MAINPACKAGE=strpart(option,strlen("--mainpackage=")+1:0); continue; } if (strpart(option,1:strlen("--package="))=="--package=") { grow,packages,strpart(option,strlen("--package=")+1:0); continue; } if (strpart(option,1:strlen("-p"))=="-p") { grow,packages,strpart(option,strlen("-p")+1:0); continue; } if (strpart(option,1:strlen("--no-package="))=="--no-package=") { packages=packages(where(packages!=strpart(option,strlen("--no-package=")+1:0))); continue; } if (strpart(option,1:strlen("-N"))=="-N") { packages=packages(where(packages!=strpart(option,strlen("-N")+1:0))); continue; } if (option=="-q" | option=="--quiet") { quiet=1; continue; } } if (numberof(packages)==1) package=packages(1); else package=MAINPACKAGE; if (is_void(DESTDIR)) { DESTDIR="debian/"+package; } DEPDIR=DESTDIR+Y_HOME; if (Y_SITE==Y_HOME) INDEPDIR=DESTDIR+streplace(Y_HOME,strfind("usr/lib/",Y_HOME),"usr/share/"); else INDEPDIR=DESTDIR+Y_SITE; if (!quiet) { write,format="%s\n",DEPDIR; write,format="%s\n",INDEPDIR; } debian/yorick-data.dirs0000664000000000000000000000010511770117412012257 0ustar usr/share/yorick/python usr/share/yorick/glade usr/share/yorick/data debian/yorick.examples0000664000000000000000000000010611770117412012226 0ustar debian/etc/yorick/20usrlocal.i debian/etc/yorick/packages/pkg_setup.i debian/custommp.i0000664000000000000000000000021111770117412011204 0ustar // FHS: customization should go under /etc/ // include /etc/yorick/mpy/custommp.i if it exists include, "/etc/yorick/mpy/custommp.i", 3; debian/yorick-mpy-mpich2.postinst0000664000000000000000000000071411770117412014263 0ustar #!/bin/sh set -e update-alternatives --install /usr/bin/mpy mpy /usr/bin/mpy.mpich2 40 \ --slave /usr/lib/yorick/lib/libmpy.a libmpy.a \ /usr/lib/yorick/lib/libmpy.mpich2.a \ --slave /usr/lib/yorick/lib/mpymain.o mpymain.o \ /usr/lib/yorick/lib/mpymain.mpich2.o \ --slave /usr/lib/yorick/Makempy Makempy \ /usr/lib/yorick/Makempy.mpich2 #DEBHELPER# exit 0 debian/yorick-doc.links0000664000000000000000000000013211770117412012272 0ustar usr/share/doc/yorick-doc usr/share/yorick/doc usr/share/doc/yorick-doc usr/lib/yorick/doc debian/etc/0000775000000000000000000000000011770117412007744 5ustar debian/etc/yorick-doc0000664000000000000000000000314011770117412011730 0ustar # $Id: yorick-doc,v 1.2 2008/03/14 12:42:54 paumard Exp $ # This file configures the behavior of the update-yorickdoc command # from the yorick-doc package. # It is sourced by update-yorickdoc, which is a standard shell script. # Should automatic updates ever happen? # Yorick add-ons call update-yorickdoc with the --auto flag whenever they # are installed or uninstalled. This is a no-op if the following is set to 0. #ENABLE_AUTO=1 # Default directory for update-yorickdoc files (*.packinfo, # *.keywords, and *.aliases). Also adjust the location of the template # file if you change that. Note that this option only controls # where update-yorickdoc looks for these files, Debian packages will always # drop their files in the default location. #SRC_DIR=/usr/share/yorick-doc #TEMPLATE=${SRC_DIR}/template.html # The following variables are defaults for the command line options. # FROM: a semicolon-separated list of directories to scan for yorick # include files. # TO: the top-level folder of the documentation tree. # XREF_DIR: the subdirectory of $TO where to put the files we will # construct. Warning: the content of this directory wll be first # erased, don't use a directory which contains something you value. # Default: #FROM=/usr/share/yorick/i:/usr/share/yorick/i0 #TO=/usr/share/doc/yorick-doc #XREF_DIR=html_xref # # A user would typically use: #FROM=/usr/share/yorick/i:/usr/share/yorick/i0:$HOME/.yorick #TO=$HOME #XREF_DIR=yorick-doc # By default, yorick-doc only says briefly what it's doing. Set QUIET # to 0 to get verbose (debugging) information. #QUIET=1 debian/etc/yorick/0000775000000000000000000000000011770117412011244 5ustar debian/etc/yorick/packages/0000775000000000000000000000000011770117412013022 5ustar debian/etc/yorick/packages/pkg_setup.i0000664000000000000000000000301611770117412015175 0ustar /* /etc/yorick/packages/pkg_setup.i linked to by /usr/lib/yorick/packages/pkg_setup.i Debian configuration for the Yorick package manager, pkg_mngr.i See /usr/share/doc/yorick/README.Debian.packages Author: Thibaut Paumard The preferred way to customize the configuration is through pkg_setup (within Yorick). The customized configuration will be saved in /usr/local/lib/yorick/packages/pkg_setup.i , which is read from here. */ localtree="/usr/local/lib/yorick/"; PKG_OS = "linux-x86"; PKG_FETCH_CMD = "curl -s"; PKG_SERVER = "http://www.maumae.net/yorick/packages/"; PKG_GUNTAR_CMD = "tar zxf"; PKG_TMP_DIR = localtree+"packages/tmp/"; PKG_VERBOSE = 1; PKG_ASK_CONFIRM = 1; PKG_RUN_CHECK = 0; PKG_VAR_STATE = localtree+"packages/"; PKG_Y_HOME = localtree; PKG_Y_SITE = localtree; PKG_OTHER_INSTALLED = Y_SITE+"packages/installed/"; // read packages/pkg_setup.i if it exists PKG_SETUP=localtree+"packages/pkg_setup.i"; if (open(PKG_SETUP,"r",1)) { require,PKG_SETUP; sync_done=1; } else { sync_done=0; } write,format="\n"+ " \n"+ " System-wide configuration for the pkg_mngr loaded.\n"+ " \n"+ " Local Y_HOME tree: %s\n"+ " Local Y_SITE tree: %s\n"+ " \n"+ " See /usr/share/doc/yorick/README.Debian.packages.gz for details.\n"+ " \n",PKG_Y_HOME,PKG_Y_SITE; f=popen("test -w "+localtree+" ; echo $?",0); line=rdline(f); close,f; if (line=="0" & !sync_done) write,format="%s\n","Please run pkg_sync.\nIf your architecture is not i386, please run pkg_setup before.\n"; debian/etc/yorick/README0000664000000000000000000000213711770117412012127 0ustar Yorick Configuration Directory ------------------------------ Any .i file in this directory will be sourced upon Yorick startup using include_all by /usr/lib/yorick/i-start/zzdebian.i (this include_all is not recursive). Contains currently 20usrlocal.i : adds a local hierarchy under /usr/local for all paths: /usr/local/lib/yorick/{i,contrib,i0} are added to the include path (.i files); /usr/local/lib/yorick/lib is added to the library path (.so files). Although /usr/local/lib/yorick/g is added to the GISTPATH variable, the directory is still not searched for .gs and .gp files. This is a known bug being worked on. For the time being, use the GISTPATH environment variable to set the path prior to calling Yorick. Subdirectories can contain configurations for specific tasks. Currently, /etc/yorick/packages contains a specific pkg_setup.i that configures pkg_mngr.i to install non-debianized packages under the /usr/local tree. /etc/yorick/packages/pkg_setup.i will be taken into account only if the local system administrator has not removed the link /usr/lib/yorick/packages/pkg_setup.i pointing to it. debian/etc/yorick/20usrlocal.i0000664000000000000000000000077611770117412013416 0ustar /* /etc/yorick/20usrlocal.i The purpose of this file is to add a local yorick tree under /usr/local for add-on packages installed using the pkg_mngr and locally maintained packages. Interpreted and compiled library paths (.i and .so files) are taken into account. If you additionally require to adjust the Gist palette and style file path (.gp and .gs files), please set the GISTPATH environment variable prior to starting yorick. */ require, "pathfun.i"; add_y_home,"/usr/local/lib/yorick/"; debian/yorick-mpy-openmpi.README.Debian0000664000000000000000000000126511770117412015005 0ustar Message Passing Yorick package for Debian ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This package is built against the OpenMPICH implementation of the Message Passing Interface (MPI). A test script is provided in /usr/share/doc/yorick-mpy-common/examples/. To run it, simply copy, unzip and run the script: cp /usr/share/doc/yorick-mpy-common/examples/testmp.i.gz ./ gunzip testmp.i.gz orterun -np 4 mpy.openmpi -j testmp.i Then, at the mpy command prompt: > testmp > quit You can test with other values of the -np parameter above, see man orterun. See the yorick and mpy manpages for more details. -- Thibaut Paumard , Tue, 23 Mar 2010 16:23:19 +0100 debian/yorick-dev.docs0000664000000000000000000000002511770117412012114 0ustar debian/yorick-policy debian/yorick.info0000664000000000000000000000002011770117412011336 0ustar doc/yorick.info debian/yorick-dev.install0000664000000000000000000000017611770117412012641 0ustar build/yorick-dev/* usr debian/helpers/instdirs.i usr/share/yorick/i/debian debian/helpers/pkginst.i usr/share/yorick/i/debian debian/control0000664000000000000000000001757612225444316010616 0ustar Source: yorick Section: science Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Science Maintainers Uploaders: Thibaut Paumard Build-Depends: libx11-dev, texinfo, debhelper (>= 7.0.0), quilt (>= 0.40), imagemagick, po-debconf, texi2html (>= 1.82), libmpich2-dev, libopenmpi-dev [alpha amd64 armel armhf hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 powerpc powerpcspe ppc64 sparc sparc64] Standards-Version: 3.9.3 DM-Upload-Allowed: yes Vcs-Git: git://git.debian.org/git/debian-science/packages/yorick.git Vcs-Browser: http://git.debian.org/?p=debian-science/packages/yorick.git Homepage: http://yorick.sourceforge.net Package: yorick Architecture: any Depends: yorick-data (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, debconf Replaces: yorick-data (<< 2.1.04+dfsg-1) Conflicts: yorick-yutils (<= 1.5.0) Breaks: yorick-imutil (<< 0.5.4-2~), yorick-spydr (<< 0.8.0-2~), yorick-curses (<< 0.1-4~) Recommends: rlwrap, yorick-z Suggests: yorick-full, yorick-dbg, yorick-mpy-openmpi | yorick-mpy-mpich2, emacsen, curl Description: interpreted language and scientific graphics 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. . This package includes an emacs-based development environment, which you can launch by typing M-x yorick in emacs. . Many add-on packages and plug-ins are available for Yorick (the package names begin with "yorick-"). You may want to install the yorick-full metapackage which depends on the vast majority of them. Package: yorick-dbg Section: debug Architecture: any Depends: yorick (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for Yorick 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 . This package contains the debugging symbols for the yorick executable. Package: yorick-data Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: yorick (>= ${source:Version}) Description: interpreted library for the Yorick language 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 yorick-data package contains all the architecture-independent data, which is mostly the standard interpreted library. Package: yorick-dev Architecture: any Depends: yorick (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: development files for the Yorick interpreted language 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 yorick-dev package contains the files needed to compile (or package) plug-ins or custom `yorick' executables. Package: yorick-mpy-mpich2 Architecture: any Depends: yorick (= ${binary:Version}), yorick-mpy-common (= ${source:Version}), mpich2, ${shlibs:Depends}, ${misc:Depends} Description: Message Passing Yorick (MPICH2 build) 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 MPY is a parallel version of Yorick based on the Message Passing Interface (MPI). This package contains a build of MPY linked against MPICH2. Package: yorick-mpy-openmpi Architecture: alpha amd64 armel armhf hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 powerpc powerpcspe ppc64 sparc sparc64 Depends: yorick (= ${binary:Version}), yorick-mpy-common (= ${source:Version}), openmpi-bin, ${shlibs:Depends}, ${misc:Depends} Description: Message Passing Yorick (OpenMPI build) 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 MPY is a parallel version of Yorick based on the Message Passing Interface (MPI). This package contains a build of MPY linked against OpenMPI. Package: yorick-mpy-common Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: yorick-mpy-openmpi (>= ${source:Version}) | yorick-mpy-mpich2 (>= ${source:Version}) Description: Message Passing Yorick (common files) 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 MPY is a parallel version of Yorick based on the Message Passing Interface (MPI). This package contains the files common to all builds of MPY. Package: yorick-doc Section: doc Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: yorick (>= 2.1.04+dfsg+cvs20071130) Description: documentation for the Yorick interpreted language 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 Yorick package ships with little documentation: a manpage, the Yorick Manual in info format, and its own "help" command. This package adds the Yorick Manual and Quick Reference in PDF and HTML format and a utility (update-yorickdoc) to build HTML documentation for the set of functions (from Yorick and add-on packages) installed on this machine. By default, these pages are built and updated automatically whenever necessary. . Once this package is installed, simply point your preferred web browser to file:///usr/share/doc/yorick-doc/README.html . Package: yorick-full Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, yorick, yorick-dev, yorick-doc, yorick-av [!armhf !ia64 !mips !mipsel !s390 !s390x !sparc], yorick-cubeview, yorick-curses, yorick-gl, yorick-gyoto, yorick-hdf5, yorick-imutil, yorick-mira, yorick-ml4, yorick-mpeg, yorick-optimpack, yorick-soy, yorick-spydr, yorick-svipc, yorick-yao, yorick-yeti, yorick-yeti-fftw, yorick-yeti-gsl, yorick-yeti-regex, yorick-yeti-tiff, yorick-yutils, yorick-z Suggests: yorick-mpy-openmpi | yorick-mpy-mpich2 Description: full installation of the Yorick interpreter and add-ons 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 yorick-full metapackage installs Yorick together with the full set of add-ons packaged for Debian. . You may prefer to only install the yorick package and cherry-pick the yorick-* add-ons you need. . If you need MPY, the MPI parallel version of Yorick, please install either yorick-mpy-openmpi or yorick-mpy-mpich2 in addition. debian/yorick.links0000664000000000000000000000103611770117412011533 0ustar usr/lib/yorick/bin/yorick usr/bin/yorick usr/lib/yorick/bin/gist usr/bin/gist usr/share/yorick/g usr/lib/yorick/g usr/share/yorick/i usr/lib/yorick/i usr/share/yorick/i0 usr/lib/yorick/i0 usr/share/yorick/packages usr/lib/yorick/packages usr/share/yorick/i-start usr/lib/yorick/i-start usr/share/yorick/python usr/lib/yorick/python usr/share/yorick/glade usr/lib/yorick/glade usr/share/yorick/data usr/lib/yorick/data usr/share/doc/yorick/copyright usr/lib/yorick/LICENSE etc/yorick/packages/pkg_setup.i usr/share/yorick/packages/pkg_setup.i debian/yorick.postrm0000664000000000000000000000073311770117412011742 0ustar #!/bin/sh set -e case $1 in purge) if [ -e /etc/yorick ]; then rm -Rf /etc/yorick fi if [ -e /usr/lib/yorick ]; then rm -Rf /usr/lib/yorick fi ;; remove) if [ -x "`which update-yorickdoc 2>/dev/null`" ]; then update-yorickdoc --auto fi ;; abort-upgrade) [ -e /usr/lib/yorick/packages/pkg_setup.i ] || ln -s /etc/yorick/packages/pkg_setup.i \\ /usr/lib/yorick/packages/pkg_setup.i ;; esac #DEBHELPER# debian/patches/0000775000000000000000000000000011770361713010625 5ustar debian/patches/template_html0000664000000000000000000000647411770117412013415 0ustar Author: Thibaut Paumard Description: Customize HTML documentation Forwarded: not-needed --- a/doc/html/template.html +++ b/doc/html/template.html @@ -51,7 +51,6 @@ %onlydoc:installwin% %onlydoc:index% -%onlydoc:index% %onlydoc:manual% %onlydoc:manual% @@ -77,9 +76,9 @@
  1. The terminal window where you type interactive commands is not part of yorick. Neither is the text -editor you use to compose yorick programs. The -installation instructions include -recommendations for terminal emulators and text editors.
  2. +editor you use to compose yorick programs. The two recommended ways +of starting yorick are either through rlwrap (rlwrap yorick) or within +the emacs editor (emacs -f yorick).
  3. Quickly read the first three chapters of the user manual. The first chapter, in particular, is a yorick tutorial.
  4. @@ -89,22 +88,22 @@ familiar with it.
  5. Choose one or more of the demonstration programs and work through it.
    -
    demo1.i
    +
    demo1.i
    a 1D hydro code written in yorick interpreted code
    -
    demo2.i
    +
    demo2.i
    solving the equations for the motion of a drumhead
    -
    demo3.i
    +
    demo3.i
    computing the motion of a chaotic pendulum
    -
    demo4.i
    +
    demo4.i
    plotting the flow past a Jakowski airfoil
    -
    demo5.i
    +
    demo5.i
    make crude 3D plots (yorick computes the projections)
  6. Yorick has a help command and a library command. Learn to use them, and learn to use your text editor to open and read -the yorick interpreted code in the Y_SITE/i -and Y_SITE/i0 directories. Often, the program +the yorick interpreted code in the Y_SITE/i +and Y_SITE/i0 directories. Often, the program you want to write will be similar to something in those directories.
  7. The yorick homepage has much more information about yorick, including @@ -121,7 +120,7 @@

    Printable Manual

    A printable version of the manual is -yorick.pdf

    +yorick.pdf.gz

    %content% debian/patches/refs_index0000664000000000000000000000135611770117412012676 0ustar Author: Thibaut Paumard Description: Change link to PDF version of refcard. Forwarded: not-needed --- yorick-2.1.04+dfsg+cvs20071118.orig/doc/refs-html/index.html 2007-11-21 17:08:56.000000000 +0100 +++ yorick-2.1.04+dfsg+cvs20071118/doc/refs-html/index.html 2007-11-21 17:12:31.000000000 +0100 @@ -37,7 +37,7 @@

    Yorick Quick Reference Cards

    A set of quick reference cards for yorick fits onto three double -sided US letter sheets. To print them, use refs.pdf. +sided US letter sheets. To print them, use refs.pdf.gz.

    The original constraint to fit onto six sheets makes the organization of this Quick Reference somewhat illogical; in debian/patches/packinfo_txt0000664000000000000000000000115211770117412013233 0ustar Author: Thibaut Paumard Description: Adapt packages index Forwarded: not-needed --- orig/doc/html/packinfo.txt 2007-12-05 09:19:48.000000000 +0100 +++ tp/doc/html/packinfo.txt 2007-12-05 09:21:09.000000000 +0100 @@ -15,10 +15,6 @@ :newsection Compiled (plugin) Yorick Packages -:yorz -read and write png or jpeg grephics files, write mpeg-1 movie files, - and interface to zlib (gzip) compression library - :drat a 2D transport equation solver for (r,z) meshes @@ -246,3 +242,6 @@ :sysafe Replacement for system function (but not $ syntax) + +:newsection +Add-on packages debian/patches/help_text0000664000000000000000000000165511770357255012561 0ustar Author: Thibaut Paumard Description: Customize "help" command text for Debian Change text of the "help" command to take the yorick-doc package into account. Forwarded: not-needed --- a/i0/std.i +++ b/i0/std.i @@ -54,8 +54,9 @@ You can find out a great deal more about Yorick by browsing through these directories. Begin with the site directory, and pay careful attention to the subdirectories doc/ (which - contains documentation relating to Yorick), and i/ and - contrib/ (which contain many examples of Yorick programs). + contains documentation relating to Yorick if the yorick-doc + package is installed) and i/ (which contain many examples of + Yorick programs). Look for files called README (or something similar) in any of these directories -- they are intended to assist browsers. The site directory itself contains std.i and graph.i, which debian/patches/yorick-auto_el0000664000000000000000000000143611770117412013475 0ustar Author: Thibaut Paumard Description: Enables yorick-mode even if yorick is not yet loaded Forwarded: yes (by e-mail, 20091202 diff -urN a/emacs/yorick-auto.el b/emacs/yorick-auto.el --- a/emacs/yorick-auto.el 2007-08-20 09:13:52.000000000 +0200 +++ b/emacs/yorick-auto.el 2007-08-20 09:15:43.000000000 +0200 @@ -4,6 +4,7 @@ (autoload 'yorick "yorick" "see yorick.el in site-lisp dir" t) (autoload 'ysh "yorick" "see yorick.el in site-lisp dir" t) (autoload 'yssh "yorick" "see yorick.el in site-lisp dir" t) +(autoload 'yorick-mode "yorick" "see yorick.el in site-lisp dir" t) (autoload 'yutil-setup "yorick" "see yorick.el in site-lisp dir" nil) (if (assoc "\\.i$" auto-mode-alist) ;; this presumes user doesn't want .i files to be in C mode (default) debian/patches/series0000664000000000000000000000010411770357327012043 0ustar template_html help_text packinfo_txt refs_index fix-weird-alignment debian/patches/fix-weird-alignment0000664000000000000000000000204211770361700014414 0ustar Subject: allow tweeking p_malloc alignment (needed for ia64) Author: Thibaut Paumard Bug: http://yorick.sourceforge.net/phpBB3/viewtopic.php?t=374 Bug-Debian: Forwarded: yes ia64 requires 16-byte alignment which is not provided by yorick's p_malloc. This causes e.g. png_read and png_write from yorick-z to fail with SIGBUS. Index: yorick-2.2.02+dfsg/play/any/mminit.c =================================================================== --- yorick-2.2.02+dfsg.orig/play/any/mminit.c 2012-04-15 10:28:11.000000000 +0000 +++ yorick-2.2.02+dfsg/play/any/mminit.c 2012-06-20 13:39:55.000000000 +0000 @@ -18,6 +18,9 @@ typedef union mm_block mm_block; typedef struct mm_arena mm_arena; +#ifndef MM_MIN_ALIGNMENT +# define MM_MIN_ALIGNMENT 1 +#endif union mm_block { mm_block *next_free; /* when not in use */ mm_arena *arena; /* when in use */ @@ -25,6 +28,7 @@ long l; double d; /* long double tickles bug for linux gcc 2.7.2 */ void (*f)(void); + char c[MM_MIN_ALIGNMENT]; }; #ifndef P_DEBUG debian/patches/mpy_manpage0000664000000000000000000003026411770117412013045 0ustar Author: Thibaut Paumard Description: add a manpage for mpy command Forwarded: yes --- /dev/null +++ b/mpy/mpy.1 @@ -0,0 +1,256 @@ +.TH MPY 1 "2010 MARCH 21" +.UC 4 +.SH NAME +mpy \- Message Passing Yorick +.SH SYNOPSIS +mpirun \-np mp_size +.B mpy +[ \-j +.I pfile1.i +[ \-j +.I pfile2.i +[ ... ]]] +[ \-i +.I file1.i +[ \-i +.I file2.i +[ ... ]]] +.br +mpirun \-np mp_size +.B mpy +\-batch +.I file.i +.br +.SH DESCRIPTION +.I Yorick +is an interpreted language like Basic or Lisp, but far faster. See +.I yorick +(1) to learn more about it. +.br +.I Mpy +is a parallel version of +.I Yorick +based on the Message Passing Interface (MPI). The exact syntax for launching a parallel job depends on your MPI environment. It may be necessary to launch a special daemon before calling +.I mirun +or an equivalent command. +.SS Explanations + +The mpy package interfaces yorick to the MPI parallel programming +library. MPI stands for Message Passing Interface; the idea is to +connect multiple instances of yorick that communicate among themselves +via messages. Mpy can either perform simple, highly parallel tasks as +pure interpreted programs, or it can start and steer arbitrarily +complex compiled packages which are free to use the compiled MPI API. +The interpreted API is not intended to be an MPI wrapper; instead it +is stripped to the bare minimum. + +This is version 2 of mpy (released in 2010); it is incompatible with +version 1 of mpy (released in the mid 1990s), because version 1 had +numerous design flaws making it very difficult to write programs free +of race conditions, and impossible to scale to millions of processors. +However, you can run most version 1 mpy programs under version 2 by +doing mp_include,"mpy1.i" before you mp_include any file defining an +mpy1 parallel task (that is before any file containg a call to +mp_task.) +.SS Usage notes +The MPI environment is not really specified by the standard; existing +environments are very crude, and strongly favor non-interactive batch +jobs. The number of processes is fixed before MPI begins; each +process has a rank, a number from 0 to one less than the number of +processes. You use the rank as an address to send messages, and the +process receiving the message can probe to see which ranks have sent +messages to it, and of course receive those messages. + +A major problem in writing a message passing program is handling +events or messages arriving in an unplanned order. MPI guarantees +only that a sequence of messages send by rank A to rank B will arrive +in the order sent. There is no guarantee about the order of arrival +of those messages relative to messages sent to B from a third rank C. +In particular, suppose A sends a message to B, then A sends a message +to C (or even exchanges several messages with C) which results in C +sending a message to B. The message from C may arrive at B before the +message from A. An MPI program which does not allow for this +possibility has a bug called a "race condition". Race conditions may +be extremely subtle, especially when the number of processes is large. + +The basic mpy interpreted interface consists of two variables: + mp_size = number of proccesses + mp_rank = rank of this process +and four functions: + mp_send, to, msg; // send msg to rank "to" + msg = mp_recv(from); // receive msg from rank "from" + ranks = mp_probe(block); // query senders of pending messages + mp_exec, string; // parse and execute string on every rank + +You call mp_exec on rank 0 to start a parallel task. When the main +program thus created finishes, all ranks other than rank 0 return to +an idle loop, waiting for the next mp_exec. Rank 0 picks up the next +input line from stdin (that is, waits for input at its prompt in an +interactive session), or terminates all processes if no more input is +available in a batch session. + +The mpy package modifies how yorick handles the #include parser +directive, and the include and require functions. Namely, if a +parallel task is running (that is, a function started by mp_exec), +these all become collective operations. That is, rank 0 reads the +entire file contents, and sends the contents to the other processes as +an MPI message (like mp_exec of the file contents). Every process +other than rank 0 is only running during parallel tasks; outside a +parallel task when only rank 0 is running (and all other ranks are +waiting for the next mp_exec), the #include directive and the include +and require functions return to their usual serial operation, +affecting only rank 0. + +When mpy starts, it is in parallel mode, so that all the files yorick +includes when it starts (the files in Y_SITE/i0) are included as +collective operations. Without this feature, every yorick process +would attempt to open and read the startup include files, overloading +the file system before mpy ever gets started. Passing the contents of +these files as MPI messages is the only way to ensure there is enough +bandwidth for every process to read the contents of a single file. + +The last file included at startup is either the file specified in the +\-batch option, or the custom.i file. To avoid problems with code in +custom.i which may not be safe for parallel execution, mpy does not +look for custom.i, but for custommp.i instead. The instructions in +the \-batch file or in custommp.i are executed in serial mode on rank 0 +only. Similarly, mpy overrides the usual process_argv function, so +that \-i and other command line options are processed only on rank 0 in +serial mode. The intent in all these cases is to make the \-batch or +custommp.i or \-i include files execute only on rank 0, as if you had +typed them there interactively. You are free to call mp_exec from any +of these files to start parallel tasks, but the file itself is serial. + +An additional command line option is added to the usual set: + mpy \-j somefile.i +.br +includes somefile.i in parallel mode on all ranks (again, \-i other.i +includes other.i only on rank 0 in serial mode). If there are +multiple \-j options, the parallel includes happen in command line +order. If \-j and \-i options are mixed, however, all \-j includes +happen before any \-i includes. + +As a side effect of the complexity of include functions in mpy, the +autoload feature is disabled; if your code actually triggers an +include by calling an autoloaded function, mpy will halt with an +error. You must explicitly load any functions necessary for a +parallel tasks using require function calls themselves inside a +parallel task. + +The mp_send function can send any numeric yorick array (types char, +short, int, long, float, double, or complex), or a scalar string +value. The process of sending the message via MPI preserves only the +number of elements, so mp_recv produces only a scalar value or a 1D +array of values, no matter what dimensionality was passed to mp_send. + +The mp_recv function requires you to specify the sender of the message +you mean to receive. It blocks until a message actually arrives from +that sender, queuing up any messages from other senders that may +arrive beforehand. The queued messages will be retrieved it the order +received when you call mp_recv for the matching sender. The queuing +feature makes it dramatically easier to avoid the simplest types of +race condition when you are write interpreted parallel programs. + +The mp_probe function returns the list of all the senders of queued +messages (or nil if the queue is empty). Call mp_probe(0) to return +immediately, even if the queue is empty. Call mp_probe(1) to block if +the queue is empty, returning only when at least one message is +available for mp_recv. Call mp_probe(2) to block until a new message +arrives, even if some messages are currently available. + +The mp_exec function uses a logarithmic fanout - rank 0 sends to F +processes, each of which sends to F more, and so on, until all +processes have the message. Once a process completes all its send +operations, it parses and executes the contents of the message. The +fanout algorithm reaches N processes in log to the base F of N steps. +The F processes rank 0 sends to are ranks 1, 2, 3, ..., F. In +general, the process with rank r sends to ranks r*F+1, r*F+2, ..., +r*F+F (when these are less than N-1 for N processes). This set is +called the "staff" of rank r. Ranks with r>0 receive the message from +rank (r\-1)/F, which is called the "boss" of r. The mp_exec call +interoperates with the mp_recv queue; in other words, messages from +a rank other than the boss during an mp_exec fanout will be queued for +later retrieval by mp_recv. (Without this feature, any parallel task +which used a message pattern other than logarithmic fanout would be +susceptible to race conditions.) + +The logarithmic fanout and its inward equivalent are so useful that +mpy provides a couple of higher level functions that use the same +fanout pattern as mp_exec: + mp_handout, msg; + total = mp_handin(value); +.br +To use mp_handout, rank 0 computes a msg, then all ranks call +mp_handout, which sends msg (an output on all ranks other than 0) +everywhere by the same fanout as mp_exec. To use mp_handin, every +process computes value, then calls mp_handin, which returns the sum of +their own value and all their staff, so that on rank 0 mp_handin +returns the sum of the values from every process. + +You can call mp_handin as a function with no arguments to act as a +synchronization; when rank 0 continues after such a call, you know +that every other rank has reached that point. All parallel tasks +(anything started with mp_exec) must finish with a call to mp_handin, +or an equivalent guarantee that all processes have returned to an idle +state when the task finishes on rank 0. + +You can retrieve or change the fanout parameter F using the mp_nfan +function. The default value is 16, which should be reasonable even +for very large numbers of processes. + +One special parallel task is called mp_connect, which you can use to +feed interpreted command lines to any single non-0 rank, while all +other ranks sit idle. Rank 0 sits in a loop reading the keyboard and +sending the lines to the "connected" rank, which executes them, and +sends an acknowledgment back to rank 0. You run the mp_disconnect +function to complete the parallel task and drop back to rank 0. + +Finally, a note about error recovery. In the event of an error during +a parallel task, mpy attempts to gracefully exit the mp_exec, so that +when rank 0 returns, all other ranks are known to be idle, ready for +the next mp_exec. This procedure will hang forever if any one of the +processes is in an infinite loop, or otherwise in a state where it +will never call mp_send, mp_recv, or mp_probe, because MPI provides no +means to send a signal that interrupts all processes. (This is one of +the ways in which the MPI environment is "crude".) The rank 0 process +is left with the rank of the first process that reported a fault, plus +a count of the number of processes that faulted for a reason other +than being sent a message that another rank had faulted. The first +faulting process can enter dbug mode via mp_connect; use mp_disconnect +or dbexit to drop back to serial mode on rank 0. +.SS Options +.TP 20 +.RI \-j \0file.i +includes the Yorick source file +.I file.i +as mpy starts in parallel mode on all ranks. This is equivalent to +the mp_include function after mpy has started. +.TP +.RI \-i \0file.i +includes the Yorick source file +.I file.i +as mpy starts, in serial mode. This is equivalent to the #include +directive after mpy has started. +.TP +.RI \-batch \0file.i +includes the Yorick source file +.I file.i +as mpy starts, in serial mode. Your customization file custommp.i, if any, is +.I not +read, +and mpy is placed in batch mode. Use the help command on the batch +function (help, batch) to find out more about batch mode. In batch +mode, all errors are fatal; normally, mpy will halt execution and +wait for more input after an error. +.PP +.SH AUTHOR +.PP +David H. Munro, Lawrence Livermore National Laboratory +.PP +.SH FILES +.PP +Mpy uses the same files as yorick, except that custom.i is replaced by +custommp.i (located in /etc/yorick/mpy/ on Debian based systems) and +the Y_SITE/i\-start/ directory is ignored. +.SH SEE ALSO +yorick(1) debian/patches/texi2html800000664000000000000000000001007511770117412012636 0ustar Author: Thibaut Paumard Description: Adapt doc build system to texi2html 1.82 Forwarded: http://yorick.sourceforge.net/phpBB2/viewtopic.php?t=251 Bug-Debian: http://bugs.debian.org/552966 # Adapt doc build system to texi2html 1.82 thanks to Lucas Nussbaum # (Closes: #552966). --- a/doc/html/Makefile +++ b/doc/html/Makefile @@ -5,7 +5,7 @@ # http://www.nongnu.org/texi2html/ YORICK = ../../yorick/yorick DESTDIR = /usr/local/share/doc/yorick -TEXI2HTML = texi2html -init_file html/texi2html.init +TEXI2HTML = texi2html -init_file html/texi2html.init -output yorick #select mac or win version of ../README.html PLATFORM=mac BUILDDIR=compiled-doc/ --- a/doc/html/texi2html.tpl +++ b/doc/html/texi2html.tpl @@ -107,18 +107,17 @@ sub my_print_navigation($$$) { - my $fh = shift; +# my $fh = shift; my $buttons = shift; my $vertical = shift; my $spacing = 1; - print $fh '\n"; + my $result = '
    \n"; - print $fh "" unless $vertical; + $result .= "" unless $vertical; for my $button (@$buttons) { - print $fh qq{\n} if $vertical; - print $fh qq{\n} if $vertical; + $result .= qq{\n"; - print $fh "\n" if $vertical; + $result .= "\n"; + $result .= "\n" if $vertical; } - print $fh "" unless $vertical; - print $fh "
    }; + $result .= qq{
    }; if (ref($button) eq 'CODE') { @@ -126,7 +125,7 @@ } elsif (ref($button) eq 'SCALAR') { - print $fh "$$button" if defined($$button); + $result .= "$$button" if defined($$button); } elsif (ref($button) eq 'ARRAY') { @@ -138,7 +137,7 @@ my $btn_hr = $Texi2HTML::HREF{$button_href}; if ($btn_hr) { - print $fh "" . + $result .= "" . &$anchor('', my_strip_href($btn_hr), $$text @@ -147,13 +146,13 @@ } else { - print $fh $$text; + $result .= $$text; } } } elsif ($button eq ' ') { # handle space button - print $fh + $result .= $ICONS && $ACTIVE_ICONS{' '} ? &$button_icon_img($button, $ACTIVE_ICONS{' '}) : $NAVIGATION_TEXT{' '}; @@ -166,7 +165,7 @@ 'title="' . ucfirst($BUTTONS_GOTO{$button}) . '"' : ''; if ($ICONS && $ACTIVE_ICONS{$button}) { # use icon - print $fh '' . + $result .= '' . &$anchor('', my_strip_href($btn_hr), &$button_icon_img($button, @@ -178,7 +177,7 @@ } else { # use text - print $fh + $result .= '[' . &$anchor('', my_strip_href($btn_hr), @@ -190,7 +189,7 @@ } else { # button is passive - print $fh + $result .= $ICONS && $PASSIVE_ICONS{$button} ? &$button_icon_img($button, $PASSIVE_ICONS{$button}, @@ -199,11 +198,12 @@ "[" . $NAVIGATION_TEXT{$button} . "]"; } - print $fh "
    \n"; + $result .= "" unless $vertical; + $result .= "\n"; + return $result; } 1; # This must be the last non-comment line debian/patches/mpy1_breaks_htmldoc0000664000000000000000000000300411770117412014467 0ustar Author: Thibaut Paumard Description: update-yorickdoc failed on mpy1.i fix DOCUMENT comment syntax to something supported by htmldoc.i Forwarded: yes --- a/mpy/mpy1.i +++ b/mpy/mpy1.i @@ -9,7 +9,9 @@ */ func mp_recv1(..) -/* DOCUMENT mp_recv1 ***implements obsolete mpy1 mp_recv API*** */ +/* DOCUMENT mp_recv1 + ***implements obsolete mpy1 mp_recv API*** + */ { local dims; while (more_args()) accum_dimlist, dims, next_arg(); @@ -18,7 +20,9 @@ if (is_void(mp_recv2)) mp_recv2 = mp_recv; func mp_from(flag) -/* DOCUMENT mp_from ***obsolete mpy1 function*** (see mp_probe) */ +/* DOCUMENT mp_from + ***obsolete mpy1 function*** (see mp_probe) + */ { if (!flag) return mp_probe(-1); /* undocumented mp_probe feature */ f = mp_probe(flag != 1); @@ -26,7 +30,9 @@ } func mp_task(task) -/* DOCUMENT mp_task ***obsolete mpy1 function*** */ +/* DOCUMENT mp_task + ***obsolete mpy1 function*** + */ { name = nameof(task); if (!is_func(task)) error, "cannot register non-function: "+name; @@ -85,11 +91,15 @@ } local mp_start; -/* DOCUMENT mp_start ***obsolete mpy1 function*** */ +/* DOCUMENT mp_start + ***obsolete mpy1 function*** + */ mp_start = call; /* work already done by _mpy1_starter */ func mp_bcast(origin, msg, .., nfan=) -/* DOCUMENT mp_bcast ***obsolete mpy1 function*** (see mp_handout) */ +/* DOCUMENT mp_bcast +***obsolete mpy1 function*** (see mp_handout) +*/ { me = (mp_rank - origin + mp_size)%mp_size; if (is_void(nfan)) nfan = 2; debian/patches/info_section0000664000000000000000000000110011770117412013212 0ustar Author: Thibaut Paumard Description: Change section in yorick.info from Miscellaneous to Math Forwarded: not-needed diff -urN orig/doc/yorick.tex tp/doc/yorick.tex --- orig/doc/yorick.tex 2006-05-05 13:51:17.168930800 +0200 +++ tp/doc/yorick.tex 2006-05-05 13:52:39.001490360 +0200 @@ -2,7 +2,7 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename yorick.info @settitle Yorick -@dircategory Miscellaneous +@dircategory Math @direntry * Yorick: (yorick). Yorick interpreted language. @end direntry debian/yorick.dirs0000664000000000000000000000040611770117412011354 0ustar usr/local/lib/yorick usr/local/lib/yorick/i usr/local/lib/yorick/i0 usr/local/lib/yorick/contrib usr/local/lib/yorick/i-start usr/local/lib/yorick/lib usr/local/lib/yorick/packages usr/local/lib/yorick/python usr/local/lib/yorick/glade usr/local/lib/yorick/data debian/yorick.menu0000664000000000000000000000041711770117412011361 0ustar ?package(yorick):needs="text" section="Applications/Science/Data Analysis"\ title="Yorick" command="rlwrap yorick 2> /dev/null || yorick"\ icon16x16="yorick16x16.xpm" icon32x32="yorick32x32.xpm"\ longtitle="Shell for numerical computations and scientific graphics"