--- paw-2.14.04.dfsg.2.orig/debian/README.source +++ paw-2.14.04.dfsg.2/debian/README.source @@ -0,0 +1,50 @@ +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.) + --- paw-2.14.04.dfsg.2.orig/debian/compat +++ paw-2.14.04.dfsg.2/debian/compat @@ -0,0 +1 @@ +5 --- paw-2.14.04.dfsg.2.orig/debian/README.Debian-source +++ paw-2.14.04.dfsg.2/debian/README.Debian-source @@ -0,0 +1,68 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/copyright.in +++ paw-2.14.04.dfsg.2/debian/copyright.in @@ -0,0 +1,190 @@ +This package was debianized by Kevin B. McCarty . +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'. 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 --- paw-2.14.04.dfsg.2.orig/debian/addresstest.c +++ paw-2.14.04.dfsg.2/debian/addresstest.c @@ -0,0 +1,43 @@ +#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; +} + --- paw-2.14.04.dfsg.2.orig/debian/copyright +++ paw-2.14.04.dfsg.2/debian/copyright @@ -0,0 +1,196 @@ +This package was debianized by Kevin B. McCarty . +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'. 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 --- paw-2.14.04.dfsg.2.orig/debian/control +++ paw-2.14.04.dfsg.2/debian/control @@ -0,0 +1,158 @@ +Source: paw +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian QA Group +Standards-Version: 3.8.4 +Priority: optional +Section: science +Homepage: http://paw.web.cern.ch/paw/ +Build-Depends: dpkg-dev (>= 1.13.19), cernlib-base-dev (>= 2006.dfsg.2-7), dpatch (>= 2.0.9), patch, mawk | gawk, xutils-dev, debhelper (>= 6.0.12), gfortran (>= 4:4.3), cfortran (>= 4.4-12), x11proto-core-dev, libxt-dev, libx11-dev, lesstif2-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 + +Package: libpawlib-lesstif3-dev +Architecture: any +Section: libdevel +Conflicts: libpaw1-dev, libpawlib2-lesstif-dev +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), lesstif2-dev, libxbae-dev, libxaw7-dev, libpawlib-lesstif3-gfortran (= ${binary:Version}) +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 +Depends: ${shlibs: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}) +Replaces: libpaw1-dev +Conflicts: libpaw1-dev +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 +Depends: ${shlibs:Depends}, gfortran, netbase (>= 4.08) +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 +Section: science +Depends: ${shlibs:Depends}, paw-common, kxterm, gfortran, netbase (>= 4.08) +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 +Section: science +Depends: cernlib-base, netbase (>= 4.08) +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 +Section: science +Depends: paw | paw-binary +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 +Section: science +Depends: ${shlibs:Depends}, paw-common, gfortran, netbase (>= 4.08) +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. + --- paw-2.14.04.dfsg.2.orig/debian/deadpool.txt +++ paw-2.14.04.dfsg.2/debian/deadpool.txt @@ -0,0 +1,20 @@ +# 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 --- paw-2.14.04.dfsg.2.orig/debian/README.64-bit +++ paw-2.14.04.dfsg.2/debian/README.64-bit @@ -0,0 +1,47 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/changelog +++ paw-2.14.04.dfsg.2/debian/changelog @@ -0,0 +1,251 @@ +paw (1:2.14.04.dfsg.2-7ubuntu1) oneiric; urgency=low + + * Rename debian/debhelper to debian/dh to fix FTBFS. (LP: #852595) + (Closes: #640572) + + -- Daniel T Chen Mon, 19 Sep 2011 08:18:32 -0400 + +paw (1:2.14.04.dfsg.2-7build1) oneiric; urgency=low + + * gfortran-4.6 rebuild. + + -- Matthias Klose Sun, 11 Sep 2011 11:21:58 +0000 + +paw (1:2.14.04.dfsg.2-7) unstable; urgency=high + + * QA upload. + * High-urgency upload for RC bugfix. + * Mark as orphaned, per bug #552905; thanks to Kevin McCarthy for his past + maintenance! + * Build with -DGNU_SOURCE to pick up the definition of L_cuserid. + Closes: #552905. + * debian/patches/306-patch-assert.h-for-makedepend.dpatch, + debian/patches/705-patch-paw_motif-paw-Imakefiles.dpatch: clean up paths + in the patch, apparently dpatch behaves differently than in the past and + guesses wrong paths for newly-created files. + * Bump Standards-Version to 3.8.4. + * Drop call to obsolete dh_desktop helper. + + -- Steve Langasek Sun, 04 Apr 2010 17:21:19 +0000 + +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 --- paw-2.14.04.dfsg.2.orig/debian/rules +++ paw-2.14.04.dfsg.2/debian/rules @@ -0,0 +1,100 @@ +#!/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 ; \ + # Lintian overrides of spurious warnings + for file in `cd debian/lintian && ls -1` ; do \ + cp -p debian/lintian/$$file \ + debian/$$file/usr/share/lintian/overrides/ ; \ + done + 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 + --- paw-2.14.04.dfsg.2.orig/debian/add-ons/INSTALL +++ paw-2.14.04.dfsg.2/debian/add-ons/INSTALL @@ -0,0 +1,42 @@ +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. --- paw-2.14.04.dfsg.2.orig/debian/add-ons/includelist.txt +++ paw-2.14.04.dfsg.2/debian/add-ons/includelist.txt @@ -0,0 +1,4 @@ +pawlib/comis/comis +pawlib/paw/ntuple +pawlib/paw/paw +pawlib/sigma/sigma --- paw-2.14.04.dfsg.2.orig/debian/add-ons/README +++ paw-2.14.04.dfsg.2/debian/add-ons/README @@ -0,0 +1,31 @@ +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 + --- paw-2.14.04.dfsg.2.orig/debian/add-ons/Makefile +++ paw-2.14.04.dfsg.2/debian/add-ons/Makefile @@ -0,0 +1,162 @@ +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 + --- paw-2.14.04.dfsg.2.orig/debian/add-ons/misc/paw++.desktop +++ paw-2.14.04.dfsg.2/debian/add-ons/misc/paw++.desktop @@ -0,0 +1,10 @@ +[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; --- paw-2.14.04.dfsg.2.orig/debian/add-ons/misc/comis-64bit-example.F +++ paw-2.14.04.dfsg.2/debian/add-ons/misc/comis-64bit-example.F @@ -0,0 +1,113 @@ + 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 + --- paw-2.14.04.dfsg.2.orig/debian/add-ons/manpages/paw-demos.1 +++ paw-2.14.04.dfsg.2/debian/add-ons/manpages/paw-demos.1 @@ -0,0 +1,73 @@ +.\" 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. --- paw-2.14.04.dfsg.2.orig/debian/add-ons/manpages/pawX11.1 +++ paw-2.14.04.dfsg.2/debian/add-ons/manpages/pawX11.1 @@ -0,0 +1 @@ +.so man1/paw.1 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/manpages/paw.1 +++ paw-2.14.04.dfsg.2/debian/add-ons/manpages/paw.1 @@ -0,0 +1,128 @@ +.\"* +.\"* $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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/manpages/paw++.1 +++ paw-2.14.04.dfsg.2/debian/add-ons/manpages/paw++.1 @@ -0,0 +1 @@ +.so man1/paw.1 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/paw/tree.h +++ paw-2.14.04.dfsg.2/debian/add-ons/paw/tree.h @@ -0,0 +1,2 @@ +/* Stub file for API backwards compatibility */ +#include --- paw-2.14.04.dfsg.2.orig/debian/add-ons/paw/converter.h +++ paw-2.14.04.dfsg.2/debian/add-ons/paw/converter.h @@ -0,0 +1,5 @@ +/* Stub file for API backwards compatibility */ +#include +#ifndef XrdmCvtStringToGravity +#define XrdmCvtStringToGravity XmuCvtStringToGravity +#endif --- paw-2.14.04.dfsg.2.orig/debian/add-ons/hbook/hcbits.inc +++ paw-2.14.04.dfsg.2/debian/add-ons/hbook/hcbits.inc @@ -0,0 +1,27 @@ +* +* $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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/hbook/hcbook.inc +++ paw-2.14.04.dfsg.2/debian/add-ons/hbook/hcbook.inc @@ -0,0 +1,37 @@ +* +* $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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/hbook/hcfast.inc +++ paw-2.14.04.dfsg.2/debian/add-ons/hbook/hcfast.inc @@ -0,0 +1,21 @@ +* +* $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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/hbook/hkfill.F +++ paw-2.14.04.dfsg.2/debian/add-ons/hbook/hkfill.F @@ -0,0 +1,64 @@ +* +* $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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/hbook/pilot.h +++ paw-2.14.04.dfsg.2/debian/add-ons/hbook/pilot.h @@ -0,0 +1,108 @@ +#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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/hbook/hkf1q.F +++ paw-2.14.04.dfsg.2/debian/add-ons/hbook/hkf1q.F @@ -0,0 +1,41 @@ +* +* $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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/icons/paw32x32.xpm +++ paw-2.14.04.dfsg.2/debian/add-ons/icons/paw32x32.xpm @@ -0,0 +1,37 @@ +/* XPM */ +static char * paw2_xpm[] = { +"32 32 2 1", +" c None", +". c #000000", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . ", +" .. ", +" .. ", +" ...... ... .. .. ", +" .. .. ... .. .. ", +" .. .. . . . .. ", +" .. ... . .. . .. ", +" .. .. .. .. .. .. ", +" ..... .. . .. .. .. ", +" .. .. . . .. .. ", +" .. ... ... ..... .. ", +" .. ....... ... ... ", +" . .. . .. .. .. ", +" .... .. ... .. . ", +" .... ... ... . ", +" ... .. ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; --- paw-2.14.04.dfsg.2.orig/debian/add-ons/icons/command.xbm +++ paw-2.14.04.dfsg.2/debian/add-ons/icons/command.xbm @@ -0,0 +1,33 @@ +#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}; --- paw-2.14.04.dfsg.2.orig/debian/add-ons/icons/graphics.xbm +++ paw-2.14.04.dfsg.2/debian/add-ons/icons/graphics.xbm @@ -0,0 +1,33 @@ +#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}; --- paw-2.14.04.dfsg.2.orig/debian/add-ons/icons/browser.xbm +++ paw-2.14.04.dfsg.2/debian/add-ons/icons/browser.xbm @@ -0,0 +1,33 @@ +#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}; --- paw-2.14.04.dfsg.2.orig/debian/add-ons/icons/paw48x48.xpm +++ paw-2.14.04.dfsg.2/debian/add-ons/icons/paw48x48.xpm @@ -0,0 +1,53 @@ +/* XPM */ +static char * paw_xpm[] = { +"48 48 2 1", +" c None", +". c #000000", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . ", +" .. ", +" ... ", +" ... ", +" .... ", +" ..... .. .... ", +" ........... .... .... ... ", +" ... ... ..... .... ... ", +" .. ... .. .. .. ... ", +" .. ... .. .. .. ... ", +" .. .... .. .. . ... ", +" .. .... ... ... .. ... ", +" ... .. ... .. .. ... ", +" .... ... ... .. .. ... ... ", +" ....... ... .. ... ... ... ", +" .. ... .. .. .... ... ", +" .. .... ... .. .... ... ", +" .. ........... ..... ..... ", +" .. ........ ... .... .... ", +" .. ... .. ... ... .... ", +" ....... .. .... ... .. ", +" ...... ... ... .. .. ", +" ...... .... .... .. . ", +" .... .... ..... . ", +" ... ... ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; --- paw-2.14.04.dfsg.2.orig/debian/add-ons/bin/clean_demo +++ paw-2.14.04.dfsg.2/debian/add-ons/bin/clean_demo @@ -0,0 +1,16 @@ +#!/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/ --- paw-2.14.04.dfsg.2.orig/debian/add-ons/bin/paw-demos.in +++ paw-2.14.04.dfsg.2/debian/add-ons/bin/paw-demos.in @@ -0,0 +1,88 @@ +#!/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 + --- paw-2.14.04.dfsg.2.orig/debian/add-ons/app-defaults/Paw++ +++ paw-2.14.04.dfsg.2/debian/add-ons/app-defaults/Paw++ @@ -0,0 +1,49 @@ +! 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 --- paw-2.14.04.dfsg.2.orig/debian/add-ons/app-defaults/KxPaw++ +++ paw-2.14.04.dfsg.2/debian/add-ons/app-defaults/KxPaw++ @@ -0,0 +1,13 @@ +! 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 --- paw-2.14.04.dfsg.2.orig/debian/control.d/libpawlib-lesstif3-gfortran.control +++ paw-2.14.04.dfsg.2/debian/control.d/libpawlib-lesstif3-gfortran.control @@ -0,0 +1,18 @@ +Package: libpawlib-lesstif3-gfortran +Architecture: any +Section: libs +Depends: ${shlibs: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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/libpawlib-lesstif3-dev.control +++ paw-2.14.04.dfsg.2/debian/control.d/libpawlib-lesstif3-dev.control @@ -0,0 +1,18 @@ +Package: libpawlib-lesstif3-dev +Architecture: any +Section: libdevel +Conflicts: libpaw1-dev, libpawlib2-lesstif-dev +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), lesstif2-dev, libxbae-dev, libxaw7-dev, libpawlib-lesstif3-gfortran (= ${binary:Version}) +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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/paw.control +++ paw-2.14.04.dfsg.2/debian/control.d/paw.control @@ -0,0 +1,21 @@ +Package: paw +Architecture: any +Section: science +Depends: ${shlibs:Depends}, paw-common, gfortran, netbase (>= 4.08) +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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/0base.control +++ paw-2.14.04.dfsg.2/debian/control.d/0base.control @@ -0,0 +1,9 @@ +Source: paw +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian QA Group +Standards-Version: 3.8.4 +Priority: optional +Section: science +Homepage: http://paw.web.cern.ch/paw/ +Build-Depends: dpkg-dev (>= 1.13.19), cernlib-base-dev (>= 2006.dfsg.2-7), dpatch (>= 2.0.9), patch, mawk | gawk, xutils-dev, debhelper (>= 6.0.12), gfortran (>= 4:4.3), cfortran (>= 4.4-12), x11proto-core-dev, libxt-dev, libx11-dev, lesstif2-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 + --- paw-2.14.04.dfsg.2.orig/debian/control.d/paw-common.control +++ paw-2.14.04.dfsg.2/debian/control.d/paw-common.control @@ -0,0 +1,14 @@ +Package: paw-common +Architecture: all +Section: science +Depends: cernlib-base, netbase (>= 4.08) +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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/libpawlib2-gfortran.control +++ paw-2.14.04.dfsg.2/debian/control.d/libpawlib2-gfortran.control @@ -0,0 +1,23 @@ +Package: libpawlib2-gfortran +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, gfortran, netbase (>= 4.08) +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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/libpawlib2-dev.control +++ paw-2.14.04.dfsg.2/debian/control.d/libpawlib2-dev.control @@ -0,0 +1,21 @@ +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}) +Replaces: libpaw1-dev +Conflicts: libpaw1-dev +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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/paw++.control +++ paw-2.14.04.dfsg.2/debian/control.d/paw++.control @@ -0,0 +1,21 @@ +Package: paw++ +Architecture: any +Section: science +Depends: ${shlibs:Depends}, paw-common, kxterm, gfortran, netbase (>= 4.08) +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. + --- paw-2.14.04.dfsg.2.orig/debian/control.d/paw-demos.control +++ paw-2.14.04.dfsg.2/debian/control.d/paw-demos.control @@ -0,0 +1,13 @@ +Package: paw-demos +Architecture: all +Section: science +Depends: paw | paw-binary +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. + --- paw-2.14.04.dfsg.2.orig/debian/lintian/paw +++ paw-2.14.04.dfsg.2/debian/lintian/paw @@ -0,0 +1,2 @@ +paw: menu-command-not-in-package /usr/share/menu/paw:6 sh +paw: menu-icon-missing /usr/share/pixmaps/paw32x32.xpm --- paw-2.14.04.dfsg.2.orig/debian/lintian/paw++ +++ paw-2.14.04.dfsg.2/debian/lintian/paw++ @@ -0,0 +1 @@ +paw++: menu-icon-missing /usr/share/pixmaps/paw32x32.xpm --- paw-2.14.04.dfsg.2.orig/debian/dh/paw.preinst +++ paw-2.14.04.dfsg.2/debian/dh/paw.preinst @@ -0,0 +1,42 @@ +#! /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 + + --- paw-2.14.04.dfsg.2.orig/debian/dh/paw++.install +++ paw-2.14.04.dfsg.2/debian/dh/paw++.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/paw++ +debian/add-ons/misc/paw++.desktop usr/share/applications --- paw-2.14.04.dfsg.2.orig/debian/dh/paw.install +++ paw-2.14.04.dfsg.2/debian/dh/paw.install @@ -0,0 +1 @@ +debian/tmp/usr/bin/pawX11 --- paw-2.14.04.dfsg.2.orig/debian/dh/paw.README.debian +++ paw-2.14.04.dfsg.2/debian/dh/paw.README.debian @@ -0,0 +1,57 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/dh/paw++.preinst +++ paw-2.14.04.dfsg.2/debian/dh/paw++.preinst @@ -0,0 +1,42 @@ +#! /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 + + --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-gfortran.install +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-gfortran.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/libpawlib.so.2_gfortran.2006 +debian/tmp/usr/lib/libpawlib.so.2_gfortran --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-demos.links +++ paw-2.14.04.dfsg.2/debian/dh/paw-demos.links @@ -0,0 +1 @@ +usr/share/paw-demos usr/share/doc/paw-demos/examples --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-dev.examples +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-dev.examples @@ -0,0 +1,2 @@ +src/cfortran/Examples/pamain.c +debian/add-ons/misc/comis-64bit-example.F --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib-lesstif3-dev.install +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib-lesstif3-dev.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/libpawlib-lesstif.a +debian/tmp/usr/lib/libpawlib-lesstif.so +debian/add-ons/paw/* usr/include/paw --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-dev.docs +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-dev.docs @@ -0,0 +1 @@ +debian/README.64-bit --- paw-2.14.04.dfsg.2.orig/debian/dh/paw++.README.debian +++ paw-2.14.04.dfsg.2/debian/dh/paw++.README.debian @@ -0,0 +1,57 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/dh/paw++.menu +++ paw-2.14.04.dfsg.2/debian/dh/paw++.menu @@ -0,0 +1,4 @@ +?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" --- paw-2.14.04.dfsg.2.orig/debian/dh/paw++.links +++ paw-2.14.04.dfsg.2/debian/dh/paw++.links @@ -0,0 +1 @@ +usr/share/man/man1/paw.1.gz usr/share/man/man1/paw++.1.gz --- paw-2.14.04.dfsg.2.orig/debian/dh/paw.menu +++ paw-2.14.04.dfsg.2/debian/dh/paw.menu @@ -0,0 +1,6 @@ +?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 $?`'" --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib-lesstif3-gfortran.install +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib-lesstif3-gfortran.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/libpawlib-lesstif.so.3_gfortran.2006 +debian/tmp/usr/lib/libpawlib-lesstif.so.3_gfortran --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-demos.dirs +++ paw-2.14.04.dfsg.2/debian/dh/paw-demos.dirs @@ -0,0 +1,2 @@ +usr/bin +usr/share/paw-demos --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-dev.links +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-dev.links @@ -0,0 +1,2 @@ +usr/include/comis.h usr/include/cfortran/comis.h +usr/include/paw.h usr/include/cfortran/paw.h --- paw-2.14.04.dfsg.2.orig/debian/dh/paw.dirs +++ paw-2.14.04.dfsg.2/debian/dh/paw.dirs @@ -0,0 +1,3 @@ +usr/bin +usr/share/man/man1 +usr/share/lintian/overrides --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-common.links +++ paw-2.14.04.dfsg.2/debian/dh/paw-common.links @@ -0,0 +1,2 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-dev.install +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-dev.install @@ -0,0 +1,8 @@ +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/ --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-dev.README.debian +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-dev.README.debian @@ -0,0 +1,100 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib-lesstif3-dev.dirs +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib-lesstif3-dev.dirs @@ -0,0 +1,2 @@ +usr/lib +usr/include/paw --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-demos.install +++ paw-2.14.04.dfsg.2/debian/dh/paw-demos.install @@ -0,0 +1,3 @@ +debian/tmp/usr/bin/paw-demos +debian/tmp/usr/share/paw-demos/ +debian/tmp/usr/share/man/man1/paw-demos.1 --- paw-2.14.04.dfsg.2.orig/debian/dh/paw++.dirs +++ paw-2.14.04.dfsg.2/debian/dh/paw++.dirs @@ -0,0 +1,3 @@ +usr/bin +usr/share/man/man1 +usr/share/lintian/overrides --- paw-2.14.04.dfsg.2.orig/debian/dh/paw.links +++ paw-2.14.04.dfsg.2/debian/dh/paw.links @@ -0,0 +1 @@ +usr/share/man/man1/paw.1.gz usr/share/man/man1/pawX11.1.gz --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-common.install +++ paw-2.14.04.dfsg.2/debian/dh/paw-common.install @@ -0,0 +1,6 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/dh/libpawlib2-dev.dirs +++ paw-2.14.04.dfsg.2/debian/dh/libpawlib2-dev.dirs @@ -0,0 +1,3 @@ +usr/lib +usr/include +usr/include/cfortran --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-demos.README.debian +++ paw-2.14.04.dfsg.2/debian/dh/paw-demos.README.debian @@ -0,0 +1,7 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/dh/paw-common.dirs +++ paw-2.14.04.dfsg.2/debian/dh/paw-common.dirs @@ -0,0 +1,3 @@ +usr/bin +usr/share/pixmaps +etc/X11/app-defaults --- paw-2.14.04.dfsg.2.orig/debian/patches/121-call-gfortran-in-cscrexec.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/121-call-gfortran-in-cscrexec.dpatch @@ -0,0 +1,38 @@ +#! /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 \\' --- paw-2.14.04.dfsg.2.orig/debian/patches/102-dont-optimize-some-code.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/102-dont-optimize-some-code.dpatch @@ -0,0 +1,22 @@ +#! /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) --- paw-2.14.04.dfsg.2.orig/debian/patches/701-move-packlib-hkfill-to-comis.sh.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/701-move-packlib-hkfill-to-comis.sh.dpatch @@ -0,0 +1,25 @@ +#!/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 --- paw-2.14.04.dfsg.2.orig/debian/patches/802-create-shared-libraries.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/802-create-shared-libraries.dpatch @@ -0,0 +1,38 @@ +#! /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)) + --- paw-2.14.04.dfsg.2.orig/debian/patches/305-use-POWERPC-not-PPC-as-test.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/305-use-POWERPC-not-PPC-as-test.dpatch @@ -0,0 +1,33 @@ +#! /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 $@) --- paw-2.14.04.dfsg.2.orig/debian/patches/114-install-scripts-properly.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/114-install-scripts-properly.dpatch @@ -0,0 +1,24 @@ +#! /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)) --- paw-2.14.04.dfsg.2.orig/debian/patches/601-paw-bugreport-goes-to-BTS.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/601-paw-bugreport-goes-to-BTS.dpatch @@ -0,0 +1,65 @@ +#! /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 ); + --- paw-2.14.04.dfsg.2.orig/debian/patches/200-comis-allow-special-chars-in-path.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/200-comis-allow-special-chars-in-path.dpatch @@ -0,0 +1,31 @@ +#! /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. --- paw-2.14.04.dfsg.2.orig/debian/patches/210-improve-cfortran-header-files.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/210-improve-cfortran-header-files.dpatch @@ -0,0 +1,57 @@ +#! /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 */ --- paw-2.14.04.dfsg.2.orig/debian/patches/README +++ paw-2.14.04.dfsg.2/debian/patches/README @@ -0,0 +1,76 @@ +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 --- paw-2.14.04.dfsg.2.orig/debian/patches/706-use-external-xbae.dpatch.disabled +++ paw-2.14.04.dfsg.2/debian/patches/706-use-external-xbae.dpatch.disabled @@ -0,0 +1,42 @@ +#! /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 + + --- paw-2.14.04.dfsg.2.orig/debian/patches/705-patch-paw_motif-paw-Imakefiles.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/705-patch-paw_motif-paw-Imakefiles.dpatch @@ -0,0 +1,122 @@ +#! /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 /dev/null cernlib-2005.05.09/src/paw_motif/cdf/Imakefile +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ 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 /dev/null cernlib-2005.05.09/src/paw_motif/code/Imakefile +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ 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)) + --- paw-2.14.04.dfsg.2.orig/debian/patches/313-comis-preserves-filename-case.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/313-comis-preserves-filename-case.dpatch @@ -0,0 +1,19 @@ +#! /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) --- paw-2.14.04.dfsg.2.orig/debian/patches/000-unpack.sh.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/000-unpack.sh.dpatch @@ -0,0 +1,16 @@ +#!/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 --- paw-2.14.04.dfsg.2.orig/debian/patches/804-workaround-for-comis-mdpool-struct-location.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/804-workaround-for-comis-mdpool-struct-location.dpatch @@ -0,0 +1,191 @@ +#! /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 --- paw-2.14.04.dfsg.2.orig/debian/patches/706-use-external-xbae-and-xaw.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/706-use-external-xbae-and-xaw.dpatch @@ -0,0 +1,63 @@ +#! /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 + + --- paw-2.14.04.dfsg.2.orig/debian/patches/701-patch-hbook-comis-Imakefiles.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/701-patch-hbook-comis-Imakefiles.dpatch @@ -0,0 +1,21 @@ +#! /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 \ @@\ --- paw-2.14.04.dfsg.2.orig/debian/patches/120-fix-mlp-cdf-file.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/120-fix-mlp-cdf-file.dpatch @@ -0,0 +1,18 @@ +#! /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 --- paw-2.14.04.dfsg.2.orig/debian/patches/119-fix-compiler-warnings.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/119-fix-compiler-warnings.dpatch @@ -0,0 +1,190 @@ +#! /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 -urNad paw-2.14.04~/src/pawlib/paw/ntuple/cern_types.h paw-2.14.04/src/pawlib/paw/ntuple/cern_types.h +--- paw-2.14.04~/src/pawlib/paw/ntuple/cern_types.h 1996-04-23 14:37:54.000000000 -0400 ++++ paw-2.14.04/src/pawlib/paw/ntuple/cern_types.h 2006-09-08 14:58:22.811814451 -0400 +@@ -36,26 +36,38 @@ + + 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 -urNad paw-2.14.04~/src/pawlib/paw/ntuple/qp_vvec.c paw-2.14.04/src/pawlib/paw/ntuple/qp_vvec.c +--- paw-2.14.04~/src/pawlib/paw/ntuple/qp_vvec.c 1996-05-12 11:13:56.000000000 -0400 ++++ paw-2.14.04/src/pawlib/paw/ntuple/qp_vvec.c 2006-09-08 14:49:56.490766940 -0400 +@@ -19,6 +19,7 @@ + */ + + #include ++#include + + #include "qp_report.h" + #include "qp_vvec.h" +diff -urNad paw-2.14.04~/src/pawlib/paw/xbae/caption.c paw-2.14.04/src/pawlib/paw/xbae/caption.c +--- paw-2.14.04~/src/pawlib/paw/xbae/caption.c 1996-03-01 06:39:36.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/xbae/caption.c 2006-09-08 15:05:15.658762762 -0400 +@@ -244,7 +244,7 @@ + * 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 @@ + * 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 -urNad paw-2.14.04~/src/pawlib/paw/xbae/clip.c paw-2.14.04/src/pawlib/paw/xbae/clip.c +--- paw-2.14.04~/src/pawlib/paw/xbae/clip.c 1996-03-01 06:39:36.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/xbae/clip.c 2006-09-08 14:49:56.491766727 -0400 +@@ -190,8 +190,8 @@ + * 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 -urNad paw-2.14.04~/src/pawlib/paw/xbae/matrix.c paw-2.14.04/src/pawlib/paw/xbae/matrix.c +--- paw-2.14.04~/src/pawlib/paw/xbae/matrix.c 1998-09-02 11:23:57.000000000 -0400 ++++ paw-2.14.04/src/pawlib/paw/xbae/matrix.c 2006-09-08 14:49:56.494766087 -0400 +@@ -67,7 +67,10 @@ + #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 @@ + */ + VERT_ORIGIN(mw) = call_data->value; + +- if (!XtIsRealized(mw)) ++ if (!XtIsRealized((Widget)mw)) + return; + + /* +@@ -3646,7 +3649,7 @@ + */ + HORIZ_ORIGIN(mw) = call_data->value; + +- if (!XtIsRealized(mw)) ++ if (!XtIsRealized((Widget)mw)) + return; + + /* +@@ -6162,7 +6165,7 @@ + (*((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 @@ + (*((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 @@ + (*((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 @@ + (*((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 @@ + 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 @@ + 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 @@ + */ + mw->matrix.cell_background[row][column] = color; + +- if (XtIsRealized(mw)) { ++ if (XtIsRealized((Widget)mw)) { + /* + * Redraw the cell if it is visible + */ --- paw-2.14.04.dfsg.2.orig/debian/patches/00list +++ paw-2.14.04.dfsg.2/debian/patches/00list @@ -0,0 +1,32 @@ +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 +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 --- paw-2.14.04.dfsg.2.orig/debian/patches/306-patch-assert.h-for-makedepend.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/306-patch-assert.h-for-makedepend.dpatch @@ -0,0 +1,165 @@ +#! /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 /dev/null cernlib-2005.05.09/src/include/assert.h +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ 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 */ --- paw-2.14.04.dfsg.2.orig/debian/patches/211-support-amd64-and-itanium.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/211-support-amd64-and-itanium.dpatch @@ -0,0 +1,1227 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 211-support-amd64-and-itanium.dpatch by +## +## 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 2006-07-20. + +@DPATCH@ +diff -urNad paw-2.14.04~/src/cfortran/hbook.h paw-2.14.04/src/cfortran/hbook.h +--- paw-2.14.04~/src/cfortran/hbook.h 1999-11-15 12:01:12.000000000 -0500 ++++ paw-2.14.04/src/cfortran/hbook.h 2006-09-08 14:44:11.806264586 -0400 +@@ -489,6 +489,10 @@ + #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 @@ + #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 -urNad paw-2.14.04~/src/pawlib/comis/code/Imakefile paw-2.14.04/src/pawlib/comis/code/Imakefile +--- paw-2.14.04~/src/pawlib/comis/code/Imakefile 2006-09-08 14:44:11.387353882 -0400 ++++ paw-2.14.04/src/pawlib/comis/code/Imakefile 2006-09-08 14:44:11.806264586 -0400 +@@ -50,6 +50,10 @@ + 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 -urNad paw-2.14.04~/src/pawlib/comis/code/csaddr.F paw-2.14.04/src/pawlib/comis/code/csaddr.F +--- paw-2.14.04~/src/pawlib/comis/code/csaddr.F 1996-02-26 12:16:25.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/csaddr.F 2006-09-08 14:44:11.806264586 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/csinit.F paw-2.14.04/src/pawlib/comis/code/csinit.F +--- paw-2.14.04~/src/pawlib/comis/code/csinit.F 2005-04-18 11:41:04.000000000 -0400 ++++ paw-2.14.04/src/pawlib/comis/code/csinit.F 2006-09-08 14:44:11.807264373 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/csintx.F paw-2.14.04/src/pawlib/comis/code/csintx.F +--- paw-2.14.04~/src/pawlib/comis/code/csintx.F 1996-12-05 04:50:37.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/csintx.F 2006-09-08 14:44:11.807264373 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/csitgpl.F paw-2.14.04/src/pawlib/comis/code/csitgpl.F +--- paw-2.14.04~/src/pawlib/comis/code/csitgpl.F 1969-12-31 19:00:00.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/csitgpl.F 2006-09-08 14:44:11.808264160 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/cskcal.F paw-2.14.04/src/pawlib/comis/code/cskcal.F +--- paw-2.14.04~/src/pawlib/comis/code/cskcal.F 1996-12-05 04:50:39.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/cskcal.F 2006-09-08 14:44:11.808264160 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/cslink.F paw-2.14.04/src/pawlib/comis/code/cslink.F +--- paw-2.14.04~/src/pawlib/comis/code/cslink.F 1996-02-26 12:16:17.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/cslink.F 2006-09-08 14:44:11.808264160 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/cspawi.F paw-2.14.04/src/pawlib/comis/code/cspawi.F +--- paw-2.14.04~/src/pawlib/comis/code/cspawi.F 1996-02-26 12:16:22.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/cspawi.F 2006-09-08 14:44:11.808264160 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/csrtgpl.F paw-2.14.04/src/pawlib/comis/code/csrtgpl.F +--- paw-2.14.04~/src/pawlib/comis/code/csrtgpl.F 1969-12-31 19:00:00.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/csrtgpl.F 2006-09-08 14:44:11.808264160 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/code/cstran.F paw-2.14.04/src/pawlib/comis/code/cstran.F +--- paw-2.14.04~/src/pawlib/comis/code/cstran.F 2001-02-07 04:27:01.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/code/cstran.F 2006-09-08 14:44:11.810263734 -0400 +@@ -521,6 +521,7 @@ + * '#' 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 @@ + 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 @@ + 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 -urNad paw-2.14.04~/src/pawlib/comis/comis/cstab64.inc paw-2.14.04/src/pawlib/comis/comis/cstab64.inc +--- paw-2.14.04~/src/pawlib/comis/comis/cstab64.inc 1969-12-31 19:00:00.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/comis/cstab64.inc 2006-09-08 14:44:11.810263734 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/deccc/ccopys.c paw-2.14.04/src/pawlib/comis/deccc/ccopys.c +--- paw-2.14.04~/src/pawlib/comis/deccc/ccopys.c 1997-09-02 11:50:38.000000000 -0400 ++++ paw-2.14.04/src/pawlib/comis/deccc/ccopys.c 2006-09-08 14:44:11.810263734 -0400 +@@ -33,11 +33,42 @@ + #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 -urNad paw-2.14.04~/src/pawlib/comis/deccc/cscal_lp64.h paw-2.14.04/src/pawlib/comis/deccc/cscal_lp64.h +--- paw-2.14.04~/src/pawlib/comis/deccc/cscal_lp64.h 1969-12-31 19:00:00.000000000 -0500 ++++ paw-2.14.04/src/pawlib/comis/deccc/cscal_lp64.h 2006-09-08 14:44:11.811263521 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/comis/deccc/cscald.c paw-2.14.04/src/pawlib/comis/deccc/cscald.c +--- paw-2.14.04~/src/pawlib/comis/deccc/cscald.c 2004-10-27 05:01:54.000000000 -0400 ++++ paw-2.14.04/src/pawlib/comis/deccc/cscald.c 2006-09-08 14:45:54.322410202 -0400 +@@ -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 @@ + 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 -urNad paw-2.14.04~/src/pawlib/comis/deccc/cscali.c paw-2.14.04/src/pawlib/comis/deccc/cscali.c +--- paw-2.14.04~/src/pawlib/comis/deccc/cscali.c 2004-10-22 08:42:40.000000000 -0400 ++++ paw-2.14.04/src/pawlib/comis/deccc/cscali.c 2006-09-08 14:46:14.981004397 -0400 +@@ -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 @@ + #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 -urNad paw-2.14.04~/src/pawlib/comis/deccc/cscalr.c paw-2.14.04/src/pawlib/comis/deccc/cscalr.c +--- paw-2.14.04~/src/pawlib/comis/deccc/cscalr.c 2004-10-22 08:03:16.000000000 -0400 ++++ paw-2.14.04/src/pawlib/comis/deccc/cscalr.c 2006-09-08 14:47:10.662129691 -0400 +@@ -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 @@ + # 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 -urNad paw-2.14.04~/src/pawlib/comis/deccc/cstrcmp.c paw-2.14.04/src/pawlib/comis/deccc/cstrcmp.c +--- paw-2.14.04~/src/pawlib/comis/deccc/cstrcmp.c 1997-09-02 11:50:44.000000000 -0400 ++++ paw-2.14.04/src/pawlib/comis/deccc/cstrcmp.c 2006-09-08 14:44:11.812263308 -0400 +@@ -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 @@ + { + a=*jb; b=*ja; la=*nb; lb=*na; k=-1; + } ++#endif + for ( i=0; i b[i]) ? k : -k ); } +diff -urNad paw-2.14.04~/src/pawlib/paw/cmotif/att_color.c paw-2.14.04/src/pawlib/paw/cmotif/att_color.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/att_color.c 1996-03-01 06:38:53.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/att_color.c 2006-09-08 14:44:11.812263308 -0400 +@@ -114,7 +114,7 @@ + + 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 @@ + 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 -urNad paw-2.14.04~/src/pawlib/paw/cmotif/att_define_color.c paw-2.14.04/src/pawlib/paw/cmotif/att_define_color.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/att_define_color.c 1999-03-01 04:07:01.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/att_define_color.c 2006-09-08 14:44:11.812263308 -0400 +@@ -338,7 +338,7 @@ + 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 @@ + 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 @@ + char *ComStr; + + ColorNum=atoi((char *)XmTextGetString(ColorIndex)); +- switch((int) client_data) { ++ switch((long) client_data) { + case 1: /* UpArrow */ + ColorNum++; + break; +@@ -494,7 +494,7 @@ + XmAnyCallbackStruct cb; + + Ncol=atoi((char *)XmTextGetString(NcolText)); +- switch((int) client_data) { ++ switch((long) client_data) { + case 1: /* UpArrow*/ + Ncol++; + break; +diff -urNad paw-2.14.04~/src/pawlib/paw/cmotif/att_general.c paw-2.14.04/src/pawlib/paw/cmotif/att_general.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/att_general.c 1996-03-01 06:38:53.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/att_general.c 2006-09-08 14:44:11.813263095 -0400 +@@ -454,7 +454,7 @@ + { + 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 @@ + { + 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 -urNad paw-2.14.04~/src/pawlib/paw/cmotif/att_geometry.c paw-2.14.04/src/pawlib/paw/cmotif/att_geometry.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/att_geometry.c 1999-02-01 12:56:11.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/att_geometry.c 2006-09-08 14:44:11.815262668 -0400 +@@ -2582,7 +2582,7 @@ + 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 -urNad paw-2.14.04~/src/pawlib/paw/cmotif/att_main.c paw-2.14.04/src/pawlib/paw/cmotif/att_main.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/att_main.c 1996-03-01 06:38:54.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/att_main.c 2006-09-08 14:44:11.816262455 -0400 +@@ -139,7 +139,7 @@ + { + int i; + XmAnyCallbackStruct cb; +- int pos; ++ long pos; + char tempstr[6]; + int tempint; + +@@ -147,7 +147,7 @@ + + 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 @@ + 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 @@ + 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 @@ + 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 -urNad paw-2.14.04~/src/pawlib/paw/cmotif/attatch.c paw-2.14.04/src/pawlib/paw/cmotif/attatch.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/attatch.c 1996-03-01 06:38:54.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/attatch.c 2006-09-08 14:44:11.816262455 -0400 +@@ -88,7 +88,7 @@ + + 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 @@ + /* 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 -urNad paw-2.14.04~/src/pawlib/paw/cmotif/axis.c paw-2.14.04/src/pawlib/paw/cmotif/axis.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/axis.c 1996-03-01 06:38:54.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/axis.c 2006-09-08 14:44:11.817262242 -0400 +@@ -1336,7 +1336,7 @@ + { + XmAnyCallbackStruct cbs1; + +- switch ((int)type) { ++ switch ((long)type) { + case 1: + axis.xo = 1; + break; +@@ -1432,7 +1432,7 @@ + unselect_list(); + comstr = XtCalloc(MAX_CMD_LENGTH, 1); + +- switch ((int)type) { ++ switch ((long)type) { + case 0: + + XmToggleButtonGadgetSetState(labeltoggleButtonGadget0,True,False); +@@ -1680,7 +1680,7 @@ + cbs1.reason = 0; + cbs1.event = (XEvent *) NULL; + +- switch ((int) num) { ++ switch ((long) num) { + case 1: + if (XmToggleButtonGadgetGetState(labeltoggleButtonGadget1)) + XtCallCallbacks(labeltoggleButtonGadget1,XmNvalueChangedCallback, +diff -urNad paw-2.14.04~/src/pawlib/paw/cmotif/histo.c paw-2.14.04/src/pawlib/paw/cmotif/histo.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/histo.c 1996-03-01 06:38:56.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/histo.c 2006-09-08 14:44:11.818262029 -0400 +@@ -529,7 +529,7 @@ + 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 @@ + return; + } + } else { +- switch( (int)type ) { ++ switch( (long)type ) { + case 1: + if (widget_stat) { + XtUnmanageChild(widget_stat); +@@ -758,7 +758,7 @@ + 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 coordinate_set(Widget w, int *type, XmAnyCallbackStruct *cbs) + { + +- switch( (int)type ) { ++ switch( (long)type ) { + case 1: + sprintf (histogram.coordinate," "); + break; +@@ -1034,7 +1034,7 @@ + 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 @@ + 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 -urNad paw-2.14.04~/src/pawlib/paw/cmotif/init.c paw-2.14.04/src/pawlib/paw/cmotif/init.c +--- paw-2.14.04~/src/pawlib/paw/cmotif/init.c 1996-03-12 11:58:51.000000000 -0500 ++++ paw-2.14.04/src/pawlib/paw/cmotif/init.c 2006-09-08 14:44:11.818262029 -0400 +@@ -286,7 +286,7 @@ + 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_graphics(Widget w, int *which, XmAnyCallbackStruct *cbs) + { +- int i = (int) which; ++ long i = (long) which; + + graphics[i].widget = NULL; + } +diff -urNad paw-2.14.04~/src/pawlib/paw/ntuple/c_hcntpar.h paw-2.14.04/src/pawlib/paw/ntuple/c_hcntpar.h +--- paw-2.14.04~/src/pawlib/paw/ntuple/c_hcntpar.h 1996-04-23 14:37:45.000000000 -0400 ++++ paw-2.14.04/src/pawlib/paw/ntuple/c_hcntpar.h 2006-09-08 14:44:11.818262029 -0400 +@@ -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 -urNad paw-2.14.04~/src/pawlib/paw/ntuple/qp_execute.c paw-2.14.04/src/pawlib/paw/ntuple/qp_execute.c +--- paw-2.14.04~/src/pawlib/paw/ntuple/qp_execute.c 2001-09-18 09:41:35.000000000 -0400 ++++ paw-2.14.04/src/pawlib/paw/ntuple/qp_execute.c 2006-09-08 14:44:11.819261816 -0400 +@@ -184,12 +184,19 @@ + /* all definitions for the stack */ + #undef INIT_STACK_TO_NULL /* are kept together in this file */ + ++#if defined(CERNLIB_QMLXIA64) ++# undef HBALLOC ++# undef HGNTBF ++# define HBALLOC HBALLOC64 ++# define HGNTBF HGNTBF64 ++#endif ++ + /* extern functions */ + 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 +252,23 @@ + 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 +309,11 @@ + 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 && +@@ -381,6 +408,7 @@ + offsetlist[nt_load_cnt]= + CWNBlock[index].p - + PAWC.iq_eqv; ++ + strncpy( + namelist[nt_load_cnt], + vi->name, +@@ -871,8 +899,21 @@ + 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 +1832,31 @@ + 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; i +## +## 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) --- paw-2.14.04.dfsg.2.orig/debian/patches/801-non-optimized-rule-uses-fPIC-g.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/801-non-optimized-rule-uses-fPIC-g.dpatch @@ -0,0 +1,36 @@ +#! /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 --- paw-2.14.04.dfsg.2.orig/debian/patches/302-scripts-comply-with-FHS.dpatch.in +++ paw-2.14.04.dfsg.2/debian/patches/302-scripts-comply-with-FHS.dpatch.in @@ -0,0 +1,75 @@ +#! /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 --- paw-2.14.04.dfsg.2.orig/debian/patches/602-debianize-kuip-helper-apps.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/602-debianize-kuip-helper-apps.dpatch @@ -0,0 +1,23 @@ +#! /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''') --- paw-2.14.04.dfsg.2.orig/debian/patches/105-fix-obsolete-xmfontlistcreate-warning.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/105-fix-obsolete-xmfontlistcreate-warning.dpatch @@ -0,0 +1,35 @@ +#! /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);*/ + --- paw-2.14.04.dfsg.2.orig/debian/patches/307-use-canonical-cfortran.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/307-use-canonical-cfortran.dpatch @@ -0,0 +1,496 @@ +#! /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 ; --- paw-2.14.04.dfsg.2.orig/debian/patches/302-scripts-comply-with-FHS.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/302-scripts-comply-with-FHS.dpatch @@ -0,0 +1,75 @@ +#! /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 --- paw-2.14.04.dfsg.2.orig/debian/patches/803-link-binaries-dynamically.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/803-link-binaries-dynamically.dpatch @@ -0,0 +1,28 @@ +#! /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)) + --- paw-2.14.04.dfsg.2.orig/debian/patches/320-support-ifort-and-gfortran.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/320-support-ifort-and-gfortran.dpatch @@ -0,0 +1,99 @@ +#! /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 --- paw-2.14.04.dfsg.2.orig/debian/patches/108-quote-protect-comis-script.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/108-quote-protect-comis-script.dpatch @@ -0,0 +1,28 @@ +#! /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) --- paw-2.14.04.dfsg.2.orig/debian/patches/705-move-paw++-code-to-top-level.sh.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/705-move-paw++-code-to-top-level.sh.dpatch @@ -0,0 +1,36 @@ +#!/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 + --- paw-2.14.04.dfsg.2.orig/debian/patches/207-compile-temp-libs-with-fPIC.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/207-compile-temp-libs-with-fPIC.dpatch @@ -0,0 +1,27 @@ +#! /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) --- paw-2.14.04.dfsg.2.orig/debian/patches/804-link-to-comis-includes.sh.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/804-link-to-comis-includes.sh.dpatch @@ -0,0 +1,18 @@ +#!/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 + --- paw-2.14.04.dfsg.2.orig/debian/patches/308-use-canonical-cfortran-location.dpatch +++ paw-2.14.04.dfsg.2/debian/patches/308-use-canonical-cfortran-location.dpatch @@ -0,0 +1,20 @@ +#! /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"