debian/0000755000000000000000000000000012205656264007176 5ustar debian/README.source0000644000000000000000000000471712205656264011366 0ustar Options supported by PAW's debian/rules in $DEB_BUILD_OPTIONS: noopt: Compile everything with no optimization, i.e. -O0. The default is to compile at -O2 or -O3 for almost all files. nostrip: Do not strip debugging information from the binaries and libraries. ifort: Compile with Intel's icc and ifort (formerly ifc) compilers, not gcc and gfortran. You must first set and export $LD_LIBRARY_PATH, or edit /etc/ld.so.conf and run ldconfig, such that the Intel library libimf.so is in the library runtime search path. You also need to have first installed versions of BLAS, LAPACK, and CERNLIB compiled with ifort. This option has not been fully tested. gfortran: Formerly, compiled with the new GNU FORTRAN compiler, gfortran. gfortran is now the default and this option is no longer useful; also, time moving forward, there is no longer a way to build with g77. Targets supported by PAW's debian/rules: help: Output this text (found in debian/README.source). get-orig-source: Recreate the tarballs in the "upstream" directory and build a new orig.tar.gz file in the ".." dir after removing non-free files/directories listed in debian/deadpool.txt. unpack: Expand the upstream tarballs into a subdir "src" of the current dir. patched, patch: (These are synonyms.) Apply Debian patches to the unpacked source code. After this target has been called, any additional edits to the source code will be preserved when running "fakeroot debian/rules binary". unpatch: De-apply Debian patches without deleting unpacked source. build, clean, etc: Standard Policy-required targets. It may be of interest to describe some of the contents of the debian directory: add-ons: Non Debian-specific additions to PAW, including such things as man pages, X11 application defaults, and a master Makefile. control.d: Fragments of the debian/control file. It is regenerated from these snippets by "debian/rules clean". debhelper: Files for debhelper tools, kept here so things are tidier. These are symlinked from the main debian directory at build time by "debian/rules install-common", and the symlinks are removed by "debian/rules clean". lintian: Lintian overrides. patches: Debian patches to PAW source in dpatch format. (See debian/patches/README as there are some weird things here.) debian/copyright0000644000000000000000000002075512205656264011142 0ustar This package was debianized by Kevin B. McCarty and Lifeng Sun . It was downloaded from the URL http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/2006_src.tar.gz The very large file 2006_src.tar.gz was split up into individual modules, from which non-free files were removed, of which the relevant ones have been recompressed in the "upstream" directory of the paw source package. See the file debian/README.Debian-source in the source package for a detailed description of this process. COPYRIGHT --------- CERNLIB, including PAW, is copyright (C) CERN and others. As of this writing, 11 Jan 2008, the page http://wwwasd.web.cern.ch/wwwasd/cernlib/conditions.html (which gives the terms under which CERNLIB may be used) states: CERNLIB Availability (C) Copyright CERN except where explicitly stated otherwise. Permission to use and/or redistribute this work is granted under the terms of the GNU General Public License. FLUKA routines included in GEANT3 are joint copyright of INFN and CERN and are not licensed under the GPL: permission to use and/or redistribute outside GEANT3 should be negotiated. The software and documentation made available under the terms of this license are provided with no warranty. Last modified: 18-March-2004 The aforementioned FLUKA routines have been excised from the CERNLIB source code and binary packages distributed by Debian. There is some ambiguity as to whether CERN intended to have CERNLIB available specifically under GPL version 2 (the current version at the time the above- mentioned web page was written) or always under the current version. (The text "GNU General Public License" in the web page quoted above is a hyperlink to http://www.gnu.org/copyleft/gpl.html which, as of this writing, references GPL version 3.) I have requested clarification from the upstream maintainer. In the meantime, it should be noted that the orig.tar.gz files for CERNLIB in Debian were obtained from the upstream web site prior to the release of GPL version 3. It therefore seems to me to be safe to assume that re-distribution of CERNLIB from the Debian source packages is permissible under the terms either of GPL version 2 or of the current GPL version, at the re-distributor's option. On Debian systems, the complete text of the current version of the GNU General Public License can be found in the file `/usr/share/common-licenses/GPL-3'. The text of version 2 can be found at `/usr/share/common-licenses/GPL-2'. EXCEPTIONS ---------- Some source files of PAW are provided (in parts, or in entirety) under different licenses which are compatible with the GPL. See the table and licenses below for details. (File paths are relative to the directory paw-$VERSION/src/ after running "debian/rules unpack".) Most of the differences in the licenses below are only in the exact wordings. The "Package(s)" column lists the binary Debian packages in which each piece of code is compiled or otherwise included. Copyright codes are as follows: LGPL - Library GPL BSD - BSD style license NO AD - BSD style license with negative advertising clause Package codes are as follows: Dev = libpawlib2-dev Paw++ = libpawlib-lesstif3-gfortran, libpawlib-lesstif3-dev, paw++ Src = [not included in binary packages, only source package] File(s) Package(s) License type Owner ------- ---------- ------------ ----- cfortran/* Dev LGPL [1] [a] pawlib/paw/hmotif/uxxt.h Paw++ NO AD [2] [b] pawlib/paw/paw/tree.h Src BSD [3] [c] pawlib/paw/tree/tree.c Src BSD [3] [c] pawlib/paw/tree/treep.h Src BSD [3] [c] pawlib/paw/{xbae,xbaevms}/caption.c Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/caption.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/captionp.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/clip.c Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/clip.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/clipp.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/matrix.c Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/matrix.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/matrixp.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/version.c Src NO AD [4] [d] pawlib/paw/xbae/cell.c Src NO AD [5] [e] pawlib/paw/xbae/cell.h Src NO AD [5] [e] pawlib/paw/xbae/cellp.h Src NO AD [5] [e] Exception copyright holders --------------------------- [a] Burkhard Burow, , http://www-zeus.desy.de/~burow/cfortran/index.htm [b] Visual Edge Software Ltd. [c] Massachusetts Institute of Technology and Prentice Hall [d] Bell Communications Research, Inc. (Bellcore) [e] Q. Frank Xia, Exception license details ------------------------- [1] On Debian systems, the complete text of the GNU Library General Public License can be found in the file `/usr/share/common-licenses/LGPL-2'. [2] Copyright (c) 1991, Visual Edge Software Ltd. ALL RIGHTS RESERVED. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Visual Edge Software not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The year included in the notice is the year of the creation of the work. [3] Copyright 1990 Massachusetts Institute of Technology Copyright 1989 Prentice Hall Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice appear in supporting documentation. M.I.T., Prentice Hall and the authors disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall M.I.T., Prentice Hall or the authors be liable for any special, indirect or cosequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. [4] Copyright(c) 1992 Bell Communications Research, Inc. (Bellcore) All rights reserved Permission to use, copy, modify and distribute this material for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies, and that the name of Bellcore not be used in advertising or publicity pertaining to this material without the specific, prior written permission of an authorized representative of Bellcore. BELLCORE MAKES NO REPRESENTATIONS AND EXTENDS NO WARRANTIES, EX- PRESS OR IMPLIED, WITH RESPECT TO THE SOFTWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR PURPOSE, AND THE WARRANTY AGAINST IN- FRINGEMENT OF PATENTS OR OTHER INTELLECTUAL PROPERTY RIGHTS. THE SOFTWARE IS PROVIDED "AS IS", AND IN NO EVENT SHALL BELLCORE OR ANY OF ITS AFFILIATES BE LIABLE FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES RELAT- ING TO THE SOFTWARE. [5] Copyright(C) Q. Frank Xia (qx@math.columbia.edu), 1994. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Q. Frank Xia not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. This software is provided as-is and without any warranty of any kind. DELETIA ------- The following files and directories have been removed from the Debian source package of CERNLIB due to license ambiguities or incompatibilities with the GPL (e.g. positive BSD advertising clause). If needed, they may be found in the upstream source tarballs. car/geanf.car car/geanf321.car car/jetset74.car pawlib/comis/comis/dlfcn.inc pawlib/comis/deccc/dlfcn.c pawlib/comis/obsolete/rsibm/ pawlib/paw/stagerd/bftp.c debian/addresstest.c0000644000000000000000000000253112205656264011670 0ustar #include #include #include /* stupid program to figure out where ia64 puts stuff */ extern int errno; int output(void) { return 5; } int foo; int bar = 12; int baz[100]; int main(void) { int foo2; int bar2 = 12; static int bar3 = 5; char baz2[100]; static char baz3[100] = { 0, }; char * m; m = malloc(5); printf("shared lib function (malloc) = %p\n", (void *)malloc); printf("shared lib variable (errno) = %p\n\n", (void *)&errno); printf("local function (output) = %p\n", (void *)output); printf("local function (main) = %p\n", (void *)main); printf("constant string (\"str\") = %p\n\n", (void *)"str"); printf("static variable (foo) = %p\n", (void *)&foo); printf("constant (bar) = %p\n", (void *)&bar); printf("static array (baz) = %p\n", (void *)baz); printf("static local variable (bar3) = %p\n", (void *)&bar3); printf("static local array (baz3) = %p\n", (void *)baz3); printf("memory on heap (m) = %p\n\n", (void *)m); // I thought the stack on ia64 was supposed to be 0x8... up to 0xa... // why aren't the following found at 0x9fff... ? printf("automatic variable (foo2) = %p\n", (void *)&foo2); printf("const auto variable (bar2) = %p\n", (void *)&bar2); printf("automatic array (baz2) = %p\n", (void *)baz2); return 0; } debian/source/0000755000000000000000000000000012205656264010476 5ustar debian/source/format0000644000000000000000000000001412205656264011704 0ustar 3.0 (quilt) debian/changelog0000644000000000000000000003201412205656264011050 0ustar paw (1:2.14.04.dfsg.2-9) unstable; urgency=low * debian/control: - remove obsolete dpatch from build-dep. - remove obsolete DM-Upload-Allowed field. - transition from lesstif2 to motif. (Closes: #717640) - canonical VCS-* fields. - bump Standards-Version to 3.9.4. * Remove unused lintian-overrides. * Support multiarch. -- Lifeng Sun Fri, 23 Aug 2013 20:59:20 +0800 paw (1:2.14.04.dfsg.2-8) unstable; urgency=low * Team upload * debian/rules: set locale to C before including CERN makefile snippet (closes: #660246) * rename debian/debhelper to debian/dh, as indicated by maintainer. (closes: #640572) -- Ralf Treinen Sat, 18 Feb 2012 20:13:38 +0100 paw (1:2.14.04.dfsg.2-7) unstable; urgency=low * New maintainer. Thanks Kevin B. McCarty for contributing to the HEP free software community over the years. (Closes: #619393) * Bump Standards-Version to 3.9.1 - debian/copyright: specify current version of GPL. - Add ${misc:Depends} to debian/control Depends for all binary packages. - debian/control.d/libpawlib{2,-lesstif3}-dev.control: change "Conflicts" to "Breaks". * Fix FTBFS #552905, thanks Steve Langasek . * Remove duplicated section field from control files: - debian/control.d/debian/control.d/paw++.control - debian/control.d/paw-common.control - debian/control.d/paw-demos.control - debian/control.d/paw.control * debian/source/format: set source format to 1.0. * Add typo fixing patches 131 and 132. * Update patch 119: include stdlib.h to declare 'free' function. * Update patch 211: eliminate warning on incompatible pointers. * debian/rules: remove obsolete dh_desktop. * debian/control.d/0base.control: add Vcs-{Git,Browser} fields. * debian/lintian/paw: remove override menu-command-not-in-package. * debian/lintian/{libpawlib-lesstif3,libpawlib2-gfortran}: override no-symbols-control-file. [ Sylvestre Ledru ] * Switch to dpkg-source 3.0 (quilt) format -- Lifeng Sun Mon, 28 Mar 2011 17:43:30 +0800 paw (1:2.14.04.dfsg.2-6) unstable; urgency=low * Patch 302: minor fixes to paw script to allow it to properly call binaries in $CERNLIB/$CERN_LEVEL/bin if those environment variables are set. * Patch 804: fix Debian-specific bug that caused PAW to abort if the difference between two pointers used by COMIS was in the range given by INT_MAX < diff <= UINT_MAX. Thanks to Giuseppe Tagliente for the bug report (by private email). -- Kevin B. McCarty Wed, 25 Jun 2008 20:47:41 -0700 paw (1:2.14.04.dfsg.2-5) unstable; urgency=low * Patch 804: omit "extern" from common block declaration since the "extern" is included in the cfortran.h COMMON_BLOCK_DEF macro as of cfortran.h version 4.4-12. * Build-Depend on cfortran (>= 4.4-12) for this change. * Patch 307: refresh internal copy of cfortran.h to 4.4-12 (although we do not use this internal copy in the build, it's best to be consistent). -- Kevin B. McCarty Fri, 09 May 2008 12:15:22 -0700 paw (1:2.14.04.dfsg.2-4) unstable; urgency=low * Create symlinks from /usr/share/icons/hicolor/{32x32,48x48}/apps/paw.xpm to /usr/share/pixmaps/paw{32x32,48x48}.xpm in paw-common package. * Apply patch to Paw++ desktop file from Patrice Dumas. * Run dh_icons in debian/rules binary-indep target. * Build-Depend on debhelper (>= 6.0.12) since we need fix for #448094. -- Kevin B. McCarty Mon, 21 Apr 2008 09:26:57 -0700 paw (1:2.14.04.dfsg.2-3) unstable; urgency=low * Fix unescaped hyphens in paw.1 man page. * Remove deprecated Encoding field from Paw++ desktop entry. * Upload to unstable. -- Kevin B. McCarty Mon, 25 Feb 2008 13:46:00 -0800 paw (1:2.14.04.dfsg.2-2) experimental; urgency=low * Transition to gfortran: - Re-do build dependencies (require minimum of 2006.dfsg.2-7 for CERNLIB dependencies and 4.4-10 for cfortran) and append "-gfortran" suffix to runtime library package names. Explicitly Build-Depend on new libblas-dev and liblapack-dev packages and gfortran (>= 4:4.3). - Patch 320: Add -DgFortran to the build flags in a few additional places. - Depend on gfortran rather than g77 as FORTRAN compiler (closes: #440755). - Update README.64-bit and other files to mention gfortran in place of g77. * Bump Standards-Version to 3.7.3: - Menu policy update: Apps/Science -> Applications/Science/Data Analysis. * Miscellaneous small changes: - Remove mention of no-longer-used "keepbuild" $DEB_BUILD_OPTION in README.source. - Make sure all patches have a "## DP:" comment header. - Add Homepage field in control file. - Mention the (somewhat ambiguous) switch to GPL v3 in copyright file. - Uniformly capitalize CERNLIB, COMIS, PAW and Paw++ properly in Debian packaging files (except old changelog entries). - Minor updates / improvements to README.64-bit and paw{,++}.README.debian. - Reference kuesvr man page now in section 7 instead of 1. - Do not assume that $LD_LIBRARY_PATH is empty in debian/rules (fixes error messages from fakeroot). - Increase left bar of Paw++ GUI from 80 to 100 pixels width in Paw++ app-defaults file, to make the appearance of an annoying horizontal scroll-bar less likely. -- Kevin B. McCarty Wed, 30 Jan 2008 16:43:51 -0800 paw (1:2.14.04.dfsg.2-1) unstable; urgency=low * Repackage orig.tar.gz. Necessary due to bug caused by #416008. * Bump soversion of libpawlib-lesstif to 3, due to removal of old embedded code. This is mainly for purposes of paranoia, since all my tests using code previously built against the soversion-2 library worked OK without the soname change. Should have been done in 1:2.14.04.dfsg-1, but better late than never. * Since I have the opportunity, change libpawlib-lesstif package naming scheme from libpawlibN-lesstif{,-dev} to libpawlib-lesstifN{,-dev} (N being the soversion) to fix Lintian warning about misnamed packages. * Add debian/README.Debian-source file. * Update package long descriptions and README.64-bit file (statically linked COMIS should work on ia64 and alpha as well as amd64 now). * Upload to unstable to join other parts of Cernlib 2006 in Sid. Build-dependencies are now consistent with linker flags output by "cernlib" dependency script, fixing FTBFS. (Closes: #421985) -- Kevin B. McCarty Thu, 10 May 2007 17:33:37 -0400 paw (1:2.14.04.dfsg-1) experimental; urgency=low * New upstream release (Cernlib 2006). - Upstream has not changed the PAW version number, so add ".dfsg" to it in the new orig.tar.gz (which I should have done in the first place anyway). - Resync patches 207, 601, 801 to deal with upstream fixes. - Remove patch 315 (Mac OSX support); it appears to be superseded upstream. - s/2005/2006/ in library filenames in debian/debhelper/lib*.install. * Deal with upstream decision to ship one massive tarball of Cernlib 2006: - Update debian/README.source and debian/copyright.in. - Use remove-deadpool and gmake scripts now shipped in cernlib-base-dev; remove no-longer-needed copies from debian/add-ons/bin, and Build-Depend upon cernlib-base-dev. * New patch 120: Fix syntax error in file src/pawlib/paw/cdf/mlpcdf.cdf (missing ">Guidance" keyword before help text for TPAT menu). * New patch 121: Call gfortran, not g77, from cscrexec.F in the case when gfortran is the selected Fortran compiler, on Linux and Mac OS X. * New patch 706: No longer build old embedded libXbae and libXaw code in pawlib/paw/tree and pawlib/paw/xbae. Hence also Build-Depend and have the libpawlib2-lesstif-dev package Depend on libxbae-dev, libxaw7-dev, and cernlib-base-dev, which has an appropriately modified "cernlib" library dependency script. Also update debian/add-ons/INSTALL and debian/copyright.in. * debian/add-ons/paw/*, debian/debhelper/libpawlib2-lesstif-dev.install: Provide dummy versions of tree.h and converter.h (the Xaw-related headers) for backwards API compatibility (in case any third parties were actually using those files, which I highly doubt). - debian/add-ons/Makefile: Stop hacking tree.h. - debian/rules: Delete the real copies of these files from libpawlib2-dev rather than moving them into libpawlib2-lesstif-dev. - Patch 119: No longer patch converter.h. - Patch 317: Remove; all it did was move converter.h around. * Remove old dummy transition packages "paw-static" and "paw++-static". Binaries in the paw and paw++ packages are (and have been since pre-Etch) dynamically linked on 32-bit and statically linked (only against CERN libraries) on 64-bit arches. * Change debhelper flags -a to -s. -- Kevin B. McCarty Tue, 6 Mar 2007 15:09:30 -0500 paw (1:2.14.04-7) unstable; urgency=medium * debian/add-ons/app-defaults/Paw++: Two categories of fixes to the app-defaults shipped in /etc/X11/app-defaults/Paw++. - Add some colors to improve the appearance of icons in the browser. - Add geometry constraints on certain widgets, fixing an important GUI bug (not filed in the BTS) that was causing parts of the Paw++ UI not to be displayed. Hence urgency set to medium. -- Kevin B. McCarty Fri, 19 Jan 2007 15:13:37 -0500 paw (1:2.14.04-6) unstable; urgency=low * debian/add-ons/misc/comis-64bit-example.F: Add COMIS example code (illustrating some pitfalls of using COMIS on 64-bit machines) to the libpawlib2-dev package. Update README.64-bit to mention it. * debian/control.d/lib*-dev.control: Re-order dependencies of lib*-dev packages such that the corresponding lib* package comes last. * debian/control.d/0base.control: Bump libpacklib1-dev build dependency to >= 2005.dfsg-5. -- Kevin B. McCarty Wed, 27 Sep 2006 16:01:07 -0400 paw (1:2.14.04-5) unstable; urgency=low * debian/control.d/*: Substitute deprecated ${Source-Version} with ${binary:Version} for lib*-dev packages depending on lib* packages. Hence Build-Depend upon dpkg-dev (>= 1.13.19). * debian/control.d/0base.control: Bump build dep on libpacklib1-dev to (>= 2005.dfsg-4) as it includes new Harald Vogt 64-bit fixes. * debian/debhelper/paw{,++}.README.debian: Update the pointer to information about how to reconfigure the X server after modifying its config file (the file /usr/share/doc/x11-common/FAQ.xhtml no longer exists). -- Kevin B. McCarty Tue, 19 Sep 2006 15:36:40 -0400 paw (1:2.14.04-4) unstable; urgency=low * Patches 119, 211: Fix a number of additional minor C compiler warnings. * debian/rules: Use $(CURDIR) instead of $(PWD) when testing dynamically linked PAW. This test should no longer fail due to $LD_LIBRARY_PATH being set incorrectly on buildds using sudo instead of fakeroot (i.e., alpha, mips, mipsel). * debian/README.64-bit: New version, copied from Cernlib source package. * debian/README.source: Mention new gfortran option to $DEB_BUILD_OPTIONS. -- Kevin B. McCarty Fri, 8 Sep 2006 15:10:36 -0400 paw (1:2.14.04-3) unstable; urgency=low * New patch 320 against csinit.F to ensure that if we are using ifort or gfortran, PAW compiles code using the right compiler. * New patch 119, to fix various compiler warnings, from Harald Vogt . * Patch 211: Merge in updated 64-bit patches from Harald Vogt dated 2006-07-20. Try, however, to be more general in cscal_lp64.h in terms of architectures accepted and whether variables on the stack can be used. * Bump Build-Depends on cernlib packages to >= 2005.dfsg-3 to take advantage of related Harald Vogt patches in them for statically linked binaries. * Remove unused optional patches 901 and 902 that were left over from before the cernlib source package split. * Add trivial program "addresstest.c" to diff.gz and run it at build time to see what the memory segmentation looks like on each arch. Print out PAW errors to build log if dynamically linked PAW is broken. -- Kevin B. McCarty Thu, 7 Sep 2006 20:48:13 -0400 paw (1:2.14.04-2) unstable; urgency=low * patch 211: Include patch for cfortran/hbook.h from cernlib source package. (The build looks for hbook.h there in preference to /usr/include/cfortran/) Fixes FTBFS on 64-bit arches. -- Kevin B. McCarty Wed, 9 Aug 2006 19:29:24 -0400 paw (1:2.14.04-1) unstable; urgency=low * Split off PAW and Paw++ into a separate source package. Use the version numbering embedded in source instead of the date of release. * For previous changelog entries (versions 2005.05.09.dfsg-9 and earlier), please see the changelog.Debian in the cernlib-base binary package or the cernlib source package. -- Kevin B. McCarty Thu, 6 Jul 2006 10:11:35 -0400 debian/README.Debian-source0000644000000000000000000000735712205656264012551 0ustar As of CERNLIB version 2006, upstream ships all CERNLIB code in a single enormous tarball. The tarball may be obtained as of this writing from the URL http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/2006_src.tar.gz For reasons that are partly historical (this is the first time upstream has shipped a single monolithic tarball), and partly concerned with maintainability (having several fairly independent source packages implies less frequent uploads for each), CERNLIB is split up into four source packages in Debian: "cernlib", "mclibs", "paw", and "geant321", and these source packages (tarballs within tarballs) are generated in a somewhat convoluted fashion. Note that repackaging the upstream source would have been necessary in any event, due to numerous unimportant files, as well as some Monte Carlo libraries, that have unclear or non-free licenses. In order to generate the orig.tar.gz, one needs to take the following steps. These instructions are generically applicable to all four CERNLIB source packages in Debian; everywhere below, consider "cernlib" as a variable standing for the actual name of the source package in question. Either: a) Taking care to have the cernlib-base-dev binary package installed (except if you are building the orig.tar.gz for the "cernlib" source package), with version >= 2006.dfsg.2-1, cd into the Debian source package directory (cernlib- for instance), place the above-mentioned CERNLIB 2006_src.tar.gz upstream tarball into "..", and run the command "fakeroot debian/rules get-orig-source". The file "../cernlib_.orig.tar.gz" (e.g.) should be generated automatically. b) If you are a glutton for punishment, a new orig.tar.gz can be generated manually as follows. This is best done in a separate scratch directory that initially contains no files other than the 2006_src.tar.gz tarball from upstream. You will need to have a copy of the Debian source package in question (at least, the files under the debian directory) for reference. i) Uncompress the tarball; it will unpack into a directory named "2006". ii) Create a directory named cernlib-.orig ("cernlib" being the source package name, and the upstream version, including any ".dfsg*" suffix). iii) Create a subdirectory "upstream" under cernlib-.orig. iv) For each subdirectory or file inside the directory "2006/src" that is mentioned in the $(MY_MODULES) "make" variable at the top of debian/rules, do the following, supposing that the subdirectory or file is named . * mkdir -p cernlib-.orig/upstream/2006/src/ * cp -a 2006/src/ cernlib-.orig/upstream/2006/src/ * Delete non-free files: For each file or directory listed in debian/deadpool.txt, if that file or directory appears with the given path relative to cernlib-.orig/upstream/2006/src, delete it. * cd cernlib-.orig/upstream/ * tar czf src_.tar.gz 2006 * rm -r 2006 # remember, this is under the nascent Debian source # tree, NOT in your main scratch directory * Change back up to your scratch directory For any module tarball src_.tar.gz that contains only code identical to that in the last official Debian orig.tar.gz, you can just copy in that module tarball from the old unpacked orig.tar.gz to the new source directory, skipping the above bullet points. (Unless, of course, the module tarball needs to be rebuilt because it was just discovered to contain more non-free code.) v) tar cf cernlib_.orig.tar cernlib-.orig vi) gzip -v9 cernlib_.orig.tar -- Kevin B. McCarty , Thu, 26 Apr 2007 debian/patches/0000755000000000000000000000000012205656264010625 5ustar debian/patches/121-call-gfortran-in-cscrexec.dpatch0000755000000000000000000000317712205656264017262 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 121-call-gfortran-in-cscrexec.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Build temporary shared libs with gfortran when it is the default ## DP: Fortran compiler on Linux and OS X. @DPATCH@ diff -urNad paw-2.14.04.dfsg~/src/pawlib/comis/code/cscrexec.F paw-2.14.04.dfsg/src/pawlib/comis/code/cscrexec.F --- paw-2.14.04.dfsg~/src/pawlib/comis/code/cscrexec.F 2007-03-06 15:05:30.173089849 -0500 +++ paw-2.14.04.dfsg/src/pawlib/comis/code/cscrexec.F 2007-03-06 15:08:05.919014086 -0500 @@ -179,14 +179,25 @@ ENDIF #endif #if defined(CERNLIB_LINUX) && !defined(CERNLIB_MACOSX) - CHLINE= 'ld -shared -o ' +#if defined (CERNLIB_GFORTRAN) + CHLINE= 'gfortran -shared -o ' + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' +#else + CHLINE= 'g77 -shared -o ' + + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' +#endif #endif #if defined(CERNLIB_MACOSX) +#if defined (CERNLIB_GFORTRAN) + CHLINE= 'gfortran -bundle -bundle_loader `/usr/bin/which pawX11`' + + // ' -bind_at_load -o ' + + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' +#else CHLINE= 'g77 -bundle -bundle_loader `/usr/bin/which pawX11` ' + // ' -bind_at_load -o ' + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' #endif +#endif #if defined(CERNLIB_ALPHA_OSF) CHLINE= 'ld -shared -o ' + // NAME(:LN) //'.sl '// NAME(:LN) //'.o \\' debian/patches/313-comis-preserves-filename-case.dpatch0000755000000000000000000000162512205656264020142 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 313-comis-preserves-filename-case.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Have COMIS preserve filename case when interpreting FORTRAN code. @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F /tmp/dpep.GROFhd/cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F --- cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F 1999-05-20 03:37:18.000000000 -0400 +++ /tmp/dpep.GROFhd/cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F 2005-06-09 15:23:49.276738602 -0400 @@ -140,7 +140,7 @@ CHUTIT = ' ' * IF (IPIAF.EQ.0) THEN - CALL KUOPEN(10,'PAW.METAFILE','UNKNOWN',ISTAT) + CALL KUOPEN(10,'paw.metafile','UNKNOWN',ISTAT) #if (defined(CERNLIB_IBM))&&(!defined(CERNLIB_IBMMVS)) CALL HERMES(19) CALL VMCMS('FILEDEF 19 DISK GKSERROR OUTPUT A',IRET) debian/patches/207-compile-temp-libs-with-fPIC.dpatch0000755000000000000000000000235012205656264017375 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 207-compile-temp-libs-with-fPIC.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Compile temporary COMIS libraries with -fPIC for non-x86 arches. @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F /tmp/dpep.srSRmd/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F --- cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F 2000-09-25 10:16:36.000000000 -0400 +++ /tmp/dpep.srSRmd/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F 2005-06-09 15:47:44.859676286 -0400 @@ -81,12 +81,12 @@ WRITE(LUNOUT,'(A)')CHLINE(:L) IF(FEXT.EQ.'.c')THEN L=LENOCC(CHCC) -* 'cc -c .... name.c' - CHLINE=CHCC(:L)//' '//NAME(:LN)// '.c' +* 'cc -c .... -fPIC name.c' + CHLINE=CHCC(:L)//' -fPIC '//NAME(:LN)// '.c' ELSE L=LENOCC(CHF77) -* 'f77 -c .... name.f' - CHLINE=CHF77(:L)//' '//NAME(:LN)// '.f' +* 'f77 -c .... -fPIC name.f' + CHLINE=CHF77(:L)//' -fPIC '//NAME(:LN)// '.f' ENDIF L=LENOCC(CHLINE) WRITE(LUNOUT,'(A)')CHLINE(:L) debian/patches/105-fix-obsolete-xmfontlistcreate-warning.dpatch0000755000000000000000000000307512205656264021761 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 105-fix-obsolete-xmfontlistcreate-warning.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix Lesstif warning about use of obsolete XmFontListCreate() function @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c /tmp/dpep.kv7bf1/cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c --- cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c 2000-10-03 10:11:22.000000000 -0400 +++ /tmp/dpep.kv7bf1/cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c 2005-06-09 14:39:00.803818666 -0400 @@ -215,18 +215,22 @@ *****************************************************************************/ static void MajButton(Widget w, Widget font,Widget pre,int postab) { + /* this function edited not to use obsolete function XmFontListCreate() */ XmFontList police; + XmFontListEntry entry; XFontStruct *info_police; char strlabel[20]; int prenum,policenum; - + XtVaGetValues(pre,XmNuserData,&prenum,NULL); prenum--; XtVaGetValues(font,XmNuserData,&policenum,NULL); policenum--; if (( info_police=XLoadQueryFont(UxDisplay,StrFontTab[policenum]))== NULL) fprintf(stderr,"Unable to load font %s \n ",StrFontTab[policenum]); - police=XmFontListCreate(info_police,XmSTRING_DEFAULT_CHARSET); + entry = XmFontListEntryCreate(XmSTRING_DEFAULT_CHARSET,XmFONT_IS_FONT, + (XtPointer)info_police); + police=XmFontListAppendEntry(NULL,entry); XtVaSetValues(w,XmNfontList,police,NULL); /* XFreeFont(UxDisplay,info_police);*/ debian/patches/305-use-POWERPC-not-PPC-as-test.dpatch0000755000000000000000000000332412205656264017031 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 305-use-POWERPC-not-PPC-as-test.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Since patch 304 changed the meaning of CERNLIB_PPC to a mere endianness ## DP: test, we now use CERNLIB_POWERPC to mean actually checking for a PowerPC ## DP: processor; fix the three occurences of this in Imakefiles. @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/Imakefile /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/code/Imakefile 1998-09-25 05:33:51.000000000 -0400 +++ /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile 2005-06-09 10:50:47.068482917 -0400 @@ -56,7 +56,7 @@ SubdirLibraryTarget(NullParameter,NullParameter) -#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC) SpecialFortranLibObjectRule(pawins,pawins,-O0,NullParameter) #endif diff -urNad cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile 1999-09-14 05:20:08.000000000 -0400 +++ /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile 2005-06-09 10:51:15.807396176 -0400 @@ -46,7 +46,7 @@ SubdirLibraryTarget(NullParameter,NullParameter) -#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC) SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -o $@) SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -o $@) SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -o $@) debian/patches/320-support-ifort-and-gfortran.dpatch0000755000000000000000000000666412205656264017550 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 320-support-ifort-and-gfortran.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Support use of ifort, icc and/or gfortran as default compilers. @DPATCH@ diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/code/csinit.F paw-2.14.04.dfsg.2/src/pawlib/comis/code/csinit.F --- paw-2.14.04.dfsg.2~/src/pawlib/comis/code/csinit.F 2007-12-12 23:52:57.000000000 +0000 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/code/csinit.F 2007-12-12 23:52:59.000000000 +0000 @@ -217,8 +217,18 @@ #endif #if (defined(CERNLIB_LINUX)) ITMPLEN=CSTMPD(CHPATH, 256) +# if (defined(CERNLIB_GFORTRAN)) + CHF77 ='gfortran -g -c -fPIC' +# elif (defined(CERNLIB_INTELIFC)) + CHF77 ='ifort -g -c -fPIC' +# else CHF77 ='g77 -g -c -fPIC' +# endif +# if (defined(CERNLIB_INTELIFC)) + CHCC ='icc -g -c -fPIC' +# else CHCC ='cc -g -c -fPIC' +# endif #endif #if (defined(CERNLIB_SGI))&&(defined(CERNLIB_SHL)) ITMPLEN=CSTMPD(CHPATH, 256) diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/deccc/Imakefile paw-2.14.04.dfsg.2/src/pawlib/comis/deccc/Imakefile --- paw-2.14.04.dfsg.2~/src/pawlib/comis/deccc/Imakefile 2005-04-18 15:41:06.000000000 +0000 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/deccc/Imakefile 2007-12-12 23:55:32.000000000 +0000 @@ -45,8 +45,12 @@ #endif #if defined(CERNLIB_LINUX) +#if defined(CERNLIB_GFORTRAN) +EXTRA_DEFINES := $(EXTRA_DEFINES) -DgFortran +#else EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran #endif +#endif #if defined(CERNLIB_SUN) && !defined(CERNLIB_SOLARIS) CCOPTIONS= diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/paw/cpaw/Imakefile paw-2.14.04.dfsg.2/src/pawlib/paw/cpaw/Imakefile --- paw-2.14.04.dfsg.2~/src/pawlib/paw/cpaw/Imakefile 1999-06-28 15:28:22.000000000 +0000 +++ paw-2.14.04.dfsg.2/src/pawlib/paw/cpaw/Imakefile 2007-12-12 23:56:19.000000000 +0000 @@ -15,8 +15,12 @@ #endif #if defined(CERNLIB_LINUX) +#if defined(CERNLIB_GFORTRAN) +EXTRA_DEFINES := $(EXTRA_DEFINES) -DgFortran +#else EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran #endif +#endif #if defined(CERNLIB_BUGREPORT) SRCS_C := $(SRCS_C) bugrep.c diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/paw/mlpfit/Imakefile paw-2.14.04.dfsg.2/src/pawlib/paw/mlpfit/Imakefile --- paw-2.14.04.dfsg.2~/src/pawlib/paw/mlpfit/Imakefile 2000-04-28 14:12:13.000000000 +0000 +++ paw-2.14.04.dfsg.2/src/pawlib/paw/mlpfit/Imakefile 2007-12-12 23:57:04.000000000 +0000 @@ -9,8 +9,12 @@ #endif #if defined(CERNLIB_LINUX) +#if defined(CERNLIB_GFORTRAN) +EXTRA_DEFINES := $(EXTRA_DEFINES) -DgFortran +#else EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran #endif +#endif #ifndef CERNLIB_VAXVMS EXTRA_INCLUDES := $(EXTRA_INCLUDES) -I$(VPATH) diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/paw/ntuple/Imakefile paw-2.14.04.dfsg.2/src/pawlib/paw/ntuple/Imakefile --- paw-2.14.04.dfsg.2~/src/pawlib/paw/ntuple/Imakefile 2007-12-12 23:52:58.000000000 +0000 +++ paw-2.14.04.dfsg.2/src/pawlib/paw/ntuple/Imakefile 2007-12-12 23:52:59.000000000 +0000 @@ -16,9 +16,17 @@ EXTRA_DEFINES := $(EXTRA_DEFINES) -Dextname #endif -#if defined(CERNLIB_LINUX) +#if defined(CERNLIB_LINUX) && !defined(CERNLIB_QMLXIA64) +EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran +#endif + +#if defined(CERNLIB_QMLXIA64) +#if defined(CERNLIB_GFORTRAN) +EXTRA_DEFINES := $(EXTRA_DEFINES) -DgFortran +#else EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran #endif +#endif #if defined(CERNLIB_HPUX) CCOPTIONS += -Wp,-H10000 debian/patches/000-unpack.sh.dpatch0000755000000000000000000000076712205656264014216 0ustar #!/bin/sh ## DP: This is a fake patch used to convince dpatch-edit-patch to unpack the ## DP: CERNLIB source code before trying to generate a diff from it. ## DP: This is a no-op if called when the source has already been unpacked, e.g. ## DP: if running "fakeroot debian/rules patch". ## DP: ## DP: Yes, this is an ugly hack. set -e case "$1" in -patch) [ -e Makefile ] || cp -p debian/add-ons/Makefile . make prefix=/usr stampdir/configure-stamp ;; -unpatch) exit 0 ;; *) exit 1 ;; esac debian/patches/705-move-paw++-code-to-top-level.sh.dpatch0000755000000000000000000000146612205656264020064 0ustar #!/bin/sh ## DP: Script to move Lesstif-dependent Paw++ code into its own library. set -e cd src case "$1" in -patch) mkdir paw_motif mv pawlib/paw/?motif pawlib/paw/fpanels? paw_motif/ mv pawlib/paw/tree pawlib/paw/uimx pawlib/paw/xbae* paw_motif/ cp -p pawlib/paw/Imakefile paw_motif/ mkdir paw_motif/code mv pawlib/paw/code/pawpp.F paw_motif/code/ mv pawlib/paw/code/pawintm.F paw_motif/code/ mkdir paw_motif/cdf mv pawlib/paw/cdf/pamcdf.cdf paw_motif/cdf/ cp -pr pawlib/paw/paw paw_motif/ cp -pr pawlib/paw/hpaw paw_motif/ ;; -unpatch) mv paw_motif/code/*.F pawlib/paw/code/ mv paw_motif/?motif paw_motif/fpanels? pawlib/paw/ mv paw_motif/tree paw_motif/uimx paw_motif/xbae* pawlib/paw/ mv paw_motif/cdf/pamcdf.cdf pawlib/paw/cdf/ rm -r paw_motif ;; *) exit 1 ;; esac debian/patches/114-install-scripts-properly.dpatch0000755000000000000000000000161012205656264017323 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 114-install-scripts-properly.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Install scripts properly (i.e. don't try to strip them). @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/scripts/Imakefile cernlib-2005.05.09.dfsg/src/scripts/Imakefile --- cernlib-2005.05.09.dfsg~/src/scripts/Imakefile 2004-07-29 10:17:08.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/scripts/Imakefile 2005-12-02 10:45:23.091782817 -0500 @@ -1,10 +1,10 @@ -InstallProgram(paw,$(CERN_BINDIR)) +InstallNamedProg(paw,paw,$(CERN_BINDIR)) #if defined(CERNLIB_SHIFT) InstallNamedProg(cernlib_shift,cernlib,$(CERN_BINDIR)) #else -InstallProgram(cernlib,$(CERN_BINDIR)) +InstallNamedProg(cernlib,cernlib,$(CERN_BINDIR)) #endif -InstallProgram(gxint,$(CERN_BINDIR)) +InstallNamedProg(gxint,gxint,$(CERN_BINDIR)) debian/patches/302-scripts-comply-with-FHS.dpatch0000755000000000000000000000504112205656264016676 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 302-scripts-comply-with-FHS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Assume $CERN is /usr by default ## DP: in scripts. (This value is filled in from add-ons/Makefile.) ## DP: Also some other improvements. @DPATCH@ diff -urNad paw-2.14.04.dfsg.2~/src/scripts/paw paw-2.14.04.dfsg.2/src/scripts/paw --- paw-2.14.04.dfsg.2~/src/scripts/paw 1995-02-07 01:54:06.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/scripts/paw 2008-06-25 20:44:57.000000000 -0700 @@ -21,12 +21,13 @@ SHOPT="d:h:v:" #SEQ,GETOPTD. [ "`uname -s`" = "DomainOS" ] && drv="GKS" || drv="X11" - [ -z "$CERN" ] && CERN="/cern" - [ -z "$CERN_LEVEL" ] && ver="pro" || ver="$CERN_LEVEL" - + if [ "$drv" = X11 ] ; then drv_set=false ; fi + [ -z "$CERN" ] && CERN="/usr" + [ -z "$CERN_LEVEL" ] && ver="" || ver="$CERN_LEVEL" + while [ $# -gt 0 ] do case $1 in - -d) drv=$2 ; shift ;; + -d) drv=$2 ; drv_set=true ; shift ;; -h) hst=$2 ; shift ;; -display) hst=$2 ; shift ;; -v) ver=$2 ; shift ;; @@ -36,6 +37,12 @@ shift done + if [ "$drv_set" = false ] && ! [ -e "$CERN/$ver/bin/pawX11" ] ; then + if [ -e "$CERN/$ver/bin/paw++" ] ; then + drv="++" # use paw++ if no pawX11 + fi + fi + GDIR=$CERN/$ver/bin if [ "$drv" = "GKS" ] ; then [ -z "$GKS_ROOT" ] && GKS_ROOT="$CERN/gks/$ver" @@ -43,15 +50,26 @@ # inlib $GKS_INLIB GDIR=$CERN/$ver/gksbin fi - if [ "$drv" = "X11" -a -n "$hst" ] ; then + if [ \( "$drv" = "X11" -o "$drv" = "++" \) -a -n "$hst" ] ; then nw=`echo $hst | awk -F: '{ print NF }'` [ $nw -eq 1 ] && hst="$hst:0" DISPLAY="$hst" ; export DISPLAY fi - if [ "$ver" != "pro" ] ; then + if [ -n "$ver" ] ; then echo - echo " Calling $ver version of paw-$drv" + echo " Calling $ver version of paw$drv" echo fi - $GDIR/paw$drv $* - [ ! -s paw.metafile ] && rm paw.metafile + if [ ! -x "$GDIR/paw$drv" ] ; then + echo " Error: PAW executable $GDIR/paw${drv} does not exist!" + exit 1 + fi + "$GDIR/paw$drv" "$@" + [ ! -s paw.metafile ] && rm -f paw.metafile + [ ! -s PAW.METAFILE ] && rm -f PAW.METAFILE + + # clean up comis temporary working directories if empty + [ "`(echo /tmp/comis*) 2> /dev/null`" = '/tmp/comis*' ] || \ + rmdir /tmp/comis* > /dev/null 2>&1 || true + [ "`(echo "$TMPDIR"/comis*) 2> /dev/null`" = "$TMPDIR"/'comis*' ] || \ + rmdir "$TMPDIR"/comis* > /dev/null 2>&1 || true debian/patches/701-move-packlib-hkfill-to-comis.sh.dpatch0000755000000000000000000000113412205656264020302 0ustar #!/bin/sh ## DP: Script to move hkf1q.F and hkfill.F out of packlib/hbook and into ## DP: pawlib/comis where they obviously belong (it even says so in the files!) set -e cd src case "$1" in -patch) cp -p ../debian/add-ons/hbook/*.F pawlib/comis/code/ # these files also need some headers to go with them: mkdir pawlib/comis/hbook cp -p ../debian/add-ons/hbook/pilot.h pawlib/comis/hbook/ cp -p ../debian/add-ons/hbook/*.inc pawlib/comis/hbook/ ;; -unpatch) rm -rf pawlib/comis/hbook rm -f pawlib/comis/code/hkfill.F rm -f pawlib/comis/code/hkf1q.F ;; *) exit 1 ;; esac debian/patches/804-workaround-for-comis-mdpool-struct-location.dpatch0000755000000000000000000001441712205656264023044 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 804-workaround-for-comis-mdpool-struct-location.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Hack to workaround COMIS not liking it when code has a negative ## DP: offset from the mdpool struct (as is the case when using shared ## DP: libraries on some arches). @DPATCH@ diff -urNad paw-2.14.04.dfsg.2~/src/cfortran/Examples/pamain.c paw-2.14.04.dfsg.2/src/cfortran/Examples/pamain.c --- paw-2.14.04.dfsg.2~/src/cfortran/Examples/pamain.c 2002-09-12 09:05:18.000000000 -0700 +++ paw-2.14.04.dfsg.2/src/cfortran/Examples/pamain.c 2008-06-25 20:22:43.000000000 -0700 @@ -2,6 +2,7 @@ #include #include #include +#include #define PAWC_SIZE 9000000 diff -urNad paw-2.14.04.dfsg.2~/src/paw_motif/paw/pawsiz.inc paw-2.14.04.dfsg.2/src/paw_motif/paw/pawsiz.inc --- paw-2.14.04.dfsg.2~/src/paw_motif/paw/pawsiz.inc 1996-03-01 08:50:06.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/paw_motif/paw/pawsiz.inc 2008-06-25 20:22:43.000000000 -0700 @@ -28,5 +28,9 @@ #include "paw/pawsmall.inc" #endif +C Include this file so that MDPOOL/IQ is present in pawX11 and +C paw++ dynamically linked executables. +C -- Kevin McCarty, for Debian, 1 Nov 2003 +#include "comis/mdpool.inc" #endif diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/cspar.inc paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc --- paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/cspar.inc 2000-05-30 06:53:58.000000000 -0700 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/comis/cspar.inc 2008-06-25 20:22:43.000000000 -0700 @@ -15,7 +15,9 @@ * * cspar.inc * - PARAMETER (LHP=50006, KON1=17694720, KON2=KON1 +#include "comis/mdsize.h" + + PARAMETER (LHP=MDSIZE, KON1=17694720, KON2=KON1 +, KON3=2**16, LRECU=8,NRECU=5,MLRECU=NRECU*LRECU +, MXRECU=MLRECU-LRECU 1, LASTK=2000,LSSTK=50,KLENID=32 diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/mdpool.h paw-2.14.04.dfsg.2/src/pawlib/comis/comis/mdpool.h --- paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/mdpool.h 1969-12-31 16:00:00.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/comis/mdpool.h 2008-06-25 20:22:43.000000000 -0700 @@ -0,0 +1,33 @@ +#ifndef _MDPOOL_H +#define _MDPOOL_H + +/* mdpool.h */ + +/* #include or in one source code file of + * your executable program dynamically linked against libpaw + * so that MDPOOL is defined in your executable. This is + * necessary for proper functioning of the COMIS interpreter when + * dynamically linked. + */ + +/* define MDSIZE: */ +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + int iq[MDSIZE]; +} mdpool_def; + +#define MDPOOL COMMON_BLOCK(MDPOOL, mdpool) +COMMON_BLOCK_DEF(mdpool_def, MDPOOL); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* _MDPOOL_H */ diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/mdpool.inc paw-2.14.04.dfsg.2/src/pawlib/comis/comis/mdpool.inc --- paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/mdpool.inc 1996-02-26 09:16:34.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/comis/mdpool.inc 2008-06-25 20:22:43.000000000 -0700 @@ -12,6 +12,8 @@ * * mdpool.inc * +#include "comis/cspar.inc" + COMMON/MDPOOL/IQ(LHP) INTEGER ISEM(LHP),KD(LHP),IDA(LHP),KD1(99),KD2(99),KD3(99) EQUIVALENCE (IQ,ISEM),(IQ,KD),(IQ,IDA) diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/mdsize.h paw-2.14.04.dfsg.2/src/pawlib/comis/comis/mdsize.h --- paw-2.14.04.dfsg.2~/src/pawlib/comis/comis/mdsize.h 1969-12-31 16:00:00.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/comis/mdsize.h 2008-06-25 20:22:43.000000000 -0700 @@ -0,0 +1,6 @@ +#ifndef _MDSIZE_H +#define _MDSIZE_H + +#define MDSIZE 50006 + +#endif diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/comis/deccc/csallo.c paw-2.14.04.dfsg.2/src/pawlib/comis/deccc/csallo.c --- paw-2.14.04.dfsg.2~/src/pawlib/comis/deccc/csallo.c 1999-11-15 05:36:24.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/pawlib/comis/deccc/csallo.c 2008-06-25 20:29:44.000000000 -0700 @@ -39,20 +39,20 @@ /*-- Author :*/ #include +#include +#include +#include +#include "comis/mdsize.h" typedef struct { - int iq[6]; + int iq[MDSIZE]; /* instead of int iq[6] */ } mdpool_def; #define MDPOOL COMMON_BLOCK(MDPOOL,mdpool) COMMON_BLOCK_DEF(mdpool_def,MDPOOL); -unsigned long iqpntr = (unsigned long)MDPOOL.iq; - +unsigned long iqpntr = 0; -#ifdef CERNLIB_WINNT -# include -#endif #if defined(CERNLIB_QX_SC) int type_of_call csallo_(lenb) @@ -65,11 +65,38 @@ #endif int *lenb; { - long lpntr; - int pntr; + unsigned long lpntr; + unsigned int pntr; + if (! iqpntr) + iqpntr = (unsigned long)MDPOOL.iq; lpntr= (long)( malloc(*lenb) ); - pntr=lpntr - iqpntr; + if (! lpntr) { + fprintf(stderr, + "CSALLO: not enough dynamic memory to allocate %d bytes\n", *lenb); + exit(EXIT_FAILURE); + } + + if (lpntr < iqpntr) { + fprintf(stderr, "CSALLO: heap below bss?!"); +#if defined (CERNLIB_DEBIAN) + fprintf(stderr, "\n" +"See the file /usr/share/doc/libpawlib2-dev/README.Debian for more information.\n" +"If it does not help to solve this problem, please file a bug report against\n" +"the libpawlib2-dev package, including the source code of your executable.\n"); +#else + fprintf(stderr, " Try linking against pawlib statically.\n"); +#endif + exit(EXIT_FAILURE); + } + else if (lpntr - iqpntr > UINT_MAX) { + fprintf(stderr, + "CSALLO: pointer difference too large to be represented by integer.\n" + "You probably need to link PAW statically on 64-bit systems.\n"); + exit(EXIT_FAILURE); + } + + pntr = lpntr - iqpntr; return pntr; } diff -urNad paw-2.14.04.dfsg.2~/src/pawlib/paw/paw/pawsiz.inc paw-2.14.04.dfsg.2/src/pawlib/paw/paw/pawsiz.inc --- paw-2.14.04.dfsg.2~/src/pawlib/paw/paw/pawsiz.inc 1996-03-01 08:50:06.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/pawlib/paw/paw/pawsiz.inc 2008-06-25 20:22:43.000000000 -0700 @@ -28,5 +28,9 @@ #include "paw/pawsmall.inc" #endif +C Include this file so that MDPOOL/IQ is present in pawX11 and +C paw++ dynamically linked executables. +C -- Kevin McCarty, for Debian, 1 Nov 2003 +#include "comis/mdpool.inc" #endif debian/patches/211-support-amd64-and-itanium.dpatch0000755000000000000000000012422312205656264017153 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 211-support-amd64-and-itanium.dpatch by and ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Large patch from Harald Vogt to make PAW and Paw++ work ## DP: (at least when statically linked) on 64-bit architectures. ## DP: Slightly modified in an attempt to keep ABI compatibility of the ## DP: dynamic libraries; not that it matters much as they don't work well ## DP: when dynamically linked on 64-bit anyway. Last revision 2011-03-22. @DPATCH@ diff --git a/src/cfortran/hbook.h b/src/cfortran/hbook.h index 0db42dd..ca855d6 100644 --- a/src/cfortran/hbook.h +++ b/src/cfortran/hbook.h @@ -489,6 +489,10 @@ PROTOCCALLSFSUB11(HBALLOC,hballoc,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV, #define HBALLOC(IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE)\ CCALLSFSUB11(HBALLOC,hballoc,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV,PINT,PINT,IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE) +PROTOCCALLSFSUB11(HBALLOC64,hballoc64,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV,PLONG,PINT) +#define HBALLOC64(IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE)\ + CCALLSFSUB11(HBALLOC64,hballoc64,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV,PLONG,PINT,IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE) + PROTOCCALLSFSUB1(HBFREE,hbfree,INT) #define HBFREE(LUN) CCALLSFSUB1(HBFREE,hbfree,INT,LUN) @@ -508,6 +512,13 @@ PROTOCCALLSFSUB6(HGNTBF,hgntbf,INT,ZTRINGV,INTV,INT,INT,PINT) #define HGNTBF(IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)\ CCALLSFSUB6(HGNTBF,hgntbf,INT,ZTRINGV,INTV,INT,INT,PINT,IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR) +PROTOCCALLSFSUB6(HGNTBF64,hgntbf64,INT,ZTRINGV,LONGV,INT,INT,PINT) +/* fix the element length of VAR to 32 */ +#define hgntbf64_ELEMS_2 ZTRINGV_ARGS(4) +#define hgntbf64_ELEMLEN_2 ZTRINGV_NUM(32) +#define HGNTBF64(IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)\ + CCALLSFSUB6(HGNTBF64,hgntbf64,INT,ZTRINGV,LONGV,INT,INT,PINT,IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR) + PROTOCCALLSFSUB1(HGTDIR,hgtdir,PSTRING) #define HGTDIR(CHDIR) CCALLSFSUB1(HGTDIR,hgtdir,PSTRING,CHDIR) diff --git a/src/pawlib/comis/code/Imakefile b/src/pawlib/comis/code/Imakefile index 82f2d55..f8a5f4c 100644 --- a/src/pawlib/comis/code/Imakefile +++ b/src/pawlib/comis/code/Imakefile @@ -50,6 +50,10 @@ SRCS_F := $(SRCS_F) cssinp.F SRCS_F := $(SRCS_F) cscrexec.F #endif +#if defined(CERNLIB_QMLXIA64) +SRCS_F := $(SRCS_F) csrtgpl.F csitgpl.F +#endif + #if defined(CERNLIB_OLD) SRCS_F := $(SRCS_F) cspdir.F csrmbk.F #endif diff --git a/src/pawlib/comis/code/csaddr.F b/src/pawlib/comis/code/csaddr.F index 2808414..96b6cb0 100644 --- a/src/pawlib/comis/code/csaddr.F +++ b/src/pawlib/comis/code/csaddr.F @@ -17,8 +17,15 @@ INTEGER CSLTGP,CSITGP CHARACTER*32 NAME #include "comis/cstab.inc" -#if defined(CERNLIB_SHL) +#if defined(CERNLIB_SHL)&&(!defined(CERNLIB_QMLXIA64)) INTEGER CS_GET_FUNC +#endif +#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64)) +#include "comis/cstab64.inc" + INTEGER CSITGPL + INTEGER*8 CS_GET_FUNC +#endif +#if defined(CERNLIB_SHL) NAME=CHNAME NC=LENOCC(NAME) CALL CSCHID(NAME(:NC)) @@ -26,21 +33,39 @@ I=CSLTGP(IPVS) IF(I.GT.0)THEN IF(IFCS.EQ.0)THEN +#if defined (CERNLIB_QMLXIA64) + IADGPL=CS_GET_FUNC(NAME(1:NC)//'_') + IF(IADGPL.NE.0)THEN + IFCS=-2 + CALL CSRTGPL(I) +#else IADGP=CS_GET_FUNC(NAME(1:NC)//'_') IF(IADGP.NE.0)THEN IFCS=-2 CALL CSRTGP(I) +#endif +#endif +#if defined(CERNLIB_SHL) ELSE I=0 ENDIF ENDIF ELSE +#if defined (CERNLIB_QMLXIA64) + IADGPL=CS_GET_FUNC(NAME(1:NC)//'_') + IF(IADGPL.NE.0)THEN + IFCS=-2 + ITYPGP=-2 + I=CSITGPL(IPVS) + ENDIF +#else IADGP=CS_GET_FUNC(NAME(1:NC)//'_') IF(IADGP.NE.0)THEN IFCS=-2 ITYPGP=-2 I=CSITGP(IPVS) ENDIF +#endif END IF CSADDR=I #endif diff --git a/src/pawlib/comis/code/csinit.F b/src/pawlib/comis/code/csinit.F index 374621d..24003d8 100644 --- a/src/pawlib/comis/code/csinit.F +++ b/src/pawlib/comis/code/csinit.F @@ -64,6 +64,9 @@ #if defined(CERNLIB_SHL) #include "comis/cshlnm.inc" #endif +#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64)) +#include "comis/cstab64.inc" +#endif #if defined(CERNLIB_PAW) #include "paw/pcmode.inc" #include "comis/cshfill.inc" @@ -159,6 +162,9 @@ ICHMINU=ICHAR('-') ICHPLUS=ICHAR('+') ICHCOMM=ICHAR(',') +#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64)) + IPIADGV=0 +#endif #if defined(CERNLIB_PAW) CALL CSPAWI MODHFI=0 @@ -211,8 +217,8 @@ #endif #if (defined(CERNLIB_LINUX)) ITMPLEN=CSTMPD(CHPATH, 256) - CHF77 ='g77 -c' - CHCC ='cc -c' + CHF77 ='g77 -g -c -fPIC' + CHCC ='cc -g -c -fPIC' #endif #if (defined(CERNLIB_SGI))&&(defined(CERNLIB_SHL)) ITMPLEN=CSTMPD(CHPATH, 256) diff --git a/src/pawlib/comis/code/csintx.F b/src/pawlib/comis/code/csintx.F index 19be1f7..8e08617 100644 --- a/src/pawlib/comis/code/csintx.F +++ b/src/pawlib/comis/code/csintx.F @@ -38,6 +38,9 @@ #if defined(CERNLIB_PAW) #include "comis/cskucs.inc" #endif +#if defined(CERNLIB_QMLXIA64) +#include "comis/cstab64.inc" +#endif #if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_ALPHA_OSF)) INTEGER CSTRCMP #endif @@ -1105,6 +1108,23 @@ ENDIF #endif #if (!defined(CERNLIB_VAX))&&(!defined(CERNLIB_APOLLO)) +#if defined(CERNLIB_QMLXIA64) + IF(IQ(IP+KSIFCS).EQ.-2)THEN +*Dynamic linker may give long addresses + IADGPL = IADGPLV(IADGP) + ELSE + IADGPL = IADGP + ENDIF + IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN + ICSRES=CSCALI(IADGPL,NPAR,IDA(IOFSPL)) + ELSEIF(ITP.EQ.2)THEN + RCSRES=CSCALR(IADGPL,NPAR,IDA(IOFSPL)) + ELSEIF(ITP.EQ.5)THEN + DCSRES=CSCALD(IADGPL,NPAR,IDA(IOFSPL)) + ELSEIF(ITP.EQ.7)THEN + DCSRES=CSCALD(IADGPL,NPAR,IDA(IOFSPL)) + ENDIF +#else IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN ICSRES=CSCALI(IADGP,NPAR,IDA(IOFSPL)) ELSEIF(ITP.EQ.2)THEN @@ -1115,6 +1135,7 @@ DCSRES=CSCALD(IADGP,NPAR,IDA(IOFSPL)) ENDIF #endif +#endif IPC=IPC+4 GO TO 999 *NUM I diff --git a/src/pawlib/comis/code/csitgpl.F b/src/pawlib/comis/code/csitgpl.F new file mode 100644 index 0000000..00c88ef --- /dev/null +++ b/src/pawlib/comis/code/csitgpl.F @@ -0,0 +1,32 @@ +* COMIS +* +* +#if (defined(CERNLIB_QMLXIA64)) +#include "comis/pilot.h" +*CMZU: 1.16/16 04/10/93 12.14.52 by Vladimir Berezhnoi +*-- Author : V.Berezhnoi +* special for 64 bit addresses for dynamic linking (H. Vogt) + INTEGER FUNCTION CSITGPL(IP) +***------------------------------ +* it is last routine from the tables-set. +***----------------------------- +#include "comis/cspar.inc" +#include "comis/mdpool.inc" +#include "comis/cspnts.inc" +#include "comis/cstabps.inc" +#include "comis/cstab64.inc" + I=MHLOC(KSIDP+NWIDEN) + IQ(I)=0 + IQ(I+1)=NCIDEN + DO 1 K=1,NWIDEN + IQ(I+KSIDP-1+K)=IDEN(K) + 1 CONTINUE + CALL CSRTGPL(I) + IF(IP.EQ.0)THEN + IPGP=I + ELSE + IQ(IP)=I + ENDIF + CSITGPL=I + END +#endif diff --git a/src/pawlib/comis/code/cskcal.F b/src/pawlib/comis/code/cskcal.F index 724c951..cbefaac 100644 --- a/src/pawlib/comis/code/cskcal.F +++ b/src/pawlib/comis/code/cskcal.F @@ -31,6 +31,9 @@ #include "comis/cstab.inc" #include "comis/csfres.inc" #include "comis/cssysd.inc" +#if defined(CERNLIB_QMLXIA64) +#include "comis/cstab64.inc" +#endif CHARACTER PRONAME*32 INTEGER CSCALI DOUBLE PRECISION CSCALD @@ -232,6 +235,24 @@ I2=I2+KS I=I+1 9203 CONTINUE +#if defined(CERNLIB_QMLXIA64) +* Dynamic linker may give long addresses + IF (IFCS.EQ.-2)THEN + IADGPL = IADGPLV(IADGP) + ELSE + IADGPL = IADGP + ENDIF + IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN + ICSRES=CSCALI(IADGPL,NOPAR,IF77PL(1)) + ELSEIF(ITP.EQ.2)THEN + RCSRES=CSCALR(IADGPL,NOPAR,IF77PL(1)) + ELSEIF(ITP.EQ.5)THEN + DCSRES=CSCALD(IADGPL,NOPAR,IF77PL(1)) + ELSEIF(ITP.EQ.7)THEN +* I think it will works correctly + DCSRES=CSCALD(IADGPL,NOPAR,IF77PL(1)) + ENDIF +#else * IT=IABS(ITYPGP) IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN ICSRES=CSCALI(IADGP,NOPAR,IF77PL(1)) @@ -245,6 +266,7 @@ ENDIF *+SELF,IF=UNIX,IF=-SGI,IF=-IBMRT,IF=-DECS,IF=-HPUX,IF=-SUN,IF=-MSDOS. #endif +#endif #if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_STDUNIX)) I=1 DO 9203 K=ITA-NPAR+1,ITA diff --git a/src/pawlib/comis/code/cslink.F b/src/pawlib/comis/code/cslink.F index d7313c6..3760b82 100644 --- a/src/pawlib/comis/code/cslink.F +++ b/src/pawlib/comis/code/cslink.F @@ -21,10 +21,15 @@ #include "comis/cstab.inc" #include "comis/cspnts.inc" #include "comis/cslun.inc" -#if defined(CERNLIB_SHL) +#if defined(CERNLIB_SHL)&&(!defined(CERNLIB_QMLXIA64)) CHARACTER*(KLENID) FNNAME INTEGER CS_GET_FUNC #endif +#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64)) +#include "comis/cstab64.inc" + CHARACTER*(KLENID) FNNAME + INTEGER*8 CS_GET_FUNC +#endif COMMON/CSGSCM/IGS,JGS,NGS,CSJUNK(3) IF(ISTLIB.EQ.0 .AND. ITBS.EQ.0)RETURN 2 I=IPGP @@ -60,12 +65,20 @@ #if defined(CERNLIB_SHL) CALL CSGTIDP(I,FNNAME,NC) CALL CUTOL(FNNAME(1:NC)) +#if defined (CERNLIB_QMLXIA64) + IADGPL=CS_GET_FUNC(FNNAME(1:NC)//'_') + IF(IADGPL.NE.0)THEN + IFCS=-2 + CALL CSRTGPL(I) + ENDIF +#else IADGP=CS_GET_FUNC(FNNAME(1:NC)//'_') IF(IADGP.NE.0)THEN IFCS=-2 CALL CSRTGP(I) ENDIF #endif +#endif IP=0 ENDIF ENDIF diff --git a/src/pawlib/comis/code/cspawi.F b/src/pawlib/comis/code/cspawi.F index 8c4283a..fba1624 100644 --- a/src/pawlib/comis/code/cspawi.F +++ b/src/pawlib/comis/code/cspawi.F @@ -23,10 +23,12 @@ COMMON/PAWC/NWPAW,IXPAWC,IHDIV,IXHIGZ,IXKU,FENC(5),LMAIN,HCV(9989) DIMENSION IQ(2),Q(2),LQ(8000) EQUIVALENCE (LQ(1),LMAIN),(IQ(1),LQ(9)),(Q(1),IQ(1)) + CHARACTER*8 MYCSPAWC + MYCSPAWC = 'CSPAWC ' **** JKUVBS=LOCF(IQ(1))-1 JKUVBS=LOCF(IQ(1))+KUVOFS-1 KUVCUR=0 - CALL CCOPYS(MJSCHA('CSPAWC '),JID,8) + CALL CCOPYS(MJSCHA(MYCSPAWC),JID,8) NCIDEN=6 NWIDEN=2 I=CSLTGB(IPVS) diff --git a/src/pawlib/comis/code/csrtgpl.F b/src/pawlib/comis/code/csrtgpl.F new file mode 100644 index 0000000..06f0708 --- /dev/null +++ b/src/pawlib/comis/code/csrtgpl.F @@ -0,0 +1,31 @@ +* COMIS +* +* +#if (defined(CERNLIB_QMLXIA64)) +#include "comis/pilot.h" +*CMZ : 1.18/14 10/01/95 15.41.06 by Vladimir Berezhnoi +*-- Author : V.Berezhnoi +* special for 64 bit addresses for dynamic linking (H. Vogt) + + SUBROUTINE CSRTGPL(I) +***-------------------------- +#include "comis/cspar.inc" +#include "comis/mdpool.inc" +#include "comis/cstabps.inc" +#include "comis/cstab.inc" +#include "comis/cstab64.inc" + + IPIADGV = IPIADGV + 1 + IF (IPIADGV .GT. MAXIAD64) THEN + WRITE (*,'(2a,I4)') 'to much addresses for dynamik linking, ', + & 'limit is ', MAXIAD64 + WRITE (*,'(2a)') 'increase MAXIAD64 in cstab64.inc and ', + & 'recompile COMIS' + + STOP + END IF + IADGPLV(IPIADGV) = IADGPL + IADGP = IPIADGV + CALL CCOPYA(IADGP,IQ(I+2),KSIDP-2) + END +#endif diff --git a/src/pawlib/comis/code/cstran.F b/src/pawlib/comis/code/cstran.F index 4e91439..1388748 100644 --- a/src/pawlib/comis/code/cstran.F +++ b/src/pawlib/comis/code/cstran.F @@ -521,6 +521,7 @@ CD COMMON/CSDEBG/ICSTRA,ICSPRT,ICSPRC,ICSPRS * '#' DRSJNT * 'OD'/'FI'/'ENDDO'/'ENDIF'/'END' DELIM DRSJNT **** + CHARACTER*8 MYCSPAWC INTEGER GSCMST(3046),GSSTRC(135),GSSTRP(255) INTEGER GSCMS1(361),GSCMS2(361),GSCMS3(361),GSCMS4(361), *GSCMS5(361),GSCMS6(361),GSCMS7(361),GSCMS8(361),GSCMS9(158) @@ -719,6 +720,7 @@ CD COMMON/CSDEBG/ICSTRA,ICSPRT,ICSPRC,ICSPRS DATA IOST/0/ ** DATA NHSSC/4H; /, NHSEQ/4H= /, NHSBR/4H) / DATA NMPAWC/4HPAWC/ + MYCSPAWC = 'CSPAWC ' CALL CCOPYA(IDEN,IDENPR,NWIDEN) NCIDPR=NCIDEN NWIDPR=NWIDEN @@ -903,7 +905,7 @@ CD IF(ICSPRC.EQ.1)CALL PRCODE(IPCB,IPCE) 211 CONTINUE #if defined(CERNLIB_PAW) KEYWD=22 - CALL CCOPYS(MJSCHA('CSPAWC '),JID,8) + CALL CCOPYS(MJSCHA(MYCSPAWC),JID,8) NCIDEN=6 NWIDEN=2 IGB=CSLTGB(IPVSB) diff --git a/src/pawlib/comis/comis/cstab64.inc b/src/pawlib/comis/comis/cstab64.inc new file mode 100644 index 0000000..b3176a8 --- /dev/null +++ b/src/pawlib/comis/comis/cstab64.inc @@ -0,0 +1,10 @@ +* +* +* cstab64.inc +* + PARAMETER (MAXIAD64=100) !maximum number of shared objects + INTEGER*8 IADGPL,IADGPLV(MAXIAD64) + INTEGER IADGPL1, IADGPL2 + COMMON /CSTB64/ IADGPL,IADGPLV + COMMON /CSTB64I/ IPIADGV + EQUIVALENCE (IADGPL, IADGPL1) diff --git a/src/pawlib/comis/deccc/ccopys.c b/src/pawlib/comis/deccc/ccopys.c index 024534c..94351dc 100644 --- a/src/pawlib/comis/deccc/ccopys.c +++ b/src/pawlib/comis/deccc/ccopys.c @@ -33,11 +33,42 @@ void type_of_call CCOPYS(ja, jb, nn) #else void ccopys_(ja,jb,nn) #endif + +/* + * 64-bit pointer systems require a special treatment of addresses - see below - + * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005) + */ + +/* For Itanium, the situation is even worse. Itanium architecture is such + * that the data section starts at 0x6000000000000000. The stack is + * supposed to be between 0x80...0 and 0xa0...0 starting at the high end + * and growing downwards, although on a test machine (merulo.debian.org) + * it seemed instead to start at 0x6000100000000000 and grow downwards. + * The addresses we actually get are truncated to the lowest 32 bits, + * so we assume that those greater than 0x80000000 are in the stack. + * + * Constant strings are in the text section starting at 0x40...0; we hope + * this function doesn't receive any. + * -- Kevin McCarty + */ + +#if defined(CERNLIB_QMLXIA64) +# include "cscal_lp64.h" + int *ja, *jb; + int *nn; +{ + int i,n; char *a,*b; + n=*nn; + setaddr_lp64(*ja,*jb) + +#else char **ja, **jb; int *nn; { int i,n; char *a,*b; - n=*nn; a=*ja; b=*jb; + n=*nn; + a=*ja; b=*jb; +#endif if ( a >= b ) for ( i=0; i +#if defined(CERNLIB_QMLXIA64) +#define ALPHA_OSF +#endif +#endif + #if defined(CERNLIB_SGI) #define SGI #endif diff --git a/src/pawlib/comis/deccc/cscal_lp64.h b/src/pawlib/comis/deccc/cscal_lp64.h new file mode 100644 index 0000000..4ce358c --- /dev/null +++ b/src/pawlib/comis/deccc/cscal_lp64.h @@ -0,0 +1,74 @@ +#if defined(CERNLIB_QMLXIA64) +/* Hideous hack macros that attempt to deal with 64-bit pointers using + * knowledge about only 32 bits of them. */ + +/* Test whether a variable is automatic or static based on the lowest 32 bits + * of its address. + * + * Itanium architecture is such that the data section starts at + * 0x6000000000000000. The stack is supposed to be between 0x80...0 and + * 0xa0...0 starting at the high end and growing downwards, although on a test + * machine (merulo.debian.org) it seemed instead to start at 0x6000100000000000 + * and grow downwards. The addresses we actually get are truncated to the + * lowest 32 bits, so we assume that those greater than 0x80000000 are in the + * stack. Constant strings are in the text section starting at 0x40...0; we + * hope that functions using these macros don't receive any. + * + * On AMD64, the data section and constant strings are all within 32 bits + * of NULL, starting at 0x400000 and growing upward. The stack starts + * at 0x80000000000 and grows downward. However, tests I've run on an AMD64 + * indicate that the low-order 32 bits of the address for variables on the + * stack may be indistinguishable from data segments; therefore we simply + * hope (pray) that all variables used are in the data segments. + * + * On Alpha, on the other hand, I couldn't find any docs for the Linux + * segmentation for virtual memory. Judging by a test machine + * (escher.debian.org), the data section starts slightly above 0x120010000. + * On the other hand the stack grows downward from 0x120000000. Here it + * seems safe to suppose that the variable is in the stack if the uint32 + * truncated address received is less than 0x20000000. + * + * -- Kevin McCarty + */ + +#if defined (__ia64__) +# define autotest(_var) ((unsigned long)(_var) > 0x80000000UL) +#elif defined (__alpha__) +# define autotest(_var) ((unsigned long)(_var) < 0x20000000UL) +#else /* amd64 */ +# define autotest(_var) 0 /* can't test for it */ +#endif + + +#define restore_pointer(_var, _ptr, _cast) do { \ + static int sdummy = 0; int adummy = 0; \ + unsigned long sbase = ((unsigned long)&sdummy) & 0xffffffff00000000UL; \ + unsigned long abase = ((unsigned long)&adummy) & 0xffffffff00000000UL; \ + _ptr = (_cast)((unsigned long)(_var) + (autotest(_var) ? abase : sbase));\ + } while (0) + + +#define setcall_lp64(type) \ + long *fptr; \ + int *n; \ + unsigned pin[16]; \ +{ \ + int jumpad_(); \ + type (*name)(); \ + unsigned long ptr = (unsigned long)jumpad_; \ + unsigned long p[16]; \ + int count; \ + ptr += *fptr; \ + name = (type (*)())ptr; \ + for ( count=0; count<16; count++ ) \ + restore_pointer(pin[count], p[count], unsigned long); \ + /* end of macro */ + + +#define setaddr_lp64(__ja, __jb) \ + restore_pointer(__ja, a, char*); \ + restore_pointer(__jb, b, char*); \ + /* end of macro */ + +#endif + diff --git a/src/pawlib/comis/deccc/cscald.c b/src/pawlib/comis/deccc/cscald.c index 53272de..3b3a9f1 100644 --- a/src/pawlib/comis/deccc/cscald.c +++ b/src/pawlib/comis/deccc/cscald.c @@ -29,11 +29,10 @@ #define cscald #undef cscald -#ifdef CERNLIB_WINNT +#if defined(CERNLIB_WINNT) || defined(CERNLIB_LINUX) # include #endif - -#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT)) +#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_QMLXIA64)) double cscald_ (name,n,p) #endif #if defined(CERNLIB_QXNO_SC) @@ -46,10 +45,30 @@ double cscald (name,n,p) int CSCALD (name,n,p) # endif #endif + +/* + * 64-bit pointer systems require a special treatment of addresses - see below + * using the CERNLIB_QMLXIA64 macro definition (H. Vogt - Sep 2005) + * This code will be consistent with that of jumptn.c and jumpxn.c + * in packlib/kernlib/kerngen/ccgen (usage of jumpad_) + * + * for shared objects loaded by the dynamic linker content of the 1st arg + * in cscald_ is a pointer which may be above the 32 bit address space + * therefore *fptr has been changed to type long + * see changes in csintx.F, cskcal.F, ... (introduction of INTEGER*8 array for + * those pointers) + */ + +#if defined(CERNLIB_QMLXIA64) +# include "cscal_lp64.h" +double cscald_ (fptr,n,pin) + setcall_lp64(double) +#else double (type_of_call *(*name)) (); int *n; - int *p[15]; + int *p[16]; { +#endif double d; switch (*n) { diff --git a/src/pawlib/comis/deccc/cscali.c b/src/pawlib/comis/deccc/cscali.c index 4dc63ce..82bcb34 100644 --- a/src/pawlib/comis/deccc/cscali.c +++ b/src/pawlib/comis/deccc/cscali.c @@ -26,11 +26,10 @@ #define cscali #undef cscali -#ifdef CERNLIB_WINNT +#if defined(CERNLIB_WINNT) || defined(CERNLIB_LINUX) # include #endif - -#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT)) +#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_QMLXIA64)) int cscali_ (name,n,p) #endif #if defined(CERNLIB_QXNO_SC) @@ -39,10 +38,30 @@ int cscali (name,n,p) #if defined(CERNLIB_QXCAPT) int type_of_call CSCALI (name,n,p) #endif + +/* + * 64-bit pointer systems require a special treatment of addresses - see below + * using the CERNLIB_QMLXIA64 macro definition (H. Vogt - Sep 2005) + * This code will be consistent with that of jumptn.c and jumpxn.c + * in packlib/kernlib/kerngen/ccgen (usage of jumpad_) + * + * for shared objects loaded by the dynamic linker content of the 1st arg + * in cscali_ is a pointer which may be above the 32 bit address space + * therefore *fptr has been changed to type long + * see changes in csintx.F, cskcal.F, ... (introduction of INTEGER*8 array for + * those pointers) + */ + +#if defined(CERNLIB_QMLXIA64) +# include "cscal_lp64.h" +int cscali_ (fptr,n,pin) + setcall_lp64(int) +#else int (type_of_call *(*name)) (); int *n; - int *p[15]; + int *p[16]; { +#endif int i; switch (*n) { diff --git a/src/pawlib/comis/deccc/cscalr.c b/src/pawlib/comis/deccc/cscalr.c index f89c5a7..cfa91f9 100644 --- a/src/pawlib/comis/deccc/cscalr.c +++ b/src/pawlib/comis/deccc/cscalr.c @@ -30,19 +30,15 @@ #define cscalr #undef cscalr -#ifdef CERNLIB_WINNT +#if defined(CERNLIB_WINNT) || defined(CERNLIB_LINUX) # include #endif - - -#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT)) +#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_QMLXIA64)) float cscalr_ (name,n,p) #endif - #if defined(CERNLIB_QXNO_SC) float cscalr (name,n,p) #endif - #if defined(CERNLIB_QXCAPT) # if defined(CERNLIB_MSSTDCALL) float type_of_call CSCALR(name,n,p) @@ -51,10 +47,42 @@ float cscalr (name,n,p) # endif #endif +/* + * 64-bit pointer systems require a special treatment of addresses - see below + * using the CERNLIB_QMLXIA64 macro definition (H. Vogt - Sep 2005) + * This code will be consistent with that of jumptn.c and jumpxn.c + * in packlib/kernlib/kerngen/ccgen (usage of jumpad_) + * + * for shared objects loaded by the dynamic linker content of the 1st arg + * in cscalr_ is a pointer which may be above the 32 bit address space + * therefore *fptr has been changed to type long + * see changes in csintx.F, cskcal.F, ... (introduction of INTEGER*8 array for + * those pointers) + */ + +#if defined(CERNLIB_QMLXIA64) + +/* Additional note: g77 generates code such that it expects REAL functions + * to return "double". Hence C functions to be used in FORTRAN as REAL + * must return "double", and declarations of REAL FORTRAN functions in C files + * must also return "double". On most architectures one can get away with + * using "float" instead, but not on amd64 ... see + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15397 + * + * -- Kevin McCarty */ +# if !(defined(CERNLIB_GFORTRAN)||defined(CERNLIB_INTELIFC)) /* i.e. g77 */ +# define float double +# endif + +# include "cscal_lp64.h" +float cscalr_ (fptr,n,pin) + setcall_lp64(float) +#else float (type_of_call *(*name)) (); int *n; - int *p[15]; + int *p[16]; { +#endif float r; switch (*n) { diff --git a/src/pawlib/comis/deccc/cstrcmp.c b/src/pawlib/comis/deccc/cstrcmp.c index 9d93196..746e40b 100644 --- a/src/pawlib/comis/deccc/cstrcmp.c +++ b/src/pawlib/comis/deccc/cstrcmp.c @@ -36,6 +36,43 @@ #else int cstrcmp_(ja,na,jb,nb) #endif + +/* + * 64-bit pointer systems require a special treatment of addresses - see below - + * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005) + */ + +/* For Itanium, the situation is even worse. Itanium architecture is such + * that the data section starts at 0x6000000000000000. The stack is + * supposed to be between 0x80...0 and 0xa0...0 starting at the high end + * and growing downwards, although on a test machine (merulo.debian.org) + * it seemed instead to start at 0x6000100000000000 and grow downwards. + * The addresses we actually get are truncated to the lowest 32 bits, + * so we assume that those greater than 0x80000000 are in the stack. + * + * Constant strings are in the text section starting at 0x40...0; we hope + * this function doesn't receive any. + * -- Kevin McCarty + */ + +#if defined(CERNLIB_QMLXIA64) +# include "cscal_lp64.h" + int *ja, *jb; + int *na, *nb; +{ + + static int i,la,lb,k; static char *a,*b; + if ( *na >= *nb ) + { + setaddr_lp64(*ja,*jb) + la=*na; lb=*nb; k=1; + } + else + { + setaddr_lp64(*jb,*ja) + la=*nb; lb=*na; k=-1; + } +#else char **ja, **jb; int *na, *nb; { @@ -48,6 +85,7 @@ int cstrcmp_(ja,na,jb,nb) { a=*jb; b=*ja; la=*nb; lb=*na; k=-1; } +#endif for ( i=0; i b[i]) ? k : -k ); } diff --git a/src/pawlib/paw/cmotif/att_color.c b/src/pawlib/paw/cmotif/att_color.c index 817f56b..b489417 100644 --- a/src/pawlib/paw/cmotif/att_color.c +++ b/src/pawlib/paw/cmotif/att_color.c @@ -114,7 +114,7 @@ static void NewTarget_cb (Widget w,caddr_t client_data, XtVaGetValues(ObjectRow,XmNmenuHistory,&CurrentObject,NULL); XtVaGetValues(CurrentObject,XmNuserData,&data,NULL); - switch ((int ) client_data) { + switch ((long) client_data) { case 1: /* Surface */ sprintf(Svalue,"%d",data->SurfaceColor); break; @@ -164,7 +164,7 @@ static void NewColor_cb (Widget w,caddr_t client_data, Ncol=atoi((char *)XmTextGetString(NcolText)); } else Ncol=8; ColorNum=atoi((char *)XmTextGetString(AttColorText)); - switch((int) client_data) { + switch((long) client_data) { case 1: /* UpArrow */ ColorNum++; break; diff --git a/src/pawlib/paw/cmotif/att_define_color.c b/src/pawlib/paw/cmotif/att_define_color.c index d809b17..6e819d2 100644 --- a/src/pawlib/paw/cmotif/att_define_color.c +++ b/src/pawlib/paw/cmotif/att_define_color.c @@ -338,7 +338,7 @@ static void apply_color (int sender) static void MoveScale_cb(Widget w,caddr_t client_data, XmAnyCallbackStruct *call_data) { - switch ((int ) client_data) { + switch ((long) client_data) { case 1 : /* RED */ EditColor.red=((XmScaleCallbackStruct *) call_data)->value; break; @@ -369,7 +369,7 @@ static void MoveScale_cb(Widget w,caddr_t client_data, default : fprintf(stderr,"Error in function MoveScale_cb"); } /*end of switch */ - apply_color((int) client_data); + apply_color((long) client_data); } /***************************************************************************** @@ -452,7 +452,7 @@ static void NewColor_cb (Widget w,caddr_t client_data, char *ComStr; ColorNum=atoi((char *)XmTextGetString(ColorIndex)); - switch((int) client_data) { + switch((long) client_data) { case 1: /* UpArrow */ ColorNum++; break; @@ -494,7 +494,7 @@ static void NewNcol_cb (Widget w,caddr_t client_data, XmAnyCallbackStruct cb; Ncol=atoi((char *)XmTextGetString(NcolText)); - switch((int) client_data) { + switch((long) client_data) { case 1: /* UpArrow*/ Ncol++; break; diff --git a/src/pawlib/paw/cmotif/att_general.c b/src/pawlib/paw/cmotif/att_general.c index 9866d5c..093d0d8 100644 --- a/src/pawlib/paw/cmotif/att_general.c +++ b/src/pawlib/paw/cmotif/att_general.c @@ -454,7 +454,7 @@ static void MarkerMenu_cb(Widget w,caddr_t client_data, { char ComStr[15]; - sprintf(ComStr,"IGSET MTYP %d",(int) client_data); + sprintf(ComStr,"IGSET MTYP %ld",(long) client_data); execute_kuip_cmd(ComStr); if (appres.auto_refresh) { plot_current_histo(); @@ -471,8 +471,8 @@ static void LineMenu_cb(Widget w,caddr_t client_data, { char ComStr[15]; - sprintf(ComStr,"IGSET LTYP %d",(int) client_data); - sprintf(ComStr,"SET DMOD %d",(int) client_data); + sprintf(ComStr,"IGSET LTYP %ld",(long) client_data); + sprintf(ComStr,"SET DMOD %ld",(long) client_data); execute_kuip_cmd(ComStr); if (appres.auto_refresh) { diff --git a/src/pawlib/paw/cmotif/att_geometry.c b/src/pawlib/paw/cmotif/att_geometry.c index a2872f1..65177d6 100644 --- a/src/pawlib/paw/cmotif/att_geometry.c +++ b/src/pawlib/paw/cmotif/att_geometry.c @@ -2582,7 +2582,7 @@ static void ValueChange_cb(Widget w,caddr_t client_data, char *ComStr; XtVaGetValues(CButton,XmNuserData,&data,NULL); - switch ((int) client_data ) { + switch ((long) client_data ) { case 1 : /**** value change in text */ Fvalue= (float)atof((char *)XmTextGetString(Text)); diff --git a/src/pawlib/paw/cmotif/att_main.c b/src/pawlib/paw/cmotif/att_main.c index 58b264c..f8afed4 100644 --- a/src/pawlib/paw/cmotif/att_main.c +++ b/src/pawlib/paw/cmotif/att_main.c @@ -139,7 +139,7 @@ void put_attributes_color(char *label,char *value) { int i; XmAnyCallbackStruct cb; - int pos; + long pos; char tempstr[6]; int tempint; @@ -147,7 +147,7 @@ void put_attributes_color(char *label,char *value) switch (*label) { case 'B' : - pos=(int) strchr(value,'.')-(int) value; + pos=strchr(value,'.')-value; strncpy(tempstr,value,pos); tempint=atoi(tempstr); if (tempint>=1000) { @@ -157,7 +157,7 @@ void put_attributes_color(char *label,char *value) StateObject[i].ContourColor=tempint; StateObject[i].SurfaceColor=0; } - value=(char *)((int) value+pos+1); + value=(char *)(value+pos+1); strncpy(tempstr,value,2); StateObject[i].StatColor=tempstr[1]-'0'; StateObject[i].ZoneColor=tempstr[0]-'0'; @@ -324,12 +324,12 @@ void put_attributes_attributes(char *label,char *value) static char *Clean(char *string) { char *Apos; - int pos; + long pos; char end[MAX_TITLE_SIZE]; Apos=strrchr(string,39); /* #27 == ' */ if (Apos) { - pos=((int)Apos - (int)string ); + pos=Apos - string; strcpy(end,++Apos); string[pos]='\0'; strcat(Clean(string),"@'"); @@ -692,7 +692,7 @@ static void LineWidthScale_cb(Widget w,caddr_t client_data, XtVaGetValues(ObjectRow,XmNmenuHistory,&CurrentToggle,NULL); XtVaGetValues(CurrentToggle,XmNuserData,&CurrentState,NULL); LineWidth=CurrentState->LineWidth; - switch((int) client_data) { + switch((long) client_data) { case 1: /* UpArrow */ LineWidth++; break; diff --git a/src/pawlib/paw/cmotif/attatch.c b/src/pawlib/paw/cmotif/attatch.c index 25cad01..f80af97 100644 --- a/src/pawlib/paw/cmotif/attatch.c +++ b/src/pawlib/paw/cmotif/attatch.c @@ -88,7 +88,7 @@ static void ValueChange_cb(Widget w,caddr_t client_data, XtVaGetValues(ObjectRow,XmNmenuHistory,&CurrentObject,NULL); XtVaGetValues(CurrentObject,XmNuserData,&data,NULL); - switch ((int) client_data ) { + switch ((long) client_data ) { case 1 : /**** value change in text */ Svalue=(char *)XmTextGetString(IndexText); @@ -124,7 +124,7 @@ static void ValueChange_cb(Widget w,caddr_t client_data, /* value change in scale */ XmScaleGetValue(w,&Ivalue); Svalue=(char *)XmTextGetString(IndexText); - Svalue[((int) client_data )-2]='0' + Ivalue; + Svalue[((long) client_data )-2]='0' + Ivalue; XmTextSetString(IndexText,Svalue); if (data->IndexHatch!=atoi(Svalue)) { data->IndexHatch=atoi(Svalue); diff --git a/src/pawlib/paw/cmotif/axis.c b/src/pawlib/paw/cmotif/axis.c index d7ba6c1..15a27f8 100644 --- a/src/pawlib/paw/cmotif/axis.c +++ b/src/pawlib/paw/cmotif/axis.c @@ -1336,7 +1336,7 @@ static void set_or(Widget w, int *type, XmToggleButtonCallbackStruct *cbs) { XmAnyCallbackStruct cbs1; - switch ((int)type) { + switch ((long)type) { case 1: axis.xo = 1; break; @@ -1432,7 +1432,7 @@ static void set_label(Widget w, int *type, XmToggleButtonCallbackStruct *cbs) unselect_list(); comstr = XtCalloc(MAX_CMD_LENGTH, 1); - switch ((int)type) { + switch ((long)type) { case 0: XmToggleButtonGadgetSetState(labeltoggleButtonGadget0,True,False); @@ -1680,7 +1680,7 @@ static void insert_label(Widget w, int* num, XmAnyCallbackStruct *cbs) cbs1.reason = 0; cbs1.event = (XEvent *) NULL; - switch ((int) num) { + switch ((long) num) { case 1: if (XmToggleButtonGadgetGetState(labeltoggleButtonGadget1)) XtCallCallbacks(labeltoggleButtonGadget1,XmNvalueChangedCallback, diff --git a/src/pawlib/paw/cmotif/histo.c b/src/pawlib/paw/cmotif/histo.c index 7465918..6b1e8ab 100644 --- a/src/pawlib/paw/cmotif/histo.c +++ b/src/pawlib/paw/cmotif/histo.c @@ -529,7 +529,7 @@ static void popdown_cb(Widget w, XtPointer call_data, static void show_option(Widget w, int *type, XmToggleButtonCallbackStruct *cbs) { if (cbs->set) { - switch( (int)type ) { + switch( (long)type ) { case 1: if ( !widget_stat ) { widget_stat = create_statFormDialog(); @@ -651,7 +651,7 @@ static void show_option(Widget w, int *type, XmToggleButtonCallbackStruct *cbs) return; } } else { - switch( (int)type ) { + switch( (long)type ) { case 1: if (widget_stat) { XtUnmanageChild(widget_stat); @@ -758,7 +758,7 @@ static void show_set(Widget w, int *type, XmToggleButtonCallbackStruct *cbs) int x,y; - switch( (int)type ) { + switch( (long)type ) { case 1: sprintf (comstr,"Set STAT %d%d%d%d%d%d%d" ,XmToggleButtonGadgetGetState(AllchanToggleButtonGadget) @@ -996,7 +996,7 @@ static void show_set(Widget w, int *type, XmToggleButtonCallbackStruct *cbs) static void coordinate_set(Widget w, int *type, XmAnyCallbackStruct *cbs) { - switch( (int)type ) { + switch( (long)type ) { case 1: sprintf (histogram.coordinate," "); break; @@ -1034,7 +1034,7 @@ static void show_range(Widget w, int *type, XmScaleCallbackStruct *cbs) int ilen1, ilen2; XmString xmstr; - switch( (int)type ) { + switch( (long)type ) { case 1: histogram.x1 = cbs->value; if( x_range_lock != 0 ) { @@ -1131,7 +1131,7 @@ static void show_range(Widget w, int *type, XmScaleCallbackStruct *cbs) if( histogram.y1 <= 0 ) histogram.y1 = 1; if( histogram.y2 <= 0 ) histogram.y2 = 1; - if ( (int)type < 3 ) { + if ( (long)type < 3 ) { XmScaleSetValue(X2Scale,histogram.x2); XmScaleSetValue(X1Scale,histogram.x1); if( x_range_lock == 0 || upd_nbin) { diff --git a/src/pawlib/paw/cmotif/init.c b/src/pawlib/paw/cmotif/init.c index 9864f07..244e250 100644 --- a/src/pawlib/paw/cmotif/init.c +++ b/src/pawlib/paw/cmotif/init.c @@ -286,7 +286,7 @@ String *get_paw_fallbacks () static void destroy_browser(Widget w, int *which, XmAnyCallbackStruct *cbs) { MenuCbStruct *menu_item; - int i = (int) which; + long i = (long) which; browser[i].widget = NULL; if (browser[i].open_dialog) { @@ -308,7 +308,7 @@ static void destroy_browser(Widget w, int *which, XmAnyCallbackStruct *cbs) ***********************************************************************/ static void destroy_graphics(Widget w, int *which, XmAnyCallbackStruct *cbs) { - int i = (int) which; + long i = (long) which; graphics[i].widget = NULL; } diff --git a/src/pawlib/paw/ntuple/c_hcntpar.h b/src/pawlib/paw/ntuple/c_hcntpar.h index 65554bf..97bc611 100644 --- a/src/pawlib/paw/ntuple/c_hcntpar.h +++ b/src/pawlib/paw/ntuple/c_hcntpar.h @@ -47,7 +47,7 @@ #define ZID 12 #define ZITMP 10 #define ZNTMP 6 -#define ZNTMP1 3 +#define ZNTMP1 4 #define ZLINK 6 #endif /* CERN_C_HCNTPAR */ diff --git a/src/pawlib/paw/ntuple/qp_execute.c b/src/pawlib/paw/ntuple/qp_execute.c index 56abaa4..c11cde2 100644 --- a/src/pawlib/paw/ntuple/qp_execute.c +++ b/src/pawlib/paw/ntuple/qp_execute.c @@ -189,7 +189,7 @@ extern void qp_exec_evt( QueryExe *, long, long, QPCmd *, int *); typedef char tName[MAX_NAME_LEN+1]; tName *namelist; -int *offsetlist; +long *offsetlist; int *indexlist; @@ -245,7 +245,23 @@ qp_exec_init( char ntname[MAX_NAME_LEN+6]; int i, ierr, indx, itype, isize, ielem; Int32 * addr; - int ibase[1], ioff, nuse; + + /* LP64 compatibility: + - use static for ibase (at least) because its address is stored + as Int32 in structure CWNBlock + static takes ibase from the stack and puts it the code area. + - use type long for ioff and offsetlist[i] + (for 32 bit architectures type long is 4 Bytes as it is used + also in packlib/hbook/chbook/halloc.c in hballo1 !) + The x86-64 ABI has the code area in the 32 bit address space + but addresses to the stack and to dynamically allocated areas + may and will be above the 32 bit address space (below 0x80000000000). + See also: http://www.x86-64.org/documentation/abi-0.96.pdf + (H. Vogt, Oct. 2005) */ + + static int ibase[1]; + long ioff; + int nuse; int id = qe->id; char * path = qe->path; char * title; @@ -286,7 +302,11 @@ qp_exec_init( CWNBlock = (RefCWN *) calloc( CWNCount + 1, sizeof( RefCWN ) ); qp_assert( MAX_NAME_LEN == 32 ); /* see hbook.h (HGNTBF) */ namelist = (tName *) calloc( CWNCount + 1, sizeof(tName) ); - offsetlist = (int *) calloc( CWNCount + 1, sizeof(int) ); + + /* offsetlist should be of type long (see above) (H. Vogt, Oct. 2005) */ + + offsetlist = (long *) calloc( CWNCount + 1, sizeof(long) ); + indexlist = (int *) calloc( CWNCount + 1, sizeof(int) ); qp_assert( CWNBlock != 0 && @@ -342,7 +362,7 @@ qp_exec_init( break; } - HBALLOC( id, path, name, block, itype, isize, start_evt, + HBALLOC64( id, path, name, block, itype, isize, start_evt, nevt*ielem, ibase, ioff, nuse ); if ( qp_flags_get( "cache" ) != 0 ) { @@ -381,6 +401,7 @@ qp_exec_init( offsetlist[nt_load_cnt]= CWNBlock[index].p - PAWC.iq_eqv; + strncpy( namelist[nt_load_cnt], vi->name, @@ -473,7 +494,7 @@ qp_exec_init( indx = h_rwn_getIndex( qe->id, v->name ); qp_assert( indx >= 0 ); - HBALLOC( id, path, name, "RWN", 1, 4, start_evt, + HBALLOC64( id, path, name, "RWN", 1, 4, start_evt, nevt, ibase, ioff, nuse ); if ( qp_flags_get( "cache" ) != 0 ) { @@ -871,8 +892,21 @@ if ( qp_flags_get( "cache" ) != 0 ) { if ( cmd->u.scan.pawpp ) { char buf[33]; + /* for LP64 ABI matlab and matrow are 64 bit pointer, type is void* + but PCADDR.jmlab and PCADDR.jmrow are of type int + see: c_pcaddr.h and qp_command.h + it is related to CWNBlock -> see above (H. Vogt)*/ + +#if defined(CERNLIB_QMLXIA64) + unsigned long long int myjmlab, myjmrow; + myjmlab = PCADDR.jmlab; + myjmrow = PCADDR.jmrow; + c->matlab = (TableCallBack) myjmlab; + c->matrow = (TableCallBack) myjmrow; +#else c->matlab = (TableCallBack) PCADDR.jmlab; c->matrow = (TableCallBack) PCADDR.jmrow; +#endif qp_assert( qe->nexpr <= MAX_OUTSTR ); @@ -1791,6 +1825,31 @@ exec_comis( long ievt, long ievt_chain, FCode fc, int iaddr, int npar, int *errp PAWIDN.idnevt = ievt; PAWCHN.ichevt = ievt_chain; +#if defined(CERNLIB_QMLXIA64) +/* avoid addresses from calloc which are above 32 bits here */ + static Int32 helpp[8]; + int i; + if ( npar < 9 ) { + for ( i=0; iid, - namelist, - offsetlist, - nt_load_cnt, - ievtlcl, ierr ); + HGNTBF64(qe->id, + namelist, + offsetlist, + nt_load_cnt, + ievtlcl, ierr); new_file = FALSE; } else { HGNTF( qe->id, diff --git a/src/pawlib/paw/ntuple/qp_hbook_if.c b/src/pawlib/paw/ntuple/qp_hbook_if.c index 9a6ea4f..3adf8d4 100644 --- a/src/pawlib/paw/ntuple/qp_hbook_if.c +++ b/src/pawlib/paw/ntuple/qp_hbook_if.c @@ -149,7 +149,15 @@ h_load_nt( int idn, idtmp; int icycle; int ierr; - int izero = 0; + + /* LP64 compatibility: + use static for izero because its address is fetched by hbname_ + using locb and locb expects 32 bit addresses only. + static takes izero from the stack and puts it the code area + and the LP64 ABI has the code area in the 32 bit address space + but the stack starts downward from 0x80000000000 (H. Vogt) */ + + static int izero = 0; /* split string into path, id and cycle */ debian/patches/307-use-canonical-cfortran.dpatch0000755000000000000000000006013412205656264016665 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 307-use-canonical-cfortran.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Use the most recent version of cfortran.h and cfortran.doc from ## DP: Debian package of cfortran, version 4.4-12. @DPATCH@ diff -urNad paw-2.14.04.dfsg.2~/src/cfortran/cfortran.doc paw-2.14.04.dfsg.2/src/cfortran/cfortran.doc --- paw-2.14.04.dfsg.2~/src/cfortran/cfortran.doc 1998-12-11 09:17:09.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/cfortran/cfortran.doc 2006-11-27 06:14:13.000000000 -0800 @@ -195,13 +195,13 @@ HP9000> f77 -c cfortex.f HP9000> CC -o cfortest cfortest.c cfortex.o -lI77 -lF77 && cfortest -HP0000> # If old-style f77 +800 compiled objects are required: +HP9000> # If old-style f77 +800 compiled objects are required: HP9000> # #define hpuxFortran800 HP9000> cc -c -Aa -DhpuxFortran800 cfortest.c HP9000> f77 +800 -o cfortest cfortest.o cfortex.f f2c> # In the following, 'CC' is any C compiler. -f2c> f2c -R cfortex.f +f2c> f2c cfortex.f f2c> CC -o cfortest -Df2cFortran cfortest.c cfortex.c -lf2c && cfortest Portland Group $ # Presumably other C compilers also work. @@ -533,9 +533,10 @@ FORTRAN_REAL thus corresponds to FORTRAN's REAL on all machines, including t3e. -o f2c - f2c, by default promotes REAL functions to double. cfortran.h does not (yet) -support this, so the f2c -R option must be used to turn this promotion off. +o f2c / g77 + f2c and g77 by default promote REAL functions to double. As of December 9, +2005, the Debian package of cfortran supports this behavior, so the f2c -R +option must *NOT* be used to turn this promotion off. o f2c [Thanks to Dario Autiero for pointing out the following.] @@ -573,6 +574,11 @@ #endif /* Last three lines are a work-around for the strange f2c naming feature. */ +o gfortran + gfortran behaves similarly to f2c and g77, EXCEPT that it does NOT by default +promote REAL functions to double. Therefore you should use -DgFortran instead +of -Dg77Fortran or -Df2cFortran to let cfortran.h know about this difference. + o NAG f90 The Fortran 77 subset of Fortran 90 is supported. Extending cfortran.h to interface C with all of Fortran 90 has not yet been examined. @@ -643,7 +649,7 @@ [For an ancient math.h on a 386 or sparc, get similar from a new math.h.] #ifdef mc68000 /* 5 lines Copyright (c) 1988 by Sun Microsystems, Inc. */ #define FLOATFUNCTIONTYPE int - #define RETURNFLOAT(x) return (*(int *)(&(x))) + #define RETURNFLOAT(x) return (*(int *)(&(x))) #define ASSIGNFLOAT(x,y) *(int *)(&x) = y #endif @@ -874,7 +880,7 @@ works everywhere and would seem to be an obvious choice. -3. +3. cfortran.h encourages the exact specification of the type and dimension of array parameters because it allows the C compiler to detect errors in the @@ -1835,7 +1841,7 @@ Unlike all other C compilers supported by cfortran.h, 'gcc -traditional' promotes to double all functions returning float -as demonstrated bu the following example. +as demonstrated by the following example. /* m.c */ #include @@ -2017,8 +2023,9 @@ THIS PACKAGE, I.E. CFORTRAN.H, THIS DOCUMENT, AND THE CFORTRAN.H EXAMPLE PROGRAMS ARE PROPERTY OF THE AUTHOR WHO RESERVES ALL RIGHTS. THIS PACKAGE AND -THE CODE IT PRODUCES MAY BE FREELY DISTRIBUTED WITHOUT FEES, SUBJECT TO THE -FOLLOWING RESTRICTIONS: +THE CODE IT PRODUCES MAY BE FREELY DISTRIBUTED WITHOUT FEES, SUBJECT +(AT YOUR CHOICE) EITHER TO THE GNU LIBRARY GENERAL PUBLIC LICENSE +AT http://www.gnu.org/licenses/lgpl.html OR TO THE FOLLOWING RESTRICTIONS: - YOU MUST ACCOMPANY ANY COPIES OR DISTRIBUTION WITH THIS (UNALTERED) NOTICE. - YOU MAY NOT RECEIVE MONEY FOR THE DISTRIBUTION OR FOR ITS MEDIA (E.G. TAPE, DISK, COMPUTER, PAPER.) diff -urNad paw-2.14.04.dfsg.2~/src/cfortran/cfortran.h paw-2.14.04.dfsg.2/src/cfortran/cfortran.h --- paw-2.14.04.dfsg.2~/src/cfortran/cfortran.h 2002-09-11 10:05:51.000000000 -0700 +++ paw-2.14.04.dfsg.2/src/cfortran/cfortran.h 2008-05-14 09:07:05.000000000 -0700 @@ -1,4 +1,4 @@ -/* cfortran.h 4.4_cernlib2002 */ +/* cfortran.h 4.4 */ /* http://www-zeus.desy.de/~burow/cfortran/ */ /* Burkhard Burow burow@desy.de 1990 - 2002. */ @@ -11,11 +11,75 @@ MODIFYING, COPYING AND DISTRIBUTING THE CFORTRAN.H PACKAGE. */ +/* The following modifications were made by the authors of CFITSIO or by me. + * They are flagged below with CFITSIO, the author's initials, or KMCCARTY. + * PDW = Peter Wilson + * DM = Doug Mink + * LEB = Lee E Brotzman + * MR = Martin Reinecke + * WDP = William D Pence + * -- Kevin McCarty, for Debian (19 Dec. 2005) */ + +/******* + Modifications: + Oct 1997: Changed symbol name extname to appendus (PDW/HSTX) + (Conflicted with a common variable name in FTOOLS) + Nov 1997: If g77Fortran defined, also define f2cFortran (PDW/HSTX) + Feb 1998: Let VMS see the NUM_ELEMS code. Lets programs treat + single strings as vectors with single elements + Nov 1999: If macintoxh defined, also define f2cfortran (for Mac OS-X) + Apr 2000: If WIN32 defined, also define PowerStationFortran and + VISUAL_CPLUSPLUS (Visual C++) + Jun 2000: If __GNUC__ and linux defined, also define f2cFortran + (linux/gcc environment detection) + Apr 2002: If __CYGWIN__ is defined, also define f2cFortran + Nov 2002: If __APPLE__ defined, also define f2cfortran (for Mac OS-X) + + Nov 2003: If __INTEL_COMPILER or INTEL_COMPILER defined, also define + f2cFortran (KMCCARTY) + Dec 2005: If f2cFortran is defined, enforce REAL functions in FORTRAN + returning "double" in C. This was one of the items on + Burkhard's TODO list. (KMCCARTY) + Dec 2005: Modifications to support 8-byte integers. (MR) + USE AT YOUR OWN RISK! + Feb 2006 Added logic to typedef the symbol 'LONGLONG' to an appropriate + intrinsic 8-byte integer datatype (WDP) + Apr 2006: Modifications to support gfortran (and g77 with -fno-f2c flag) + since by default it returns "float" for FORTRAN REAL function. + (KMCCARTY) + May 2008: Revert commenting out of "extern" in COMMON_BLOCK_DEF macro. + Add braces around do-nothing ";" in 3 empty while blocks to + get rid of compiler warnings. Thanks to ROOT developers + Jacek Holeczek and Rene Brun for these suggestions. (KMCCARTY) + *******/ + /* Avoid symbols already used by compilers and system *.h: __ - OSF1 zukal06 V3.0 347 alpha, cc -c -std1 cfortest.c - */ +*/ + +/* + Determine what 8-byte integer data type is available. + 'long long' is now supported by most compilers, but older + MS Visual C++ compilers before V7.0 use '__int64' instead. (WDP) +*/ + +#ifndef LONGLONG_TYPE /* this may have been previously defined */ +#if defined(_MSC_VER) /* Microsoft Visual C++ */ + +#if (_MSC_VER < 1300) /* versions earlier than V7.0 do not have 'long long' */ + typedef __int64 LONGLONG; +#else /* newer versions do support 'long long' */ + typedef long long LONGLONG; +#endif + +#else + typedef long long LONGLONG; +#endif + +#define LONGLONG_TYPE +#endif /* First prepare for the C compiler. */ @@ -75,7 +139,9 @@ /* Remainder of cfortran.h depends on the Fortran compiler. */ -#if defined(CLIPPERFortran) || defined(pgiFortran) +/* 11/29/2003 (KMCCARTY): add *INTEL_COMPILER symbols here */ +/* 04/05/2006 (KMCCARTY): add gFortran symbol here */ +#if defined(CLIPPERFortran) || defined(pgiFortran) || defined(__INTEL_COMPILER) || defined(INTEL_COMPILER) || defined(gFortran) #define f2cFortran #endif @@ -90,6 +156,27 @@ Support f2c or f77 with gcc, vcc with f2c. f77 with vcc works, missing link magic for f77 I/O.*/ #endif +/* 04/13/00 DM (CFITSIO): Add these lines for NT */ +/* with PowerStationFortran and and Visual C++ */ +#if defined(WIN32) && !defined(__CYGWIN__) +#define PowerStationFortran +#define VISUAL_CPLUSPLUS +#endif +#if defined(g77Fortran) /* 11/03/97 PDW (CFITSIO) */ +#define f2cFortran +#endif +#if defined(__CYGWIN__) /* 04/11/02 LEB (CFITSIO) */ +#define f2cFortran +#endif +#if defined(__GNUC__) && defined(linux) /* 06/21/00 PDW (CFITSIO) */ +#define f2cFortran +#endif +#if defined(macintosh) /* 11/1999 (CFITSIO) */ +#define f2cFortran +#endif +#if defined(__APPLE__) /* 11/2002 (CFITSIO) */ +#define f2cFortran +#endif #if defined(__hpux) /* 921107: Use __hpux instead of __hp9000s300 */ #define hpuxFortran /* Should also allow hp9000s7/800 use.*/ #endif @@ -131,6 +218,7 @@ #if !(defined(mipsFortran)||defined(DECFortran)||defined(vmsFortran)||defined(CONVEXFortran)||defined(PowerStationFortran)||defined(AbsoftUNIXFortran)||defined(AbsoftProFortran)||defined(SXFortran)) /* If your compiler barfs on ' #error', replace # with the trigraph for # */ #error "cfortran.h: Can't find your environment among:\ + - GNU gcc (g77) on Linux. \ - MIPS cc and f77 2.0. (e.g. Silicon Graphics, DECstations, ...) \ - IBM AIX XL C and FORTRAN Compiler/6000 Version 01.01.0000.0000 \ - VAX VMS CC 3.1 and FORTRAN 5.4. \ @@ -147,11 +235,14 @@ - VAXUltrix: vcc,cc or gcc with f2c. gcc or cc with f77. \ - f77 with vcc works; but missing link magic for f77 I/O. \ - NO fort. None of gcc, cc or vcc generate required names.\ - - f2c : Use #define f2cFortran, or cc -Df2cFortran \ + - f2c/g77: Use #define f2cFortran, or cc -Df2cFortran \ + - gfortran: Use #define gFortran, or cc -DgFortran \ + (also necessary for g77 with -fno-f2c option) \ - NAG f90: Use #define NAGf90Fortran, or cc -DNAGf90Fortran \ - Absoft UNIX F77: Use #define AbsoftUNIXFortran or cc -DAbsoftUNIXFortran \ - Absoft Pro Fortran: Use #define AbsoftProFortran \ - - Portland Group Fortran: Use #define pgiFortran" + - Portland Group Fortran: Use #define pgiFortran \ + - Intel Fortran: Use #define INTEL_COMPILER" /* Compiler must throw us out at this point! */ #endif #endif @@ -164,7 +255,8 @@ /* Throughout cfortran.h we use: UN = Uppercase Name. LN = Lowercase Name. */ -#if defined(f2cFortran) || defined(NAGf90Fortran) || defined(DECFortran) || defined(mipsFortran) || defined(apolloFortran) || defined(sunFortran) || defined(CONVEXFortran) || defined(SXFortran) || defined(extname) +/* "extname" changed to "appendus" below (CFITSIO) */ +#if defined(f2cFortran) || defined(NAGf90Fortran) || defined(DECFortran) || defined(mipsFortran) || defined(apolloFortran) || defined(sunFortran) || defined(CONVEXFortran) || defined(SXFortran) || defined(appendus) #define CFC_(UN,LN) _(LN,_) /* Lowercase FORTRAN symbols. */ #define orig_fcallsc(UN,LN) CFC_(UN,LN) #else @@ -268,7 +360,7 @@ #endif #ifndef apolloFortran -#define COMMON_BLOCK_DEF(DEFINITION, NAME) DEFINITION NAME +#define COMMON_BLOCK_DEF(DEFINITION, NAME) extern DEFINITION NAME #define CF_NULL_PROTO #else /* HP doesn't understand #elif. */ /* Without ANSI prototyping, Apollo promotes float functions to double. */ @@ -453,7 +545,7 @@ {char *e; e = s + strlen(s); if (e>s) { /* Need this to handle NULL string.*/ - while (e>s && *--e==t); /* Don't follow t's past beginning. */ + while (e>s && *--e==t) {;} /* Don't follow t's past beginning. */ e[*e==t?0:1] = '\0'; /* Handle s[0]=t correctly. */ } return s; } @@ -469,7 +561,7 @@ { if (e==s) *e = '\0'; /* Kill the string makes sense here.*/ else if (e>s) { /* Watch out for neg. length string.*/ - while (e>s && *--e==t); /* Don't follow t's past beginning. */ + while (e>s && *--e==t){;} /* Don't follow t's past beginning. */ e[*e==t?0:1] = '\0'; /* Handle s[0]=t correctly. */ } return s; } @@ -512,7 +604,7 @@ *( (F).dsc$l_m[0]=(F).dsc$bounds[0].dsc$l_u=(ELEMNO) ), \ (F).dsc$a_a0 = ( (F).dsc$a_pointer=(C) ) - (F).dsc$w_length ,(F)) -#else +#endif /* PDW: 2/10/98 (CFITSIO) -- Let VMS see NUM_ELEMS definitions */ #define _NUM_ELEMS -1 #define _NUM_ELEM_ARG -2 #define NUM_ELEMS(A) A,_NUM_ELEMS @@ -534,13 +626,18 @@ return term_char; if (num_term <=0) num_term = (int)elem_len; for (num=0; ; num++) { - for (i=0; i<(unsigned)num_term && *strv==term_char; i++,strv++); + for (i=0; i<(unsigned)num_term && *strv==term_char; i++,strv++){;} if (i==(unsigned)num_term) break; else strv += elem_len-i; } +if (0) { /* to prevent not used warnings in gcc (added by ROOT) */ + c2fstrv(0, 0, 0, 0); f2cstrv(0, 0, 0, 0); kill_trailing(0, 0); + vkill_trailing(0, 0, 0, 0); num_elem(0, 0, 0, 0); +} return (int)num; } -#endif +/* #endif removed 2/10/98 (CFITSIO) */ + /*-------------------------------------------------------------------------*/ /* UTILITIES FOR C TO USE STRINGS IN FORTRAN COMMON BLOCKS */ @@ -1318,6 +1415,7 @@ #define INTVVVVVVV_cfTYPE int #define LOGICALVVVVVVV_cfTYPE int #define LONGVVVVVVV_cfTYPE long +#define LONGLONGVVVVVVV_cfTYPE LONGLONG /* added by MR December 2005 */ #define SHORTVVVVVVV_cfTYPE short #define PBYTE_cfTYPE INTEGER_BYTE #define PDOUBLE_cfTYPE DOUBLE_PRECISION @@ -1325,6 +1423,7 @@ #define PINT_cfTYPE int #define PLOGICAL_cfTYPE int #define PLONG_cfTYPE long +#define PLONGLONG_cfTYPE LONGLONG /* added by MR December 2005 */ #define PSHORT_cfTYPE short #define CFARGS0(A,T,V,W,X,Y,Z) _3(T,_cf,A) @@ -1342,6 +1441,7 @@ #define INT_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z) #define LOGICAL_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z) #define LONG_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z) +#define LONGLONG_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ #define SHORT_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z) #define PBYTE_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z) #define PDOUBLE_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,PINT,B,X,Y,Z,0) @@ -1349,6 +1449,7 @@ #define PINT_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z) #define PLOGICAL_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z) #define PLONG_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z) +#define PLONGLONG_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ #define PSHORT_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z) #define BYTEV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z) #define BYTEVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z) @@ -1392,6 +1493,13 @@ #define LONGVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z) #define LONGVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z) #define LONGVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z) +#define LONGLONGV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ +#define LONGLONGVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ +#define LONGLONGVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ +#define LONGLONGVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ +#define LONGLONGVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ +#define LONGLONGVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ +#define LONGLONGVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z) /* added by MR December 2005 */ #define SHORTV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z) #define SHORTVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z) #define SHORTVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z) @@ -1451,7 +1559,12 @@ #define BYTE_cfPU(A) CFextern INTEGER_BYTE FCALLSC_QUALIFIER A #define DOUBLE_cfPU(A) CFextern DOUBLE_PRECISION FCALLSC_QUALIFIER A #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT)) +#if defined (f2cFortran) && ! defined (gFortran) +/* f2c/g77 return double from FORTRAN REAL functions. (KMCCARTY, 2005/12/09) */ +#define FLOAT_cfPU(A) CFextern DOUBLE_PRECISION FCALLSC_QUALIFIER A +#else #define FLOAT_cfPU(A) CFextern FORTRAN_REAL FCALLSC_QUALIFIER A +#endif #else #define FLOAT_cfPU(A) CFextern FLOATFUNCTIONTYPE FCALLSC_QUALIFIER A #endif @@ -1589,6 +1702,7 @@ #define INT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define LOGICAL_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LOGICAL,A,B,C,D,E) #define LONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) +#define LONGLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ #define SHORT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define BYTEV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define BYTEVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) @@ -1632,6 +1746,13 @@ #define LONGVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define LONGVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define LONGVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) +#define LONGLONGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ +#define LONGLONGVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ +#define LONGLONGVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ +#define LONGLONGVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ +#define LONGLONGVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ +#define LONGLONGVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ +#define LONGLONGVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ #define SHORTV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define SHORTVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define SHORTVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) @@ -1645,6 +1766,7 @@ #define PINT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define PLOGICAL_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PLOGICAL,A,B,C,D,E) #define PLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) +#define PLONGLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) /* added by MR December 2005 */ #define PSHORT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E) #define STRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,STRING,A,B,C,D,E) #define PSTRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PSTRING,A,B,C,D,E) @@ -1957,6 +2079,7 @@ #define INT_cfT(M,I,A,B,D) *A #define LOGICAL_cfT(M,I,A,B,D) F2CLOGICAL(*A) #define LONG_cfT(M,I,A,B,D) *A +#define LONGLONG_cfT(M,I,A,B,D) *A /* added by MR December 2005 */ #define SHORT_cfT(M,I,A,B,D) *A #define BYTEV_cfT(M,I,A,B,D) A #define DOUBLEV_cfT(M,I,A,B,D) A @@ -1964,6 +2087,7 @@ #define INTV_cfT(M,I,A,B,D) A #define LOGICALV_cfT(M,I,A,B,D) A #define LONGV_cfT(M,I,A,B,D) A +#define LONGLONGV_cfT(M,I,A,B,D) A /* added by MR December 2005 */ #define SHORTV_cfT(M,I,A,B,D) A #define BYTEVV_cfT(M,I,A,B,D) (void *)A /* We have to cast to void *,*/ #define BYTEVVV_cfT(M,I,A,B,D) (void *)A /* since we don't know the */ @@ -2001,6 +2125,12 @@ #define LONGVVVVV_cfT(M,I,A,B,D) (void *)A #define LONGVVVVVV_cfT(M,I,A,B,D) (void *)A #define LONGVVVVVVV_cfT(M,I,A,B,D) (void *)A +#define LONGLONGVV_cfT(M,I,A,B,D) (void *)A /* added by MR December 2005 */ +#define LONGLONGVVV_cfT(M,I,A,B,D) (void *)A /* added by MR December 2005 */ +#define LONGLONGVVVV_cfT(M,I,A,B,D) (void *)A /* added by MR December 2005 */ +#define LONGLONGVVVVV_cfT(M,I,A,B,D) (void *)A /* added by MR December 2005 */ +#define LONGLONGVVVVVV_cfT(M,I,A,B,D) (void *)A /* added by MR December 2005 */ +#define LONGLONGVVVVVVV_cfT(M,I,A,B,D) (void *)A /* added by MR December 2005 */ #define SHORTVV_cfT(M,I,A,B,D) (void *)A #define SHORTVVV_cfT(M,I,A,B,D) (void *)A #define SHORTVVVV_cfT(M,I,A,B,D) (void *)A @@ -2013,6 +2143,7 @@ #define PINT_cfT(M,I,A,B,D) A #define PLOGICAL_cfT(M,I,A,B,D) ((*A=F2CLOGICAL(*A)),A) #define PLONG_cfT(M,I,A,B,D) A +#define PLONGLONG_cfT(M,I,A,B,D) A /* added by MR December 2005 */ #define PSHORT_cfT(M,I,A,B,D) A #define PVOID_cfT(M,I,A,B,D) A #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran) @@ -2083,12 +2214,18 @@ #define INT_cfFZ(UN,LN) int FCALLSC_QUALIFIER fcallsc(UN,LN)( #define LOGICAL_cfFZ(UN,LN) int FCALLSC_QUALIFIER fcallsc(UN,LN)( #define LONG_cfFZ(UN,LN) long FCALLSC_QUALIFIER fcallsc(UN,LN)( +#define LONGLONG_cfFZ(UN,LN) LONGLONG FCALLSC_QUALIFIER fcallsc(UN,LN)( /* added by MR December 2005 */ #define SHORT_cfFZ(UN,LN) short FCALLSC_QUALIFIER fcallsc(UN,LN)( #define VOID_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)( #ifndef __CF__KnR /* The void is req'd by the Apollo, to make this an ANSI function declaration. The Apollo promotes K&R float functions to double. */ -#define FLOAT_cfFZ(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)(void +#if defined (f2cFortran) && ! defined (gFortran) +/* f2c/g77 return double from FORTRAN REAL functions. (KMCCARTY, 2005/12/09) */ +#define FLOAT_cfFZ(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)(void +#else +#define FLOAT_cfFZ(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)(void +#endif #ifdef vmsFortran #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(fstring *AS #else @@ -2104,7 +2241,12 @@ #endif #else #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT)) +#if defined (f2cFortran) && ! defined (gFortran) +/* f2c/g77 return double from FORTRAN REAL functions. (KMCCARTY, 2005/12/09) */ +#define FLOAT_cfFZ(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)( +#else #define FLOAT_cfFZ(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)( +#endif #else #define FLOAT_cfFZ(UN,LN) FLOATFUNCTIONTYPE FCALLSC_QUALIFIER fcallsc(UN,LN)( #endif @@ -2118,13 +2260,19 @@ #define BYTE_cfF(UN,LN) BYTE_cfFZ(UN,LN) #define DOUBLE_cfF(UN,LN) DOUBLE_cfFZ(UN,LN) #ifndef __CF_KnR +#if defined (f2cFortran) && ! defined (gFortran) +/* f2c/g77 return double from FORTRAN REAL functions. (KMCCARTY, 2005/12/09) */ +#define FLOAT_cfF(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)( +#else #define FLOAT_cfF(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)( +#endif #else #define FLOAT_cfF(UN,LN) FLOAT_cfFZ(UN,LN) #endif #define INT_cfF(UN,LN) INT_cfFZ(UN,LN) #define LOGICAL_cfF(UN,LN) LOGICAL_cfFZ(UN,LN) #define LONG_cfF(UN,LN) LONG_cfFZ(UN,LN) +#define LONGLONG_cfF(UN,LN) LONGLONG_cfFZ(UN,LN) /* added by MR December 2005 */ #define SHORT_cfF(UN,LN) SHORT_cfFZ(UN,LN) #define VOID_cfF(UN,LN) VOID_cfFZ(UN,LN) #define STRING_cfF(UN,LN) STRING_cfFZ(UN,LN), @@ -2187,6 +2335,7 @@ #define LOGICAL_cfI return C2FLOGICAL(A0); #endif #define LONG_cfI return A0; +#define LONGLONG_cfI return A0; /* added by MR December 2005 */ #define SHORT_cfI return A0; #define STRING_cfI return ; #define VOID_cfI return ; debian/patches/108-quote-protect-comis-script.dpatch0000755000000000000000000000246312205656264017555 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 108-quote-protect-comis-script.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Try to be whitespace-safe in script generated at runtime by COMIS. @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F /tmp/dpep.tIRzzG/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F --- cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F 2000-09-25 10:16:36.000000000 -0400 +++ /tmp/dpep.tIRzzG/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F 2005-06-09 15:41:16.757077306 -0400 @@ -70,7 +70,7 @@ LEXEC=LENOCC(FEXEC) OPEN(LUNOUT,FILE=FEXEC(:LEXEC), STATUS='UNKNOWN',ERR=99) WRITE(LUNOUT,'(A)') '#!/bin/sh' - WRITE(LUNOUT,'(A)') 'olddir=`pwd`' + WRITE(LUNOUT,'(A)') 'olddir="`pwd`"' * WRITE(LUNOUT,'(A)') 'cd '//CHPATH(:LPATH) CHLINE= 'cd '//CHPATH(:LPATH) L=LENOCC(CHLINE) @@ -206,7 +206,7 @@ CHLINE= '/bin/rm -f '//NAME(:LN)//'.o' L=LENOCC(CHLINE) WRITE(LUNOUT,'(A)')CHLINE(:L) - WRITE(LUNOUT,'(A)') 'cd $olddir' + WRITE(LUNOUT,'(A)') 'cd "$olddir"' WRITE(LUNOUT,'(A)') 'exit 0' CALL CSCLOS(LUNOUT) CLOSE(LUNOUT) debian/patches/102-dont-optimize-some-code.dpatch0000755000000000000000000000176312205656264016777 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 102-dont-optimize-some-code.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Don't allow the compiler to optimize several files that cause trouble ## DP: (either compiler crash or broken code generation). @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/pawlib/comis/code/Imakefile --- cernlib-2005.05.09/src/pawlib/comis/code/Imakefile 2001-09-14 09:08:51.000000000 -0400 +++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/pawlib/comis/code/Imakefile 2005-06-09 11:19:57.756983183 -0400 @@ -101,4 +101,10 @@ SpecialFortranLibObjectRule(cskide,cskide,-O0,NullParameter) #endif +#if defined(CERNLIB_LINUX) +/* optimizing this file, even at -O1, causes runtime breakage with g77 3.3 + cf. http://bugs.debian.org/233689 */ +SpecialFortranLibObjectRule(csrfun,csrfun,-O0,NullParameter) +#endif + SubdirLibraryTarget(NullParameter,NullParameter) debian/patches/601-paw-bugreport-goes-to-BTS.dpatch0000755000000000000000000000414412205656264017123 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 601-paw-bugreport-goes-to-BTS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Have the bug submission interface in PAW and Paw++ send a properly ## DP: formatted email to the Debian BTS instead of the PAW developers. @DPATCH@ diff -urNad paw-2.14.04.dfsg~/src/pawlib/paw/cpaw/bugrep.c paw-2.14.04.dfsg/src/pawlib/paw/cpaw/bugrep.c --- paw-2.14.04.dfsg~/src/pawlib/paw/cpaw/bugrep.c 2006-12-07 08:26:54.000000000 -0500 +++ paw-2.14.04.dfsg/src/pawlib/paw/cpaw/bugrep.c 2007-01-11 15:03:09.771865799 -0500 @@ -197,6 +197,14 @@ #endif /* template for user info, !! keep identical to br_mail_motif !! */ static char *br_tmpl_user[] = { +#if defined(CERNLIB_DEBIAN) + + /* For Debian, submit bug to the BTS in proper format */ + "Package: paw", + "Version: " DEBIAN_VERSION , + "", + +#endif "-----------------------------------------------------------", "* Please fill in the following fields *", "", @@ -625,7 +633,13 @@ addr = getenv( "PAWSUPPORT" ); if ( addr == 0 ) { +#if defined(CERNLIB_DEBIAN) + + + addr = "submit@bugs.debian.org"; +#else addr = "Paw.Support@cern.ch"; +#endif } r = br_mail_file( addr, s , tmp_file ); } @@ -715,6 +729,10 @@ fprintf( fp, "%-16s%s\n", *s, phone ); } else if ( strcmp( "Email address:", *s ) == 0 ) { fprintf( fp, "%-16s%s\n", *s, email ); +#if defined(CERNLIB_DEBIAN) + } else if ( strcmp( "Package: paw", *s ) == 0 ) { + fprintf( fp, "%s++\n", *s ); +#endif } else { fputs( *s, fp ); fputc( '\n', fp ); @@ -732,7 +750,13 @@ addr = getenv( "PAWSUPPORT" ); if ( addr == 0 ) { +#if defined(CERNLIB_DEBIAN) + + + addr = "submit@bugs.debian.org"; +#else addr = "Paw.Support@cern.ch"; +#endif } r = br_mail_file( addr, st , tmp_file ); debian/patches/00list0000644000000000000000000000247012206006503011650 0ustar 000-unpack.sh.dpatch 102-dont-optimize-some-code.dpatch 105-fix-obsolete-xmfontlistcreate-warning.dpatch 108-quote-protect-comis-script.dpatch 114-install-scripts-properly.dpatch 119-fix-compiler-warnings.dpatch 120-fix-mlp-cdf-file.dpatch 121-call-gfortran-in-cscrexec.dpatch 131-fix-typo-unkown-unknown.dpatch 132-fix-typo-lenght-length.dpatch 133-harden-flags.dpatch 200-comis-allow-special-chars-in-path.dpatch 207-compile-temp-libs-with-fPIC.dpatch 210-improve-cfortran-header-files.dpatch 211-support-amd64-and-itanium.dpatch 302-scripts-comply-with-FHS.dpatch 305-use-POWERPC-not-PPC-as-test.dpatch 306-patch-assert.h-for-makedepend.dpatch 307-use-canonical-cfortran.dpatch 308-use-canonical-cfortran-location.dpatch 313-comis-preserves-filename-case.dpatch 320-support-ifort-and-gfortran.dpatch 601-paw-bugreport-goes-to-BTS.dpatch 602-debianize-kuip-helper-apps.dpatch 701-move-packlib-hkfill-to-comis.sh.dpatch 701-patch-hbook-comis-Imakefiles.dpatch 705-move-paw++-code-to-top-level.sh.dpatch 705-patch-paw_motif-paw-Imakefiles.dpatch 706-use-external-xbae-and-xaw.dpatch 801-non-optimized-rule-uses-fPIC-g.dpatch 802-create-shared-libraries.dpatch 803-link-binaries-dynamically.dpatch 804-link-to-comis-includes.sh.dpatch 804-workaround-for-comis-mdpool-struct-location.dpatch 806-bump-mathlib-and-dependents-sonames.dpatch debian/patches/706-use-external-xbae-and-xaw.dpatch0000755000000000000000000000405112205656264017215 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 706-use-external-xbae-and-xaw.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Do not compile embedded old Xbae and Xaw code. @DPATCH@ diff -urNad paw-2.14.04.dfsg~/src/paw_motif/Imakefile paw-2.14.04.dfsg/src/paw_motif/Imakefile --- paw-2.14.04.dfsg~/src/paw_motif/Imakefile 2007-01-11 16:35:03.203039255 -0500 +++ paw-2.14.04.dfsg/src/paw_motif/Imakefile 2007-01-11 16:35:55.436956428 -0500 @@ -5,7 +5,7 @@ #define PassCDebugFlags MotifDependantMakeVar(MOTIF_DIRS,cmotif fmotif fpanelsc) -MotifDependantMakeVar(PAWPP_DIRS,fpanelsf tree uimx) +MotifDependantMakeVar(PAWPP_DIRS,fpanelsf uimx) LIBDIRS= code cdf @@ -13,6 +13,7 @@ LIBDIRS :=$(LIBDIRS) $(MOTIF_DIRS) $(PAWPP_DIRS) #endif +#if 0 /* we want to use external libXbae */ #if defined(CERNLIB_UNIX) && !defined(CERNLIB_WINNT) MotifDependantMakeVar(PAWPP_DIRS,xbae) LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS) @@ -22,6 +23,7 @@ MotifDependantMakeVar(PAWPP_DIRS,xbaevms) LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS) #endif +#endif SUBDIRS= $(LIBDIRS) diff -urNad paw-2.14.04.dfsg~/src/paw_motif/cmotif/chain_tree.c paw-2.14.04.dfsg/src/paw_motif/cmotif/chain_tree.c --- paw-2.14.04.dfsg~/src/paw_motif/cmotif/chain_tree.c 1996-03-01 06:38:54.000000000 -0500 +++ paw-2.14.04.dfsg/src/paw_motif/cmotif/chain_tree.c 2007-01-11 16:37:01.447950095 -0500 @@ -19,7 +19,7 @@ #include "hmotif/pawm.h" #include "hpaw/chain.h" -#include "paw/tree.h" +#include #if defined(CERNLIB_QX_SC) #define show_chain_tree show_chain_tree_ diff -urNad paw-2.14.04.dfsg~/src/paw_motif/hmotif/scan.h paw-2.14.04.dfsg/src/paw_motif/hmotif/scan.h --- paw-2.14.04.dfsg~/src/paw_motif/hmotif/scan.h 1996-09-09 11:21:28.000000000 -0400 +++ paw-2.14.04.dfsg/src/paw_motif/hmotif/scan.h 2007-01-11 16:36:26.990261436 -0500 @@ -20,10 +20,10 @@ #define _scan_h #include "ntuplescan.h" -#ifdef CERNLIB_VAXVMS +#if 0 #include "xbaevms/matrix.h" #else -#include "xbae/matrix.h" +#include #endif debian/patches/120-fix-mlp-cdf-file.dpatch0000755000000000000000000000125512205656264015343 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 120-fix-mlp-cdf-file.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: add missing >Guidance keyword in CDF file before help text. @DPATCH@ diff -urNad paw-2.14.04.dfsg~/src/pawlib/paw/cdf/mlpdef.cdf paw-2.14.04.dfsg/src/pawlib/paw/cdf/mlpdef.cdf --- paw-2.14.04.dfsg~/src/pawlib/paw/cdf/mlpdef.cdf 2001-05-21 05:12:35.000000000 -0400 +++ paw-2.14.04.dfsg/src/pawlib/paw/cdf/mlpdef.cdf 2007-01-17 14:26:43.199756845 -0500 @@ -260,6 +260,7 @@ >Action mlppawc%c >Menu ../TPAT +>Guidance Operations on the test patterns . Whereas it is obviously necessary to define learning debian/patches/210-improve-cfortran-header-files.dpatch0000755000000000000000000000327412205656264020146 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 210-improve-cfortran-header-files.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Protect against multiple inclusion and add explicit dependency on ## DP: cfortran.h to the CERNLIB C headers. @DPATCH@ diff -urNad cernlib-2005.05.09/src/cfortran/comis.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/comis.h --- cernlib-2005.05.09/src/cfortran/comis.h 1999-10-29 07:41:26.000000000 -0400 +++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/comis.h 2005-06-10 12:51:30.985999665 -0400 @@ -1,3 +1,11 @@ +#ifndef _COMIS_H +#define _COMIS_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + PROTOCCALLSFFUN1(INT,CSADDR,csaddr,STRING) #define CSADDR(CHFILE) CCALLSFFUN1(CSADDR,csaddr,STRING,CHFILE) @@ -30,3 +38,9 @@ PROTOCCALLSFSUB2(CSTYPE,cstype,INT,PSTRING) #define CSTYPE(CADR,CHTYPE) CCALLSFSUB2(CSTYPE,cstype,INT,PSTRING,CADR,CHTYPE) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* #ifndef _COMIS_H */ diff -urNad cernlib-2005.05.09/src/cfortran/paw.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/paw.h --- cernlib-2005.05.09/src/cfortran/paw.h 2000-10-05 10:27:55.000000000 -0400 +++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/paw.h 2005-06-10 12:51:31.464897452 -0400 @@ -1,6 +1,20 @@ +#ifndef _PAW_H +#define _PAW_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + PROTOCCALLSFSUB2(PAW,paw,INT,INT) #define PAW(A1,A2) CCALLSFSUB2(PAW,paw,INT,INT,A1,A2) PROTOCCALLSFSUB0(PAEXIT,paexit) #define PAEXIT() CCALLSFSUB0(PAEXIT,paexit) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* #ifndef _PAW_H */ debian/patches/602-debianize-kuip-helper-apps.dpatch0000755000000000000000000000173512205656264017446 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 602-debianize-kuip-helper-apps.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Use Debian-specific programs for some KUIP helper apps. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/paw/code/pawpp.F cernlib-2005.05.09.dfsg/src/pawlib/paw/code/pawpp.F --- cernlib-2005.05.09.dfsg~/src/pawlib/paw/code/pawpp.F 1999-05-20 03:37:18.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/pawlib/paw/code/pawpp.F 2006-06-23 10:03:41.215246433 -0400 @@ -36,7 +36,12 @@ CALL KUEXEC('SET/PROMPT ''PAW++ [] ''') CALL KUEXEC('OPT ZFL1') #if !defined(CERNLIB_VMS) +# if defined CERNLIB_DEBIAN + CALL KUEXEC('HOST_EDITOR ''x-terminal-emulator ' // + + '-e sensible-editor &''') +# else CALL KUEXEC('HOST_EDITOR ''xterm -e vi &''') +# endif #endif #if defined(CERNLIB_VMS) CALL KUEXEC('HOST_EDITOR ''edit/tpu/disp=decw''') debian/patches/705-patch-paw_motif-paw-Imakefiles.dpatch0000755000000000000000000001140612205656264020246 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 705-patch-paw_motif-paw-Imakefiles.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Patch Imakefiles in order to split out Lesstif-dependent code into ## DP: its own library. @DPATCH@ diff -urNad cernlib-2005.05.09/src/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/Imakefile --- cernlib-2005.05.09/src/Imakefile 2005-06-13 16:04:27.418461884 -0400 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/Imakefile 2005-06-13 16:04:48.698899728 -0400 @@ -2,7 +2,7 @@ #define PassCDebugFlags -LIBDIRS= packlib pawlib graflib mathlib geant321 mclibs phtools +LIBDIRS= pawlib paw_motif SUBDIRS= $(LIBDIRS) patchy cfortran diff -urNad cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile 1999-08-31 04:47:07.000000000 -0400 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile 2005-06-13 16:05:01.263206159 -0400 @@ -1,6 +1,6 @@ #define IHaveCDF -SRCS_CDF= pawcdf.cdf pamcdf.cdf mlpdef.cdf +SRCS_CDF= pawcdf.cdf mlpdef.cdf #ifdef CERNLIB_IBMRT /* Otherwise cc dies with internal compiler error on pawcdf. diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/code/Imakefile 2005-06-13 16:04:26.689618135 -0400 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile 2005-06-13 16:04:33.962059051 -0400 @@ -11,8 +11,8 @@ pautit.F pavect.F paw.F pawbrk.F pawdef.F pawfca.F \ @@\ pawfitz.F pawfop.F pawfu1.F pawfu2.F \ @@\ pawfu3.F pawfud.F pawfun.F pawfuy.F pawild.F pawins.F pawint.F \ @@\ - pawint1.F pawint2.F pawint3.F pawint4.F pawintm.F \ @@\ - pawjoj.F pawloc.F pawork.F pawpp.F pawrit.F pawrop.F \ @@\ + pawint1.F pawint2.F pawint3.F pawint4.F \ @@\ + pawjoj.F pawloc.F pawork.F pawrit.F pawrop.F \ @@\ pawsim.F pawusr.F pawuwf.F paxcut.F pazdz.F pazfz.F pazrz.F \ @@\ pchain.F pchclo.F pchncd.F pchrop.F pcnext.F pfclos.F \ @@\ pfhigz.F pfindc.F pfindf.F pfindf1.F pfindv.F pfinit.F pflog.F \ @@\ diff -urNad cernlib-2005.05.09/src/pawlib/paw/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/Imakefile 2000-06-27 11:27:03.000000000 -0400 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/Imakefile 2005-06-13 16:04:33.962059051 -0400 @@ -9,6 +9,9 @@ LIBDIRS= code cpaw cdf ntuple mlpfit +/* Comment out this whole section; Motif code has been moved to + paw_motif at top level. -- Kevin McCarty */ +#if 0 #ifndef CERNLIB_WINNT LIBDIRS :=$(LIBDIRS) $(MOTIF_DIRS) $(PAWPP_DIRS) #endif @@ -22,6 +25,7 @@ MotifDependantMakeVar(PAWPP_DIRS,xbaevms) LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS) #endif +#endif SUBDIRS= $(LIBDIRS) programs piafs hbpiaf stagerd paw diff -urNad cernlib-2005.05.09/src/paw_motif/cdf/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/cdf/Imakefile --- cernlib-2005.05.09/src/paw_motif/cdf/Imakefile 1969-12-31 19:00:00.000000000 -0500 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/cdf/Imakefile 2005-06-13 16:04:33.963058837 -0400 @@ -0,0 +1,5 @@ +#define IHaveCDF + +SRCS_CDF= pamcdf.cdf + +SubdirLibraryTarget(NullParameter,NullParameter) diff -urNad cernlib-2005.05.09/src/paw_motif/code/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/code/Imakefile --- cernlib-2005.05.09/src/paw_motif/code/Imakefile 1969-12-31 19:00:00.000000000 -0500 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/code/Imakefile 2005-06-13 16:04:33.963058837 -0400 @@ -0,0 +1,7 @@ +SRCS_F= pawintm.F pawpp.F + +DoIncludePackage(paw) +#include "pilot.h" + +SubdirLibraryTarget(NullParameter,NullParameter) + diff -urNad cernlib-2005.05.09/src/paw_motif/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/Imakefile --- cernlib-2005.05.09/src/paw_motif/Imakefile 2000-06-27 11:27:03.000000000 -0400 +++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/Imakefile 2005-06-13 16:04:33.963058837 -0400 @@ -7,7 +7,7 @@ MotifDependantMakeVar(MOTIF_DIRS,cmotif fmotif fpanelsc) MotifDependantMakeVar(PAWPP_DIRS,fpanelsf tree uimx) -LIBDIRS= code cpaw cdf ntuple mlpfit +LIBDIRS= code cdf #ifndef CERNLIB_WINNT LIBDIRS :=$(LIBDIRS) $(MOTIF_DIRS) $(PAWPP_DIRS) @@ -23,19 +23,11 @@ LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS) #endif -SUBDIRS= $(LIBDIRS) programs piafs hbpiaf stagerd paw - -#if defined CERNLIB_WINNT -SUBDIRS := $(LIBDIRS) programs -#endif - -TopOfPackage(paw) - -SubdirLibraryTarget(paw,$(LIBDIRS)) +SUBDIRS= $(LIBDIRS) -InstallBinSubdirs(programs) +TopOfPackage(pawlib-lesstif) -TestSubdirs(test) +SubdirLibraryTarget(pawlib-lesstif,$(LIBDIRS)) -InstallIncludeSubdirs(paw) +InstallLibrary(pawlib-lesstif,$(CERN_LIBDIR)) debian/patches/308-use-canonical-cfortran-location.dpatch0000755000000000000000000000146012205656264020471 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 308-use-canonical-cfortran-location.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: All code compiled at CERNLIB build-time should look for cfortran.h ## DP: at . @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c /tmp/dpep.d3syqe/cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c --- cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c 1996-04-17 10:46:29.000000000 -0400 +++ /tmp/dpep.d3syqe/cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c 2005-06-09 13:14:58.654908060 -0400 @@ -16,7 +16,7 @@ #include -#include "cfortran.h" +#include /* #include "packlib.h" */ #include "hbook_interface.h" debian/patches/133-harden-flags.dpatch0000644000000000000000000000067012205656264014654 0ustar --- a/src/pawlib/paw/programs/Imakefile +++ b/src/pawlib/paw/programs/Imakefile @@ -6,15 +6,15 @@ #endif #if defined(CERNLIB_HPUX) -EXTRA_LDOPTIONS=-Wl,-E +EXTRA_LDOPTIONS+=-Wl,-E #endif #if defined(CERNLIB_LINUX) && !defined(CERNLIB_MACOSX) -EXTRA_LDOPTIONS=-Wl,-E +EXTRA_LDOPTIONS+=-Wl,-E #endif #if defined(CERNLIB_QMIRIX64) -EXTRA_LDOPTIONS=-multigot +EXTRA_LDOPTIONS+=-multigot #endif InstallScript(paw,$(CERN_BINDIR)) debian/patches/701-patch-hbook-comis-Imakefiles.dpatch0000755000000000000000000000203512205656264017700 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 701-patch-hbook-comis-Imakefiles.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix up makefiles after moving hkfill.F and hkf1q.F in the other ## DP: 701 dpatch (a shell script). @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/comis/code/Imakefile cernlib-2005.05.09.dfsg/src/pawlib/comis/code/Imakefile --- cernlib-2005.05.09.dfsg~/src/pawlib/comis/code/Imakefile 2005-12-07 14:59:22.782783593 -0500 +++ cernlib-2005.05.09.dfsg/src/pawlib/comis/code/Imakefile 2005-12-07 14:59:31.519940694 -0500 @@ -37,7 +37,8 @@ csspar.F cssubr.F cssvpt.F cstadv.F cstarr.F csterr.F cstext.F \ @@\ cstfrf.F cstinf.F cstlgb.F cstlog.F cstpar.F cstran.F cstrer.F \ @@\ cstypar.F cstype.F csubad.F csunam.F csundf.F csxpar.F \ @@\ - mcline.F mcsident.F + mcline.F mcsident.F \ @@\ + hkfill.F hkf1q.F /* moved here from src/packlib/hbook/code */ #if defined(CERNLIB_PAW) SRCS_F := $(SRCS_F) cspawi.F cskuix.F cktoiv.F cspawv.F csmkvd.F \ @@\ debian/patches/801-non-optimized-rule-uses-fPIC-g.dpatch0000755000000000000000000000373512205656264020054 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 801-non-optimized-rule-uses-fPIC-g.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Ensure that special rules for creating non-optimized object files ## DP: use -fPIC for files that go into shared libs, and -g for all files. @DPATCH@ diff -urNad cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile /tmp/dpep.gResDB/cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile --- cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile 1996-09-23 10:20:46.000000000 -0400 +++ /tmp/dpep.gResDB/cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile 2005-06-09 10:37:55.631538119 -0400 @@ -3,7 +3,7 @@ plotisto.F pmhist.F pminit.F show_chain.F #if defined(CERNLIB_LINUX) && !defined(CERNLIB_GFORTRAN) -FORTRANOPTIONS = -fno-backslash $(FORTRANSAVEOPTION) -fno-second-underscore +FORTRANOPTIONS = -g -fno-backslash $(FORTRANSAVEOPTION) -fno-second-underscore #endif SubdirLibraryTarget(NullParameter,NullParameter) diff -urNad cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile /tmp/dpep.gResDB/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile 1999-09-14 05:20:08.000000000 -0400 +++ /tmp/dpep.gResDB/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile 2005-06-09 10:40:47.421285771 -0400 @@ -46,8 +46,8 @@ SubdirLibraryTarget(NullParameter,NullParameter) -#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC) -SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -o $@) -SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -o $@) -SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -o $@) +#if defined(CERNLIB_LINUX) +SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -g -o $@) +SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -g -o $@) +SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -g -fPIC -o $@) #endif debian/patches/131-fix-typo-unkown-unknown.dpatch0000755000000000000000000003645512205656264017127 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 131-fix-typo-unkown-unknown.dpatch by Lifeng Sun ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix typo: unkown -> unknown. @DPATCH@ diff --git a/src/pawlib/paw/cmotif/att_main.c b/src/pawlib/paw/cmotif/att_main.c index 58b264c..321398d 100644 --- a/src/pawlib/paw/cmotif/att_main.c +++ b/src/pawlib/paw/cmotif/att_main.c @@ -177,7 +177,7 @@ void put_attributes_color(char *label,char *value) } break; default : - fprintf(stderr,"unkown object in put_attributes_color"); + fprintf(stderr,"unknown object in put_attributes_color"); } cb.reason=0; diff --git a/src/pawlib/paw/ntuple/qp_exe_conv.h b/src/pawlib/paw/ntuple/qp_exe_conv.h index 52465bb..e6540f8 100644 --- a/src/pawlib/paw/ntuple/qp_exe_conv.h +++ b/src/pawlib/paw/ntuple/qp_exe_conv.h @@ -23,7 +23,7 @@ default: - sf_report( "qp_exe_conv.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_conv.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; diff --git a/src/pawlib/paw/ntuple/qp_exe_flow.h b/src/pawlib/paw/ntuple/qp_exe_flow.h index 08b253d..a553b80 100644 --- a/src/pawlib/paw/ntuple/qp_exe_flow.h +++ b/src/pawlib/paw/ntuple/qp_exe_flow.h @@ -271,7 +271,7 @@ break; default: sf_report( "qp_exe_flow.h: FC_DUMP: " - "unkown DataType (%d)\n", dt ); + "unknown DataType (%d)\n", dt ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -308,7 +308,7 @@ break; default: - sf_report( "qp_exe_flow.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_flow.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; diff --git a/src/pawlib/paw/ntuple/qp_exe_literal.h b/src/pawlib/paw/ntuple/qp_exe_literal.h index 2a2cb9f..d6f0cf4 100644 --- a/src/pawlib/paw/ntuple/qp_exe_literal.h +++ b/src/pawlib/paw/ntuple/qp_exe_literal.h @@ -64,7 +64,7 @@ break; default: - sf_report( "qp_exe_literal.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_literal.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; diff --git a/src/pawlib/paw/ntuple/qp_exe_var.h b/src/pawlib/paw/ntuple/qp_exe_var.h index b8c79ff..0e96fce 100644 --- a/src/pawlib/paw/ntuple/qp_exe_var.h +++ b/src/pawlib/paw/ntuple/qp_exe_var.h @@ -190,7 +190,7 @@ break; default: - sf_report( "qp_exe_var.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_var.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; diff --git a/src/pawlib/paw/ntuple/qp_execute.c b/src/pawlib/paw/ntuple/qp_execute.c index 56abaa4..7aed325 100644 --- a/src/pawlib/paw/ntuple/qp_execute.c +++ b/src/pawlib/paw/ntuple/qp_execute.c @@ -1084,7 +1084,7 @@ exec_dyn( Segment *tmp_pc, UInt32 opc, long ievt, int *errp ) #include "qp_exe_dyn.h" /* PRE_INCLUDE */ default: - sf_report( "exec_dyn: Unkown Fcode ( %d )\n", opc & MASK_FC ); + sf_report( "exec_dyn: Unknown Fcode ( %d )\n", opc & MASK_FC ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1278,7 +1278,7 @@ exec_const( FCode fc, int *errp ) break; } default: - sf_report( "qp_exe_fun_const.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_fun_const.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1302,7 +1302,7 @@ exec_math_single( FCode fc, int *errp ) #include "qp_exe_fun_single_math.h" /* PRE_INCLUDE */ default: - sf_report( "qp_exe_fun_single_math.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_fun_single_math.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1327,7 +1327,7 @@ exec_math_double( FCode fc, int *errp ) #include "qp_exe_fun_double_math.h" /* PRE_INCLUDE */ default: - sf_report( "qp_exe_fun_double_math.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_fun_double_math.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1389,7 +1389,7 @@ exec_bitop( FCode fc, int *errp ) #undef OP_BASE default: - sf_report( "exec_bitop: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_bitop: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1411,7 +1411,7 @@ exec_conv( FCode fc, int *errp ) default: - sf_report( "qp_exe_conv.h: Unkown Fcode ( %d )\n", fc ); + sf_report( "qp_exe_conv.h: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1453,7 +1453,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1472,7 +1472,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1491,7 +1491,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1510,7 +1510,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1529,7 +1529,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1548,7 +1548,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1567,7 +1567,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1578,7 +1578,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #include "qp_exev_op_cmp_str.h" /* PRE_INCLUDE */ default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1586,7 +1586,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) break; default: - sf_report( "exec_op: Unkown type ( %d )\n", fctype ); + sf_report( "exec_op: Unknown type ( %d )\n", fctype ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1610,7 +1610,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1634,7 +1634,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1658,7 +1658,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1682,7 +1682,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1706,7 +1706,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1730,7 +1730,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1754,7 +1754,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #undef OP_DTYPE #undef OP_BASE default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1765,7 +1765,7 @@ exec_op( FCode fc, UInt32 opc, int *errp ) #include "qp_exe_op_str.h" /* PRE_INCLUDE */ default: - sf_report( "exec_op: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_op: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -1843,7 +1843,7 @@ exec_comis( long ievt, long ievt_chain, FCode fc, int iaddr, int npar, int *errp break; default: - sf_report( "exec_comis: Unkown Fcode ( %d )\n", fc ); + sf_report( "exec_comis: Unknown Fcode ( %d )\n", fc ); *errp = R_INTERNAL_ERROR; running = FALSE; break; @@ -2052,7 +2052,7 @@ qp_exec_seg( Segment start, long ievt, long ievt_chain, int *errp ) break; default: - sf_report( "qp_exec_seg: Unkown category ( %d )\n", + sf_report( "qp_exec_seg: Unknown category ( %d )\n", cat ); *errp = R_INTERNAL_ERROR; running = FALSE; diff --git a/src/pawlib/paw/ntuple/qp_generate.c b/src/pawlib/paw/ntuple/qp_generate.c index dd536e3..8f2352c 100644 --- a/src/pawlib/paw/ntuple/qp_generate.c +++ b/src/pawlib/paw/ntuple/qp_generate.c @@ -312,7 +312,7 @@ gen_op( QueryExe * qe, pTree t, int * errp ) break; default: - sf_report( "gen_op: Unkown OpType (%d)\n", t->u.op.op ); + sf_report( "gen_op: Unknown OpType (%d)\n", t->u.op.op ); *errp = R_INTERNAL_ERROR; break; } @@ -393,7 +393,7 @@ gen_const( QueryExe * qe, pTree t, int * errp ) } break; default: - sf_report( "gen_const: Unkown DataType (%d)\n", + sf_report( "gen_const: Unknown DataType (%d)\n", t->val->d->dtyp ); *errp = R_INTERNAL_ERROR; break; @@ -638,7 +638,7 @@ gen_cvar_vec( QueryExe * qe, pTree t, int * errp ) case D_DOUBLE: fc = FC_CWN_SCA_DOUBLE; break; case D_STR: fc = FC_CWN_SCA_STR; break; default: - sf_report( "gen_cvar_vec: Unkown DataType (%d)\n", + sf_report( "gen_cvar_vec: Unknown DataType (%d)\n", t->val->d->dtyp ); *errp = R_INTERNAL_ERROR; break; @@ -736,7 +736,7 @@ gen_cvar_vec( QueryExe * qe, pTree t, int * errp ) case D_DOUBLE: fc = FC_CWN_MAT_DOUBLE; break; case D_STR: fc = FC_CWN_MAT_STR; break; default: - sf_report( "gen_cvar_vec: Unkown DataType (%d)\n", + sf_report( "gen_cvar_vec: Unknown DataType (%d)\n", t->val->d->dtyp ); *errp = R_INTERNAL_ERROR; break; @@ -780,7 +780,7 @@ gen_cvar_vec( QueryExe * qe, pTree t, int * errp ) case D_DOUBLE: fc = FC_CWN_DYN_DOUBLE + 16 * dims; break; case D_STR: fc = FC_CWN_DYN_STR + 16 * dims; break; default: - sf_report( "gen_cvar_vec: Unkown DataType (%d)\n", + sf_report( "gen_cvar_vec: Unknown DataType (%d)\n", t->val->d->dtyp ); *errp = R_INTERNAL_ERROR; break; @@ -948,7 +948,7 @@ gen_name( QueryExe * qe, pTree t, int * errp ) gen_mask_read( qe, t, errp ); break; default: - sf_report( "gen_name: Unkown SigType (%d)\n", + sf_report( "gen_name: Unknown SigType (%d)\n", t->u.name.sig->typ ); *errp = R_INTERNAL_ERROR; break; diff --git a/src/pawlib/paw/ntuple/qp_segment.c b/src/pawlib/paw/ntuple/qp_segment.c index 56e5d18..0862c93 100644 --- a/src/pawlib/paw/ntuple/qp_segment.c +++ b/src/pawlib/paw/ntuple/qp_segment.c @@ -515,7 +515,7 @@ dump_comis( case FC_CS_SFUN: dtype = D_STR; break; default: - sf_report( "dump_comis: Unkown Fcode ( %d )\n", + sf_report( "dump_comis: Unknown Fcode ( %d )\n", opc & MASK_FC ); running = FALSE; break; @@ -575,7 +575,7 @@ dump_var( break; default: - sf_report( "dump_var: Unkown Fcode ( %d )\n", + sf_report( "dump_var: Unknown Fcode ( %d )\n", opc & MASK_FC ); running = FALSE; break; @@ -658,7 +658,7 @@ dump_literal( break; default: - sf_report( "dump_literal: Unkown Fcode ( %d )\n", + sf_report( "dump_literal: Unknown Fcode ( %d )\n", opc & MASK_FC ); running = FALSE; break; @@ -697,7 +697,7 @@ dump_mask( break; default: - sf_report( "dump_flow: Unkown Fcode ( %d )\n", + sf_report( "dump_flow: Unknown Fcode ( %d )\n", opc & MASK_FC ); running = FALSE; break; @@ -775,7 +775,7 @@ dump_flow( break; default: - sf_report( "dump_flow: Unkown Fcode ( %d )\n", + sf_report( "dump_flow: Unknown Fcode ( %d )\n", opc & MASK_FC ); running = FALSE; break; @@ -907,7 +907,7 @@ dump_segment( break; default: - sf_report( "dump_segment: Unkown category ( %d )\n", + sf_report( "dump_segment: Unknown category ( %d )\n", cat ); running = FALSE; break; diff --git a/src/pawlib/paw/ntuple/qp_semantic.c b/src/pawlib/paw/ntuple/qp_semantic.c index 0a97b12..4b71a0f 100644 --- a/src/pawlib/paw/ntuple/qp_semantic.c +++ b/src/pawlib/paw/ntuple/qp_semantic.c @@ -451,7 +451,7 @@ sem_op( pTree t, int *r ) break; default: - qp_abort( "sem_op: Unkown OpType %d\n", op ); + qp_abort( "sem_op: Unknown OpType %d\n", op ); break; } diff --git a/src/pawlib/paw/ntuple/qp_tree.c b/src/pawlib/paw/ntuple/qp_tree.c index c830d73..3713ad9 100644 --- a/src/pawlib/paw/ntuple/qp_tree.c +++ b/src/pawlib/paw/ntuple/qp_tree.c @@ -587,7 +587,7 @@ print_op_node( FILE* const fp, const pTree t ) print_tree( fp, t->u.op.o3 ); break; default: - qp_abort( "print_op_node: Unkown OpType %d\n", t->u.op.op ); + qp_abort( "print_op_node: Unknown OpType %d\n", t->u.op.op ); break; } } @@ -632,7 +632,7 @@ print_tree( FILE * const fp, const pTree t ) fputc( ')', fp ); break; default: - qp_abort( "print_tree: Unkown NodeType %d\n", t->ntyp ); + qp_abort( "print_tree: Unknown NodeType %d\n", t->ntyp ); break; } @@ -687,7 +687,7 @@ free_tree( const pTree t ) free_tree( t->u.range.to ); break; default: - qp_abort( "free_tree: Unkown NodeType %d\n", t->ntyp ); + qp_abort( "free_tree: Unknown NodeType %d\n", t->ntyp ); break; } @@ -728,7 +728,7 @@ free_node( const pTree t ) free( (void *) t->u.mask.name ); break; default: - qp_abort( "free_node: Unkown NodeType %d\n", t->ntyp ); + qp_abort( "free_node: Unknown NodeType %d\n", t->ntyp ); break; } @@ -799,7 +799,7 @@ dump_op_node( FILE* const fp, int lvl, const pTree t ) dump_tree( fp, lvl+1, t->u.op.o3 ); break; default: - qp_abort( "dump_op_node: Unkown OpType %d\n", t->u.op.op ); + qp_abort( "dump_op_node: Unknown OpType %d\n", t->u.op.op ); break; } } @@ -913,7 +913,7 @@ dump_tree( FILE * const fp, int lvl, const pTree t ) break; default: - qp_abort( "dump_tree: Unkown NodeType %d\n", t->ntyp ); + qp_abort( "dump_tree: Unknown NodeType %d\n", t->ntyp ); break; } debian/patches/302-scripts-comply-with-FHS.dpatch.in0000644000000000000000000000505112205656264017301 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 302-scripts-comply-with-FHS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Assume $CERN is @PREFIX@ by default ## DP: in scripts. (This value is filled in from add-ons/Makefile.) ## DP: Also some other improvements. @DPATCH@ diff -urNad paw-2.14.04.dfsg.2~/src/scripts/paw paw-2.14.04.dfsg.2/src/scripts/paw --- paw-2.14.04.dfsg.2~/src/scripts/paw 1995-02-07 01:54:06.000000000 -0800 +++ paw-2.14.04.dfsg.2/src/scripts/paw 2008-06-25 20:44:57.000000000 -0700 @@ -21,12 +21,13 @@ SHOPT="d:h:v:" #SEQ,GETOPTD. [ "`uname -s`" = "DomainOS" ] && drv="GKS" || drv="X11" - [ -z "$CERN" ] && CERN="/cern" - [ -z "$CERN_LEVEL" ] && ver="pro" || ver="$CERN_LEVEL" - + if [ "$drv" = X11 ] ; then drv_set=false ; fi + [ -z "$CERN" ] && CERN="@PREFIX@" + [ -z "$CERN_LEVEL" ] && ver="" || ver="$CERN_LEVEL" + while [ $# -gt 0 ] do case $1 in - -d) drv=$2 ; shift ;; + -d) drv=$2 ; drv_set=true ; shift ;; -h) hst=$2 ; shift ;; -display) hst=$2 ; shift ;; -v) ver=$2 ; shift ;; @@ -36,6 +37,12 @@ shift done + if [ "$drv_set" = false ] && ! [ -e "$CERN/$ver/bin/pawX11" ] ; then + if [ -e "$CERN/$ver/bin/paw++" ] ; then + drv="++" # use paw++ if no pawX11 + fi + fi + GDIR=$CERN/$ver/bin if [ "$drv" = "GKS" ] ; then [ -z "$GKS_ROOT" ] && GKS_ROOT="$CERN/gks/$ver" @@ -43,15 +50,26 @@ # inlib $GKS_INLIB GDIR=$CERN/$ver/gksbin fi - if [ "$drv" = "X11" -a -n "$hst" ] ; then + if [ \( "$drv" = "X11" -o "$drv" = "++" \) -a -n "$hst" ] ; then nw=`echo $hst | awk -F: '{ print NF }'` [ $nw -eq 1 ] && hst="$hst:0" DISPLAY="$hst" ; export DISPLAY fi - if [ "$ver" != "pro" ] ; then + if [ -n "$ver" ] ; then echo - echo " Calling $ver version of paw-$drv" + echo " Calling $ver version of paw$drv" echo fi - $GDIR/paw$drv $* - [ ! -s paw.metafile ] && rm paw.metafile + if [ ! -x "$GDIR/paw$drv" ] ; then + echo " Error: PAW executable $GDIR/paw${drv} does not exist!" + exit 1 + fi + "$GDIR/paw$drv" "$@" + [ ! -s paw.metafile ] && rm -f paw.metafile + [ ! -s PAW.METAFILE ] && rm -f PAW.METAFILE + + # clean up comis temporary working directories if empty + [ "`(echo /tmp/comis*) 2> /dev/null`" = '/tmp/comis*' ] || \ + rmdir /tmp/comis* > /dev/null 2>&1 || true + [ "`(echo "$TMPDIR"/comis*) 2> /dev/null`" = "$TMPDIR"/'comis*' ] || \ + rmdir "$TMPDIR"/comis* > /dev/null 2>&1 || true debian/patches/132-fix-typo-lenght-length.dpatch0000755000000000000000000001260312205656264016637 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 132-fix-typo-lenght-length.dpatch by Lifeng Sun ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix typo: lenght -> length. @DPATCH@ diff --git a/src/car/geant321.car b/src/car/geant321.car index 24d6c9d..a030a62 100644 --- a/src/car/geant321.car +++ b/src/car/geant321.car @@ -1243,7 +1243,7 @@ C * for every main detector component specified in the SLIST command * in the spherical R direction: * Total number of radiation lengths up to entry in each R -* Total number of absorption lenghts +* Total number of absorption lengths * Detector identifier * When the interactive command TRIGGER is entered, the number of * Geantinos specified as parameter will be tracked. In case the @@ -2971,7 +2971,7 @@ C *===> 26/08/92 * * Correction in GKRZ and CDF for the command RZ/FILE. -* Record lenght fixed at 1024 in GRFILE cannot be +* Record length fixed at 1024 in GRFILE cannot be * Changed by the user. Thanks to H.Plothow. Introduced * in the 3.15 correction cradle. * diff --git a/src/pawlib/paw/code/pchrop.F b/src/pawlib/paw/code/pchrop.F index 7c9fa99..9e723c7 100644 --- a/src/pawlib/paw/code/pchrop.F +++ b/src/pawlib/paw/code/pchrop.F @@ -10,7 +10,7 @@ * previous version the length limit was 80. Now it is LENHFN. * * Revision 1.4 2000/01/13 10:09:41 couet -* - Print a warning when the file names lenght in a chain are too long. +* - Print a warning when the file names length in a chain are too long. * * Revision 1.3 1998/03/13 15:46:59 couet * - On VMS FORTRAN IO is used for files in a chain. diff --git a/src/pawlib/paw/code/pfpaw.F b/src/pawlib/paw/code/pfpaw.F index 90e024d..cd1a1a9 100644 --- a/src/pawlib/paw/code/pfpaw.F +++ b/src/pawlib/paw/code/pfpaw.F @@ -140,7 +140,7 @@ CALL PFMASK(ISLAV, PMASK, 0) IF (PMASK .EQ. 0) THEN *----------- All slaves sent their partial sets. Multicast the Union set back -*----------- Compute the lenght of the Union set as a string +*----------- Compute the length of the Union set as a string LENTOT = LGETUS() WRITE (CHSMPF,'(I12)') LENTOT diff --git a/src/pawlib/paw/ntuple/qp_dimension.c b/src/pawlib/paw/ntuple/qp_dimension.c index 52c5f06..a14b25a 100644 --- a/src/pawlib/paw/ntuple/qp_dimension.c +++ b/src/pawlib/paw/ntuple/qp_dimension.c @@ -124,7 +124,7 @@ dim_copy( Dimension * d ) * * 1) ndim should be equal, or zero * - * 2) for each dimension the lenghts should be equal or + * 2) for each dimension the lengths should be equal or * runtime determined (-1) * * 3) the maximum size is constructed by taking the minimal diff --git a/src/pawlib/paw/ntuple/qp_exec_global.h b/src/pawlib/paw/ntuple/qp_exec_global.h index db43cda..f82f5e5 100644 --- a/src/pawlib/paw/ntuple/qp_exec_global.h +++ b/src/pawlib/paw/ntuple/qp_exec_global.h @@ -53,7 +53,7 @@ typedef struct _ref_cwn_ { /* loaded into the cache */ unsigned int step; /* step size through buffer (in Int32's) */ int isize; /* number of bytes in a string */ - bool varDim; /* indicates variable lenght array */ + bool varDim; /* indicates variable length array */ int var_base; /* number of elements in non var dimensions */ int var_index; /* index of the dimensioning var */ String name; /* keep reference for reporting */ diff --git a/src/pawlib/paw/ntuple/qp_generate.c b/src/pawlib/paw/ntuple/qp_generate.c index 8f2352c..01d45c3 100644 --- a/src/pawlib/paw/ntuple/qp_generate.c +++ b/src/pawlib/paw/ntuple/qp_generate.c @@ -406,7 +406,7 @@ static int alloc_var( QueryExe * qe, VarClass vc, char * name, int * errp ) { int index; /* index for this variable */ - int var_index; /* index for the var-lenght dimension */ + int var_index; /* index for the var-length dimension */ int i, n; STEntry *ep, *epidx; Signature *sig; diff --git a/src/pawlib/paw/ntuple/qp_plot_opt.c b/src/pawlib/paw/ntuple/qp_plot_opt.c index f5b6479..ffd8aef 100644 --- a/src/pawlib/paw/ntuple/qp_plot_opt.c +++ b/src/pawlib/paw/ntuple/qp_plot_opt.c @@ -67,7 +67,7 @@ qp_plot_opt_scan( PlotOptions * opt, char * option ) memset( opt, 0, sizeof(PlotOptions) ); p = option; while ( *p != 0 ) { - /* ordering on lenght of the option string is important */ + /* ordering on length of the option string is important */ if ( opt_set( &p, "LEGO1", &opt->lego1 ) ) continue; if ( opt_set( &p, "LEGO2", &opt->lego2 ) ) continue; if ( opt_set( &p, "PROFI", &opt->profi ) ) continue; diff --git a/src/pawlib/paw/slide_obs/slidem.F b/src/pawlib/paw/slide_obs/slidem.F index 3267372..0f920dd 100644 --- a/src/pawlib/paw/slide_obs/slidem.F +++ b/src/pawlib/paw/slide_obs/slidem.F @@ -118,7 +118,7 @@ IN =0 I =1 * -* start_symbol of list lenght +* start_symbol of list length * 10 IF (FONT.LE.-8.AND.FONT.GE.-11) THEN IF(FONT.EQ.-8) THEN @@ -504,7 +504,7 @@ LINE(I)=ORDSTP(1:LLD1)//''//LNBUF1 ORDSTP=ORCOPY(1:LLD) * -* start_symbol of ordered list lenght +* start_symbol of ordered list length * IF (FONT.LE.-8.AND.FONT.GE.-11) THEN SPSY=LLD1 @@ -921,7 +921,7 @@ MODIF=.TRUE. ENDIF * -* computing of line lenght +* computing of line length * KK=LENOCC(LINE(I)) * debian/patches/119-fix-compiler-warnings.dpatch0000755000000000000000000001432312205656264016554 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 119-fix-compiler-warnings.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix a number of compiler warnings. Courtesy of Harald Vogt. @DPATCH@ diff --git a/src/pawlib/comis/deccc/cs_hlshl.c b/src/pawlib/comis/deccc/cs_hlshl.c index a17a695..faced26 100644 --- a/src/pawlib/comis/deccc/cs_hlshl.c +++ b/src/pawlib/comis/deccc/cs_hlshl.c @@ -47,6 +47,7 @@ #include +#include #include #include diff --git a/src/pawlib/paw/ntuple/cern_types.h b/src/pawlib/paw/ntuple/cern_types.h index cf2d256..47c7c63 100644 --- a/src/pawlib/paw/ntuple/cern_types.h +++ b/src/pawlib/paw/ntuple/cern_types.h @@ -36,26 +36,38 @@ typedef struct _string32_ { typedef unsigned int UInt32; +#ifndef UINT32_MAX #define UINT32_MAX UINT_MAX +#endif /* typedef unsigned long long UInt64; */ typedef unsigned long UInt64; +#ifndef UINT64_MAX #define UINT64_MAX ULONG_MAX +#endif typedef int Int32; +#ifndef INT32_MAX #define INT32_MAX INT_MAX +#endif +#ifndef INT32_MIN #define INT32_MIN INT_MIN +#endif /* typedef long long Int64; */ typedef long Int64; +#ifndef INT64_MAX #define INT64_MAX LONG_MAX +#endif +#ifndef INT64_MIN #define INT64_MIN LONG_MIN +#endif typedef float Float32; diff --git a/src/pawlib/paw/ntuple/qp_vvec.c b/src/pawlib/paw/ntuple/qp_vvec.c index 5855ded..b9d022a 100644 --- a/src/pawlib/paw/ntuple/qp_vvec.c +++ b/src/pawlib/paw/ntuple/qp_vvec.c @@ -19,6 +19,7 @@ */ #include +#include #include "qp_report.h" #include "qp_vvec.h" diff --git a/src/pawlib/paw/xbae/caption.c b/src/pawlib/paw/xbae/caption.c index 805db4d..d2fbac0 100644 --- a/src/pawlib/paw/xbae/caption.c +++ b/src/pawlib/paw/xbae/caption.c @@ -244,7 +244,7 @@ Cardinal *num_args; * it will use our name as it's label. */ (void) - XtVaCreateManagedWidget(XtName(new), + XtVaCreateManagedWidget(XtName((Widget)new), xmLabelWidgetClass, (Widget)new, XmNbackground, new->core.background_pixel, XmNforeground, new->manager.foreground, @@ -613,7 +613,7 @@ Boolean configure; * to handle gadgets (the Motif function always calls the gadgets * resize method) */ -#if XmREVISION == 1 +#if (XmREVISION == 1) && (! defined(LESSTIF_VERSION)) _XmConfigureObject((RectObj)UserChild(cw), #else _XmConfigureObject((Widget)UserChild(cw), diff --git a/src/pawlib/paw/xbae/clip.c b/src/pawlib/paw/xbae/clip.c index f7ff0a0..a43a215 100644 --- a/src/pawlib/paw/xbae/clip.c +++ b/src/pawlib/paw/xbae/clip.c @@ -190,8 +190,8 @@ XbaeClipWidget cw; * XXX It might be more efficient to fake up an Expose event * and call Redisplay directly */ - if (XtIsRealized(cw)) - XClearArea(XtDisplay(cw), XtWindow(cw), + if (XtIsRealized((Widget)cw)) + XClearArea(XtDisplay((Widget)cw), XtWindow((Widget)cw), 0, 0, 0 /*Full Width*/, 0 /*Full Height*/, True); diff --git a/src/pawlib/paw/xbae/matrix.c b/src/pawlib/paw/xbae/matrix.c index 9effcfd..1cda29f 100644 --- a/src/pawlib/paw/xbae/matrix.c +++ b/src/pawlib/paw/xbae/matrix.c @@ -67,7 +67,10 @@ static char sccsid[] = "@(#)Matrix.c 3.21 11/25/92"; #endif /* this BSDism is used to often to replace it in the code */ +/* but avoid warning of redefinition for linux OS */ +#ifndef linux #define bcopy(src,dst,n) memmove(dst,src,n) +#endif /* * Translations for Matrix (these will also be used by the Clip child). @@ -3467,7 +3470,7 @@ XmScrollBarCallbackStruct *call_data; */ VERT_ORIGIN(mw) = call_data->value; - if (!XtIsRealized(mw)) + if (!XtIsRealized((Widget)mw)) return; /* @@ -3646,7 +3649,7 @@ XmScrollBarCallbackStruct *call_data; */ HORIZ_ORIGIN(mw) = call_data->value; - if (!XtIsRealized(mw)) + if (!XtIsRealized((Widget)mw)) return; /* @@ -6162,7 +6165,7 @@ int num_rows; (*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit) (mw, True); - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Generate expose events on Matrix and Clip to force the * new rows to be drawn. @@ -6254,7 +6257,7 @@ DeleteRows.", (*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit) (mw, True); - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Generate expose events on Matrix and Clip to force the * rows to be redrawn. @@ -6349,7 +6352,7 @@ int num_columns; (*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit) (mw, True); - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Generate expose events on Matrix and Clip to force the * new columns to be drawn. @@ -6446,7 +6449,7 @@ DeleteColumns.", (*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit) (mw, True); - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Generate expose events on Matrix and Clip to force the * columns to be redrawn. @@ -6528,7 +6531,7 @@ in SetRowColors.", for (j = 0; j < mw->matrix.columns; j++) mw->matrix.cell_background[i + position][j] = colors[i]; - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Redraw all the visible non-fixed cells. We don't need to clear first * since only the color changed. @@ -6626,7 +6629,7 @@ in SetColumnColors.", for (j = 0; j < num_colors; j++) mw->matrix.cell_background[i][j + position] = colors[j]; - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Redraw all the visible non-fixed cells. We don't need to clear first * since only the color changed. @@ -6716,7 +6719,7 @@ SetCellColor.", */ mw->matrix.cell_background[row][column] = color; - if (XtIsRealized(mw)) { + if (XtIsRealized((Widget)mw)) { /* * Redraw the cell if it is visible */ debian/patches/README0000644000000000000000000001002312205656264011501 0ustar Notes on Debian patches to CERNLIB source: ------------------------------------------ All patches in this directory are, unless otherwise specified in the patch header, copyright 2001-2005 Kevin B. McCarty and are licensed under the GNU General Public License version 2 or later, at your option. The GNU GPL may be found at http://www.gnu.org/licenses/gpl.html or, on Debian systems, at /usr/share/common-licenses/GPL . Dpatch is used because some of the files in this directory are really shell scripts, and no other patch system (quilt, cdbs, etc.) appears to support this. (Am I the only person using this "feature" of dpatch?) Dpatch files that are really patches are named NNN-.dpatch while dpatch files that are shell scripts are named NNN-.sh.dpatch NNN is a three digit number ranging from 000 through 999. Note that, contrary to the usual practice, the file debian/patches/00list (listing the patches to be applied) is auto-generated by "debian/rules clean", and may be further modified in the stampdir/configure-stamp target of the debian/add-ons/Makefile (called from "debian/rules unpack") depending upon settings in $DEB_BUILD_OPTIONS. See debian/README.source for a list of supported $DEB_BUILD_OPTIONS parameters. A few of the patches (*.dpatch.in) include values that need to be filled in at configure time; this is also done in the stampdir/configure-stamp target of debian/add-ons/Makefile. (You do not _really_ need dpatch to work with these patches; they are applied for non-Debian systems in a hacky way by the patch target of debian/add-ons/Makefile.) The numbering scheme of patches in this directory is as follows: 000 is a dummy patch used to force dpatch-edit-patch to create diffs relative to already-unpacked source. It has no effect when "applied" or "de-applied" against an unpacked source tree. 001-099 are reserved for patches that permit compilation after having removed non-free code from CERNLIB source. 100-199 are for bug fixes that should eventually be submitted upstream and have a reasonable probability of being merged, for instance, security bugs, file-specific compiler optimization settings, etc. 200-299 are for feature enhancements that should eventually be submitted upstream, for example, including ERTRAK code in libgeant. 300-399 are for implementation of non-Debian-specific niceties that are probably too intrusive to go upstream, for instance FHS implementation or use of shadow passwords by pawserv. 400-599 are reserved for future use. 600-699 are for Debian-specific customizations, for instance setting the default editor as sensible-editor, having PAW send bug reports to the BTS, etc. Most of these are protected by "#if defined(CERNLIB_DEBIAN)" in the source code so they can be safely applied on non-Debian systems. 700-799 are for patches that move source code around. Many of these are actually shell scripts. Typically this is done to split libraries apart or to move functions from one library into another. 800-899 are for implementation of shared libraries. (They must be implemented only after moving files around, or they have many undefined symbol problems.) 900-999 are for optional patches that may or may not be applied depending upon settings in $DEB_BUILD_OPTIONS. These patches are stored in the "optional" subdirectory, copied here in the "unpack" target of debian/rules or add-ons/Makefile, and removed in the "clean" target. Ideally, the source should compile with any complete set of the patches numbered 000 through NNN (where NNN is 100 or greater) applied, possibly excluding patches in the 9xx series. (All patches with the same number must be applied or not, as a whole.) Unfortunately this does not actually work when linking the PAW and Paw++ programs since some of the libraries have circular dependencies on each other before the 700 series of patches are applied. To select the set of patches to be applied, after running debian/rules clean, edit debian/patches/00list to include only the desired ones. -- Kevin B. McCarty , 21 Jul 2005 debian/patches/803-link-binaries-dynamically.dpatch0000755000000000000000000000241712205656264017364 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 803-link-binaries-dynamically.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Link binaries dynamically against CERN libraries. @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile --- cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile 2005-06-13 15:26:19.418526524 -0400 +++ /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile 2005-06-13 15:27:38.102678258 -0400 @@ -20,7 +20,7 @@ InstallScript(paw,$(CERN_BINDIR)) #if defined (CERNLIB_UNIX) && !defined(CERNLIB_WINNT) -CernlibFortranProgramTarget(pawX11,0pamain.o,NullParameter,NullParameter,pawlib graflib/X11 packlib mathlib kernlib) +CernlibFortranProgramTarget(pawX11,0pamain.o,NullParameter,NullParameter,-G X11 pawlib) InstallProgram(pawX11,$(CERN_BINDIR)) @@ -34,7 +34,7 @@ /* This is a gmake ifeq, not a Imake/cpp #if... ! */ ifeq ($(DO_PAW_PP),YES) -CernlibFortranProgramTarget(paw++,0pamainm.o,NullParameter,NullParameter,pawlib graflib/Motif packlib mathlib kernlib) +CernlibFortranProgramTarget(paw++,0pamainm.o,NullParameter,NullParameter,-G Motif pawlib) InstallProgram(paw++,$(CERN_BINDIR)) debian/patches/802-create-shared-libraries.dpatch0000755000000000000000000000310312205656264017002 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 802-create-shared-libraries.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Actually implement the rules to create shared libraries. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/Imakefile cernlib-2005.05.09.dfsg/src/Imakefile --- cernlib-2005.05.09.dfsg~/src/Imakefile 2005-12-01 15:19:24.191267776 +0000 +++ cernlib-2005.05.09.dfsg/src/Imakefile 2005-12-01 15:20:10.310483251 +0000 @@ -15,6 +15,7 @@ #endif InstallLibSubdirs($(LIBDIRS)) +InstallSharedLibSubdirs($(LIBDIRS)) INCLUDEDIRS= $(LIBDIRS) cfortran diff -urNad cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile --- cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile 2005-12-01 15:19:24.192267563 +0000 +++ cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile 2005-12-01 15:19:31.188783241 +0000 @@ -30,4 +30,5 @@ SubdirLibraryTarget(pawlib-lesstif,$(LIBDIRS)) InstallLibrary(pawlib-lesstif,$(CERN_LIBDIR)) +InstallSharedLibrary(pawlib-lesstif,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR)) diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile cernlib-2005.05.09.dfsg/src/pawlib/Imakefile --- cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile 1996-10-01 14:12:23.000000000 +0000 +++ cernlib-2005.05.09.dfsg/src/pawlib/Imakefile 2005-12-01 15:19:31.188783241 +0000 @@ -11,6 +11,7 @@ SubdirLibraryTarget(pawlib,$(LIBDIRS)) InstallLibrary(pawlib,$(CERN_LIBDIR)) +InstallSharedLibrary(pawlib,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR)) InstallIncludeSubdirs($(LIBDIRS)) debian/patches/306-patch-assert.h-for-makedepend.dpatch0000755000000000000000000001262612205656264020035 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 306-patch-assert.h-for-makedepend.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Include local copy of assert.h with a workaround for a bug of ## DP: makedepend (cf. Debian bug # 171908). @DPATCH@ diff -urNad cernlib-2005.05.09/src/include/assert.h /tmp/dpep.9sKNsJ/cernlib-2005.05.09/src/include/assert.h --- cernlib-2005.05.09/src/include/assert.h 1969-12-31 19:00:00.000000000 -0500 +++ /tmp/dpep.9sKNsJ/cernlib-2005.05.09/src/include/assert.h 2005-06-09 12:50:41.751880968 -0400 @@ -0,0 +1,153 @@ +#ifndef CERNLIB_LINUX +# include "/usr/include/assert.h" +#else + +/* Copyright (C) 1991,1992,1994-2001,2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +/* + * ISO C99 Standard: 7.2 Diagnostics + */ + +#ifdef _ASSERT_H + +# undef _ASSERT_H +# undef assert +# undef __ASSERT_VOID_CAST + +# ifdef __USE_GNU +# undef assert_perror +# endif + +#endif /* assert.h */ + +#define _ASSERT_H 1 +#include + +#if defined __cplusplus && __GNUC_PREREQ (2,95) +# define __ASSERT_VOID_CAST static_cast +#else +# define __ASSERT_VOID_CAST (void) +#endif + +/* void assert (int expression); + + If NDEBUG is defined, do nothing. + If not, and EXPRESSION is zero, print an error message and abort. */ + +#ifdef NDEBUG + +# define assert(expr) (__ASSERT_VOID_CAST (0)) + +/* void assert_perror (int errnum); + + If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an + error message with the error text for ERRNUM and abort. + (This is a GNU extension.) */ + +# ifdef __USE_GNU +# define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) +# endif + +#else /* Not NDEBUG. */ + +#ifndef _ASSERT_H_DECLS +#define _ASSERT_H_DECLS +__BEGIN_DECLS + +/* This prints an "Assertion failed" message and aborts. */ +extern void __assert_fail (__const char *__assertion, __const char *__file, + unsigned int __line, __const char *__function) + __THROW __attribute__ ((__noreturn__)); + +/* Likewise, but prints the error text for ERRNUM. */ +extern void __assert_perror_fail (int __errnum, __const char *__file, + unsigned int __line, + __const char *__function) + __THROW __attribute__ ((__noreturn__)); + + +/* The following is not at all used here but needed for standard + compliance. */ +extern void __assert (const char *__assertion, const char *__file, int __line) + __THROW __attribute__ ((__noreturn__)); + + +__END_DECLS +#endif /* Not _ASSERT_H_DECLS */ + +/* For the macro definition we use gcc's __builtin_expect if possible + to generate good code for the non-error case. gcc 3.0 is a good + enough estimate for when the feature became available. */ +# if __GNUC_PREREQ (3, 0) +# define assert(expr) \ + (__ASSERT_VOID_CAST (__builtin_expect (!!(expr), 1) ? 0 : \ + (__assert_fail (__STRING(expr), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# else +# define assert(expr) \ + (__ASSERT_VOID_CAST ((expr) ? 0 : \ + (__assert_fail (__STRING(expr), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# endif + +# ifdef __USE_GNU +# if __GNUC_PREREQ (3, 0) +# define assert_perror(errnum) \ + (__ASSERT_VOID_CAST (__builtin_expect (!(errnum), 1) ? 0 : \ + (__assert_perror_fail ((errnum), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# else +# define assert_perror(errnum) \ + (__ASSERT_VOID_CAST (!(errnum) ? 0 : \ + (__assert_perror_fail ((errnum), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# endif +# endif + +/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' + which contains the name of the function currently being defined. + This is broken in G++ before version 2.6. + C9x has a similar variable called __func__, but prefer the GCC one since + it demangles C++ function names. */ + +/* The following commented-out line breaks makedepend (bug # 171908); a local + * patched version of assert.h is therefore included. + * --Kevin McCarty, for Debian */ +/* # if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) */ + +/* begin fix to work around Debian Bug # 171908 */ +# if defined __cplusplus +# if __GNUC_PREREQ (2, 6) +# define __ASSERT_FUNCTION __PRETTY_FUNCTION__ +# endif +# elif __GNUC_PREREQ (2, 4) +/* end fix */ + +# define __ASSERT_FUNCTION __PRETTY_FUNCTION__ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __ASSERT_FUNCTION __func__ +# else +# define __ASSERT_FUNCTION ((__const char *) 0) +# endif +# endif + +#endif /* NDEBUG. */ + +#endif /* CERNLIB_LINUX */ debian/patches/200-comis-allow-special-chars-in-path.dpatch0000755000000000000000000000311012205656264020607 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 200-comis-allow-special-chars-in-path.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Allow certain additional characters in paths to COMIS macros. @DPATCH@ diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F /tmp/dpep.gkT1Y2/cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F --- cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F 1997-05-20 05:37:58.000000000 -0400 +++ /tmp/dpep.gkT1Y2/cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F 2005-06-08 19:34:43.101436210 -0400 @@ -29,6 +29,7 @@ C. * CHFUNC may be the name of a COMIS function * C. * or a file name. A file cannot contain one of * C. * the following characters: +*=-()<> * +C. * [n.b. patched to work around this. --Kevin McCarty] * C. * * C. ****************************************************************** #include "paw/pawcfu.inc" @@ -60,7 +61,11 @@ IF(NCH.LE.0)GO TO 99 IFILE=0 TFILE=' ' - IF(INDEX(CHFUNC,']').EQ.0.AND.INDEX(CHFUNC,':').EQ.0)THEN +* Added '/' as a character symbolizing a filename; otherwise Unix paths +* containing +, *, =, -, etc. return a bogus "Unknown routine" error +* (Fix by Kevin McCarty) + IF(INDEX(CHFUNC,']').EQ.0.AND.INDEX(CHFUNC,':').EQ.0.AND. + + INDEX(CHFUNC,'/').EQ.0)THEN IF(INDEX(CHFUNC,'+').NE.0.OR. + INDEX(CHFUNC,'*').NE.0.OR. + INDEX(CHFUNC,'=').NE.0.OR. debian/patches/806-bump-mathlib-and-dependents-sonames.dpatch0000755000000000000000000000221012205656264021236 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 806-bump-mathlib-and-dependents-sonames.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Bump so versions of mathlib and dependents since it is now compiled ## DP: against liblapack3 instead of liblapack2. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile --- cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile 2005-11-23 15:49:19.724161945 +0000 +++ cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile 2005-11-23 15:49:27.432512073 +0000 @@ -1,6 +1,8 @@ DoIncludePackage(paw) #include "paw/pilot.h" +export LIB_SONAME := 3 + #define IHaveSubdirs #define PassCDebugFlags diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile cernlib-2005.05.09.dfsg/src/pawlib/Imakefile --- cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile 2005-11-23 15:49:19.724161945 +0000 +++ cernlib-2005.05.09.dfsg/src/pawlib/Imakefile 2005-11-23 15:49:27.432512073 +0000 @@ -2,6 +2,7 @@ #define IHaveSubdirs #define PassCDebugFlags +export LIB_SONAME := 2 LIBDIRS= comis paw sigma SUBDIRS= $(LIBDIRS) debian/patches/706-use-external-xbae.dpatch.disabled0000644000000000000000000000252112205656264017423 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 706-use-external-xbae-and-xaw.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Do not compile embedded old Xbae and Xaw code. @DPATCH@ diff -urNad paw-2.14.04.dfsg~/src/paw_motif/Imakefile paw-2.14.04.dfsg/src/paw_motif/Imakefile --- paw-2.14.04.dfsg~/src/paw_motif/Imakefile 2007-01-11 16:35:03.203039255 -0500 +++ paw-2.14.04.dfsg/src/paw_motif/Imakefile 2007-01-11 16:35:55.436956428 -0500 @@ -13,6 +13,7 @@ LIBDIRS :=$(LIBDIRS) $(MOTIF_DIRS) $(PAWPP_DIRS) #endif +#if 0 /* we want to use external libXbae */ #if defined(CERNLIB_UNIX) && !defined(CERNLIB_WINNT) MotifDependantMakeVar(PAWPP_DIRS,xbae) LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS) @@ -22,6 +23,7 @@ MotifDependantMakeVar(PAWPP_DIRS,xbaevms) LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS) #endif +#endif SUBDIRS= $(LIBDIRS) diff -urNad paw-2.14.04.dfsg~/src/paw_motif/hmotif/scan.h paw-2.14.04.dfsg/src/paw_motif/hmotif/scan.h --- paw-2.14.04.dfsg~/src/paw_motif/hmotif/scan.h 1996-09-09 11:21:28.000000000 -0400 +++ paw-2.14.04.dfsg/src/paw_motif/hmotif/scan.h 2007-01-11 16:36:26.990261436 -0500 @@ -20,10 +20,10 @@ #define _scan_h #include "ntuplescan.h" -#ifdef CERNLIB_VAXVMS +#if 0 #include "xbaevms/matrix.h" #else -#include "xbae/matrix.h" +#include #endif debian/patches/804-link-to-comis-includes.sh.dpatch0000755000000000000000000000036612205656264017235 0ustar #!/bin/sh ## DP: Shell script to link pawlib/comis/comis into the top-level ## DP: include directory. set -e cd src case "$1" in -patch) ln -s ../pawlib/comis/comis include/comis ;; -unpatch) rm -f include/comis ;; *) exit 1 ;; esac debian/copyright.in0000644000000000000000000002054612205656264011545 0ustar This package was debianized by Kevin B. McCarty and Lifeng Sun . It was downloaded from the URL http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/2006_src.tar.gz The very large file 2006_src.tar.gz was split up into individual modules, from which non-free files were removed, of which the relevant ones have been recompressed in the "upstream" directory of the paw source package. See the file debian/README.Debian-source in the source package for a detailed description of this process. COPYRIGHT --------- CERNLIB, including PAW, is copyright (C) CERN and others. As of this writing, 11 Jan 2008, the page http://wwwasd.web.cern.ch/wwwasd/cernlib/conditions.html (which gives the terms under which CERNLIB may be used) states: CERNLIB Availability (C) Copyright CERN except where explicitly stated otherwise. Permission to use and/or redistribute this work is granted under the terms of the GNU General Public License. FLUKA routines included in GEANT3 are joint copyright of INFN and CERN and are not licensed under the GPL: permission to use and/or redistribute outside GEANT3 should be negotiated. The software and documentation made available under the terms of this license are provided with no warranty. Last modified: 18-March-2004 The aforementioned FLUKA routines have been excised from the CERNLIB source code and binary packages distributed by Debian. There is some ambiguity as to whether CERN intended to have CERNLIB available specifically under GPL version 2 (the current version at the time the above- mentioned web page was written) or always under the current version. (The text "GNU General Public License" in the web page quoted above is a hyperlink to http://www.gnu.org/copyleft/gpl.html which, as of this writing, references GPL version 3.) I have requested clarification from the upstream maintainer. In the meantime, it should be noted that the orig.tar.gz files for CERNLIB in Debian were obtained from the upstream web site prior to the release of GPL version 3. It therefore seems to me to be safe to assume that re-distribution of CERNLIB from the Debian source packages is permissible under the terms either of GPL version 2 or of the current GPL version, at the re-distributor's option. On Debian systems, the complete text of the current version of the GNU General Public License can be found in the file `/usr/share/common-licenses/GPL-3'. The text of version 2 can be found at `/usr/share/common-licenses/GPL-2'. EXCEPTIONS ---------- Some source files of PAW are provided (in parts, or in entirety) under different licenses which are compatible with the GPL. See the table and licenses below for details. (File paths are relative to the directory paw-$VERSION/src/ after running "debian/rules unpack".) Most of the differences in the licenses below are only in the exact wordings. The "Package(s)" column lists the binary Debian packages in which each piece of code is compiled or otherwise included. Copyright codes are as follows: LGPL - Library GPL BSD - BSD style license NO AD - BSD style license with negative advertising clause Package codes are as follows: Dev = libpawlib2-dev Paw++ = libpawlib-lesstif3-gfortran, libpawlib-lesstif3-dev, paw++ Src = [not included in binary packages, only source package] File(s) Package(s) License type Owner ------- ---------- ------------ ----- cfortran/* Dev LGPL [1] [a] pawlib/paw/hmotif/uxxt.h Paw++ NO AD [2] [b] pawlib/paw/paw/tree.h Src BSD [3] [c] pawlib/paw/tree/tree.c Src BSD [3] [c] pawlib/paw/tree/treep.h Src BSD [3] [c] pawlib/paw/{xbae,xbaevms}/caption.c Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/caption.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/captionp.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/clip.c Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/clip.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/clipp.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/matrix.c Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/matrix.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/matrixp.h Src NO AD [4] [d] pawlib/paw/{xbae,xbaevms}/version.c Src NO AD [4] [d] pawlib/paw/xbae/cell.c Src NO AD [5] [e] pawlib/paw/xbae/cell.h Src NO AD [5] [e] pawlib/paw/xbae/cellp.h Src NO AD [5] [e] Exception copyright holders --------------------------- [a] Burkhard Burow, , http://www-zeus.desy.de/~burow/cfortran/index.htm [b] Visual Edge Software Ltd. [c] Massachusetts Institute of Technology and Prentice Hall [d] Bell Communications Research, Inc. (Bellcore) [e] Q. Frank Xia, Exception license details ------------------------- [1] On Debian systems, the complete text of the GNU Library General Public License can be found in the file `/usr/share/common-licenses/LGPL-2'. [2] Copyright (c) 1991, Visual Edge Software Ltd. ALL RIGHTS RESERVED. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Visual Edge Software not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The year included in the notice is the year of the creation of the work. [3] Copyright 1990 Massachusetts Institute of Technology Copyright 1989 Prentice Hall Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice appear in supporting documentation. M.I.T., Prentice Hall and the authors disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall M.I.T., Prentice Hall or the authors be liable for any special, indirect or cosequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. [4] Copyright(c) 1992 Bell Communications Research, Inc. (Bellcore) All rights reserved Permission to use, copy, modify and distribute this material for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies, and that the name of Bellcore not be used in advertising or publicity pertaining to this material without the specific, prior written permission of an authorized representative of Bellcore. BELLCORE MAKES NO REPRESENTATIONS AND EXTENDS NO WARRANTIES, EX- PRESS OR IMPLIED, WITH RESPECT TO THE SOFTWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR PURPOSE, AND THE WARRANTY AGAINST IN- FRINGEMENT OF PATENTS OR OTHER INTELLECTUAL PROPERTY RIGHTS. THE SOFTWARE IS PROVIDED "AS IS", AND IN NO EVENT SHALL BELLCORE OR ANY OF ITS AFFILIATES BE LIABLE FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES RELAT- ING TO THE SOFTWARE. [5] Copyright(C) Q. Frank Xia (qx@math.columbia.edu), 1994. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Q. Frank Xia not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. This software is provided as-is and without any warranty of any kind. DELETIA ------- The following files and directories have been removed from the Debian source package of CERNLIB due to license ambiguities or incompatibilities with the GPL (e.g. positive BSD advertising clause). If needed, they may be found in the upstream source tarballs. DEADPOOL_LIST_GOES_HERE debian/README.64-bit0000644000000000000000000000446412205656264011072 0ustar 64-bit specific CERNLIB issues ------------------------------ If you are intending to use CERN libraries on a 64-bit platform (such as the Itanium [ia64], Alpha, or AMD64 / EM64t [amd64] Debian architectures), you should be aware of some potential problems. CERNLIB was never designed to run on machines where the size of a pointer is 64 bits. The code implicitly assumes that sizeof(void *) == sizeof(int) == 4 in many different places. The biggest culprits are the ZEBRA and COMIS sets of routines in the packlib and pawlib libraries, respectively. This would be difficult to fix without rewriting megabytes of FORTRAN source code. Harald Vogt has, however, succeeded in putting together enough workarounds to permit PAW and Paw++ to run on 64-bit machines. These workarounds are valid only when the entire set of code in a program's memory space can be addressed by 32-bit values. This will generally be true for statically linked programs, but not for dynamically linked ones. Hence, many of the CERN libraries on 64-bit machines may only work well when linked against statically. Routines outside of ZEBRA and COMIS may be safe to use if dynamically linked, but I would not bet money on it. Furthermore, you will want to make sure that any variables used as parameters in COMIS routines are within the program data segment, either by putting them in COMMON blocks or by compiling the block of code in which the variable is declared with the -fno-automatic flag of gfortran. (-fno-automatic used on FORTRAN code has the same effect as declaring all local variables "static" would in C code.) See the example program comis-64bit-example.F in the libpawlib2-dev package under /usr/share/doc/libpawlib2-dev/examples, for instance. Static linking is the default behavior if you use the "cernlib" script when linking, like this: # Should work everywhere: gfortran -o myprogram myprogram.F `cernlib -G Motif pawlib` but not if you directly tell the library names to the compiler, like this: # Possibly results in a non-working program on 64-bit! gfortran -o myprogram myprogram.F -lpawlib -lpacklib ... For more information, please see Harald Vogt's web page about CERNLIB ported to 64-bit machines: http://www-zeuthen.desy.de/linear_collider/cernlib/new/cernlib_2005.html -- Kevin McCarty , Wed, 8 Aug 2007 debian/compat0000644000000000000000000000000212205656264010374 0ustar 5 debian/control0000644000000000000000000001704512205656264010610 0ustar Source: paw Maintainer: Debian Science Maintainers Uploaders: Lifeng Sun Standards-Version: 3.9.4 Priority: optional Section: science Homepage: http://paw.web.cern.ch/paw/ Build-Depends: dpkg-dev (>= 1.13.19), cernlib-base-dev (>= 20061220+dfsg3-3), patch, mawk | gawk, xutils-dev, debhelper (>= 6.0.12), gfortran (>= 4:4.3), cfortran (>= 4.4-12), x11proto-core-dev, libxt-dev, libx11-dev, libmotif-dev, libxaw7-dev, libxbae-dev, libblas-dev, liblapack-dev, libmathlib2-dev (>= 2006.dfsg.2-7), libkernlib1-dev (>= 2006.dfsg.2-7), libpacklib1-dev (>= 2006.dfsg.2-7), libgraflib1-dev (>= 2006.dfsg.2-7), libgrafx11-1-dev (>= 2006.dfsg.2-7), libpacklib-lesstif1-dev (>= 2006.dfsg.2-7), kuipc Vcs-Git: git://anonscm.debian.org/debian-science/packages/paw.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/paw.git Package: libpawlib-lesstif3-dev Architecture: any Section: libdevel Breaks: libpaw1-dev (<= 2004.11.04.dfsg-0sarge1), libpawlib2-lesstif-dev (<= 1:2.14.04.dfsg-1) Replaces: libpaw1-dev, libpawlib2-lesstif-dev Depends: cernlib-base-dev (>= 2006.dfsg.2-7), libpawlib2-dev (= ${binary:Version}), libpacklib-lesstif1-dev (>= 2006.dfsg.2-7), libmotif-dev, libxbae-dev, libxaw7-dev, libpawlib-lesstif3-gfortran (= ${binary:Version}), ${misc:Depends} Description: CERNLIB PAW library (Lesstif-dependent part - development files) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes the Lesstif-dependent parts of the library pawlib, required by the CERNLIB application Paw++, in a static version. The remainder of pawlib is provided in the package libpawlib2-dev. . The COMIS portion of pawlib is functional on 64-bit machines only when statically linked. Package: libpawlib-lesstif3-gfortran Architecture: any Section: libs Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: CERNLIB PAW library (Lesstif-dependent part) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes the Lesstif-dependent parts of the library pawlib, required by the CERNLIB application Paw++. Note that in order to compile and link programs against this library, you must also install the libpawlib-lesstif3-dev package. The remainder of pawlib is provided in the package libpawlib2-gfortran. . The COMIS portion of pawlib is functional on 64-bit machines only when statically linked. Package: libpawlib2-dev Architecture: any Section: libdevel Depends: cernlib-base-dev (>= 2006.dfsg.2-7), libgraflib1-dev (>= 2006.dfsg.2-7), libmathlib2-dev (>= 2006.dfsg.2-7), libpawlib2-gfortran (= ${binary:Version}), ${misc:Depends} Replaces: libpaw1-dev Breaks: libpaw1-dev (<= 2004.11.04.dfsg-0sarge1) Suggests: libpawlib-lesstif3-dev Description: CERNLIB PAW library - portion without Lesstif (development files) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes a static version of (most of) the library pawlib, required by the CERNLIB application PAW. In addition to the internal workings of PAW, pawlib also provides the COMIS FORTRAN interpreter and the SIGMA array manipulation language. The Lesstif-dependent parts of the library are provided in the libpawlib-lesstif3-dev package. . The COMIS portion of this library is functional on 64-bit machines only when statically linked. Package: libpawlib2-gfortran Architecture: any Section: libs Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, gfortran, netbase (>= 4.08), ${misc:Depends} Recommends: libc6-dev | libc-dev Description: CERNLIB PAW library - portion without Lesstif dependencies CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes (most of) the library pawlib, required by the CERNLIB application PAW. In addition to the internal workings of PAW, pawlib also provides the COMIS FORTRAN interpreter and the SIGMA array manipulation language. The Lesstif-dependent parts of the library are provided in the libpawlib-lesstif3-gfortran package. . Note that in order to compile and link programs against this library, you must install the libpawlib2-dev and maybe also the libpawlib-lesstif3-dev package(s). . The COMIS portion of this library is functional on 64-bit machines only when statically linked. Package: paw++ Architecture: any Depends: ${shlibs:Depends}, paw-common, kxterm, gfortran, netbase (>= 4.08), ${misc:Depends} Suggests: paw-demos, gv Provides: paw-binary Replaces: paw-common (<< 2005.05.09.dfsg-3) Description: Physics Analysis Workstation (Lesstif-enhanced version) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes Paw++, an interactive program for use in analysis and graphical presentation. Paw++ is the same program as PAW (in the "paw" package), but with a more user-friendly Motif-based GUI, compiled against Lesstif in Debian. . The program is linked statically against the CERN libraries on 64-bit architectures in order to function properly, as its design is not very 64-bit clean. Package: paw-common Architecture: all Depends: cernlib-base, netbase (>= 4.08), ${misc:Depends} Recommends: libc6-dev | libc-dev, paw | paw-binary Description: Physics Analysis Workstation (common files) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes arch-independent files for PAW, an interactive program for use in analysis and graphical presentation. This package is useless without also installing the paw or paw++ package. Package: paw-demos Architecture: all Depends: paw | paw-binary, ${misc:Depends} Description: Physics Analysis Workstation examples and tests CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes example scripts for use by PAW or Paw++, and test scripts to make sure that the PAW or Paw++ programs behave correctly. You may run the examples and tests with the included paw-demos program. Package: paw Architecture: any Depends: ${shlibs:Depends}, paw-common, gfortran, netbase (>= 4.08), ${misc:Depends} Suggests: paw-demos, gv Provides: paw-binary Replaces: paw-common (<< 2005.05.09.dfsg-3) Description: Physics Analysis Workstation - a graphical analysis program CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . PAW is an interactive program providing interactive graphical presentation and statistical and mathematical analysis tools. It is designed to work on objects familiar to physicists such as histograms, event files (Ntuples), vectors, etc. . The program is linked statically against the CERN libraries on 64-bit architectures in order to function properly, as its design is not very 64-bit clean. debian/dh/0000755000000000000000000000000012205656264007571 5ustar debian/dh/paw++.dirs0000644000000000000000000000003312205656264011365 0ustar usr/bin usr/share/man/man1 debian/dh/paw.links0000644000000000000000000000007312205656264011422 0ustar usr/share/man/man1/paw.1.gz usr/share/man/man1/pawX11.1.gz debian/dh/libpawlib2-dev.examples0000644000000000000000000000011112205656264014125 0ustar src/cfortran/Examples/pamain.c debian/add-ons/misc/comis-64bit-example.F debian/dh/paw.install0000644000000000000000000000003212205656264011743 0ustar debian/tmp/usr/bin/pawX11 debian/dh/libpawlib2-dev.README.debian0000644000000000000000000000756612205656264014512 0ustar Notes on libpawlib2-dev ----------------------- 1) This package does not include the Lesstif-dependent parts of Pawlib. Those can be found in the package libpawlib-lesstif3-dev. 2) Note that much of this library is functional on 64-bit machines only when statically linked. Please see the file README.64-bit for more information. An example illustrating some other things to take care about is given in /usr/share/doc/libpawlib2-dev/examples/comis-64bit-example.F . 3) On 32-bit architectures, please read this note carefully if you link against pawlib dynamically so that the COMIS interpreter works correctly in your application. This is especially applicable if your application dies with this error message: CSALLO: heap below bss?! If you link statically, this note does not concern you. The default output of the "cernlib" script includes the -static compiler flag, so a program linked via a command like one of these: gfortran myprogram.F -o myprogram `cernlib pawlib` gcc file1.o file2.o file3.o -o myprogram `cernlib pawlib` is statically linked to pawlib. If you have doubts, run ldd on your executable; a statically linked program should NOT have the output of ldd include a line similar to this: libpawlib.so.2 => /usr/lib/*/libpawlib.so.2 (0x0f7eb000) Executive summary ----------------- a) If your executable's main source code file is written in FORTRAN, it should #include immediately after the " PROGRAM programname" line. b) If your executable's main source code file is written in C or C++, it should #include at the top of the source code. It is only necessary for one file of your source code to include mdpool.inc or mdpool.h, and may in fact cause linking problems if more than one file does so. Do not include mdpool.inc or mdpool.h in a header file unless that file is itself only #included by one source file. Technical details ----------------- The authors of COMIS (the PAW interpreter) used two memory allocation areas; one is the integer array IQ (size: 50006 integers) in the COMMON block MDPOOL, and the other is dynamically allocated by malloc() in the CSALLO function. The difference between the malloc()ed pointer address and the address of the common block is returned to FORTRAN code, so it can access the new memory by using the appropriate array subscript in MDPOOL/IQ. The idea is similar to that expressed in the following C code: #include typedef struct { int iq[50006]; } mdpool_def; mdpool_def mdpool; int main() { unsigned long iqpntr = (unsigned long)mdpool.iq; unsigned long lpntr = (unsigned long)malloc(sizeof(int)); int index = (lpntr - iqpntr) / sizeof(int); mdpool.iq[index] = 5; return mdpool.iq[index]; } The problem is that the FORTRAN code in pawlib expects the address difference (the variable "index" in the above example) to be positive. This is fine when an executable is statically linked to pawlib, since then the malloc()ed space in the heap is always at a larger address than MDPOOL in the binary's bss segment. But on some (most?) architectures, shared libraries, including MDPOOL in libpawlib.so, are mapped into memory beyond the program stack, yielding a negative address offset. After a lot of trying, I concluded that tracking down all the places in the FORTRAN code that expected a positive pointer offset from MDPOOL would be very difficult and error-prone, so the solution is to attack the problem from the other end. That is, declare MDPOOL/IQ in the dynamically linked executable. Then MDPOOL will always be present in these executables' bss segments, whose address is always less than that of space allocated on the heap. This is accomplished by #include'ing or in the source code for the executable. See, e.g., the file /usr/share/doc/libpawlib2-dev/examples/pamain.c . -- Kevin McCarty , Mon, 29 Nov 2004 debian/dh/paw++.menu0000644000000000000000000000033412205656264011374 0ustar ?package(paw++):needs="x11" section="Applications/Science/Data Analysis" \ title="Paw++" command="/usr/bin/paw++" \ icon="/usr/share/pixmaps/paw32x32.xpm" \ longtitle="Physics Analysis Workstation with Lesstif GUI" debian/dh/paw-demos.dirs0000644000000000000000000000003412205656264012345 0ustar usr/bin usr/share/paw-demos debian/dh/paw-demos.README.debian0000644000000000000000000000061012205656264013562 0ustar To see the demonstrations, run the paw-demos script, located in /usr/bin. It will copy everything from /usr/share/paw-demos/ to a directory "paw-demos" in your $HOME and execute them from there. (This is necessary as some of the demos require a writable directory.) See the man page paw-demos(1) if you need to adjust this behavior. --Kevin McCarty , Mon, 29 Nov 2004 debian/dh/paw++.README.debian0000644000000000000000000000360112205656264012606 0ustar Notes on paw++ -------------- 1) Graphics window corruption If you experience corruption of the graphics window when other windows are moved over top of it, turn on the BackingStore option of the X server. In the "Screen" section of your /etc/X11/xorg.conf or /etc/X11/XF86Config-4 file (whichever one exists), you should have something like: Section "Screen" . . . Option "BackingStore" . . . EndSection Be aware that making this change will cause Debconf to refuse to update your X settings when you upgrade your X server package. See the blurb at the top of /etc/X11/xorg.conf (if you have xserver-xorg installed) or /etc/X11/XF86Config-4 (if you have xserver-xfree86 installed) for more information. 2) Remote data files Paw++ can read files remotely from computers running the distributed PAW (pawserv) server, which is included in the pawserv Debian package. This is done from within Paw++ using 'rlogin' and 'rshell' commands; see the PAW User's Guide for details. Please note that these commands transmit passwords in clear text and should be used only within a secured LAN. 3) Path issues If you compile a FORTRAN script within Paw++, the path to the file cannot be excessively long (more than 256 characters). 4) Filename case issues The default behavior in Debian has been set so that Paw++ is case-sensitive in its treatment of filenames. If you have any old PAW scripts that do not treat filenames in a case-sensitive way, you may need to add the line filecase convert to the beginning of them. 5) 64-bit issues This package is now believed to be more or less functional on 64-bit machines. On these architectures, PAW is linked statically against the CERN libraries, as they cannot properly handle pointer differences that do not fit in a 32-bit variable. See the file README.64-bit in the cernlib-base package. -- Kevin McCarty , Tue, 19 Sep 2006 debian/dh/paw-demos.install0000644000000000000000000000014712205656264013057 0ustar debian/tmp/usr/bin/paw-demos debian/tmp/usr/share/paw-demos/ debian/tmp/usr/share/man/man1/paw-demos.1 debian/dh/paw.dirs0000644000000000000000000000003312205656264011237 0ustar usr/bin usr/share/man/man1 debian/dh/libpawlib2-dev.docs0000644000000000000000000000002512205656264013243 0ustar debian/README.64-bit debian/dh/paw-common.links0000644000000000000000000000022412205656264012706 0ustar usr/share/pixmaps/paw32x32.xpm usr/share/icons/hicolor/32x32/apps/paw.xpm usr/share/pixmaps/paw48x48.xpm usr/share/icons/hicolor/48x48/apps/paw.xpm debian/dh/libpawlib-lesstif3-gfortran.install0000644000000000000000000000015712205656264016503 0ustar debian/tmp/usr/lib/*/libpawlib-lesstif.so.3_gfortran.2006 debian/tmp/usr/lib/*/libpawlib-lesstif.so.3_gfortran debian/dh/libpawlib2-gfortran.install0000644000000000000000000000013712205656264015031 0ustar debian/tmp/usr/lib/*/libpawlib.so.2_gfortran.2006 debian/tmp/usr/lib/*/libpawlib.so.2_gfortran debian/dh/paw.menu0000644000000000000000000000037312205656264011251 0ustar ?package(paw):needs="text" \ section="Applications/Science/Data Analysis" \ title="PAW" \ longtitle="The Physics Analysis Workstation" \ icon="/usr/share/pixmaps/paw32x32.xpm" \ command="sh -c '/usr/bin/paw -d X11 -w `[ x${DISPLAY} = x ] ; echo $?`'" debian/dh/paw++.preinst0000644000000000000000000000146412205656264012121 0ustar #! /bin/sh # preinst script for paw++ # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in install|upgrade) # Remove any existing alternative for paw++ if [ -L /usr/bin/paw++ ] ; then update-alternatives --remove-all paw++ fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/dh/libpawlib-lesstif3-dev.install0000644000000000000000000000017212205656264015434 0ustar debian/tmp/usr/lib/*/libpawlib-lesstif.a debian/tmp/usr/lib/*/libpawlib-lesstif.so debian/add-ons/paw/* usr/include/paw debian/dh/libpawlib2-dev.dirs0000644000000000000000000000002512205656264013254 0ustar usr/include/cfortran debian/dh/paw.README.debian0000644000000000000000000000356512205656264012471 0ustar Notes on paw ------------ 1) Graphics window corruption If you experience corruption of the graphics window when other windows are moved over top of it, turn on the BackingStore option of the X server. In the "Screen" section of your /etc/X11/xorg.conf or /etc/X11/XF86Config-4 file (whichever one exists), you should have something like: Section "Screen" . . . Option "BackingStore" . . . EndSection Be aware that making this change will cause Debconf to refuse to update your X settings when you upgrade your X server package. See the blurb at the top of /etc/X11/xorg.conf (if you have xserver-xorg installed) or /etc/X11/XF86Config-4 (if you have xserver-xfree86 installed) for more information. 2) Remote data files PAW can read files remotely from computers running the distributed PAW (pawserv) server, which is included in the pawserv Debian package. This is done from within PAW using 'rlogin' and 'rshell' commands; see the PAW User's Guide for details. Please note that these commands transmit passwords in clear text and should be used only within a secured LAN. 3) Path issues If you compile a FORTRAN script within PAW, the path to the file cannot be excessively long (more than 256 characters). 4) Filename case issues The default behavior in Debian has been set so that PAW is case-sensitive in its treatment of filenames. If you have any old PAW scripts that do not treat filenames in a case-sensitive way, you may need to add the line filecase convert to the beginning of them. 5) 64-bit issues This package is now believed to be more or less functional on 64-bit machines. On these architectures, PAW is linked statically against the CERN libraries, as they cannot properly handle pointer differences that do not fit in a 32-bit variable. See the file README.64-bit in the cernlib-base package. -- Kevin McCarty , Tue, 19 Sep 2006 debian/dh/paw-common.dirs0000644000000000000000000000005712205656264012533 0ustar usr/bin usr/share/pixmaps etc/X11/app-defaults debian/dh/paw-demos.links0000644000000000000000000000006512205656264012530 0ustar usr/share/paw-demos usr/share/doc/paw-demos/examples debian/dh/paw-common.install0000644000000000000000000000033512205656264013237 0ustar debian/tmp/usr/bin/paw debian/tmp/etc/X11/app-defaults/Paw++ debian/tmp/etc/X11/app-defaults/KxPaw++ debian/tmp/usr/share/man/man1/paw.1 debian/tmp/usr/share/pixmaps/paw48x48.xpm debian/tmp/usr/share/pixmaps/paw32x32.xpm debian/dh/paw++.links0000644000000000000000000000007212205656264011547 0ustar usr/share/man/man1/paw.1.gz usr/share/man/man1/paw++.1.gz debian/dh/libpawlib2-dev.links0000644000000000000000000000014012205656264013431 0ustar usr/include/comis.h usr/include/cfortran/comis.h usr/include/paw.h usr/include/cfortran/paw.h debian/dh/libpawlib-lesstif3-dev.dirs0000644000000000000000000000002012205656264014717 0ustar usr/include/paw debian/dh/paw++.install0000644000000000000000000000012212205656264012071 0ustar debian/tmp/usr/bin/paw++ debian/add-ons/misc/paw++.desktop usr/share/applications debian/dh/libpawlib2-dev.install0000644000000000000000000000036612205656264013771 0ustar debian/tmp/usr/lib/*/libpawlib.a debian/tmp/usr/lib/*/libpawlib.so debian/tmp/usr/include/comis.h debian/tmp/usr/include/paw.h debian/tmp/usr/include/paw.car debian/tmp/usr/include/comis/ debian/tmp/usr/include/paw/ debian/tmp/usr/include/sigma/ debian/dh/paw.preinst0000644000000000000000000000146512205656264011774 0ustar #! /bin/sh # preinst script for paw # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in install|upgrade) # Remove any existing alternative for pawX11 if [ -L /usr/bin/pawX11 ] ; then update-alternatives --remove-all pawX11 fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/control.d/0000755000000000000000000000000012205656264011100 5ustar debian/control.d/libpawlib-lesstif3-gfortran.control0000644000000000000000000000146212205656264020024 0ustar Package: libpawlib-lesstif3-gfortran Architecture: any Section: libs Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: CERNLIB PAW library (Lesstif-dependent part) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes the Lesstif-dependent parts of the library pawlib, required by the CERNLIB application Paw++. Note that in order to compile and link programs against this library, you must also install the libpawlib-lesstif3-dev package. The remainder of pawlib is provided in the package libpawlib2-gfortran. . The COMIS portion of pawlib is functional on 64-bit machines only when statically linked. debian/control.d/0base.control0000644000000000000000000000162012205656264013473 0ustar Source: paw Maintainer: Debian Science Maintainers Uploaders: Lifeng Sun Standards-Version: 3.9.4 Priority: optional Section: science Homepage: http://paw.web.cern.ch/paw/ Build-Depends: dpkg-dev (>= 1.13.19), cernlib-base-dev (>= 20061220+dfsg3-3), patch, mawk | gawk, xutils-dev, debhelper (>= 6.0.12), gfortran (>= 4:4.3), cfortran (>= 4.4-12), x11proto-core-dev, libxt-dev, libx11-dev, libmotif-dev, libxaw7-dev, libxbae-dev, libblas-dev, liblapack-dev, libmathlib2-dev (>= 2006.dfsg.2-7), libkernlib1-dev (>= 2006.dfsg.2-7), libpacklib1-dev (>= 2006.dfsg.2-7), libgraflib1-dev (>= 2006.dfsg.2-7), libgrafx11-1-dev (>= 2006.dfsg.2-7), libpacklib-lesstif1-dev (>= 2006.dfsg.2-7), kuipc Vcs-Git: git://anonscm.debian.org/debian-science/packages/paw.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/paw.git debian/control.d/paw-common.control0000644000000000000000000000111212205656264014552 0ustar Package: paw-common Architecture: all Depends: cernlib-base, netbase (>= 4.08), ${misc:Depends} Recommends: libc6-dev | libc-dev, paw | paw-binary Description: Physics Analysis Workstation (common files) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes arch-independent files for PAW, an interactive program for use in analysis and graphical presentation. This package is useless without also installing the paw or paw++ package. debian/control.d/paw.control0000644000000000000000000000153512205656264013275 0ustar Package: paw Architecture: any Depends: ${shlibs:Depends}, paw-common, gfortran, netbase (>= 4.08), ${misc:Depends} Suggests: paw-demos, gv Provides: paw-binary Replaces: paw-common (<< 2005.05.09.dfsg-3) Description: Physics Analysis Workstation - a graphical analysis program CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . PAW is an interactive program providing interactive graphical presentation and statistical and mathematical analysis tools. It is designed to work on objects familiar to physicists such as histograms, event files (Ntuples), vectors, etc. . The program is linked statically against the CERN libraries on 64-bit architectures in order to function properly, as its design is not very 64-bit clean. debian/control.d/libpawlib2-dev.control0000644000000000000000000000203612205656264015306 0ustar Package: libpawlib2-dev Architecture: any Section: libdevel Depends: cernlib-base-dev (>= 2006.dfsg.2-7), libgraflib1-dev (>= 2006.dfsg.2-7), libmathlib2-dev (>= 2006.dfsg.2-7), libpawlib2-gfortran (= ${binary:Version}), ${misc:Depends} Replaces: libpaw1-dev Breaks: libpaw1-dev (<= 2004.11.04.dfsg-0sarge1) Suggests: libpawlib-lesstif3-dev Description: CERNLIB PAW library - portion without Lesstif (development files) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes a static version of (most of) the library pawlib, required by the CERNLIB application PAW. In addition to the internal workings of PAW, pawlib also provides the COMIS FORTRAN interpreter and the SIGMA array manipulation language. The Lesstif-dependent parts of the library are provided in the libpawlib-lesstif3-dev package. . The COMIS portion of this library is functional on 64-bit machines only when statically linked. debian/control.d/libpawlib2-gfortran.control0000644000000000000000000000206312205656264016352 0ustar Package: libpawlib2-gfortran Architecture: any Section: libs Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, gfortran, netbase (>= 4.08), ${misc:Depends} Recommends: libc6-dev | libc-dev Description: CERNLIB PAW library - portion without Lesstif dependencies CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes (most of) the library pawlib, required by the CERNLIB application PAW. In addition to the internal workings of PAW, pawlib also provides the COMIS FORTRAN interpreter and the SIGMA array manipulation language. The Lesstif-dependent parts of the library are provided in the libpawlib-lesstif3-gfortran package. . Note that in order to compile and link programs against this library, you must install the libpawlib2-dev and maybe also the libpawlib-lesstif3-dev package(s). . The COMIS portion of this library is functional on 64-bit machines only when statically linked. debian/control.d/libpawlib-lesstif3-dev.control0000644000000000000000000000175412205656264016764 0ustar Package: libpawlib-lesstif3-dev Architecture: any Section: libdevel Breaks: libpaw1-dev (<= 2004.11.04.dfsg-0sarge1), libpawlib2-lesstif-dev (<= 1:2.14.04.dfsg-1) Replaces: libpaw1-dev, libpawlib2-lesstif-dev Depends: cernlib-base-dev (>= 2006.dfsg.2-7), libpawlib2-dev (= ${binary:Version}), libpacklib-lesstif1-dev (>= 2006.dfsg.2-7), libmotif-dev, libxbae-dev, libxaw7-dev, libpawlib-lesstif3-gfortran (= ${binary:Version}), ${misc:Depends} Description: CERNLIB PAW library (Lesstif-dependent part - development files) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes the Lesstif-dependent parts of the library pawlib, required by the CERNLIB application Paw++, in a static version. The remainder of pawlib is provided in the package libpawlib2-dev. . The COMIS portion of pawlib is functional on 64-bit machines only when statically linked. debian/control.d/paw++.control0000644000000000000000000000154512205656264013424 0ustar Package: paw++ Architecture: any Depends: ${shlibs:Depends}, paw-common, kxterm, gfortran, netbase (>= 4.08), ${misc:Depends} Suggests: paw-demos, gv Provides: paw-binary Replaces: paw-common (<< 2005.05.09.dfsg-3) Description: Physics Analysis Workstation (Lesstif-enhanced version) CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes Paw++, an interactive program for use in analysis and graphical presentation. Paw++ is the same program as PAW (in the "paw" package), but with a more user-friendly Motif-based GUI, compiled against Lesstif in Debian. . The program is linked statically against the CERN libraries on 64-bit architectures in order to function properly, as its design is not very 64-bit clean. debian/control.d/paw-demos.control0000644000000000000000000000103212205656264014372 0ustar Package: paw-demos Architecture: all Depends: paw | paw-binary, ${misc:Depends} Description: Physics Analysis Workstation examples and tests CERNLIB is a suite of data analysis tools and libraries created for use in physics experiments, but also with applications to other fields such as the biological sciences. . This package includes example scripts for use by PAW or Paw++, and test scripts to make sure that the PAW or Paw++ programs behave correctly. You may run the examples and tests with the included paw-demos program. debian/deadpool.txt0000644000000000000000000000124212205656264011525 0ustar # This file lists all the files that were removed from the CERNLIB source # for copyright reasons. Given is the file or directory to delete # relative to $CERN_ROOT/src/. # --Kevin McCarty, 23 Nov 2005 # Authors of Pythia/Jetset did NOT give permission to release # their code under GPL. CERN should have checked this more carefully!!! car/jetset74.car # The same applies to GEANT-FLUKA; see for instance the comments at # the web site http://www.fluka.org/Faq.html car/geanf.car car/geanf321.car # Other problematic files (mostly on VMS or obsolete archs) pawlib/comis/comis/dlfcn.inc pawlib/comis/deccc/dlfcn.c pawlib/comis/obsolete/rsibm/ pawlib/paw/stagerd/bftp.c debian/rules0000755000000000000000000000505012205656264010256 0ustar #!/usr/bin/make -f # source package name and modules included in the source package MY_NAME = paw MY_MODULES = Imakefile car cfortran include pawlib scripts include /usr/share/cernlib/cernlib-debian.mk LOCAL_DEFINES += -D_GNU_SOURCE install-arch-local: # Is dynamically linked paw broken? @set -e ; \ exitcode=0 ; \ echo "***" ; echo "Testing whether dynamically linked PAW works" ; \ echo "***" ; \ rm -f debian/tmp/usr/bin/pawX11 debian/tmp/usr/bin/paw++ ; \ if [ -z "$$LD_LIBRARY_PATH" ] ; then \ LD_LIBRARY_PATH="$(CURDIR)/shlib" ; \ else \ LD_LIBRARY_PATH="$${LD_LIBRARY_PATH}:$(CURDIR)/shlib" ; \ fi ; \ export LD_LIBRARY_PATH ; \ if debian/tmp/usr/bin/pawX11.dynamic -w 0 < /dev/null ; then \ echo "Success!" ; \ cp -pf bin/pawX11 debian/tmp/usr/bin/pawX11 ; \ cp -pf bin/paw++ debian/tmp/usr/bin/paw++ ; \ else \ echo "Failed, exit code $$?. Trying statically linked version..." ; \ if ! debian/tmp/usr/bin/pawX11.static -w 0 < /dev/null ; then \ exitcode="$$?" ; \ echo "Failed, exit code $$? !" ; \ else \ echo "Success, will package statically linked PAW." ; \ fi ; \ cp -pf bin/pawX11.static debian/tmp/usr/bin/pawX11 ; \ cp -pf bin/paw++.static debian/tmp/usr/bin/paw++ ; \ fi ; \ echo ; echo "These results may be useful in diagnosis:" ; echo ; \ gcc -Wall debian/addresstest.c -o debian/addresstest ; \ debian/addresstest ; \ rm -f debian/addresstest ; \ rm -f paw.metafile ; \ exit "$$exitcode" binary-arch: install-arch dh_testdir dh_testroot dh_install -s # move a couple files around rm -f debian/libpawlib2-dev/usr/include/paw/tree.h \ debian/libpawlib2-dev/usr/include/paw/converter.h dh_installdocs -s dh_installexamples -s set -e ; \ dh_installmenu -s dh_installman -s dh_installchangelogs -s dh_installdebconf -s dh_strip -s dh_link -s dh_compress -s -X.F dh_fixperms -s dh_makeshlibs -plibpawlib2-gfortran dh_makeshlibs -plibpawlib-lesstif3-gfortran dh_shlibdeps -s -lshlib dh_installdeb -s dh_gencontrol -s dh_md5sums -s dh_builddeb -s binary-indep: install-indep dh_testdir dh_testroot dh_install -i dh_installdocs -i dh_installexamples -i # reference to kuesvr man page (cernlib source package) now moved # to section 7 sed -i -e '/kuesvr/s/1/7/' debian/paw-common/usr/share/man/man1/paw.1 dh_installman -i dh_installchangelogs -i dh_link -i dh_icons -i dh_compress -i -X.dat -X.kumac -X.F -X.sh dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary: binary-indep binary-arch .PHONY: install-arch-local binary binary-indep binary-arch debian/add-ons/0000755000000000000000000000000012205656264010523 5ustar debian/add-ons/icons/0000755000000000000000000000000012205656264011636 5ustar debian/add-ons/icons/paw48x48.xpm0000644000000000000000000000501712205656264013676 0ustar /* XPM */ static char * paw_xpm[] = { "48 48 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " . ", " .. ", " ... ", " ... ", " .... ", " ..... .. .... ", " ........... .... .... ... ", " ... ... ..... .... ... ", " .. ... .. .. .. ... ", " .. ... .. .. .. ... ", " .. .... .. .. . ... ", " .. .... ... ... .. ... ", " ... .. ... .. .. ... ", " .... ... ... .. .. ... ... ", " ....... ... .. ... ... ... ", " .. ... .. .. .... ... ", " .. .... ... .. .... ... ", " .. ........... ..... ..... ", " .. ........ ... .... .... ", " .. ... .. ... ... .... ", " ....... .. .... ... .. ", " ...... ... ... .. .. ", " ...... .... .... .. . ", " .... .... ..... . ", " ... ... ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; debian/add-ons/icons/command.xbm0000644000000000000000000000434112205656264013766 0ustar #define command_width 50 #define command_height 50 static char command_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3e, 0x60, 0x00, 0x00, 0x1e, 0x00, 0xc0, 0xff, 0x79, 0x3c, 0x00, 0x0e, 0x00, 0xc0, 0xc1, 0xf9, 0x78, 0x00, 0x0e, 0x00, 0xc0, 0xc0, 0xd9, 0x60, 0x00, 0x0e, 0x00, 0xc0, 0xc0, 0xd9, 0x60, 0x00, 0x0e, 0x00, 0xc0, 0xe0, 0xd9, 0x40, 0x00, 0x0e, 0x00, 0xc0, 0xe0, 0xdd, 0xc1, 0x00, 0x0e, 0x00, 0xc0, 0x61, 0x9c, 0xc1, 0x00, 0x0e, 0x00, 0xc0, 0x3b, 0x9c, 0xc1, 0x1c, 0x0e, 0x00, 0xc0, 0x1f, 0x8e, 0xc1, 0x1d, 0x0e, 0x00, 0xc0, 0x00, 0x0e, 0x83, 0x3d, 0x0e, 0x00, 0xc0, 0x00, 0x8f, 0x83, 0x3d, 0x07, 0x00, 0xc0, 0x00, 0xff, 0x87, 0xef, 0x03, 0x00, 0xc0, 0x80, 0x7f, 0x07, 0xef, 0x01, 0x00, 0xcc, 0x01, 0x06, 0x0e, 0xe7, 0x01, 0x00, 0xfc, 0x01, 0x06, 0x1e, 0xc7, 0x00, 0x00, 0xf8, 0x01, 0x07, 0x1c, 0xc6, 0x00, 0x00, 0xf0, 0x83, 0x07, 0x3c, 0x86, 0x00, 0x00, 0x80, 0x87, 0x07, 0x7c, 0x04, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x18, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x0c, 0x40, 0x3b, 0xfc, 0x00, 0x00, 0x00, 0x0c, 0xc0, 0x2f, 0xfe, 0x00, 0x00, 0x00, 0x0c, 0xc0, 0x66, 0xc2, 0x00, 0x00, 0x00, 0x0c, 0xc0, 0x66, 0xc3, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x66, 0xc3, 0x00, 0x00, 0x00, 0x18, 0xc8, 0x66, 0xc3, 0x00, 0x20, 0x00, 0x10, 0xcc, 0x66, 0xe6, 0x00, 0x60, 0x00, 0xf0, 0xc7, 0x66, 0xbc, 0x01, 0x60, 0x00, 0xe0, 0xc3, 0x66, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xe0, 0xf3, 0x3d, 0x69, 0x00, 0x00, 0x00, 0x30, 0x96, 0x64, 0x67, 0x00, 0x00, 0x00, 0x30, 0x96, 0x44, 0xe3, 0x00, 0x00, 0x00, 0xe0, 0x93, 0x44, 0xce, 0x00, 0x00, 0x00, 0x20, 0xf0, 0xcd, 0x8c, 0x01, 0x00, 0x00, 0x20, 0x70, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; debian/add-ons/icons/graphics.xbm0000644000000000000000000000434412205656264014153 0ustar #define graphics_width 50 #define graphics_height 50 static char graphics_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3e, 0x60, 0x00, 0x00, 0x1e, 0x00, 0xc0, 0xff, 0x79, 0x3c, 0x00, 0x0e, 0x00, 0xc0, 0xc1, 0xf9, 0x78, 0x00, 0x0e, 0x00, 0xc0, 0xc0, 0xd9, 0x60, 0x00, 0x0e, 0x00, 0xc0, 0xc0, 0xd9, 0x60, 0x00, 0x0e, 0x00, 0xc0, 0xe0, 0xd9, 0x40, 0x00, 0x0e, 0x00, 0xc0, 0xe0, 0xdd, 0xc1, 0x00, 0x0e, 0x00, 0xc0, 0x61, 0x9c, 0xc1, 0x00, 0x0e, 0x00, 0xc0, 0x3b, 0x9c, 0xc1, 0x1c, 0x0e, 0x00, 0xc0, 0x1f, 0x8e, 0xc1, 0x1d, 0x0e, 0x00, 0xc0, 0x00, 0x0e, 0x83, 0x3d, 0x0e, 0x00, 0xc0, 0x00, 0x8f, 0x83, 0x3d, 0x07, 0x00, 0xc0, 0x00, 0xff, 0x87, 0xef, 0x03, 0x00, 0xc0, 0x80, 0x7f, 0x07, 0xef, 0x01, 0x00, 0xcc, 0x01, 0x06, 0x0e, 0xe7, 0x01, 0x00, 0xfc, 0x01, 0x06, 0x1e, 0xc7, 0x00, 0x00, 0xf8, 0x01, 0x07, 0x1c, 0xc6, 0x00, 0x00, 0xf0, 0x83, 0x07, 0x3c, 0x86, 0x00, 0x00, 0x80, 0x87, 0x07, 0x7c, 0x04, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x30, 0x00, 0xe0, 0x00, 0x03, 0x78, 0x80, 0x33, 0x80, 0xb3, 0x01, 0xe3, 0x5c, 0x8f, 0xf7, 0xc8, 0x16, 0x01, 0xe3, 0x0d, 0xcd, 0xf6, 0xd9, 0x74, 0x00, 0xa7, 0x8d, 0xc9, 0x34, 0xd9, 0xe0, 0x00, 0x86, 0x8d, 0xc8, 0x36, 0xdb, 0x80, 0x01, 0x86, 0x8d, 0xcd, 0x33, 0xdb, 0x80, 0x01, 0x8e, 0x8d, 0xdf, 0x30, 0xdb, 0x96, 0x01, 0xfc, 0x85, 0xd7, 0x30, 0xd3, 0xf3, 0x00, 0xf8, 0x00, 0xc0, 0x00, 0x80, 0x71, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; debian/add-ons/icons/browser.xbm0000644000000000000000000000434112205656264014033 0ustar #define browser_width 50 #define browser_height 50 static char browser_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3e, 0x60, 0x00, 0x00, 0x1e, 0x00, 0xc0, 0xff, 0x79, 0x3c, 0x00, 0x0e, 0x00, 0xc0, 0xc1, 0xf9, 0x78, 0x00, 0x0e, 0x00, 0xc0, 0xc0, 0xd9, 0x60, 0x00, 0x0e, 0x00, 0xc0, 0xc0, 0xd9, 0x60, 0x00, 0x0e, 0x00, 0xc0, 0xe0, 0xd9, 0x40, 0x00, 0x0e, 0x00, 0xc0, 0xe0, 0xdd, 0xc1, 0x00, 0x0e, 0x00, 0xc0, 0x61, 0x9c, 0xc1, 0x00, 0x0e, 0x00, 0xc0, 0x3b, 0x9c, 0xc1, 0x1c, 0x0e, 0x00, 0xc0, 0x1f, 0x8e, 0xc1, 0x1d, 0x0e, 0x00, 0xc0, 0x00, 0x0e, 0x83, 0x3d, 0x0e, 0x00, 0xc0, 0x00, 0x8f, 0x83, 0x3d, 0x07, 0x00, 0xc0, 0x00, 0xff, 0x87, 0xef, 0x03, 0x00, 0xc0, 0x80, 0x7f, 0x07, 0xef, 0x01, 0x00, 0xcc, 0x01, 0x06, 0x0e, 0xe7, 0x01, 0x00, 0xfc, 0x01, 0x06, 0x1e, 0xc7, 0x00, 0x00, 0xf8, 0x01, 0x07, 0x1c, 0xc6, 0x00, 0x00, 0xf0, 0x83, 0x07, 0x3c, 0x86, 0x00, 0x00, 0x80, 0x87, 0x07, 0x7c, 0x04, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x38, 0x00, 0x00, 0xc7, 0xf3, 0x00, 0xc6, 0x7d, 0x8e, 0x98, 0xed, 0xb7, 0x01, 0x86, 0xcd, 0xdb, 0x98, 0x20, 0x36, 0x01, 0x86, 0x0d, 0x5b, 0x90, 0x23, 0x33, 0x00, 0x86, 0x0d, 0x51, 0x10, 0xef, 0x30, 0x00, 0x86, 0x0d, 0x53, 0x26, 0x6c, 0x30, 0x00, 0xc6, 0x0d, 0xd3, 0x36, 0xcc, 0x36, 0x00, 0xe6, 0x0c, 0xde, 0x9f, 0x87, 0x33, 0x00, 0xfe, 0x00, 0x80, 0x08, 0x03, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; debian/add-ons/icons/paw32x32.xpm0000644000000000000000000000232012205656264013652 0ustar /* XPM */ static char * paw2_xpm[] = { "32 32 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " ", " . ", " .. ", " .. ", " ...... ... .. .. ", " .. .. ... .. .. ", " .. .. . . . .. ", " .. ... . .. . .. ", " .. .. .. .. .. .. ", " ..... .. . .. .. .. ", " .. .. . . .. .. ", " .. ... ... ..... .. ", " .. ....... ... ... ", " . .. . .. .. .. ", " .... .. ... .. . ", " .... ... ... . ", " ... .. ", " ", " ", " ", " ", " ", " ", " ", " "}; debian/add-ons/hbook/0000755000000000000000000000000012205656264011625 5ustar debian/add-ons/hbook/hkf1q.F0000644000000000000000000000221212205656264012743 0ustar * * $Id: hkf1q.F,v 1.1.1.1 1996/01/16 17:07:40 mclareni Exp $ * * $Log: hkf1q.F,v $ * Revision 1.1.1.1 1996/01/16 17:07:40 mclareni * First import * * #include "hbook/pilot.h" *CMZ : 4.22/11 23/08/94 14.17.45 by Rene Brun *-- Author : Rene Brun 17/02/94 SUBROUTINE HKF1Q(LINE,ID1,X,W) *.==========> *. Special fast filling routine for COMIS *. All calls to HF1 point initially to this routine *..=========> ( R.Brun ) #include "hbook/hcbook.inc" #include "hbook/hcbits.inc" #include "hbook/hcfast.inc" EXTERNAL HKF1,HKFF1,HKNUL1 *.___________________________________________ LINABS=ABS(LINE) CALL HFILL(ID1,X,0.,W) IDPOS=LOCATI(IQ(LTAB+1),IQ(LCDIR+KNRH),ID1) IF(IDPOS.LE.0)THEN CALL CSHFAST(LINABS,HKNUL1) RETURN ENDIF IF(I8.EQ.0)THEN IF(I5.EQ.0.AND.I6.EQ.0.AND.I7.EQ.0)THEN IF(LINE.GT.0.AND.LINE.LT.1000)THEN NID(LINE)=0 CALL CSHFAST(LINABS,HKFF1) ELSE CALL CSHFAST(LINABS,HKF1) ENDIF ELSE CALL CSHFAST(LINABS,HKF1) ENDIF ENDIF END debian/add-ons/hbook/hkfill.F0000644000000000000000000000343112205656264013206 0ustar * * $Id: hkfill.F,v 1.1.1.1 1996/01/16 17:07:40 mclareni Exp $ * * $Log: hkfill.F,v $ * Revision 1.1.1.1 1996/01/16 17:07:40 mclareni * First import * * *CMZ : 4.22/11 23/08/94 14.17.45 by Rene Brun *-- Author : Rene Brun 14/02/94 SUBROUTINE HKFILL(LINE,ID1,X,Y,W) *.==========> *. Special fast filling routine for COMIS *. All calls to HFILL point initially to this routine *..=========> ( R.Brun ) #include "hbook/pilot.h" #include "hbook/hcbook.inc" #include "hbook/hcbits.inc" #include "hbook/hcfast.inc" EXTERNAL HKFI1,HKFFI1,HKFF2,HKFILPF,HKFIL2,HKNULI *.___________________________________________ LINABS=ABS(LINE) CALL HFILL(ID1,X,Y,W) IDPOS=LOCATI(IQ(LTAB+1),IQ(LCDIR+KNRH),ID1) IF(IDPOS.LE.0)THEN CALL CSHFAST(LINABS,HKNULI) RETURN ENDIF * IF(I1.NE.0)THEN * * 1-DIM HISTOGRAM OR PROFILE * IF(I8.EQ.0)THEN IF(I5.EQ.0.AND.I6.EQ.0.AND.I7.EQ.0)THEN IF(LINE.GT.0.AND.LINE.LT.1000)THEN NID(LINE)=0 CALL CSHFAST(LINABS,HKFFI1) ELSE CALL CSHFAST(LINABS,HKFI1) ENDIF ELSE CALL CSHFAST(LINABS,HKFI1) ENDIF ELSE CALL CSHFAST(LINABS,HKFILPF) ENDIF ELSE * * 2-DIM HISTOGRAM * IF(LQ(LCID-2).EQ.0.AND.LQ(LCID-3).EQ.0.AND.LQ(LCID-4).EQ.0.AND. + LQ(LCID-5).EQ.0.AND.LQ(LCID-6).EQ.0.AND.LQ(LCID-2).EQ.0)THEN IF(LINE.GT.0.AND.LINE.LT.1000)THEN NID(LINE)=0 CALL CSHFAST(LINABS,HKFF2) ELSE CALL CSHFAST(LINABS,HKF2) ENDIF ELSE CALL CSHFAST(LINABS,HKFIL2) ENDIF ENDIF END debian/add-ons/hbook/pilot.h0000644000000000000000000000454412205656264013134 0ustar #if defined(CERNLIB_VAX) #if defined(CERNLIB_QMALPH) #ifndef CERNLIB_ALPHA #define CERNLIB_ALPHA #endif #endif #endif #if defined(CERNLIB_QMVAOS) #ifndef CERNLIB_ALPHA_OSF #define CERNLIB_ALPHA_OSF #ifndef CERNLIB_ALPHA #define CERNLIB_ALPHA #endif #endif #endif #if defined(CERNLIB_IBMMVS)||defined(CERNLIB_NEWLIB) #ifndef CERNLIB_IBM #define CERNLIB_IBM #endif #endif #if defined(CERNLIB_MSDOS) #ifndef CERNLIB_QF2C #define CERNLIB_QF2C #endif #endif #if defined(CERNLIB_IBM)||defined(CERNLIB_VAX)||defined(CERNLIB_NORD)||defined(CERNLIB_UNIVAC) #ifndef CERNLIB_DOUBLE #define CERNLIB_DOUBLE #endif #endif #if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_SINGLE)) #ifndef CERNLIB_DOUBLE #define CERNLIB_DOUBLE #endif #endif #if defined(CERNLIB_UNIX)||defined(CERNLIB_GNU)||defined(CERNLIB_QMALPH)||defined(CERNLIB_WINNT)||defined(CERNLIB_QF2C) #ifndef CERNLIB_BSLASH #define CERNLIB_BSLASH #endif #endif #if (defined(CERNLIB_APOLLO)||defined(CERNLIB_VAX)||defined(CERNLIB_UNIX)||defined(CERNLIB_IBM))&&(!defined(CERNLIB_IPSC))&&(!defined(CERNLIB_MSDOS)) #ifndef CERNLIB_CZ #define CERNLIB_CZ #endif #endif #if (defined(CERNLIB_APOLLO)||defined(CERNLIB_UNIX))&&(!defined(CERNLIB_CRAY))&&(!defined(CERNLIB_IPSC))&&(!defined(CERNLIB_MSDOS)) #ifndef CERNLIB_HMMAP #define CERNLIB_HMMAP #endif #endif #if defined(CERNLIB_UNIX)||defined(CERNLIB_MSDOS)||(defined(CERNLIB_WINNT) && !defined(CERNLIB_MSSTDCALL)) # ifndef CERNLIB_QX_SC # define CERNLIB_QX_SC # endif #endif #if defined(CERNLIB_APOLLO)||defined(CERNLIB_CONVEX) #ifndef CERNLIB_BSD #define CERNLIB_BSD #endif #endif #if defined(CERNLIB_SUN) # if defined(CERNLIB_SOLARIS) # ifndef CERNLIB_SYS5 # define CERNLIB_SYS5 # endif # else # ifndef CERNLIB_BSD # define CERNLIB_BSD # endif # endif #endif #if defined(CERNLIB_IBMRT)||defined(CERNLIB_DECS)||defined(CERNLIB_HPUX)||defined(CERNLIB_SGI)||defined(CERNLIB_AIX370)||defined(CERNLIB_IPSC)||defined(CERNLIB_LINUX) #ifndef CERNLIB_SYS5 #define CERNLIB_SYS5 #endif #endif #if defined(CERNLIB_IBM)||defined(CERNLIB_VAX)||defined(CERNLIB_AIX370)||defined(CERNLIB_NORD)||defined(CERNLIB_UNIVAC) #ifndef CERNLIB_NO_IEEE #define CERNLIB_NO_IEEE #endif #endif #ifdef CERNLIB_MSSTDCALL # define VISUAL_CPLUSPLUS # ifndef CERNLIB_QXCAPT # define CERNLIB_QXCAPT # endif # ifndef type_of_call # define type_of_call _stdcall # endif #endif #ifndef type_of_call # define type_of_call #endif debian/add-ons/hbook/hcbook.inc0000644000000000000000000000241512205656264013567 0ustar * * $Id: hcbook.inc,v 1.1.1.1 1996/01/16 17:07:51 mclareni Exp $ * * $Log: hcbook.inc,v $ * Revision 1.1.1.1 1996/01/16 17:07:51 mclareni * First import * * #ifndef CERNLIB_HBOOK_HCBOOK_INC #define CERNLIB_HBOOK_HCBOOK_INC * * * hcbook.inc * *CMZ : 4.19/01 30/04/93 17.22.15 by Rene Brun *-- Author : INTEGER NWPAW,IXPAWC,IHDIV,IXHIGZ,IXKU, LMAIN REAL FENC , HCV COMMON/PAWC/NWPAW,IXPAWC,IHDIV,IXHIGZ,IXKU,FENC(5),LMAIN,HCV(9989) INTEGER IQ ,LQ REAL Q DIMENSION IQ(2),Q(2),LQ(8000) EQUIVALENCE (LQ(1),LMAIN),(IQ(1),LQ(9)),(Q(1),IQ(1)) INTEGER HVERSN,IHWORK,LHBOOK,LHPLOT,LGTIT,LHWORK, +LCDIR,LSDIR,LIDS,LTAB,LCID,LCONT,LSCAT,LPROX,LPROY,LSLIX, +LSLIY,LBANX,LBANY,LPRX,LPRY,LFIX,LLID,LR1,LR2,LNAME,LCHAR,LINT, +LREAL,LBLOK,LLBLK,LBUFM,LBUF,LTMPM,LTMP,LTMP1,LHPLIP,LHDUM, +LHFIT,LFUNC,LHFCO,LHFNA,LCIDN COMMON/HCBOOK/HVERSN,IHWORK,LHBOOK,LHPLOT,LGTIT,LHWORK, +LCDIR,LSDIR,LIDS,LTAB,LCID,LCONT,LSCAT,LPROX,LPROY,LSLIX, +LSLIY,LBANX,LBANY,LPRX,LPRY,LFIX,LLID,LR1,LR2,LNAME,LCHAR,LINT, +LREAL,LBLOK,LLBLK,LBUFM,LBUF,LTMPM,LTMP,LTMP1,LHPLIP,LHDUM(9), +LHFIT,LFUNC,LHFCO,LHFNA,LCIDN * #include "hbook/hck.inc" #endif debian/add-ons/hbook/hcfast.inc0000644000000000000000000000062312205656264013571 0ustar * * $Id: hcfast.inc,v 1.1.1.1 1996/01/16 17:07:50 mclareni Exp $ * * $Log: hcfast.inc,v $ * Revision 1.1.1.1 1996/01/16 17:07:50 mclareni * First import * * #ifndef CERNLIB_HBOOK_HCFAST_INC #define CERNLIB_HBOOK_HCFAST_INC * * * hcfast.inc * *CMZ : 4.21/08 14/02/94 17.19.04 by Rene Brun *-- Author : Rene Brun 14/02/94 PARAMETER (NIDMAX=1000) COMMON/HCFAST/NID(NIDMAX) #endif debian/add-ons/hbook/hcbits.inc0000644000000000000000000000155012205656264013575 0ustar * * $Id: hcbits.inc,v 1.1.1.1 1996/01/16 17:07:51 mclareni Exp $ * * $Log: hcbits.inc,v $ * Revision 1.1.1.1 1996/01/16 17:07:51 mclareni * First import * * #ifndef CERNLIB_HBOOK_HCBITS_INC #define CERNLIB_HBOOK_HCBITS_INC * * * hcbits.inc * *CMZ : 4.19/00 13/04/93 16.36.40 by Rene Brun *-- Author : INTEGER I1, I2, I3, I4, I5, I6, I7, I8, + I9, I10, I11, I12, I13, I14, I15, I16, +I17, I18, I19, I20, I21, I22, I23, I24, I25, I26, I27, +I28, I29, I30, I31, I32, I33, I34, I35, I123, I230 COMMON / HCBITS / I1, I2, I3, I4, I5, I6, I7, I8, + I9, I10, I11, I12, I13, I14, I15, I16, +I17, I18, I19, I20, I21, I22, I23, I24, I25, I26, I27, +I28, I29, I30, I31, I32, I33, I34, I35, I123, I230 * #endif debian/add-ons/Makefile0000644000000000000000000001311312205656264012162 0ustar NEEDS_MAKEFILE = cfortran pawlib paw_motif scripts LIB_PACKAGES = pawlib paw_motif BIN_PACKAGES = pawlib prefix = /usr/local datadir = $(prefix)/share include $(datadir)/cernlib/cernlib.mk cernlib-arch-local: cernlib-static cernlib-indep-local: cernlib-scripts # we need to do this rather than using the scripts Makefile, # which (stupidly) calls install -s [strip] on shell scripts cernlib-scripts: patch set -e ; \ mkdir -p $(CERN_BINDIR) ; \ install -p -m 0755 $(CVSCOSRC)/scripts/paw $(CERN_BINDIR) # also, we want to add a paw-demos script sed -e 's,@DATADIR@,$(datadir),g' $(ADDONDIR)/bin/paw-demos.in \ > $(CERN_BINDIR)/paw-demos && \ chmod a+x $(CERN_BINDIR)/paw-demos # Build statically linked programs for *-static packages. # these will be linked dynamically against system libraries, but # statically against cernlib libraries. # This is not necessary on non-Linux archs where I can't yet compile shlibs # so everything is statically linked anyway. cernlib-static: set -e ; \ [ -d $(CERN_SHLIBDIR) ] || exit 0 ; \ gfortran $(CERN_BUILDDIR)/pawlib/paw/programs/0pamain.o \ `cernlib -G X11 pawlib` -Wl,-E -o $(CERN_BINDIR)/pawX11.static;\ gfortran $(CERN_BUILDDIR)/pawlib/paw/programs/0pamainm.o \ `cernlib -G Motif pawlib` -Wl,-E -o $(CERN_BINDIR)/paw++.static # target to install include files for development packages install-includes: install -d -m 0755 $(DESTDIR)$(includedir) # install them all (patching includes, e.g. #include "ksys.h" # -> #include ) for dir in `cat $(ADDONDIR)/includelist.txt` ; do \ basedir=`basename $$dir` ; \ rm -rf $(DESTDIR)$(includedir)/$$basedir ; \ cp -Rp $(CVSCOSRC)/$$dir $(DESTDIR)$(includedir) ; \ ls -1 $(DESTDIR)$(includedir)/$$basedir/* | \ egrep -v '\.(h|inc)$$' | xargs rm -rf ; \ for file in `ls -1 $(DESTDIR)$(includedir)/$$basedir/*` ; do \ if [ -f $$file ] ; then \ sed -e 's,^\([ ]*#[ ]*include\)[ ]*"\([^"/]*\)",\1 <'$$basedir/'\2>,g' \ -e 's,^\([ ]*#[ ]*include\)[ ]*"\([^"]*\)",\1 <\2>,g' \ -e 's,cfortran/,,g' \ $$file > $$file.tmp ; \ mv -f $$file.tmp $$file ; \ fi ; \ done ; \ done # move $(includedir)/ntuple to $(includedir)/paw/ntuple rm -rf $(DESTDIR)$(includedir)/paw/ntuple mv -f $(DESTDIR)$(includedir)/ntuple $(DESTDIR)$(includedir)/paw/ for file in `ls -1 $(DESTDIR)$(includedir)/paw/ntuple/*` ; do \ sed -e 's,]*\)>,,g' $$file \ > $$file.tmp ; \ mv -f $$file.tmp $$file ; \ done # install still more include files install -p -m 0644 $(CVSCOSRC)/cfortran/paw.h $(DESTDIR)$(includedir)/ install -p -m 0644 $(CVSCOSRC)/cfortran/comis.h $(DESTDIR)$(includedir)/ install -p -m 0644 $(CVSCOSRC)/car/paw.car $(DESTDIR)$(includedir)/ # a few more needed patches sed '/^#include/s,../comis/,,' $(DESTDIR)$(includedir)/paw/pawsiz.inc \ > $(DESTDIR)$(includedir)/paw/pawsiz.inc.tmp && \ mv -f $(DESTDIR)$(includedir)/paw/pawsiz.inc.tmp \ $(DESTDIR)$(includedir)/paw/pawsiz.inc # target to install files in arch-dependent packages install-arch: install-includes install -d -m 0755 $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) \ $(DESTDIR)$(datadir)/pixmaps \ $(DESTDIR)$(sysconfdir)/X11/app-defaults \ $(DESTDIR)$(man1dir) # install binaries for binary in paw++ pawX11 ; do \ install -p -m 0755 $(CERN_BINDIR)/$$binary \ $(DESTDIR)$(bindir)/ ; \ done # install libraries install -p -m 0644 $(CERN_LIBDIR)/*.a $(DESTDIR)$(libdir)/ # we go through the following rigmarole because "install" dereferences # symlinks and older GNU versions of "cp" have inconsistent # syntax for the short form of the --no-dereference flag set -e ; \ if [ -d $(CERN_SHLIBDIR) ] ; then \ ( abslibdir="`cd $(DESTDIR)$(libdir)/ && pwd`" ; \ cd $(CERN_SHLIBDIR)/ ; \ for file in `ls | grep 'lib.*\..*\..*\.'` ; do \ basename=`echo $$file | cut -f 1 -d .` ; \ install -p -m 0644 $$file "$$abslibdir/" ; \ for link in `ls $${basename}.* |grep -v 'lib.*\..*\..*\.'`; do \ ln -sf $$file "$$abslibdir"/$$link ; \ done ; \ done ) ; \ fi # install man pages for binary in paw paw++ pawX11 ; \ do \ install -p -m 0644 $(ADDONDIR)/manpages/$$binary.1 \ $(DESTDIR)$(man1dir)/ ; \ done # separate static and dynamically linked binaries set -e ; \ for prog in pawX11 paw++ ; do \ if [ -x $(CERN_BINDIR)/$$prog.static ] ; then \ mv -f $(DESTDIR)$(bindir)/$$prog \ $(DESTDIR)$(bindir)/$$prog.dynamic ; \ install -p $(CERN_BINDIR)/$$prog.static \ $(DESTDIR)$(bindir)/$$prog.static ; \ ln -sf $$prog.static $(DESTDIR)$(bindir)/$$prog ; \ fi ; \ done # target to install files in arch-independent packages install-indep: install -d -m 0755 $(DESTDIR)$(bindir) \ $(DESTDIR)$(sysconfdir)/X11/app-defaults \ $(DESTDIR)$(includedir) $(DESTDIR)$(datadir)/paw-demos \ $(DESTDIR)$(datadir)/pixmaps $(DESTDIR)$(man1dir) # Install paw demos install -p -m 0644 $(CVSCOSRC)/pawlib/paw/demo/* \ $(DESTDIR)$(datadir)/paw-demos/ install -p -m 0755 $(ADDONDIR)/bin/clean_demo \ $(DESTDIR)$(datadir)/paw-demos/ # ... and X11 app-defaults install -p -m 0644 $(ADDONDIR)/app-defaults/* \ $(DESTDIR)$(sysconfdir)/X11/app-defaults/ # ... and PAW icon install -p -m 0644 $(ADDONDIR)/icons/paw*.xpm \ $(DESTDIR)$(datadir)/pixmaps/ # ... and scripts + man pages for script in paw paw-demos ; do \ install -p -m 0755 $(CERN_BINDIR)/$$script \ $(DESTDIR)$(bindir)/ ; \ done for manpage in paw paw-demos paw++ pawX11 ; do \ install -p -m 0644 $(ADDONDIR)/manpages/$$manpage.1 \ $(DESTDIR)$(man1dir)/ ; \ done .PHONY: cernlib-arch-local cernlib-indep-local cernlib-static cernlib-scripts \ install install-arch install-includes install-indep debian/add-ons/INSTALL0000644000000000000000000000210312205656264011550 0ustar PAW INSTALLATION To install: 1) Install the libraries required by CERNLIB and PAW... see PREREQUISITES below. 2) from the top-level PAW source directory: cp debian/add-ons/Makefile . 3) Then: Debian GNU/Linux ---------------- To produce Debian packages: $ fakeroot debian/rules binary [wait a couple hours] $ sudo dpkg -i ../*.deb Other Linux, Unix or Mac OS X ----------------------------- $ make prefix=/usr/local sysconfdir=/etc [wait a couple hours] sudo make prefix=/usr/local sysconfdir=/etc install PREREQUISITES - On Debian GNU/Linux, have the following packages and their dependencies installed: dpatch, patch, mawk (or gawk), xutils (for imake), debhelper, gfortran, cfortran, x-dev, libxt-dev, libx11-dev, lesstif2-dev, refblas3-dev, lapack3-dev, libmathlib2-dev, libgraflib1-dev, libgrafx11-1-dev, libpacklib1-dev, kuipc, cernlib-base, fakeroot, build-essential, libxbae-dev, libxaw7-dev - On other distributions, translate package names to suit. - You need to have installed base CERNLIB packages from version 2006.dfsg compiled against gfortran. debian/add-ons/misc/0000755000000000000000000000000012205656264011456 5ustar debian/add-ons/misc/comis-64bit-example.F0000644000000000000000000001041012205656264015252 0ustar PROGRAM COMIS64BITEXAMPLE c Using COMIS safely on 64-bit architectures. This example will c call the BESI0 function in mathlib and the ERFC intrinsic using c COMIS, and show some of the complications of using COMIS on c AMD64/EM64t/Itanium. Generally one would use COMIS to interpret c or compile a separate file of FORTRAN 77 code, rather than using c it as a FORTRAN version of dlopen(), but that would make this c example too complicated. c c Compile with: c gfortran -Wall comis-64bit-example.F `cernlib pawlib mathlib` c c See also /usr/share/doc/libpawlib2-dev/README.64-bit c and /usr/share/doc/libpawlib2-dev/README.Debian c and the COMIS documentation at c http://wwwasdoc.web.cern.ch/wwwasdoc/comis/comimain.html c Variable declarations IMPLICIT NONE EXTERNAL CSADDR, CSEXT, CSINIT, CSRJCL, CSSETL, HLIMIT c Functions we wish to pass to COMIS must be declared EXTERNAL c (even MYERFC which is defined below in this file). EXTERNAL BESI0, MYERFC REAL BESI0, CSRJCL, MYERFC, fparameter, fresult, r(1) INTEGER CSADDR, naddr c We put the fparameter variable in a COMMON block for the benefit c of 64-bit architectures, since it will be passed to a COMIS c routine (CSRJCL). COMIS is not able to deal well c with pointers outside of a program's data segment. For the same c reason, this program must be *statically* linked to the CERN c libraries (the "cernlib" linking command in Debian outputs the c necessary linker flags to do so). COMMON/BLOCK64/ fparameter c Set up COMIS; the following two lines are probably needed in c this order in just about any COMIS program. CALL HLIMIT(10000) CALL CSINIT(10000) c Tell COMIS that we want to use an external library function, c BESI0 (the zeroth-order Bessel function in Mathlib). The c COMIS documentation claims we could do it like this: c c CALL CSEXT('BESI0.R#', BESI0) c c ... but in reality, dummy "r" arguments are required to fill out c all eleven arguments to CSEXT() because gfortran will otherwise c pass the length of the string 'BESI0.R#' in the wrong position. c No, FORTRAN 77 doesn't really have variadic functions. CALL CSEXT('BESI0.R#', BESI0, r,r,r,r,r,r,r,r,r) c Get address of the BESI0 function naddr = CSADDR('BESI0') c Print the value of BESI0(2.0) using COMIS fparameter = 2.0 fresult = CSRJCL(naddr, 1, fparameter) WRITE (*, *) '*** Using BESI0 routine called via COMIS' WRITE (*, 1000) fresult WRITE (*, *) ' ' c For comparison, print BESI0(2.0) calling the routine directly fresult = BESI0(fparameter) WRITE (*, *) '*** Using BESI0 routine called directly' WRITE (*, 1000) fresult WRITE (*, *) ' ' c Another CSEXT call. In principle we would insert ERFC in here, c but the compile command at top will link against libg2c c dynamically. As a function in a shared library, the address of c ERFC will be outside of COMIS' range on some 64-bit architectures. c Hence we instead have to use a locally defined wrapper function, c MYERFC (see below). CALL CSEXT('ERFC.R#', MYERFC, r,r,r,r,r,r,r,r,r) c But note that we've tricked COMIS into thinking the function c really is named ERFC, so we can get its address this way: naddr = CSADDR('ERFC') c N.B. we could have combined the CSEXT calls for BESI0 and MYERFC c earlier, like thus: c c CALL CSEXT('BESI0.R,ERFC.R#', BESI0, MYERFC, r,r,r,r,r,r,r,r) c Print the value of ERFC(2.0) using COMIS fresult = CSRJCL(naddr, 1, fparameter) WRITE (*, *) '*** Using MYERFC routine called via COMIS' WRITE (*, 1001) fresult WRITE (*, *) ' ' c For comparison, print ERFC(2.0) calling the routine directly fresult = ERFC(fparameter) WRITE (*, *) '*** Using ERFC routine called directly' WRITE (*, 1001) fresult WRITE (*, *) ' ' 1000 FORMAT ('Output of BESI0(2.0) is ', F5.3) 1001 FORMAT ('Output of ERFC(2.0) is ', F5.3) END c The wrapper function MYERFC, as promised above: REAL FUNCTION MYERFC(x) REAL x c this just calls the ERFC intrinsic defined in gfortran's library MYERFC = ERFC(x) END debian/add-ons/misc/paw++.desktop0000644000000000000000000000046212205656264013770 0ustar [Desktop Entry] Version=1.0 Name=Paw++ (Physics Analysis Workstation) GenericName=Experimental Data Analysis Comment=Analyze and graphically present experimental data Comment[en_GB]=Analyse and graphically present experimental data Type=Application Exec=paw++ Icon=paw Categories=Physics;Science;Graphics; debian/add-ons/bin/0000755000000000000000000000000012205656264011273 5ustar debian/add-ons/bin/paw-demos.in0000755000000000000000000000501512205656264013523 0ustar #!/bin/sh # Short script to run the paw demos in the paw-demos package # This script is (C) Kevin B. McCarty, 2003 # and is licensed under the GNU General Public License. print_help() { cat <<- EOF Usage: paw-demos [options] [ []] Options: --batch Runs in batch mode; output to PS. --clean Clean the demo directory. --display Use display (default is $DISPLAY). --driver Calls paw instead of paw. --dir Create/use demo directory relative to \$HOME. (Default demo directory is paw-demos.) the number of the example to start with; examples are skipped if example_num > 31. the number of the test to start with; tests are skipped if test_num > 8. EOF exit 0 } PAW_DRV="" DEMO_DIR="$HOME"/paw-demos SOURCE_DIR="@DATADIR@"/paw-demos while [ "$#" -gt 0 ] ; do case "$1" in --clean) CLEAN_PAW=yes ;; --display) shift; XDISPLAY="$1" ;; --driver) shift; PAW_DRV="$1" ;; --dir) shift; DEMO_DIR=$HOME/"$1" ;; --batch) BATCH_MODE=B ;; -*) print_help ;; *) if [ -z "$EXAMPLE_NUM" ] ; then EXAMPLE_NUM=$1 elif [ -z "$TEST_NUM" ] ; then TEST_NUM=$1 else print_help fi ;; esac shift done if [ -e "$DEMO_DIR" ] && [ ! -d "$DEMO_DIR" ] ; then echo "The file $DEMO_DIR exists, but is not a directory." echo "Please move or rename it in order to run the paw-demos script." echo "(Or use the --dir option to the script to select a different" echo "directory.)" exit 1 elif [ ! -e "$DEMO_DIR" ] ; then mkdir -p "$DEMO_DIR" cp "$SOURCE_DIR"/* "$DEMO_DIR" fi cd "$DEMO_DIR" if [ ! -e clean_demo ] ; then echo "The program clean_demo does not exist in the directory" echo "$DEMO_DIR. Perhaps that directory wasn't" echo "originally created by this script? Try moving or renaming it," echo "then run the paw-demos script again." exit 1 fi chmod a+x clean_demo ./clean_demo 2> /dev/null [ "$CLEAN_PAW" ] && exit 0 [ -z "$TEST_NUM" ] && TEST_NUM=0 [ -z "$EXAMPLE_NUM" ] && EXAMPLE_NUM=1 [ "$PAW_DRV" = ++ ] || PAW_FLAGS="-w 1" [ "$BATCH_MODE" ] && PAW_FLAGS="-w 0" [ "$XDISPLAY" ] || XDISPLAY="$DISPLAY" # make sure PAW uses the right display sed 's/0\.0/'"$XDISPLAY"'/g' "$SOURCE_DIR"/higz_windows.dat \ > ./higz_windows.dat echo "filecase convert" > pawlogon.kumac echo "Exec ALL $EXAMPLE_NUM $TEST_NUM $BATCH_MODE" >> pawlogon.kumac exec paw$PAW_DRV $PAW_FLAGS debian/add-ons/bin/clean_demo0000755000000000000000000000050412205656264013306 0ustar #!/bin/sh # This script is provided to clean the demo directory. You can call it # by running "paw-demos --clean" [see paw-demos(1)] or by cd'ing to # the demo directory and running it directly: "./clean_demo" rm junk rm *.hbook rm last* rm *.metafile rm *.mask rm *.higz rm *.data rm pawtest.f rm pawmlp.f rm -rf linux/ debian/add-ons/paw/0000755000000000000000000000000012205656264011312 5ustar debian/add-ons/paw/tree.h0000644000000000000000000000011212205656264012414 0ustar /* Stub file for API backwards compatibility */ #include debian/add-ons/paw/converter.h0000644000000000000000000000025312205656264013472 0ustar /* Stub file for API backwards compatibility */ #include #ifndef XrdmCvtStringToGravity #define XrdmCvtStringToGravity XmuCvtStringToGravity #endif debian/add-ons/includelist.txt0000644000000000000000000000010712205656264013601 0ustar pawlib/comis/comis pawlib/paw/ntuple pawlib/paw/paw pawlib/sigma/sigma debian/add-ons/manpages/0000755000000000000000000000000012205656264012316 5ustar debian/add-ons/manpages/pawX11.10000644000000000000000000000001712205656264013457 0ustar .so man1/paw.1 debian/add-ons/manpages/paw.10000644000000000000000000000713612205656264013176 0ustar .\"* .\"* $Id: unix.man,v 1.3 2000/10/24 07:29:51 couet Exp $ .\"* .\"* $Log: unix.man,v $ .\"* Revision 1.3 2000/10/24 07:29:51 couet .\"* - PAW web pages URL updated .\"* .\"* Revision 1.2 1999/09/29 14:57:20 couet .\"* - WWW adress was incorect .\"* .\"* Revision 1.1.1.1 1996/03/01 11:38:51 mclareni .\"* Paw .\"* .\"* .\"#if defined(CERNLIB_UNIX) .\"*CMZ : 07/11/95 18.53.50 by Timo Hakulinen .\"*-- Author : O.Couet 11/04/95 .TH PAW 1 "Physics Analysis Workstation" .SH NAME paw \- invoke the "Physics Analysis Workstation" package .SH SYNOPSIS paw [\-b \fImacro_name\fR] [\-w \fIworkstation_type\fR] [\-n] paw++ [\-b \fImacro_name\fR] [\-n] .SH DESCRIPTION PAW is an interactive utility for visualizing experimental data on a computer graphics display. It may be run in batch mode if desired for very large and time consuming data analyses; typically, however, the user will decide on an analysis procedure interactively before running a batch job. PAW combines a handful of CERN High Energy Physics Library systems that may also be used individually in software that processes and displays data. The purpose of PAW is to provide many common analysis and display procedures that would be duplicated needlessly by individual programmers, to supply a flexible way to invoke these common procedures, and yet also to allow user customization where necessary. Paw++ is a Motif-based version of PAW. .SS OPTIONS When .B paw starts, the macro .B pawlogon.kumac in the current directory is executed. If this macro doesn't exist the system tries to execute the macro .B .pawlogon.kumac in the home directory. .TP 8 .RI \-n The macro \fIpawlogon\fR is not executed. .TP 8 .RI \-b \ macro_name The macro specified is executed in batch mode and .B paw exits when the macro ends. .TP 8 .RI \-w \ workstation_type PAW starts immediately without prompting for the workstation type. If workstation_type = 0, paw starts without graphics. When the X11 version of paw is used, a list of 10 valid workstation types is provided in the file .B higz_windows.dat. By default this file is in the current directory. If it is not, the one in the home directory is used. If it is not in the home directory, one is automatically created in the current directory. Each line in this file describes the position and the size of the window. To access one of the described windows it is enough to give the line number in reply to the prompt "Workstation type" .SH ENVIRONMENT VARIABLES .TP 20 HIGZPRINTER Specifies the command line executed when the command PICTURE/PRINT is invoked. .TP 20 KUIPPAGER, PAGER Checked in this order to determine what pager program to use. If neither are set, 'sensible\-pager' is used in Debian. .TP 20 KUIPEDITOR, EDITOR Checked in this order to determine what editor to use. If neither are set, 'sensible\-editor' is used in Debian. .TP 20 KUIPPSVIEWER, PSVIEWER Checked in this order to determine the program to use for viewing PostScript. If neither are set, 'gv' is used. .TP 20 $ENV() Any environment variable can be accessed in paw with the function .B $ENV(). .SH SEE ALSO \[bu] the online help (PAW command HELP) .br \[bu] the WWW pages: http://cern.ch/paw/ .br \[bu] the tutorial: http://cern.ch/paw/tutorial/ .br \[bu] the FAQ: http://wwwasd.web.cern.ch/wwwasd/cgi-bin/listpawfaqs.pl .br \[bu] the reference manual: http://cern.ch/paw/reference_manual/ .br .RB \[bu] " kuesvr" (1) \- the KUIP edit server .br .RB \[bu] " kxterm" (1) \- the program used by Paw++ as a command interface .br .RB \[bu] " pawserv" (8) \- a server that listens for remote PAW connections .SH COPYRIGHT (C) Copyright CERN, Geneva 1995. .\"#endif debian/add-ons/manpages/paw++.10000644000000000000000000000001712205656264013313 0ustar .so man1/paw.1 debian/add-ons/manpages/paw-demos.10000644000000000000000000000434712205656264014304 0ustar .\" Hey, EMACS: -*- nroff -*- .TH PAW\-DEMOS 1 "April 23, 2003" .\" Please adjust this date whenever revising the manpage. .\" .SH NAME paw\-demos \- run PAW demonstrations .SH SYNOPSIS .B paw\-demos .RI [ options "] [" example_num " [" test_num ]] .SH DESCRIPTION .PP \fBpaw\-demos\fP is a script to run the demonstrations of PAW in the paw\-demos package. It will create a demo directory (by default .IR $HOME/paw\-demos ), copy the demos from .I /usr/share/paw\-demos to this directory, and run them. Both examples and tests are available. .PP .I example_num is the number of the example to start with; examples are skipped if .I example_num > 31. .I test_num is the number of the test to start with; tests are skipped if .I test_num > 8. Note that the first example is numbered 1 but the first test is numbered 0. .SH OPTIONS .TP .B \-\-batch Run demos in batch mode; output to PostScript. The resulting output files are placed into a "linux" subdirectory of the demo directory. .TP .B \-\-clean Clean the demo directory given by the \-\-dir option (or the default directory if \-\-dir is not given). This option causes .IR example_num ", " test_num , \-\-batch, and \-\-driver to be ignored. .TP .BI "\-\-dir " dir Specify the directory in which to run the PAW demos, relative to $HOME. If it does not already exist, it will be created and the demos copied to it from the directory /usr/share/doc/paw-demos/examples. The default is .IR $HOME/paw-demos . .TP .BI "\-\-display " display Specify the display to use. The default is the current value of the $DISPLAY environment variable. .TP .BI "\-\-driver " driver Specify a graphics driver. Available options are "X11" for pawX11 and "++" for paw++. .TP .B \-\-help Show a summary of options. .SH FILES .PP .I /usr/share/paw-demos contains the PAW demonstrations. .br .I $HOME/paw-demos is the default directory in which to run the demos. .SH SEE ALSO .PP .BR paw "(1), " paw++ (1) .SH AUTHOR This manual page and the paw-demos script that it describes were written by Kevin McCarty for the Debian GNU/Linux system (but may be used by others). The demos themselves were written by various PAW contributors. .SH COPYRIGHT (C) Copyright Kevin McCarty, 2003. debian/add-ons/app-defaults/0000755000000000000000000000000012205656264013110 5ustar debian/add-ons/app-defaults/Paw++0000644000000000000000000000347012205656264013714 0ustar ! Set some geometric constraints on UI widgets. ! DO NOT remove or change the following six lines, or the Paw++ GUI ! will become buggy! Paw++*kuipBrowser*fileScWindow.width: 100 Paw++*kuipBrowser*fileScWindow.bottomOffset: 52 Paw++*kuipBrowser*fileScWindow.topOffset: 59 Paw++*kuipBrowser*dirScWindow.bottomOffset: 52 Paw++*kuipBrowser*dirScWindow.topOffset: 59 Paw++*kuipBrowser*separatorGadget1.topPosition: 50 ! Use light gray widgets with a white-background file browser Paw++*background: gray Paw++*dirlist*background: white Paw++*foreground: black ! use decent fonts Paw++*XmText*fontList: *-courier-medium-r-normal-*-120-* Paw++*XmTextField*fontList: *-courier-medium-r-normal-*-120-* Paw++*kxtermFont: *-helvetica-medium-r-normal-*-120-* Paw++*kxtermTextFont: *-courier-medium-r-normal-*-120-* Paw++*dirlist*fontList: *-helvetica-medium-r-normal-*-120-* Paw++*matrix.fontList: *-helvetica-medium-r-normal-*-120-* Paw++*helpFont: *-courier-medium-r-normal-*-120-* Paw++*fontList: *-helvetica-medium-r-normal-*-120-* ! some color for the browser icons: ! directory-like things Paw++*dirlist*dir*iconForeground: blue Paw++*dirlist*DirFile*iconForeground: blue Paw++*dirlist*DirUpFile*iconForeground: blue Paw++*dirlist*Menu*iconForeground: blue ! executable-like things Paw++*dirlist*Cmd*iconForeground: turquoise Paw++*dirlist*MacFile*iconForeground: turquoise Paw++*dirlist*ExFile*iconForeground: turquoise ! disabled things Paw++*dirlist*InvCmd*iconForeground: gray Paw++*dirlist*NoFile*iconForeground: gray ! various colors for histograms and ntuples Paw++*dirlist*1d*iconForeground: DarkGoldenrod3 Paw++*dirlist*2d*iconForeground: DeepPink3 Paw++*dirlist*ntuple*iconForeground: SteelBlue3 Paw++*dirlist*pict*iconForeground: green4 Paw++*dirlist*chain*iconForeground: blue Paw++*dirlist*entry*iconForeground: OrangeRed debian/add-ons/app-defaults/KxPaw++0000644000000000000000000000067012205656264014216 0ustar ! This file gives X defaults for KXterm when run by Paw++. ! Use light gray widgets instead of the hideous default blue KxPaw++*background: gray KxPaw++*dirlist*background: gray90 KxPaw++*foreground: black ! and decent fonts instead of "fixed" KxPaw++*fontList: *-helvetica-medium-r-normal*-120-* KxPaw++*XmText*fontList: *-courier-medium-r-normal*-120-* ! and make the transcript pad a reasonable size KxPaw++*outputForm.height: 200 debian/add-ons/README0000644000000000000000000000242312205656264011404 0ustar Contents of this directory are copyright (C) Kevin B. McCarty, 2001-2007, except where noted otherwise. They are licensed under the GNU General Public License, version 2 or later, at your choice. A copy of the GNU GPL may be found on Debian systems at: /usr/share/common-licenses/GPL or on the Web at: http://www.gnu.org/copyleft/gpl.html This directory contains numerous patches and additions to the canonical version of PAW supplied by CERN. To compile PAW accordingly, copy the Makefile in this directory to the top-level PAW source directory and run make with whatever variables you like. This packaging of PAW adds support for: - shared libraries (Linux only) - Mac OS X compilation - Filesystem Hierarchy Standard: run make with these variables set: "make prefix=/usr sysconfdir=/etc mandir=/usr/share/man" - recursive dependency checking with a rewritten "cernlib" script - common GNU Makefile directories, e.g. $prefix, $datadir - nice X11 app-defaults - various other bug fixes Note that unlike the upstream version of PAW, which installs to $CERN/$CERN_LEVEL (e.g. /opt/cern/2003), this packaging of PAW will install binaries to /usr/local/bin, shared data to /usr/local/share, etc. Or change this by specifying $prefix with the "make" command. --Kevin McCarty, 15 February 2005