debian/0000755000000000000000000000000012205714041007162 5ustar debian/NEWS0000644000000000000000000000320212205714041007656 0ustar geant321 (1:3.21.14.dfsg-1) unstable; urgency=low You should be aware that some functions have been removed from the GEANT 3.21 libraries with this release. The functions in question were discovered to contain non-free GEANT-FLUKA code (part of which had already been removed long ago). This code is licensed in a manner incompatible with the main Cernlib license (the GNU General Public License) and therefore cannot be distributed by the Debian Project. See also http://www.fluka.org/Faq.html for more information. Care has been taken to keep the library technically ABI-compatible by adding dummy functions to replace the removed code. However, if you run code that calls one of these functions, it will now immediately abort with an error. Additionally, a number of FORTRAN include (*.inc) files defining GEANT-FLUKA COMMON blocks have been removed. Dummy COMMON blocks have been added to replace those defined in GEANT-FLUKA code. It is very unlikely that you would be using such a COMMON block without using GEANT-FLUKA functions. But in such a case things should still work, as long as you neither depend on any initial values in the COMMON blocks (they are all now initialized to zero) nor require the deleted include files in order to define them. A complete up-to-date list of removed include files can be found in /usr/share/doc/geant321/deadpool.txt , and the list of removed functions is in /usr/share/doc/libgeant321-2/README.Debian . We apologize for any inconvenience. -- Kevin B. McCarty Thu, 6 Jul 2006 09:43:53 -0400 debian/README.source0000644000000000000000000000457012205714041011347 0ustar Options supported by GEANT 3.21'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/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. This option has not been fully tested. Targets supported by GEANT 3.21's debian/rules: help: Output this text (found in debian/README.source). get-orig-source: Download upstream sourcecode in tar.gz form to a subdir "upstream" of the current dir. Requires wget. remove-deadpool: Delete files with licensing issues from upstream tarballs. orig.tar.gz: Build a new orig.tar.gz file in the dir ".." Don't do this if you already have one; the tarball md5sum will change! This target automatically executes the previous one first. 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 GEANT 3.21, 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 GEANT 3.21 source in dpatch format. (See debian/patches/README as there are some weird things here.) debian/copyright0000644000000000000000000001403412205714041011117 0ustar This package was debianized by Kevin B. McCarty and Lifeng Sun . It was downloaded from the web page http://wwwinfo.cern.ch/asd/cernlib/download/2005_source/tar/ COPYRIGHT --------- CERNLIB, including GEANT 3.21, is copyright (C) CERN and others. As of this writing (1 February 2008), the web 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 GEANT 3.21 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 GEANT 3.21 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 GEANT 3.21 from the Debian source packages is permissible under the terms either of GPL version 2 or of the current GPL version, at the re-distributor's option. On Debian systems, the complete text of the current version of the GNU General Public License can be found in the file `/usr/share/common-licenses/GPL-3'. The text of version 2 can be found at `/usr/share/common-licenses/GPL-2'. EXCEPTIONS ---------- The file geant321.h in the libgeant321-2-dev binary package, and all files included in the tarball upstream/src_cfortran.tar.gz in the geant321 source package, are instead Copyright (C) 1990-2003 Burkhard Burow, , http://www-zeus.desy.de/~burow/cfortran/index.htm and are licensed (at your choice) under either the GNU Library General Public License or an alternate non-free license. 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'. The alternate license for the cfortran-related files is as follows: 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: - 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.) - YOU MAY NOT PREVENT OTHERS FROM COPYING IT FREELY. - YOU MAY NOT DISTRIBUTE MODIFIED VERSIONS WITHOUT CLEARLY DOCUMENTING YOUR CHANGES AND NOTIFYING THE AUTHOR. - YOU MAY NOT MISREPRESENTED THE ORIGIN OF THIS SOFTWARE, EITHER BY EXPLICIT CLAIM OR BY OMISSION. THE INTENT OF THE ABOVE TERMS IS TO ENSURE THAT THE CFORTRAN.H PACKAGE NOT BE USED FOR PROFIT MAKING ACTIVITIES UNLESS SOME ROYALTY ARRANGEMENT IS ENTERED INTO WITH ITS AUTHOR. THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE AUTHOR IS NOT RESPONSIBLE FOR ANY SUPPORT OR SERVICE OF THE CFORTRAN.H PACKAGE. Burkhard Burow burow@desy.de DELETIA ------- The following files and directories have been removed from the Debian source package of GEANT 3.21 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 geant321/block/ geant321/data/flukaaf.dat geant321/fiface/ geant321/fluka/ geant321/geant321/aadat.inc geant321/geant321/auxpar.inc geant321/geant321/balanc.inc geant321/geant321/bamjcm.inc geant321/geant321/cmsres.inc geant321/geant321/comcon.inc geant321/geant321/corinc.inc geant321/geant321/dblprc.inc geant321/geant321/decayc.inc geant321/geant321/decayc2.inc geant321/geant321/depnuc.inc geant321/geant321/dimpar.inc geant321/geant321/eva0.inc geant321/geant321/eva1.inc geant321/geant321/fheavy.inc geant321/geant321/finlsp.inc geant321/geant321/finlsp2.inc geant321/geant321/finlsp3.inc geant321/geant321/finpar.inc geant321/geant321/finpar2.inc geant321/geant321/finuc.inc geant321/geant321/finuc2.inc geant321/geant321/finuct.inc geant321/geant321/hadflg.inc geant321/geant321/hadpar.inc geant321/geant321/higfis.inc geant321/geant321/inpdat.inc geant321/geant321/inpdat2.inc geant321/geant321/inpflg.inc geant321/geant321/iounit.inc geant321/geant321/isotop.inc geant321/geant321/labcos.inc geant321/geant321/mapa.inc geant321/geant321/metlsp.inc geant321/geant321/nucdat.inc geant321/geant321/nucgeo.inc geant321/geant321/nuclev.inc geant321/geant321/nucpar.inc geant321/geant321/nucstf.inc geant321/geant321/paprop.inc geant321/geant321/parevt.inc geant321/geant321/parnuc.inc geant321/geant321/part.inc geant321/geant321/part2.inc geant321/geant321/part3.inc geant321/geant321/qquark.inc geant321/geant321/reac.inc geant321/geant321/redver.inc geant321/geant321/resnuc.inc geant321/geant321/split.inc geant321/geant321/xsepar.inc geant321/miface/gfmdis.F geant321/miface/gfmfin.F geant321/peanut/ debian/source/0000755000000000000000000000000012205714041010462 5ustar debian/source/format0000644000000000000000000000001412205714041011670 0ustar 3.0 (quilt) debian/changelog0000644000000000000000000001647712205714041011053 0ustar geant321 (1:3.21.14.dfsg-11) unstable; urgency=low * debian/control: - remove obsolete dpatch package from build-dep. - remove obsolete DM-Upload-Allowed field. - canonical VCS-* fields. - bump Standards-Version to 3.9.4. * Set source format to 3.0 (quilt). * Support multiarch. * Temporarily disable test-suite. (Closes: #701285, #713363) * Rebuild packages for lesstif2 to motif transition. (Closes: #717643) -- Lifeng Sun Sat, 24 Aug 2013 01:09:37 +0800 geant321 (1:3.21.14.dfsg-10) unstable; urgency=low * Team upload. * [ff4aa0d] Build the package in non-parallel mode to escape FTBFS due to race conditions. * [aad8032] Rename debian/debhelper to debian/dh to prevent empty packages. Thanks to Jason Conti . (Closes: #695066) * [2c3ddc4] Override lintian-error, dpatch is needed for building. -- Anton Gladky Sun, 09 Dec 2012 00:21:56 +0100 geant321 (1:3.21.14.dfsg-9) unstable; urgency=low * New maintainer. Thanks Kevin B. McCarty for contributing to the HEP free software community over the years. (Closes: #619396) * Bump Standards-Version to 3.9.1 - debian/copyright: specify current version of GPL. - Add ${misc:Depends} to debian/control Depends for all binary packages. - debian/control.d/libgeant321-2-dev.control: change "Conflicts" to "Breaks". * debian/control.d/geant321{,-data}.control: remove duplicated "section" field. * debian/source/format: set source format to 1.0. * Add typo fixing patches 121-124. * Add lintian overrides: - debian/source/lintian-overrides: override dfsg-version-with-period and debian-watch-file-is-missing, since the GEANT3 branch of upstream is dead and GEANT4 is not suitable to redistribute for license issue. - debian/lintian-overrides/libgeant321-2-gfortran: override no-symbols-control-file. * debian/NEWS: fix version and timestamp. The entry of news is copied from cernlib (2005.05.09.dfsg-1), from which geant321 was separated. -- Lifeng Sun Tue, 29 Mar 2011 09:58:48 +0800 geant321 (1:3.21.14.dfsg-8) unstable; urgency=low * Change Apps/Science to Science/Physics in doc-base file. * Upload to unstable, completing the g77 -> gfortran transition of CERNLIB. - Fixes FTBFS in unstable (closes: #467572). -- Kevin B. McCarty Wed, 27 Feb 2008 10:05:09 -0800 geant321 (1:3.21.14.dfsg-7) experimental; urgency=low * Gfortran transition (closes: #429439). - Change build-depends and -dev package depends appropriately. - Add -gfortran suffix to runtime library package name. - s/g77/gfortran/g in various files. - Call gfortran rather than f77 from gxint script (update to patch 321). * Lintian clean-up: - Bump Standards-Version to 3.7.3. - Use ${binary:Version} instead of deprecated ${Source-Version} in debian/control. - Add dpatch descriptions to patches 000, 002. - Remove extra leading spaces from doc-base abstract. * Other minor improvements: - Tweak dependencies and descriptions in debian/control file. - Add Homepage field in control file. - Update reference to GEANT-FLUKA FAQ in README.debian files. - Remove mention of no-longer-used "keepbuild" $DEB_BUILD_OPTION in README.source. - Mention the (somewhat ambiguous) switch to GPL v3 in copyright file. - Uniformly capitalize CERNLIB, GEANT and FLUKA properly in Debian packaging files (except old Debian changelog and NEWS entries). - Increase left bar of GEANT 3.21 Lesstif GUI from 80 to 100 pixels width in app-defaults file, to make the appearance of an annoying horizontal scroll-bar less likely. -- Kevin B. McCarty Fri, 01 Feb 2008 17:52:00 -0800 geant321 (1:3.21.14.dfsg-6) unstable; urgency=low * Build-Depend on a cernlib-base-dev new enough to include the test suite rules for make. * Ensure that upstream's test suite is run by adding TEST_PACKAGES variable in debian/add-ons/Makefile. * Revised patch 001: Do not build test 4; it requires non-free FLUKA. * New patch 213, many thanks to Patrice Dumas: Fix Imakefiles for building test programs. * New patch 807: Compile test programs statically linked to CERN libraries on 64-bit systems. -- Kevin B. McCarty Fri, 04 Jan 2008 16:59:55 -0800 geant321 (1:3.21.14.dfsg-5) unstable; urgency=low * Build-Depend and Depend on new libpawlib-lesstif3-dev package, which will automatically pull in needed libxbae-dev dependency. (Closes: #422808) Hence bump needed shlibs version. * Although the soversion of libpawlib-lesstif has been bumped, the soversion of libgeant321 should not need to be, and old user-compiled code should still work as long as the user has the old obsolete libpawlib2-lesstif runtime lib package installed. If I am wrong, the problem will be easy enough to fix! * Add debian/README.Debian-source. -- Kevin B. McCarty Thu, 10 May 2007 18:31:07 -0400 geant321 (1:3.21.14.dfsg-4) unstable; urgency=low * The fix in version -2 turned out to be only a partial solution. Instead set the names of the FLUKA methods to 'NULL' in geant321/gcnmec.inc in patch 001 so they will never be called by any function that checks to see whether they are present. -- Kevin B. McCarty Tue, 30 Jan 2007 17:29:05 -0500 geant321 (1:3.21.14.dfsg-3) unstable; urgency=medium * Add some color to certain icons in the Geant++ browser widget, copying from the Paw++ app-defaults. * Add widget geometry constraints in the Geant++ browser widget app-defaults. This fixes an (unreported) important bug that caused some of the UI widgets in GEANT 3.21 client programs to be missing. Hence urgency medium. -- Kevin B. McCarty Fri, 19 Jan 2007 15:44:24 -0500 geant321 (1:3.21.14.dfsg-2) unstable; urgency=medium * Urgency medium since this fixes what I consider to be an important (unreported) bug while having minimal impact on anything else. * Patch 001: If the user asks for cross sections by "ALL" methods, skip over the FLUKA methods (which otherwise cause the program to abort when the dummy FLINIT function is reached). However, specifically asking for a FLUKA-generated cross-section will still cause the program to abort after directing the user to README.Debian (which remarks on the FLUKA code having been purged). * New patch 321: Pull in the only change that upstream made to geant321, a small patch to an Imakefile to support gfortran, in the Cernlib 2006 release. This patch is not in itself worth putting together a new orig.tar.gz for geant321. * Remove empty directory debian/patches/optional from source package. -- Kevin B. McCarty Fri, 12 Jan 2007 17:35:24 -0500 geant321 (1:3.21.14.dfsg-1) unstable; urgency=low * Split off GEANT 3.21 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 09:43:53 -0400 debian/README.Debian-source0000644000000000000000000001131612205714041012523 0ustar As of CERNLIB version 2006, upstream ships all CERNLIB code in a single enormous tarball. The tarball may be obtained as of this writing from the URL http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/2006_src.tar.gz Note that in the geant321 source package, the orig.tar.gz was actually obtained by putting the following tarballs into the Debian source package "upstream" directory, followed by purging them of non-free files and repacking, prior to generating the orig.tar.gz: http://cernlib.web.cern.ch/cernlib/download/2005_source/tar/src_Imakefile.tar.gz http://cernlib.web.cern.ch/cernlib/download/2005_source/tar/src_car.tar.gz http://cernlib.web.cern.ch/cernlib/download/2005_source/tar/src_cfortran.tar.gz http://cernlib.web.cern.ch/cernlib/download/2005_source/tar/src_geant321.tar.gz http://cernlib.web.cern.ch/cernlib/download/2005_source/tar/src_include.tar.gz http://cernlib.web.cern.ch/cernlib/download/2005_source/tar/src_scripts.tar.gz The reason for this is that there were no upstream changes to GEANT 3.21 source code between the 2005 and 2006 releases of CERNLIB. Should a new orig.tar.gz for the geant321 source package be needed, it may in any case be created as described below. For reasons that are partly historical (this is the first time upstream has shipped a single monolithic tarball), and partly concerned with maintainability (having several fairly independent source packages implies less frequent uploads for each), CERNLIB is split up into four source packages in Debian: "cernlib", "mclibs", "paw", and "geant321", and these source packages (tarballs within tarballs) are generated in a somewhat convoluted fashion. Note that repackaging the upstream source would have been necessary in any event, due to numerous unimportant files, as well as some Monte Carlo libraries, that have unclear or non-free licenses. In order to generate the orig.tar.gz, one needs to take the following steps. These instructions are generically applicable to all four CERNLIB source packages in Debian; everywhere below, consider "cernlib" as a variable standing for the actual name of the source package in question. Either: a) Taking care to have the cernlib-base-dev binary package installed (except if you are building the orig.tar.gz for the "cernlib" source package), with version >= 2006.dfsg.2-1, cd into the Debian source package directory (cernlib- for instance), place the above-mentioned CERNLIB 2006_src.tar.gz upstream tarball into "..", and run the command "fakeroot debian/rules get-orig-source". The file "../cernlib_.orig.tar.gz" (e.g.) should be generated automatically. b) If you are a glutton for punishment, a new orig.tar.gz can be generated manually as follows. This is best done in a separate scratch directory that initially contains no files other than the 2006_src.tar.gz tarball from upstream. You will need to have a copy of the Debian source package in question (at least, the files under the debian directory) for reference. i) Uncompress the tarball; it will unpack into a directory named "2006". ii) Create a directory named cernlib-.orig ("cernlib" being the source package name, and the upstream version, including any ".dfsg*" suffix). iii) Create a subdirectory "upstream" under cernlib-.orig. iv) For each subdirectory or file inside the directory "2006/src" that is mentioned in the $(MY_MODULES) "make" variable at the top of debian/rules, do the following, supposing that the subdirectory or file is named . * mkdir -p cernlib-.orig/upstream/2006/src/ * cp -a 2006/src/ cernlib-.orig/upstream/2006/src/ * Delete non-free files: For each file or directory listed in debian/deadpool.txt, if that file or directory appears with the given path relative to cernlib-.orig/upstream/2006/src, delete it. * cd cernlib-.orig/upstream/ * tar czf src_.tar.gz 2006 * rm -r 2006 # remember, this is under the nascent Debian source # tree, NOT in your main scratch directory * Change back up to your scratch directory For any module tarball src_.tar.gz that contains only code identical to that in the last official Debian orig.tar.gz, you can just copy in that module tarball from the old unpacked orig.tar.gz to the new source directory, skipping the above bullet points. (Unless, of course, the module tarball needs to be rebuilt because it was just discovered to contain more non-free code.) v) tar cf cernlib_.orig.tar cernlib-.orig vi) gzip -v9 cernlib_.orig.tar -- Kevin B. McCarty , Thu, 26 Apr 2007 debian/patches/0000755000000000000000000000000012205714041010611 5ustar debian/patches/213-fix-test-suite-build.dpatch0000644000000000000000000000651512205714041016277 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 213-fix-test-suite-build.dpatch by Patrice Dumas ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix build of test-suite for tests during package build. @DPATCH@ diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam1/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam1/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam1/Imakefile 1997-04-10 08:33:14.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam1/Imakefile 2008-01-04 17:03:52.000000000 -0800 @@ -3,7 +3,7 @@ DefinePackageLibrary(NullParameter) -CernlibFortranProgramTarget(exam1,$(OBJS),$(PACKAGE_LIB),$(PACKAGE_LIB),graflib packlib) +CernlibFortranProgramTarget(exam1,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) TestTarget(exam1,gexam1.dat,gexam1.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam2/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam2/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam2/Imakefile 1997-04-10 08:33:20.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam2/Imakefile 2008-01-04 17:03:52.000000000 -0800 @@ -13,7 +13,7 @@ DefinePackageLibrary(NullParameter) -CernlibFortranProgramTarget(exam2,$(OBJS),$(PACKAGE_LIB),$(PACKAGE_LIB),graflib packlib) +CernlibFortranProgramTarget(exam2,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) TestTarget(exam2,gexam2.dat,gexam2.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam3/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam3/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam3/Imakefile 1997-04-10 08:33:34.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam3/Imakefile 2008-01-04 17:03:52.000000000 -0800 @@ -3,7 +3,7 @@ DefinePackageLibrary(NullParameter) -CernlibFortranProgramTarget(exam3,$(OBJS),$(PACKAGE_LIB),$(PACKAGE_LIB),graflib packlib) +CernlibFortranProgramTarget(exam3,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) TestTarget(exam3,gexam3.dat,gexam3.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam4/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam4/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam4/Imakefile 1997-04-10 08:33:37.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam4/Imakefile 2008-01-04 17:03:52.000000000 -0800 @@ -14,7 +14,7 @@ DefinePackageLibrary(NullParameter) -CernlibFortranProgramTarget(exam4,$(OBJS),$(PACKAGE_LIB),$(PACKAGE_LIB),graflib packlib) +CernlibFortranProgramTarget(exam4,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) TestTarget(exam4,gexam4.dat,gexam4.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam5/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam5/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam5/Imakefile 1997-04-10 08:33:38.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam5/Imakefile 2008-01-04 17:03:52.000000000 -0800 @@ -3,7 +3,7 @@ DefinePackageLibrary(NullParameter) -CernlibFortranProgramTarget(exam5,$(OBJS),$(PACKAGE_LIB),$(PACKAGE_LIB),graflib packlib) +CernlibFortranProgramTarget(exam5,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) TestTarget(exam5,gexam5.dat,gexam5.input) debian/patches/001-fix-missing-fluka.dpatch0000644000000000000000000000677512205714041015650 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 001-fix-missing-fluka.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Deal with FLUKA code having been purged from Debian's CERNLIB source. @DPATCH@ diff -urNad geant321-3.21.14.dfsg~/src/geant321/Imakefile geant321-3.21.14.dfsg/src/geant321/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/Imakefile 1998-03-05 03:20:07.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/Imakefile 2008-01-04 17:00:47.000000000 -0800 @@ -4,10 +4,11 @@ AllTarget(geant321) -LIBDIRS= block cdf cgpack fiface fluka gbase gcons gdraw \ @@\ +/* FLUKA removed from Debian source package for copyright reasons. */ +LIBDIRS= cdf cgpack gbase gcons gdraw \ @@\ geocad ggeom gheisha ghits ghrout ghutils giface \ @@\ giopa gkine gphys gscan gstrag gtrak guser gxint \ @@\ - miface miguti neutron peanut + miface miguti neutron SUBDIRS= $(LIBDIRS) data examples gxuser geant321 @@ -25,9 +26,12 @@ InstallLibrary(geant321,$(CERN_LIBDIR)) InstallLibraryAlias(geant321,geant,$(CERN_LIBDIR)) +/* FLUKA removed from Debian source package for copyright reasons. */ +/* SubdirDataFile($(LIBRARY),flukaaf.dat,data) InstallNonExecFileTarget(install.lib,flukaaf.dat,$(CERN_LIBDIR)) +*/ /* This will install the correct link for xsneut95.dat at CERN; * If you want a local copy of the file, just copy it there diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/Imakefile 1996-03-06 09:31:38.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/examples/Imakefile 2008-01-04 17:01:20.000000000 -0800 @@ -1,7 +1,10 @@ #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' /* for NamedMakeSubdirs */ +/* gexam4 needs fluka SUBDIRS= gexam1 gexam2 gexam3 gexam4 gexam5 +*/ +SUBDIRS= gexam1 gexam2 gexam3 gexam5 TestSubdirs($(SUBDIRS)) diff -urNad geant321-3.21.14.dfsg~/src/geant321/geant321/gcnmec.inc geant321-3.21.14.dfsg/src/geant321/geant321/gcnmec.inc --- geant321-3.21.14.dfsg~/src/geant321/geant321/gcnmec.inc 1995-10-24 03:20:31.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/geant321/gcnmec.inc 2008-01-04 17:00:47.000000000 -0800 @@ -16,13 +16,14 @@ PARAMETER(NMECA=45,IBLOWN=23) CHARACTER*4 CHNMEC(NMECA) * -* *** Two blank spaces for FISF and CAPF which do not exist +* *** Null out all FLUKA mechanisms since we've removed FLUKA code +* *** for DFSG reasons. -- Kevin McCarty, for Debian * * *** The low-neutron cross-sections have to be at the end for the * *** logics of the routine to work, and they have to start at * *** IBLOWN DATA CHNMEC / - + 'HADF', 'INEF', 'ELAF', 'NULL', 'NULL', + + 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', + 'HADG', 'INEG', 'ELAG', 'FISG', 'CAPG', + 'LOSS', 'PHOT', 'ANNI', 'COMP', 'BREM', + 'PAIR', 'DRAY', 'PFIS', 'RAYL', 'MUNU', diff -urNad geant321-3.21.14.dfsg~/src/geant321/miface/Imakefile geant321-3.21.14.dfsg/src/geant321/miface/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/miface/Imakefile 1995-10-24 03:21:53.000000000 -0700 +++ geant321-3.21.14.dfsg/src/geant321/miface/Imakefile 2008-01-04 17:00:47.000000000 -0800 @@ -1,5 +1,5 @@ SRCS_F= \ @@\ - gfmdis.F gfmfin.F gmicap.F gmiset.F gmorin.F gmplxs.F gmxsec.F + gmicap.F gmiset.F gmorin.F gmplxs.F gmxsec.F #ifdef CERNLIB_QMVAOS FORTRANSAVEOPTION=FortranSaveFlags debian/patches/000-unpack.sh.dpatch0000644000000000000000000000077012205714041014171 0ustar #!/bin/sh ## DP: This is a fake patch used to convince dpatch-edit-patch to unpack the ## DP: CERNLIB source code before trying to generate a diff from it. ## DP: This is a no-op if called when the source has already been unpacked, e.g. ## DP: if running "fakeroot debian/rules patch". ## DP: ## DP: Yes, this is an ugly hack. set -e case "$1" in -patch) [ -e Makefile ] || cp -p debian/add-ons/Makefile . make prefix=/usr stampdir/configure-stamp ;; -unpatch) exit 0 ;; *) exit 1 ;; esac debian/patches/114-install-scripts-properly.dpatch0000644000000000000000000000161012205714041017304 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 114-install-scripts-properly.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Install scripts properly (i.e. don't try to strip them). @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/scripts/Imakefile cernlib-2005.05.09.dfsg/src/scripts/Imakefile --- cernlib-2005.05.09.dfsg~/src/scripts/Imakefile 2004-07-29 10:17:08.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/scripts/Imakefile 2005-12-02 10:45:23.091782817 -0500 @@ -1,10 +1,10 @@ -InstallProgram(paw,$(CERN_BINDIR)) +InstallNamedProg(paw,paw,$(CERN_BINDIR)) #if defined(CERNLIB_SHIFT) InstallNamedProg(cernlib_shift,cernlib,$(CERN_BINDIR)) #else -InstallProgram(cernlib,$(CERN_BINDIR)) +InstallNamedProg(cernlib,cernlib,$(CERN_BINDIR)) #endif -InstallProgram(gxint,$(CERN_BINDIR)) +InstallNamedProg(gxint,gxint,$(CERN_BINDIR)) debian/patches/302-scripts-comply-with-FHS.dpatch0000644000000000000000000001431212205714041016660 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 302-scripts-comply-with-FHS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Put data files under /usr/share and assume $CERN is /usr by default ## DP: in scripts. (These values are filled in from add-ons/Makefile.) ## DP: Also some other improvements. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/scripts/gxint cernlib-2005.05.09.dfsg/src/scripts/gxint --- cernlib-2005.05.09.dfsg~/src/scripts/gxint 2005-04-18 11:41:16.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/scripts/gxint 2005-12-13 10:07:57.789716862 -0500 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # #******************************************* # @@ -17,8 +17,7 @@ #******************************************* line="******************************************************" - -if [ $# -eq 0 ] ; then +print_help() { cat << EoD GXINT [options] file(s) @@ -32,9 +31,13 @@ on all systems. X11 is the default. -v version version of the program library to use. Possible values - include pro ( default ), new and old. + include pro, new and old. This option only makes sense if you + have installed a non-Debian version of CERNLIB. In that case + you must have defined the environment variable \$CERN. -g geant_version - which version of geant to use. Current default is 315. + which version of geant to use. Current default is 321. This + also makes sense only if you have installed a non-Debian version + of CERNLIB. -h host useful with the -d X11 option only. Specify the hostname used for the display. Syntax identical to that of DISPLAY. @@ -43,16 +46,20 @@ Do not immediately run GEANT, but produce an executable file named outputfile. -L path - additional loader search path. Usefull if additional libraries - are specified with -l option. This option may be repeated to + additional loader search path. Useful if additional libraries + are specified with -l option. This option may be repeated to more than one pathname. - -l libary + -l library specify additional libraries. This option may be repeated to add several libs. -m do NOT use main program from cernlib area. EoD -exit +} + + +if [ $# -eq 0 ] ; then + print_help fi if [ -f /usr/bin/uname ] ; then @@ -66,52 +73,47 @@ fi SHOPT="d:v:g:h:o:L:l:m" - cmd=$0 # Check option set and give default values if [ -f /bin/getopt -o -f /usr/bin/getopt ] ; then set -- `getopt $SHOPT $*` ; cc=$? if [ $cc -ne 0 ] ; then echo "" echo "Usage:" - exec $cmd - exit + print_help ; exit 0 fi fi - -drv="/X11" ; ver="pro" ; OUT="${HOME}/GEANT$$" + +if [ -z "$TMPDIR" ] || [ "$TMPDIR" = "/tmp" ] ; then + TMPDIR="$HOME" +fi +drv="/X11" ; ver="" ; OUT="$TMPDIR/GEANT$$" gxint="" while [ $# -gt 0 ] do case $1 in - -d) drv="/$2"; shift ;; + -d) drv="/$2"; shift ;; -v) ver=$2; shift ;; -g) gvs=$2; shift ;; -h) DISPLAY=$2;export DISPLAY; shift ;; -o) OUT=$2; norun="1"; shift ;; - -L) userpath="$userpath -L$2"; shift ;; - -l) userlibs="$userlibs -l$2"; shift ;; + -L) userpath="$userpath -L$2"; shift ;; + -l) userlibs="$userlibs -l$2"; shift ;; -m) _m="1" ;; --) shift ; break ;; + --help|-\?) print_help ; exit 0 ;; *) break ;; esac shift done if [ $# -gt 0 ] ; then - pgm="$*" + pgm="$@" else echo "gxint_Warning: no user program specified" fi - -if [ -z "$CERN" ] ; then - if [ ! -d /cern ]; then - echo "gxint_Error: shell variable CERN must be set or /cern must exist" - exit 1 - fi - CERN="/cern" ; export CERN -fi +[ -z "$CERN" ] && export CERN="/usr" if [ "$drv" = "/GKS" ] ; then if [ -z "$GKSR" ] ; then @@ -143,6 +145,7 @@ CLIB="geant${gvs} pawlib graflib$drv packlib mathlib" [ -z "$_m" ] && gxint="${CERN}/${ver}/lib/gxint${gvs}.$_o" +[ "$CERN" = "/usr" -a -z "$ver" ] && gxint=/usr/share/geant321/gxint.f cat << EoD $line @@ -155,8 +158,10 @@ * gxint used : ${gxint:-user supplied} $line EoD - -$LDN -o $OUT $gxint $pgm $userpath $userlibs `cernlib -v $ver $CLIB`; cc=$? + +[ -z "$ver" ] && verflag="" || verflag="-v" +$LDN -o $OUT $gxint $pgm $userpath $userlibs `cernlib $verflag $ver $CLIB` ; \ +cc=$? [ $cc -ne 0 ] && exit $cc diff -urNad cernlib-2005.05.09.dfsg~/src/scripts/paw cernlib-2005.05.09.dfsg/src/scripts/paw --- cernlib-2005.05.09.dfsg~/src/scripts/paw 1995-02-07 04:54:06.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/scripts/paw 2005-12-13 10:10:17.850939931 -0500 @@ -21,9 +21,9 @@ 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" - + [ -z "$CERN" ] && CERN="/usr" + [ -z "$CERN_LEVEL" ] && ver="" || ver="$CERN_LEVEL" + [ -e "$CERN/$CERN_LEVEL/bin/pawX11" ] || drv="++" # use paw++ if no pawX11 while [ $# -gt 0 ] do case $1 in -d) drv=$2 ; shift ;; @@ -43,15 +43,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 fi - $GDIR/paw$drv $* - [ ! -s paw.metafile ] && rm paw.metafile + if [ ! -x "$GDIR/paw$drv" ] ; then + echo " Error: PAW executable $GDIR/paw${drv} does not exist!" + exit 1 + fi + "$GDIR/paw$drv" "$@" + [ ! -s paw.metafile ] && rm -f paw.metafile + [ ! -s PAW.METAFILE ] && rm -f PAW.METAFILE + + # clean up comis temporary working directories if empty + [ "`(echo /tmp/comis*) 2> /dev/null`" = '/tmp/comis*' ] || \ + rmdir /tmp/comis* > /dev/null 2>&1 || true + [ "`(echo "$TMPDIR"/comis*) 2> /dev/null`" = "$TMPDIR"/'comis*' ] || \ + rmdir "$TMPDIR"/comis* > /dev/null 2>&1 || true debian/patches/117-fix-optimizer-bug-in-gphot.dpatch0000644000000000000000000000254512205714041017416 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 117-fix-optimizer-bug-in-gphot.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Patch by Harald Vogt to work around compiler ## DP: optimization problems in src/geant321/gphys/gphot.F. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gphys/gphot.F cernlib-2005.05.09.dfsg/src/geant321/gphys/gphot.F --- cernlib-2005.05.09.dfsg~/src/geant321/gphys/gphot.F 1995-10-24 06:21:29.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/geant321/gphys/gphot.F 2005-12-07 15:01:52.558184613 -0500 @@ -240,7 +240,7 @@ ELSE C Radiative shell decay JS = JFN+1+2*NSHELL+ISHELL - JS = JPHFN+Q(JS) + JS = JPHFN + INT (Q(JS)) ! compiler optimiztion problem H. Vogt 2004/04/29 NPOINT = Q(JS) DO 40 I = 1,NPOINT IF(RN05.LT.Q(JS+I)) THEN @@ -296,7 +296,7 @@ ELSE c Nonradiative decay JS = JFN+1+3*NSHELL+ISHELL - JS = JPHFN+Q(JS) + JS = JPHFN + INT (Q(JS)) ! compiler optimiztion problem H. Vogt 2004/04/29 NPOINT = Q(JS) DO 60 I = 1,NPOINT IF(RN05.LT.Q(JS+I)) THEN debian/patches/307-use-canonical-cfortran.dpatch0000644000000000000000000005563512205714041016660 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 307-use-canonical-cfortran.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Use the most recent version of cfortran.h and cfortran.doc from ## DP: Debian package of cfortran, version 4.4-6. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.doc cernlib-2005.05.09.dfsg/src/cfortran/cfortran.doc --- cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.doc 1998-12-11 12:17:09.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/cfortran/cfortran.doc 2006-05-16 16:45:01.329802364 -0400 @@ -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 cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.h cernlib-2005.05.09.dfsg/src/cfortran/cfortran.h --- cernlib-2005.05.09.dfsg~/src/cfortran/cfortran.h 2002-09-11 13:05:51.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/cfortran/cfortran.h 2006-05-16 16:44:47.680553957 -0400 @@ -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,71 @@ 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) + *******/ + /* 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 +135,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 +152,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 +214,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 +231,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 +251,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 +356,8 @@ #endif #ifndef apolloFortran -#define COMMON_BLOCK_DEF(DEFINITION, NAME) DEFINITION NAME +/* "extern" removed (CFITSIO) */ +#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. */ @@ -512,7 +601,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 @@ -538,9 +627,14 @@ 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 +1412,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 +1420,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 +1438,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 +1446,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 +1490,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 +1556,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 +1699,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 +1743,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 +1763,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 +2076,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 +2084,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 +2122,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 +2140,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 +2211,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 +2238,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 +2257,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 +2332,7 @@ #define LOGICAL_cfI return C2FLOGICAL(A0); #endif #define LONG_cfI return A0; +#define LONGLONG_cfI return A0; /* added by MR December 2005 */ #define SHORT_cfI return A0; #define STRING_cfI return ; #define VOID_cfI return ; debian/patches/315-fixes-for-MacOSX.dpatch0000644000000000000000000000243212205714041015277 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 315-fixes-for-MacOSX.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Patch set (mostly due to Keisuke Fujii) to allow CERNLIB to compile ## DP: and run on OS X. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/Imakefile cernlib-2005.05.09.dfsg/src/Imakefile --- cernlib-2005.05.09.dfsg~/src/Imakefile 1996-12-16 10:08:41.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/Imakefile 2005-12-07 14:47:34.141148558 -0500 @@ -7,8 +7,12 @@ SUBDIRS= $(LIBDIRS) patchy cfortran #ifdef CERNLIB_UNIX +#ifdef CERNLIB_MACOSX +SUBDIRS:= $(SUBDIRS) scripts +#else SUBDIRS:= $(SUBDIRS) scripts mgr #endif +#endif InstallLibSubdirs($(LIBDIRS)) diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gxint/Imakefile cernlib-2005.05.09.dfsg/src/geant321/gxint/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/gxint/Imakefile 1997-01-29 11:37:40.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/geant321/gxint/Imakefile 2005-12-07 14:47:34.140148771 -0500 @@ -30,7 +30,7 @@ gxint321.f: gxint.F RemoveFile($@) - $(CPP) $(FORTRANALLDEFMDEPEND) < $^ | sed -e '/^$$/d' | CppSedMagic >$@ + FortranCmd -E $(FORTRANALLDEFMDEPEND) $^ | sed -e '/^$$/d' | CppSedMagic >$@ install.lib:: $(CERN_LIBDIR)/gxint.f debian/patches/124-fix-typo-ADRESS-ADDRESS.dpatch0000644000000000000000000000252312205714041016125 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 124-fix-typo-ADRESS-ADDRESS.dpatch by Lifeng Sun ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: fix typo: ADRESS -> ADDRESS. @DPATCH@ diff --git a/src/geant321/examples/gexam7/bootwk.inc b/src/geant321/examples/gexam7/bootwk.inc index 5c497b2..6f339d0 100644 --- a/src/geant321/examples/gexam7/bootwk.inc +++ b/src/geant321/examples/gexam7/bootwk.inc @@ -12,6 +12,6 @@ * COMMON/BOOTWK/JBOOT,EINCID C---------------------------------------------------------------------- -C BOOTSTRAP COMMON : JBOOT = BOOTSTRAP BANK ADRESS +C BOOTSTRAP COMMON : JBOOT = BOOTSTRAP BANK ADDRESS C EINCID = TOTAL ENERGY OF PRIMARY PARTICLE C---------------------------------------------------------------------- diff --git a/src/geant321/gheisha/settrk.F b/src/geant321/gheisha/settrk.F index f3efe90..cd5c3dd 100644 --- a/src/geant321/gheisha/settrk.F +++ b/src/geant321/gheisha/settrk.F @@ -23,7 +23,7 @@ C C --- CHECK PV ARRAY BOUNDARY --- IF(NTR .LE. MXGKPV) GOTO 10 PRINT 1000,NTR - 1000 FORMAT(' *SETTRK* NTR = ',I3,' WOULD ADRESS OUTSIDE PV ARRAY'/ + 1000 FORMAT(' *SETTRK* NTR = ',I3,' WOULD ADDRESS OUTSIDE PV ARRAY'/ $ ' ===> TRACK WILL NOT BE PUT ON STACK AND WILL BE LOST') GO TO 9999 C -- 1.7.4.1 debian/patches/00list0000644000000000000000000000153112206251426011653 0ustar 000-unpack.sh.dpatch 001-fix-missing-fluka.dpatch 002-compile-only-geant.dpatch 003-geant-dummy-functions.dpatch 109-fix-broken-xsneut95.dat-link.dpatch 114-install-scripts-properly.dpatch 117-fix-optimizer-bug-in-gphot.dpatch 121-fix-typo-lenght-length.dpatch 122-fix-typo-explicitely-explicitly.dpatch 123-fix-typo-preceeding-preceding.dpatch 124-fix-typo-ADRESS-ADDRESS.dpatch 203-compile-geant-with-ertrak.dpatch 210-improve-cfortran-header-files.dpatch 213-fix-test-suite-build.dpatch 301-datafiles-comply-with-FHS.dpatch 302-scripts-comply-with-FHS.dpatch 306-patch-assert.h-for-makedepend.dpatch 307-use-canonical-cfortran.dpatch 315-fixes-for-MacOSX.dpatch 321-support-gfortran.dpatch 602-debianize-kuip-helper-apps.dpatch 802-create-shared-libraries.dpatch 806-bump-mathlib-and-dependents-sonames.dpatch 807-static-link-some-tests-on-64-bit.dpatch debian/patches/210-improve-cfortran-header-files.dpatch0000644000000000000000000000365112205714041020126 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 210-improve-cfortran-header-files.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Protect against multiple inclusion and add explicit dependency on ## DP: cfortran.h to the CERNLIB C headers. @DPATCH@ diff -urNad cernlib-2005.05.09/src/cfortran/geant315.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/geant315.h --- cernlib-2005.05.09/src/cfortran/geant315.h 1996-05-15 05:24:06.000000000 -0400 +++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/geant315.h 2005-06-10 12:51:31.080979393 -0400 @@ -1,3 +1,11 @@ +#ifndef _GEANT315_H +#define _GEANT315_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + /*------------------------------------------------------------------ fortran filename : /cern/new/src/cfs/geant315/abbrch.f ------------------------------------------------------------------*/ @@ -4797,3 +4805,9 @@ #define ZEREGS() CCALLSFSUB0(ZEREGS,zeregs) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* #ifndef _GEANT315_H */ diff -urNad cernlib-2005.05.09/src/cfortran/geant321.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/geant321.h --- cernlib-2005.05.09/src/cfortran/geant321.h 1996-05-15 05:24:07.000000000 -0400 +++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/geant321.h 2005-06-10 12:51:31.148964883 -0400 @@ -1,3 +1,11 @@ +#ifndef _GEANT321_H +#define _GEANT321_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + /*------------------------------------------------------------------ fortran filename : abbrch.f ------------------------------------------------------------------*/ @@ -6099,3 +6107,9 @@ PROTOCCALLSFFUN3(DOUBLE,XSEPRO,xsepro,DOUBLE,DOUBLE,DOUBLE) #define XSEPRO(A2,A3,A4) CCALLSFFUN3(XSEPRO,xsepro,DOUBLE,DOUBLE,DOUBLE,A2,A3,A4) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* #ifndef _GEANT321_H */ debian/patches/602-debianize-kuip-helper-apps.dpatch0000644000000000000000000000165212205714041017425 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 602-debianize-kuip-helper-apps.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Use Debian-specific programs for some KUIP helper apps. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gxint/gpawpp.F cernlib-2005.05.09.dfsg/src/geant321/gxint/gpawpp.F --- cernlib-2005.05.09.dfsg~/src/geant321/gxint/gpawpp.F 1995-10-24 06:21:49.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/geant321/gxint/gpawpp.F 2006-06-23 09:58:20.134158881 -0400 @@ -53,7 +53,12 @@ CALL KUEXEC('HOST_EDITOR ''aixterm -e vi &''') #endif #if (!defined(CERNLIB_IBMRT))&&(!defined(CERNLIB_VAX)) +# ifdef CERNLIB_DEBIAN + CALL KUEXEC('HOST_EDITOR ''x-terminal-emulator ' // + + '-e sensible-editor &''') +# else CALL KUEXEC('HOST_EDITOR ''xterm -e vi &''') +# endif #endif ENDIF #if defined(CERNLIB_COMIS) debian/patches/301-datafiles-comply-with-FHS.dpatch0000644000000000000000000000163512205714041017130 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 301-datafiles-comply-with-FHS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Put data files under /usr/share (defined in add-ons/Makefile). @DPATCH@ diff -urNad cernlib-2005.05.09/src/geant321/miface/gmorin.F /tmp/dpep.5a0xP1/cernlib-2005.05.09/src/geant321/miface/gmorin.F --- cernlib-2005.05.09/src/geant321/miface/gmorin.F 1996-09-30 10:26:05.000000000 -0400 +++ /tmp/dpep.5a0xP1/cernlib-2005.05.09/src/geant321/miface/gmorin.F 2005-06-08 16:39:21.850830809 -0400 @@ -112,7 +112,8 @@ OPEN(UNIT=MICROS,FILE=XSFILE, STATUS='OLD',READONLY) #endif #if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY) - XSFILE = 'xsneut95.dat' + XSFILE = '/usr/share' + + // '/geant321-data/xsneut95.dat' INQUIRE(FILE=XSFILE,EXIST=EXISTS) IF(.NOT.EXISTS) THEN CHROOT=' ' debian/patches/203-compile-geant-with-ertrak.dpatch0000644000000000000000000000205012205714041017260 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 203-compile-geant-with-ertrak.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Ertrak code added to library in Debian since I saw no reason to exclude. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/Imakefile cernlib-2005.05.09.dfsg/src/geant321/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/Imakefile 2005-11-23 15:41:44.798536817 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/Imakefile 2005-11-23 15:43:39.618959247 +0000 @@ -5,11 +5,12 @@ AllTarget(geant321) /* FLUKA removed from Debian source package for copyright reasons. */ +/* Ertrak added to Debian since I saw no reason to leave it out. */ LIBDIRS= cdf cgpack gbase gcons gdraw \ @@\ geocad ggeom gheisha ghits ghrout ghutils giface \ @@\ giopa gkine gphys gscan gstrag gtrak guser gxint \ @@\ - miface miguti neutron - + miface miguti neutron \ @@\ + erdecks erpremc matx55 SUBDIRS= $(LIBDIRS) data examples gxuser geant321 debian/patches/122-fix-typo-explicitely-explicitly.dpatch0000644000000000000000000000747712205714041020613 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 122-fix-typo-explicitely-explicitly.dpatch by Lifeng Sun ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: fix typo: explicitely -> explicitly. @DPATCH@ diff --git a/src/geant321/cdf/g321x.c b/src/geant321/cdf/g321x.c index c35fede..e4280cd 100644 --- a/src/geant321/cdf/g321x.c +++ b/src/geant321/cdf/g321x.c @@ -1975,7 +1975,7 @@ static char *_GEANT_CVOL_guidance[] = { "Clipping commands.", "TUBE, CONE, SPHE are available). If '*' is given as the name of the", "volume to be clipped, all volumes are clipped by the given shape.", "A volume can be clipped at most twice (even by", - "different shapes); if a volume is explicitely clipped", + "different shapes); if a volume is explicitly clipped", "twice, the '*' will not act on it anymore. Giving '.' as the name", "of the volume to be clipped will reset the clipping." }; static KmMenu _GEANT_CVOL = { &_GEANT_DRAWING, (KmMenu*)0, "/GEANT/CVOL", @@ -8315,7 +8315,7 @@ static char *_GEANT_CVOL_guidance[] = { "Clipping commands.", "TUBE, CONE, SPHE are available). If '*' is given as the name of the", "volume to be clipped, all volumes are clipped by the given shape.", "A volume can be clipped at most twice (even by", - "different shapes); if a volume is explicitely clipped", + "different shapes); if a volume is explicitly clipped", "twice, the '*' will not act on it anymore. Giving '.' as the name", "of the volume to be clipped will reset the clipping." }; static KmMenu _GEANT_CVOL = { &_GEANT_DRAWING, (KmMenu*)0, "/GEANT/CVOL", diff --git a/src/geant321/cdf/g321x.cdf b/src/geant321/cdf/g321x.cdf index ae722ff..c50c497 100644 --- a/src/geant321/cdf/g321x.cdf +++ b/src/geant321/cdf/g321x.cdf @@ -27,7 +27,7 @@ to clip each different volume by means of a different shape (BOX , TUBE, CONE, SPHE are available). If '*' is given as the name of the volume to be clipped, all volumes are clipped by the given shape. A volume can be clipped at most twice (even by -different shapes); if a volume is explicitely clipped +different shapes); if a volume is explicitly clipped twice, the '*' will not act on it anymore. Giving '.' as the name of the volume to be clipped will reset the clipping. diff --git a/src/geant321/doc/gedoc b/src/geant321/doc/gedoc index a3245e2..c53c24c 100644 --- a/src/geant321/doc/gedoc +++ b/src/geant321/doc/gedoc @@ -403,7 +403,7 @@ The covariance of x_$impr sigma_$impr = (sigma_d:$-1+sigma_i:$-1):$-1 -shows explicitely the improvement of the trajectory parameters. +shows explicitly the improvement of the trajectory parameters. This procedure can be easily generalized to join more than 2 measurements on the particle trajectory. If e.g. between the two diff --git a/src/geant321/gphys/gphysi.F b/src/geant321/gphys/gphysi.F index dabd45e..0dbd77a 100644 --- a/src/geant321/gphys/gphysi.F +++ b/src/geant321/gphys/gphysi.F @@ -114,7 +114,7 @@ C CALL GMAIL(0,0) IF(NRNDM(1).EQ.0.AND.NRNDM(2).EQ.0) THEN * -* The random number sequence has not been explicitely +* The random number sequence has not been explicitly * initialised via a data card. See whether we can initialise * it with the words 19/20 of the JRUNG data structure. IF(IQ(JRUNG+19).NE.0.OR.IQ(JRUNG+20).NE.0) THEN @@ -173,7 +173,7 @@ C ENDIF * * If Cerenkov generation is on, activate Light absorbtion unless -* explicitely switched off by the user +* explicitly switched off by the user * KLABS=Q(JTMED+31) IF(ITCKOV.NE.0) THEN @@ -351,7 +351,7 @@ C ENDIF * * If Cerenkov generation is on, activate Light absorbtion unless -* explicitely switched off by the user +* explicitly switched off by the user * KLABS=Q(JTP+31) IF(ITCKOV.NE.0) THEN debian/patches/003-geant-dummy-functions.dpatch0000644000000000000000000002000512205714041016530 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 003-geant-dummy-functions.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Add stub GEANT functions to avoid missing symbols due to FLUKA removal. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gkine/Imakefile cernlib-2005.05.09.dfsg/src/geant321/gkine/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/gkine/Imakefile 1996-03-28 16:21:20.000000000 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/gkine/Imakefile 2005-11-29 15:59:27.035065621 +0000 @@ -1,6 +1,9 @@ SRCS_F= gfkine.F gfvert.F gludky.F glund.F glundi.F gpkine.F \ @@\ gpkinx.F gpvert.F gskine.F gskinu.F gsvert.F gsveru.F gtau.F +/* Dummy file containing stubs for deleted FLUKA and mclibs functions: */ +SRCS_C= dummy.c + #ifdef CERNLIB_QMVAOS FORTRANSAVEOPTION=FortranSaveFlags FORTRANOPTIONS = -math_library accurate $(FORTRANSAVEOPTION) diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gkine/dummy.c cernlib-2005.05.09.dfsg/src/geant321/gkine/dummy.c --- cernlib-2005.05.09.dfsg~/src/geant321/gkine/dummy.c 1970-01-01 00:00:00.000000000 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/gkine/dummy.c 2005-11-29 16:55:14.274440352 +0000 @@ -0,0 +1,205 @@ +/* Dummy file to avoid undefined symbols in the library */ +/* Kevin McCarty, 14 Jan 2003 */ +/* Last revised 22 November 2005 */ + +#include +#include +#include + +/* Want the dummy functions to be weakly defined so they may be overridden + * without error. */ + +#define kludge(x) #x +#define stringify(x) kludge(x) +#define underline(x) __ ## x + +#define DUMMY(domain, UPPERNAME, fortranname_, returntype) \ +returntype fortranname_() {print_dummy(#domain,#UPPERNAME);} + +#define WEAKDUMMY(domain, UPPERNAME, fortranname_, returntype) \ +static returntype underline(fortranname_)() {print_dummy(#domain,#UPPERNAME);} \ +void fortranname_() \ + __attribute__ ((weak, alias (stringify(underline(fortranname_))) )) + +static void print_dummy(const char *domain, const char *function) +{ + fprintf(stderr, "GEANT 3.21: Now in dummy %s routine.\n", function); + fprintf(stderr, +"If you see this message, you are presumably trying to call (possibly\n" +"indirectly) the %s routine"); + + if (strcmp(domain, "Jetset") == 0) + fprintf(stderr, +" in the Jetset library.\n" +#if defined (CERNLIB_DEBIAN) +"To obtain the Jetset library, please see the file\n" +"/usr/share/doc/geant321/README.Debian\n" +#endif + ); + + else if (strcmp(domain, "Fluka") == 0) + fprintf(stderr, +" in the FLUKA library.\n" +"FLUKA is unfortunately not available in this distribution of CERNLIB for\n" +"licensing reasons" +#if defined (CERNLIB_DEBIAN) +"; please see the file /usr/share/doc/geant321/README.Debian\n" +"for details.\n" +#else +".\n" +#endif + ); + + else if (strcmp(domain, "User") == 0) + fprintf(stderr, ". This routine is not built into GEANT;\n" +"you must write code for it yourself. Please see the documentation" +#if defined (CERNLIB_DEBIAN) +"\n(for instance in the geant321-doc package)" +#endif +".\n"); + + exit(EXIT_FAILURE); +} + +/* Functions that the user is supposed to set up */ +WEAKDUMMY(User, UGINIT, uginit_, void); +WEAKDUMMY(User, UGLAST, uglast_, void); + +/* Functions in the non-free Jetset library, which can be used + * if it's installed */ +WEAKDUMMY(Jetset, LU1ENT, lu1ent_, void); +WEAKDUMMY(Jetset, LUCOMP, lucomp_, int); +WEAKDUMMY(Jetset, LUEEVT, lueevt_, void); +WEAKDUMMY(Jetset, LUEXEC, luexec_, void); + +/* N.B. When the libgeant321 dynamic soversion is bumped, at the same time + * everything below this point except the dummy FLDIST and FLINIT subroutines + * may be deleted; those should be turned into weak aliases in case anyone + * wants to create a separate GEANT-FLUKA library. */ + +/* From src/geant321/fluka (not the complete set of functions, just + * those referenced from external files) */ +WEAKDUMMY(Fluka, DOST, dost_, double); +WEAKDUMMY(Fluka, EEXLVL, eexlvl_, void); +WEAKDUMMY(Fluka, EVENTV, eventv_, void); +WEAKDUMMY(Fluka, EVEVAP, evevap_, void); +WEAKDUMMY(Fluka, EVVINI, evvini_, void); +WEAKDUMMY(Fluka, FKENER, fkener_, double); +WEAKDUMMY(Fluka, FKZERO, fkzero_, void); +WEAKDUMMY(Fluka, NIZLNW, nizlnw_, void); +WEAKDUMMY(Fluka, NUCREL, nucrel_, void); +WEAKDUMMY(Fluka, RACO, raco_, void); +WEAKDUMMY(Fluka, SAMCST, samcst_, void); +WEAKDUMMY(Fluka, SIGEL, sigel_, void); +WEAKDUMMY(Fluka, SITSAO, sitsao_, double); + +/* The following dummy functions are added due to the removal + * of the corresponding code from GEANT (it is also part of FLUKA). + * We are constrained to keep the ABI for the dynamic library, so + * these dummy functions must be kept until next time the libgeant321 + * soversion is changed. */ + +/* From src/geant321/fiface */ +DUMMY(Fluka, FLDIST, fldist_, void); +DUMMY(Fluka, FLINIT, flinit_, void); +DUMMY(Fluka, FLUFIN, flufin_, void); + +/* From src/geant321/miface */ +DUMMY(Fluka, GFMFIN, gfmfin_, void); +DUMMY(Fluka, GFMDIS, gfmdis_, void); + +/* From src/geant321/block */ +DUMMY(Fluka, FDEVAP, fdevap_, void); +DUMMY(Fluka, FDNOPT, fdnopt_, void); +DUMMY(Fluka, FDPREE, fdpree_, void); +DUMMY(Fluka, FLKDT1, flkdt1_, void); +DUMMY(Fluka, FLKDT2, flkdt2_, void); +DUMMY(Fluka, FLKDT3, flkdt3_, void); +DUMMY(Fluka, FLKDT4, flkdt4_, void); +DUMMY(Fluka, FLKDT5, flkdt5_, void); +DUMMY(Fluka, FLKDT6, flkdt6_, void); +DUMMY(Fluka, FLKDT7, flkdt7_, void); + +/* From src/geant321/peanut */ +DUMMY(Fluka, BIMNXT, bimnxt_, void); /* alternate entry to BIMSEL */ +DUMMY(Fluka, BIMSEL, bimsel_, void); +DUMMY(Fluka, COSLEG, cosleg_, double); +DUMMY(Fluka, FEKFNC, fekfnc_, double); +DUMMY(Fluka, FPFRNC, fpfrnc_, double); +DUMMY(Fluka, FRADNC, fradnc_, double); +DUMMY(Fluka, FRHINC, frhinc_, double); +DUMMY(Fluka, FRHONC, frhonc_, double); +DUMMY(Fluka, NCLVFX, nclvfx_, double); /* alternate entry to PFNCLV */ +DUMMY(Fluka, NCLVIN, nclvin_, void); +DUMMY(Fluka, NCLVST, nclvst_, void); +DUMMY(Fluka, NUCNUC, nucnuc_, void); +DUMMY(Fluka, NWINXT, nwinxt_, void); /* alternate entry to NWISEL */ +DUMMY(Fluka, NWISEL, nwisel_, void); +DUMMY(Fluka, PEANUT, peanut_, void); +DUMMY(Fluka, PFNCLV, pfnclv_, double); +DUMMY(Fluka, PHDSET, phdset_, void); +DUMMY(Fluka, PHDWLL, phdwll_, void); +DUMMY(Fluka, PIOABS, pioabs_, void); +DUMMY(Fluka, PREPRE, prepre_, void); +DUMMY(Fluka, RSCOMP, rscomp_, void); /* alternate entry to SBCOMP */ +DUMMY(Fluka, RSTNXT, rstnxt_, void); /* alternate entry to RSTSEL */ +DUMMY(Fluka, RSTSEL, rstsel_, void); +DUMMY(Fluka, SBCOMP, sbcomp_, void); +DUMMY(Fluka, SIGFER, sigfer_, void); +DUMMY(Fluka, UMOFIN, umofin_, void); +DUMMY(Fluka, XINNEU, xinneu_, double); +DUMMY(Fluka, XINPRO, xinpro_, double); + +/* The following dummy common blocks are added for the same reason. + * The number of bytes required was determined by inspecting the existing + * shared libraries in the 12 official Debian architectures and determining + * the maximum size of each common block there. */ + +#define COMMON(fortranname_, size) \ + struct { char c[size]; } fortranname_ = { { 0, } } + +COMMON(fkadhn_, 1376); +COMMON(fkadhp_, 3712); +COMMON(fkbala_, 288); +COMMON(fkcd97_, 1152); +COMMON(fkchpa_, 1472); +COMMON(fkchpr_, 576); +COMMON(fkcmcy_, 176); +COMMON(fkcomc_, 7424); +COMMON(fkcosp_, 64); +COMMON(fkdecc_,10816); +COMMON(fkdech_, 4328); +COMMON(fkenco_, 16); +COMMON(fkeva0_,60960); +COMMON(fkfinu_,52000); +COMMON(fkhadf_, 352); +COMMON(fkheac_, 96); +COMMON(fkheav_, 5408); +COMMON(fkhet7_, 64); +COMMON(fkhetp_, 32); +COMMON(fkhigf_, 1632); +COMMON(fkidgb_, 16); +COMMON(fkinpf_, 32); +COMMON(fkisot_,10208); +COMMON(fkmapa_, 5824); +COMMON(fknegx_, 128); +COMMON(fknuct_, 16); +COMMON(fknuda_, 1248); +COMMON(fknuge_, 1120); +COMMON(fknugi_,26944); +COMMON(fknuii_, 1888); +COMMON(fknule_,18048); +COMMON(fknupw_, 32); +COMMON(fkpapr_, 2400); +COMMON(fkpare_, 256); +COMMON(fkparn_, 7296); +COMMON(fkpart_, 9696); +COMMON(fkploc_, 2864); +COMMON(fkquar_, 832); +COMMON(fkreac_,50976); +COMMON(fkredv_, 2368); +COMMON(fkresn_, 256); +COMMON(fkrun_, 32); +COMMON(fkslop_, 608); +COMMON(fkxsep_,13600); + debian/patches/301-datafiles-comply-with-FHS.dpatch.in0000644000000000000000000000163312205714041017533 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 301-datafiles-comply-with-FHS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Put data files under @DATADIR@ (defined in add-ons/Makefile). @DPATCH@ diff -urNad cernlib-2005.05.09/src/geant321/miface/gmorin.F /tmp/dpep.5a0xP1/cernlib-2005.05.09/src/geant321/miface/gmorin.F --- cernlib-2005.05.09/src/geant321/miface/gmorin.F 1996-09-30 10:26:05.000000000 -0400 +++ /tmp/dpep.5a0xP1/cernlib-2005.05.09/src/geant321/miface/gmorin.F 2005-06-08 16:39:21.850830809 -0400 @@ -112,7 +112,8 @@ OPEN(UNIT=MICROS,FILE=XSFILE, STATUS='OLD',READONLY) #endif #if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY) - XSFILE = 'xsneut95.dat' + XSFILE = '@DATADIR@' + + // '/geant321-data/xsneut95.dat' INQUIRE(FILE=XSFILE,EXIST=EXISTS) IF(.NOT.EXISTS) THEN CHROOT=' ' debian/patches/807-static-link-some-tests-on-64-bit.dpatch0000644000000000000000000000751612205714041020263 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 807-static-link-some-tests-on-64-bit.dpatch by Kevin B. McCarty ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Statically link certain test programs against CERN libraries on ## DP: 64-bit systems, since CERNLIB's memory management is hopelessly ## DP: broken there. @DPATCH@ diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam1/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam1/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam1/Imakefile 2008-01-04 17:05:50.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam1/Imakefile 2008-01-04 17:10:09.000000000 -0800 @@ -3,7 +3,11 @@ DefinePackageLibrary(NullParameter) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_QMLXIA64) +CernlibFortranStaticTarget(exam1,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#else CernlibFortranProgramTarget(exam1,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#endif TestTarget(exam1,gexam1.dat,gexam1.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam2/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam2/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam2/Imakefile 2008-01-04 17:05:51.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam2/Imakefile 2008-01-04 17:10:55.000000000 -0800 @@ -13,7 +13,11 @@ DefinePackageLibrary(NullParameter) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_QMLXIA64) +CernlibFortranStaticTarget(exam2,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#else CernlibFortranProgramTarget(exam2,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#endif TestTarget(exam2,gexam2.dat,gexam2.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam3/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam3/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam3/Imakefile 2008-01-04 17:05:51.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam3/Imakefile 2008-01-04 17:11:26.000000000 -0800 @@ -3,7 +3,11 @@ DefinePackageLibrary(NullParameter) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_QMLXIA64) +CernlibFortranStaticTarget(exam3,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#else CernlibFortranProgramTarget(exam3,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#endif TestTarget(exam3,gexam3.dat,gexam3.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam4/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam4/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam4/Imakefile 2008-01-04 17:05:51.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam4/Imakefile 2008-01-04 17:11:57.000000000 -0800 @@ -14,7 +14,11 @@ DefinePackageLibrary(NullParameter) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_QMLXIA64) +CernlibFortranStaticTarget(exam4,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#else CernlibFortranProgramTarget(exam4,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#endif TestTarget(exam4,gexam4.dat,gexam4.input) diff -urNad geant321-3.21.14.dfsg~/src/geant321/examples/gexam5/Imakefile geant321-3.21.14.dfsg/src/geant321/examples/gexam5/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/examples/gexam5/Imakefile 2008-01-04 17:05:51.000000000 -0800 +++ geant321-3.21.14.dfsg/src/geant321/examples/gexam5/Imakefile 2008-01-04 17:12:26.000000000 -0800 @@ -3,7 +3,11 @@ DefinePackageLibrary(NullParameter) +#if defined(CERNLIB_LINUX) && defined(CERNLIB_QMLXIA64) +CernlibFortranStaticTarget(exam5,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#else CernlibFortranProgramTarget(exam5,$(OBJS),NullParameter,NullParameter,graflib packlib geant321) +#endif TestTarget(exam5,gexam5.dat,gexam5.input) debian/patches/302-scripts-comply-with-FHS.dpatch.in0000644000000000000000000001433012205714041017265 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 302-scripts-comply-with-FHS.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Put data files under @DATADIR@ and assume $CERN is @PREFIX@ by default ## DP: in scripts. (These values are filled in from add-ons/Makefile.) ## DP: Also some other improvements. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/scripts/gxint cernlib-2005.05.09.dfsg/src/scripts/gxint --- cernlib-2005.05.09.dfsg~/src/scripts/gxint 2005-04-18 11:41:16.000000000 -0400 +++ cernlib-2005.05.09.dfsg/src/scripts/gxint 2005-12-13 10:07:57.789716862 -0500 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # #******************************************* # @@ -17,8 +17,7 @@ #******************************************* line="******************************************************" - -if [ $# -eq 0 ] ; then +print_help() { cat << EoD GXINT [options] file(s) @@ -32,9 +31,13 @@ on all systems. X11 is the default. -v version version of the program library to use. Possible values - include pro ( default ), new and old. + include pro, new and old. This option only makes sense if you + have installed a non-Debian version of CERNLIB. In that case + you must have defined the environment variable \$CERN. -g geant_version - which version of geant to use. Current default is 315. + which version of geant to use. Current default is 321. This + also makes sense only if you have installed a non-Debian version + of CERNLIB. -h host useful with the -d X11 option only. Specify the hostname used for the display. Syntax identical to that of DISPLAY. @@ -43,16 +46,20 @@ Do not immediately run GEANT, but produce an executable file named outputfile. -L path - additional loader search path. Usefull if additional libraries - are specified with -l option. This option may be repeated to + additional loader search path. Useful if additional libraries + are specified with -l option. This option may be repeated to more than one pathname. - -l libary + -l library specify additional libraries. This option may be repeated to add several libs. -m do NOT use main program from cernlib area. EoD -exit +} + + +if [ $# -eq 0 ] ; then + print_help fi if [ -f /usr/bin/uname ] ; then @@ -66,52 +73,47 @@ fi SHOPT="d:v:g:h:o:L:l:m" - cmd=$0 # Check option set and give default values if [ -f /bin/getopt -o -f /usr/bin/getopt ] ; then set -- `getopt $SHOPT $*` ; cc=$? if [ $cc -ne 0 ] ; then echo "" echo "Usage:" - exec $cmd - exit + print_help ; exit 0 fi fi - -drv="/X11" ; ver="pro" ; OUT="${HOME}/GEANT$$" + +if [ -z "$TMPDIR" ] || [ "$TMPDIR" = "/tmp" ] ; then + TMPDIR="$HOME" +fi +drv="/X11" ; ver="" ; OUT="$TMPDIR/GEANT$$" gxint="" while [ $# -gt 0 ] do case $1 in - -d) drv="/$2"; shift ;; + -d) drv="/$2"; shift ;; -v) ver=$2; shift ;; -g) gvs=$2; shift ;; -h) DISPLAY=$2;export DISPLAY; shift ;; -o) OUT=$2; norun="1"; shift ;; - -L) userpath="$userpath -L$2"; shift ;; - -l) userlibs="$userlibs -l$2"; shift ;; + -L) userpath="$userpath -L$2"; shift ;; + -l) userlibs="$userlibs -l$2"; shift ;; -m) _m="1" ;; --) shift ; break ;; + --help|-\?) print_help ; exit 0 ;; *) break ;; esac shift done if [ $# -gt 0 ] ; then - pgm="$*" + pgm="$@" else echo "gxint_Warning: no user program specified" fi - -if [ -z "$CERN" ] ; then - if [ ! -d /cern ]; then - echo "gxint_Error: shell variable CERN must be set or /cern must exist" - exit 1 - fi - CERN="/cern" ; export CERN -fi +[ -z "$CERN" ] && export CERN="@PREFIX@" if [ "$drv" = "/GKS" ] ; then if [ -z "$GKSR" ] ; then @@ -143,6 +145,7 @@ CLIB="geant${gvs} pawlib graflib$drv packlib mathlib" [ -z "$_m" ] && gxint="${CERN}/${ver}/lib/gxint${gvs}.$_o" +[ "$CERN" = "@PREFIX@" -a -z "$ver" ] && gxint=@DATADIR@/geant321/gxint.f cat << EoD $line @@ -155,8 +158,10 @@ * gxint used : ${gxint:-user supplied} $line EoD - -$LDN -o $OUT $gxint $pgm $userpath $userlibs `cernlib -v $ver $CLIB`; cc=$? + +[ -z "$ver" ] && verflag="" || verflag="-v" +$LDN -o $OUT $gxint $pgm $userpath $userlibs `cernlib $verflag $ver $CLIB` ; \ +cc=$? [ $cc -ne 0 ] && exit $cc diff -urNad cernlib-2005.05.09.dfsg~/src/scripts/paw cernlib-2005.05.09.dfsg/src/scripts/paw --- cernlib-2005.05.09.dfsg~/src/scripts/paw 1995-02-07 04:54:06.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/scripts/paw 2005-12-13 10:10:17.850939931 -0500 @@ -21,9 +21,9 @@ 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" - + [ -z "$CERN" ] && CERN="@PREFIX@" + [ -z "$CERN_LEVEL" ] && ver="" || ver="$CERN_LEVEL" + [ -e "$CERN/$CERN_LEVEL/bin/pawX11" ] || drv="++" # use paw++ if no pawX11 while [ $# -gt 0 ] do case $1 in -d) drv=$2 ; shift ;; @@ -43,15 +43,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 fi - $GDIR/paw$drv $* - [ ! -s paw.metafile ] && rm paw.metafile + if [ ! -x "$GDIR/paw$drv" ] ; then + echo " Error: PAW executable $GDIR/paw${drv} does not exist!" + exit 1 + fi + "$GDIR/paw$drv" "$@" + [ ! -s paw.metafile ] && rm -f paw.metafile + [ ! -s PAW.METAFILE ] && rm -f PAW.METAFILE + + # clean up comis temporary working directories if empty + [ "`(echo /tmp/comis*) 2> /dev/null`" = '/tmp/comis*' ] || \ + rmdir /tmp/comis* > /dev/null 2>&1 || true + [ "`(echo "$TMPDIR"/comis*) 2> /dev/null`" = "$TMPDIR"/'comis*' ] || \ + rmdir "$TMPDIR"/comis* > /dev/null 2>&1 || true debian/patches/002-compile-only-geant.dpatch0000644000000000000000000000121412205714041015776 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 002-compile-only-geant.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Only build GEANT from the master Imakefile. @DPATCH@ diff -urNad geant321-2005.05.09.dfsg~/src/Imakefile geant321-2005.05.09.dfsg/src/Imakefile --- geant321-2005.05.09.dfsg~/src/Imakefile 1996-12-16 10:08:41.000000000 -0500 +++ geant321-2005.05.09.dfsg/src/Imakefile 2006-07-05 17:58:27.882911257 -0400 @@ -2,7 +2,7 @@ #define PassCDebugFlags -LIBDIRS= packlib pawlib graflib mathlib geant321 mclibs phtools +LIBDIRS= geant321 SUBDIRS= $(LIBDIRS) patchy cfortran debian/patches/321-support-gfortran.dpatch0000644000000000000000000000242012205714041015633 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 321-support-gfortran.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Patch for gfortran support, taken from upstream's CERNLIB 2006 release. @DPATCH@ diff -urNad geant321-3.21.14.dfsg~/src/geant321/gtrak/Imakefile geant321-3.21.14.dfsg/src/geant321/gtrak/Imakefile --- geant321-3.21.14.dfsg~/src/geant321/gtrak/Imakefile 2005-03-24 11:40:10.000000000 -0500 +++ geant321-3.21.14.dfsg/src/geant321/gtrak/Imakefile 2007-10-26 19:05:25.000000000 -0400 @@ -20,7 +20,7 @@ FORTRANOPTIONS = $(FORTRANSAVEOPTION) #endif -#if defined(CERNLIB_LNX) && !defined(CERNLIB_QMLXIA64) +#if defined(CERNLIB_LNX) && !defined(CERNLIB_QMLXIA64) && !defined(CERNLIB_GFORTRAN) FDEBUGFLAGS = -O0 FORTRANOPTIONS = $(FORTRANSAVEOPTION) #endif diff -urNad geant321-3.21.14.dfsg~/src/scripts/gxint geant321-3.21.14.dfsg/src/scripts/gxint --- geant321-3.21.14.dfsg~/src/scripts/gxint 2007-10-26 19:05:24.000000000 -0400 +++ geant321-3.21.14.dfsg/src/scripts/gxint 2007-10-26 19:06:20.000000000 -0400 @@ -140,6 +140,7 @@ ConvexOS) LDN="fc" ;; DomainOS) LDN="ld" ;_o="bin" ;; HP-UX) LDN="fort77";; + Linux) LDN="gfortran" ;; esac CLIB="geant${gvs} pawlib graflib$drv packlib mathlib" debian/patches/README0000644000000000000000000001002312205714041011465 0ustar Notes on Debian patches to CERNLIB source: ------------------------------------------ All patches in this directory are, unless otherwise specified in the patch header, copyright 2001-2008 Kevin B. McCarty and are licensed under the GNU General Public License version 2 or later, at your option. The GNU GPL may be found at http://www.gnu.org/licenses/gpl.html or, on Debian systems, at /usr/share/common-licenses/GPL . Dpatch is used because some of the files in this directory are really shell scripts, and no other patch system (quilt, cdbs, etc.) appears to support this. (Am I the only person using this "feature" of dpatch?) Dpatch files that are really patches are named NNN-.dpatch while dpatch files that are shell scripts are named NNN-.sh.dpatch NNN is a three digit number ranging from 000 through 999. Note that, contrary to the usual practice, the file debian/patches/00list (listing the patches to be applied) is auto-generated by "debian/rules clean", and may be further modified in the stampdir/configure-stamp target of the debian/add-ons/Makefile (called from "debian/rules unpack") depending upon settings in $DEB_BUILD_OPTIONS. See debian/README.source for a list of supported $DEB_BUILD_OPTIONS parameters. A few of the patches (*.dpatch.in) include values that need to be filled in at configure time; this is also done in the stampdir/configure-stamp target of debian/add-ons/Makefile. (You do not _really_ need dpatch to work with these patches; they are applied for non-Debian systems in a hacky way by the patch target of debian/add-ons/Makefile.) The numbering scheme of patches in this directory is as follows: 000 is a dummy patch used to force dpatch-edit-patch to create diffs relative to already-unpacked source. It has no effect when "applied" or "de-applied" against an unpacked source tree. 001-099 are reserved for patches that permit compilation after having removed non-free code from CERNLIB source. 100-199 are for bug fixes that should eventually be submitted upstream and have a reasonable probability of being merged, for instance, security bugs, file-specific compiler optimization settings, etc. 200-299 are for feature enhancements that should eventually be submitted upstream, for example, including ERTRAK code in libgeant. 300-399 are for implementation of non-Debian-specific niceties that are probably too intrusive to go upstream, for instance FHS implementation or use of shadow passwords by pawserv. 400-599 are reserved for future use. 600-699 are for Debian-specific customizations, for instance setting the default editor as sensible-editor, having Paw send bug reports to the BTS, etc. Most of these are protected by "#if defined(CERNLIB_DEBIAN)" in the source code so they can be safely applied on non-Debian systems. 700-799 are for patches that move source code around. Many of these are actually shell scripts. Typically this is done to split libraries apart or to move functions from one library into another. 800-899 are for implementation of shared libraries. (They must be implemented only after moving files around, or they have many undefined symbol problems.) 900-999 are for optional patches that may or may not be applied depending upon settings in $DEB_BUILD_OPTIONS. These patches are stored in the "optional" subdirectory, copied here in the "unpack" target of debian/rules or add-ons/Makefile, and removed in the "clean" target. Ideally, the source should compile with any complete set of the patches numbered 000 through NNN (where NNN is 100 or greater) applied, possibly excluding patches in the 9xx series. (All patches with the same number must be applied or not, as a whole.) Unfortunately this does not actually work when linking the Paw and Paw++ programs since some of the libraries have circular dependencies on each other before the 700 series of patches are applied. To select the set of patches to be applied, after running debian/rules clean, edit debian/patches/00list to include only the desired ones. -- Kevin B. McCarty , 21 Jul 2005 debian/patches/123-fix-typo-preceeding-preceding.dpatch0000644000000000000000000000613212205714041020123 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 123-fix-typo-preceeding-preceding.dpatch by Lifeng Sun ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: fix typo: preceeding -> preceding. @DPATCH@ diff --git a/src/geant321/cdf/g321x.c b/src/geant321/cdf/g321x.c index e4280cd..17b2690 100644 --- a/src/geant321/cdf/g321x.c +++ b/src/geant321/cdf/g321x.c @@ -1378,7 +1378,7 @@ static char *_GEANT_DRAWING_DTREE_guidance[] = { volumes,", "via a call to GDTREE(name,levmax,isel):", "if the third parameter is not given (default), the command will", "produce the drawing of the tree displaying, for each volume, the", - "number of the following levels (red arrows) and of the preceeding", + "number of the following levels (red arrows) and of the preceding", "levels (green arrows); then the control is automatically given to the", "mouse: clicking on the left button when the cursor is inside a volume's", "pave will perform a DSPEC for that volume; doing the same when the cursor", @@ -7726,7 +7726,7 @@ static char *_GEANT_DRAWING_DTREE_guidance[] = { volumes,", "via a call to GDTREE(name,levmax,isel):", "if the third parameter is not given (default), the command will", "produce the drawing of the tree displaying, for each volume, the", - "number of the following levels (red arrows) and of the preceeding", + "number of the following levels (red arrows) and of the preceding", "levels (green arrows); then the control is automatically given to the", "mouse: clicking on the left button when the cursor is inside a volume's", "pave will perform a DSPEC for that volume; doing the same when the cursor", diff --git a/src/geant321/cdf/g321x.cdf b/src/geant321/cdf/g321x.cdf index c50c497..a14f107 100644 --- a/src/geant321/cdf/g321x.cdf +++ b/src/geant321/cdf/g321x.cdf @@ -454,7 +454,7 @@ displaying the name, the multiplicity and other information about the volumes, via a call to GDTREE(name,levmax,isel): if the third parameter is not given (default), the command will produce the drawing of the tree displaying, for each volume, the -number of the following levels (red arrows) and of the preceeding +number of the following levels (red arrows) and of the preceding levels (green arrows); then the control is automatically given to the mouse: clicking on the left button when the cursor is inside a volume's pave will perform a DSPEC for that volume; doing the same when the cursor diff --git a/src/geant321/doc/gedoc b/src/geant321/doc/gedoc index c53c24c..1e6febd 100644 --- a/src/geant321/doc/gedoc +++ b/src/geant321/doc/gedoc @@ -374,7 +374,7 @@ the best. The next task is to improve the trajectory parameters. One chooses a plane near to the interaction point and extrapolates onto this plane all candidate trajectories as described in the -preceeding section. For the i-th trajectory one obtains an +preceding section. For the i-th trajectory one obtains an avarage value x_i and a covariance: sigma_i. (In this discussion the indices will represent the trajectory numbers.) Next one extrapolates back the trajectory from the downstream detector -- 1.7.4.1 debian/patches/109-fix-broken-xsneut95.dat-link.dpatch0000644000000000000000000000135612205714041017562 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 109-fix-broken-xsneut95.dat-link.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Link to xsneut95.dat in the correct place. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/Imakefile cernlib-2005.05.09.dfsg/src/geant321/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/Imakefile 2005-11-23 15:38:52.663383751 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/Imakefile 2005-11-23 15:39:00.618680825 +0000 @@ -41,7 +41,7 @@ install.lib:: $(CERN_LIBDIR)/xsneut95.dat $(CERN_LIBDIR)/xsneut95.dat: - cd $(@D);$(LN) ../share/lib/$(@F) $(@F) + cd $(@D) && $(LN) ../src/geant321/data/$(@F) $(@F) #endif #if defined(CERNLIB_VAXVMS) debian/patches/802-create-shared-libraries.dpatch0000644000000000000000000000331112205714041016764 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 802-create-shared-libraries.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Actually implement the rules to create shared libraries. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/Imakefile cernlib-2005.05.09.dfsg/src/Imakefile --- cernlib-2005.05.09.dfsg~/src/Imakefile 2005-12-01 15:19:24.191267776 +0000 +++ cernlib-2005.05.09.dfsg/src/Imakefile 2005-12-01 15:20:10.310483251 +0000 @@ -15,6 +15,7 @@ #endif InstallLibSubdirs($(LIBDIRS)) +InstallSharedLibSubdirs($(LIBDIRS)) INCLUDEDIRS= $(LIBDIRS) cfortran diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/Imakefile cernlib-2005.05.09.dfsg/src/geant321/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/Imakefile 2005-12-01 15:19:23.018516575 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/Imakefile 2005-12-01 15:19:31.186783665 +0000 @@ -26,6 +26,7 @@ InstallLibrary(geant321,$(CERN_LIBDIR)) InstallLibraryAlias(geant321,geant,$(CERN_LIBDIR)) +InstallSharedLibrary(geant321,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR)) /* FLUKA removed from Debian source package for copyright reasons. */ /* diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gparal/Imakefile cernlib-2005.05.09.dfsg/src/geant321/gparal/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/gparal/Imakefile 1996-12-19 14:19:18.000000000 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/gparal/Imakefile 2005-12-01 15:19:31.186783665 +0000 @@ -10,6 +10,7 @@ SubdirLibraryTarget(geant321_parallel,NullParameter) InstallLibrary(geant321_parallel,$(CERN_LIBDIR)) +InstallSharedLibrary(geant321_parallel,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR)) CopyFile(../gbase/grun.F,grun.F) debian/patches/306-patch-assert.h-for-makedepend.dpatch0000644000000000000000000001262612205714041020016 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 306-patch-assert.h-for-makedepend.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Include local copy of assert.h with a workaround for a bug of ## DP: makedepend (cf. Debian bug # 171908). @DPATCH@ diff -urNad cernlib-2005.05.09/src/include/assert.h /tmp/dpep.9sKNsJ/cernlib-2005.05.09/src/include/assert.h --- cernlib-2005.05.09/src/include/assert.h 1969-12-31 19:00:00.000000000 -0500 +++ /tmp/dpep.9sKNsJ/cernlib-2005.05.09/src/include/assert.h 2005-06-09 12:50:41.751880968 -0400 @@ -0,0 +1,153 @@ +#ifndef CERNLIB_LINUX +# include "/usr/include/assert.h" +#else + +/* Copyright (C) 1991,1992,1994-2001,2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +/* + * ISO C99 Standard: 7.2 Diagnostics + */ + +#ifdef _ASSERT_H + +# undef _ASSERT_H +# undef assert +# undef __ASSERT_VOID_CAST + +# ifdef __USE_GNU +# undef assert_perror +# endif + +#endif /* assert.h */ + +#define _ASSERT_H 1 +#include + +#if defined __cplusplus && __GNUC_PREREQ (2,95) +# define __ASSERT_VOID_CAST static_cast +#else +# define __ASSERT_VOID_CAST (void) +#endif + +/* void assert (int expression); + + If NDEBUG is defined, do nothing. + If not, and EXPRESSION is zero, print an error message and abort. */ + +#ifdef NDEBUG + +# define assert(expr) (__ASSERT_VOID_CAST (0)) + +/* void assert_perror (int errnum); + + If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an + error message with the error text for ERRNUM and abort. + (This is a GNU extension.) */ + +# ifdef __USE_GNU +# define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) +# endif + +#else /* Not NDEBUG. */ + +#ifndef _ASSERT_H_DECLS +#define _ASSERT_H_DECLS +__BEGIN_DECLS + +/* This prints an "Assertion failed" message and aborts. */ +extern void __assert_fail (__const char *__assertion, __const char *__file, + unsigned int __line, __const char *__function) + __THROW __attribute__ ((__noreturn__)); + +/* Likewise, but prints the error text for ERRNUM. */ +extern void __assert_perror_fail (int __errnum, __const char *__file, + unsigned int __line, + __const char *__function) + __THROW __attribute__ ((__noreturn__)); + + +/* The following is not at all used here but needed for standard + compliance. */ +extern void __assert (const char *__assertion, const char *__file, int __line) + __THROW __attribute__ ((__noreturn__)); + + +__END_DECLS +#endif /* Not _ASSERT_H_DECLS */ + +/* For the macro definition we use gcc's __builtin_expect if possible + to generate good code for the non-error case. gcc 3.0 is a good + enough estimate for when the feature became available. */ +# if __GNUC_PREREQ (3, 0) +# define assert(expr) \ + (__ASSERT_VOID_CAST (__builtin_expect (!!(expr), 1) ? 0 : \ + (__assert_fail (__STRING(expr), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# else +# define assert(expr) \ + (__ASSERT_VOID_CAST ((expr) ? 0 : \ + (__assert_fail (__STRING(expr), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# endif + +# ifdef __USE_GNU +# if __GNUC_PREREQ (3, 0) +# define assert_perror(errnum) \ + (__ASSERT_VOID_CAST (__builtin_expect (!(errnum), 1) ? 0 : \ + (__assert_perror_fail ((errnum), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# else +# define assert_perror(errnum) \ + (__ASSERT_VOID_CAST (!(errnum) ? 0 : \ + (__assert_perror_fail ((errnum), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +# endif +# endif + +/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' + which contains the name of the function currently being defined. + This is broken in G++ before version 2.6. + C9x has a similar variable called __func__, but prefer the GCC one since + it demangles C++ function names. */ + +/* The following commented-out line breaks makedepend (bug # 171908); a local + * patched version of assert.h is therefore included. + * --Kevin McCarty, for Debian */ +/* # if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) */ + +/* begin fix to work around Debian Bug # 171908 */ +# if defined __cplusplus +# if __GNUC_PREREQ (2, 6) +# define __ASSERT_FUNCTION __PRETTY_FUNCTION__ +# endif +# elif __GNUC_PREREQ (2, 4) +/* end fix */ + +# define __ASSERT_FUNCTION __PRETTY_FUNCTION__ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __ASSERT_FUNCTION __func__ +# else +# define __ASSERT_FUNCTION ((__const char *) 0) +# endif +# endif + +#endif /* NDEBUG. */ + +#endif /* CERNLIB_LINUX */ debian/patches/806-bump-mathlib-and-dependents-sonames.dpatch0000644000000000000000000000142512205714041021226 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 806-bump-mathlib-and-dependents-sonames.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Bump so versions of mathlib and dependents since it is now compiled ## DP: against liblapack3 instead of liblapack2. @DPATCH@ diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/Imakefile cernlib-2005.05.09.dfsg/src/geant321/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/Imakefile 2005-11-23 15:49:19.722162373 +0000 +++ cernlib-2005.05.09.dfsg/src/geant321/Imakefile 2005-11-23 15:49:27.431512287 +0000 @@ -2,6 +2,8 @@ #define IHaveSubdirs #define PassCDebugFlags +export LIB_SONAME := 2 + AllTarget(geant321) /* FLUKA removed from Debian source package for copyright reasons. */ debian/patches/121-fix-typo-lenght-length.dpatch0000644000000000000000000002317512205714041016624 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 121-fix-typo-lenght-length.dpatch by Lifeng Sun ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: fix typo: lenght -> length. @DPATCH@ diff --git a/src/car/geant321.car b/src/car/geant321.car index 24d6c9d..a030a62 100644 --- a/src/car/geant321.car +++ b/src/car/geant321.car @@ -1243,7 +1243,7 @@ C * for every main detector component specified in the SLIST command * in the spherical R direction: * Total number of radiation lengths up to entry in each R -* Total number of absorption lenghts +* Total number of absorption lengths * Detector identifier * When the interactive command TRIGGER is entered, the number of * Geantinos specified as parameter will be tracked. In case the @@ -2971,7 +2971,7 @@ C *===> 26/08/92 * * Correction in GKRZ and CDF for the command RZ/FILE. -* Record lenght fixed at 1024 in GRFILE cannot be +* Record length fixed at 1024 in GRFILE cannot be * Changed by the user. Thanks to H.Plothow. Introduced * in the 3.15 correction cradle. * diff --git a/src/geant321/cdf/g321x.c b/src/geant321/cdf/g321x.c index defbb84..c35fede 100644 --- a/src/geant321/cdf/g321x.c +++ b/src/geant321/cdf/g321x.c @@ -4591,12 +4591,12 @@ static KmParameter _GEANT_CONTROL_SMATE_DENS = { "DENS", 4, "Density", static KmParReal _GEANT_CONTROL_SMATE_RADL_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; static KmParameter _GEANT_CONTROL_SMATE_RADL = { "RADL", 4, - "Radiation lenght", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, + "Radiation length", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SMATE_RADL_type }; static KmParReal _GEANT_CONTROL_SMATE_ABSL_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; static KmParameter _GEANT_CONTROL_SMATE_ABSL = { "ABSL", 4, - "Absorption lenght", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, + "Absorption length", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SMATE_ABSL_type }; static KmParReal _GEANT_CONTROL_SMATE_UBUF_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; @@ -5191,7 +5191,7 @@ static KmParameter _GEANT_FZ_FZOPEN_LUNTYP = { "LUNTYP", 6, static KmParInt _GEANT_FZ_FZOPEN_LEN_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; static KmParameter _GEANT_FZ_FZOPEN_LEN = { "LEN", 3, - "Recordlenght of the file", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, + "Recordlength of the file", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZOPEN_LEN_type }; static KmParOption _GEANT_FZ_FZOPEN_CHOPT_type = { (char**)0, (int*)0, (int*)0 }; @@ -10901,12 +10901,12 @@ static KmParameter _GEANT_CONTROL_SMATE_DENS = { "DENS", 4, "Density", static KmParReal _GEANT_CONTROL_SMATE_RADL_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; static KmParameter _GEANT_CONTROL_SMATE_RADL = { "RADL", 4, - "Radiation lenght", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, + "Radiation length", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SMATE_RADL_type }; static KmParReal _GEANT_CONTROL_SMATE_ABSL_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; static KmParameter _GEANT_CONTROL_SMATE_ABSL = { "ABSL", 4, - "Absorption lenght", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, + "Absorption length", (char*)0, (char*)0, 12, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_REAL, &_GEANT_CONTROL_SMATE_ABSL_type }; static KmParReal _GEANT_CONTROL_SMATE_UBUF_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; @@ -11491,7 +11491,7 @@ static KmParameter _GEANT_FZ_FZOPEN_LUNTYP = { "LUNTYP", 6, static KmParInt _GEANT_FZ_FZOPEN_LEN_type = { (char*)0, (char*)0, (char*)0, (char*)0, 0 }; static KmParameter _GEANT_FZ_FZOPEN_LEN = { "LEN", 3, - "Recordlenght of the file", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, + "Recordlength of the file", "0", (char*)0, 8, 0, (char**)0, 0, (char**)0, (KmParFlag)0, KmTYPE_INT, &_GEANT_FZ_FZOPEN_LEN_type }; static KmParOption _GEANT_FZ_FZOPEN_CHOPT_type = { (char**)0, (int*)0, (int*)0 }; diff --git a/src/geant321/cdf/g321x.cdf b/src/geant321/cdf/g321x.cdf index cbaab9b..ae722ff 100644 --- a/src/geant321/cdf/g321x.cdf +++ b/src/geant321/cdf/g321x.cdf @@ -1988,8 +1988,8 @@ NAMATE 'Material name' C A 'Atomic weight' R Z 'Atomic number' R DENS 'Density' R -RADL 'Radiation lenght' R -ABSL 'Absorption lenght' R +RADL 'Radiation length' R +ABSL 'Absorption length' R UBUF ' ' R NWBUF ' ' I >Guidance @@ -2247,7 +2247,7 @@ Equivalent to a call to: LUN 'Fortran unit with which to open the file' I FILE 'Name of the file to be opened' C LUNTYP 'Type of FZ file to be opened by GOPEN' C D='XI' -LEN 'Recordlenght of the file' I D=0 +LEN 'Recordlength of the file' I D=0 + CHOPT 'Optional parameter to specify the action' C D=' ' >Guidance diff --git a/src/geant321/doc/history/v_314.F b/src/geant321/doc/history/v_314.F index dda16ad..f551aea 100644 --- a/src/geant321/doc/history/v_314.F +++ b/src/geant321/doc/history/v_314.F @@ -672,7 +672,7 @@ C * for every main detector component specified in the SLIST command * in the spherical R direction: * Total number of radiation lengths up to entry in each R -* Total number of absorption lenghts +* Total number of absorption lengths * Detector identifier * When the interactive command TRIGGER is entered, the number of * Geantinos specified as parameter will be tracked. In case the diff --git a/src/geant321/doc/history/v_316.F b/src/geant321/doc/history/v_316.F index 65688ba..7093150 100644 --- a/src/geant321/doc/history/v_316.F +++ b/src/geant321/doc/history/v_316.F @@ -493,7 +493,7 @@ *===> 26/08/92 * * Correction in GKRZ and CDF for the command RZ/FILE. -* Record lenght fixed at 1024 in GRFILE cannot be +* Record length fixed at 1024 in GRFILE cannot be * Changed by the user. Thanks to H.Plothow. Introduced * in the 3.15 correction cradle. * diff --git a/src/geant321/examples/gexam1/uhinit.F b/src/geant321/examples/gexam1/uhinit.F index 9a71d70..0e9dbbf 100644 --- a/src/geant321/examples/gexam1/uhinit.F +++ b/src/geant321/examples/gexam1/uhinit.F @@ -51,11 +51,11 @@ C C C *** Histograms for detailed studies C - CALL HBOOK1(21,'TOTAL GAMMA LENGHT IN RL$' + CALL HBOOK1(21,'TOTAL GAMMA LENGTH IN RL$' *,100, 0., 10. , 0.) - CALL HBOOK1(22,'TOTAL POSIT LENGHT IN RL$' + CALL HBOOK1(22,'TOTAL POSIT LENGTH IN RL$' *,100, 0., 5. , 0.) - CALL HBOOK1(23,'TOTAL ELECT LENGHT IN RL$' + CALL HBOOK1(23,'TOTAL ELECT LENGTH IN RL$' *,100, 0., 5. , 0.) CALL HBOOK1(31,'NUMBER OF NEXT CALLS$' diff --git a/src/geant321/examples/gexam7/uhinit.F b/src/geant321/examples/gexam7/uhinit.F index 31ab25b..ac79524 100644 --- a/src/geant321/examples/gexam7/uhinit.F +++ b/src/geant321/examples/gexam7/uhinit.F @@ -76,13 +76,13 @@ C C C *** Histograms for detailed studies C - CALL HBOOK1(21,'TOTAL GAMMA LENGHT IN RL$' + CALL HBOOK1(21,'TOTAL GAMMA LENGTH IN RL$' *,100, 0., 10. , 0.) - CALL HBOOK1(22,'TOTAL POSIT LENGHT IN RL$' + CALL HBOOK1(22,'TOTAL POSIT LENGTH IN RL$' *,100, 0., 5. , 0.) - CALL HBOOK1(23,'TOTAL ELECT LENGHT IN RL$' + CALL HBOOK1(23,'TOTAL ELECT LENGTH IN RL$' *,100, 0., 5. , 0.) - CALL HBOOK1(24,'TOTAL LENGHT IN RL FOR OTHER PARTICLES$' + CALL HBOOK1(24,'TOTAL LENGTH IN RL FOR OTHER PARTICLES$' *,100, 0., 20. , 0.) C CALL HBOOK1(31,'NUMBER OF NEXT CALLS$' diff --git a/src/geant321/gdraw/gdcghi.F b/src/geant321/gdraw/gdcghi.F index 5d4c1d0..f516031 100644 --- a/src/geant321/gdraw/gdcghi.F +++ b/src/geant321/gdraw/gdcghi.F @@ -54,7 +54,7 @@ C. * LLEP=ABS(LEP) IVFUN=1 - LENGHT=4000 + LENGTH=4000 ICPOIN=JCGOBJ+1 IZPOIN=JCGOBJ+20000 IF(ISHAPE.EQ.11.OR.ISHAPE.EQ.12)ICGP=ICGP+1 @@ -63,7 +63,7 @@ C. IST=2 ELSE IF(IMOD.EQ.4)THEN IST=3 - CALL CGSLIC(Q(ICPOIN),ABCD,LENGHT,Q(IZPOIN)) + CALL CGSLIC(Q(ICPOIN),ABCD,LENGTH,Q(IZPOIN)) **SG ELSE IF(IMOD.EQ.5)THEN IST=3 diff --git a/src/geant321/ggeom/ggeom.doc b/src/geant321/ggeom/ggeom.doc index b569a63..a146d8c 100644 --- a/src/geant321/ggeom/ggeom.doc +++ b/src/geant321/ggeom/ggeom.doc @@ -342,7 +342,7 @@ * hyperboloids, as would be formed by a system of cylindrical * * wires which were then rotated tangentially about their * * centres. The 4 parameters are the inner and outer radii, * -* the half lenght in z, and the "stereo angle" theta in * +* the half length in z, and the "stereo angle" theta in * * degrees, such that the hyperbolic surfaces are given by * * r**2 = (z*tan(theta))**2 + (r at z=0)**2 * * 'CTUB' is a cut tube with 11 parameters. The first 5 parameters * diff --git a/src/geant321/ggeom/ggppar.F b/src/geant321/ggeom/ggppar.F index 456b88b..89dfcdd 100644 --- a/src/geant321/ggeom/ggppar.F +++ b/src/geant321/ggeom/ggppar.F @@ -270,7 +270,7 @@ C. ------------------------------------------------------------------ DX2P = DX2 + SHFX2 DX2N = DX2 - SHFX2 * -* DXP is the lenght of the box that fits in the positive side +* DXP is the length of the box that fits in the positive side * DXN is the one in the negative side DXP = MIN(DX1P,DX2P) DXN = MIN(DX1N,DX2N) debian/copyright.in0000644000000000000000000001067112205714041011527 0ustar This package was debianized by Kevin B. McCarty and Lifeng Sun . It was downloaded from the web page http://wwwinfo.cern.ch/asd/cernlib/download/2005_source/tar/ COPYRIGHT --------- CERNLIB, including GEANT 3.21, is copyright (C) CERN and others. As of this writing (1 February 2008), the web 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 GEANT 3.21 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 GEANT 3.21 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 GEANT 3.21 from the Debian source packages is permissible under the terms either of GPL version 2 or of the current GPL version, at the re-distributor's option. On Debian systems, the complete text of the current version of the GNU General Public License can be found in the file `/usr/share/common-licenses/GPL-3'. The text of version 2 can be found at `/usr/share/common-licenses/GPL-2'. EXCEPTIONS ---------- The file geant321.h in the libgeant321-2-dev binary package, and all files included in the tarball upstream/src_cfortran.tar.gz in the geant321 source package, are instead Copyright (C) 1990-2003 Burkhard Burow, , http://www-zeus.desy.de/~burow/cfortran/index.htm and are licensed (at your choice) under either the GNU Library General Public License or an alternate non-free license. 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'. The alternate license for the cfortran-related files is as follows: 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: - 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.) - YOU MAY NOT PREVENT OTHERS FROM COPYING IT FREELY. - YOU MAY NOT DISTRIBUTE MODIFIED VERSIONS WITHOUT CLEARLY DOCUMENTING YOUR CHANGES AND NOTIFYING THE AUTHOR. - YOU MAY NOT MISREPRESENTED THE ORIGIN OF THIS SOFTWARE, EITHER BY EXPLICIT CLAIM OR BY OMISSION. THE INTENT OF THE ABOVE TERMS IS TO ENSURE THAT THE CFORTRAN.H PACKAGE NOT BE USED FOR PROFIT MAKING ACTIVITIES UNLESS SOME ROYALTY ARRANGEMENT IS ENTERED INTO WITH ITS AUTHOR. THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE AUTHOR IS NOT RESPONSIBLE FOR ANY SUPPORT OR SERVICE OF THE CFORTRAN.H PACKAGE. Burkhard Burow burow@desy.de DELETIA ------- The following files and directories have been removed from the Debian source package of GEANT 3.21 due to license ambiguities or incompatibilities with the GPL (e.g. positive BSD advertising clause). If needed, they may be found in the upstream source tarballs. DEADPOOL_LIST_GOES_HERE debian/compat0000644000000000000000000000000212205714041010360 0ustar 5 debian/control0000644000000000000000000000775212205714041010600 0ustar Source: geant321 Maintainer: Debian Science Maintainers Uploaders: Lifeng Sun Standards-Version: 3.9.4 Priority: optional Section: science Homepage: http://wwwasd.web.cern.ch/wwwasd/geant/index.html Build-Depends: patch, mawk | gawk, xutils-dev, debhelper (>= 5.0.0), gfortran (>= 4:4.3), libblas-dev, liblapack-dev, cernlib-base-dev (>= 20061220+dfsg3-3), libgrafx11-1-dev (>= 2006.dfsg.2-7), libgraflib1-dev (>= 2006.dfsg.2-7), libkernlib1-dev (>= 2006.dfsg.2-7), libpacklib1-dev (>= 2006.dfsg.2-7), libpacklib-lesstif1-dev (>= 2006.dfsg.2-7), libpawlib2-dev (>= 1:2.14.04.dfsg.2-2), libpawlib-lesstif3-dev (>= 1:2.14.04.dfsg.2-2), kuipc Vcs-Git: git://anonscm.debian.org/debian-science/packages/geant321.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/geant321.git Package: geant321-data Architecture: all Multi-Arch: foreign Pre-Depends: ${misc:Pre-Depends} Depends: cernlib-base, ${misc:Depends} Description: [Physics] Data for GEANT 3.21 detector simulator GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes neutron cross-section data for use by GEANT. Package: geant321-doc Architecture: all Section: doc Depends: cernlib-base, ${misc:Depends} Description: [Physics] Documentation for GEANT 3.21 GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes some documentation in text format about GEANT 3.21. Package: geant321 Architecture: all Depends: libgeant321-2-dev (>= 1:3.21.14.dfsg-7), cernlib-base-dev (>= 2006.dfsg.2-7), gfortran, ${misc:Depends} Suggests: geant321-doc Description: [Physics] Particle detector description and simulation tool GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes gxint, a script that makes this linking step more convenient. Package: libgeant321-2-dev Architecture: any Section: libdevel Depends: libgeant321-2-gfortran (= ${binary:Version}), libpawlib-lesstif3-dev (>= 1:2.14.04.dfsg.2-2), ${misc:Depends} Recommends: geant321 Breaks: libgeant1-dev (<= 2004.11.04.dfsg-0sarge1) Replaces: libgeant1-dev Description: [Physics] Library for GEANT 3.21 (development files) GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes a static version of the libgeant321 library required by GEANT. C and FORTRAN header files are also included. Package: libgeant321-2-gfortran Architecture: any Section: libs Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, geant321-data, ${misc:Depends} Recommends: kxterm Description: [Physics] Library for GEANT 3.21 GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes the libgeant321 library required by GEANT 3.21. Note that in order to compile and link programs against this library, you must also install the libgeant321-2-dev package. debian/dh/0000755000000000000000000000000012205714041007555 5ustar debian/dh/geant321-doc.doc-base0000644000000000000000000000067012205714041013246 0ustar Document: geant321-manual Title: Introduction to GEANT3 Author: Unknown Abstract: Summary of the various components of the GEANT particle detector simulator: routines to simulate the detector geometry, constants of the detector, particle physics and kinematics, particle tracking, detector events, a graphical display, and input-output routines. Section: Science/Physics Format: text Files: /usr/share/doc/geant321-doc/geant321.txt.gz debian/dh/libgeant321-2-dev.dirs0000644000000000000000000000002512205714041013363 0ustar usr/include/cfortran debian/dh/geant321.dirs0000644000000000000000000000003512205714041011762 0ustar usr/bin etc/X11/app-defaults debian/dh/libgeant321-2-dev.install0000644000000000000000000000046212205714041014075 0ustar debian/tmp/usr/lib/*/libgeant321.a debian/tmp/usr/lib/*/libgeant321.so debian/tmp/usr/include/geant321.h debian/tmp/usr/include/geanh.car debian/tmp/usr/include/geanh321.car debian/tmp/usr/include/geant.car debian/tmp/usr/include/geant321.car debian/tmp/usr/include/geant321/ debian/tmp/usr/include/geant/ debian/dh/libgeant321-2-dev.README.debian0000644000000000000000000001002612205714041014602 0ustar Notes on libgeant321-2-dev: --------------------------- 1) If you use the "gxint" script to run GEANT, it will create an executable in your home directory (or in $TMPDIR, if $TMPDIR is set; to prevent symlink attacks, ensure that your $TMPDIR is writable only by you) named GEANT where is the process ID of gxint. Please make sure you do not have any files with this name format that shouldn't be overwritten, or else always call gxint with its -o option. 2) The FLUKA routines have been removed from the Debian packages of GEANT 3.21 at the request of the upstream authors of FLUKA, who never gave CERN permission to release it under the GPL. In addition, the version of the FLUKA code in CERNLIB was obsolete by several years. Please see the Q&A "What relation exists between FLUKA and GEANT?" at the following URL for more information (it is the second question on the web page as of this writing): http://www.fluka.org/frequentlyAQ/Relations_with_other_particle_transport_codes.html If you would like to use a current version of the FLUKA code, it may be obtained at the URL http://www.fluka.org/ However, it may not define all symbols required by some GEANT functions that were used to interface with the old FLUKA code. Additionally, please be aware that it is _far_ from being DFSG-Free software. The FLUKA functions and subroutines that were removed are as follows. Attempting to call any of them in your code will result in a linking failure or abnormal program exit: ABBRCH AINEL AKEKA ALTRA ALTRAF AMGA ANKEKA BAMJEV BEEXI BEKEKA BERTTP BETA BETARN BETRST BIMSEL BKEKA BKLASS BNKEKA CALUMO CALUMV CHANWT COREVT CORRIN COSLEG DATAR3 DECAUX DECAY DIFEVV DOST DRELAB DRES EEXI EEXLVL EKEKA ENERGI ENERGY ENRG ERUP EVDEEX EVENTV EVEVAP EVVINI FDEVAP FDNOPT FDPREE FEKFNC FEREVV FERHAV FISFRA FKDECA FKDRES FKENER FKERUP FKFLAV FKIMPU FKSIGI FKVERT FKZERO FLAVOR FLDIST FLINIT FLKDT1 FLKDT2 FLKDT3 FLKDT4 FLKDT5 FLKDT6 FLKDT7 FLUFIN FPFRNC FPOWER FPROB FRADNC FRHINC FRHONC GAMRN GETA GFMDIS GFMFIN HADDEN HADEVV HADRIN HADRIV HEVHIN HINHEV HKLASS HYPERO IEFUN IMPULS INCINI INDEX2 KINPAR KPOIS LORTRA NCLVIN NCLVST NIZL NIZLNW NUCEVV NUCNUC NUCREL NUCRIV NUDISV NUPREL NWISEL PARJET PEANUT PFNCLV PHDSET PHDWLL PIOABS PMPRAB POLI PREPRE QNRG RACO RAKEKV RBKEKV RCHANV ROTAT RSTSEL SAMCST SBCOMP SFECFE SHPTOT SIGEL SIGFER SIGINT SIHAEL SITSAO STALIN TCHOIC THREPD TRAFO TRAHAD TRANS TTRANS TWOPAD TWOPAR UMOFIN VEREIN VERTEX XINNEU XINPRO XLAMB XSENEU XSEPRO ZEROIN Additionally, the GFTMAT subroutine may attempt to call FLDIST and/or FLINIT, resulting in an abnormal program exit, depending on how it is set up. 3) The Jetset library, required by a few GEANT functions, is not available within Debian because the upstream author never gave permission for it to be GPLed and included in CERNLIB. This will affect you if you want to use any of these GEANT functions or subroutines. Attempting to call them in your code without Jetset installed will cause an abnormal program exit: GLUDKY GLUND GLUNDI Jetset can be obtained either from this web page: http://www.thep.lu.se/~torbjorn/Pythia.html ; or by installing the ancis and montecarlo-installer-data packages, then running the command "ancis installdebs jetset". The montecarlo-installer-data and ancis packages are not official parts of Debian; they may be obtained by adding the following to your /etc/apt/sources.list : deb http://people.debian.org/~kmccarty/ancis/ unstable main contrib deb-src http://people.debian.org/~kmccarty/ancis/ unstable main contrib (Substitute "unstable" with "stable" or "testing" if appropriate.) Please note that I cannot guarantee the above URLs will continue to be valid forever. 4) Note that this package is not fully functional on 64-bit machines unless one statically links user code against GEANT 3.21 and CERNLIB libraries, for instance with the provided "cernlib" or "gxint" commands: gfortran -o my_geant_program my_geant_code.F `cernlib geant321` or gxint -o my_geant_program my_geant_code.F -- Kevin B. McCarty , Fri, 01 Feb 2008 debian/dh/geant321-data.dirs0000644000000000000000000000003012205714041012664 0ustar usr/share/geant321-data debian/dh/geant321-doc.README.debian0000644000000000000000000001310712205714041013746 0ustar geant321-doc package - README.Debian -------------------- The documentation available here is as follows. In parentheses ( ) are the names that these files originally had in the CERNLIB source tree. The section of the GEANT3 code described by each document is given in square brackets [ ]. In addition to this documentation, you should look at the README.Debian for the geant321 or libgeant321-2-dev package - it describes some functions and subroutines that had to be removed in order for GEANT to be DFSG-free. -- Kevin McCarty Thu, 10 Mar 2005 GEANT 3 CORE DOCUMENTATION -------------------------- These files have all been merged into the file /usr/share/doc/geant321-doc/geant321.txt If you have Internet access, a graphical version of this document is available in PDF format at this URL: http://wwwasdoc.web.cern.ch/wwwasdoc/pdfdir/geant.pdf * The section [BASE] (gbase.doc) gives an outline of GEANT3, including flow charts of program operation, input/output, and program examples. Contents: + Introduction to GEANT3 - GEANT3 Applications - Event Simulation Framework - Initialization - Event Processing - Termination + Simplified Program Flow Chart + Overview of COMMON Blocks - Introduction - Dynamic Core - Other Labelled Common Blocks + Summary of Data Cards - Introduction - User Defined Data Cards - Summary of the Most Important GEANT3 Data Cards + The Reference System and Dimensional Units - The Master Reference System (MARS) - The Local Reference Systems (MRS and DRS) - The Dimensional Units + Examples of MAIN Program and User Initialization + The System Initialization Routines + Steering Routines for Event Processing + Examples of User Termination and Related Routines * The section [CONS] (gcons.doc) describes routines related to storage and retrieval of information for materials, tracking media and particles in a detector. Contents: + Introduction to the section CONS - The Section CONS - Materials - Tracking Medium Parameters - Particles * The section [DRAW] (gdraw.doc) describes the routines for drawing the detector, the detector geometrical tree, particle trajectories, and hits. Contents: + Introduction to the Drawing Package - The Drawing Package - Drawing the Detector - Drawing the Geometrical Tree - Drawing the Geometrical Specifications - Drawing Particle Trajectories - Drawing Hits - The View Banks - Other Features - Basic and Advanced Graphics - Running Instructions - Summary + Labelled COMMON Blocks Related to Section DRAW + The View Data Structure JDRAW * The section [GEOM] (ggeom.doc) describes the routines for providing geometric information to GEANT. Contents: + Introduction to the Geometry Package - The Geometry Package - The Volume Definition - Volumes with Contents - Overlapping Volumes - The Physical Tree - The Data Structure JVOLUM and the COMMON Block /GCVOLU/ - The Basic User Tools - The Optimisation Tools + Labelled COMMON Blocks Related to Section GEOM + The System Shapes + The Volume Data Structure JVOLUM * The section [HITS] (ghits.doc) describes the routines to store, retrieve and print information about events (hits) in a detector. Contents: + Introduction to the Detector Response Package - The Detector Response Package - Sets and Detectors - The Basic User Tools - Retrieval of Geometrical Information * The section [IOPA] (giopa.doc) describes routines for reading and writing the GEANT3 data structures. Contents: + The I/O Service Routines + Routines to Perform I/O * The section [KINE] (gkine.doc) defines the kinematics data structures, JVERTX and JKINE. * The section [PHYS] (gphys.doc) describes the routines available for simulation of particle physics, such as decays in flight, multiple scattering, and hadronic interactions. Contents: + Introduction to the Section PHYS - The Physics Processes - Continuous Electromagnetic Processes - Discrete Electromagnetic Processes - Hadronic Processes ** Note that FLUKA is not available in the Debian packages of GEANT3. - Muon Interaction * The section [TRAK] (gtrak.doc) describes routines for tracking particles through the matter of a detector. Contents: + Introduction to the Tracking Package - The Tracking Package - The Step Size - The Subroutines GTREVE and GTRACK - Magnetic Field Routines - Information Available at Tracking Time, and the Subroutine GUSTEP - Connection with the Detector Response Package - Connection with the Drawing Package OTHER DOCUMENTS --------------- * The gheisha/ (ghdoc/) directory contains lists of COMMON parameters and ID numbers used by GHEISHA, a set of hadronic interaction routines for GEANT3. * ertrak.txt (gedoc) describes the ERTRAK routines worked out by the European Muon Collaboration for calculating particle trajectories, the transport matrix, and the propagated error covariance matrix. Contents: 1. Introduction 2. Definitions 2.1. Track Variables, Representations 2.2. Error Propagation 3. Description of the User Routines and COMMONs 3.1. User Routines 3.2. User Commons 4. Examples of Application 4.1. The Simplest Case: Representing the Trajectory at Another Point 4.2. Joining Track Elements in Different Parts of the Detector 4.3. Prediction of the Trajectory 4.4. Fitting Trajectory Parameters 5. Interface with GEANT - Flow Chart for Subroutine ERTRAK 6. Acknowledgements + References debian/dh/geant321.docs0000644000000000000000000000005612205714041011754 0ustar src/geant321/doc/history/ debian/deadpool.txt debian/dh/geant321.install0000644000000000000000000000034012205714041012466 0ustar debian/tmp/usr/bin/gxint debian/tmp/usr/share/geant321/gxint321.f debian/tmp/usr/share/geant321/gxint.f debian/tmp/etc/X11/app-defaults/Geant++ debian/tmp/etc/X11/app-defaults/KxGeant++ debian/tmp/usr/share/man/man1/gxint.1 debian/dh/libgeant321-2-gfortran.install0000644000000000000000000000014312205714041015135 0ustar debian/tmp/usr/lib/*/libgeant321.so.2_gfortran.2005 debian/tmp/usr/lib/*/libgeant321.so.2_gfortran debian/dh/geant321-data.install0000644000000000000000000000006012205714041013374 0ustar debian/tmp/usr/share/geant321-data/xsneut95.dat debian/dh/geant321-doc.docs0000644000000000000000000000013312205714041012513 0ustar debian/tmp/usr/share/doc/geant321-doc/gheisha/ debian/tmp/usr/share/doc/geant321-doc/*.txt debian/dh/geant321.README.debian0000644000000000000000000001000412205714041013174 0ustar Notes on geant321: ------------------ 1) If you use the "gxint" script to run GEANT, it will create an executable in your home directory (or in $TMPDIR, if $TMPDIR is set; to prevent symlink attacks, ensure that your $TMPDIR is writable only by you) named GEANT where is the process ID of gxint. Please make sure you do not have any files with this name format that shouldn't be overwritten, or else always call gxint with its -o option. 2) The FLUKA routines have been removed from the Debian packages of GEANT 3.21 at the request of the upstream authors of FLUKA, who never gave CERN permission to release it under the GPL. In addition, the version of the FLUKA code in CERNLIB was obsolete by several years. Please see the Q&A "What relation exists between FLUKA and GEANT?" at the following URL for more information (it is the second question on the web page as of this writing): http://www.fluka.org/frequentlyAQ/Relations_with_other_particle_transport_codes.html If you would like to use a current version of the FLUKA code, it may be obtained at the URL http://www.fluka.org/ However, it may not define all symbols required by some GEANT functions that were used to interface with the old FLUKA code. Additionally, please be aware that it is _far_ from being DFSG-Free software. The FLUKA functions and subroutines that were removed are as follows. Attempting to call any of them in your code will result in a linking failure or abnormal program exit: ABBRCH AINEL AKEKA ALTRA ALTRAF AMGA ANKEKA BAMJEV BEEXI BEKEKA BERTTP BETA BETARN BETRST BIMSEL BKEKA BKLASS BNKEKA CALUMO CALUMV CHANWT COREVT CORRIN COSLEG DATAR3 DECAUX DECAY DIFEVV DOST DRELAB DRES EEXI EEXLVL EKEKA ENERGI ENERGY ENRG ERUP EVDEEX EVENTV EVEVAP EVVINI FDEVAP FDNOPT FDPREE FEKFNC FEREVV FERHAV FISFRA FKDECA FKDRES FKENER FKERUP FKFLAV FKIMPU FKSIGI FKVERT FKZERO FLAVOR FLDIST FLINIT FLKDT1 FLKDT2 FLKDT3 FLKDT4 FLKDT5 FLKDT6 FLKDT7 FLUFIN FPFRNC FPOWER FPROB FRADNC FRHINC FRHONC GAMRN GETA GFMDIS GFMFIN HADDEN HADEVV HADRIN HADRIV HEVHIN HINHEV HKLASS HYPERO IEFUN IMPULS INCINI INDEX2 KINPAR KPOIS LORTRA NCLVIN NCLVST NIZL NIZLNW NUCEVV NUCNUC NUCREL NUCRIV NUDISV NUPREL NWISEL PARJET PEANUT PFNCLV PHDSET PHDWLL PIOABS PMPRAB POLI PREPRE QNRG RACO RAKEKV RBKEKV RCHANV ROTAT RSTSEL SAMCST SBCOMP SFECFE SHPTOT SIGEL SIGFER SIGINT SIHAEL SITSAO STALIN TCHOIC THREPD TRAFO TRAHAD TRANS TTRANS TWOPAD TWOPAR UMOFIN VEREIN VERTEX XINNEU XINPRO XLAMB XSENEU XSEPRO ZEROIN Additionally, the GFTMAT subroutine may attempt to call FLDIST and/or FLINIT, resulting in an abnormal program exit, depending on how it is set up. 3) The Jetset library, required by a few GEANT functions, is not available within Debian because the upstream author never gave permission for it to be GPLed and included in CERNLIB. This will affect you if you want to use any of these GEANT functions or subroutines. Attempting to call them in your code without Jetset installed will cause an abnormal program exit: GLUDKY GLUND GLUNDI Jetset can be obtained either from this web page: http://www.thep.lu.se/~torbjorn/Pythia.html ; or by installing the ancis and montecarlo-installer-data packages, then running the command "ancis installdebs jetset". The montecarlo-installer-data and ancis packages are not official parts of Debian; they may be obtained by adding the following to your /etc/apt/sources.list : deb http://people.debian.org/~kmccarty/ancis/ unstable main contrib deb-src http://people.debian.org/~kmccarty/ancis/ unstable main contrib (Substitute "unstable" with "stable" or "testing" if appropriate.) Please note that I cannot guarantee the above URLs will continue to be valid forever. 4) Note that this package is not fully functional on 64-bit machines unless one statically links user code against GEANT 3.21 and CERNLIB libraries, for instance with the provided "cernlib" or "gxint" commands: gfortran -o my_geant_program my_geant_code.F `cernlib geant321` or gxint -o my_geant_program my_geant_code.F -- Kevin B. McCarty , Fri, 01 Feb 2008 debian/dh/libgeant321-2-gfortran.README.debian0000644000000000000000000001004012205714041015642 0ustar Notes on libgeant321-2-gfortran: -------------------------------- 1) If you use the "gxint" script to run GEANT, it will create an executable in your home directory (or in $TMPDIR, if $TMPDIR is set; to prevent symlink attacks, ensure that your $TMPDIR is writable only by you) named GEANT where is the process ID of gxint. Please make sure you do not have any files with this name format that shouldn't be overwritten, or else always call gxint with its -o option. 2) The FLUKA routines have been removed from the Debian packages of GEANT 3.21 at the request of the upstream authors of FLUKA, who never gave CERN permission to release it under the GPL. In addition, the version of the FLUKA code in CERNLIB was obsolete by several years. Please see the Q&A "What relation exists between FLUKA and GEANT?" at the following URL for more information (it is the second question on the web page as of this writing): http://www.fluka.org/frequentlyAQ/Relations_with_other_particle_transport_codes.html If you would like to use a current version of the FLUKA code, it may be obtained at the URL http://www.fluka.org/ However, it may not define all symbols required by some GEANT functions that were used to interface with the old FLUKA code. Additionally, please be aware that it is _far_ from being DFSG-Free software. The FLUKA functions and subroutines that were removed are as follows. Attempting to call any of them in your code will result in a linking failure or abnormal program exit: ABBRCH AINEL AKEKA ALTRA ALTRAF AMGA ANKEKA BAMJEV BEEXI BEKEKA BERTTP BETA BETARN BETRST BIMSEL BKEKA BKLASS BNKEKA CALUMO CALUMV CHANWT COREVT CORRIN COSLEG DATAR3 DECAUX DECAY DIFEVV DOST DRELAB DRES EEXI EEXLVL EKEKA ENERGI ENERGY ENRG ERUP EVDEEX EVENTV EVEVAP EVVINI FDEVAP FDNOPT FDPREE FEKFNC FEREVV FERHAV FISFRA FKDECA FKDRES FKENER FKERUP FKFLAV FKIMPU FKSIGI FKVERT FKZERO FLAVOR FLDIST FLINIT FLKDT1 FLKDT2 FLKDT3 FLKDT4 FLKDT5 FLKDT6 FLKDT7 FLUFIN FPFRNC FPOWER FPROB FRADNC FRHINC FRHONC GAMRN GETA GFMDIS GFMFIN HADDEN HADEVV HADRIN HADRIV HEVHIN HINHEV HKLASS HYPERO IEFUN IMPULS INCINI INDEX2 KINPAR KPOIS LORTRA NCLVIN NCLVST NIZL NIZLNW NUCEVV NUCNUC NUCREL NUCRIV NUDISV NUPREL NWISEL PARJET PEANUT PFNCLV PHDSET PHDWLL PIOABS PMPRAB POLI PREPRE QNRG RACO RAKEKV RBKEKV RCHANV ROTAT RSTSEL SAMCST SBCOMP SFECFE SHPTOT SIGEL SIGFER SIGINT SIHAEL SITSAO STALIN TCHOIC THREPD TRAFO TRAHAD TRANS TTRANS TWOPAD TWOPAR UMOFIN VEREIN VERTEX XINNEU XINPRO XLAMB XSENEU XSEPRO ZEROIN Additionally, the GFTMAT subroutine may attempt to call FLDIST and/or FLINIT, resulting in an abnormal program exit, depending on how it is set up. 3) The Jetset library, required by a few GEANT functions, is not available within Debian because the upstream author never gave permission for it to be GPLed and included in CERNLIB. This will affect you if you want to use any of these GEANT functions or subroutines. Attempting to call them in your code without Jetset installed will cause an abnormal program exit: GLUDKY GLUND GLUNDI Jetset can be obtained either from this web page: http://www.thep.lu.se/~torbjorn/Pythia.html ; or by installing the ancis and montecarlo-installer-data packages, then running the command "ancis installdebs jetset". The montecarlo-installer-data and ancis packages are not official parts of Debian; they may be obtained by adding the following to your /etc/apt/sources.list : deb http://people.debian.org/~kmccarty/ancis/ unstable main contrib deb-src http://people.debian.org/~kmccarty/ancis/ unstable main contrib (Substitute "unstable" with "stable" or "testing" if appropriate.) Please note that I cannot guarantee the above URLs will continue to be valid forever. 4) Note that this package is not fully functional on 64-bit machines unless one statically links user code against GEANT 3.21 and CERNLIB libraries, for instance with the provided "cernlib" or "gxint" commands: gfortran -o my_geant_program my_geant_code.F `cernlib geant321` or gxint -o my_geant_program my_geant_code.F -- Kevin B. McCarty , Fri, 01 Feb 2008 debian/dh/libgeant321-2-dev.links0000644000000000000000000000006712205714041013550 0ustar usr/include/geant321.h usr/include/cfortran/geant321.h debian/control.d/0000755000000000000000000000000012205714041011064 5ustar debian/control.d/geant321.control0000644000000000000000000000116212205714041014012 0ustar Package: geant321 Architecture: all Depends: libgeant321-2-dev (>= 1:3.21.14.dfsg-7), cernlib-base-dev (>= 2006.dfsg.2-7), gfortran, ${misc:Depends} Suggests: geant321-doc Description: [Physics] Particle detector description and simulation tool GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes gxint, a script that makes this linking step more convenient. debian/control.d/0base.control0000644000000000000000000000155112205714041013462 0ustar Source: geant321 Maintainer: Debian Science Maintainers Uploaders: Lifeng Sun Standards-Version: 3.9.4 Priority: optional Section: science Homepage: http://wwwasd.web.cern.ch/wwwasd/geant/index.html Build-Depends: patch, mawk | gawk, xutils-dev, debhelper (>= 5.0.0), gfortran (>= 4:4.3), libblas-dev, liblapack-dev, cernlib-base-dev (>= 20061220+dfsg3-3), libgrafx11-1-dev (>= 2006.dfsg.2-7), libgraflib1-dev (>= 2006.dfsg.2-7), libkernlib1-dev (>= 2006.dfsg.2-7), libpacklib1-dev (>= 2006.dfsg.2-7), libpacklib-lesstif1-dev (>= 2006.dfsg.2-7), libpawlib2-dev (>= 1:2.14.04.dfsg.2-2), libpawlib-lesstif3-dev (>= 1:2.14.04.dfsg.2-2), kuipc Vcs-Git: git://anonscm.debian.org/debian-science/packages/geant321.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/geant321.git debian/control.d/libgeant321-2-dev.control0000644000000000000000000000140512205714041015414 0ustar Package: libgeant321-2-dev Architecture: any Section: libdevel Depends: libgeant321-2-gfortran (= ${binary:Version}), libpawlib-lesstif3-dev (>= 1:2.14.04.dfsg.2-2), ${misc:Depends} Recommends: geant321 Breaks: libgeant1-dev (<= 2004.11.04.dfsg-0sarge1) Replaces: libgeant1-dev Description: [Physics] Library for GEANT 3.21 (development files) GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes a static version of the libgeant321 library required by GEANT. C and FORTRAN header files are also included. debian/control.d/geant321-data.control0000644000000000000000000000105612205714041014723 0ustar Package: geant321-data Architecture: all Multi-Arch: foreign Pre-Depends: ${misc:Pre-Depends} Depends: cernlib-base, ${misc:Depends} Description: [Physics] Data for GEANT 3.21 detector simulator GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes neutron cross-section data for use by GEANT. debian/control.d/geant321-doc.control0000644000000000000000000000100212205714041014546 0ustar Package: geant321-doc Architecture: all Section: doc Depends: cernlib-base, ${misc:Depends} Description: [Physics] Documentation for GEANT 3.21 GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes some documentation in text format about GEANT 3.21. debian/control.d/libgeant321-2-gfortran.control0000644000000000000000000000133212205714041016457 0ustar Package: libgeant321-2-gfortran Architecture: any Section: libs Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, geant321-data, ${misc:Depends} Recommends: kxterm Description: [Physics] Library for GEANT 3.21 GEANT is a framework for simulating the passage of subatomic particles through matter, for instance, particle detectors. For maximum flexibility, GEANT simulations are performed by linking FORTRAN code supplied by the user with the GEANT library, then running the resulting executable. . This package includes the libgeant321 library required by GEANT 3.21. Note that in order to compile and link programs against this library, you must also install the libgeant321-2-dev package. debian/deadpool.txt0000644000000000000000000000415312205714041011515 0ustar # This file lists all the files that were removed from the CERNLIB source # for copyright reasons. Given is the file or directory to delete # relative to $CERN_ROOT/src/. # --Kevin McCarty, 23 Nov 2005 # Authors of Pythia/Jetset did NOT give permission to release # their code under GPL. CERN should have checked this more carefully!!! car/jetset74.car # The same applies to GEANT-FLUKA; see for instance the comments at # http://www.fluka.org/frequentlyAQ/Relations_with_other_particle_transport_codes.html car/geanf.car car/geanf321.car geant321/data/flukaaf.dat geant321/block/ geant321/fiface/ geant321/fluka/ geant321/miface/gfmfin.F geant321/miface/gfmdis.F geant321/peanut/ geant321/geant321/aadat.inc geant321/geant321/auxpar.inc geant321/geant321/balanc.inc geant321/geant321/bamjcm.inc geant321/geant321/cmsres.inc geant321/geant321/comcon.inc geant321/geant321/corinc.inc geant321/geant321/dblprc.inc geant321/geant321/decayc.inc geant321/geant321/decayc2.inc geant321/geant321/depnuc.inc geant321/geant321/dimpar.inc geant321/geant321/eva0.inc geant321/geant321/eva1.inc geant321/geant321/fheavy.inc geant321/geant321/finlsp.inc geant321/geant321/finlsp2.inc geant321/geant321/finlsp3.inc geant321/geant321/finpar.inc geant321/geant321/finpar2.inc geant321/geant321/finuc.inc geant321/geant321/finuc2.inc geant321/geant321/finuct.inc geant321/geant321/hadflg.inc geant321/geant321/hadpar.inc geant321/geant321/higfis.inc geant321/geant321/inpdat.inc geant321/geant321/inpdat2.inc geant321/geant321/inpflg.inc geant321/geant321/iounit.inc geant321/geant321/isotop.inc geant321/geant321/labcos.inc geant321/geant321/mapa.inc geant321/geant321/metlsp.inc geant321/geant321/nucdat.inc geant321/geant321/nucgeo.inc geant321/geant321/nuclev.inc geant321/geant321/nucpar.inc geant321/geant321/nucstf.inc geant321/geant321/paprop.inc geant321/geant321/parevt.inc geant321/geant321/parnuc.inc geant321/geant321/part.inc geant321/geant321/part2.inc geant321/geant321/part3.inc geant321/geant321/qquark.inc geant321/geant321/reac.inc geant321/geant321/redver.inc geant321/geant321/resnuc.inc geant321/geant321/split.inc geant321/geant321/xsepar.inc debian/rules0000755000000000000000000000202312205714041010237 0ustar #!/usr/bin/make -f # source package name and modules included in the source package MY_NAME = geant321 MY_MODULES = Imakefile car cfortran geant321 include scripts MAKEFLAGS += -j1 export DEB_BUILD_OPTIONS=nocheck include /usr/share/cernlib/cernlib-debian.mk binary-arch: install-arch dh_testdir dh_testroot dh_install -a dh_installdocs -a dh_installexamples -a dh_installmenu -a dh_installman -a dh_installchangelogs -a dh_installdebconf -a dh_strip -a dh_link -a dh_compress -a dh_fixperms -a dh_lintian -a dh_makeshlibs -plibgeant321-2-gfortran dh_shlibdeps -a -lshlib dh_installdeb -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary-indep: install-indep dh_testdir dh_testroot dh_install -i dh_installdocs -i dh_installexamples -i dh_installman -i dh_installchangelogs -i dh_link -i dh_compress -i -X.dat -X.kumac -X.F -X.sh dh_fixperms -i dh_lintian -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary: binary-indep binary-arch .PHONY: binary binary-indep binary-arch debian/add-ons/0000755000000000000000000000000012205714041010507 5ustar debian/add-ons/Makefile0000644000000000000000000001243512205714041012154 0ustar NEEDS_MAKEFILE = cfortran geant321 scripts LIB_PACKAGES = geant321 TEST_PACKAGES = $(LIB_PACKAGES) prefix = /usr/local datadir = $(prefix)/share include $(datadir)/cernlib/cernlib.mk GEANTDOC = $(DESTDIR)$(datadir)/doc/geant321-doc cernlib-indep-local: cernlib-geant-data cernlib-geant-docs 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/gxint $(CERN_BINDIR) # these targets build only the arch-independent data files cernlib-geant-data: patch buildtree $(MAKE) -C $(CERN_BUILDDIR) MAKEOVERRIDES= geant321/Makefile $(MAKE) -C $(CERN_BUILDDIR)/geant321 MAKEOVERRIDES= gxint/Makefile $(MAKE) -C $(CERN_BUILDDIR)/geant321/gxint \ MAKEOVERRIDES= $(CERN_LIBDIR)/gxint321.f # now build some documentation that isn't created automatically. cernlib-geant-docs: patch set -e ; \ mkdir -p $(CERN_DOCDIR) ; \ rm -f $(CERN_DOCDIR)/geant321.txt; \ cd $(CVSCOSRC)/geant321 ; \ for x in gbase gcons gdraw ggeom ghits giopa gkine gphys gtrak ; do \ ( echo && echo -n " [" && \ echo -n $$x | cut -b 2-5 | tr '[a-z]' '[A-Z]' |xargs echo -n\ && echo "]"&& echo && \ sed -e '/^\#.*$$/d' -e '1,/^\*-- Author/d' \ -e '/^\*$$/d' $$x/$$x.doc ) >> \ $(CERN_DOCDIR)/geant321.txt ; \ done ; \ cd doc ; \ ( echo " ERTRAK Documentation" && \ echo " ====================" && \ sed -e '/^\*/d' gedoc ) > $(CERN_DOCDIR)/ertrak.txt ; \ mkdir -p $(CERN_DOCDIR)/gheisha ; \ cd ghdoc ; \ for x in `ls *.doc | sed 's/.doc$$//g'` ; do \ sed -e '/^\*/d' -e 's/^C\*\*//g' $$x.doc > \ $(CERN_DOCDIR)/gheisha/$$x.txt;\ done # target to install include files for development packages install-includes: install -d -m 0755 $(DESTDIR)$(includedir) \ $(DESTDIR)$(includedir)/geant # 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 # install still more include files install -p -m 0644 $(CVSCOSRC)/cfortran/geant321.h \ $(DESTDIR)$(includedir)/ install -p -m 0644 $(CVSCOSRC)/car/gean*.car $(DESTDIR)$(includedir)/ rm -f $(DESTDIR)$(includedir)/geanh.car && \ ln -sf geanh321.car $(DESTDIR)$(includedir)/geanh.car rm -f $(DESTDIR)$(includedir)/geant.car && \ ln -sf geant321.car $(DESTDIR)$(includedir)/geant.car ( cd $(DESTDIR)$(includedir)/geant/ && ln -sf ../geant321 gcdes ) # target to install files in arch-dependent packages install-arch: install-includes # install libraries install -d -m 0755 $(DESTDIR)$(libdir) 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 # target to install files in arch-independent packages install-indep: install -d -m 0755 $(DESTDIR)$(bindir) \ $(DESTDIR)$(sysconfdir)/X11/app-defaults \ $(DESTDIR)$(datadir)/geant321 \ $(DESTDIR)$(datadir)/doc/geant321-doc $(DESTDIR)$(includedir) \ $(DESTDIR)$(datadir)/geant321-data $(DESTDIR)$(man1dir) # install GEANT data file into /usr/share directories install -p -m 0644 $(CVSCOSRC)/geant321/data/xsneut95.dat \ $(DESTDIR)$(datadir)/geant321-data/ rm -f $(CERN_LIBDIR)/xsneut95.dat # ... and likewise the gxint.f file used by geant # (forcing it to call the Lesstif version of Paw) sed 's/CALL GPAW/CALL GPAWPP/g' $(CERN_LIBDIR)/gxint321.f \ > $(DESTDIR)$(datadir)/geant321/gxint321.f ln -sf gxint321.f $(DESTDIR)$(datadir)/geant321/gxint.f # ... and GEANT documentation install -p -m 0644 $(CERN_DOCDIR)/geant321.txt \ $(CERN_DOCDIR)/ertrak.txt $(GEANTDOC)/ install -d -m 0755 $(GEANTDOC)/gheisha install -p -m 0644 $(CERN_DOCDIR)/gheisha/* $(GEANTDOC)/gheisha/ # ... and X11 app-defaults install -p -m 0644 $(ADDONDIR)/app-defaults/*Geant++ \ $(DESTDIR)$(sysconfdir)/X11/app-defaults/ # ... and scripts + man pages install -p -m 0755 $(CERN_BINDIR)/gxint $(DESTDIR)$(bindir)/ install -p -m 0644 $(ADDONDIR)/manpages/gxint.1 $(DESTDIR)$(man1dir)/ .PHONY: cernlib-indep-local cernlib-scripts cernlib-geant-data \ cernlib-geant-docs install install-arch install-includes install-indep debian/add-ons/INSTALL0000644000000000000000000000163312205714041011543 0ustar GEANT 3.21 INSTALLATION To install: 1) Install the main CERN libraries (packlib, mathlib, etc.) and PAW libraries. 2) from the top-level GEANT 3.21 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 (CERNLIB packages must have been built with gfortran): dpatch, patch, mawk (or gawk), xutils (for imake), debhelper, gfortran, cfortran, cernlib-base, libmathlib2-dev, kuipc, libpawlib-lesstif3-dev, fakeroot, build-essential - On other distributions, translate package names to suit. debian/add-ons/bin/0000755000000000000000000000000012205714041011257 5ustar debian/add-ons/bin/gmake0000755000000000000000000000170012205714041012267 0ustar #!/bin/sh # gmake wrapper script # This is needed because the name of the make command in the cernlib source # is assumed to be "gmake", but GNU Make is simply called "make" in most # Linux distributions. # Do not install this script; it should be used only for the cernlib build # process. if [ "x$ADDONDIR" = x ] ; then echo "gmake: this script is not intended to be used outside the" echo " cernlib build process!" exit 1 fi MAKE="" # see if there is a "gmake" other than this script OLDPATH="$PATH" export PATH="`echo "$OLDPATH" | sed \ -e 's,:'"${ADDONDIR}"'/bin:,:,g' \ -e 's,^'"${ADDONDIR}"'/bin:,,g' \ -e 's,:'"${ADDONDIR}"'/bin$,,g'`" which gmake > /dev/null 2>&1 && MAKE="`which gmake`" export PATH="$OLDPATH" # if not, try to use "make" [ "x$MAKE" = x ] && which make > /dev/null 2>&1 && MAKE=make if [ "x$MAKE" = x ] ; then echo "gmake: wrapper script can find neither gmake nor make in \$PATH!" exit 1 fi exec "$MAKE" "$@" debian/add-ons/bin/remove-deadpool0000755000000000000000000000114212205714041014265 0ustar #!/bin/bash set -e cd upstream for dir in `tr '/' ' ' < ../debian/deadpool.txt | awk '{print $1}' \ | sed -e 's/#.*//g' -e '/$^/d' | sort | uniq` ; do file=src_${dir}.tar.gz echo Unpacking compressed source from $file... tar xzf $file version=`ls -1 | head -n 1` echo Removing files with bad copyright... for badfile in `grep '^'$dir ../debian/deadpool.txt \ | sed 's/\#.*$//g'` ; do path=$version/src/$badfile [ -e "$path" ] || echo "Skipping non-existent $path ..." rm -rf $version/src/$badfile done echo Repacking $file. tar czf $file $version rm -rf $version done echo Done. exit 0 debian/add-ons/includelist.txt0000644000000000000000000000002212205714041013561 0ustar geant321/geant321 debian/add-ons/manpages/0000755000000000000000000000000012205714041012302 5ustar debian/add-ons/manpages/gxint.10000644000000000000000000000504112205714041013515 0ustar .\" Hey, EMACS: -*- nroff -*- .TH GXINT 1 "January 24, 2003" .\" Please adjust this date whenever revising the manpage. .\" .SH NAME gxint \- load and run an interactive GEANT application .SH SYNOPSIS .B gxint .RI [ options ] " file(s)" .SH DESCRIPTION .PP \fBgxint\fP is a script to load and run a GEANT application, which is usually in the form of Fortran source code. The desired routines are given in .IR file(s) . .SH OPTIONS .TP .BI "\-d " driver Specify a graphics driver. The available options on Linux are X11 and Motif (which should also work with lesstif). X11 is the default. .TP .BI "\-g " geant_version Specify the version of GEANT to use. Current default is 3.21. This option only makes sense if you have installed a GEANT version other than 3.21 (i.e. one not packaged by Debian). .TP .BI "\-h " host Useful with the \-d X11 option only. Specifies the hostname used for the display; syntax is identical with that of $DISPLAY. If no hostname is specified, the value of $DISPLAY is used. .TP .BI "\-l " library Specify additional libraries. This option may be repeated to add several libs. .TP .BI "\-L " path Additional loader search path. Useful if additional libraries are specified with \-l option. This option may be repeated with more than one pathname. .TP .B \-m Do NOT use main program from cernlib area. .TP .BI "\-o " outputfile Do not immediately run GEANT, but instead produce an executable file named .IR outputfile . If "\-o" is not given, the executable file will be created in $HOME, named GEANT\fIpid\fP (\fIpid\fP being the process ID of \fBgxint\fP), and run automatically. .TP .BI "\-v " version Specify version of $CERN_LEVEL. This is meaningless unless you have installed an upstream version of CERNLIB (i.e. not packaged by Debian); see the file .IR /usr/share/doc/cernlib\-base/README.Debian . .TP .B \-?, \-\-help Show a summary of options. .SH SEE ALSO .PP .BR cernlib (1) \- script to list required \-l and \-L options given a list of CERN libraries .PP .I /usr/share/doc/cernlib\-base/README.Debian describes how one might use the \-v flag with Debian's versions of the cernlib and gxint scripts if one has an upstream version of CERNLIB installed. .PP CERNLIB documentation for all related libraries and programs is available at the following URL: .I http://cern.ch/cernlib/ .SH AUTHOR This manual page was written by Kevin McCarty for the Debian GNU/Linux system (but may be used by others). .SH COPYRIGHT This manual page is (C) Copyright Kevin McCarty, 2002, 2003, 2004, 2005. debian/add-ons/app-defaults/0000755000000000000000000000000012205714041013074 5ustar debian/add-ons/app-defaults/KxGeant++0000644000000000000000000000070412205714041014507 0ustar ! This file gives X defaults for KXterm when run by GEANT. ! Use light gray widgets instead of the hideous default blue KxGeant++*background: gray KxGeant++*dirlist*background: gray90 KxGeant++*foreground: black ! and decent fonts instead of "fixed" KxGeant++*fontList: *-helvetica-medium-r-normal*-120-* KxGeant++*XmText*fontList: *-courier-medium-r-normal*-120-* ! and make the transcript pad a reasonable size KxGeant++*outputForm.height: 200 debian/add-ons/app-defaults/Geant++0000644000000000000000000000360612205714041014210 0ustar ! Set some geometric constraints on UI widgets. ! DO NOT remove or change the following six lines, or the GEANT 3.21 GUI ! will become buggy! Geant++*kuipBrowser*fileScWindow.width: 100 Geant++*kuipBrowser*fileScWindow.bottomOffset: 52 Geant++*kuipBrowser*fileScWindow.topOffset: 59 Geant++*kuipBrowser*dirScWindow.bottomOffset: 52 Geant++*kuipBrowser*dirScWindow.topOffset: 59 Geant++*kuipBrowser*separatorGadget1.topPosition: 50 ! Use light gray widgets with a white-background file browser Geant++*background: gray Geant++*dirlist*background: white Geant++*foreground: black ! use decent fonts Geant++*XmText*fontList: *-courier-medium-r-normal-*-120-* Geant++*XmTextField*fontList: *-courier-medium-r-normal-*-120-* Geant++*kxtermFont: *-helvetica-medium-r-normal-*-120-* Geant++*kxtermTextFont: *-courier-medium-r-normal-*-120-* Geant++*dirlist*fontList: *-helvetica-medium-r-normal-*-120-* Geant++*matrix.fontList: *-helvetica-medium-r-normal-*-120-* Geant++*helpFont: *-courier-medium-r-normal-*-120-* Geant++*fontList: *-helvetica-medium-r-normal-*-120-* ! some color for the browser icons: ! directory-like things Geant++*dirlist*dir*iconForeground: blue Geant++*dirlist*DirFile*iconForeground: blue Geant++*dirlist*DirUpFile*iconForeground: blue Geant++*dirlist*Menu*iconForeground: blue ! executable-like things Geant++*dirlist*Cmd*iconForeground: turquoise Geant++*dirlist*MacFile*iconForeground: turquoise Geant++*dirlist*ExFile*iconForeground: turquoise ! disabled things Geant++*dirlist*InvCmd*iconForeground: gray Geant++*dirlist*NoFile*iconForeground: gray ! various colors for histograms and ntuples Geant++*dirlist*1d*iconForeground: DarkGoldenrod3 Geant++*dirlist*2d*iconForeground: DeepPink3 Geant++*dirlist*ntuple*iconForeground: SteelBlue3 Geant++*dirlist*pict*iconForeground: green4 Geant++*dirlist*chain*iconForeground: blue Geant++*dirlist*entry*iconForeground: OrangeRed debian/add-ons/README0000644000000000000000000000341612205714041011373 0ustar Contents of this directory are copyright (C) Kevin B. McCarty, 2001-2006, 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 the GEANT 3.21 libraries supplied by CERN. To compile them accordingly, copy the Makefile in this directory to the top-level geant321 source directory and run make with whatever variables you like. (You will first need to have installed the main CERNLIB and PAW libraries from my packaging of those.) This packaging of the CERNLIB GEANT 3.21 libs 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 - automatic generation of CERNLIB documents included with the source - various other bug fixes Note that unlike the upstream version of CERNLIB, which installs to $CERN/$CERN_LEVEL (e.g. /opt/cern/2003), this packaging of CERNLIB GEANT 3.21 libraries will install them to /usr/local/lib. Or change this by specifying $prefix with the "make" command. Things NOT included in this packaging of GEANT 3.21: - GEANT-FLUKA code; see http://www.fluka.org/Faq.html These are omitted for licensing reasons (i.e. I am not convinced that it is permissible for me to distribute them under the terms of the GPL). See http://people.debian.org/~kmccarty/cernlib/ for more information. --Kevin McCarty, 29 June 2006