rpms/cernlib/FC-3 001-fix-missing-fluka.dpatch, NONE, 1.1 002-fix-missing-mclibs.dpatch, NONE, 1.1 003-geant-dummy-functions.dpatch, NONE, 1.1 100-fix-isajet-manual-corruption.dpatch, NONE, 1.1 101-undefine-PPC.dpatch, NONE, 1.1 102-dont-optimize-some-code.dpatch, NONE, 1.1 103-ignore-overly-long-macro-in-gen.h.dpatch, NONE, 1.1 104-fix-undefined-insertchar-warning.dpatch, NONE, 1.1 105-fix-obsolete-xmfontlistcreate-warning.dpatch, NONE, 1.1 106-fix-paw++-menus-in-lesstif.dpatch, NONE, 1.1 107-define-strdup-macro-safely.dpatch, NONE, 1.1 108-quote-protect-comis-script.dpatch, NONE, 1.1 110-ignore-included-lapack-rule.dpatch, NONE, 1.1 111-fix-kuesvr-install-location.dpatch, NONE, 1.1 112-remove-nonexistent-prototypes-from-gen.h.dpatch, NONE, 1.1 113-cups-postscript-fix.dpatch, NONE, 1.1 114-install-scripts-properly.dpatch, NONE, 1.1 200-comis-allow-special-chars-in-path.dpatch, NONE, 1.1 201-update-kuip-helper-apps.dpatch, NONE, 1.1 202-fix-includes-in-minuit-example.dpatch, NONE, 1.1 203-compile-geant-wi! th-ertrak.dpatch, NONE, 1.1 204-compile-isajet-with-isasrt.dpatch, NONE, 1.1 205-max-path-length-to-256.dpatch, NONE, 1.1 206-herwig-uses-DBLE-not-REAL.dpatch, NONE, 1.1 207-compile-temp-libs-with-fPIC.dpatch, NONE, 1.1 208-fix-redundant-packlib-dependencies.dpatch, NONE, 1.1 209-ignore-unneeded-headers-in-kmutil.c.dpatch, NONE, 1.1 210-improve-cfortran-header-files.dpatch, NONE, 1.1 211-fix-comis-on-64-bit-arches.dpatch, NONE, 1.1 300-skip-duplicate-lenocc.dpatch, NONE, 1.1 303-shadow-passwords-supported.dpatch, NONE, 1.1 304-update-Imake-config-files.dpatch, NONE, 1.1 305-use-POWERPC-not-PPC-as-test.dpatch, NONE, 1.1 306-patch-assert.h-for-makedepend.dpatch, NONE, 1.1 307-use-canonical-cfortran.dpatch, NONE, 1.1 308-use-canonical-cfortran-location.dpatch, NONE, 1.1 309-define-dummy-herwig-routines.dpatch, NONE, 1.1 310-define-dummy-fowl-routines.dpatch, NONE, 1.1 311-skip-duplicate-qnext.dpatch, NONE, 1.1 312-skip-duplicate-gamma.dpatch, NONE, 1.1 313-comis-preserves-filename-case.dpatch, NONE, 1.1 314-permit-usi! ng-regcomp-for-re_comp.dpatch,NONE,1.1 315-fixes-for-MacOSX.dp! atch,N

Patrice Dumas (pertusus) fedora-extras-commits at redhat.com
Fri Dec 9 15:57:08 UTC 2005


Author: pertusus

Update of /cvs/extras/rpms/cernlib/FC-3
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24352

Modified Files:
	.cvsignore cernlib-deadpool.txt cernlib.README cernlib.spec 
	paw.README sources 
Added Files:
	001-fix-missing-fluka.dpatch 002-fix-missing-mclibs.dpatch 
	003-geant-dummy-functions.dpatch 
	100-fix-isajet-manual-corruption.dpatch 
	101-undefine-PPC.dpatch 102-dont-optimize-some-code.dpatch 
	103-ignore-overly-long-macro-in-gen.h.dpatch 
	104-fix-undefined-insertchar-warning.dpatch 
	105-fix-obsolete-xmfontlistcreate-warning.dpatch 
	106-fix-paw++-menus-in-lesstif.dpatch 
	107-define-strdup-macro-safely.dpatch 
	108-quote-protect-comis-script.dpatch 
	110-ignore-included-lapack-rule.dpatch 
	111-fix-kuesvr-install-location.dpatch 
	112-remove-nonexistent-prototypes-from-gen.h.dpatch 
	113-cups-postscript-fix.dpatch 
	114-install-scripts-properly.dpatch 
	200-comis-allow-special-chars-in-path.dpatch 
	201-update-kuip-helper-apps.dpatch 
	202-fix-includes-in-minuit-example.dpatch 
	203-compile-geant-with-ertrak.dpatch 
	204-compile-isajet-with-isasrt.dpatch 
	205-max-path-length-to-256.dpatch 
	206-herwig-uses-DBLE-not-REAL.dpatch 
	207-compile-temp-libs-with-fPIC.dpatch 
	208-fix-redundant-packlib-dependencies.dpatch 
	209-ignore-unneeded-headers-in-kmutil.c.dpatch 
	210-improve-cfortran-header-files.dpatch 
	211-fix-comis-on-64-bit-arches.dpatch 
	300-skip-duplicate-lenocc.dpatch 
	303-shadow-passwords-supported.dpatch 
	304-update-Imake-config-files.dpatch 
	305-use-POWERPC-not-PPC-as-test.dpatch 
	306-patch-assert.h-for-makedepend.dpatch 
	307-use-canonical-cfortran.dpatch 
	308-use-canonical-cfortran-location.dpatch 
	309-define-dummy-herwig-routines.dpatch 
	310-define-dummy-fowl-routines.dpatch 
	311-skip-duplicate-qnext.dpatch 
	312-skip-duplicate-gamma.dpatch 
	313-comis-preserves-filename-case.dpatch 
	314-permit-using-regcomp-for-re_comp.dpatch 
	315-fixes-for-MacOSX.dpatch 
	318-additional-gcc-3.4-fixes.dpatch 
	700-remove-kernlib-from-packlib-Imakefile.dpatch 
	701-patch-hbook-comis-Imakefiles.dpatch 
	702-patch-Imakefiles-for-packlib-mathlib.dpatch 
	703-patch-code_motif-packlib-Imakefiles.dpatch 
	704-patch-code_kuip-higzcc-Imakefiles.dpatch 
	705-patch-paw_motif-paw-Imakefiles.dpatch 
	800-implement-shared-library-rules-in-Imake.dpatch 
	801-non-optimized-rule-uses-fPIC-g.dpatch 
	802-create-shared-libraries.dpatch 
	803-link-binaries-dynamically.dpatch 
	804-workaround-for-comis-mdpool-struct-location.dpatch 
	805-expunge-missing-mathlib-kernlib-symbols.dpatch 
	806-bump-mathlib-and-dependents-sonames.dpatch 
	cernlib-enforce-FHS.diff cernlib-gxint-script.diff 
	cernlib-hwhiga_use_dimag.diff cernlib-hwuli2_use_dimag.diff 
	cernlib_2005.05.09.dfsg-2.diff 
Removed Files:
	001-delete-pythia-refs 003-enforce-FHS 
	005-enable-shadow-passwd 007-delete-fluka-refs 008-undef-PPC 
	010-comis-allow-special-chars-in-path 
	012-add-no-optimization-macro 
	013-fix-paw-imakefile-special-rules 
	014-fix-herwig-imakefile-special-rules 015-fix-optimization 
	018-move-kernlib-to-toplevel 028-fix-isajet-docs 
	030-filename-length-to-256 033-fix-undefined-insertchar 
	035-do-not-use-XmFontListCreate 038-fix-strndup-macro-problem 
	039-use-DBLE-not-REAL 044-fix-strdup-redefinition 
	045-compile-with-isasrt 047-fix-paw++-menus 
	cernlib-XmDrawShadow-no-prototype.patch 
	cernlib-bimsel-nodouble-save.diff cernlib-cernlib.patch 
	cernlib-hwhiga_use_aimag.diff cernlib-hwuli2_use_aimag.diff 
	cernlib-install_scripts.patch cernlib-static-tcpaw.diff 
	cernlib_2004.11.04-3.diff gxint-script.diff 
Log Message:
- update with newer debian patchset for cernlib, fix licence issues
- remove the BSD in the licence because there is no library nor binary
  under a BSD licence and someone could get the idea that there is 
  some dual BSD/GPL licenced binaries or libraries. The LGPL is kept
  because of cfortran
- don't use the include.tar.gz source, instead get include files from
  the source files
- build shared libraries
- simplify the scripts modifications

sync with devel, except 64 bit fixes



--- NEW FILE 001-fix-missing-fluka.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 001-fix-missing-fluka.dpatch by  <kmccarty at debian.org>
##
## 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 cernlib-2005.05.09.dfsg~/src/geant321/Imakefile cernlib-2005.05.09.dfsg/src/geant321/Imakefile
--- cernlib-2005.05.09.dfsg~/src/geant321/Imakefile	1998-03-05 11:20:07.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/geant321/Imakefile	2005-11-23 17:41:29.886310858 +0000
@@ -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 cernlib-2005.05.09.dfsg~/src/geant321/miface/Imakefile cernlib-2005.05.09.dfsg/src/geant321/miface/Imakefile
--- cernlib-2005.05.09.dfsg~/src/geant321/miface/Imakefile	1995-10-24 10:21:53.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/geant321/miface/Imakefile	2005-11-23 17:41:52.230563421 +0000
@@ -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


--- NEW FILE 002-fix-missing-mclibs.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 002-fix-missing-mclibs.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Deal with several of the MC libs having to be purged from source.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/Imakefile /tmp/dpep.pmIy0R/cernlib-2005.05.09/src/mclibs/Imakefile
--- cernlib-2005.05.09/src/mclibs/Imakefile	1999-05-20 09:30:20.000000000 -0400
+++ /tmp/dpep.pmIy0R/cernlib-2005.05.09/src/mclibs/Imakefile	2005-06-08 15:39:37.783591646 -0400
@@ -2,9 +2,11 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
-
-LIBDIRS= ariadne cojets eurodec herwig fritiof \ @@\
-	 isajet jetset lepto63 pdf photos pythia
+/* Pythia and Jetset are not under GPL, so we must remove references
+   to them and their dependents.  They have already been purged from
+   Debianized source code.  Also, re-order libs so that dependent ones
+   come after dependees. */
+LIBDIRS= cojets eurodec pdf photos herwig isajet
 
 SUBDIRS = $(LIBDIRS)
 
@@ -12,8 +14,8 @@
 
 InstallLibSubdirs($(LIBDIRS))
 
-INCLUDEDIRS= ariadne cojets eurodec herwig fritiof \ @@\
-	 isajet jetset lepto63 pdf pythia
+/* Again, purge Pythia, Jetset and dependents. */
+INCLUDEDIRS= cojets eurodec herwig isajet pdf
 
 InstallIncludeSubdirs($(INCLUDEDIRS))
 


--- NEW FILE 003-geant-dummy-functions.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 003-geant-dummy-functions.dpatch by  <kmccarty at debian.org>
##
## 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* 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, "Geant321: 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);
+


--- NEW FILE 100-fix-isajet-manual-corruption.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 100-fix-isajet-manual-corruption.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix corruption in LaTeX source to the Isajet manual.
## DP: (Replacement text obtained from a PS version of the manual on the web.)

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/isajet/doc/physics.doc /tmp/dpep.tlmeFD/cernlib-2005.05.09/src/mclibs/isajet/doc/physics.doc
--- cernlib-2005.05.09/src/mclibs/isajet/doc/physics.doc	2001-10-08 10:03:08.000000000 -0400
+++ /tmp/dpep.tlmeFD/cernlib-2005.05.09/src/mclibs/isajet/doc/physics.doc	2005-06-08 16:12:37.814042242 -0400
@@ -122,7 +122,7 @@
 $W/Z$ decay. These were calculated using FORM 1.1 by J.~Vermaseren. The
 process $g + t \to W + b$ is {\it not} included. Both $g + b \to W^- +
 t$ and $g + \bar t \to W^- + \bar b$ of course give the same $W^- + t
-+\BARB_FINALSTATEAFTERQCDEVOLUTION
++\bar b$ final state after QCD evolution.  While the latter process is
 needed to describe the $m_t = 0$(!) mass singularity for $q_t \gg
 m_t$, it has a pole in the physical region at low $q_t$ from on-shell
 $t \to W + b$ decays. There is no obvious way to avoid this without


--- NEW FILE 101-undefine-PPC.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 101-undefine-PPC.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: If "PPC" is defined by compiler, undefine where it clashes with a
## DP: local variable.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/cojets/code/bradlp.F /tmp/dpep.aeMGeJ/cernlib-2005.05.09/src/mclibs/cojets/code/bradlp.F
--- cernlib-2005.05.09/src/mclibs/cojets/code/bradlp.F	1996-01-11 09:14:33.000000000 -0500
+++ /tmp/dpep.aeMGeJ/cernlib-2005.05.09/src/mclibs/cojets/code/bradlp.F	2005-06-08 17:00:48.403200778 -0400
@@ -37,6 +37,15 @@
 #include "cojets/zpar2.inc"
 #include "cojets/zwpar.inc"
 #include "cojets/weakon.inc"
+
+C     The following is necessary since PPC is defined in g77 on
+C     the powerpc architecture, but it's also a variable in this
+C     file.
+C       -- Kevin McCarty
+#ifdef PPC
+#undef PPC
+#endif
+
       DIMENSION QP(4),QM(4),QK(4),QE(4),QN(4)
       DIMENSION COEF(2,2),QQV(2)
 C


--- NEW FILE 102-dont-optimize-some-code.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 102-dont-optimize-some-code.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Don't allow the compiler to optimize several files that cause trouble
## DP: (either compiler crash or broken code generation).

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mathlib/gen/d/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mathlib/gen/d/Imakefile
--- cernlib-2005.05.09/src/mathlib/gen/d/Imakefile	1996-06-12 11:25:38.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mathlib/gen/d/Imakefile	2005-06-09 11:14:52.470486750 -0400
@@ -19,6 +19,11 @@
 SRCS_F:= $(SRCS_F) cgauss64.F dgquad.F dgset.F gauss64.F minfc64.F \ @@\
 	rcauch.F rdeqbs.F rdeqmr.F rderiv.F rfrdh1.F rgmlt.F rkstp64.F \ @@\
 	simps64.F triint64.F 
+#if defined(CERNLIB_LINUX)
+/* -O3 optimization breaks in g77 3.2 */
+SpecialFortranLibObjectRule(rderiv,rderiv,-O0,NullParameter)
+SpecialFortranLibObjectRule(rfrdh1,rfrdh1,-O0,NullParameter)
+#endif
 #else
 SRCS_F:= $(SRCS_F) cgauss128.F cauchy.F cauchy128.F deqbs128.F deqmr128.F \ @@\
 	deriv128.F minfc128.F rfrdh128.F rgmlt128.F rkstp128.F simps128.F \ @@\
@@ -37,6 +42,16 @@
 IMAKE_DEFINES=-DFortranDoesCpp=NO
 #endif
 
+#if defined(CERNLIB_LINUX)
+/* -O3 optimization breaks in g77 3.2 */
+SpecialFortranLibObjectRule(rknysd,rknysd,-O0,NullParameter)
+SpecialFortranLibObjectRule(old506,old506,-O0,NullParameter)
+
+/* -O1 -fno-automatic optimization creates wrong code in g77 2.95, 3.3, 3.4
+   due to x86 chip extended precision, cf. http://bugs.debian.org/290438 */
+SpecialFortranLibObjectRule(radmul,radmul,-O0,NullParameter)
+#endif
+
 FORTRANSAVEOPTION = FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/mathlib/gen/e/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mathlib/gen/e/Imakefile
--- cernlib-2005.05.09/src/mathlib/gen/e/Imakefile	1996-05-01 09:21:54.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mathlib/gen/e/Imakefile	2005-06-09 11:16:07.058731880 -0400
@@ -12,6 +12,11 @@
 
 #if defined(CERNLIB_DOUBLE)
 SRCS_F:= $(SRCS_F) chsum.F dchebn.F rchecf.F rcspln.F
+#if defined(CERNLIB_LINUX)
+/* -O3 optimization breaks in g77 3.2 */
+SpecialFortranLibObjectRule(rchecf,rchecf,-O0,NullParameter)
+SpecialFortranLibObjectRule(rcspln,rcspln,-O0,NullParameter)
+#endif
 #else
 SRCS_F:= $(SRCS_F) chsum128.F rchebn.F rcspln128.F
 #endif
diff -urNad cernlib-2005.05.09/src/mclibs/isajet/isatape/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mclibs/isajet/isatape/Imakefile
--- cernlib-2005.05.09/src/mclibs/isajet/isatape/Imakefile	1996-05-06 11:19:44.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mclibs/isajet/isatape/Imakefile	2005-06-09 11:16:58.039286811 -0400
@@ -4,4 +4,8 @@
 
 FORTRANSAVEOPTION = FortranSaveFlags
 
+#if defined(CERNLIB_LINUX)
+SpecialFortranLibObjectRule(isawev,isawev,-O0,NullParameter)
+#endif
+
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/mclibs/pdf/spdf/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mclibs/pdf/spdf/Imakefile
--- cernlib-2005.05.09/src/mclibs/pdf/spdf/Imakefile	2000-04-19 09:51:56.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/mclibs/pdf/spdf/Imakefile	2005-06-09 11:22:02.812494322 -0400
@@ -97,4 +97,10 @@
 #ifdef CERNLIB_HPUX
 FORTRANOPTIONS += '-WF,-P'
 #endif
+
+#if defined(CERNLIB_LINUX)
+/* -O2 optimization on ARM breaks in g77 3.3.3 */
+SpecialFortranLibObjectRule(structm,structm,-O0,NullParameter)
+#endif
+
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/c204fort/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/packlib/kernlib/kernnum/c204fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/c204fort/Imakefile	1996-06-10 06:20:57.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/packlib/kernlib/kernnum/c204fort/Imakefile	2005-06-09 11:09:34.621022534 -0400
@@ -14,6 +14,11 @@
 FDEBUGFLAGS=+O1
 #endif
 
+#if defined(CERNLIB_LINUX)
+/* -O3 optimization breaks in g77 3.2 */
+SpecialFortranLibObjectRule(muller,muller,-O0,NullParameter)
+#endif
+
 FORTRANSAVEOPTION = FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/g900fort/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/packlib/kernlib/kernnum/g900fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/g900fort/Imakefile	1996-06-12 06:04:36.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/packlib/kernlib/kernnum/g900fort/Imakefile	2005-06-09 11:10:40.068274255 -0400
@@ -4,6 +4,11 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_LINUX)
+/* -O3 optimization breaks in g77 3.2 */
+SpecialFortranLibObjectRule(ranget,ranget,-O0,NullParameter)
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/Imakefile /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/pawlib/comis/code/Imakefile
--- cernlib-2005.05.09/src/pawlib/comis/code/Imakefile	2001-09-14 09:08:51.000000000 -0400
+++ /tmp/dpep.hNz5sX/cernlib-2005.05.09/src/pawlib/comis/code/Imakefile	2005-06-09 11:19:57.756983183 -0400
@@ -101,4 +101,10 @@
 SpecialFortranLibObjectRule(cskide,cskide,-O0,NullParameter)
 #endif
 
+#if defined(CERNLIB_LINUX)
+/* optimizing this file, even at -O1, causes runtime breakage with g77 3.3
+   cf. http://bugs.debian.org/233689 */
+SpecialFortranLibObjectRule(csrfun,csrfun,-O0,NullParameter)
+#endif
+
 SubdirLibraryTarget(NullParameter,NullParameter)


--- NEW FILE 103-ignore-overly-long-macro-in-gen.h.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 103-ignore-overly-long-macro-in-gen.h.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Comment out macro in cfortran/gen.h with too many arguments for cfortran
## DP: to accept.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/cfortran/gen.h /tmp/dpep.weQ8Dc/cernlib-2005.05.09/src/cfortran/gen.h
--- cernlib-2005.05.09/src/cfortran/gen.h	2000-06-23 06:13:58.000000000 -0400
+++ /tmp/dpep.weQ8Dc/cernlib-2005.05.09/src/cfortran/gen.h	2005-06-09 11:43:16.729842789 -0400
@@ -1123,10 +1123,10 @@
 
 PROTOCCALLSFSUB3(NAMEZB,namezb,FLOAT,INT,INT)
 #define NAMEZB(A1,A2,A3)  CCALLSFSUB3(NAMEZB,namezb,FLOAT,INT,INT,A1,A2,A3)
-
+/*
 PROTOCCALLSFSUB29(NEWPTQ,newptq,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,PDOUBLE,DOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PINT,PINT)
 #define NEWPTQ(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29)  CCALLSFSUB29(NEWPTQ,newptq,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,PDOUBLE,DOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PINT,PINT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29)
-
+*/
 PROTOCCALLSFSUB9(NEWRO,newro,INT,INT,INT,FLOAT,PFLOAT,FLOATV,FLOATV,FLOATV,FLOATV)
 #define NEWRO(A1,A2,A3,A4,A5,A6,A7,A8,A9)  CCALLSFSUB9(NEWRO,newro,INT,INT,INT,FLOAT,PFLOAT,FLOATV,FLOATV,FLOATV,FLOATV,A1,A2,A3,A4,A5,A6,A7,A8,A9)
 


--- NEW FILE 104-fix-undefined-insertchar-warning.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 104-fix-undefined-insertchar-warning.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Correct Lesstif warning about undefined InsertChar.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/kuipio.c /tmp/dpep.XJ5w0K/cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/kuipio.c
--- cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/kuipio.c	1996-03-08 10:33:04.000000000 -0500
+++ /tmp/dpep.XJ5w0K/cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/kuipio.c	2005-06-09 14:36:52.509109480 -0400
@@ -573,7 +573,7 @@
                         EditMenu,
                         RES_CONVERT( XmNlabelString, "Copy" ),
                         RES_CONVERT( XmNmnemonic, "C" ),
-                        XmNaccelerator, "Ctrl<Key>InsertChar",
+                        XmNaccelerator, "Ctrl<Key>Insert",
                         RES_CONVERT( XmNacceleratorText, "Ctrl+Ins" ),
                         NULL );
         UxPutContext( copyButton, (char *) UxKuipIoContext );
@@ -585,7 +585,7 @@
                         EditMenu,
                         RES_CONVERT( XmNlabelString, "Paste" ),
                         RES_CONVERT( XmNmnemonic, "P" ),
-                        XmNaccelerator, "Shift<Key>InsertChar",
+                        XmNaccelerator, "Shift<Key>Insert",
                         RES_CONVERT( XmNacceleratorText, "Shift+Ins" ),
                         NULL );
         UxPutContext( pasteButton, (char *) UxKuipIoContext );


--- NEW FILE 105-fix-obsolete-xmfontlistcreate-warning.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 105-fix-obsolete-xmfontlistcreate-warning.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix Lesstif warning about use of obsolete XmFontListCreate() function

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c /tmp/dpep.kv7bf1/cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c
--- cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c	1996-10-24 08:13:41.000000000 -0400
+++ /tmp/dpep.kv7bf1/cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c	2005-06-09 14:39:00.831812710 -0400
@@ -776,6 +776,7 @@
  ***********************************************************************/
 static void init_data ()
 {
+  /* This function edited not to use obsolete function XmFontListCreate() */
     int k;
 
     km_charset = XmSTRING_DEFAULT_CHARSET;
@@ -792,8 +793,11 @@
        if (help_font_struct == NULL)
            printf ("%s Warning: Font loaded for HELP (%s) is NULL \n",
                    main_prompt, srec.Help_font);
-       else
-           help_font = XmFontListCreate (help_font_struct,km_charset);
+       else {
+	   XmFontListEntry entry = XmFontListEntryCreate(
+	       km_charset, XmFONT_IS_FONT, (XtPointer)help_font_struct );
+           help_font = XmFontListAppendEntry( NULL, entry );
+       }
    }
 
    /*
diff -urNad cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c /tmp/dpep.kv7bf1/cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c
--- cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c	2000-10-03 10:11:22.000000000 -0400
+++ /tmp/dpep.kv7bf1/cernlib-2005.05.09/src/pawlib/paw/cmotif/att_font.c	2005-06-09 14:39:00.803818666 -0400
@@ -215,18 +215,22 @@
  *****************************************************************************/
 static void MajButton(Widget w, Widget font,Widget pre,int postab)
 {
+   /* this function edited not to use obsolete function XmFontListCreate() */
    XmFontList police;
+   XmFontListEntry entry;
    XFontStruct *info_police;
    char strlabel[20];
    int prenum,policenum;
-
+   
    XtVaGetValues(pre,XmNuserData,&prenum,NULL);
    prenum--;
    XtVaGetValues(font,XmNuserData,&policenum,NULL);
    policenum--;
    if (( info_police=XLoadQueryFont(UxDisplay,StrFontTab[policenum]))== NULL)
       fprintf(stderr,"Unable to load font %s \n ",StrFontTab[policenum]);
-   police=XmFontListCreate(info_police,XmSTRING_DEFAULT_CHARSET);
+   entry = XmFontListEntryCreate(XmSTRING_DEFAULT_CHARSET,XmFONT_IS_FONT,
+				 (XtPointer)info_police);
+   police=XmFontListAppendEntry(NULL,entry);
    XtVaSetValues(w,XmNfontList,police,NULL);
    /* XFreeFont(UxDisplay,info_police);*/
 


--- NEW FILE 106-fix-paw++-menus-in-lesstif.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 106-fix-paw++-menus-in-lesstif.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix odd behavior of Paw++ menus when compiled against Lesstif.  The
## DP: problem is that Paw++ Motif code does some awfully weird things that
## DP: Lesstif doesn't support; cf. http://bugs.debian.org/270862 .

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c /tmp/dpep.KorIaA/cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c
--- cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c	2005-06-09 14:41:14.451377612 -0400
+++ /tmp/dpep.KorIaA/cernlib-2005.05.09/src/packlib/kuip/code_motif/mkuip.c	2005-06-09 14:41:22.929573007 -0400
@@ -1066,7 +1066,7 @@
 {
     int narg;
     Arg arglist[2];
-    Widget id_pdm;
+    Widget id_pdm, id_pdm_shell;
     Widget PdMenu[15];
 
     /*
@@ -1076,8 +1076,19 @@
     UxKuipBrowserContext = (_UxCkuipBrowser *)UxGetContext(parent);
 
     /*  create pulldown_menu */
-    id_pdm = XmCreatePulldownMenu (browserMenu,"OptionsPdMenu",arglist,0);
-
+    id_pdm_shell = XtVaCreatePopupShell ("OptionsPdMenu_shell",
+	xmMenuShellWidgetClass, browserMenu,
+	XmNwidth, 1,
+	XmNheight, 1,
+	XmNallowShellResize, TRUE,
+	XmNoverrideRedirect, TRUE,
+	NULL );
+    id_pdm = XtVaCreateWidget( "OptionsPdMenu",
+	xmRowColumnWidgetClass,
+	id_pdm_shell,
+	XmNrowColumnType, XmMENU_PULLDOWN,
+	NULL );
+/*  id_pdm = XmCreatePulldownMenu (browserMenu,"OptionsPdMenu",arglist,0); */
 
     /* create pulldown_menu_entry "Options" */
     XtVaCreateManagedWidget( "optionsMenu",
@@ -1091,7 +1102,7 @@
 /*  create list of push_buttons and separators for menu "Option"             */
 /*  create pulldown_menu for "Raise Window" (with list of appl. shells)       */
     narg = 0;
-#if XmREVISION == 99 /* problem with REVISION 2 ! */
+#if XmVERSION > 1 || XmREVISION >= 2
     XtSetArg(arglist[narg], XmNtearOffModel, XmTEAR_OFF_ENABLED); narg++;
 #endif
     kuipControlShellM = XmCreatePulldownMenu
@@ -1312,9 +1323,7 @@
 static void create_command_menu(parent)
    Widget parent;
 {
-    Widget id_pdme, id_pdm;
-    Arg    arglist[2];
-    int    narg;
+    Widget id_pdme, id_pdm, id_pdm_shell;
 
     /*
      *   find and restore the context for Browser
@@ -1323,12 +1332,26 @@
     UxKuipBrowserContext = (_UxCkuipBrowser *)UxGetContext(parent);
 
     /* create pulldown_menu_entry "Commands" for all commands */
-    narg = 0;
+
+    id_pdm_shell = XtVaCreatePopupShell ("CommandsPdMenu_shell",
+	xmMenuShellWidgetClass, browserMenu,
+	XmNwidth, 1,
+	XmNheight, 1,
+	XmNallowShellResize, TRUE,
+	XmNoverrideRedirect, TRUE,
+	NULL );
+    
+    id_pdm = XtVaCreateWidget( "CommandsPdMenu",
+	xmRowColumnWidgetClass,
+	id_pdm_shell,
+	XmNrowColumnType, XmMENU_PULLDOWN,
 #if XmVERSION > 1 || XmREVISION >= 2
-    XtSetArg(arglist[narg], XmNtearOffModel, XmTEAR_OFF_ENABLED); narg++;
+	XmNtearOffModel, XmTEAR_OFF_ENABLED,
 #endif
-    id_pdm = XmCreatePulldownMenu
-                     (browserMenu, "CommandsPdMenu", arglist, narg);
+	NULL );
+      
+/*      XmCreatePulldownMenu
+                     (browserMenu, "CommandsPdMenu", arglist, narg); */
 
     id_pdme = XtVaCreateManagedWidget( "id_pdme",
                         xmCascadeButtonGadgetClass, browserMenu,
@@ -1927,7 +1950,7 @@
    if (kuipControlShellM != NULL) XtDestroyWidget (kuipControlShellM);
 
    narg = 0;
-#if XmREVISION == 99 /* problem with REVISION 2 ! */
+#if XmVERSION > 1 || XmREVISION >= 2
    XtSetArg(arglist[narg], XmNtearOffModel, XmTEAR_OFF_ENABLED); narg++;
 #endif
    kuipControlShellM = XmCreatePulldownMenu


--- NEW FILE 107-define-strdup-macro-safely.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 107-define-strdup-macro-safely.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: In some cases strdup() and strndup() are macros, causing a build
## DP: failure.  Ensure any such macros are undefined before redeclaring them.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/kuip/kstring.h /tmp/dpep.ieQnkg/cernlib-2005.05.09/src/packlib/kuip/kuip/kstring.h
--- cernlib-2005.05.09/src/packlib/kuip/kuip/kstring.h	1997-03-14 12:16:39.000000000 -0500
+++ /tmp/dpep.ieQnkg/cernlib-2005.05.09/src/packlib/kuip/kuip/kstring.h	2005-06-09 14:58:22.446739916 -0400
@@ -32,6 +32,9 @@
 
 extern char* strrstr( const char* str1, const char* str2 );
 
+#ifdef strdup
+# undef strdup /* otherwise the next function declaration may bomb */
+#endif
 #define strdup Strdup           /* prototype without const */
 extern char* strdup( const char* str );
 
@@ -46,6 +49,10 @@
                      const char* str4 );
 extern char* str5dup( const char* str1, const char* str2, const char* str3,
                      const char* str4, const char* str5 );
+
+#ifdef strndup
+# undef strndup /* otherwise the next function declaration may bomb */
+#endif
 extern char* strndup( const char* buf, size_t n );
 extern char* stridup( int i );
 


--- NEW FILE 108-quote-protect-comis-script.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 108-quote-protect-comis-script.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F /tmp/dpep.tIRzzG/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F
--- cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F	2000-09-25 10:16:36.000000000 -0400
+++ /tmp/dpep.tIRzzG/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F	2005-06-09 15:41:16.757077306 -0400
@@ -70,7 +70,7 @@
       LEXEC=LENOCC(FEXEC)
       OPEN(LUNOUT,FILE=FEXEC(:LEXEC), STATUS='UNKNOWN',ERR=99)
       WRITE(LUNOUT,'(A)')         '#!/bin/sh'
-      WRITE(LUNOUT,'(A)')         'olddir=`pwd`'
+      WRITE(LUNOUT,'(A)')         'olddir="`pwd`"'
 *      WRITE(LUNOUT,'(A)')         'cd '//CHPATH(:LPATH)
       CHLINE=                     'cd '//CHPATH(:LPATH)
       L=LENOCC(CHLINE)
@@ -206,7 +206,7 @@
       CHLINE=                     '/bin/rm -f '//NAME(:LN)//'.o'
       L=LENOCC(CHLINE)
       WRITE(LUNOUT,'(A)')CHLINE(:L)
-      WRITE(LUNOUT,'(A)')         'cd $olddir'
+      WRITE(LUNOUT,'(A)')         'cd "$olddir"'
       WRITE(LUNOUT,'(A)')         'exit 0'
       CALL CSCLOS(LUNOUT)
       CLOSE(LUNOUT)


--- NEW FILE 110-ignore-included-lapack-rule.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 110-ignore-included-lapack-rule.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Comment out rule requiring liblapack in a subdirectory of mathlib code.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mathlib/Imakefile /tmp/dpep.Ib8j9x/cernlib-2005.05.09/src/mathlib/Imakefile
--- cernlib-2005.05.09/src/mathlib/Imakefile	1999-11-09 12:07:49.000000000 -0500
+++ /tmp/dpep.Ib8j9x/cernlib-2005.05.09/src/mathlib/Imakefile	2005-06-10 11:24:47.771309475 -0400
@@ -5,9 +5,12 @@
 
 LIBDIRS= gen bvsl
 
+/* Lapack is independent of Cernlib and should be installed as one of
+   the build dependencies.
 #ifndef WIN32
  LIBDIRS := $(LIBDIRS) lapack
 #endif
+*/
 
 SUBDIRS= $(LIBDIRS)
 


--- NEW FILE 111-fix-kuesvr-install-location.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 111-fix-kuesvr-install-location.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix install location of kuesvr binary.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/programs/kuesvr/Imakefile /tmp/dpep.ZmakmH/cernlib-2005.05.09/src/packlib/kuip/programs/kuesvr/Imakefile
--- cernlib-2005.05.09/src/packlib/kuip/programs/kuesvr/Imakefile	1996-03-11 10:43:22.000000000 -0500
+++ /tmp/dpep.ZmakmH/cernlib-2005.05.09/src/packlib/kuip/programs/kuesvr/Imakefile	2005-06-10 12:03:32.706178628 -0400
@@ -1,4 +1,4 @@
 
 NormalProgramTarget(kuesvr,kuesvr.o,NullParameter,NullParameter,NullParameter)
 
-InstallProgram(kuesvr,$(CERN)/$(CERN_LEVEL)/bin)
+InstallProgram(kuesvr,$(CERN_BINDIR))


--- NEW FILE 112-remove-nonexistent-prototypes-from-gen.h.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 112-remove-nonexistent-prototypes-from-gen.h.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Remove prototypes from gen.h of functions that don't exist in mathlib.
## DP: Because of the way cfortran works, their existence otherwise causes
## DP: linking failures in third-party code.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/cfortran/gen.h /tmp/dpep.3jFEkx/cernlib-2005.05.09/src/cfortran/gen.h
--- cernlib-2005.05.09/src/cfortran/gen.h	2005-06-27 10:02:17.225463958 -0400
+++ /tmp/dpep.3jFEkx/cernlib-2005.05.09/src/cfortran/gen.h	2005-06-27 10:05:41.503584328 -0400
@@ -84,10 +84,10 @@
 
 PROTOCCALLSFFUN1(FLOAT,ALGAMA,algama,FLOAT)
 #define ALGAMA(A2)  CCALLSFFUN1(ALGAMA,algama,FLOAT,A2)
-
+/*
 PROTOCCALLSFFUN1(FLOAT,QLGAMA,qlgama,FLOAT)
 #define QLGAMA(A2)  CCALLSFFUN1(QLGAMA,qlgama,FLOAT,A2)
-
+*/
 PROTOCCALLSFFUN1(DOUBLE,DLGAMA,dlgama,DOUBLE)
 #define DLGAMA(A2)  CCALLSFFUN1(DLGAMA,dlgama,DOUBLE,A2)
 
@@ -141,10 +141,10 @@
 
 PROTOCCALLSFFUN5(DOUBLE,DCAUCH,dcauch,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE)
 #define DCAUCH(A2,A3,A4,A5,A6)  CCALLSFFUN5(DCAUCH,dcauch,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,A2,A3,A4,A5,A6)
-
+/*
 PROTOCCALLSFFUN6(DOUBLE,CHEBQU,chebqu,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,INT,DOUBLE)
 #define CHEBQU(A2,A3,A4,A5,A6,A7)  CCALLSFFUN6(CHEBQU,chebqu,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,INT,DOUBLE,A2,A3,A4,A5,A6,A7)
-
+*/
 PROTOCCALLSFFUN2(FLOAT,CHISIN,chisin,FLOAT,INT)
 #define CHISIN(A2,A3)  CCALLSFFUN2(CHISIN,chisin,FLOAT,INT,A2,A3)
 
@@ -204,13 +204,13 @@
 
 PROTOCCALLSFFUN3(DOUBLE,DVDOT,dvdot,INT,DOUBLEV,DOUBLEV)
 #define DVDOT(A2,A3,A4)  CCALLSFFUN3(DVDOT,dvdot,INT,DOUBLEV,DOUBLEV,A2,A3,A4)
-
+/*
 PROTOCCALLSFFUN2(DOUBLE,E401BD,e401bd,DOUBLE,DOUBLE)
 #define E401BD(A2,A3)  CCALLSFFUN2(E401BD,e401bd,DOUBLE,DOUBLE,A2,A3)
 
 PROTOCCALLSFFUN2(FLOAT,ELIN1,elin1,FLOAT,FLOAT)
 #define ELIN1(A2,A3)  CCALLSFFUN2(ELIN1,elin1,FLOAT,FLOAT,A2,A3)
-
+*/
 PROTOCCALLSFFUN1(FLOAT,ERF,erf,FLOAT)
 #define ERF(A2)  CCALLSFFUN1(ERF,erf,FLOAT,A2)
 
@@ -237,13 +237,13 @@
 
 PROTOCCALLSFFUN2(FLOAT,FREARG,frearg,FLOAT,FLOAT)
 #define FREARG(A2,A3)  CCALLSFFUN2(FREARG,frearg,FLOAT,FLOAT,A2,A3)
-
+/*
 PROTOCCALLSFFUN3(FLOAT,FRED2,fred2,FLOAT,FLOAT,FLOAT)
 #define FRED2(A2,A3,A4)  CCALLSFFUN3(FRED2,fred2,FLOAT,FLOAT,FLOAT,A2,A3,A4)
 
 PROTOCCALLSFFUN1(FLOAT,FRED3,fred3,FLOAT)
 #define FRED3(A2)  CCALLSFFUN1(FRED3,fred3,FLOAT,A2)
-
+*/
 PROTOCCALLSFFUN1(FLOAT,FREQ,freq,FLOAT)
 #define FREQ(A2)  CCALLSFFUN1(FREQ,freq,FLOAT,A2)
 
@@ -255,10 +255,10 @@
 
 PROTOCCALLSFFUN1(DOUBLE,DFRSIN,dfrsin,DOUBLE)
 #define DFRSIN(A2)  CCALLSFFUN1(DFRSIN,dfrsin,DOUBLE,A2)
-
+/*
 PROTOCCALLSFFUN2(FLOAT,FUN,fun,INT,FLOATV)
 #define FUN(A2,A3)  CCALLSFFUN2(FUN,fun,INT,FLOATV,A2,A3)
-
+*/
 PROTOCCALLSFFUN1(FLOAT,G116F1,g116f1,FLOAT)
 #define G116F1(A2)  CCALLSFFUN1(G116F1,g116f1,FLOAT,A2)
 
@@ -270,10 +270,10 @@
 
 PROTOCCALLSFFUN1(FLOAT,GAMMA,gamma,FLOAT)
 #define GAMMA(A2)  CCALLSFFUN1(GAMMA,gamma,FLOAT,A2)
-
+/*
 PROTOCCALLSFFUN1(FLOAT,QGAMMA,qgamma,FLOAT)
 #define QGAMMA(A2)  CCALLSFFUN1(QGAMMA,qgamma,FLOAT,A2)
-
+*/
 PROTOCCALLSFFUN1(DOUBLE,DGAMMA,dgamma,DOUBLE)
 #define DGAMMA(A2)  CCALLSFFUN1(DGAMMA,dgamma,DOUBLE,A2)
 
@@ -297,16 +297,16 @@
 
 PROTOCCALLSFFUN4(FLOAT,GAUSS,gauss,ROUTINE,FLOAT,FLOAT,FLOAT)
 #define GAUSS(A2,A3,A4,A5)  CCALLSFFUN4(GAUSS,gauss,ROUTINE,FLOAT,FLOAT,FLOAT,A2,A3,A4,A5)
-
+/*
 PROTOCCALLSFFUN4(FLOAT,QGAUSS,qgauss,ROUTINE,FLOAT,FLOAT,FLOAT)
 #define QGAUSS(A2,A3,A4,A5)  CCALLSFFUN4(QGAUSS,qgauss,ROUTINE,FLOAT,FLOAT,FLOAT,A2,A3,A4,A5)
-
+*/
 PROTOCCALLSFFUN4(DOUBLE,DGAUSS,dgauss,ROUTINE,DOUBLE,DOUBLE,DOUBLE)
 #define DGAUSS(A2,A3,A4,A5)  CCALLSFFUN4(DGAUSS,dgauss,ROUTINE,DOUBLE,DOUBLE,DOUBLE,A2,A3,A4,A5)
-
+/*
 PROTOCCALLSFFUN6(DOUBLE,GPINDP,gpindp,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,DOUBLE,INT)
 #define GPINDP(A2,A3,A4,A5,A6,A7)  CCALLSFFUN6(GPINDP,gpindp,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,DOUBLE,INT,A2,A3,A4,A5,A6,A7)
-
+*/
 PROTOCCALLSFFUN2(INT,IGET,iget,INTV,INT)
 #define IGET(A2,A3)  CCALLSFFUN2(IGET,iget,INTV,INT,A2,A3)
 
@@ -315,16 +315,16 @@
 
 PROTOCCALLSFFUN3(INT,ILSUM,ilsum,INT,LOGICALV,INT)
 #define ILSUM(A2,A3,A4)  CCALLSFFUN3(ILSUM,ilsum,INT,LOGICALV,INT,A2,A3,A4)
-
+/*
 PROTOCCALLSFFUN10(FLOAT,QLINSQ,qlinsq,INT,INT,INT,FLOATV,PFLOAT,FLOATV,FLOATV,FLOATV,PDOUBLE,INT)
 #define QLINSQ(A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)  CCALLSFFUN10(QLINSQ,qlinsq,INT,INT,INT,FLOATV,PFLOAT,FLOATV,FLOATV,FLOATV,PDOUBLE,INT,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)
-
+*/
 PROTOCCALLSFFUN3(INT,LKKSPL,lkkspl,DOUBLE,DOUBLEV,INT)
 #define LKKSPL(A2,A3,A4)  CCALLSFFUN3(LKKSPL,lkkspl,DOUBLE,DOUBLEV,INT,A2,A3,A4)
-
+/*
 PROTOCCALLSFFUN4(INT,LOCHAR,lochar,INTV,INT,INTV,INT)
 #define LOCHAR(A2,A3,A4,A5)  CCALLSFFUN4(LOCHAR,lochar,INTV,INT,INTV,INT,A2,A3,A4,A5)
-
+*/
 PROTOCCALLSFFUN2(INT,MAXFZE,maxfze,FLOATV,INT)
 #define MAXFZE(A2,A3)  CCALLSFFUN2(MAXFZE,maxfze,FLOATV,INT,A2,A3)
 
@@ -339,10 +339,10 @@
 
 PROTOCCALLSFFUN2(INT,NDIGIT,ndigit,DOUBLE,DOUBLE)
 #define NDIGIT(A2,A3)  CCALLSFFUN2(NDIGIT,ndigit,DOUBLE,DOUBLE,A2,A3)
-
+/*
 PROTOCCALLSFFUN1(INT,NEAR1,near1,FLOAT)
 #define NEAR1(A2)  CCALLSFFUN1(NEAR1,near1,FLOAT,A2)
-
+*/
 PROTOCCALLSFFUN1(INT,NIC311,nic311,FLOAT)
 #define NIC311(A2)  CCALLSFFUN1(NIC311,nic311,FLOAT,A2)
 


--- NEW FILE 113-cups-postscript-fix.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 113-cups-postscript-fix.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Re-order PostScript output to work around CUPS printing issue.

@DPATCH@
diff -urNad cernlib-2005.05.09~/src/graflib/higz/ipost/ipdef.F cernlib-2005.05.09/src/graflib/higz/ipost/ipdef.F
--- cernlib-2005.05.09~/src/graflib/higz/ipost/ipdef.F	2003-03-20 09:14:10.000000000 +0000
+++ cernlib-2005.05.09/src/graflib/higz/ipost/ipdef.F	2005-09-20 18:59:21.992348547 +0000
@@ -316,6 +316,7 @@
       CALL IPPSTR('%%EndProlog@')
 *
       CALL IPPSTR('%%BeginSetup@')
+      CALL IPPSTR('%%EndSetup@')
       CALL IPPSTF(8,'newpath ')
       CALL IPSVRT(1)
       IF (MODE.EQ.1.OR.MODE.EQ.4) THEN
@@ -333,7 +334,6 @@
       ENDIF
       CALL IPPSTF(15,' .25 .25 scale ')
       IF (MODE.NE.3) CALL IPSVRT(1)
-      CALL IPPSTR('%%EndSetup@')
 *
       NBSAV0 = NBSAVE
       IF (MODE.NE.3) CALL IPPSTR('%%Page: number 1@')


--- NEW FILE 114-install-scripts-properly.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 114-install-scripts-properly.dpatch by  <kmccarty at debian.org>
##
## 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))


--- NEW FILE 200-comis-allow-special-chars-in-path.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 200-comis-allow-special-chars-in-path.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F /tmp/dpep.gkT1Y2/cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F
--- cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F	1997-05-20 05:37:58.000000000 -0400
+++ /tmp/dpep.gkT1Y2/cernlib-2005.05.09/src/pawlib/paw/code/pawfca.F	2005-06-08 19:34:43.101436210 -0400
@@ -29,6 +29,7 @@
 C.    *        CHFUNC may be the name of a COMIS function              *
 C.    *        or a file name. A file cannot contain one of            *
 C.    *        the following characters: +*=-()<>                      *
+C.    *        [n.b. patched to work around this. --Kevin McCarty]     *
 C.    *                                                                *
 C.    ******************************************************************
 #include "paw/pawcfu.inc"
@@ -60,7 +61,11 @@
       IF(NCH.LE.0)GO TO 99
       IFILE=0
       TFILE=' '
-      IF(INDEX(CHFUNC,']').EQ.0.AND.INDEX(CHFUNC,':').EQ.0)THEN
+* Added '/' as a character symbolizing a filename; otherwise Unix paths
+* containing +, *, =, -, etc. return a bogus "Unknown routine" error
+* (Fix by Kevin McCarty)
+      IF(INDEX(CHFUNC,']').EQ.0.AND.INDEX(CHFUNC,':').EQ.0.AND.
+     +   INDEX(CHFUNC,'/').EQ.0)THEN
          IF(INDEX(CHFUNC,'+').NE.0.OR.
      +      INDEX(CHFUNC,'*').NE.0.OR.
      +      INDEX(CHFUNC,'=').NE.0.OR.


--- NEW FILE 201-update-kuip-helper-apps.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 201-update-kuip-helper-apps.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Instead of "ghostview" and "lp", call the more modern helper apps
## DP: "gv" and "lpr" from KUIP.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c /tmp/dpep.WCaWVF/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c
--- cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c	2003-02-13 09:25:23.000000000 -0500
+++ /tmp/dpep.WCaWVF/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c	2005-06-09 12:34:49.057760462 -0400
@@ -249,7 +249,7 @@
     host_psviewer = getenv( "PSVIEWER" );
   if( host_psviewer == NULL ) {
 #ifdef UNIX
-    host_psviewer = "ghostview";
+    host_psviewer = "gv";
 #endif
 #ifdef vms
     host_psviewer = "VIEW/FORM=PS/INTERFACE=DECWINDOWS";
@@ -277,7 +277,7 @@
 # if defined(MSDOS) || defined(CERNLIB_WINNT)
   ku_exel( "/KUIP/SET_SHOW/HOST_PRINTER 'print $*'" );
 # else
-  ku_exel( "/KUIP/SET_SHOW/HOST_PRINTER 'lp $*'" );
+  ku_exel( "/KUIP/SET_SHOW/HOST_PRINTER 'lpr $*'" );
 # endif
 #else
   ku_exel( "/KUIP/SET_SHOW/HOST_PRINTER 'XPRINT $*'" );
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf /tmp/dpep.WCaWVF/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf
--- cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf	1997-09-25 10:02:25.000000000 -0400
+++ /tmp/dpep.WCaWVF/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf	2005-06-09 12:35:59.499480148 -0400
@@ -925,7 +925,7 @@
 The startup value can be defined by the environment variables
 'KUIPPSVIEWER' or 'PSVIEWER'.
 .
-On Unix workstations it is by default set to 'ghostview'.
+On Unix workstations it is by default set to 'gv'.
 On VAX/VMS the default commands is 'VIEW/FORM=PS/INTERFACE=DECWINDOWS'.
 
 >Action kxhostpsviewer%C


--- NEW FILE 202-fix-includes-in-minuit-example.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 202-fix-includes-in-minuit-example.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: minuit-main example should have <> instead of "" around include files.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/cfortran/Examples/minuit-main.c /tmp/dpep.SuauEf/cernlib-2005.05.09/src/cfortran/Examples/minuit-main.c
--- cernlib-2005.05.09/src/cfortran/Examples/minuit-main.c	2001-04-18 04:56:22.000000000 -0400
+++ /tmp/dpep.SuauEf/cernlib-2005.05.09/src/cfortran/Examples/minuit-main.c	2005-06-09 13:22:59.567224997 -0400
@@ -15,8 +15,8 @@
 #define FCN fcn
 #endif
 
-#include "cfortran.h"
-#include "minuit.h"
+#include <cfortran.h>
+#include <minuit.h>
 #define Ncont 20
 int main()
 {


--- NEW FILE 203-compile-geant-with-ertrak.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 203-compile-geant-with-ertrak.dpatch by  <kmccarty at debian.org>
##
## 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
 


--- NEW FILE 204-compile-isajet-with-isasrt.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 204-compile-isajet-with-isasrt.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Include isasrt in the Isajet library, by request (cf.
## DP: http://bugs.debian.org/260469 )

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile /tmp/dpep.PM12lm/cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile
--- cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile	2001-10-08 09:06:49.000000000 -0400
+++ /tmp/dpep.PM12lm/cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile	2005-06-09 14:25:29.621215677 -0400
@@ -9,7 +9,7 @@
 	 fortop.F frgjet.F frgmnt.F gamma.F getpt.F gettot.F heavyx.F \ @@\
 	 hevolv.F higgs.F idanti.F idgen.F iframs.F inisap.F ipartns.F \ @@\
 	 ipjset.F iprtns.F irmov0.F isabeg.F isaend.F isaevt.F isaini.F \ @@\
-	 isajet.F ispjet.F istrad.F iswdky.F jetgen.F \ @@\
+	 isajet.F isasrt.F ispjet.F istrad.F iswdky.F jetgen.F \ @@\
 	 label.F lboost.F logerr.F \ @@\
 	 logic.F logp.F logphi.F logphw.F logpt.F logqm.F logqt.F logthw.F \ @@\
 	 logx.F logxw.F logyth.F logyw.F lstsq.F mbias.F mbset.F nogood.F \ @@\


--- NEW FILE 205-max-path-length-to-256.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 205-max-path-length-to-256.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Set max path length to 256 in Hbook.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/hbook/hbook/hcdire.inc /tmp/dpep.ceXWNa/cernlib-2005.05.09/src/packlib/hbook/hbook/hcdire.inc
--- cernlib-2005.05.09/src/packlib/hbook/hbook/hcdire.inc	2003-02-07 07:13:37.000000000 -0500
+++ /tmp/dpep.ceXWNa/cernlib-2005.05.09/src/packlib/hbook/hbook/hcdire.inc	2005-06-09 15:20:49.541661646 -0400
@@ -20,7 +20,7 @@
 *
 *CMZ :  4.20/03 28/07/93  09.33.32  by  Rene Brun
 *-- Author :
-      PARAMETER (NLPATM=100, MXFILES=50, LENHFN=128)
+      PARAMETER (NLPATM=100, MXFILES=50, LENHFN=256)
       COMMON /HCDIRN/NLCDIR,NLNDIR,NLPAT,ICDIR,NCHTOP,ICHTOP(MXFILES)
      +              ,ICHTYP(MXFILES),ICHLUN(MXFILES)
       CHARACTER*16   CHNDIR,    CHCDIR,    CHPAT    ,CHTOP


--- NEW FILE 206-herwig-uses-DBLE-not-REAL.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 206-herwig-uses-DBLE-not-REAL.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Have libherwig use double precision consistently

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/herwig/code/hwhiga.F /tmp/dpep.1kYOCO/cernlib-2005.05.09/src/mclibs/herwig/code/hwhiga.F
--- cernlib-2005.05.09/src/mclibs/herwig/code/hwhiga.F	1996-12-03 09:16:56.000000000 -0500
+++ /tmp/dpep.1kYOCO/cernlib-2005.05.09/src/mclibs/herwig/code/hwhiga.F	2005-06-09 15:22:00.263743792 -0400
@@ -72,7 +72,7 @@
       TAMP(6)=HWHIG5(T,S,U,EMH2,EMQ2,2,0,5,0,0,0)
       TAMP(7)=HWHIG5(U,T,S,EMH2,EMQ2,3,0,6,0,0,0)
       DO 20 I=1,7
-      TAMPI(I)= REAL(TAMP(I))
+      TAMPI(I)= DBLE(TAMP(I))
   20  TAMPR(I)=-IMAG(TAMP(I))
 C Square and add prefactors
       WTGG=0.03125*FLOAT(NCOLO*(NCOLO**2-1))
diff -urNad cernlib-2005.05.09/src/mclibs/herwig/code/hwuli2.F /tmp/dpep.1kYOCO/cernlib-2005.05.09/src/mclibs/herwig/code/hwuli2.F
--- cernlib-2005.05.09/src/mclibs/herwig/code/hwuli2.F	1996-12-03 09:17:04.000000000 -0500
+++ /tmp/dpep.1kYOCO/cernlib-2005.05.09/src/mclibs/herwig/code/hwuli2.F	2005-06-09 15:22:00.263743792 -0400
@@ -18,7 +18,7 @@
      &  1.644934066848226D0/
       PROD(Y,Y2)=Y*(ONE+A1*Y*(ONE+A2*Y*(ONE+A3*Y2*(ONE+A4*Y2*(ONE+A5*Y2*
      & (ONE+A6*Y2*(ONE+A7*Y2*(ONE+A8*Y2*(ONE+A9*Y2*(ONE+A10*Y2))))))))))
-      XR=REAL(X)
+      XR=DBLE(X)
       XI=IMAG(X)
       R2=XR*XR+XI*XI
       IF (R2.GT.ONE.AND.(XR/R2).GT.HALF) THEN


--- NEW FILE 207-compile-temp-libs-with-fPIC.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 207-compile-temp-libs-with-fPIC.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Compile temporary COMIS libraries with -fPIC for non-x86 arches.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F /tmp/dpep.srSRmd/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F
--- cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F	2000-09-25 10:16:36.000000000 -0400
+++ /tmp/dpep.srSRmd/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F	2005-06-09 15:47:44.859676286 -0400
@@ -81,12 +81,12 @@
       WRITE(LUNOUT,'(A)')CHLINE(:L)
       IF(FEXT.EQ.'.c')THEN
         L=LENOCC(CHCC)
-*                                 'cc -c .... name.c'
-        CHLINE=CHCC(:L)//' '//NAME(:LN)// '.c'
+*                                 'cc -c .... -fPIC name.c'
+        CHLINE=CHCC(:L)//' -fPIC '//NAME(:LN)// '.c'
       ELSE
         L=LENOCC(CHF77)
-*                                 'f77 -c .... name.f'
-        CHLINE=CHF77(:L)//' '//NAME(:LN)// '.f'
+*                                 'f77 -c .... -fPIC name.f'
+        CHLINE=CHF77(:L)//' -fPIC '//NAME(:LN)// '.f'
       ENDIF
       L=LENOCC(CHLINE)
       WRITE(LUNOUT,'(A)')CHLINE(:L)
@@ -176,7 +176,7 @@
       ENDIF
 #endif
 #if defined(CERNLIB_LINUX)
-      CHLINE=                   'ld -shared -o '
+      CHLINE=                   'g77 -shared -o '
      +                    // NAME(:LN) //'.sl '// NAME(:LN) //'.o'
 #endif
 #if defined(CERNLIB_ALPHA_OSF)


--- NEW FILE 208-fix-redundant-packlib-dependencies.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 208-fix-redundant-packlib-dependencies.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Remove some redundancy in the libraries listed to be linked against.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/graflib/dzdoc/dzedit/Imakefile /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/graflib/dzdoc/dzedit/Imakefile
--- cernlib-2005.05.09/src/graflib/dzdoc/dzedit/Imakefile	1996-05-09 10:32:43.000000000 -0400
+++ /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/graflib/dzdoc/dzedit/Imakefile	2005-06-10 11:54:49.270360036 -0400
@@ -20,7 +20,7 @@
 NeedTcpipLib
 #endif
 
-CernlibFortranProgramTarget(dzeX11,dzedit.o,$(PACKAGE_LIB),$(PACKAGE_LIB),graflib/X11 packlib)
+CernlibFortranProgramTarget(dzeX11,dzedit.o,libdzdoc.a,libdzdoc.a,graflib/X11 packlib)
 
 InstallProgram(dzeX11,$(CERN_BINDIR))
 InstallScript(dzedit,$(CERN_BINDIR))
diff -urNad cernlib-2005.05.09/src/packlib/cspack/programs/zftp/Imakefile /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/cspack/programs/zftp/Imakefile
--- cernlib-2005.05.09/src/packlib/cspack/programs/zftp/Imakefile	1996-04-16 04:09:49.000000000 -0400
+++ /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/cspack/programs/zftp/Imakefile	2005-06-10 11:55:33.872780414 -0400
@@ -14,6 +14,6 @@
 
 NeedTcpipLib
 
-CernlibFortranProgramTarget(zftp,zftp.o,$(PACKAGE_LIB),$(PACKAGE_LIB),packlib)
+CernlibFortranProgramTarget(zftp,zftp.o,libzftplib.a,libzftplib.a,packlib)
 
 InstallProgram(zftp,$(CERN_BINDIR))
diff -urNad cernlib-2005.05.09/src/packlib/cspack/programs/zs/Imakefile /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/cspack/programs/zs/Imakefile
--- cernlib-2005.05.09/src/packlib/cspack/programs/zs/Imakefile	1996-05-05 05:40:20.000000000 -0400
+++ /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/cspack/programs/zs/Imakefile	2005-06-10 11:56:23.109221943 -0400
@@ -31,10 +31,10 @@
 
 DefinePackageLibrary(zservlib)
 
-CernlibFortranProgramTarget(zserv,zs.o,$(PACKAGE_LIB),$(PACKAGE_LIB),packlib)
+CernlibFortranProgramTarget(zserv,zs.o,libzservlib.a,libzservlib.a,packlib)
 
 InstallProgram(zserv,$(CERN_BINDIR))
 
-CernlibFortranProgramTarget(pawserv,zs.o,$(PACKAGE_LIB),$(PACKAGE_LIB),packlib)
+CernlibFortranProgramTarget(pawserv,zs.o,libzservlib.a,libzservlib.a,packlib)
 
 InstallProgram(pawserv,$(CERN_BINDIR))
diff -urNad cernlib-2005.05.09/src/packlib/fatmen/programs/fmkuip/Imakefile /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/fatmen/programs/fmkuip/Imakefile
--- cernlib-2005.05.09/src/packlib/fatmen/programs/fmkuip/Imakefile	1996-11-05 04:32:29.000000000 -0500
+++ /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/fatmen/programs/fmkuip/Imakefile	2005-06-10 11:56:54.779438847 -0400
@@ -28,6 +28,6 @@
 NeedSysexe
 #endif
 
-CernlibFortranProgramTarget(fatmen,fatmen.o,$(PACKAGE_LIB),$(PACKAGE_LIB),packlib)
+CernlibFortranProgramTarget(fatmen,fatmen.o,libfmkuip.a,libfmkuip.a,packlib)
 
 InstallProgram(fatmen,$(CERN_BINDIR))
diff -urNad cernlib-2005.05.09/src/packlib/hepdb/programs/hepdb/Imakefile /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/hepdb/programs/hepdb/Imakefile
--- cernlib-2005.05.09/src/packlib/hepdb/programs/hepdb/Imakefile	1996-04-02 05:03:43.000000000 -0500
+++ /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/hepdb/programs/hepdb/Imakefile	2005-06-10 11:57:39.794807919 -0400
@@ -17,6 +17,6 @@
 SpecialFortranObjectRule(hepdb,hepdb,'-WF,-P',NullParameter)
 #endif
 
-CernlibFortranProgramTarget(hepdb,hepdb.o,$(PACKAGE_LIB),$(PACKAGE_LIB),packlib)
+CernlibFortranProgramTarget(hepdb,hepdb.o,libdbmodule.a,libdbmodule.a,packlib)
 
 InstallProgram(hepdb,$(CERN_BINDIR))
diff -urNad cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile
--- cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile	1996-04-18 12:33:08.000000000 -0400
+++ /tmp/dpep.ZL6s2h/cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile	2005-06-10 12:00:35.355791756 -0400
@@ -21,6 +21,6 @@
 #endif
 
 
-CernlibCcProgramTarget(kxterm,kxterm.o,$(PACKAGE_LIB),$(PACKAGE_LIB),$(CLIBS))
+CernlibCcProgramTarget(kxterm,kxterm.o,libkxtlib.a,libkxtlib.a,$(CLIBS))
 
 InstallProgram(kxterm,$(CERN_BINDIR))


--- NEW FILE 209-ignore-unneeded-headers-in-kmutil.c.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 209-ignore-unneeded-headers-in-kmutil.c.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Comment out header files not actually needed in kmutil.c.
## DP: (This will be helpful when we move this file elsewhere to be part of
## DP: the Lesstif-dependent library split out from packlib.)

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_motif/kmutil.c /tmp/dpep.BncUU7/cernlib-2005.05.09/src/packlib/kuip/code_motif/kmutil.c
--- cernlib-2005.05.09/src/packlib/kuip/code_motif/kmutil.c	1996-03-08 10:33:09.000000000 -0500
+++ /tmp/dpep.BncUU7/cernlib-2005.05.09/src/packlib/kuip/code_motif/kmutil.c	2005-06-10 12:06:07.198547576 -0400
@@ -20,12 +20,13 @@
 /******************************************************************************/
 
 #include "kuip/kuip.h"
+/* commented out, since this file doesn't need these includes. --Kevin McCarty
 #include "kuip/kfor.h"
 #include "kuip/kmenu.h"
 
 #include "mkutda.h"
 #include "kuip/mkutfu.h"
-
+*/
 
 /***********************************************************************
  *                                                                     *


--- NEW FILE 210-improve-cfortran-header-files.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 210-improve-cfortran-header-files.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Protect against multiple inclusion and add explicit dependency on
## DP: cfortran.h to the Cernlib C headers.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/cfortran/comis.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/comis.h
--- cernlib-2005.05.09/src/cfortran/comis.h	1999-10-29 07:41:26.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/comis.h	2005-06-10 12:51:30.985999665 -0400
@@ -1,3 +1,11 @@
+#ifndef _COMIS_H
+#define _COMIS_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFFUN1(INT,CSADDR,csaddr,STRING)
 #define	CSADDR(CHFILE) CCALLSFFUN1(CSADDR,csaddr,STRING,CHFILE)
 
@@ -30,3 +38,9 @@
 
 PROTOCCALLSFSUB2(CSTYPE,cstype,INT,PSTRING)
 #define CSTYPE(CADR,CHTYPE) CCALLSFSUB2(CSTYPE,cstype,INT,PSTRING,CADR,CHTYPE)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _COMIS_H */
diff -urNad cernlib-2005.05.09/src/cfortran/cspack.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/cspack.h
--- cernlib-2005.05.09/src/cfortran/cspack.h	1999-10-29 07:42:56.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/cspack.h	2005-06-10 12:51:31.013993690 -0400
@@ -1,5 +1,19 @@
+#ifndef _CSPACK_H
+#define _CSPACK_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFSUB2(CZPUTA,czputa,STRING,PINT)
 #define CZPUTA(CHMAIL,ISTAT) CCALLSFSUB2(CZPUTA,czputa,STRING,PINT,CHMAIL,ISTAT)
 
 PROTOCCALLSFSUB2(CZGETA,czgeta,PSTRING,PINT)
 #define CZGETA(CHMAIL,ISTAT) CCALLSFSUB2(CZGETA,czgeta,PSTRING,PINT,CHMAIL,ISTAT)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _CSPACK_H */
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 <cfortran/cfortran.h>
+
+#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 <cfortran/cfortran.h>
+
+#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 */
diff -urNad cernlib-2005.05.09/src/cfortran/gen.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/gen.h
--- cernlib-2005.05.09/src/cfortran/gen.h	2005-06-10 12:51:00.965407158 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/gen.h	2005-06-10 12:51:31.190955921 -0400
@@ -1,3 +1,11 @@
+#ifndef _GEN_H
+#define _GEN_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Subroutines/Functions with COMPLEX not supported ***
 
 #define CBSJA(A1,A2,A3,A4,A5)  CCALLSFSUB5(CBSJA,cbsja,COMPLEX,FLOAT,INT,INT,PCOMPLEX,A1,A2,A3,A4,A5)
@@ -1489,3 +1497,9 @@
 
 PROTOCCALLSFSUB6(ZEROX,zerox,FLOAT,FLOAT,FLOAT,INT,FLOAT,INT)
 #define ZEROX(A1,A2,A3,A4,A5,A6)  CCALLSFSUB6(ZEROX,zerox,FLOAT,FLOAT,FLOAT,INT,FLOAT,INT,A1,A2,A3,A4,A5,A6)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _GEN_H */
diff -urNad cernlib-2005.05.09/src/cfortran/graflib.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/graflib.h
--- cernlib-2005.05.09/src/cfortran/graflib.h	1998-01-29 05:49:27.000000000 -0500
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/graflib.h	2005-06-10 12:51:31.220949519 -0400
@@ -1,2 +1,16 @@
-#include "higz.h"
-#include "hplot.h"
+#ifndef _GRAFLIB_H
+#define _GRAFLIB_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <higz.h>
+#include <hplot.h>
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _GRAFLIB_H */
diff -urNad cernlib-2005.05.09/src/cfortran/jetset74.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/jetset74.h
--- cernlib-2005.05.09/src/cfortran/jetset74.h	1999-10-29 12:55:45.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/jetset74.h	2005-06-10 12:51:31.250943117 -0400
@@ -1,3 +1,11 @@
+#ifndef _JETSET74_H
+#define _JETSET74_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFFUN2(INT,KLU,klu,INT,INT)
 #define KLU(A2,A3)  CCALLSFFUN2(KLU,klu,INT,INT,A2,A3)
 
@@ -327,3 +335,9 @@
 
 PROTOCCALLSFSUB11(STRUCTM,structm,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,PDOUBLE)
 #define STRUCTM(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)  CCALLSFSUB11(STRUCTM,structm,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLE,PDOUBLE,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _JETSET74_H */
diff -urNad cernlib-2005.05.09/src/cfortran/kernlib.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/kernlib.h
--- cernlib-2005.05.09/src/cfortran/kernlib.h	2000-03-16 11:58:18.000000000 -0500
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/kernlib.h	2005-06-10 12:51:31.291934368 -0400
@@ -1,3 +1,11 @@
+#ifndef _KERNLIB_H
+#define _KERNLIB_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFFUN1(FLOAT,ALOGAM,alogam,FLOAT)
 #define ALOGAM(A2)  CCALLSFFUN1(ALOGAM,alogam,FLOAT,A2)
 
@@ -1512,3 +1520,9 @@
 
 PROTOCCALLSFSUB1(WORDSEP,wordsep,STRING)
 #define WORDSEP(A1)  CCALLSFSUB1(WORDSEP,wordsep,STRING,A1)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _KERNLIB_H */
diff -urNad cernlib-2005.05.09/src/cfortran/kuip.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/kuip.h
--- cernlib-2005.05.09/src/cfortran/kuip.h	2000-10-05 10:27:54.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/kuip.h	2005-06-10 12:51:31.319928394 -0400
@@ -1,3 +1,11 @@
+#ifndef _KUIP_H
+#define _KUIP_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFSUB3(KUCLOS,kuclos,INT,STRING,INT)
 #define KUCLOS(A1,A2,A3)    CCALLSFSUB3(KUCLOS,kuclos,INT,STRING,INT,A1,A2,A3)
 
@@ -6,3 +14,9 @@
 
 PROTOCCALLSFSUB0(KUWHAG,kuwhag)
 #define KUWHAG() CCALLSFSUB0(KUWHAG,kuwhag)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _KUIP_H */
diff -urNad cernlib-2005.05.09/src/cfortran/lapack.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/lapack.h
--- cernlib-2005.05.09/src/cfortran/lapack.h	2000-06-23 06:13:58.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/lapack.h	2005-06-10 12:51:31.348922205 -0400
@@ -1,2 +1,16 @@
+#ifndef _LAPACK_H
+#define _LAPACK_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFSUB11(DGELS,dgels,STRING,INT,INT,INT,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,INT,PINT)
 #define DGELS(TRANS,M,N,NRHS,A,LDA,B,LDB,WORK,LWORK,INFO) CCALLSFSUB11(DGELS,dgels,STRING,INT,INT,INT,DOUBLEV,INT,DOUBLEV,INT,DOUBLEV,INT,PINT,TRANS,M,N,NRHS,A,LDA,B,LDB,WORK,LWORK,INFO)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _LAPACK_H */
diff -urNad cernlib-2005.05.09/src/cfortran/lepto62.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/lepto62.h
--- cernlib-2005.05.09/src/cfortran/lepto62.h	1999-10-29 12:55:45.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/lepto62.h	2005-06-10 12:51:31.378915804 -0400
@@ -1,3 +1,11 @@
+#ifndef _LEPTO62_H
+#define _LEPTO62_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFFUN2(FLOAT,DCROSS,dcross,FLOAT,FLOAT)
 #define DCROSS(A2,A3)  CCALLSFFUN2(DCROSS,dcross,FLOAT,FLOAT,A2,A3)
 
@@ -174,3 +182,9 @@
 
 PROTOCCALLSFSUB0(RIWIBD,riwibd)
 #define RIWIBD() CCALLSFSUB0(RIWIBD,riwibd)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _LEPTO62_H */
diff -urNad cernlib-2005.05.09/src/cfortran/minuit.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/minuit.h
--- cernlib-2005.05.09/src/cfortran/minuit.h	1999-10-27 11:30:23.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/minuit.h	2005-06-10 12:51:31.407909615 -0400
@@ -1,3 +1,11 @@
+#ifndef _MINUIT_H
+#define _MINUIT_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*
  *  Interface to minuit using cfortran.h
  *
@@ -190,3 +198,9 @@
 
 PROTOCCALLSFSUB0(STAND,stand)
 #define STAND() CCALLSFSUB0(STAND,stand)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _MINUIT_H */
diff -urNad cernlib-2005.05.09/src/cfortran/packlib.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/packlib.h
--- cernlib-2005.05.09/src/cfortran/packlib.h	1998-01-29 11:17:45.000000000 -0500
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/packlib.h	2005-06-10 12:51:31.436903427 -0400
@@ -1,4 +1,18 @@
-#include "hbook.h"
-#include "minuit.h"
-#include "kuip.h"
-#include "zebra.h"
+#ifndef _PACKLIB_H
+#define _PACKLIB_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <hbook.h>
+#include <minuit.h>
+#include <kuip.h>
+#include <zebra.h>
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _PACKLIB_H */
diff -urNad cernlib-2005.05.09/src/cfortran/paw.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/paw.h
--- cernlib-2005.05.09/src/cfortran/paw.h	2000-10-05 10:27:55.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/paw.h	2005-06-10 12:51:31.464897452 -0400
@@ -1,6 +1,20 @@
+#ifndef _PAW_H
+#define _PAW_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFSUB2(PAW,paw,INT,INT)
 #define PAW(A1,A2)  CCALLSFSUB2(PAW,paw,INT,INT,A1,A2)
 
 PROTOCCALLSFSUB0(PAEXIT,paexit)
 #define PAEXIT() CCALLSFSUB0(PAEXIT,paexit)
 
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _PAW_H */
diff -urNad cernlib-2005.05.09/src/cfortran/zebra.h /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/zebra.h
--- cernlib-2005.05.09/src/cfortran/zebra.h	1999-10-29 07:35:47.000000000 -0400
+++ /tmp/dpep.Al0dBQ/cernlib-2005.05.09/src/cfortran/zebra.h	2005-06-10 12:51:31.496890624 -0400
@@ -1,5 +1,19 @@
+#ifndef _ZEBRA_H
+#define _ZEBRA_H
+#include <cfortran/cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 PROTOCCALLSFSUB1(MZEBRA,mzebra,INT)
 #define MZEBRA(A1)    CCALLSFSUB1(MZEBRA,mzebra,INT,A1)
 
 PROTOCCALLSFSUB2(MZPAW,mzpaw,INT,STRING)
 #define MZPAW(A1,A2)  CCALLSFSUB2(MZPAW,mzpaw,INT,STRING,A1,A2)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef _ZEBRA_H */


--- NEW FILE 211-fix-comis-on-64-bit-arches.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 211-fix-comis-on-64-bit-arches.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad cernlib-2005.05.09~/src/geant321/gphys/gphot.F cernlib-2005.05.09/src/geant321/gphys/gphot.F
--- cernlib-2005.05.09~/src/geant321/gphys/gphot.F	1995-10-24 10:21:29.000000000 +0000
+++ cernlib-2005.05.09/src/geant321/gphys/gphot.F	2005-09-20 19:27:10.734527890 +0000
@@ -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
diff -urNad cernlib-2005.05.09~/src/packlib/kernlib/kerngen/ccgen/locb.c cernlib-2005.05.09/src/packlib/kernlib/kerngen/ccgen/locb.c
--- cernlib-2005.05.09~/src/packlib/kernlib/kerngen/ccgen/locb.c	1997-09-02 14:26:37.000000000 +0000
+++ cernlib-2005.05.09/src/packlib/kernlib/kerngen/ccgen/locb.c	2005-09-20 19:27:10.734527890 +0000
@@ -44,7 +44,25 @@
    DummyDef
 #endif
 {
+#if defined(CERNLIB_QMLXIA64)
+   const unsigned long long int mask=0x00000000ffffffff;
+   static unsigned long long int base=1;
+   unsigned long long int jadr=(unsigned long long int) iadr;
+   unsigned long long int jadrl = (mask & jadr);
+
+   if (base == 1) {
+     base = (~mask & jadr);
+   } else if(base != (~mask & jadr)) {
+     printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
+     printf("locb_() Warning: changing base from %lx to %lx!!!\n",
+     	   base, (~mask & jadr));
+     printf("This may result in program crash or incorrect results\n");
+     printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
+   }
+   return ((int) jadrl);
+#else
    return( (int) iadr );
+#endif
 }
 /*> END <----------------------------------------------------------*/
 #ifdef CERNLIB_TCGEN_LOCB
diff -urNad cernlib-2005.05.09~/src/packlib/zbook/code/zjump.c cernlib-2005.05.09/src/packlib/zbook/code/zjump.c
--- cernlib-2005.05.09~/src/packlib/zbook/code/zjump.c	1996-03-08 12:01:12.000000000 +0000
+++ cernlib-2005.05.09/src/packlib/zbook/code/zjump.c	2005-09-20 19:27:10.734527890 +0000
@@ -7,6 +7,9 @@
  *
  */
 #include "zbook/pilot_c.h"
+#if defined(CERNLIB_QMLXIA64)
+static void (*target)();
+#endif
 #if defined(CERNLIB_UNIX)
 #if defined(CERNLIB_QX_SC)
 zjump_(name,p1,p2,p3,p4)
@@ -18,8 +21,23 @@
 ZJUMP(name,p1,p2,p3,p4)
 #endif
 char *p1, *p2, *p3, *p4;
+
+/*  LP64 compatibility:
+    name is taken from a Fortran array and therefore its address is 32 bit
+    which has to be converted to a 64 bit address to satisfy void (*) (H. Vogt) */
+
+#if defined(CERNLIB_QMLXIA64)
+int *name;
+{
+  long jadr;
+  jadr   = *name;  /* convert int to long */
+  target = (void (*)())jadr;
+  (*target)(p1, p2, p3, p4);
+}
+#else
 void (**name)();
 {
    (**name)(p1, p2, p3, p4);
 }
 #endif
+#endif
diff -urNad cernlib-2005.05.09~/src/packlib/zebra/test/brztest/btest2.F cernlib-2005.05.09/src/packlib/zebra/test/brztest/btest2.F
--- cernlib-2005.05.09~/src/packlib/zebra/test/brztest/btest2.F	1997-09-02 15:16:16.000000000 +0000
+++ cernlib-2005.05.09/src/packlib/zebra/test/brztest/btest2.F	2005-09-20 19:27:10.734527890 +0000
@@ -29,6 +29,15 @@
 ********************************************************************************
 *
       COMMON/CRZT/IXSTOR,IXDIV,IFENCE(2),LEV,LEVIN,BLVECT(30000)
+
+*     LP64 compatibility:
+*     For 64-bit pointer systems put local variables referenced by LOCF
+*     in a dummy named common block to keep addresses in the program region.
+*     see also: packlib/ffread/test/main.F (H. Vogt)
+
+#if defined(CERNLIB_QMLXIA64)
+      COMMON /TEST64/LBANK
+#endif
       DIMENSION LQ(999),IQ(999),Q(999)
       EQUIVALENCE (IQ(1),Q(1),LQ(9)),(LQ(1),LEV)
 C
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/Imakefile cernlib-2005.05.09/src/pawlib/comis/code/Imakefile
--- cernlib-2005.05.09~/src/pawlib/comis/code/Imakefile	2005-09-20 19:26:47.894420356 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/Imakefile	2005-09-20 19:27:10.734527890 +0000
@@ -50,6 +50,10 @@
 SRCS_F := $(SRCS_F) cscrexec.F
 #endif
 
+#if defined(CERNLIB_QMLXIA64)
+SRCS_F := $(SRCS_F) csrtgpl.F csitgpl.F
+#endif
+
 #if defined(CERNLIB_OLD)
 SRCS_F := $(SRCS_F) cspdir.F csrmbk.F
 #endif
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/csaddr.F cernlib-2005.05.09/src/pawlib/comis/code/csaddr.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/csaddr.F	1996-02-26 17:16:25.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/csaddr.F	2005-09-20 19:27:10.735527676 +0000
@@ -17,8 +17,14 @@
       INTEGER CSLTGP,CSITGP
       CHARACTER*32 NAME
 #include "comis/cstab.inc"
-#if defined(CERNLIB_SHL)
+#if defined(CERNLIB_SHL)&&(!defined(CERNLIB_QMLXIA64))
       INTEGER CS_GET_FUNC
+#endif
+#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64))
+#include "comis/cstab64.inc"
+      INTEGER*8 CS_GET_FUNC
+#endif
+#if defined(CERNLIB_SHL)
       NAME=CHNAME
       NC=LENOCC(NAME)
       CALL CSCHID(NAME(:NC))
@@ -26,21 +32,39 @@
       I=CSLTGP(IPVS)
       IF(I.GT.0)THEN
         IF(IFCS.EQ.0)THEN
+#if defined (CERNLIB_QMLXIA64)
+          IADGPL=CS_GET_FUNC(NAME(1:NC)//'_')
+          IF(IADGPL.NE.0)THEN
+            IFCS=-2
+            CALL CSRTGPL(I)
+#else
           IADGP=CS_GET_FUNC(NAME(1:NC)//'_')
           IF(IADGP.NE.0)THEN
             IFCS=-2
             CALL CSRTGP(I)
+#endif
+#endif
+#if defined(CERNLIB_SHL)
           ELSE
             I=0
           ENDIF
         ENDIF
       ELSE
+#if defined (CERNLIB_QMLXIA64)
+          IADGPL=CS_GET_FUNC(NAME(1:NC)//'_')
+        IF(IADGPL.NE.0)THEN
+          IFCS=-2
+          ITYPGP=-2
+          I=CSITGPL(IPVS)
+        ENDIF
+#else
         IADGP=CS_GET_FUNC(NAME(1:NC)//'_')
         IF(IADGP.NE.0)THEN
           IFCS=-2
           ITYPGP=-2
           I=CSITGP(IPVS)
         ENDIF
+#endif
       END IF
       CSADDR=I
 #endif
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/csinit.F cernlib-2005.05.09/src/pawlib/comis/code/csinit.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/csinit.F	2005-04-18 15:41:04.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/csinit.F	2005-09-20 19:27:10.735527676 +0000
@@ -64,6 +64,9 @@
 #if defined(CERNLIB_SHL)
 #include "comis/cshlnm.inc"
 #endif
+#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64))
+#include "comis/cstab64.inc"
+#endif
 #if defined(CERNLIB_PAW)
 #include "paw/pcmode.inc"
 #include "comis/cshfill.inc"
@@ -159,6 +162,9 @@
       ICHMINU=ICHAR('-')
       ICHPLUS=ICHAR('+')
       ICHCOMM=ICHAR(',')
+#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64))
+      IPIADGV=0
+#endif
 #if defined(CERNLIB_PAW)
       CALL CSPAWI
       MODHFI=0
@@ -209,11 +215,16 @@
       CHF77 ='f77 -c -pic'
       CHCC  ='cc -c -pic'
 #endif
-#if (defined(CERNLIB_LINUX))
+#if (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_QMLXIA64))
       ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='g77 -c'
       CHCC  ='cc -c'
 #endif
+#if (defined(CERNLIB_LINUX))&&(defined(CERNLIB_QMLXIA64))
+      ITMPLEN=CSTMPD(CHPATH, 256)
+      CHF77 ='g77 -c -fPIC -fno-f2c'
+      CHCC  ='cc -c -fPIC -fno-f2c'
+#endif
 #if (defined(CERNLIB_SGI))&&(defined(CERNLIB_SHL))
       ITMPLEN=CSTMPD(CHPATH, 256)
       CHF77 ='f77 -c'
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/csintx.F cernlib-2005.05.09/src/pawlib/comis/code/csintx.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/csintx.F	1996-12-05 09:50:37.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/csintx.F	2005-09-20 19:27:10.762521893 +0000
@@ -38,6 +38,9 @@
 #if defined(CERNLIB_PAW)
 #include "comis/cskucs.inc"
 #endif
+#if defined(CERNLIB_QMLXIA64)
+#include "comis/cstab64.inc"
+#endif
 #if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_ALPHA_OSF))
       INTEGER CSTRCMP
 #endif
@@ -1105,6 +1108,32 @@
       ENDIF
 #endif
 #if (!defined(CERNLIB_VAX))&&(!defined(CERNLIB_APOLLO))
+#if defined(CERNLIB_QMLXIA64)
+      IF(IQ(IP+KSIFCS).EQ.-2)THEN
+*Dynamic linker may give long addresses
+        IADGPL = IADGPLV(IADGP)
+        IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN
+          ICSRES=CSCALI(IADGPL,NPAR,IDA(IOFSPL))
+        ELSEIF(ITP.EQ.2)THEN
+          RCSRES=CSCALR(IADGPL,NPAR,IDA(IOFSPL))
+        ELSEIF(ITP.EQ.5)THEN
+          DCSRES=CSCALD(IADGPL,NPAR,IDA(IOFSPL))
+        ELSEIF(ITP.EQ.7)THEN
+          DCSRES=CSCALD(IADGPL,NPAR,IDA(IOFSPL))
+        ENDIF
+      ELSE
+        IADGPL = IADGP
+        IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN
+          ICSRES=CSCALI(IADGPL,NPAR,IDA(IOFSPL))
+        ELSEIF(ITP.EQ.2)THEN
+          RCSRES=CSCALR(IADGPL,NPAR,IDA(IOFSPL))
+        ELSEIF(ITP.EQ.5)THEN
+          DCSRES=CSCALD(IADGPL,NPAR,IDA(IOFSPL))
+        ELSEIF(ITP.EQ.7)THEN
+          DCSRES=CSCALD(IADGPL,NPAR,IDA(IOFSPL))
+        ENDIF
+      ENDIF
+#else
       IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN
         ICSRES=CSCALI(IADGP,NPAR,IDA(IOFSPL))
       ELSEIF(ITP.EQ.2)THEN
@@ -1115,6 +1144,7 @@
         DCSRES=CSCALD(IADGP,NPAR,IDA(IOFSPL))
       ENDIF
 #endif
+#endif
       IPC=IPC+4
       GO TO 999
 *NUM I
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/csitgpl.F cernlib-2005.05.09/src/pawlib/comis/code/csitgpl.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/csitgpl.F	1970-01-01 00:00:00.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/csitgpl.F	2005-09-20 19:27:10.763521679 +0000
@@ -0,0 +1,32 @@
+* Comis
+*
+*
+#if (defined(CERNLIB_QMLXIA64))
+#include "comis/pilot.h"
+*CMZU:  1.16/16 04/10/93  12.14.52  by  Vladimir Berezhnoi
+*-- Author : V.Berezhnoi
+* special for 64 bit addresses for dynamic linking (H. Vogt)
+      INTEGER FUNCTION CSITGPL(IP)
+***------------------------------
+*   it is last routine from the tables-set.
+***-----------------------------
+#include "comis/cspar.inc"
+#include "comis/mdpool.inc"
+#include "comis/cspnts.inc"
+#include "comis/cstabps.inc"
+#include "comis/cstab64.inc"
+      I=MHLOC(KSIDP+NWIDEN)
+      IQ(I)=0
+      IQ(I+1)=NCIDEN
+      DO 1 K=1,NWIDEN
+        IQ(I+KSIDP-1+K)=IDEN(K)
+   1  CONTINUE
+      CALL CSRTGPL(I)
+      IF(IP.EQ.0)THEN
+        IPGP=I
+      ELSE
+        IQ(IP)=I
+      ENDIF
+      CSITGP=I
+      END
+#endif
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/cskcal.F cernlib-2005.05.09/src/pawlib/comis/code/cskcal.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/cskcal.F	1996-12-05 09:50:39.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/cskcal.F	2005-09-20 19:27:10.763521679 +0000
@@ -31,6 +31,9 @@
 #include "comis/cstab.inc"
 #include "comis/csfres.inc"
 #include "comis/cssysd.inc"
+#if defined(CERNLIB_QMLXIA64)
+#include "comis/cstab64.inc"
+#endif
       CHARACTER PRONAME*32
       INTEGER CSCALI
       DOUBLE PRECISION CSCALD
@@ -232,6 +235,34 @@
         I2=I2+KS
         I=I+1
  9203 CONTINUE
+#if defined(CERNLIB_QMLXIA64)
+*  Dynamic linker may give long addresses
+      IF (IFCS.EQ.-2)THEN
+        IADGPL = IADGPLV(IADGP)
+        IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN
+          ICSRES=CSCALI(IADGPL,NPAR,IF77PL(1))
+        ELSEIF(ITP.EQ.2)THEN
+          RCSRES=CSCALR(IADGPL,NPAR,IF77PL(1))
+        ELSEIF(ITP.EQ.5)THEN
+          DCSRES=CSCALD(IADGPL,NPAR,IF77PL(1))
+        ELSEIF(ITP.EQ.7)THEN
+*  I think it will works correctly
+          DCSRES=CSCALD(IADGPL,NPAR,IF77PL(1))
+        ENDIF
+      ELSE
+        IADGPL = IADGP
+        IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN
+          ICSRES=CSCALI(IADGPL,NPAR,IF77PL(1))
+        ELSEIF(ITP.EQ.2)THEN
+          RCSRES=CSCALR(IADGPL,NPAR,IF77PL(1))
+        ELSEIF(ITP.EQ.5)THEN
+          DCSRES=CSCALD(IADGPL,NPAR,IF77PL(1))
+        ELSEIF(ITP.EQ.7)THEN
+*  I think it will works correctly
+          DCSRES=CSCALD(IADGPL,NPAR,IF77PL(1))
+        ENDIF
+      ENDIF
+#else
 *      IT=IABS(ITYPGP)
       IF(ITP.EQ.1.OR.ITP.EQ.4.OR.ITP.EQ.6)THEN
         ICSRES=CSCALI(IADGP,NOPAR,IF77PL(1))
@@ -245,6 +276,7 @@
       ENDIF
 *+SELF,IF=UNIX,IF=-SGI,IF=-IBMRT,IF=-DECS,IF=-HPUX,IF=-SUN,IF=-MSDOS.
 #endif
+#endif
 #if (defined(CERNLIB_UNIX))&&(!defined(CERNLIB_STDUNIX))
       I=1
       DO 9203 K=ITA-NPAR+1,ITA
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/cslink.F cernlib-2005.05.09/src/pawlib/comis/code/cslink.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/cslink.F	1996-02-26 17:16:17.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/cslink.F	2005-09-20 19:27:10.763521679 +0000
@@ -21,10 +21,15 @@
 #include "comis/cstab.inc"
 #include "comis/cspnts.inc"
 #include "comis/cslun.inc"
-#if defined(CERNLIB_SHL)
+#if defined(CERNLIB_SHL)&&(!defined(CERNLIB_QMLXIA64))
       CHARACTER*(KLENID) FNNAME
       INTEGER CS_GET_FUNC
 #endif
+#if defined(CERNLIB_SHL)&&(defined(CERNLIB_QMLXIA64))
+#include "comis/cstab64.inc"
+      CHARACTER*(KLENID) FNNAME
+      INTEGER*8 CS_GET_FUNC
+#endif
          COMMON/CSGSCM/IGS,JGS,NGS,CSJUNK(3)
       IF(ISTLIB.EQ.0 .AND. ITBS.EQ.0)RETURN
    2  I=IPGP
@@ -60,12 +65,20 @@
 #if defined(CERNLIB_SHL)
           CALL CSGTIDP(I,FNNAME,NC)
           CALL CUTOL(FNNAME(1:NC))
+#if defined (CERNLIB_QMLXIA64)
+          IADGPL=CS_GET_FUNC(FNNAME(1:NC)//'_')
+          IF(IADGPL.NE.0)THEN
+            IFCS=-2
+            CALL CSRTGPL(I)
+          ENDIF
+#else
           IADGP=CS_GET_FUNC(FNNAME(1:NC)//'_')
           IF(IADGP.NE.0)THEN
             IFCS=-2
             CALL CSRTGP(I)
           ENDIF
 #endif
+#endif
           IP=0
         ENDIF
       ENDIF
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/code/csrtgpl.F cernlib-2005.05.09/src/pawlib/comis/code/csrtgpl.F
--- cernlib-2005.05.09~/src/pawlib/comis/code/csrtgpl.F	1970-01-01 00:00:00.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/code/csrtgpl.F	2005-09-20 19:27:10.764521465 +0000
@@ -0,0 +1,31 @@
+* Comis
+*
+*
+#if (defined(CERNLIB_QMLXIA64))
+#include "comis/pilot.h"
+*CMZ :  1.18/14 10/01/95  15.41.06  by  Vladimir Berezhnoi
+*-- Author : V.Berezhnoi
+* special for 64 bit addresses for dynamic linking (H. Vogt)
+
+      SUBROUTINE CSRTGPL(I)
+***--------------------------
+#include "comis/cspar.inc"
+#include "comis/mdpool.inc"
+#include "comis/cstabps.inc"
+#include "comis/cstab.inc"
+#include "comis/cstab64.inc"
+
+      IPIADGV = IPIADGV + 1
+      IF (IPIADGV .GT. MAXIAD64)  THEN
+        WRITE (*,'(2a,I4)') 'to much addresses for dynamik linking, ',
+     &                      'limit is ', MAXIAD64
+        WRITE (*,'(2a)') 'increase MAXIAD64 in cstab64.inc and ',
+     &                    'recompile COMIS'
+
+        STOP
+      END IF
+      IADGPLV(IPIADGV) = IADGPL
+      IADGP            = IPIADGV
+      CALL CCOPYA(IADGP,IQ(I+2),KSIDP-2)
+      END
+#endif
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/comis/cstab64.inc cernlib-2005.05.09/src/pawlib/comis/comis/cstab64.inc
--- cernlib-2005.05.09~/src/pawlib/comis/comis/cstab64.inc	1970-01-01 00:00:00.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/comis/cstab64.inc	2005-09-20 19:27:10.775519109 +0000
@@ -0,0 +1,10 @@
+*
+*
+* cstab64.inc
+*
+      PARAMETER (MAXIAD64=100) !maximum number of shared objects
+      INTEGER*8 IADGPL,IADGPLV(MAXIAD64)
+      INTEGER   IADGPL1, IADGPL2
+      COMMON /CSTB64/ IADGPL,IADGPLV
+      COMMON /CSTB64I/ IPIADGV
+      EQUIVALENCE (IADGPL, IADGPL1)
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/deccc/ccopys.c cernlib-2005.05.09/src/pawlib/comis/deccc/ccopys.c
--- cernlib-2005.05.09~/src/pawlib/comis/deccc/ccopys.c	1997-09-02 15:50:38.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/deccc/ccopys.c	2005-09-20 19:27:10.776518895 +0000
@@ -33,11 +33,25 @@
 #else
 void ccopys_(ja,jb,nn)
 #endif
+
+/*
+ * 64-bit pointer systems require a special treatment of addresses - see below -
+ * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005)
+ */
+
+#if defined(CERNLIB_QMLXIA64)
+     int *ja, *jb;
+     int *nn;
+{
+  int i,n; char *a,*b;
+  n=*nn; (long)a=*ja; (long)b=*jb;
+#else
      char **ja, **jb;
      int *nn;
 {
   int i,n; char *a,*b;
   n=*nn; a=*ja; b=*jb;
+#endif
   if ( a >= b )
      for ( i=0; i<n; i++ )
           b[i]=a[i];
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/deccc/cs_hlshl.c cernlib-2005.05.09/src/pawlib/comis/deccc/cs_hlshl.c
--- cernlib-2005.05.09~/src/pawlib/comis/deccc/cs_hlshl.c	1998-01-12 09:56:07.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/deccc/cs_hlshl.c	2005-09-20 19:27:10.776518895 +0000
@@ -25,9 +25,21 @@
 #if (defined(CERNLIB_SUN)||defined(CERNLIB_SGI)||defined(CERNLIB_IBMRT)||defined(CERNLIB_ALPHA_OSF)||defined(CERNLIB_LINUX))&&(defined(CERNLIB_SHL))
 /*CMZ :          22/05/95  18.40.45  by  Julian Bunn*/
 /*-- Author :*/
-#if defined(CERNLIB_SUN)||defined(CERNLIB_LINUX)
+#if defined(CERNLIB_SUN)||defined(CERNLIB_LINUX)&&(!defined(CERNLIB_QMLXIA64))
 #define SUN
 #endif
+
+/*
+ * 64-bit pointer systems require a special treatment of addresses  
+ * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005)
+ * This code will be consistent with that of jumptn.c and jumpxn.c
+ * in packlib/kernlib/kerngen/ccgen (usage of jumpad_)
+ */
+
+#if defined(CERNLIB_LINUX)&&(defined(CERNLIB_QMLXIA64))
+#define ALPHA_OSF
+#endif
+
 #if defined(CERNLIB_SGI)
 #define SGI
 #endif
@@ -37,7 +49,6 @@
 #if defined(CERNLIB_ALPHA_OSF)
 #define ALPHA_OSF
 #endif
-
 #if defined(SUN) || defined(SGI) || defined(ALPHA_OSF)
 #include <dlfcn.h>
 #endif
@@ -274,6 +285,7 @@
 #endif
          p->next = f->first_proc;
          f->first_proc = p;
+         if (debug_level > 0) printf("function pointer is: %p\n", p->funcptr);
          return (void *)(p->funcptr);
       }
      f = f->next;
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/deccc/cscald.c cernlib-2005.05.09/src/pawlib/comis/deccc/cscald.c
--- cernlib-2005.05.09~/src/pawlib/comis/deccc/cscald.c	2004-10-27 09:01:54.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/deccc/cscald.c	2005-09-20 19:27:10.776518895 +0000
@@ -32,8 +32,7 @@
 #ifdef CERNLIB_WINNT
 # include <stdio.h>
 #endif
-
-#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))
+#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_QMLXIA64))
 double cscald_ (name,n,p)
 #endif
 #if defined(CERNLIB_QXNO_SC)
@@ -46,10 +45,41 @@
     int CSCALD (name,n,p)
 #  endif
 #endif
+
+/*
+ * 64-bit pointer systems require a special treatment of addresses - see below 
+ * using the CERNLIB_QMLXIA64 macro definition (H. Vogt - Sep 2005)
+ * This code will be consistent with that of jumptn.c and jumpxn.c
+ * in packlib/kernlib/kerngen/ccgen (usage of jumpad_)
+ *
+ * for shared objects loaded by the dynamic linker content of the 1st arg
+ * in cscald_ is a pointer which may be above the 32 bit address space
+ * therefore *fptr has been changed to type long
+ * see changes in csintx.F, cskcal.F, ... (introduction of INTEGER*8 array for
+ * those pointers)
+ */
+
+#if defined(CERNLIB_QMLXIA64)
+double cscald_ (fptr,n,pin)
+ long *fptr;
+ int *n;
+ unsigned pin[15];
+{
+   int jumpad_();
+   double (*name)();
+   unsigned long ptr = *fptr + (unsigned long)jumpad_;
+   if ( *fptr > 0 ) ptr = 0;
+   ptr += *fptr;
+   name = (double (*)())ptr;
+/*    printf ("cscald - *fptr,ptr,jumpad_ are: %p %p %p %p\n", *fptr, ptr, jumpad_); */
+   long p[15];
+   int  count;  for ( count=0; count<16; count++ )  p[count] = pin[count];
+#else
  double (type_of_call *(*name)) ();
  int *n;
  int *p[15];
 {
+#endif
    double d;
    switch (*n)
    {
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/deccc/cscali.c cernlib-2005.05.09/src/pawlib/comis/deccc/cscali.c
--- cernlib-2005.05.09~/src/pawlib/comis/deccc/cscali.c	2004-10-22 12:42:40.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/deccc/cscali.c	2005-09-20 19:27:10.777518681 +0000
@@ -29,8 +29,7 @@
 #ifdef CERNLIB_WINNT
 # include <stdio.h>
 #endif
-
-#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))
+#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_QMLXIA64))
 int cscali_ (name,n,p)
 #endif
 #if defined(CERNLIB_QXNO_SC)
@@ -39,10 +38,41 @@
 #if defined(CERNLIB_QXCAPT)
 int type_of_call CSCALI (name,n,p)
 #endif
+
+/*
+ * 64-bit pointer systems require a special treatment of addresses - see below 
+ * using the CERNLIB_QMLXIA64 macro definition (H. Vogt - Sep 2005)
+ * This code will be consistent with that of jumptn.c and jumpxn.c
+ * in packlib/kernlib/kerngen/ccgen (usage of jumpad_)
+ *
+ * for shared objects loaded by the dynamic linker content of the 1st arg
+ * in cscali_ is a pointer which may be above the 32 bit address space
+ * therefore *fptr has been changed to type long
+ * see changes in csintx.F, cskcal.F, ... (introduction of INTEGER*8 array for
+ * those pointers)
+ */
+
+#if defined(CERNLIB_QMLXIA64)
+int cscali_ (fptr,n,pin)
+ long *fptr;
+ int *n;
+ unsigned pin[15];
+{
+   int jumpad_();
+   int (*name)();
+   unsigned long ptr = (unsigned long)jumpad_;
+   if ( *fptr > 0 ) ptr = 0;
+   ptr += *fptr;
+   name = (int (*)())ptr;
+/*    printf ("cscali - *fptr,ptr,jumpad_ are: %p %p %p %p\n", *fptr, ptr, jumpad_); */
+   long p[15];
+   int  count;  for ( count=0; count<16; count++ )  p[count] = pin[count];
+#else
  int (type_of_call *(*name)) ();
  int *n;
  int *p[15];
 {
+#endif
    int i;
    switch (*n)
    {
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/deccc/cscalr.c cernlib-2005.05.09/src/pawlib/comis/deccc/cscalr.c
--- cernlib-2005.05.09~/src/pawlib/comis/deccc/cscalr.c	2004-10-22 12:03:16.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/deccc/cscalr.c	2005-09-20 19:27:10.788516325 +0000
@@ -33,16 +33,12 @@
 #ifdef CERNLIB_WINNT
 # include <stdio.h>
 #endif
-
-
-#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))
+#if (defined(CERNLIB_QX_SC))&&(!defined(CERNLIB_WINNT))&&(!defined(CERNLIB_QMLXIA64))
 float cscalr_ (name,n,p)
 #endif
-
 #if defined(CERNLIB_QXNO_SC)
 float cscalr (name,n,p)
 #endif
-
 #if defined(CERNLIB_QXCAPT)
 # if defined(CERNLIB_MSSTDCALL)
    float type_of_call CSCALR(name,n,p)
@@ -51,10 +47,39 @@
 # endif
 #endif
 
+/*
+ * 64-bit pointer systems require a special treatment of addresses - see below 
+ * using the CERNLIB_QMLXIA64 macro definition (H. Vogt - Sep 2005)
+ * This code will be consistent with that of jumptn.c and jumpxn.c
+ * in packlib/kernlib/kerngen/ccgen (usage of jumpad_)
+ *
+ * for shared objects loaded by the dynamic linker content of the 1st arg
+ * in cscalr_ is a pointer which may be above the 32 bit address space
+ * therefore *fptr has been changed to type long
+ * see changes in csintx.F, cskcal.F, ... (introduction of INTEGER*8 array for
+ * those pointers)
+ */
+
+#if defined(CERNLIB_QMLXIA64)
+float cscalr_ (fptr,n,pin)
+ long *fptr;
+ int *n;
+ int pin[15];
+{
+   int jumpad_();
+   float (*name)();
+   unsigned long ptr = (unsigned long)jumpad_;
+   ptr += *fptr;
+   name = (float (*)())ptr;
+/*    printf ("cscalr - *fptr,ptr,jumpad_ are: %p %p %p %p\n", *fptr, ptr, jumpad_); */
+   long p[15];
+   int  count;  for ( count=0; count<16; count++ )  p[count] = pin[count];
+#else
  float (type_of_call *(*name)) ();
  int *n;
  int *p[15];
 {
+#endif
    float r;
    switch (*n)
    {
diff -urNad cernlib-2005.05.09~/src/pawlib/comis/deccc/cstrcmp.c cernlib-2005.05.09/src/pawlib/comis/deccc/cstrcmp.c
--- cernlib-2005.05.09~/src/pawlib/comis/deccc/cstrcmp.c	1997-09-02 15:50:44.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/comis/deccc/cstrcmp.c	2005-09-20 19:27:10.788516325 +0000
@@ -36,6 +36,27 @@
 #else
 int cstrcmp_(ja,na,jb,nb)
 #endif
+
+/*
+ * 64-bit pointer systems require a special treatment of addresses - see below -
+ * using the CERNLIB_QMLXIA64 cpp flag (H. Vogt - Sep 2005)
+ */
+
+#if defined(CERNLIB_QMLXIA64)
+     int *ja, *jb;
+     int *na, *nb;
+{
+
+  int i,la,lb,k; char *a,*b;
+  if ( *na >= *nb )
+     {
+      (long)a=*ja; (long)b=*jb; la=*na; lb=*nb; k=1;
+      }
+  else
+    {
+      (long)a=*jb; (long)b=*ja; la=*nb; lb=*na; k=-1;
+     }
+#else
      char **ja, **jb;
      int *na, *nb;
 {
@@ -48,6 +69,7 @@
     {
       a=*jb; b=*ja; la=*nb; lb=*na; k=-1;
      }
+#endif
   for ( i=0; i<lb; i++ )
     { if(a[i] != b[i])
       { return ( (a[i] > b[i]) ? k : -k ); }
diff -urNad cernlib-2005.05.09~/src/pawlib/paw/ntuple/qp_execute.c cernlib-2005.05.09/src/pawlib/paw/ntuple/qp_execute.c
--- cernlib-2005.05.09~/src/pawlib/paw/ntuple/qp_execute.c	2001-09-18 13:41:35.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/paw/ntuple/qp_execute.c	2005-09-20 19:27:10.789516111 +0000
@@ -245,7 +245,15 @@
 	char		ntname[MAX_NAME_LEN+6];
 	int		i, ierr, indx, itype, isize, ielem;
 	Int32 *		addr;
-	int		ibase[1], ioff, nuse;
+
+	/* LP64 compatibility:
+	   use static for ibase (at least) because its address is stored
+	   as Int32 in structure CWNBlock                                 
+	   static takes ibase from the stack and puts it the code area
+	   and the LP64 ABI has the code area in the 32 bit address space
+	   but the stack starts downward from 0x80000000000 (H. Vogt) */
+
+	static int	ibase[1], ioff, nuse;
 	int		id = qe->id;
 	char *		path = qe->path;
 	char *		title;
@@ -871,8 +879,21 @@
 			if ( cmd->u.scan.pawpp ) {
 				char	buf[33];
 
+				/* for LP64 ABI matlab and matrow are 64 bit pointer, type is void*  
+				   but PCADDR.jmlab and PCADDR.jmrow are of type int
+				   see: c_pcaddr.h and qp_command.h
+				   it is related to CWNBlock -> see above (H. Vogt)*/
+
+#if defined(CERNLIB_QMLXIA64)
+				unsigned long long int	 myjmlab, myjmrow;
+				myjmlab = PCADDR.jmlab;
+				myjmrow = PCADDR.jmrow;
+				c->matlab = (TableCallBack) myjmlab;
+				c->matrow = (TableCallBack) myjmrow;
+#else
 				c->matlab = (TableCallBack) PCADDR.jmlab;
 				c->matrow = (TableCallBack) PCADDR.jmrow;
+#endif
 
 				qp_assert( qe->nexpr <= MAX_OUTSTR );
 
diff -urNad cernlib-2005.05.09~/src/pawlib/paw/ntuple/qp_hbook_if.c cernlib-2005.05.09/src/pawlib/paw/ntuple/qp_hbook_if.c
--- cernlib-2005.05.09~/src/pawlib/paw/ntuple/qp_hbook_if.c	1999-07-05 15:43:35.000000000 +0000
+++ cernlib-2005.05.09/src/pawlib/paw/ntuple/qp_hbook_if.c	2005-09-20 19:27:10.801513541 +0000
@@ -149,7 +149,15 @@
 	int	idn, idtmp;
 	int	icycle;
 	int	ierr;
-	int     izero = 0;
+
+	/* LP64 compatibility:
+	   use static for izero because its address is fetched by hbname_
+	   using locb and locb expects 32 bit addresses only.
+	   static takes izero from the stack and puts it the code area
+	   and the LP64 ABI has the code area in the 32 bit address space
+	   but the stack starts downward from 0x80000000000 (H. Vogt) */
+
+	static int     izero = 0;
 
 	/* split string into  path, id and cycle */
 
diff -urNad cernlib-2005.05.09~/src/scripts/cernlib cernlib-2005.05.09/src/scripts/cernlib
--- cernlib-2005.05.09~/src/scripts/cernlib	2003-01-23 14:00:37.000000000 +0000
+++ cernlib-2005.05.09/src/scripts/cernlib	2005-09-20 19:27:10.801513541 +0000
@@ -115,6 +115,12 @@
 	       [ -d /usr/X11R6/lib ] && SYSGX11="-L/usr/X11R6/lib -lX11"
 	       [ -d /usr/X11R6/lib ] && SYSGMOTIF="-L/usr/X11R6/lib -lXm -lXt -lXp -lXext -lX11"
 	       [ `uname -m` = ppc ] && SYSGMOTIF="$SYSGMOTIF -lSM -lICE -lXpm"
+#                      add path to lib64 for x86_64 architecture
+	       if [ `uname -m` = x86_64 ] && [ -d /usr/X11R6/lib64 ] ; then
+		  SYSGDIRS="-L/usr/X11R6/lib -L/usr/X11R6/lib64"
+		  SYSGX11="$SYSGDIRS -lX11"
+		  SYSGMOTIF="$SYSGDIRS -lXm -lXt -lXp -lXext -lX11"
+	       fi
 	       ;;
       NeXT)    SYSGX11="/usr/lib/X11/libX11.r" ;
                SYSGMOTIF="-lXm -lXt /usr/lib/X11/libX11.r" ;;


--- NEW FILE 300-skip-duplicate-lenocc.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 300-skip-duplicate-lenocc.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Only compile one of the two "lenocc()" functions.

@DPATCH@
diff -urNad cernlib-2005.05.09.dfsg~/src/packlib/kernlib/kerngen/ccgen/Imakefile cernlib-2005.05.09.dfsg/src/packlib/kernlib/kerngen/ccgen/Imakefile
--- cernlib-2005.05.09.dfsg~/src/packlib/kernlib/kerngen/ccgen/Imakefile	2002-09-19 16:44:52.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/packlib/kernlib/kerngen/ccgen/Imakefile	2005-11-28 19:59:28.690293288 +0000
@@ -19,7 +19,9 @@
 SRCS_C += apofsz.c
 #endif
 
-#if defined(CERNLIB_WINNT)
+#if defined(CERNLIB_WINNT) || defined(CERNLIB_LINUX)
+/* Do not use lenocc.c in Linux; favor packlib/kernlib/kerngen/tcgen/lenocc.F
+ * instead.  --Kevin McCarty, for Debian */
 SRCS_C += lnblnk.c
 #endif
 
@@ -29,7 +31,7 @@
 
 #if defined(CERNLIB_DECS) || defined(CERNLIB_QMVAOS) \
  || defined(CERNLIB_HPUX) || defined(CERNLIB_IBMRT) || defined(CERNLIB_IBMRTD) \
- || defined(CERNLIB_OS9)  || defined(CERNLIB_LINUX)
+ || defined(CERNLIB_OS9)
 SRCS_C += lenocc.c lnblnk.c
 #endif
 


--- NEW FILE 303-shadow-passwords-supported.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 303-shadow-passwords-supported.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Allow Cern's server code to read from /etc/shadow.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c /tmp/dpep.KyLyTI/cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c
--- cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c	2005-04-18 11:39:28.000000000 -0400
+++ /tmp/dpep.KyLyTI/cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c	2005-06-08 16:55:00.088372396 -0400
@@ -28,6 +28,9 @@
  *
  */
 #include "cspack/pilot.h"
+#if defined(CERNLIB_LINUX) && ! defined(CERNLIB_MACOSX)
+#define SHADOW_SUPPORT /* for Debian */
+#endif
 #if !defined(CERNLIB_IBM)||defined(CERNLIB_TCPSOCK)
 /*N.B. Must define sequence TCPLOG if a log file is required, e.g.*/
 /*#define LOGFILE "disk$dd:-ben.socks-serv.log"*/ /* VMS    */
@@ -231,7 +234,7 @@
 #endif /* OSK */
 #endif /* AUTHENT */
  
-#ifdef linux_softland
+#if defined(linux_softland) || defined(SHADOW_SUPPORT)
 #include <shadow.h>
 #endif /* linux_softland */
  
@@ -1780,10 +1783,10 @@
         union wait ret;
 #endif /* APOPWD1 */
  
-        char   *xpasswd, *crypt();
+        char   *xpasswd, *encrypted, *crypt();
         struct passwd *pw;
  
-#ifdef linux_softland
+#if defined(linux_softland) || defined(SHADOW_SUPPORT)
         struct spwd *spwd;
 #endif /* linux_softland */
  
@@ -1798,6 +1801,7 @@
                 reply("Unknown user %s.\n", user);
                 return(-2);
         }
+	encrypted = pw->pw_passwd;
  
 #ifdef linux_softland
         spwd = getspnam(user);
@@ -1805,6 +1809,29 @@
                 reply("User %s has illegal shadow password\n",user);
                 return(-2);
         }
+	encrypted = spwd->sp_pwdp;
+
+#elif defined(SHADOW_SUPPORT)
+	/* shadow passwords may not be enabled in Debian, so must check */
+	{
+		FILE *test = fopen("/etc/shadow", "r");
+		if (test) {
+			fclose(test);
+			spwd = getspnam(user);
+			if (spwd == NULL) {
+				reply("User %s has illegal shadow password\n",
+				      user);
+				return(-2);
+			}
+			encrypted = spwd->sp_pwdp;
+		}
+		else if (errno == EACCES) {
+			reply("Server has insufficient permissions to "
+			      "read /etc/shadow file\n");
+			return(-2);
+		}
+	}
+
 #endif /* linux_softland */
  
 #ifdef APOPWD1
@@ -1850,15 +1877,16 @@
 #else
  
 #ifdef linux_softland
-            xpasswd = pw_encrypt(pass,spwd->sp_pwdp);
+            xpasswd = pw_encrypt(pass, encrypted);
 #else
-            xpasswd = crypt(pass, pw->pw_passwd);
+            xpasswd = crypt(pass, encrypted);
 #endif /* linux_softland */
+
             /* The strcmp does not catch null passwords! */
-#ifdef linux_softland
-            if (spwd->sp_pwdp == '\0' || strcmp(xpasswd,spwd->sp_pwdp)) {
+#if defined(linux_softland) || defined(SHADOW_SUPPORT)
+            if (*encrypted == '\0' || strcmp(xpasswd,spwd->sp_pwdp)) {
 #else
-            if (*pw->pw_passwd == '\0' || strcmp(xpasswd,pw->pw_passwd)) {
+            if (*encrypted == '\0' || strcmp(xpasswd,pw->pw_passwd)) {
 #endif /* linux_softland */
  
 #endif /* AFS */


***** Error reading new file: [Errno 2] No such file or directory: '304-update-Imake-config-files.dpatch'

--- NEW FILE 305-use-POWERPC-not-PPC-as-test.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 305-use-POWERPC-not-PPC-as-test.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Since patch 304 changed the meaning of CERNLIB_PPC to a mere endianness
## DP: test, we now use CERNLIB_POWERPC to mean actually checking for a PowerPC
## DP: processor; fix the three occurences of this in Imakefiles.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/herwig/code/Imakefile /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/mclibs/herwig/code/Imakefile
--- cernlib-2005.05.09/src/mclibs/herwig/code/Imakefile	1998-09-25 11:34:28.000000000 -0400
+++ /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/mclibs/herwig/code/Imakefile	2005-06-09 10:51:45.913019086 -0400
@@ -43,7 +43,7 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC)
+#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC)
 SpecialFortranLibObjectRule(hwuci2,hwuci2,-O0,NullParameter)
 #endif
 
diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/Imakefile /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/code/Imakefile	1998-09-25 05:33:51.000000000 -0400
+++ /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile	2005-06-09 10:50:47.068482917 -0400
@@ -56,7 +56,7 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC)
+#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC)
 SpecialFortranLibObjectRule(pawins,pawins,-O0,NullParameter)
 #endif
 
diff -urNad cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile	1999-09-14 05:20:08.000000000 -0400
+++ /tmp/dpep.fQy2EP/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile	2005-06-09 10:51:15.807396176 -0400
@@ -46,7 +46,7 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_PPC)
+#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC)
 SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -o $@)
 SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -o $@)
 SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -o $@)


--- NEW FILE 306-patch-assert.h-for-makedepend.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 306-patch-assert.h-for-makedepend.dpatch by  <kmccarty at debian.org>
##
## 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	<assert.h>
+ */
+
+#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 <features.h>
+
+#if defined __cplusplus && __GNUC_PREREQ (2,95)
+# define __ASSERT_VOID_CAST static_cast<void>
+#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 */


--- NEW FILE 307-use-canonical-cfortran.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 307-use-canonical-cfortran.dpatch by  <kmccarty at debian.org>
##
## 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/src/cfortran/cfortran.doc /tmp/dpep.haCnaO/cernlib-2005.05.09/src/cfortran/cfortran.doc
--- cernlib-2005.05.09/src/cfortran/cfortran.doc	1998-12-11 12:17:09.000000000 -0500
+++ /tmp/dpep.haCnaO/cernlib-2005.05.09/src/cfortran/cfortran.doc	2004-12-10 10:47:33.000000000 -0500
@@ -195,7 +195,7 @@
 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
@@ -643,7 +643,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 +874,7 @@
 works everywhere and would seem to be an obvious choice.
 
 
-3. <BYTE|DOUBLE|BYTE|DOUBLE|FLOAT|INT|LOGICAL|LONG|SHORT><V|VV|VVV|...>
+3. <BYTE|DOUBLE|FLOAT|INT|LOGICAL|LONG|SHORT><V|VV|VVV|...>
 
 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 +1835,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 <stdio.h>
@@ -2017,8 +2017,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/src/cfortran/cfortran.h /tmp/dpep.haCnaO/cernlib-2005.05.09/src/cfortran/cfortran.h
--- cernlib-2005.05.09/src/cfortran/cfortran.h	2002-09-11 13:05:51.000000000 -0400
+++ /tmp/dpep.haCnaO/cernlib-2005.05.09/src/cfortran/cfortran.h	2004-12-10 10:47:34.000000000 -0500
@@ -1,4 +1,4 @@
-/* cfortran.h  4.4_cernlib2002 */
+/* cfortran.h  4.4 */
 /* http://www-zeus.desy.de/~burow/cfortran/                   */
 /* Burkhard Burow  burow at desy.de                 1990 - 2002. */
 
@@ -11,6 +11,32 @@
    MODIFYING, COPYING AND DISTRIBUTING THE CFORTRAN.H PACKAGE.
 */
 
+/* The following modifications were made by the authors of CFITSIO or by me. 
+ * I've flagged them below with "(CFITSIO)" or "(KMCCARTY)".
+ * PDW = Peter Wilson
+ * DM  = Doug Mink
+ * LEB = ??
+ * -- Kevin McCarty, for Debian (11/29/2003) */
+
+/*******
+   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)
+ *******/
+
 /* 
   Avoid symbols already used by compilers and system *.h:
   __ - OSF1 zukal06 V3.0 347 alpha, cc -c -std1 cfortest.c
@@ -75,7 +101,8 @@
 
 /* Remainder of cfortran.h depends on the Fortran compiler. */
 
-#if defined(CLIPPERFortran) || defined(pgiFortran)
+/* 11/29/2003 (KMCCARTY): add *INTEL_COMPILER symbols here */
+#if defined(CLIPPERFortran) || defined(pgiFortran) || defined(__INTEL_COMPILER) || defined(INTEL_COMPILER)
 #define f2cFortran
 #endif
 
@@ -90,6 +117,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 +179,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.                                  \
@@ -151,7 +200,8 @@
     - 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 +214,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 +319,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 +564,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
@@ -540,7 +592,8 @@
 }
 return (int)num;
 }
-#endif
+/* #endif removed 2/10/98 (CFITSIO) */
+
 /*-------------------------------------------------------------------------*/
 
 /*           UTILITIES FOR C TO USE STRINGS IN FORTRAN COMMON BLOCKS       */


--- NEW FILE 308-use-canonical-cfortran-location.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 308-use-canonical-cfortran-location.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: All code compiled at Cernlib build-time should look for cfortran.h
## DP: at <cfortran/cfortran.h>.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/graflib/higz/higzcc/tkhigz.c /tmp/dpep.d3syqe/cernlib-2005.05.09/src/graflib/higz/higzcc/tkhigz.c
--- cernlib-2005.05.09/src/graflib/higz/higzcc/tkhigz.c	1996-02-14 08:10:26.000000000 -0500
+++ /tmp/dpep.d3syqe/cernlib-2005.05.09/src/graflib/higz/higzcc/tkhigz.c	2005-06-09 13:13:22.079711057 -0400
@@ -39,7 +39,7 @@
  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  */
 
-#include "higz/cfortran.h"
+#include <cfortran/cfortran.h>
 #if !defined(VMS) && !defined(_WINDOWS)
 #include "higz/tkConfig.h"
 #endif
diff -urNad cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c /tmp/dpep.d3syqe/cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c
--- cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c	1996-04-17 10:46:29.000000000 -0400
+++ /tmp/dpep.d3syqe/cernlib-2005.05.09/src/pawlib/paw/testsuite/tuple/tuple.c	2005-06-09 13:14:58.654908060 -0400
@@ -16,7 +16,7 @@
 #include	<float.h>
 
 
-#include	"cfortran.h"
+#include	<cfortran/cfortran.h>
 
 /* #include	"packlib.h" */
 #include	"hbook_interface.h"


--- NEW FILE 309-define-dummy-herwig-routines.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 309-define-dummy-herwig-routines.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Define stub functions for herwig routines that are supposed to be
## DP: provided by the user.  Also, comment out the dummy functions pdfset
## DP: and structm; real versions are provided in pdflib.

@DPATCH@
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/herwig/code/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/herwig/code/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/herwig/code/Imakefile	2005-11-28 19:46:53.619963660 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/herwig/code/Imakefile	2005-11-28 19:46:58.890844233 +0000
@@ -24,8 +24,13 @@
 	hwulob.F hwulof.F hwulor.F hwumas.F hwupcm.F hwurap.F hwures.F \ @@\
 	hwurob.F hwurof.F hwurot.F hwusor.F hwusqr.F hwusta.F hwutab.F \ @@\
 	hwutim.F hwvdif.F hwvdot.F hwvequ.F hwvsca.F hwvsum.F hwvzro.F \ @@\
-	hwwarn.F ieupdg.F ipdgeu.F pdfset.F qqinit.F qqlmat.F sasano.F \ @@\
-	sasbeh.F sasdir.F sasgam.F sasvmd.F structm.F
+	hwwarn.F ieupdg.F ipdgeu.F /*pdfset.F*/ qqinit.F qqlmat.F sasano.F \ @@\
+	sasbeh.F sasdir.F sasgam.F sasvmd.F /*structm.F*/
+	/* comment out pdfset.F, structm.F; real versions are in pdflib */
+
+/* add the following file to define dummy routines as weak symbols */
+/* --Kevin McCarty, for Debian */
+SRCS_C= dummy.c
 
 FORTRANSAVEOPTION = FortranSaveFlags
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/herwig/code/dummy.c cernlib-2005.05.09.dfsg/src/mclibs/herwig/code/dummy.c
--- cernlib-2005.05.09.dfsg~/src/mclibs/herwig/code/dummy.c	1970-01-01 00:00:00.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/herwig/code/dummy.c	2005-11-28 19:49:17.897320746 +0000
@@ -0,0 +1,34 @@
+/* Dummy file to avoid undefined symbols in the library */
+/* Kevin McCarty, 14 Jan 2003 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* 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) dummy_ ## x
+
+#define DUMMY(UPPERNAME, fortranname_, returntype) \
+static returntype underline(fortranname_)() { print_dummy(#UPPERNAME); } \
+void fortranname_() \
+	__attribute__ ((weak, alias (stringify(underline(fortranname_))) ))
+
+static void print_dummy(const char *function)
+{
+  fprintf(stderr, "herwig59: Now in dummy %s routine.\n", function);
+  fprintf(stderr,
+          "If you see this message, you should define your own such routine.\n"
+#if defined (CERNLIB_DEBIAN)
+	  "For details, see the file /usr/share/doc/libherwig59-2-dev/herwig59.txt.gz\n"
+#endif
+  );
+  exit(EXIT_FAILURE);
+}
+
+DUMMY(HWABEG, hwabeg_, void);
+DUMMY(HWANAL, hwanal_, void);
+DUMMY(HWAEND, hwaend_, void);
+


--- NEW FILE 310-define-dummy-fowl-routines.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 310-define-dummy-fowl-routines.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Define stub functions for routines in fowl that are supposed to be
## DP: user-defined.  Also, rename START to FSTART to avoid name clash
## DP: with mathlib.

@DPATCH@
diff -urNad cernlib-2005.05.09.dfsg~/src/phtools/fowl/Imakefile cernlib-2005.05.09.dfsg/src/phtools/fowl/Imakefile
--- cernlib-2005.05.09.dfsg~/src/phtools/fowl/Imakefile	1996-04-26 07:13:52.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/phtools/fowl/Imakefile	2005-11-28 19:49:52.412989577 +0000
@@ -1,10 +1,12 @@
-SRCS_F=	 beamin.F breitw.F chmove.F delsq.F dumpme.F finish.F \ @@\
+SRCS_F=	 beamin.F breitw.F chmove.F delsq.F dumpme.F /* finish.F */ \ @@\
 	fmass.F fmassq.F fowl.F fowlmp.F fowlpr.F genev.F histey.F \ @@\
 	labsys.F pdk.F qqstrt.F rangnr.F redat2.F redata.F rotes2.F \ @@\
 	scout.F teedia.F tranch.F xplsdx.F
 
+SRCS_C= dummy.c /*"fake" defn of start, user, finish to avoid undefined syms*/
+
 #if !defined(CERNLIB_UNIX)
-SRCS_F := $(SRCS_F) start.F
+SRCS_F := $(SRCS_F) /* start.F */
 #endif
 
 SubdirLibraryTarget(fowl,NullParameter)
diff -urNad cernlib-2005.05.09.dfsg~/src/phtools/fowl/dummy.c cernlib-2005.05.09.dfsg/src/phtools/fowl/dummy.c
--- cernlib-2005.05.09.dfsg~/src/phtools/fowl/dummy.c	1970-01-01 00:00:00.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/phtools/fowl/dummy.c	2005-11-28 19:53:31.287496776 +0000
@@ -0,0 +1,39 @@
+/* Dummy file to avoid undefined symbols in the library */
+/* Kevin McCarty, 26 Apr 2004 */
+/* Last revised 13 Aug 2004 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* 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) dummy_ ## x
+
+#define DUMMY(UPPERNAME, fortranname_, returntype) \
+static returntype underline(fortranname_)() { print_dummy(#UPPERNAME); } \
+void fortranname_() \
+	__attribute__ ((weak, alias (stringify(underline(fortranname_))) ))
+
+static void print_dummy(const char *function)
+{
+  fprintf(stderr, "phtools: Now in dummy %s routine.\n", function);
+  fprintf(stderr,
+          "If you see this message, you should define your own such routine.\n"
+	  "For details, see "
+#if defined (CERNLIB_DEBIAN)
+	                   "/usr/share/doc/libphtools2-dev/README.Debian\n"
+	  "and "
+#endif
+	      "the CERN writeup for FOWL (available at the URL\n"
+	  "http://wwwasdoc.web.cern.ch/wwwasdoc/Welcome.html ; scroll down\n"
+	  "to the link for W505 - FOWL.)\n");
+  exit(EXIT_FAILURE);
+}
+
+DUMMY(FSTART, fstart_, void);
+DUMMY(USER,   user_,   void);
+DUMMY(FINISH, finish_, void);
+
diff -urNad cernlib-2005.05.09.dfsg~/src/phtools/fowl/fowlmp.F cernlib-2005.05.09.dfsg/src/phtools/fowl/fowlmp.F
--- cernlib-2005.05.09.dfsg~/src/phtools/fowl/fowlmp.F	1996-03-22 16:42:46.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/phtools/fowl/fowlmp.F	2005-11-28 19:49:52.412989577 +0000
@@ -30,7 +30,7 @@
       CALL REDATA
       IF(NEVTOT.LT.NGRP) NGRP = NEVTOT
       N2 = MIN (NEVTOT/NGRP, 30000)
-      CALL START
+      CALL FSTART
       DO  500 I2= 1, N2
       DO  400  I= 1, NGRP
       IEVENT = IEVENT + 1
diff -urNad cernlib-2005.05.09.dfsg~/src/phtools/fowl/qqstrt.F cernlib-2005.05.09.dfsg/src/phtools/fowl/qqstrt.F
--- cernlib-2005.05.09.dfsg~/src/phtools/fowl/qqstrt.F	1996-03-22 16:42:47.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/phtools/fowl/qqstrt.F	2005-11-28 19:49:52.412989577 +0000
@@ -38,6 +38,9 @@
       COMMON
      +/TAPES / NTPIN     ,NTPOUT   ,NTPNCH   ,NTPBIN   ,KONSOL
       IF(JEVT.LE.0) RETURN
+#if 0
+C     Comment this section out; "which" is obsolete
+C     -- Kevin McCarty, for Debian, 26 April 2004
       CALL WHICH(ISIT,VAL)
       WRITE(6,700)JEVT,VAL
   700 FORMAT('0RANDOM NUMBER GENERATOR INITIATED TO',I12,
@@ -46,6 +49,7 @@
 C--     CDC   60-BIT WORD
 CDC                             )B10000000000000007171 .RO.  TVEJ( = POL
       GOTO 200
+#endif
   100 CONTINUE
 C         FOR -CDC JUST MAKE SURE IT IS ODD
       IGLOP = JEVT


--- NEW FILE 311-skip-duplicate-qnext.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 311-skip-duplicate-qnext.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Don't compile in redundant versions of qnext.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kerngen/tcgenc/Imakefile /tmp/dpep.5v33rR/cernlib-2005.05.09/src/packlib/kernlib/kerngen/tcgenc/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kerngen/tcgenc/Imakefile	1998-03-05 08:17:18.000000000 -0500
+++ /tmp/dpep.5v33rR/cernlib-2005.05.09/src/packlib/kernlib/kerngen/tcgenc/Imakefile	2005-06-09 14:28:05.755053006 -0400
@@ -1,5 +1,6 @@
+/* don't compile qnexte.F --Kevin*/
 SRCS_F= abend.F accessf.F exitf.F \ @@\
-	intrac.F jumpxn.F lnblnk.F locb.F locf.F qnexte.F unlinkf.F
+	intrac.F jumpxn.F lnblnk.F locb.F locf.F unlinkf.F
 
 #ifndef CERNLIB_OS9
 SRCS_F := $(SRCS_F) timed.F timel.F timex.F 
diff -urNad cernlib-2005.05.09/src/packlib/zebra/qutil/Imakefile /tmp/dpep.5v33rR/cernlib-2005.05.09/src/packlib/zebra/qutil/Imakefile
--- cernlib-2005.05.09/src/packlib/zebra/qutil/Imakefile	1996-03-06 05:47:15.000000000 -0500
+++ /tmp/dpep.5v33rR/cernlib-2005.05.09/src/packlib/zebra/qutil/Imakefile	2005-06-09 14:28:05.755053006 -0400
@@ -1,6 +1,7 @@
+/* don't compile qnext.F --Kevin*/
 SRCS_F=	 izbcd.F izbcdt.F izbcdv.F izchav.F izhnum.F lzbyt.F \ @@\
 	lzfind.F lzfval.F lzlast.F lzlong.F nzbank.F nzfind.F nzlong.F \ @@\
-	qnext.F zhtoi.F zitoh.F zkrak.F zkrakn.F znumid.F zpress.F \ @@\
+	zhtoi.F zitoh.F zkrak.F zkrakn.F znumid.F zpress.F \ @@\
 	zshunt.F zsort.F zsorth.F zsorti.F zsorv.F zsorvh.F zsorvi.F \ @@\
 	ztopsy.F
 


--- NEW FILE 312-skip-duplicate-gamma.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 312-skip-duplicate-gamma.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Don't compile in redundant gamma function in isajet; use the mathlib one

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile /tmp/dpep.IX54UM/cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile
--- cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile	2005-06-09 14:29:18.976494518 -0400
+++ /tmp/dpep.IX54UM/cernlib-2005.05.09/src/mclibs/isajet/code/Imakefile	2005-06-09 14:30:21.913126207 -0400
@@ -1,12 +1,13 @@
 DoIncludePackage(isajet)
 #include "pilot.h"
 
+/* gamma.F removed; use the one defined in mathlib/gen/c/gamma.F */
 SRCS_F= \ @@\
 	 amass.F charge.F cteq5l.F ctxc2i.F ctxi2c.F ctxin.F ctxout.F \ @@\
 	 dblpcm.F dblvec.F dboost.F decay.F decjet.F \ @@\
 	 domssm.F drllyn.F eebeg.F eemax.F elctrn.F epf.F evol01.F evol02.F \ @@\
 	 evol03.F evol05.F evol06.F evol07.F evolms.F evolve.F flavor.F \ @@\
-	 fortop.F frgjet.F frgmnt.F gamma.F getpt.F gettot.F heavyx.F \ @@\
+	 fortop.F frgjet.F frgmnt.F         getpt.F gettot.F heavyx.F \ @@\
 	 hevolv.F higgs.F idanti.F idgen.F iframs.F inisap.F ipartns.F \ @@\
 	 ipjset.F iprtns.F irmov0.F isabeg.F isaend.F isaevt.F isaini.F \ @@\
 	 isajet.F isasrt.F ispjet.F istrad.F iswdky.F jetgen.F \ @@\


--- NEW FILE 313-comis-preserves-filename-case.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 313-comis-preserves-filename-case.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Have COMIS preserve filename case when interpreting FORTRAN code.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c /tmp/dpep.GROFhd/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c
--- cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c	2003-02-13 09:25:23.000000000 -0500
+++ /tmp/dpep.GROFhd/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuinit.c	2005-06-09 15:24:32.751560586 -0400
@@ -200,6 +200,14 @@
   ku_exel( "/KUIP/SET_SHOW/COLUMNS -1" );
   ku_exel( "/KUIP/SET_SHOW/DOLLAR 'ON'" );
 
+#if defined(UNIX) && (defined(WINNT) || !defined(MSDOS))
+/* Correct the default behavior of converting filenames to lower-case
+ * on a case-sensitive operating system... Not that I'm bitter or anything.
+ * --Kevin McCarty, for Debian
+ */
+  ku_exel( "/KUIP/SET_SHOW/FILECASE 'KEEP'" );
+#endif
+
   host_editor = getenv( "KUIPEDITOR" );
   if( host_editor == NULL )
     host_editor = getenv( "EDITOR" );
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf /tmp/dpep.GROFhd/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf
--- cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf	1997-09-25 10:02:25.000000000 -0400
+++ /tmp/dpep.GROFhd/cernlib-2005.05.09/src/packlib/kuip/code_kuip/kuipcdf.cdf	2005-06-09 15:23:49.276738602 -0400
@@ -1064,11 +1064,12 @@
 .
 This command has only an effect on Unix systems to select whether filenames
 are kept as entered on the command line.
-The startup value is 'CONVERT', i.e. filenames are converted to lowercase.
+The startup value is 'KEEP', i.e. filename cases are preserved.  With
+the 'CONVERT' setting, filenames are converted to lowercase.
 .
 On other systems filenames are always converted to uppercase.
 .
-The 'RESTORE' option set the conversion mode to the value effective
+The 'RESTORE' option sets the conversion mode to the value effective
 before the last FILECASE KEEP/CONVERT command.
 E.g. the sequence
      FILECASE KEEP; EDIT Read.Me; FILECASE RESTORE
diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F /tmp/dpep.GROFhd/cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F
--- cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F	1999-05-20 03:37:18.000000000 -0400
+++ /tmp/dpep.GROFhd/cernlib-2005.05.09/src/pawlib/paw/code/pawint3.F	2005-06-09 15:23:49.276738602 -0400
@@ -140,7 +140,7 @@
       CHUTIT = ' '
 *
       IF (IPIAF.EQ.0) THEN
-         CALL KUOPEN(10,'PAW.METAFILE','UNKNOWN',ISTAT)
+         CALL KUOPEN(10,'paw.metafile','UNKNOWN',ISTAT)
 #if (defined(CERNLIB_IBM))&&(!defined(CERNLIB_IBMMVS))
          CALL HERMES(19)
          CALL VMCMS('FILEDEF 19 DISK GKSERROR OUTPUT A',IRET)


--- NEW FILE 314-permit-using-regcomp-for-re_comp.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 314-permit-using-regcomp-for-re_comp.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Add a possibility to use regcomp() instead of re_comp() (selected at
## DP: compile time)

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_motif/kmfile.c /tmp/dpep.OUDE1M/cernlib-2005.05.09/src/packlib/kuip/code_motif/kmfile.c
--- cernlib-2005.05.09/src/packlib/kuip/code_motif/kmfile.c	1996-03-08 10:33:08.000000000 -0500
+++ /tmp/dpep.OUDE1M/cernlib-2005.05.09/src/packlib/kuip/code_motif/kmfile.c	2005-06-09 15:49:30.689188356 -0400
@@ -18,6 +18,11 @@
 #include "kuip/mkutfu.h"
 #include "mkutda.h"
 
+#ifdef MATCH_REGCOMP
+#include <sys/types.h>
+#include <regex.h>     /* for regex_t */
+#endif
+
 static char **ftype_list = NULL;
 static char **class_list = NULL;
 static char **stext_list = NULL;
@@ -92,8 +97,12 @@
     DIR            *dirp;
     struct dirent  *dp;
     char           *pattern;
+#ifdef MATCH_REGCOMP
+    regex_t        *re = (regex_t *)malloc( sizeof(regex_t) );
+#else
     char           *re;
 #endif
+#endif
     struct stat     filestatus;
 
     ndlist     = 0;
@@ -221,11 +230,15 @@
       }
     }
     pattern = mstrcat( pattern, "$" );
+#ifdef MATCH_REGCOMP
+    regcomp( re, pattern, REG_NEWLINE );
+#else
 #ifdef MATCH_RE_COMP
     re = re_comp( pattern );
 #else
     re = regcmp( pattern, NULL );
 #endif
+#endif
     free( pattern );
 
     /*
@@ -260,12 +273,16 @@
         }
         else if( (filestatus.st_mode & S_IFMT) == S_IFREG ) {
           /* regular file: match name against regexp */
+#ifdef MATCH_REGCOMP
+          int match = (regexec( re, dp->d_name, 0, NULL, 0 ) == 0);
+#else
 #ifdef MATCH_RE_COMP
           int match = re_exec( dp->d_name );
 #else
           int match = (regex( re, dp->d_name ) != NULL);
 #endif
-          if( match == 1 ) {
+#endif
+          if( match ) {
             filelist = (char**)realloc( (char*)filelist,
                                        (nflist+1) * sizeof(char*) );
             filelist[nflist] = strdup( dp->d_name );
@@ -276,6 +293,9 @@
       closedir( dirp );
     }
 
+#ifdef MATCH_REGCOMP
+    regfree( re );
+#endif
 #ifndef MATCH_RE_COMP
     free( re );
 #endif


--- NEW FILE 315-fixes-for-MacOSX.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 315-fixes-for-MacOSX.dpatch by  <kmccarty at debian.org>
##
## 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/src/config/Imake.rules /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/Imake.rules
--- cernlib-2005.05.09/src/config/Imake.rules	2005-04-18 11:39:25.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/Imake.rules	2005-06-09 15:52:06.472072084 -0400
@@ -2171,7 +2171,7 @@
 #define CppScriptTarget(dst,src,defs,deplist)				@@\
 dst::  src deplist							@@\
 	RemoveFile($@)							@@\
-	$(CPP) defs <src | CppSedMagic >$@				@@\
+	$(CPP) defs src | CppSedMagic >$@				@@\
 	chmod a+x $@							@@\
 									@@\
 clean::									@@\
@@ -2203,7 +2203,7 @@
 #define CppFileTarget(dst,src,defs,deplist)				@@\
 dst::  src deplist							@@\
 	RemoveFile($@)							@@\
-	$(CPP) defs <src | CppSedMagic >$@				@@\
+	$(CPP) defs src | CppSedMagic >$@				@@\
 									@@\
 clean::									@@\
 	RemoveFiles(dst)
diff -urNad cernlib-2005.05.09/src/config/MacOSX.cf /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/MacOSX.cf
--- cernlib-2005.05.09/src/config/MacOSX.cf	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/MacOSX.cf	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,170 @@
+XCOMM platform:  $SFO: MOSXS.cf,v 1.0 95/11/19 23:21:00 sl Exp $
+
+#define OSVendor          Apple Computer, Inc.
+#ifdef MacOSXArchitecture
+#define OSName            MacOSX
+#define OSMajorVersion    DefaultOSMajorVersion
+#define OSMinorVersion    DefaultOSMinorVersion
+#define OSTeenyVersion    0
+#endif
+
+#define ProjectRulesFile  <MacOSX.rules>
+#define ProjectTmplFile   <MacOSX.tmpl>
+
+#define InstKmemFlags -m 2755 -g kmem
+/* #define ConstructMFLAGS		NO */
+
+#define HasNdbm     YES
+#define SetTtyGroup YES
+#define HasBsearch  YES
+#ifdef MacOSXArchitecture
+#define HasPutenv               YES
+#define MathLibrary             /**/
+#define DBMLibrary              /**/
+#define TermcapLibrary          /**/
+#define HasBSD44Sockets         YES
+#define HAS_SNPRINTF            YES
+#endif
+
+#define NeedConstPrototypes     YES
+#define NeedVarargsPrototypes   YES
+#define NeedFunctionPrototypes  YES
+#define NeedWidePrototypes      NO
+
+#define GzipFontCompression     YES
+#define CompressAllFonts        YES
+
+#ifndef HasShm
+# define HasShm			YES
+#endif
+#ifndef BuildGlxExt
+# define BuildGlxExt 	  	YES
+# define GlxUseNSGL             YES
+#endif
+#define BuildServer             YES
+#define BuildXprint             NO
+#define BuildFonts              YES
+#define BuildDPMS               NO
+
+#define TenonServer             YES
+#define XprtServer              NO
+#define XVendorString "Tenon Intersystems Xtools"
+#define XVendorRelease 1000
+#ifndef UseRgbTxt
+#define UseRgbTxt               YES
+#endif
+
+#define BuildPexExt             NO
+
+#ifndef BuildGLXLibrary
+# define BuildGLXLibrary	YES
+#endif
+
+/* no direct graphics extension */
+#define	BuildXF86DGA	NO
+
+/* no extra tablets and weird input devices */
+#define BuildXInputExt	NO
+
+/* Build Xinerama (aka panoramiX) extension */
+#define BuildXinerama		YES
+
+/* no Display Power Management extension */
+#define	BuildDPMSExt	NO
+
+# define BuildXvExt     NO
+
+#ifndef OptimizationLevel
+# define OptimizationLevel -O
+#endif
+#define OptimizedCDebugFlags OptimizationLevel -fPIC -pipe
+#define ExtraLoadFlags -L/usr/X11R6/lib -L/sw/lib -L/usr/lib -lc
+
+#define BuildExamples YES
+
+#define StandardDefines -DCERNLIB_LINUX -DCERNLIB_PPC -DCERNLIB_MACOSX \
+			-Dunix=unix -D__powerpc__ -D__DARWIN__
+/* -DX_NOT_POSIX -DX_LOCALE */
+
+#define HasVoidSignalReturn YES
+
+#ifndef DependFlags
+#define DependFlags -I/usr/include/ansi -I/usr/include/bsd -I/sw/include
+#endif
+
+#define StandardIncludes -I/sw/include
+
+#define InstallCmd	install	/* unlink old */
+
+/* #define ArCmd libtool -a -o */
+#define ArCmd ar -r
+
+#ifndef RanlibCmd
+#define RanlibCmd	ranlib -c -s
+#endif
+
+/* see below for ServerDefines */
+
+#define PrimaryScreenResolution 95	/* for 17 inch screen */
+
+#define ServerCDebugFlags OptimizationLevel -fPIC -g -pipe
+
+#ifndef HasGcc
+#define HasGcc YES
+#endif
+
+#undef CcCmd
+#undef CplusplusCmd
+#ifdef MacOSXArchitecture
+#define CcCmd		cc -g -arch "ppc" -no-cpp-precomp
+#define CplusplusCmd    c++ -g -no-cpp-precomp
+#endif
+#ifndef CcCmd
+#define CcCmd cc -g
+#endif
+
+#define CppCmd        /usr/bin/cpp
+
+#include <MacOSX.rules>
+#include <xf86.rules>
+#undef XFree86Server
+/* #define GLX_DIRECT_RENDERING */
+
+#define f2cFortran              YES
+#define FortranCmd              g77 -g
+#define XargsCmd                xargs
+#define FortranSaveFlags        /* */ /* Everything static !? */
+#define OptimisedFortranFlags	OptimizationLevel -fPIC -funroll-loops \
+				-fomit-frame-pointer
+#define DefaultCCOptions	OptimizationLevel
+#define DefaultFCOptions        -fno-automatic \
+				-fno-second-underscore \
+				-fno-f90 -fugly-complex -fno-globals \
+				-fugly-init -Wno-globals OptimizationLevel
+
+#ifndef CernlibLocalDefines
+# define CernlibLocalDefines
+#endif
+#define CernlibSystem           -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \
+				-DCERNLIB_PPC -DCERNLIB_QMGLIBC \
+				-DCERNLIB_MACOSX CernlibLocalDefines
+
+#undef CERNLIB_SHIFT
+
+#define CERNLIB_LINUX
+#define CERNLIB_UNIX
+#define CERNLIB_LNX
+#define CERNLIB_PPC
+#define CERNLIB_QMGLIBC
+#define CERNLIB_MACOSX
+
+#define X11Includes             -I/usr/X11R6/include
+
+/*
+ *  Create a Make Variable to allow building with/out Motif
+ */
+#undef MotifDependantMakeVar
+#define MotifDependantMakeVar(variable,value) variable=value
+/* End  CERNLIB changes */
+
+
diff -urNad cernlib-2005.05.09/src/config/MacOSX.rules /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/MacOSX.rules
--- cernlib-2005.05.09/src/config/MacOSX.rules	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/MacOSX.rules	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,123 @@
+XCOMM $XConsortium: MOSXS.rules,v 1.1 97/12/12 15:34:45 sl Exp $
+
+/*
+ * MacOSX shared library rules
+ */
+
+#define HasSharedLibraries YES
+
+#define ForceNormalLib NO
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation YES
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef -fno-common
+#endif
+
+#define ShLibIncludeFile <MacOSX.tmpl>
+
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags
+#endif
+
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * Edited 2003-05-09 by Kevin McCarty to add an install.shlib target.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest)				@@\
+.PHONY: install.shlib shlib/libname					@@\
+shlib/libname:: $(DESTDIR)dest/SharedLibraryTargetName(libname)		@@\
+									@@\
+install.shlib:: $(DESTDIR)dest/SharedLibraryTargetName(libname)		@@\
+									@@\
+$(DESTDIR)dest/SharedLibraryTargetName(libname): SharedLibraryTargetName(libname) @@\
+	MakeDir($(DESTDIR)dest)						@@\
+	$(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.rev.dylib) $(DESTDIR)dest @@\
+	(T=`echo Concat($(DESTDIR)dest/lib,libname.rev.dylib) | sed 's/\.[^\.d]*\.dylib/\.dylib/'`;\ @@\
+		$(RM) $$T && $(LN) Concat(lib,libname.rev.dylib) $$T)	@@\
+	$(RM) Concat($(DESTDIR)dest/lib,libname.dylib)			@@\
+	$(LN) Concat(lib,libname.rev.dylib) Concat($(DESTDIR)dest/lib,libname.dylib)
+#endif /* InstallSharedLibrary */
+
+/*
+ * NormalSharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that the we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up)			@@\
+AllTarget(Concat(lib,libname.dylib))					@@\
+									@@\
+Concat(lib,libname.dylib):  solist $(EXTRALIBRARYDEPS)			@@\
+	$(RM) $@~							@@\
+	(cd down; $(CC) -I/usr/X11R6/lib -dynamiclib -undefined suppress -install_name /usr/X11R6/lib/$@ -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+	$(MV) $@~ $@							@@\
+	LinkBuildLibrary($@)						@@\
+									@@\
+clean::									@@\
+	$(RM) Concat(lib,libname.dylib)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up)	@@\
+AllTarget(Concat(lib,libname.dylib))					@@\
+									@@\
+Concat(lib,libname.dylib):  deplist $(EXTRALIBRARYDEPS)		@@\
+	$(RM) $@~							@@\
+	(cd down; $(CC) -I/usr/X11R6/lib -dynamiclib -undefined suppress -install_name /usr/X11R6/lib/$@ -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+	$(RM) $@							@@\
+	$(MV) $@~ $@							@@\
+	LinkBuildLibrary($@)						@@\
+									@@\
+clean::									@@\
+	$(RM) Concat(lib,libname.dylib)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryDataTarget */
+
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+/*
+ * SharedLibReferences - variables for shared libraries
+ */
+#ifndef SharedLibReferences
+#define SharedLibReferences(varname,libname,libsource,revname,rev)	@@\
+revname = rev								@@\
+Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname)		@@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+/*
+ * SharedDSLibReferences - variables for shared libraries
+ */
+#ifndef SharedDSLibReferences
+#define SharedDSLibReferences(varname,libname,libsource,revname,rev)	@@\
+revname = rev								@@\
+Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs)		@@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+
diff -urNad cernlib-2005.05.09/src/config/MacOSX.tmpl /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/MacOSX.tmpl
--- cernlib-2005.05.09/src/config/MacOSX.tmpl	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/MacOSX.tmpl	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,67 @@
+XCOMM $XConsortium: MOSXS.tmpl,v 1.2 97/12/12 19:07:12 sl Exp $
+
+/*
+ * Xnext shared library template
+ */
+
+
+
+#ifndef SharedXtReqs
+#define SharedXtReqs /**/
+#endif
+#ifndef SharedXawReqs
+#define SharedXawReqs /**/
+#endif
+#ifndef SharedXmuReqs
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB)
+#endif
+
+#define SharedLibX11 YES
+#define SharedX11Rev F
+SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
+
+#define SharedLibXau NO		/* don't need shared form */
+#define SharedLibXdmcp NO	/* don't need shared form */
+
+#define SharedLibXmu YES
+#define SharedXmuRev F
+
+#define SharedOldXRev F
+
+#define SharedLibXext YES
+#define SharedXextRev F
+
+#define SharedLibXt YES
+#define SharedXtRev F
+SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
+
+#define SharedXawRev F
+
+#define SharedXtfRev A
+
+#define SharedLibXi YES
+#define SharedXiRev F
+SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
+
+#define SharedLibXtst YES
+#define SharedXtstRev F
+SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
+
+
+#define SharedPexRev F
+SharedLibReferences(PEX,PEX5,$(PEXLIBSRC),SOPEXREV,SharedPexRev)
+
+#define SharedLibXie YES
+#define SharedXieRev F
+
+#define SharedLibICE YES
+#define SharedICERev F
+SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
+
+#define SharedLibSM YES
+#define SharedSMRev F
+SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
+
+#define SharedFSRev F
+SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
+
diff -urNad cernlib-2005.05.09/src/config/site.def /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/site.def
--- cernlib-2005.05.09/src/config/site.def	2002-04-26 10:46:04.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/config/site.def	2005-06-09 15:52:06.472072084 -0400
@@ -99,9 +99,7 @@
 /*   if it is already defined and false, undef it! */
 /* do not use shift by default
 #if defined(CERNLIB_UNIX) && !defined(CERNLIB_WINNT)
-#if ! defined(CERNLIB_SHIFT)
-#define CERNLIB_SHIFT
-#elif  ! CERNLIB_SHIFT
+#if defined(CERNLIB_SHIFT) && !CERNLIB_SHIFT
 #undef CERNLIB_SHIFT
 #endif
 #endif
diff -urNad cernlib-2005.05.09/src/geant321/gxint/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/geant321/gxint/Imakefile
--- cernlib-2005.05.09/src/geant321/gxint/Imakefile	1997-01-29 11:37:40.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/geant321/gxint/Imakefile	2005-06-09 15:52:06.472072084 -0400
@@ -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
 
diff -urNad cernlib-2005.05.09/src/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/Imakefile
--- cernlib-2005.05.09/src/Imakefile	1996-12-16 10:08:41.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/Imakefile	2005-06-09 15:52:06.471072296 -0400
@@ -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/src/mathlib/gen/tests/c327m.F /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mathlib/gen/tests/c327m.F
--- cernlib-2005.05.09/src/mathlib/gen/tests/c327m.F	1996-04-01 10:01:17.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mathlib/gen/tests/c327m.F	2005-06-09 15:52:06.483069745 -0400
@@ -92,7 +92,11 @@
 #endif
       ENDIF
       WRITE(Z,'(2D26.16)') H,T
+#if defined(CERNLIB_MACOSX)
+      READ(Z,'(2(4X,D22.16))') H1,T1
+#else
       READ(Z,'(2(D22.16,4X))') H1,T1
+#endif
        IF(IDS .EQ. 1) THEN
       ERRMAX=MAX(ERRMAX,ABS(H1-T1))
       LTEST= LTEST .AND. ERRMAX .LE.  TSTERR
diff -urNad cernlib-2005.05.09/src/mathlib/gen/tests/c342m.F /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mathlib/gen/tests/c342m.F
--- cernlib-2005.05.09/src/mathlib/gen/tests/c342m.F	1996-04-01 10:01:19.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mathlib/gen/tests/c342m.F	2005-06-09 15:52:06.483069745 -0400
@@ -70,7 +70,11 @@
 #endif
       END IF
       WRITE(Z,'(2D26.16)') R,T
+#if defined(CERNLIB_MACOSX)
+      READ(Z,'(2(4X,D22.16))') R1,T1
+#else
       READ(Z,'(2(D22.16,4X))') R1,T1
+#endif
       ERMAX= MAX(ERMAX,ABS(R1-T1))
       IF(IDS .EQ. 3 .OR. IDS .EQ. 4) THEN
        WRITE(LOUT,'(1X,F10.3,2F25.16,1P,D10.1)') SX,R,T,ABS(R1-T1)
diff -urNad cernlib-2005.05.09/src/mclibs/cojets/data/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mclibs/cojets/data/Imakefile
--- cernlib-2005.05.09/src/mclibs/cojets/data/Imakefile	1996-03-27 04:31:06.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mclibs/cojets/data/Imakefile	2005-06-09 15:52:06.483069745 -0400
@@ -1,11 +1,11 @@
 
 .SUFFIXES:
 
-CopyFile(cojets.cpp,cojets.cin)
+CopyFile(cojets.cpp,cojets.s)
 CopyFile(decay.cpp,decay.cin)
 CopyFile(table.cpp,table.cin)
 
-CppFileTarget(cojets.dat,cojets.cin,NullParameter,table.cin decay.cin)
+CppFileTarget(cojets.dat,cojets.s,-E -traditional,table.cin decay.cin)
 
 PackageDirFileTarget(cojets.dat)
 
diff -urNad cernlib-2005.05.09/src/mclibs/isajet/data/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mclibs/isajet/data/Imakefile
--- cernlib-2005.05.09/src/mclibs/isajet/data/Imakefile	1996-03-27 04:33:19.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/mclibs/isajet/data/Imakefile	2005-06-09 15:52:06.483069745 -0400
@@ -1,9 +1,9 @@
 
 .SUFFIXES:
 
-CopyFile(decay.cpp,decay.cin)
+CopyFile(decay.cpp,decay.s)
 
-CppFileTarget(isajet.dat,decay.cin,NullParameter,NullParameter)
+CppFileTarget(isajet.dat,decay.s,-E -traditional ,NullParameter)
 
 PackageDirFileTarget(isajet.dat)
 
diff -urNad cernlib-2005.05.09/src/packlib/cspack/sysreq/log.c /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/cspack/sysreq/log.c
--- cernlib-2005.05.09/src/packlib/cspack/sysreq/log.c	2003-09-02 08:47:16.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/cspack/sysreq/log.c	2005-06-09 15:52:06.483069745 -0400
@@ -80,7 +80,7 @@
 static int pid;                 /* process identifier                   */
 static int logfd ;              /* logging file descriptor              */
 #if !defined(SOLARIS) && !defined(linux) && !defined(_AIX) \
-  && !defined(IRIX5) && !defined(apollo)
+  && !defined(IRIX5) && !defined(apollo) && !defined(__DARWIN__)
 extern int syslog();
 #endif /* !SOLARIS && !IRIX5 && !apollo && !linux && !AIX */
 extern char *getenv();
diff -urNad cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c
--- cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c	2005-06-09 15:51:53.621804393 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c	2005-06-09 15:52:06.485069320 -0400
@@ -2569,7 +2569,7 @@
 #if !defined(IBM) && !defined(_WIN32)
 /* I provide "getpass" myself as standard version truncates to 8 characters */
 #include <sys/ioctl.h>
-#ifdef CBREAK
+#if defined(CBREAK) || defined(CERNLIB_MACOSX)
 #define BSDTTY         /* First find out if BSD or SYSV terminal handling.. */
 #endif
  
@@ -2577,6 +2577,10 @@
 #include <termio.h>
 #else
 #include <sgtty.h>
+# if defined(CERNLIB_MACOSX)
+# define gtty(x,y) ioctl(x,TIOCGETP,y)
+# define stty(x,y) ioctl(x,TIOCSETP,y)
+# endif
 #endif
  
 /* Fails with gcc 3.4.3
@@ -3540,3 +3544,20 @@
  
 }
 #endif
+
+#if defined(CERNLIB_MACOSX)
+  /* need to define cuserid() for OS X */
+
+char * getlogin();
+
+char *
+cuserid(char *string)
+{
+  static char cuserid_str[L_cuserid];
+  char *result = (string ? string : cuserid_str);
+  
+  strncpy(result, getlogin(), L_cuserid - 1);
+  result[L_cuserid - 1] = '\0';
+  return result;
+}
+#endif /* CERNLIB_MACOSX */
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernbit/z268/systems.c /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernbit/z268/systems.c
--- cernlib-2005.05.09/src/packlib/kernlib/kernbit/z268/systems.c	1998-08-25 08:45:56.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernbit/z268/systems.c	2005-06-09 15:52:06.485069320 -0400
@@ -200,7 +200,7 @@
 || defined(_IBMR2) \
 || defined(__convexc__) \
 || defined(_OSK) \
-|| defined(__linux) || defined(__FreeBSD__)
+|| defined(__linux) || defined(__FreeBSD__) || defined(__DARWIN__)
 
   void systems_( command, buf, buflen, l, chars, rc, ovflw )
 
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/d704fort/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/d704fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/d704fort/Imakefile	1996-06-12 06:03:53.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/d704fort/Imakefile	2005-06-09 15:52:06.485069320 -0400
@@ -4,6 +4,10 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_MACOSX)
+FDEBUGFLAGS=-O0 -fPIC
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/f002fort/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f002fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/f002fort/Imakefile	1996-06-12 06:04:09.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f002fort/Imakefile	2005-06-09 15:52:06.485069320 -0400
@@ -10,6 +10,10 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_MACOSX)
+FDEBUGFLAGS=-O0 -fPIC
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/f003fort/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f003fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/f003fort/Imakefile	1996-06-12 06:04:12.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f003fort/Imakefile	2005-06-09 15:52:06.486069107 -0400
@@ -11,6 +11,10 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_MACOSX)
+FDEBUGFLAGS=-O0 -fPIC
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/f004fort/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f004fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/f004fort/Imakefile	1996-06-12 06:04:16.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f004fort/Imakefile	2005-06-09 15:52:06.486069107 -0400
@@ -6,6 +6,10 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_MACOSX)
+FDEBUGFLAGS=-O0 -fPIC
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/f010fort/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f010fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/f010fort/Imakefile	1996-06-12 06:04:19.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f010fort/Imakefile	2005-06-09 15:52:06.486069107 -0400
@@ -7,6 +7,10 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_MACOSX)
+FDEBUGFLAGS=-O0 -fPIC
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 	 
 
diff -urNad cernlib-2005.05.09/src/packlib/kernlib/kernnum/f011fort/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f011fort/Imakefile
--- cernlib-2005.05.09/src/packlib/kernlib/kernnum/f011fort/Imakefile	1996-06-12 06:04:24.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kernlib/kernnum/f011fort/Imakefile	2005-06-09 15:52:06.486069107 -0400
@@ -7,6 +7,10 @@
 FDEBUGFLAGS=NoOpFortranDebugFlags
 #endif
 
+#if defined(CERNLIB_MACOSX)
+FDEBUGFLAGS=-O0 -fPIC
+#endif
+
 FORTRANSAVEOPTION=FortranSaveFlags
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/kuip/kuip/ksys.h /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kuip/kuip/ksys.h
--- cernlib-2005.05.09/src/packlib/kuip/kuip/ksys.h	1997-09-02 10:50:01.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/packlib/kuip/kuip/ksys.h	2005-06-09 15:52:06.487068895 -0400
@@ -188,6 +188,17 @@
 #endif
 
 
+#ifdef CERNLIB_MACOSX
+#  define MACOSX
+#  define MACHINE_NAME "MACOSX"
+#  define UNIX
+#  define HAVE_MEMMOVE
+#  define HAVE_STRCASECMP
+#  define HAVE_SELECT
+#  define MATCH_REGCOMP         /* use regcomp/regexec */
+#endif
+
+
 #ifdef MSDOS
 #  define MACHINE_NAME "IBMPC"
 #  define OS_NAME "MSDOS"
diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/csaddr.F /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/pawlib/comis/code/csaddr.F
--- cernlib-2005.05.09/src/pawlib/comis/code/csaddr.F	1996-02-26 12:16:25.000000000 -0500
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/pawlib/comis/code/csaddr.F	2005-06-09 15:52:06.487068895 -0400
@@ -26,7 +26,12 @@
       I=CSLTGP(IPVS)
       IF(I.GT.0)THEN
         IF(IFCS.EQ.0)THEN
+c     thanks to Keisuke Fujii for this patch for OS X
+#if defined(CERNLIB_MACOSX)
+          IADGP=CS_GET_FUNC('_'//NAME(1:NC)//'_')
+#else
           IADGP=CS_GET_FUNC(NAME(1:NC)//'_')
+#endif
           IF(IADGP.NE.0)THEN
             IFCS=-2
             CALL CSRTGP(I)
@@ -35,7 +40,11 @@
           ENDIF
         ENDIF
       ELSE
+#if defined(CERNLIB_MACOSX)
+        IADGP=CS_GET_FUNC('_'//NAME(1:NC)//'_')
+#else
         IADGP=CS_GET_FUNC(NAME(1:NC)//'_')
+#endif
         IF(IADGP.NE.0)THEN
           IFCS=-2
           ITYPGP=-2
diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F
--- cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F	2005-06-09 15:51:53.524825013 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/pawlib/comis/code/cscrexec.F	2005-06-09 15:57:50.699841388 -0400
@@ -82,11 +82,19 @@
       IF(FEXT.EQ.'.c')THEN
         L=LENOCC(CHCC)
 *                                 'cc -c .... -fPIC name.c'
+#if defined(CERNLIB_MACOSX)
+        CHLINE=CHCC(:L)//' -fPIC -fno-common '//NAME(:LN)// '.c'
+#else
         CHLINE=CHCC(:L)//' -fPIC '//NAME(:LN)// '.c'
+#endif
       ELSE
         L=LENOCC(CHF77)
 *                                 'f77 -c .... -fPIC name.f'
+#if defined(CERNLIB_MACOSX)
+        CHLINE=CHF77(:L)//' -fPIC -fno-common '//NAME(:LN)// '.f'
+#else
         CHLINE=CHF77(:L)//' -fPIC '//NAME(:LN)// '.f'
+#endif
       ENDIF
       L=LENOCC(CHLINE)
       WRITE(LUNOUT,'(A)')CHLINE(:L)
@@ -176,8 +184,15 @@
       ENDIF
 #endif
 #if defined(CERNLIB_LINUX)
+# if defined(CERNLIB_MACOSX)
+      CHLINE= 'g77 -bundle -bind_at_load -bundle_loader '
+     +        '`/usr/bin/which pawX11` -o '
+     +                    // NAME(:LN) //'.sl '// NAME(:LN) //'.o'
+C     thanks to Keisuke Fujii for the above compiler command      
+# else
       CHLINE=                   'g77 -shared -o '
      +                    // NAME(:LN) //'.sl '// NAME(:LN) //'.o'
+# endif
 #endif
 #if defined(CERNLIB_ALPHA_OSF)
         CHLINE=                   'ld -shared -o '
diff -urNad cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile	2002-04-25 06:20:11.000000000 -0400
+++ /tmp/dpep.kYNoLQ/cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile	2005-06-09 15:52:06.486069107 -0400
@@ -9,7 +9,7 @@
 EXTRA_LDOPTIONS=-Wl,-E
 #endif
 
-#if defined(CERNLIB_LINUX)
+#if defined(CERNLIB_LINUX) && !defined(CERNLIB_MACOSX)
 EXTRA_LDOPTIONS=-Wl,-E
 #endif
 


--- NEW FILE 318-additional-gcc-3.4-fixes.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 318-additional-gcc-3.4-fixes.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Additional fixes for gcc 3.4, courtesy of Andreas Jochens.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c /tmp/dpep.f5SU0N/cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c
--- cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c	2005-06-14 12:31:12.078969103 -0400
+++ /tmp/dpep.f5SU0N/cernlib-2005.05.09/src/packlib/cspack/tcpaw/tcpaw.c	2005-06-14 12:33:16.618251997 -0400
@@ -2405,6 +2405,7 @@
  */
 
 static  FILE *cfile;
+static  rnetrc(), token();
  
 ruserpass(host, aname, apass)
         char *host, **aname, **apass;
@@ -2592,6 +2593,8 @@
 /*** NOTE MAXPASSWD IS DEFINED AS 8 IN ALL STANDARD UNIX SYSTEMS, BUT THIS
  *** GIVES US PROBLEMS INTERWORKING WITH VMS AND CRAY-SECURID SYSTEMS. ***/
 #define MAXPASSWD     20       /* max significant characters in password */
+
+static void (*sig)(), catch();
  
 char *
 getpass(prompt)
@@ -2608,7 +2611,6 @@
         register int c;
         FILE    *fi;
         static char pbuf[ MAXPASSWD + 1 ];
-        void    (*sig)(), catch();
  
         if((fi = fopen("/dev/tty", "r")) == NULL)
                 return((char*)NULL);
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_motif/iconwidget.c /tmp/dpep.f5SU0N/cernlib-2005.05.09/src/packlib/kuip/code_motif/iconwidget.c
--- cernlib-2005.05.09/src/packlib/kuip/code_motif/iconwidget.c	1996-03-08 10:33:10.000000000 -0500
+++ /tmp/dpep.f5SU0N/cernlib-2005.05.09/src/packlib/kuip/code_motif/iconwidget.c	2005-06-14 12:33:43.511482468 -0400
@@ -31,7 +31,7 @@
 /* _Xm routine definitions  */
 void    _XmHighlightBorder ();
 void   _XmUnhighlightBorder ();
-void   _XmDrawShadow ();
+/* void   _XmDrawShadow (); */
 
 /* Motif1.1 ( except apollo, hpux has _XmPrimitive... with two args only
  * Gunter 30-jan-95


--- NEW FILE 700-remove-kernlib-from-packlib-Imakefile.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 700-remove-kernlib-from-packlib-Imakefile.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/Imakefile /tmp/dpep.VNPUUt/cernlib-2005.05.09/src/Imakefile
--- cernlib-2005.05.09/src/Imakefile	2005-06-10 16:46:36.495568752 -0400
+++ /tmp/dpep.VNPUUt/cernlib-2005.05.09/src/Imakefile	2005-06-10 16:50:33.508709032 -0400
@@ -2,7 +2,7 @@
 #define PassCDebugFlags
 
 
-LIBDIRS= packlib pawlib graflib mathlib geant321 mclibs phtools
+LIBDIRS= kernlib packlib pawlib graflib mathlib geant321 mclibs phtools
 
 SUBDIRS= $(LIBDIRS) patchy cfortran
 
@@ -23,5 +23,5 @@
 DelegateTarget(bin/kuipc,packlib)
 
 DelegateTarget(lib/packlib,packlib)
-DelegateTarget(lib/kernlib,packlib)
+DelegateTarget(lib/kernlib,kernlib)
 
diff -urNad cernlib-2005.05.09/src/packlib/Imakefile /tmp/dpep.VNPUUt/cernlib-2005.05.09/src/packlib/Imakefile
--- cernlib-2005.05.09/src/packlib/Imakefile	1997-10-02 10:09:19.000000000 -0400
+++ /tmp/dpep.VNPUUt/cernlib-2005.05.09/src/packlib/Imakefile	2005-06-10 16:48:25.928085636 -0400
@@ -4,7 +4,7 @@
 
 
 LIBDIRS= cspack epio fatmen ffread hbook hepdb kapack kuip \ @@\
-	 minuit zbook zebra kernlib
+	 minuit zbook zebra
 
 SUBDIRS= $(LIBDIRS)
 
@@ -17,14 +17,10 @@
 
 TestSubdirs($(LIBDIRS))
 
-#ifndef CERNLIB_VAXVMS
-
-InstallLibSubdirs(kernlib)
-
-#else
+#ifdef CERNLIB_VAXVMS
 
 SUBDIRS := $(SUBDIRS) vmslibfiles
-InstallLibSubdirs(kernlib vmslibfiles)
+InstallLibSubdirs(vmslibfiles)
 
 #endif
 


--- NEW FILE 701-patch-hbook-comis-Imakefiles.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 701-patch-hbook-comis-Imakefiles.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix up makefiles after moving hkfill.F and hkf1q.F in the other
## DP: 701 dpatch (a shell script).

@DPATCH@
diff -urNad cernlib-2005.05.09/src/packlib/hbook/code/Imakefile /tmp/dpep.3VyhWr/cernlib-2005.05.09/src/packlib/hbook/code/Imakefile
--- cernlib-2005.05.09/src/packlib/hbook/code/Imakefile	1997-09-02 09:09:01.000000000 -0400
+++ /tmp/dpep.3VyhWr/cernlib-2005.05.09/src/packlib/hbook/code/Imakefile	2005-06-10 17:04:08.866020136 -0400
@@ -19,8 +19,8 @@
 	hgn.F hgnf.F hgnpar.F hgstat.F hhipar.F hhxye.F hi.F \ @@\
 	hictoi.F hid1.F hid2.F hidall.F hidopt.F hidpos.F hie.F  \ @@\
 	hif.F hij.F hije.F hijxy.F hindex.F hinprx.F hinteg.F  \ @@\
-	hipak1.F histdo.F histgo.F hix.F hkf1.F hkf1q.F hkf2.F  \ @@\
-	hkff1.F hkff2.F hkffi1.F hkfi1.F hkfil2.F hkfill.F hkfilpf.F \ @@\
+	hipak1.F histdo.F histgo.F hix.F hkf1.F         hkf2.F  \ @@\
+	hkff1.F hkff2.F hkffi1.F hkfi1.F hkfil2.F          hkfilpf.F \ @@\
 	hkind.F hknul1.F hknuli.F hlabel.F hlabeq.F hlabnb.F \ @@\
 	hlattr.F hlccmp.F hldir.F hldir1.F hldir2.F hldirt.F \ @@\
 	hlgnxt.F hlhcmp.F hlimit.F hllsq.F hlnext.F hlocat.F \ @@\
diff -urNad cernlib-2005.05.09/src/pawlib/comis/code/Imakefile /tmp/dpep.3VyhWr/cernlib-2005.05.09/src/pawlib/comis/code/Imakefile
--- cernlib-2005.05.09/src/pawlib/comis/code/Imakefile	2005-06-10 17:02:24.843306185 -0400
+++ /tmp/dpep.3VyhWr/cernlib-2005.05.09/src/pawlib/comis/code/Imakefile	2005-06-10 17:05:09.955931988 -0400
@@ -37,7 +37,8 @@
 	csspar.F cssubr.F cssvpt.F cstadv.F cstarr.F csterr.F cstext.F \ @@\
 	cstfrf.F cstinf.F cstlgb.F cstlog.F cstpar.F cstran.F cstrer.F \ @@\
 	cstypar.F cstype.F csubad.F csunam.F csundf.F csxpar.F \ @@\
-	mcline.F mcsident.F
+	mcline.F mcsident.F \ @@\
+	hkfill.F hkf1q.F /* moved here from src/packlib/hbook/code */
 
 #if defined(CERNLIB_PAW)
 SRCS_F := $(SRCS_F) cspawi.F cskuix.F cktoiv.F cspawv.F csmkvd.F \ @@\


--- NEW FILE 702-patch-Imakefiles-for-packlib-mathlib.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 702-patch-Imakefiles-for-packlib-mathlib.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Hacks to Imakefiles to go along with the 702 shellscript for moving
## DP: files around.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/mathlib/gen/d/Imakefile /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/gen/d/Imakefile
--- cernlib-2005.05.09/src/mathlib/gen/d/Imakefile	2005-06-10 22:19:15.720962444 -0400
+++ /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/gen/d/Imakefile	2005-06-10 22:24:26.783925145 -0400
@@ -1,6 +1,8 @@
 DoIncludePackage(gen)
 #include "pilot.h"
 
+/* rgmlt*.F have been moved into packlib/hbook to remove circular dependencies.
+   --Kevin McCarty, for Debian. */
 SRCS_F=	arithm.F c128.F c256.F c512.F c64.F cauchy64.F cft.F cfstft.F \ @@\
 	rfstft.F cgauss.F d107d1.F d107r1.F d501l1.F d501l2.F d501n1.F \ @@\
         d501n2.F d501p1.F d501p2.F d501sf.F d700su.F d701bd.F \ @@\
@@ -10,14 +12,14 @@
         epditr.F epdje.F epdloc.F epdsrt.F epdtab.F errorf.F esolve.F \ @@\
 	fcn1.F fftrc.F fumili.F gauss.F i128.F i32.F i64.F linsq.F \ @@\
 	mconv.F mft.F minfc.F minsq.F monito.F newro.F old506.F radapt.F \ @@\
-	radmul.F rca.F rfrdh164.F rfrdh264.F rft.F rgmlt64.F rgquad.F \ @@\
+	radmul.F rca.F rfrdh164.F rfrdh264.F rft.F           rgquad.F \ @@\
 	rgs56p.F rgset.F riwiad.F riwibd.F rknys64.F rknysd.F rkstp.F \ @@\
 	rpa.F rps.F rrkstp.F rsa.F rtriint.F s128.F s256.F s512.F \ @@\
 	s64.F scal.F sgz.F simps.F synt.F traper.F triint.F vd01a.F
 
 #if defined(CERNLIB_DOUBLE)
 SRCS_F:= $(SRCS_F) cgauss64.F dgquad.F dgset.F gauss64.F minfc64.F \ @@\
-	rcauch.F rdeqbs.F rdeqmr.F rderiv.F rfrdh1.F rgmlt.F rkstp64.F \ @@\
+	rcauch.F rdeqbs.F rdeqmr.F rderiv.F rfrdh1.F         rkstp64.F \ @@\
 	simps64.F triint64.F 
 #if defined(CERNLIB_LINUX)
 /* -O3 optimization breaks in g77 3.2 */
@@ -26,7 +28,7 @@
 #endif
 #else
 SRCS_F:= $(SRCS_F) cgauss128.F cauchy.F cauchy128.F deqbs128.F deqmr128.F \ @@\
-	deriv128.F minfc128.F rfrdh128.F rgmlt128.F rkstp128.F simps128.F \ @@\
+	deriv128.F minfc128.F rfrdh128.F            rkstp128.F simps128.F \ @@\
 	triint128.F 
 #endif
 
diff -urNad cernlib-2005.05.09/src/mathlib/gen/Imakefile /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/gen/Imakefile
--- cernlib-2005.05.09/src/mathlib/gen/Imakefile	1996-10-02 12:09:45.000000000 -0400
+++ /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/gen/Imakefile	2005-06-10 22:20:55.683416711 -0400
@@ -8,7 +8,8 @@
 IMAKE_DEFINES=-DFortranDoesCpp=NO
 #endif
 
-LIBDIRS= a b c d divon e f g h j m n s u v x
+/* "n" subdir moved to packlib/hbook/  --Kevin McCarty, for Debian */
+LIBDIRS= a b c d divon e f g h j m   s u v x
 
 SUBDIRS= $(LIBDIRS) gen tests
 
diff -urNad cernlib-2005.05.09/src/mathlib/hbook/Imakefile /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/hbook/Imakefile
--- cernlib-2005.05.09/src/mathlib/hbook/Imakefile	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/hbook/Imakefile	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,12 @@
+/* this Imakefile used to get hdiff to compile within the mathlib tree */
+
+#define IHaveSubdirs
+#define PassCDebugFlags
+
+LIBDIRS= hdiff
+SUBDIRS= $(LIBDIRS) hbook
+
+TopOfPackage(hbook)
+SubdirLibraryTarget(hbook,$(LIBDIRS))
+DoIncludePackage(hbook)
+InstallIncludeSubdirs(hbook)
diff -urNad cernlib-2005.05.09/src/mathlib/Imakefile /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/Imakefile
--- cernlib-2005.05.09/src/mathlib/Imakefile	2005-06-10 22:19:15.834937877 -0400
+++ /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/mathlib/Imakefile	2005-06-10 22:20:05.279280394 -0400
@@ -3,7 +3,7 @@
 #define PassCDebugFlags 
 
 
-LIBDIRS= gen bvsl
+LIBDIRS= gen bvsl hbook /* hdiff stuff moved from packlib */
 
 /* Lapack is independent of Cernlib and should be installed as one of
    the build dependencies.
diff -urNad cernlib-2005.05.09/src/packlib/hbook/d/Imakefile /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/packlib/hbook/d/Imakefile
--- cernlib-2005.05.09/src/packlib/hbook/d/Imakefile	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/packlib/hbook/d/Imakefile	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,25 @@
+/* this Imakefile is used to get some things from mathlib/gen/d to compile
+   within the packlib/hbook tree */
+
+DoIncludePackage(gen)
+#include "pilot.h"
+
+SRCS_F=	rgmlt64.F
+
+#if defined(CERNLIB_DOUBLE)
+SRCS_F:= $(SRCS_F) rgmlt.F
+#else
+SRCS_F:= $(SRCS_F) rgmlt128.F
+#endif
+
+#ifdef CERNLIB_HPUX
+FORTRANOPTIONS += -WF,-P
+#endif
+
+#if defined(CERNLIB_SGI)
+IMAKE_DEFINES=-DFortranDoesCpp=NO
+#endif
+
+FORTRANSAVEOPTION = FortranSaveFlags
+
+SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/packlib/hbook/Imakefile /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/packlib/hbook/Imakefile
--- cernlib-2005.05.09/src/packlib/hbook/Imakefile	1997-04-28 04:21:23.000000000 -0400
+++ /tmp/dpep.aVAPwe/cernlib-2005.05.09/src/packlib/hbook/Imakefile	2005-06-10 22:26:27.063010420 -0400
@@ -2,7 +2,9 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
-LIBDIRS= hdiff hmerge hquad chbook fpclassc \ @@\
+/* hdiff moved to mathlib to avoid circular DLL dependencies; "d" and "n"
+   moved here from mathlib for the same reasons */
+LIBDIRS= d n   hmerge hquad chbook fpclassc \ @@\
 	 hrz code hmcstat hntup
 
 #ifdef CERNLIB_VAX


--- NEW FILE 703-patch-code_motif-packlib-Imakefiles.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 703-patch-code_motif-packlib-Imakefiles.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix up Imakefiles, etc. so that code_motif becomes a separate library
## DP: after moving it around in the patch 703 shell script.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/code_motif/Imakefile /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/code_motif/Imakefile
--- cernlib-2005.05.09/src/code_motif/Imakefile	1996-12-10 10:20:59.000000000 -0500
+++ /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/code_motif/Imakefile	2005-06-12 10:31:56.480928814 -0400
@@ -10,8 +10,10 @@
 	kuxxt.c mkdcmp.c mkdgra.c mkdpan.c mkmpan.c mkuip.c
 
 MotifDependantMakeVar(SRCS_C,$(MOTIF_SRCS_C))
-	
+
+/* Commented out since kmutil.c has been moved to packlib/kuip/code_kuip
 SRCS_C:= $(SRCS_C) kmutil.c
+*/
 
 #if defined(CERNLIB_VAXVMS)
 
@@ -22,4 +24,10 @@
  
 PACKAGE_INCLUDES := $(PACKAGE_INCLUDES) MotifIncludes X11Includes
 
-SubdirLibraryTarget(NullParameter,NullParameter)
+/* Top of package boilerplate to split this out as a separate library */
+
+TopOfPackage(packlib-lesstif)
+
+SubdirLibraryTarget(packlib-lesstif,NullParameter) 
+
+InstallLibrary(packlib-lesstif,$(CERN_LIBDIR))
diff -urNad cernlib-2005.05.09/src/Imakefile /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/Imakefile
--- cernlib-2005.05.09/src/Imakefile	2005-06-12 10:31:54.221414133 -0400
+++ /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/Imakefile	2005-06-12 10:32:20.947673659 -0400
@@ -2,7 +2,7 @@
 #define PassCDebugFlags
 
 
-LIBDIRS= kernlib packlib pawlib graflib mathlib geant321 mclibs phtools
+LIBDIRS= kernlib packlib code_motif pawlib graflib mathlib geant321 mclibs phtools
 
 SUBDIRS= $(LIBDIRS) patchy cfortran
 
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile
--- cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile	1999-11-24 04:52:07.000000000 -0500
+++ /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile	2005-06-12 10:31:56.480928814 -0400
@@ -3,7 +3,9 @@
 SRCS_C=	getline.c kalias.c kbrow.c kedit.c kexec.c khash.c kicon.c \ @@\
 	kienbr.c kipiaf.c kkern.c kmacro.c kmath.c kmenu.c kmisc.c \ @@\
 	kmodel.c kmterm.c kuinit.c kutrue.c kuvers.c kuwhag.c	   \ @@\
-	kuwhat.c kvect.c
+	kuwhat.c kvect.c \ @@\
+	kmutil.c
+	/* ^^ moved here from code_motif.  --Kevin McCarty */
 
 #ifdef CERNLIB_WINNT
 SRCS_C :=$(SRCS_C) kmutil0.c
diff -urNad cernlib-2005.05.09/src/packlib/kuip/Imakefile /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/packlib/kuip/Imakefile
--- cernlib-2005.05.09/src/packlib/kuip/Imakefile	1997-11-28 12:26:56.000000000 -0500
+++ /tmp/dpep.mcTNBz/cernlib-2005.05.09/src/packlib/kuip/Imakefile	2005-06-12 10:31:56.480928814 -0400
@@ -4,11 +4,14 @@
 
 LIBDIRS= code_kuip 
 
+/* Commented out so that code_motif gives a separate shared library
+ * --Kevin McCarty
 #ifndef CERNLIB_WINNT
 LIBDIRS := $(LIBDIRS) code_motif
 #else
 LIBDIRS := $(LIBDIRS) code_windows
 #endif
+*/
 
 SUBDIRS= $(LIBDIRS) programs examples kuip
 


--- NEW FILE 704-patch-code_kuip-higzcc-Imakefiles.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 704-patch-code_kuip-higzcc-Imakefiles.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Patch Imakefiles after moving kuwhag.c from packlib to grafX11.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/graflib/higz/higzcc/Imakefile /tmp/dpep.IDWarm/cernlib-2005.05.09/src/graflib/higz/higzcc/Imakefile
--- cernlib-2005.05.09/src/graflib/higz/higzcc/Imakefile	1998-11-16 04:36:53.000000000 -0500
+++ /tmp/dpep.IDWarm/cernlib-2005.05.09/src/graflib/higz/higzcc/Imakefile	2005-06-13 09:45:37.637201936 -0400
@@ -1,7 +1,7 @@
 DoIncludePackage(higz)
 #include "pilot.h"
 
-SRCS_C=	igvers.c
+SRCS_C=	igvers.c kuwhag.c /* <-- moved here from packlib/kuip/code_kuip */
 
 #if defined(CERNLIB_FALCO) && !defined(CERNLIB_VAX)
 SRCS_C := $(SRCS_C) falint.c 
diff -urNad cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile /tmp/dpep.IDWarm/cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile
--- cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile	2005-06-13 09:44:00.536042728 -0400
+++ /tmp/dpep.IDWarm/cernlib-2005.05.09/src/packlib/kuip/code_kuip/Imakefile	2005-06-13 09:44:41.448261682 -0400
@@ -2,7 +2,7 @@
 
 SRCS_C=	getline.c kalias.c kbrow.c kedit.c kexec.c khash.c kicon.c \ @@\
 	kienbr.c kipiaf.c kkern.c kmacro.c kmath.c kmenu.c kmisc.c \ @@\
-	kmodel.c kmterm.c kuinit.c kutrue.c kuvers.c kuwhag.c	   \ @@\
+	kmodel.c kmterm.c kuinit.c kutrue.c kuvers.c         	   \ @@\
 	kuwhat.c kvect.c \ @@\
 	kmutil.c
 	/* ^^ moved here from code_motif.  --Kevin McCarty */


--- NEW FILE 705-patch-paw_motif-paw-Imakefiles.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 705-patch-paw_motif-paw-Imakefiles.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/Imakefile
--- cernlib-2005.05.09/src/Imakefile	2005-06-13 16:04:27.418461884 -0400
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/Imakefile	2005-06-13 16:04:48.698899728 -0400
@@ -2,7 +2,7 @@
 #define PassCDebugFlags
 
 
-LIBDIRS= kernlib packlib code_motif pawlib graflib mathlib geant321 mclibs phtools
+LIBDIRS= kernlib packlib code_motif pawlib paw_motif graflib mathlib geant321 mclibs phtools
 
 SUBDIRS= $(LIBDIRS) patchy cfortran
 
diff -urNad cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile	1999-08-31 04:47:07.000000000 -0400
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/cdf/Imakefile	2005-06-13 16:05:01.263206159 -0400
@@ -1,6 +1,6 @@
 #define IHaveCDF
 
-SRCS_CDF= pawcdf.cdf pamcdf.cdf mlpdef.cdf
+SRCS_CDF= pawcdf.cdf            mlpdef.cdf
 
 #ifdef CERNLIB_IBMRT
 /* Otherwise cc dies with internal compiler error on pawcdf. 
diff -urNad cernlib-2005.05.09/src/pawlib/paw/code/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/code/Imakefile	2005-06-13 16:04:26.689618135 -0400
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/code/Imakefile	2005-06-13 16:04:33.962059051 -0400
@@ -11,8 +11,8 @@
 	pautit.F pavect.F paw.F pawbrk.F pawdef.F pawfca.F \ @@\
 	pawfitz.F pawfop.F pawfu1.F pawfu2.F \ @@\
 	pawfu3.F pawfud.F pawfun.F pawfuy.F pawild.F pawins.F pawint.F \ @@\
-	pawint1.F pawint2.F pawint3.F pawint4.F pawintm.F \ @@\
-	pawjoj.F pawloc.F pawork.F pawpp.F pawrit.F pawrop.F \ @@\
+	pawint1.F pawint2.F pawint3.F pawint4.F           \ @@\
+	pawjoj.F pawloc.F pawork.F         pawrit.F pawrop.F \ @@\
 	pawsim.F pawusr.F pawuwf.F paxcut.F pazdz.F pazfz.F pazrz.F \ @@\
 	pchain.F pchclo.F pchncd.F pchrop.F pcnext.F pfclos.F \ @@\
 	pfhigz.F pfindc.F pfindf.F pfindf1.F pfindv.F pfinit.F pflog.F \ @@\
diff -urNad cernlib-2005.05.09/src/pawlib/paw/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/Imakefile	2000-06-27 11:27:03.000000000 -0400
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/pawlib/paw/Imakefile	2005-06-13 16:04:33.962059051 -0400
@@ -9,6 +9,9 @@
 
 LIBDIRS= code cpaw cdf ntuple mlpfit
 
+/* Comment out this whole section; Motif code has been moved to
+   paw_motif at top level.  -- Kevin McCarty */
+#if 0
 #ifndef CERNLIB_WINNT
 LIBDIRS :=$(LIBDIRS) $(MOTIF_DIRS) $(PAWPP_DIRS)
 #endif
@@ -22,6 +25,7 @@
 MotifDependantMakeVar(PAWPP_DIRS,xbaevms)
 LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS)
 #endif
+#endif
 
 SUBDIRS= $(LIBDIRS) programs piafs hbpiaf stagerd paw
 
diff -urNad cernlib-2005.05.09/src/paw_motif/cdf/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/cdf/Imakefile
--- cernlib-2005.05.09/src/paw_motif/cdf/Imakefile	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/cdf/Imakefile	2005-06-13 16:04:33.963058837 -0400
@@ -0,0 +1,5 @@
+#define IHaveCDF
+
+SRCS_CDF= pamcdf.cdf
+
+SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/paw_motif/code/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/code/Imakefile
--- cernlib-2005.05.09/src/paw_motif/code/Imakefile	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/code/Imakefile	2005-06-13 16:04:33.963058837 -0400
@@ -0,0 +1,7 @@
+SRCS_F=	pawintm.F pawpp.F
+
+DoIncludePackage(paw)
+#include "pilot.h"
+
+SubdirLibraryTarget(NullParameter,NullParameter)
+
diff -urNad cernlib-2005.05.09/src/paw_motif/Imakefile /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/Imakefile
--- cernlib-2005.05.09/src/paw_motif/Imakefile	2000-06-27 11:27:03.000000000 -0400
+++ /tmp/dpep.Rec1V8/cernlib-2005.05.09/src/paw_motif/Imakefile	2005-06-13 16:04:33.963058837 -0400
@@ -7,7 +7,7 @@
 MotifDependantMakeVar(MOTIF_DIRS,cmotif fmotif fpanelsc)
 MotifDependantMakeVar(PAWPP_DIRS,fpanelsf tree uimx)
 
-LIBDIRS= code cpaw cdf ntuple mlpfit
+LIBDIRS= code cdf
 
 #ifndef CERNLIB_WINNT
 LIBDIRS :=$(LIBDIRS) $(MOTIF_DIRS) $(PAWPP_DIRS)
@@ -23,19 +23,11 @@
 LIBDIRS := $(LIBDIRS) $(PAWPP_DIRS)
 #endif
 
-SUBDIRS= $(LIBDIRS) programs piafs hbpiaf stagerd paw
-
-#if defined CERNLIB_WINNT
-SUBDIRS := $(LIBDIRS) programs
-#endif
-
-TopOfPackage(paw)
-
-SubdirLibraryTarget(paw,$(LIBDIRS))
+SUBDIRS= $(LIBDIRS)
 
-InstallBinSubdirs(programs)
+TopOfPackage(pawlib-lesstif)
 
-TestSubdirs(test)
+SubdirLibraryTarget(pawlib-lesstif,$(LIBDIRS))
 
-InstallIncludeSubdirs(paw)
+InstallLibrary(pawlib-lesstif,$(CERN_LIBDIR))
 


--- NEW FILE 800-implement-shared-library-rules-in-Imake.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 800-implement-shared-library-rules-in-Imake.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Implement macros for shared libraries on Linux in the Imake cfg files.

@DPATCH@
diff -urNad cernlib-2005.05.09.dfsg~/src/config/Imake.rules cernlib-2005.05.09.dfsg/src/config/Imake.rules
--- cernlib-2005.05.09.dfsg~/src/config/Imake.rules	2005-11-29 17:07:32.035570303 +0000
+++ cernlib-2005.05.09.dfsg/src/config/Imake.rules	2005-11-29 17:07:40.003888782 +0000
@@ -904,6 +904,8 @@
  * InstallSharedLibrary - generate rules to install the indicated sharable 
  * Library
  */
+/* Commented out because this appears to be overriding the definition
+ * in lnxLib.rules --Kevin McCarty, 16 May 2002
 #undef InstallSharedLibrary
 #ifndef InstallSharedLibrary
 #define InstallSharedLibrary(libname,rev,dest)				@@\
@@ -917,7 +919,8 @@
 	$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS)  $< $@		@@\
 	RemoveFile($<)							@@\
 	$(LN) $@ $<
-#endif /* InstallSharedLibrary */
+#endif InstallSharedLibrary
+*/
 
 /*
  * InstallLinkKitLibrary - rule to install Link Kit library.
@@ -1963,6 +1966,15 @@
 #endif /* InstallSubdirs */
 
 /*
+ * InstallSharedLibSubdirs - generate rules to recursively install shared
+ * libraries.  Added by Kevin McCarty for Debian, 15 May 2002
+ */
+#ifndef InstallSharedLibSubdirs
+#define InstallSharedLibSubdirs(dirs) \
+NamedTargetSubdirs(install.shlib,dirs,"installing",DESTDIR=$(DESTDIR),install.shlib)
+#endif /* InstallSharedLibSubdirs */
+
+/*
  * InstallBinSubdirs - generate rules to recursively install programs and
  *		       scripts
  */
@@ -2341,9 +2353,12 @@
  */
 #ifndef DefinePackageLibrary
 #define DefinePackageLibrary(locallib) \
+/* commented out since these will be .so files. -Kevin */		@@\
+/*									@@\
 ifeq ($(strip $(PACKAGE_LIB)),)						@@\
 PACKAGE_LIB=$(TOP)$(PACKAGETOP)/LibraryTargetName($(PACKAGE_NAME))	@@\
 endif									@@\
+*/									@@\
 ifneq (locallib,)							@@\
 override PACKAGE_LIB:= LibraryTargetName(locallib) $(PACKAGE_LIB)	@@\
 									@@\
diff -urNad cernlib-2005.05.09.dfsg~/src/config/biglib.rules cernlib-2005.05.09.dfsg/src/config/biglib.rules
--- cernlib-2005.05.09.dfsg~/src/config/biglib.rules	2000-04-19 10:51:01.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/config/biglib.rules	2005-11-29 17:09:29.336812562 +0000
@@ -227,7 +227,7 @@
 	RanLibrary($@)
 #endif
 
-#if defined(HPArchitecture)
+#if defined(HPArchitecture) && !defined(LinuxArchitecture)
 
 #ifndef SharedLibraryTargetName
 #define SharedLibraryTargetName(name)Concat(lib,name.sl)
@@ -264,7 +264,7 @@
 	@date
 #endif
 
-#elif defined(AlphaArchitecture)
+#elif defined(AlphaArchitecture) && !defined(LinuxArchitecture)
 
 #ifndef SharedLibraryTargetName
 #define SharedLibraryTargetName(name)Concat(lib,name.so)
@@ -281,6 +281,41 @@
 	@date
 #endif
 
+#elif defined(LinuxArchitecture) /* added by Kevin McCarty
+				    for Debian, 15 May 2002 */
+#ifndef SharedLibraryTargetName
+#define SharedLibraryTargetName(name)Concat(lib,name.so.$(LIB_SONAME).$(CERN_LEVEL))
+#endif
+
+#ifndef SharedLibraryBuild
+#define SharedLibraryBuild(libname,version)				@@\
+SharedLibraryTargetName(libname): version/objects.list			@@\
+	@echo rebuild version library $@ in $(CURRENT_DIR)		@@\
+	@$(RM) $@							@@\
+	@date								@@\
+	@$(FCLINK) -shared -Wl,-soname=Concat(lib,libname.so.$(LIB_SONAME))\ @@\
+		-o $@ `cat version/objects.list` `cernlib -v "" -dy libname\ @@\
+		| sed s/Concat(-l,libname)//g`				@@\
+	@date
+#endif
+
+#elif defined(DarwinArchitecture) /* added by Kevin McCarty
+				      for fink, 10 May 2003 */
+#ifndef SharedLibraryTargetName
+#define SharedLibraryTargetName(name)Concat(lib,name.$(LIB_SONAME).$(CERN_LEVEL).dylib)
+#endif
+
+#ifndef SharedLibraryBuild
+#define SharedLibraryBuild(libname,version)				@@\
+SharedLibraryTargetName(libname): version/objects.list			@@\
+	@echo rebuild version library $@ in $(CURRENT_DIR)		@@\
+	@$(RM) $@							@@\
+	@/usr/bin/libtool -dynamic -o $@ -compatibility_version $(LIB_SONAME) \ @@\
+		`cat version/objects.list` `cernlib -v "" -dy libname	\ @@\
+		| sed s/Concat(-l,libname)//g`				@@\
+	@date
+#endif
+
 #elif 1 
 #ifndef SharedLibraryBuild
 #define SharedLibraryBuild(libname,version)				@@\
diff -urNad cernlib-2005.05.09.dfsg~/src/config/lnxLib.rules cernlib-2005.05.09.dfsg/src/config/lnxLib.rules
--- cernlib-2005.05.09.dfsg~/src/config/lnxLib.rules	1995-12-20 15:26:45.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/config/lnxLib.rules	2005-11-29 17:07:40.004888571 +0000
@@ -43,6 +43,9 @@
 #ifndef PositionIndependentCplusplusFlags
 #define PositionIndependentCplusplusFlags -fPIC
 #endif
+#ifndef PositionIndependentFortranFlags
+#define PositionIndependentFortranFlags -fPIC
+#endif
 
 /*
  * InstallSharedLibrary - generate rules to install the shared library.
@@ -50,13 +53,20 @@
  */
 #ifndef InstallSharedLibrary
 #define	InstallSharedLibrary(libname,rev,dest)				@@\
-install:: Concat(lib,libname.so.rev) 					@@\
+.PHONY: install.shlib shlib/libname					@@\
+shlib/libname:: $(DESTDIR)dest/SharedLibraryTargetName(libname)		@@\
+									@@\
+install.shlib:: $(DESTDIR)dest/SharedLibraryTargetName(libname)		@@\
+									@@\
+$(DESTDIR)dest/SharedLibraryTargetName(libname): SharedLibraryTargetName(libname) @@\
 	MakeDir($(DESTDIR)dest)						@@\
-	$(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+	$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
 	(T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\.[^\.]*$$//'`;\
 		$(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T)	@@\
 	$(RM) Concat($(DESTDIR)dest/lib,libname.so)			@@\
-	$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
+	$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so) @@\
+	$(RM) $<                                                        @@\
+	$(LN) $@ $<
 #endif /* InstallSharedLibrary */
 
 /*


--- NEW FILE 801-non-optimized-rule-uses-fPIC-g.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 801-non-optimized-rule-uses-fPIC-g.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Ensure that special rules for creating non-optimized object files
## DP: use -fPIC for files that go into shared libs, and -g for all files.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/config/fortran.rules /tmp/dpep.gResDB/cernlib-2005.05.09/src/config/fortran.rules
--- cernlib-2005.05.09/src/config/fortran.rules	1997-05-30 12:25:18.000000000 -0400
+++ /tmp/dpep.gResDB/cernlib-2005.05.09/src/config/fortran.rules	2005-06-09 10:37:19.092244331 -0400
@@ -345,9 +345,9 @@
 
 #ifndef SpecialFortranLibObjectRule
 #define SpecialFortranLibObjectRule(baseobj,basedep,options,cppoptions)	@@\
-SpecialFortranArchiveObjectRule(baseobj,basedep,options,cppoptions)	@@\
-SpecialFortranSharedObjectRule(baseobj,basedep,options,cppoptions)	@@\
-SpecialFortranDebugObjectRule(baseobj,basedep,options,cppoptions)
+SpecialFortranArchiveObjectRule(baseobj,basedep,options -g,cppoptions)	    @@\
+SpecialFortranSharedObjectRule(baseobj,basedep,options -g -fPIC,cppoptions) @@\
+SpecialFortranDebugObjectRule(baseobj,basedep,options -g,cppoptions)
 #endif
 
 #ifndef SpecialFortranArchiveObjectRule
diff -urNad cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile /tmp/dpep.gResDB/cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile
--- cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile	1996-09-23 10:20:46.000000000 -0400
+++ /tmp/dpep.gResDB/cernlib-2005.05.09/src/paw_motif/fmotif/Imakefile	2005-06-09 10:37:55.631538119 -0400
@@ -3,7 +3,7 @@
 	plotisto.F pmhist.F pminit.F show_chain.F
 
 #ifdef CERNLIB_LINUX
-FORTRANOPTIONS = -fno-backslash  $(FORTRANSAVEOPTION) -fno-second-underscore
+FORTRANOPTIONS = -g -fno-backslash  $(FORTRANSAVEOPTION) -fno-second-underscore
 #endif
 
 SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile /tmp/dpep.gResDB/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile	1999-09-14 05:20:08.000000000 -0400
+++ /tmp/dpep.gResDB/cernlib-2005.05.09/src/pawlib/paw/ntuple/Imakefile	2005-06-09 10:40:47.421285771 -0400
@@ -46,8 +46,8 @@
 
 SubdirLibraryTarget(NullParameter,NullParameter)
 
-#if defined(CERNLIB_LINUX) && defined(CERNLIB_POWERPC)
-SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -o $@)
-SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -o $@)
-SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -o $@)
+#if defined(CERNLIB_LINUX)
+SpecialObjectRule(archive/qp_execute.o,qp_execute.c archive/qp_execute.d,-O0 -g -o $@)
+SpecialObjectRule(debug/qp_execute.o,qp_execute.c debug/qp_execute.d,-O0 -g -o $@)
+SpecialObjectRule(shared/qp_execute.o,qp_execute.c shared/qp_execute.d,-O0 -g -fPIC -o $@)
 #endif


--- NEW FILE 802-create-shared-libraries.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 802-create-shared-libraries.dpatch by  <kmccarty at debian.org>
##
## 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
@@ -2,7 +2,7 @@
 #define PassCDebugFlags
 
 
-LIBDIRS= kernlib packlib code_motif pawlib paw_motif graflib mathlib geant321 mclibs phtools
+LIBDIRS= kernlib packlib mathlib graflib code_motif mclibs phtools pawlib paw_motif geant321
 
 SUBDIRS= $(LIBDIRS) patchy cfortran
 
@@ -15,6 +15,7 @@
 #endif
 
 InstallLibSubdirs($(LIBDIRS))
+InstallSharedLibSubdirs($(LIBDIRS))
 
 INCLUDEDIRS= $(LIBDIRS) cfortran
 
diff -urNad cernlib-2005.05.09.dfsg~/src/code_motif/Imakefile cernlib-2005.05.09.dfsg/src/code_motif/Imakefile
--- cernlib-2005.05.09.dfsg~/src/code_motif/Imakefile	2005-12-01 15:19:24.062295137 +0000
+++ cernlib-2005.05.09.dfsg/src/code_motif/Imakefile	2005-12-01 15:19:31.186783665 +0000
@@ -31,3 +31,4 @@
 SubdirLibraryTarget(packlib-lesstif,NullParameter) 
 
 InstallLibrary(packlib-lesstif,$(CERN_LIBDIR))
+InstallSharedLibrary(packlib-lesstif,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
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)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/graflib/Imakefile cernlib-2005.05.09.dfsg/src/graflib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/graflib/Imakefile	2001-12-11 15:06:28.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/graflib/Imakefile	2005-12-01 15:19:31.186783665 +0000
@@ -11,9 +11,12 @@
 
 SubdirLibraryTarget(graflib,$(LIBDIRS))
 
-InstallLibrary(graflib,$(CERN_LIBDIR))
-
 InstallLibSubdirs(higz)
+InstallSharedLibSubdirs(higz)
+
+/* these lines follow the above because graflib depends on grafX11 */
+InstallLibrary(graflib,$(CERN_LIBDIR))
+InstallSharedLibrary(graflib,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs(higz)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/graflib/higz/Imakefile cernlib-2005.05.09.dfsg/src/graflib/higz/Imakefile
--- cernlib-2005.05.09.dfsg~/src/graflib/higz/Imakefile	1997-09-02 13:34:47.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/graflib/higz/Imakefile	2005-12-01 15:19:31.186783665 +0000
@@ -13,6 +13,7 @@
 SubdirLibraryTarget(grafX11,$(LIBDIRS))
 
 InstallLibrary(grafX11,$(CERN_LIBDIR))
+InstallSharedLibrary(grafX11,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs(examples)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/kernlib/Imakefile cernlib-2005.05.09.dfsg/src/kernlib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/kernlib/Imakefile	2002-04-26 14:37:20.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/kernlib/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -14,6 +14,7 @@
 
 InstallLibrary(kernlib,$(CERN_LIBDIR))
 InstallLibraryAlias(kernlib,kernlib-shift,$(CERN_LIBDIR))
+InstallSharedLibrary(kernlib,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 test::	LibraryTargetName(kernlib)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mathlib/Imakefile cernlib-2005.05.09.dfsg/src/mathlib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mathlib/Imakefile	2005-12-01 15:19:24.005307227 +0000
+++ cernlib-2005.05.09.dfsg/src/mathlib/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -19,6 +19,7 @@
 SubdirLibraryTarget(mathlib,$(LIBDIRS))
 
 InstallLibrary(mathlib,$(CERN_LIBDIR))
+InstallSharedLibrary(mathlib,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 InstallIncludeSubdirs($(LIBDIRS))
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/Imakefile	2005-12-01 15:19:22.512623901 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -13,6 +13,7 @@
 TestSubdirs($(LIBDIRS))
 
 InstallLibSubdirs($(LIBDIRS))
+InstallSharedLibSubdirs($(LIBDIRS))
 
 /* Again, purge Pythia, Jetset and dependents. */
 INCLUDEDIRS= cojets eurodec herwig isajet pdf
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/cojets/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/cojets/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/cojets/Imakefile	1996-05-06 20:06:50.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/cojets/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -12,6 +12,7 @@
 SubdirLibraryTarget(cojets,$(LIBDIRS))
 
 InstallLibrary(cojets,$(CERN_LIBDIR))
+InstallSharedLibrary(cojets,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 SubdirDataFile($(LIBRARY),cojets.dat,data)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/eurodec/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/eurodec/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/eurodec/Imakefile	1996-05-06 20:06:55.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/eurodec/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -12,6 +12,7 @@
 SubdirLibraryTarget(eurodec,$(LIBDIRS))
 
 InstallLibrary(eurodec,$(CERN_LIBDIR))
+InstallSharedLibrary(eurodec,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 SubdirDataFile($(LIBRARY),eurodec.dat,data)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/herwig/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/herwig/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/herwig/Imakefile	1997-01-06 17:06:41.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/herwig/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -10,6 +10,7 @@
 
 InstallLibrary(herwig59,$(CERN_LIBDIR))
 InstallLibraryAlias(herwig59,herwig,$(CERN_LIBDIR))
+InstallSharedLibrary(herwig59,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs(test)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/isajet/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/isajet/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/isajet/Imakefile	2001-10-08 14:03:02.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/isajet/Imakefile	2005-12-01 15:19:31.187783453 +0000
@@ -12,6 +12,7 @@
 SubdirLibraryTarget(isajet758,$(LIBDIRS))
 
 InstallLibrary(isajet758,$(CERN_LIBDIR))
+InstallSharedLibrary(isajet758,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 SubdirDataFile($(LIBRARY),isajet.dat,data)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/pdf/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/pdf/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/pdf/Imakefile	2000-05-29 14:49:59.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/pdf/Imakefile	2005-12-01 15:19:31.188783241 +0000
@@ -15,6 +15,7 @@
 SubdirLibraryTarget(pdflib804,spdf npdf)
 
 InstallLibrary(pdflib804,$(CERN_LIBDIR))
+InstallSharedLibrary(pdflib804,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs(tpdf)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/photos/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/photos/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/photos/Imakefile	1999-03-26 10:52:23.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/photos/Imakefile	2005-12-01 15:19:31.188783241 +0000
@@ -15,6 +15,7 @@
 SubdirLibraryTarget(photos202,code)
 
 InstallLibrary(photos202,$(CERN_LIBDIR))
+InstallSharedLibrary(photos202,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs(test)
 
diff -urNad cernlib-2005.05.09.dfsg~/src/packlib/Imakefile cernlib-2005.05.09.dfsg/src/packlib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/packlib/Imakefile	2005-12-01 15:19:23.885332680 +0000
+++ cernlib-2005.05.09.dfsg/src/packlib/Imakefile	2005-12-01 15:19:31.188783241 +0000
@@ -14,6 +14,7 @@
 
 InstallLibrary(packlib,$(CERN_LIBDIR))
 InstallLibraryAlias(packlib,packlib-shift,$(CERN_LIBDIR))
+InstallSharedLibrary(packlib,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs($(LIBDIRS))
 
diff -urNad cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile
--- cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile	2005-12-01 15:19:24.192267563 +0000
+++ cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile	2005-12-01 15:19:31.188783241 +0000
@@ -30,4 +30,5 @@
 SubdirLibraryTarget(pawlib-lesstif,$(LIBDIRS))
 
 InstallLibrary(pawlib-lesstif,$(CERN_LIBDIR))
+InstallSharedLibrary(pawlib-lesstif,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile cernlib-2005.05.09.dfsg/src/pawlib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile	1996-10-01 14:12:23.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/pawlib/Imakefile	2005-12-01 15:19:31.188783241 +0000
@@ -11,6 +11,7 @@
 SubdirLibraryTarget(pawlib,$(LIBDIRS))
 
 InstallLibrary(pawlib,$(CERN_LIBDIR))
+InstallSharedLibrary(pawlib,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 InstallIncludeSubdirs($(LIBDIRS))
 
diff -urNad cernlib-2005.05.09.dfsg~/src/phtools/Imakefile cernlib-2005.05.09.dfsg/src/phtools/Imakefile
--- cernlib-2005.05.09.dfsg~/src/phtools/Imakefile	1996-11-14 16:44:33.000000000 +0000
+++ cernlib-2005.05.09.dfsg/src/phtools/Imakefile	2005-12-01 15:19:31.189783029 +0000
@@ -11,7 +11,7 @@
 SubdirLibraryTarget(phtools,$(LIBDIRS))
 
 InstallLibrary(phtools,$(CERN_LIBDIR))
-InstallSharedLibrary(phtools,$(CERN_LEVEL),$(CERN_SHLIBDIR))
+InstallSharedLibrary(phtools,$(LIB_SONAME).$(CERN_LEVEL),$(CERN_SHLIBDIR))
 
 TestSubdirs(wicoexam)
 


--- NEW FILE 803-link-binaries-dynamically.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 803-link-binaries-dynamically.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Link binaries dynamically against Cern libraries.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/config/fortran.rules /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/config/fortran.rules
--- cernlib-2005.05.09/src/config/fortran.rules	2005-06-13 15:26:19.991403858 -0400
+++ /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/config/fortran.rules	2005-06-13 15:26:23.699609849 -0400
@@ -189,13 +189,13 @@
  */
 #ifndef CernlibDependLibrary
 #define CernlibDependLibrary(cernlibs)\
-$(filter-out +%,$(filter-out -%,$(shell cernlib cernlibs)))
+$(filter-out +%,$(filter-out -%,$(shell cernlib -dy cernlibs)))
 #endif
 
 /* Helper to use cernlib command
  */
 #ifndef CernlibCmd
-#define CernlibCmd(libraries)cernlib libraries
+#define CernlibCmd(libraries)cernlib -dy libraries
 #endif
 /*
  * CernlibFortranProgramTarget - rule to link fortran program using
@@ -207,7 +207,7 @@
 ProgramTargetName(program): SetWin32ObjSuffix(objects) deplibs CernlibDependLibrary(cernlibs)	@@\
 	RemoveTargetProgram($@)						@@\
 	@echo "Linking with cern libraries"				@@\
-	@cernlib cernlibs						@@\
+	@cernlib -dy cernlibs						@@\
 	CernlibFortranLinkRule($@,$(FCLDOPTIONS),objects,locallibs $(LDLIBS),CernlibCmd(cernlibs)) @@\
 									@@\
 clean::									@@\
@@ -233,8 +233,8 @@
 ProgramTargetName(program): objects deplibs CernlibDependLibrary(cernlibs) @@\
 	RemoveTargetProgram($@)						@@\
 	@echo "Linking with cern libraries"				@@\
-	@cernlib cernlibs						@@\
-	CernlibLinkRule($@,$(LDOPTIONS),objects,locallibs $(LDLIBS),cernlib cernlibs) @@\
+	@cernlib -dy cernlibs						@@\
+	CernlibLinkRule($@,$(LDOPTIONS),objects,locallibs $(LDLIBS),cernlib -dy cernlibs) @@\
 									@@\
 clean::									@@\
 	RemoveFile(ProgramTargetName(program))				@@\
diff -urNad cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile
--- cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile	2005-06-13 15:26:18.903636773 -0400
+++ /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/packlib/kuip/programs/kxterm/Imakefile	2005-06-13 15:26:23.699609849 -0400
@@ -13,14 +13,14 @@
 DefinePackageLibrary(kxtlib)
 
 #if defined(CERNLIB_UNIX)
-CLIBS= -G Motif kernlib
+CLIBS= -G Motif Xm
 #endif
 
 #if defined(CERNLIB_VAXVMS)
-CLIBS= graflib/motif packlib kernlib
+CLIBS= -G Motif Xm
 #endif
 
 
-CernlibCcProgramTarget(kxterm,kxterm.o,libkxtlib.a,libkxtlib.a,$(CLIBS))
+CernlibFortranProgramTarget(kxterm,kxterm.o,libkxtlib.a,libkxtlib.a,$(CLIBS))
 
 InstallProgram(kxterm,$(CERN_BINDIR))
diff -urNad cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile
--- cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile	2005-06-13 15:26:19.418526524 -0400
+++ /tmp/dpep.E9pQlc/cernlib-2005.05.09/src/pawlib/paw/programs/Imakefile	2005-06-13 15:27:38.102678258 -0400
@@ -20,7 +20,7 @@
 InstallScript(paw,$(CERN_BINDIR))
 
 #if defined (CERNLIB_UNIX) && !defined(CERNLIB_WINNT)
-CernlibFortranProgramTarget(pawX11,0pamain.o,NullParameter,NullParameter,pawlib graflib/X11 packlib mathlib kernlib)
+CernlibFortranProgramTarget(pawX11,0pamain.o,NullParameter,NullParameter,-G X11 pawlib)
 
 InstallProgram(pawX11,$(CERN_BINDIR))
 
@@ -34,7 +34,7 @@
 /* This is a gmake ifeq, not a Imake/cpp #if... ! */
 ifeq ($(DO_PAW_PP),YES)
 
-CernlibFortranProgramTarget(paw++,0pamainm.o,NullParameter,NullParameter,pawlib graflib/Motif packlib mathlib kernlib)
+CernlibFortranProgramTarget(paw++,0pamainm.o,NullParameter,NullParameter,-G Motif pawlib)
 
 InstallProgram(paw++,$(CERN_BINDIR))
 


--- NEW FILE 804-workaround-for-comis-mdpool-struct-location.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 804-workaround-for-comis-mdpool-struct-location.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Hack to workaround Comis not liking it when code has a negative
## DP: offset from the mdpool struct (as is the case when using shared
## DP: libraries on some arches).

@DPATCH@
diff -urNad cernlib-2005.05.09/src/cfortran/Examples/pamain.c /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/cfortran/Examples/pamain.c
--- cernlib-2005.05.09/src/cfortran/Examples/pamain.c	2002-09-12 12:05:18.000000000 -0400
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/cfortran/Examples/pamain.c	2005-06-11 09:59:51.875449396 -0400
@@ -2,6 +2,7 @@
 #include <cfortran.h>
 #include <paw.h>
 #include <kuip.h>
+#include <comis/mdpool.h>
 
 #define PAWC_SIZE 9000000
 
diff -urNad cernlib-2005.05.09/src/pawlib/comis/comis/cspar.inc /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/cspar.inc
--- cernlib-2005.05.09/src/pawlib/comis/comis/cspar.inc	2000-05-30 09:53:58.000000000 -0400
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/cspar.inc	2005-06-11 09:59:51.876449180 -0400
@@ -15,7 +15,9 @@
 *
 * cspar.inc
 *
-        PARAMETER (LHP=50006, KON1=17694720, KON2=KON1
+#include "comis/mdsize.h"
+
+        PARAMETER (LHP=MDSIZE, KON1=17694720, KON2=KON1
      +, KON3=2**16, LRECU=8,NRECU=5,MLRECU=NRECU*LRECU
      +, MXRECU=MLRECU-LRECU
      1,      LASTK=2000,LSSTK=50,KLENID=32
diff -urNad cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.h /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.h
--- cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.h	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.h	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,33 @@
+#ifndef _MDPOOL_H
+#define _MDPOOL_H
+
+/* mdpool.h */
+
+/* #include <comis/mdpool.h> or <comis/mdpool.inc> in one source code file of
+ * your executable program dynamically linked against libpaw
+ * so that MDPOOL is defined in your executable.  This is
+ * necessary for proper functioning of the COMIS interpreter when
+ * dynamically linked.
+ */
+
+/* define MDSIZE: */
+#include <comis/mdsize.h>
+
+#include <cfortran.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+  int iq[MDSIZE];
+} mdpool_def;
+
+#define MDPOOL COMMON_BLOCK(MDPOOL, mdpool)
+COMMON_BLOCK_DEF(mdpool_def, MDPOOL);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* _MDPOOL_H */
diff -urNad cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.inc /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.inc
--- cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.inc	1996-02-26 12:16:34.000000000 -0500
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/mdpool.inc	2005-06-11 09:59:51.876449180 -0400
@@ -12,6 +12,8 @@
 *
 * mdpool.inc
 *
+#include "comis/cspar.inc"
+
       COMMON/MDPOOL/IQ(LHP)
       INTEGER ISEM(LHP),KD(LHP),IDA(LHP),KD1(99),KD2(99),KD3(99)
       EQUIVALENCE (IQ,ISEM),(IQ,KD),(IQ,IDA)
diff -urNad cernlib-2005.05.09/src/pawlib/comis/comis/mdsize.h /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/mdsize.h
--- cernlib-2005.05.09/src/pawlib/comis/comis/mdsize.h	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/comis/mdsize.h	2004-06-30 21:54:11.000000000 -0400
@@ -0,0 +1,6 @@
+#ifndef _MDSIZE_H
+#define _MDSIZE_H
+
+#define MDSIZE 50006
+
+#endif
diff -urNad cernlib-2005.05.09/src/pawlib/comis/deccc/csallo.c /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/deccc/csallo.c
--- cernlib-2005.05.09/src/pawlib/comis/deccc/csallo.c	1999-11-15 08:36:24.000000000 -0500
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/comis/deccc/csallo.c	2005-06-11 09:59:51.875449396 -0400
@@ -39,21 +39,20 @@
 /*-- Author :*/
 
 #include <cfortran/cfortran.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "comis/mdsize.h"
 
 typedef struct {
-    int iq[6];
+    int iq[MDSIZE]; /* instead of int iq[6] */
 } mdpool_def;
 
 #define MDPOOL COMMON_BLOCK(MDPOOL,mdpool)
-COMMON_BLOCK_DEF(mdpool_def,MDPOOL);
+extern COMMON_BLOCK_DEF(mdpool_def,MDPOOL);
 
-unsigned long iqpntr = (unsigned long)MDPOOL.iq;
+unsigned long iqpntr = 0;
 
 
-#ifdef CERNLIB_WINNT
-# include <stdlib.h>
-#endif
-
 #if defined(CERNLIB_QX_SC)
 int type_of_call csallo_(lenb)
 #endif
@@ -65,11 +64,31 @@
 #endif
  int *lenb;
 {
-  long lpntr;
+  unsigned long lpntr;
   int pntr; 
 
+  if (! iqpntr)
+    iqpntr = (unsigned long)MDPOOL.iq;
   lpntr= (long)( malloc(*lenb) );
-  pntr=lpntr - iqpntr;
+  if (! lpntr) {
+    fprintf(stderr,
+	    "CSALLO: not enough dynamic memory to allocate %d bytes\n", *lenb);
+    exit(EXIT_FAILURE);
+  }
+
+  pntr = (long)lpntr - (long)iqpntr;
+  if (pntr < 0) {
+    fprintf(stderr, "CSALLO: heap below bss?!");
+#if defined (CERNLIB_DEBIAN)
+    fprintf(stderr, "\n"
+"See the file /usr/share/doc/libpawlib2-dev/README.Debian for more information.\n"
+"If it does not help to solve this problem, please file a bug report against\n"
+"the libpawlib2 package, including the source code of your executable.\n");
+#else
+    fprintf(stderr, "  Try linking against pawlib statically.\n");
+#endif
+    exit(EXIT_FAILURE);
+  }
   return pntr;
 }
 
diff -urNad cernlib-2005.05.09/src/pawlib/paw/paw/pawsiz.inc /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/paw/paw/pawsiz.inc
--- cernlib-2005.05.09/src/pawlib/paw/paw/pawsiz.inc	1996-03-01 11:50:06.000000000 -0500
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/pawlib/paw/paw/pawsiz.inc	2005-06-11 09:59:51.875449396 -0400
@@ -28,5 +28,9 @@
 #include "paw/pawsmall.inc"
 #endif
 
+C      Include this file so that MDPOOL/IQ is present in pawX11 and
+C      paw++ dynamically linked executables.
+C      -- Kevin McCarty, for Debian, 1 Nov 2003
+#include "comis/mdpool.inc"
 
 #endif
diff -urNad cernlib-2005.05.09/src/paw_motif/paw/pawsiz.inc /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/paw_motif/paw/pawsiz.inc
--- cernlib-2005.05.09/src/paw_motif/paw/pawsiz.inc	1996-03-01 11:50:06.000000000 -0500
+++ /tmp/dpep.nHIc6F/cernlib-2005.05.09/src/paw_motif/paw/pawsiz.inc	2005-06-11 09:59:51.875449396 -0400
@@ -28,5 +28,9 @@
 #include "paw/pawsmall.inc"
 #endif
 
+C      Include this file so that MDPOOL/IQ is present in pawX11 and
+C      paw++ dynamically linked executables.
+C      -- Kevin McCarty, for Debian, 1 Nov 2003
+#include "comis/mdpool.inc"
 
 #endif


--- NEW FILE 805-expunge-missing-mathlib-kernlib-symbols.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 805-expunge-missing-mathlib-kernlib-symbols.dpatch by  <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Remove some unreferenced symbols from mathlib and kernlib.

@DPATCH@
diff -urNad cernlib-2005.05.09/src/kernlib/kerngen/ccgen/Imakefile /tmp/dpep.Thtt1b/cernlib-2005.05.09/src/kernlib/kerngen/ccgen/Imakefile
--- cernlib-2005.05.09/src/kernlib/kerngen/ccgen/Imakefile	2002-09-19 12:44:52.000000000 -0400
+++ /tmp/dpep.Thtt1b/cernlib-2005.05.09/src/kernlib/kerngen/ccgen/Imakefile	2005-06-13 11:20:33.838151240 -0400
@@ -1,6 +1,8 @@
 #ifndef CERNLIB_VAXVMS
 
-SRCS_F= accessf.F chdirf.F getenvf.F getwdf.F lstatf.F perrorf.F \ @@\
+/* perrorf.F has been removed since it depends upon files which introduce
+   unreferenced dependencies into the shared libraries.  --Kevin McCarty */
+SRCS_F= accessf.F chdirf.F getenvf.F getwdf.F lstatf.F           \ @@\
 	readlnf.F renamef.F setenvf.F statf.F systemf.F tmpro.F \ @@\
 	tmproi.F toslat.F unlinkf.F
 
diff -urNad cernlib-2005.05.09/src/mathlib/gen/d/Imakefile /tmp/dpep.Thtt1b/cernlib-2005.05.09/src/mathlib/gen/d/Imakefile
--- cernlib-2005.05.09/src/mathlib/gen/d/Imakefile	2005-06-13 11:12:24.894703741 -0400
+++ /tmp/dpep.Thtt1b/cernlib-2005.05.09/src/mathlib/gen/d/Imakefile	2005-06-13 11:16:54.864966246 -0400
@@ -2,20 +2,22 @@
 #include "pilot.h"
 
 /* rgmlt*.F have been moved into packlib/hbook to remove circular dependencies.
+   Some other files have been removed from this list because they depend upon
+   non-existent functions.
    --Kevin McCarty, for Debian. */
-SRCS_F=	arithm.F c128.F c256.F c512.F c64.F cauchy64.F cft.F cfstft.F \ @@\
+SRCS_F=	         c128.F c256.F c512.F c64.F cauchy64.F cft.F cfstft.F \ @@\
 	rfstft.F cgauss.F d107d1.F d107r1.F d501l1.F d501l2.F d501n1.F \ @@\
         d501n2.F d501p1.F d501p2.F d501sf.F d700su.F d701bd.F \ @@\
         dadapt.F deqbs64.F deqmr64.F deriv64.F dfunft.F dgs56p.F \ @@\
         dmaxlk.F dsumsq.F elanal.F elpahy.F epdbps.F epdchk.F \ @@\
-        epdchn.F epdcj.F epde1.F epdecc.F epdfix.F epdin.F \ @@\
-        epditr.F epdje.F epdloc.F epdsrt.F epdtab.F errorf.F esolve.F \ @@\
-	fcn1.F fftrc.F fumili.F gauss.F i128.F i32.F i64.F linsq.F \ @@\
-	mconv.F mft.F minfc.F minsq.F monito.F newro.F old506.F radapt.F \ @@\
+                 epdcj.F                  epdfix.F epdin.F \ @@\
+        epditr.F epdje.F epdloc.F epdsrt.F epdtab.F          esolve.F \ @@\
+	       fftrc.F          gauss.F i128.F i32.F i64.F         \ @@\
+	mconv.F mft.F minfc.F         monito.F newro.F          radapt.F \ @@\
 	radmul.F rca.F rfrdh164.F rfrdh264.F rft.F           rgquad.F \ @@\
 	rgs56p.F rgset.F riwiad.F riwibd.F rknys64.F rknysd.F rkstp.F \ @@\
 	rpa.F rps.F rrkstp.F rsa.F rtriint.F s128.F s256.F s512.F \ @@\
-	s64.F scal.F sgz.F simps.F synt.F traper.F triint.F vd01a.F
+	s64.F scal.F       simps.F synt.F traper.F triint.F vd01a.F
 
 #if defined(CERNLIB_DOUBLE)
 SRCS_F:= $(SRCS_F) cgauss64.F dgquad.F dgset.F gauss64.F minfc64.F \ @@\
diff -urNad cernlib-2005.05.09/src/mathlib/gen/divon/Imakefile /tmp/dpep.Thtt1b/cernlib-2005.05.09/src/mathlib/gen/divon/Imakefile
--- cernlib-2005.05.09/src/mathlib/gen/divon/Imakefile	1996-05-01 09:21:53.000000000 -0400
+++ /tmp/dpep.Thtt1b/cernlib-2005.05.09/src/mathlib/gen/divon/Imakefile	2005-06-13 11:19:42.456136998 -0400
@@ -1,9 +1,12 @@
-SRCS_F=	addbnd.F bfgs.F bndopt.F bndtst.F bounds.F bucmve.F \ @@\
-	bufopt.F delbnd.F delete.F delslv.F divon.F dvcopy.F dvdot.F \ @@\
-	dvnbkd.F dvnopt.F exmbuc.F feasmv.F feqn.F fun.F genpnt.F \ @@\
-	grdcmp.F intgrl.F ldlsol.F locsch.F modchl.F mulchk.F mxstep.F \ @@\
-	newptq.F nmdchl.F nocut.F nodaud.F orthvc.F partn.F quad.F \ @@\
-	quasi.F ranums.F recpar.F rlen.F settol.F shrnk.F split.F \ @@\
+/* Some files deleted from the below list since they depend upon the
+   lepto63 library, which cannot be included in Debian for licensing reasons. */
+
+SRCS_F=	addbnd.F bfgs.F          bndtst.F bounds.F bucmve.F \ @@\
+	         delbnd.F delete.F                  dvcopy.F dvdot.F \ @@\
+	dvnbkd.F dvnopt.F exmbuc.F feasmv.F feqn.F                \ @@\
+	                  ldlsol.F          modchl.F          mxstep.F \ @@\
+	newptq.F nmdchl.F         nodaud.F orthvc.F         quad.F \ @@\
+	quasi.F ranums.F          rlen.F settol.F shrnk.F         \ @@\
 	treaud.F tredmp.F tstext.F usrint.F usrtrm.F
 
 FORTRANSAVEOPTION = FortranSaveFlags


--- NEW FILE 806-bump-mathlib-and-dependents-sonames.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 806-bump-mathlib-and-dependents-sonames.dpatch by  <kmccarty at debian.org>
##
## 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. */
diff -urNad cernlib-2005.05.09.dfsg~/src/mathlib/Imakefile cernlib-2005.05.09.dfsg/src/mathlib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mathlib/Imakefile	2005-11-23 15:49:19.723162159 +0000
+++ cernlib-2005.05.09.dfsg/src/mathlib/Imakefile	2005-11-23 15:49:27.431512287 +0000
@@ -2,6 +2,7 @@
 #define IHaveSubdirs
 #define PassCDebugFlags 
 
+export LIB_SONAME := 2
 
 LIBDIRS= gen bvsl hbook /* hdiff stuff moved from packlib */
 
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/cojets/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/cojets/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/cojets/Imakefile	2005-11-23 15:49:19.723162159 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/cojets/Imakefile	2005-11-23 15:49:27.431512287 +0000
@@ -2,6 +2,8 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
+export LIB_SONAME := 2
+
 AllTarget(cojets)
 
 LIBDIRS= code cojdata cojtapew
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/herwig/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/herwig/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/herwig/Imakefile	2005-11-23 15:49:19.724161945 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/herwig/Imakefile	2005-11-23 15:49:27.432512073 +0000
@@ -2,6 +2,8 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
+export LIB_SONAME := 2
+
 SUBDIRS= code doc test herwig59
 
 TopOfPackage(herwig59)
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/isajet/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/isajet/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/isajet/Imakefile	2005-11-23 15:49:19.724161945 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/isajet/Imakefile	2005-11-23 15:49:27.432512073 +0000
@@ -3,6 +3,8 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
+export LIB_SONAME := 2
+
 LIBDIRS= code isadata isasusy isarun isatape
 
 SUBDIRS= $(LIBDIRS) test data isajet
diff -urNad cernlib-2005.05.09.dfsg~/src/mclibs/pdf/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/pdf/Imakefile
--- cernlib-2005.05.09.dfsg~/src/mclibs/pdf/Imakefile	2005-11-23 15:49:19.724161945 +0000
+++ cernlib-2005.05.09.dfsg/src/mclibs/pdf/Imakefile	2005-11-23 15:49:27.432512073 +0000
@@ -6,6 +6,8 @@
 IMAKE_DEFINES=-DFortranDoesCpp=NO
 #endif
 
+export LIB_SONAME := 2
+
 AllTarget(pdflib804)
 
 SUBDIRS= spdf npdf tpdf pdf
diff -urNad cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile
--- cernlib-2005.05.09.dfsg~/src/paw_motif/Imakefile	2005-11-23 15:49:19.724161945 +0000
+++ cernlib-2005.05.09.dfsg/src/paw_motif/Imakefile	2005-11-23 15:49:27.432512073 +0000
@@ -1,6 +1,8 @@
 DoIncludePackage(paw)
 #include "paw/pilot.h"
 
+export LIB_SONAME := 2
+
 #define IHaveSubdirs
 #define PassCDebugFlags
 
diff -urNad cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile cernlib-2005.05.09.dfsg/src/pawlib/Imakefile
--- cernlib-2005.05.09.dfsg~/src/pawlib/Imakefile	2005-11-23 15:49:19.724161945 +0000
+++ cernlib-2005.05.09.dfsg/src/pawlib/Imakefile	2005-11-23 15:49:27.432512073 +0000
@@ -2,6 +2,7 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
+export LIB_SONAME := 2
 
 LIBDIRS= comis paw sigma
 SUBDIRS= $(LIBDIRS)
diff -urNad cernlib-2005.05.09.dfsg~/src/phtools/Imakefile cernlib-2005.05.09.dfsg/src/phtools/Imakefile
--- cernlib-2005.05.09.dfsg~/src/phtools/Imakefile	2005-11-23 15:49:19.725161731 +0000
+++ cernlib-2005.05.09.dfsg/src/phtools/Imakefile	2005-11-23 15:49:27.432512073 +0000
@@ -2,6 +2,8 @@
 #define IHaveSubdirs
 #define PassCDebugFlags
 
+export LIB_SONAME := 2
+
 LIBDIRS= genbod fowl wico
 
 SUBDIRS= $(LIBDIRS) wicoexam

cernlib-enforce-FHS.diff:

--- NEW FILE cernlib-enforce-FHS.diff ---
diff -ur ../original-cernlib-source/src/geant321/miface/gmorin.F src/geant321/miface/gmorin.F
--- ../original-cernlib-source/src/geant321/miface/gmorin.F     Mon Sep 30 10:26:05 1996
+++ src/geant321/miface/gmorin.F     Tue Oct 22 07:27:55 2002
@@ -112,7 +112,7 @@
          OPEN(UNIT=MICROS,FILE=XSFILE, STATUS='OLD',READONLY)
 #endif
 #if defined(CERNLIB_UNIX)||defined(CERNLIB_CRAY)
-         XSFILE = 'xsneut95.dat'
+         XSFILE = 'DATADIR/xsneut95.dat'
          INQUIRE(FILE=XSFILE,EXIST=EXISTS)
          IF(.NOT.EXISTS) THEN
             CHROOT=' '
diff -ur ../original-cernlib-source/src/mclibs/cojets/test/test.F src/mclibs/cojets/test/test.F
--- ../original-cernlib-source/src/mclibs/cojets/test/test.F    Mon Mar 25 07:53:36 1996
+++ src/mclibs/cojets/test/test.F    Tue Oct 22 07:27:55 2002
@@ -6,7 +6,7 @@
 #if defined(CERNLIB_IBMVM)
       PARAMETER (DFILE='/COJETS DATA *')
 #else
-      PARAMETER (DFILE='cojets.dat')
+      PARAMETER (DFILE='DATADIR/cojets.dat')
 #endif
 C
 C          MAIN PROGRAM FOR COJETS
diff -ur ../original-cernlib-source/src/mclibs/eurodec/eurodec/eufiles.inc src/mclibs/eurodec/eurodec/eufiles.inc
--- ../original-cernlib-source/src/mclibs/eurodec/eurodec/eufiles.inc   Fri Mar  8 11:58:49 1996
+++ src/mclibs/eurodec/eurodec/eufiles.inc   Tue Oct 22 07:27:55 2002
@@ -18,7 +18,7 @@
       PARAMETER (ETFILE='/EUTITLE DAT   *')
 #endif
       CHARACTER*(*) EDFILE,ETFILE
-      PARAMETER (EDFILE='eurodec.dat')
+      PARAMETER (EDFILE='DATADIR/eurodec.dat')
       PARAMETER (ETFILE='eutitle.dat')

 #endif
diff -ur ../original-cernlib-source/src/mclibs/isajet/test/isajett.F src/mclibs/isajet/test/isajett.F
--- ../original-cernlib-source/src/mclibs/isajet/test/isajett.F Fri Mar 14 12:32:39 1997
+++ src/mclibs/isajet/test/isajett.F Tue Oct 22 07:27:55 2002
@@ -8,7 +8,7 @@
 #if defined(CERNLIB_VAXVMS)
       PARAMETER (DFILE='CERN_ROOT:[lib]isajet.dat')
 #else
-      PARAMETER (DFILE='isajet.dat')
+      PARAMETER (DFILE='DATADIR/isajet.dat')
 #endif
 #endif
 C

cernlib-gxint-script.diff:

--- NEW FILE cernlib-gxint-script.diff ---
--- src/scripts/gxint-old	2005-11-23 23:11:08.000000000 +0100
+++ src/scripts/gxint	2005-11-29 11:42:30.000000000 +0100
@@ -103,15 +103,8 @@
    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
+# not used after the sed one liner in the spec file 
+if [ -z "$CERN" ] ; then CERN="/usr"
  
 if [ "$drv" = "/GKS" ] ; then
   if [ -z "$GKSR" ] ; then

cernlib-hwhiga_use_dimag.diff:

--- NEW FILE cernlib-hwhiga_use_dimag.diff ---
--- src/mclibs/herwig/code/hwhiga.F.old	2005-06-24 09:45:07.000000000 +0200
+++ src/mclibs/herwig/code/hwhiga.F	2005-06-24 10:11:59.000000000 +0200
@@ -73,7 +73,7 @@
       TAMP(7)=HWHIG5(U,T,S,EMH2,EMQ2,3,0,6,0,0,0)
       DO 20 I=1,7
       TAMPI(I)= DBLE(TAMP(I))
-  20  TAMPR(I)=-IMAG(TAMP(I))
+  20  TAMPR(I)=-DIMAG(TAMP(I))
 C Square and add prefactors
       WTGG=0.03125*FLOAT(NCOLO*(NCOLO**2-1))
      &    *(TAMPR(1)**2+TAMPI(1)**2+TAMPR(2)**2+TAMPI(2)**2

cernlib-hwuli2_use_dimag.diff:

--- NEW FILE cernlib-hwuli2_use_dimag.diff ---
--- src/mclibs/herwig/code/hwuli2.F.old	2005-06-24 10:09:09.000000000 +0200
+++ src/mclibs/herwig/code/hwuli2.F	2005-06-24 10:11:52.000000000 +0200
@@ -19,7 +19,7 @@
       PROD(Y,Y2)=Y*(ONE+A1*Y*(ONE+A2*Y*(ONE+A3*Y2*(ONE+A4*Y2*(ONE+A5*Y2*
      & (ONE+A6*Y2*(ONE+A7*Y2*(ONE+A8*Y2*(ONE+A9*Y2*(ONE+A10*Y2))))))))))
       XR=DBLE(X)
-      XI=IMAG(X)
+      XI=DIMAG(X)
       R2=XR*XR+XI*XI
       IF (R2.GT.ONE.AND.(XR/R2).GT.HALF) THEN
          Z=-LOG(ONE/X)

cernlib_2005.05.09.dfsg-2.diff:

***** Error reading new file: [Errno 2] No such file or directory: 'cernlib_2005.05.09.dfsg-2.diff'

Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/cernlib/FC-3/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore	16 Nov 2005 23:34:07 -0000	1.2
+++ .cvsignore	9 Dec 2005 15:57:06 -0000	1.3
@@ -1,15 +1,15 @@
-include.tar.gz
-src_Imakefile.tar.gz
 src_car.tar.gz
+src_Imakefile.tar.gz
+src_patchy.tar.gz
 src_cfortran.tar.gz
-src_config.tar.gz
-src_geant321.tar.gz
-src_graflib.tar.gz
 src_include.tar.gz
-src_mathlib.tar.gz
-src_mclibs.tar.gz
-src_packlib.tar.gz
-src_patchy.tar.gz
 src_pawlib.tar.gz
+src_config.tar.gz
+src_mathlib.tar.gz
 src_phtools.tar.gz
+src_geant321.tar.gz
+src_mclibs.tar.gz
 src_scripts.tar.gz
+src_graflib.tar.gz
+src_packlib.tar.gz
+xsneut95.dat


Index: cernlib-deadpool.txt
===================================================================
RCS file: /cvs/extras/rpms/cernlib/FC-3/cernlib-deadpool.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cernlib-deadpool.txt	16 Nov 2005 23:34:07 -0000	1.1
+++ cernlib-deadpool.txt	9 Dec 2005 15:57:06 -0000	1.2
@@ -2,26 +2,86 @@
 # for copyright reasons.  Given is the file or directory to delete
 # relative to $CERN_ROOT/src/.
 
-# --Kevin McCarty, 19 Aug. 2003
+# --Kevin McCarty, 23 Nov 2005
 
-# Authors of FLUKA and Pythia/Jetset did NOT give permission to release
+# Authors of Pythia/Jetset did NOT give permission to release
 # their code under GPL.  CERN should have checked this more carefully!!!
-geant321/data/flukaaf.dat
-geant321/fluka/
-car/geanf321.car
-car/geanf.car
-
-mclibs/jetset/
 car/jetset74.car
+mclibs/jetset/
 mclibs/pythia/
 
-# removal of Pythia/Jetset also necessitates removal of Fritiof, Lepto, Ariadne
+# Removal of Pythia/Jetset also necessitates removal of Fritiof, Lepto, Ariadne
 mclibs/fritiof/
 mclibs/ariadne/
 mclibs/ariadne_407/
 mclibs/lepto63/
 
-# other problematic files (mostly on VMS or obsolete archs)
+# The same applies to GEANT-FLUKA; see for instance the comments at
+# the web site http://www.fluka.org/Faq.html
+car/geanf.car
+car/geanf321.car
+#cmz/geanf.cmz
+#cmz/geanf321.cmz
+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
+
+# Other problematic files (mostly on VMS or obsolete archs)
 graflib/higz/igold/golini.F
 packlib/cspack/sysreq/pwd_vms.h
 packlib/cspack/sysreq/sgtty.h


Index: cernlib.README
===================================================================
RCS file: /cvs/extras/rpms/cernlib/FC-3/cernlib.README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cernlib.README	16 Nov 2005 23:34:07 -0000	1.1
+++ cernlib.README	9 Dec 2005 15:57:06 -0000	1.2
@@ -48,3 +48,13 @@
 
 The cernlib script has been modified to use an external lapack and not
 the one provided with the cernlib.
+
+5) kernlib out of packlib
+
+kernlib has been moved outside of packlib. If you use the cernlib script
+for linking it should be taken into account, however if you link directly
+with packlib you could need to add the kernlib on your link command line.
+
+6) split of motif dependent libs from packlib and pawlib
+
+The motif dependent libs are in libpacklib-lesstif and libpawlib-lesstif.


Index: cernlib.spec
===================================================================
RCS file: /cvs/extras/rpms/cernlib/FC-3/cernlib.spec,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- cernlib.spec	18 Nov 2005 12:45:03 -0000	1.6
+++ cernlib.spec	9 Dec 2005 15:57:06 -0000	1.7
@@ -1,11 +1,11 @@
 Name:          cernlib
 Version:       2005
-Release:       4%{?dist}.2
+Release:       8%{?dist}
 Summary:       General purpose CERN library and associated binaries
 Group:         Development/Libraries
 # As explained in the cernlib on debian FAQ, cfortran can be considered LGPL.
 # http://borex.princeton.edu/~kmccarty/faq.html#44
-License:       GPL/LGPL/BSD
+License:       GPL/LGPL
 URL:           http://cernlib.web.cern.ch/cernlib/
 # mandrake
 #BuildRequires: libxorg-x11-devel lesstif-devel libblas3-devel liblapack3-devel
@@ -15,6 +15,7 @@
 BuildRequires: xorg-x11-devel lapack blas openmotif-devel 
 # there are missing f2c intrinsics in gfortran so gfortran cannot be used to
 # build the cernlib
+#BuildRequires: imake lapack-devel blas-devel openmotif-devel 
 BuildRequires: /usr/bin/g77
 BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -31,8 +32,7 @@
 # not used during the build (if I'm not wrong)
 Source15: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_car.tar.gz
 # unmodified files
-Source0: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/include.tar.gz
-Source1: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_config.tar.gz
+Source0: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_config.tar.gz
 Source2: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_Imakefile.tar.gz
 Source5: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_include.tar.gz
 Source6: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_mathlib.tar.gz 
@@ -43,7 +43,7 @@
 Source9: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_patchy.tar.gz
 Source14: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/tar/src_cfortran.tar.gz
 Source16: http://wwwasd.web.cern.ch/wwwasd/cernlib/download/2005_source/lib/xsneut95.dat
-# A shell script that goes in /etc/profile.d
+# Shell scripts that go in /etc/profile.d
 Source100: cernlib.sh.in
 Source105: cernlib.csh.in
 # m4 macros for autoconf
@@ -59,58 +59,126 @@
 Source200: cernlib-remove-deadpool
 Source201: cernlib-deadpool.txt
 
-# change the cernlib script such that -llapack -lblas is used instead of 
-# cernlib lapack
-Patch: cernlib-cernlib.patch
-# debian cernlib patch full of good things
-Patch1: cernlib_2004.11.04-3.diff
-# modified, to have only DATADIR
-Patch2: 003-enforce-FHS
-Patch3: 005-enable-shadow-passwd
-Patch4: 007-delete-fluka-refs
-Patch5: 008-undef-PPC
-Patch6: 010-comis-allow-special-chars-in-path
-Patch7: 012-add-no-optimization-macro
-Patch8: 013-fix-paw-imakefile-special-rules
-Patch9: 014-fix-herwig-imakefile-special-rules
-Patch11: 015-fix-optimization
-# not applied, break build
-Patch12: 018-move-kernlib-to-toplevel
-Patch13: 022-no-assign-string-literals
+# debian patchset
+Patch0: cernlib_2005.05.09.dfsg-2.diff
+# change file to directory to DATADIR
+Patch1100: cernlib-enforce-FHS.diff
+Patch1: 001-fix-missing-fluka.dpatch
+Patch2: 002-fix-missing-mclibs.dpatch
+Patch3: 003-geant-dummy-functions.dpatch
+Patch100: 100-fix-isajet-manual-corruption.dpatch
+Patch101: 101-undefine-PPC.dpatch
+Patch102: 102-dont-optimize-some-code.dpatch
+Patch103: 103-ignore-overly-long-macro-in-gen.h.dpatch
+Patch104: 104-fix-undefined-insertchar-warning.dpatch
+Patch105: 105-fix-obsolete-xmfontlistcreate-warning.dpatch 
+Patch106: 106-fix-paw++-menus-in-lesstif.dpatch
+Patch107: 107-define-strdup-macro-safely.dpatch
+Patch108: 108-quote-protect-comis-script.dpatch
+# not used as xsneut.dat is at the right place
+#Patch109: 109-fix-broken-xsneut95.dat-link.dpatch
+Patch110: 110-ignore-included-lapack-rule.dpatch
+Patch111: 111-fix-kuesvr-install-location.dpatch
+Patch112: 112-remove-nonexistent-prototypes-from-gen.h.dpatch
+# a workaround for cups. Applied in doubt.
+Patch113: 113-cups-postscript-fix.dpatch
+Patch114: 114-install-scripts-properly.dpatch
+Patch200: 200-comis-allow-special-chars-in-path.dpatch
+Patch201: 201-update-kuip-helper-apps.dpatch
+Patch202: 202-fix-includes-in-minuit-example.dpatch
+Patch203: 203-compile-geant-with-ertrak.dpatch
+Patch204: 204-compile-isajet-with-isasrt.dpatch
+Patch205: 205-max-path-length-to-256.dpatch
+Patch206: 206-herwig-uses-DBLE-not-REAL.dpatch
+Patch207: 207-compile-temp-libs-with-fPIC.dpatch
+# without that patch the binaries are linked with something like
+# libzftplib.a /builddir/build/BUILD/cernlib-2005/2005/build/packlib/cspack/programs/zftp/libzftplib.a
+Patch208: 208-fix-redundant-packlib-dependencies.dpatch
+Patch209: 209-ignore-unneeded-headers-in-kmutil.c.dpatch
+Patch210: 210-improve-cfortran-header-files.dpatch
+# disabled in the debian patchset, enabled here
+Patch211: 211-fix-comis-on-64-bit-arches.dpatch
+Patch300: 300-skip-duplicate-lenocc.dpatch
+# Use another approach, see cernlib-enforce-FHS
+# Patch33: 301-datafiles-comply-with-FHS.dpatch
+# use cernlib-gxint-script.diff instead and sed for paw and dzedit.script
+# Patch34: 302-scripts-comply-with-FHS.dpatch
+Patch303: 303-shadow-passwords-supported.dpatch
+Patch304: 304-update-Imake-config-files.dpatch
+Patch305: 305-use-POWERPC-not-PPC-as-test.dpatch
+# the bug in /usr/include/assert.h seems to be present in FC-4. So a local
+# version is provided in that patch. Will have to look at newer glibc-headers
+# packages
+Patch306: 306-patch-assert.h-for-makedepend.dpatch
+Patch307: 307-use-canonical-cfortran.dpatch
+Patch308: 308-use-canonical-cfortran-location.dpatch
+Patch309: 309-define-dummy-herwig-routines.dpatch
+Patch310: 310-define-dummy-fowl-routines.dpatch
+# The zebra qnexte is a fake, removing it remove an unneeded dependency.
+# the other qnext don't seem to be the same code? They are duplicate symbols
+# anyway so one must be removed
+Patch311: 311-skip-duplicate-qnext.dpatch
+Patch312: 312-skip-duplicate-gamma.dpatch
+# It is a departure from upstream. Apply, but may revert if not agreed.  
+Patch313: 313-comis-preserves-filename-case.dpatch
+Patch314: 314-permit-using-regcomp-for-re_comp.dpatch
+Patch315: 315-fixes-for-MacOSX.dpatch
+Patch318: 318-additional-gcc-3.4-fixes.dpatch
+
+Patch700: 700-remove-kernlib-from-packlib-Imakefile.dpatch
+Patch701: 701-patch-hbook-comis-Imakefiles.dpatch
+Patch702: 702-patch-Imakefiles-for-packlib-mathlib.dpatch
+# I would have preferred not to move the motif code to toplevel...
+Patch703: 703-patch-code_motif-packlib-Imakefiles.dpatch
+Patch704: 704-patch-code_kuip-higzcc-Imakefiles.dpatch
+# I would have preferred not to move the motif code to toplevel...
+Patch705: 705-patch-paw_motif-paw-Imakefiles.dpatch
+
+Patch800: 800-implement-shared-library-rules-in-Imake.dpatch
+Patch801: 801-non-optimized-rule-uses-fPIC-g.dpatch
+Patch802: 802-create-shared-libraries.dpatch
+# in the original cernlib kxterm is built with the C compiler, which cause
+# a failure if compiled with de cernlib debian script as -lg2c isn't found. 
+# It is corrected by
+Patch803: 803-link-binaries-dynamically.dpatch
+# 803 depends on 
+# 208-fix-redundant-packlib-dependencies.dpatch
+
+# no idea about what this does
+Patch804: 804-workaround-for-comis-mdpool-struct-location.dpatch
+Patch805: 805-expunge-missing-mathlib-kernlib-symbols.dpatch 
+# not needed but keep sync with debian, that'll avoid bumping sonames
+Patch806: 806-bump-mathlib-and-dependents-sonames.dpatch
+
+# not applied in newer debian patchset
+Patch3006: 022-no-assign-string-literals
 # fixed upstream
-Patch14: 027-use-tmpfile-not-mktemp
-Patch15: 028-fix-isajet-docs
-Patch16: 030-filename-length-to-256
-Patch17: 031-fix-varargs-use
-Patch18: 033-fix-undefined-insertchar
-Patch19: 035-do-not-use-XmFontListCreate
-Patch20: 038-fix-strndup-macro-problem
-Patch21: 039-use-DBLE-not-REAL
-Patch22: 044-fix-strdup-redefinition
-Patch23: 045-compile-with-isasrt
-Patch24: 047-fix-paw++-menus
+Patch3007: 027-use-tmpfile-not-mktemp
+# not applied in the newer debian patchset
+Patch3008: 031-fix-varargs-use
 # fixed upstream 
-Patch25: 048-log-to-var-log-not-tmp
+Patch3009: 048-log-to-var-log-not-tmp
 # fixed upstream
-Patch26: 049-fix-kuesvr-security-hole
+Patch3010: 049-fix-kuesvr-security-hole
 # fixed upstream
-Patch27: 050-make-secure-comis-tmpdir
+Patch3011: 050-make-secure-comis-tmpdir
 # fixed upstream
-Patch28: 051-fix-miscellaneous-tmp-uses
-# extracted from 001-enable-shared-libs
-Patch29: 001-delete-pythia-refs
-# prepare gxint for substitutions of path and version
-Patch30: gxint-script.diff
-Patch31: cernlib-XmDrawShadow-no-prototype.patch
-Patch32: cernlib-install_scripts.patch
-Patch33: cernlib-static-tcpaw.diff
-Patch34: cernlib-hwuli2_use_aimag.diff 
-Patch35: cernlib-hwhiga_use_aimag.diff
-Patch36: cernlib-gfortran.diff 
-Patch42: cernlib-rsrtnt64_goto_outer_block.diff
-Patch43: cernlib-v107z0_X_before_string.diff
-Patch44: cernlib-bimsel-nodouble-save.diff
+Patch3012: 051-fix-miscellaneous-tmp-uses
 
+# change the cernlib script such that -llapack -lblas is used instead of 
+# cernlib lapack
+# depend explicitely on libkernlib now that it is out of packlib
+# use lesstif-pawlib and lesstif-packlib
+# the modified script is renamed cernlib-static later and the debian cernlib
+# script is used instead.
+Patch1200: cernlib-cernlib_kernlib.patch
+# don't stop if the CERN variable isn't defined
+Patch1201: cernlib-gxint-script.diff
+Patch1203: cernlib-hwuli2_use_dimag.diff 
+Patch1204: cernlib-hwhiga_use_dimag.diff
+Patch1205: cernlib-gfortran.diff 
+Patch1206: cernlib-rsrtnt64_goto_outer_block.diff
+Patch1207: cernlib-v107z0_X_before_string.diff
 
 %description
 CERN program library is a large collection of general purpose libraries
@@ -120,12 +188,15 @@
 detectors simulation, data-handling etc... applicable to a wide range 
 of problems.
 
-The devel packages are parallel installable, but not the helper
+The main and devel packages are parallel installable, but not the helper
 scripts from the utils subpackage.
 
 %package devel
 Summary:       General purpose CERN library static libraries and headers
-Requires:      xorg-x11-devel lapack blas openmotif-devel
+Requires:      lapack-devel blas-devel openmotif-devel
+# workaround #173530
+Requires:      libXau-devel
+Requires:      %{name} = %{version}-%{release}
 Group:         Development/Libraries
 
 %description devel
@@ -142,7 +213,7 @@
 %package utils
 Summary:   CERN library compilation and environment setting scripts
 Group:     Applications/System
-Requires:  cernlib-devel = %{version}
+Requires:  %{name}-devel = %{version}-%{release}
 
 %description utils
 CERN library compilation and environment setting scripts.
@@ -201,7 +272,6 @@
 
 %prep
 %setup -c 
-%setup -T -D -a 1
 %setup -T -D -a 2
 %setup -T -D -a 3
 %setup -T -D -a 4
@@ -216,51 +286,187 @@
 %setup -T -D -a 14
 %setup -T -D -a 15
 
-%patch -P 1 -p1
+%patch -p1
 cd %{version}
-%patch 
-%patch -P 2 -p2
-%patch -P 3 -p2
-%patch -P 4
-%patch -P 5
-%patch -P 6
-%patch -P 7
-%patch -P 8
-%patch -P 9
-%patch -P 11
-#%patch -P 12
-%patch -P 13
-#%patch -P 14
-%patch -P 15
-%patch -P 16
-%patch -P 17 
-%patch -P 18 
-%patch -P 19 
-%patch -P 20
-%patch -P 21 
-%patch -P 22 
-%patch -P 23 
-%patch -P 24 
-#%patch -P 25 
-#%patch -P 26 
-#%patch -P 27 
-#%patch -P 28 
-%patch -P 29
-%patch -P 30
-%patch -P 31
-%patch -P 32
-%patch -P 33
-%patch -P 34
-%patch -P 35
+%patch -P 1100 -p2
+%patch -P 1 -p1
+%patch -P 2 -p1
+%patch -P 3 -p1
+%patch -P 100 -p1
+%patch -P 101 -p1
+%patch -P 102 -p1
+%patch -P 103 -p1
+%patch -P 104 -p1
+%patch -P 105 -p1
+%patch -P 106 -p1
+%patch -P 107 -p1
+%patch -P 108 -p1
+#%patch -P 109 -p1
+%patch -P 110 -p1
+%patch -P 111 -p1
+%patch -P 112 -p1
+%patch -P 113 -p1
+%patch -P 114 -p1
+%patch -P 200 -p1
+%patch -P 201 -p1
+%patch -P 202 -p1
+%patch -P 203 -p1
+%patch -P 204 -p1
+%patch -P 205 -p1
+%patch -P 206 -p1
+%patch -P 207 -p1
+%patch -P 208 -p1
+%patch -P 209 -p1
+%patch -P 210 -p1
+%patch -P 211 -p1
+%patch -P 300 -p1
+#%patch -P 301 -p1
+#%patch -P 302 -p1
+%patch -P 303 -p1
+%patch -P 304 -p1
+%patch -P 305 -p1
+%patch -P 306 -p1
+%patch -P 307 -p1
+%patch -P 308 -p1
+%patch -P 309 -p1
+%patch -P 310 -p1
+%patch -P 311 -p1
+%patch -P 312 -p1
+%patch -P 313 -p1
+%patch -P 314 -p1
+%patch -P 315 -p1
+
+# copy a paw include file to include directory (debian
+# 317-copy-converter.h-to-installed-headers-dir.sh.dpatch)
+cp src/pawlib/paw/tree/converter.h src/pawlib/paw/paw/
+
+%patch -P 318 -p1
+
+# move kernlib out of packlib (debian 700-move-kernlib-to-top-level.sh.dpatch)
+mv src/packlib/kernlib src/kernlib
+
+%patch -P 700 -p1
+
+# move hkf1q.F and hkfill.F out of packlib/hbook and into
+# pawlib/comis where they obviously belong (it even says so in the files!)
+# (debian 701-move-packlib-hkfill-to-comis.sh.dpatch)
+pushd src
+                mv packlib/hbook/code/hkf1q.F  pawlib/comis/code/
+                mv packlib/hbook/code/hkfill.F pawlib/comis/code/
+                # these files also need some headers to go with them:
+                mkdir pawlib/comis/hbook
+                cp -p packlib/hbook/hbook/pilot.h    pawlib/comis/hbook/
+                cp -p packlib/hbook/hbook/hcbook.inc pawlib/comis/hbook/
+                cp -p packlib/hbook/hbook/hcbits.inc pawlib/comis/hbook/
+                cp -p packlib/hbook/hbook/hcfast.inc pawlib/comis/hbook/
+popd
+
+%patch -P 701 -p1
+
+# Must create dirs before applying following patch. 
+# Corresponds with 702-fix-packlib-mathlib-circular-mess.sh.dpatch
+
+pushd src
+                # Hdiff depends upon a bunch of mathlib files; move it into
+                # mathlib.
+                mkdir mathlib/hbook
+                mv packlib/hbook/hdiff mathlib/hbook/
+                cp -r packlib/hbook/hbook mathlib/hbook/
+
+                # Meanwhile, other packlib files depend upon these mathlib
+                # files which are easily moved:
+                mkdir packlib/hbook/d
+                mv mathlib/gen/d/rgmlt*.F packlib/hbook/d/
+                mv mathlib/gen/n          packlib/hbook/
+                cp -r mathlib/gen/gen     packlib/hbook/
+popd
+
+%patch -P 702 -p1
+
+# Script to move packlib/kuip/code_motif to top level, splitting it out
+# from packlib.  But keep kmutil.c in packlib, it's otherwise used.
+# debian 703-move-code_motif-to-top-level.sh.dpatch
+
+pushd src
+                mv packlib/kuip/code_motif/kmutil.c packlib/kuip/code_kuip/
+                mv packlib/kuip/code_motif          ./
+                cp -r packlib/kuip/kuip             code_motif/
+popd
+
+%patch -P 703 -p1
+
+# Script to move the file kuwhag.c from packlib/kuip/code_kuip/kuwhag.c
+# into graflib/higz/higzcc.  It appears to be the only file in code_kuip
+# that depends upon grafX11 and libX11, so it fits in better here.
+# debian 704-move-kuwhag.c-to-grafX11.sh.dpatch
+
+pushd src
+                mv packlib/kuip/code_kuip/kuwhag.c graflib/higz/higzcc/
+                cp -r packlib/kuip/kuip            graflib/higz/
+popd
+
+%patch -P 704 -p1
+
+# Script to move Lesstif-dependent Paw code into its own library.
+# debian 705-move-paw++-code-to-top-level.sh.dpatch
+
+pushd src
+                mkdir paw_motif
+                mv pawlib/paw/?motif pawlib/paw/fpanels? paw_motif/
+                mv pawlib/paw/tree pawlib/paw/uimx pawlib/paw/xbae* paw_motif/
+                cp -p pawlib/paw/Imakefile paw_motif/
+                
+                mkdir paw_motif/code
+                mv pawlib/paw/code/pawpp.F   paw_motif/code/
+                mv pawlib/paw/code/pawintm.F paw_motif/code/
+
+                mkdir paw_motif/cdf
+                mv pawlib/paw/cdf/pamcdf.cdf paw_motif/cdf/
+
+                cp -pr pawlib/paw/paw paw_motif/
+                cp -pr pawlib/paw/hpaw paw_motif/
+popd
+
+%patch -P 705 -p1
+
+%patch -P 800 -p1
+%patch -P 801 -p1
+%patch -P 802 -p1
+%patch -P 803 -p1
+
+# Shell script to link pawlib/comis/comis into the top-level include directory.
+# debian 804-link-to-comis-includes.sh.dpatch
+pushd src
+                ln -s ../pawlib/comis/comis include/comis
+popd
+
+%patch -P 804 -p1
+%patch -P 805 -p1
+%patch -P 806 -p1
+
+
+%patch -P 1200
+%patch -P 1201
+%patch -P 1203
+%patch -P 1204
 # use gfortran
-#%patch -P 36
+#%patch -P 1205
 # workaround gfortran bug
-%patch -P 42
-%patch -P 43
-%patch -P 44
+%patch -P 1206
+%patch -P 1207
 
+# remove CVS directories
+find . -depth -type d -name CVS -exec rm -rf {} ';' 
+
+# unset executable bit on source files
+chmod a-x src/kernlib/kerngen/ccgencf/cfstati.c \
+  src/cfortran/cfortran.*
+
+# remove empty header file not needed anywhere to shut up rpmlint
+rm src/pawlib/paw/ntuple/dbmalloc.h
 
 %build
+
 CERN=$RPM_BUILD_DIR/cernlib-%{version}
 CERN_LEVEL=%{version}
 CERN_ROOT=$CERN/$CERN_LEVEL
@@ -273,7 +479,10 @@
 export CVSCOSRC
 export PATH
 
-# set the CERN and CERN_LEVEL environment variables in a shell script
+LIB_SONAME=1
+export LIB_SONAME
+
+# set the CERN and CERN_LEVEL environment variables in shell scripts
 # meant to go to /etc/profile.d
 sed -e 's/==CERN_LEVEL==/%{version}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE100} > cernlib-%{version}.sh
 sed -e 's/==CERN_LEVEL==/%{version}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE105} > cernlib-%{version}.csh
@@ -281,6 +490,12 @@
 cp %{SOURCE101} .
 cp %{SOURCE102} .
 cp %{SOURCE103} .
+
+# Regenerate the copyright file (from debian/rules)
+grep -v DEADPOOL_LIST_GOES_HERE debian/copyright.in > copyright
+sed -e 's/#.*//g' -e '/^[[:space:]]*$$/d' %{SOURCE200} | \
+                sort | uniq >> copyright
+
 # copy xsneut.data in 2005/share/lib, where geant expects it to be
 # there is a link from 2005/lib
 mkdir -p %{version}/share/lib
@@ -288,33 +503,43 @@
 
 cd $CERN_ROOT
 
-# substitude the right defaults in the cernlib script
-sed -i -e 's:/cern:%{_libdir}/cernlib/:' -e 's:pro:%{version}:' src/scripts/cernlib
+# substitude the right defaults in the scripts
+sed -i -e 's:"/cern":"%{_libdir}/cernlib/":' -e 's:"pro":"%{version}":' \
+	src/scripts/paw src/scripts/cernlib src/graflib/dzdoc/dzedit/dzedit.script
 
 # substitute version in gxint with the right version
 # substitute includedir in gxint to conform to FHS
-sed -e 's/==VERSION==/%{version}/' -e 's:==includedir==:%{_includedir}:' src/scripts/gxint > src/scripts/gxint.new
-cp src/scripts/gxint.new src/scripts/gxint
+sed -i -e 's/"pro"/%{version}/' -e 's:\${CERN}/\${ver}/lib:%{_includedir}/cernlib/\${ver}:' src/scripts/gxint 
 
 # substitute DATADIR in source files to conform to FHS
-for file in src/geant321/miface/gmorin.F src/mclibs/cojets/test/test.F src/mclibs/eurodec/eurodec/eufiles.inc src/mclibs/isajet/test/isajett.F; do
-  cp $file $file.bef
-  sed -e 's:DATADIR:%{_datadir}/cernlib/%{version}:' $file.bef > $file
-done
+sed -i -e 's:DATADIR:%{_datadir}/cernlib/%{version}:' \
+  src/geant321/miface/gmorin.F src/mclibs/cojets/test/test.F src/mclibs/eurodec/eurodec/eufiles.inc src/mclibs/isajet/test/isajett.F
 
 # Create the build directory structure
+mkdir -p build bin lib shlib
 
-mkdir -p build bin lib build/log
+# rename the cernlib script cernlib-static and use the debian cernlib
+# script for dynamic libraries support
+# remove -lg2c to the link commands, because libg2c.so isn't available, 
+# it is found by g77 if needed
+mv src/scripts/cernlib bin/cernlib-static
+sed -e 's:@PREFIX@:%{_prefix}:g' \
+  -e 's:@LIBPREFIX@:%{_libdir}/cernlib/%{version}:g' \
+  -e 's/-lg2c//' \
+  ../debian/add-ons/bin/cernlib.in > src/scripts/cernlib
+chmod 0755 src/scripts/cernlib
 
+# install mkdirhier which is needed to make directories
 cp %{SOURCE104} bin/
 chmod a+x bin/mkdirhier
 
 # Create the top level Makefile with imake
-# the RPM optflags are not used
 
 cd $CERN_ROOT/build
 $CVSCOSRC/config/imake_boot
 
+# the RPM optflags are not used during the build
+
 # Install kuipc and the scripts (cernlib, paw and gxint) in $CERN_ROOT/bin
 
 make %{?_smp_mflags} bin/kuipc
@@ -327,6 +552,8 @@
 cd $CERN_ROOT/build
 #  %{?_smp_mflags} breaks the build
 make
+make install.shlib
+chmod a+x ../shlib/*.so.*
 
 # Build paw
 cd $CERN_ROOT/build/pawlib
@@ -345,7 +572,7 @@
 %{__install} -m755 cernlib-%{version}.csh $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
 
 %{__install} -d -m755 cfortran/Examples
-%{__install} -m644 %{version}/include/cfortran/Examples/*.c cfortran/Examples/
+%{__install} -m644 %{version}/src/cfortran/Examples/*.c cfortran/Examples/
 
 %{__install} -d -m755 $RPM_BUILD_ROOT%{_datadir}/aclocal
 %{__install} -m644 cernlib.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/cernlib.m4
@@ -354,43 +581,74 @@
 %{__install} -d -m755 $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib
 %{__install} -d -m755 $RPM_BUILD_ROOT%{_datadir}/cernlib/%{version}
 %{__install} -d -m755 $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}
+%{__install} -d -m755 $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}/cfortran
 %{__install} -d -m755 $RPM_BUILD_ROOT%{_bindir}/
 
 %{__install} -m644 lib/*.dat $RPM_BUILD_ROOT%{_datadir}/cernlib/%{version}
 %{__install} -m644 lib/gxint321.f $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}
-(cd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} && %{__ln_s} gxint321.f gxint.f)
+%{__install} -m644 src/cfortran/*.h $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}/
 
 %{__install} -m755 bin/* $RPM_BUILD_ROOT%{_bindir}/
 # to preserve symlinks
 (cd lib && tar cf - *.a) | (cd $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib && tar xf -)
-(cd include && tar cf - *) | (cd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} && tar xf -)
+(cd shlib && tar cf - *.so*) | (cd $RPM_BUILD_ROOT%{_libdir}/cernlib/%{version}/lib && tar xf -)
+#(cd src/include && tar cf - *) | (cd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} && tar xf -)
 
-rm -rf $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}/cfortran/Examples/
 rm -f $RPM_BUILD_ROOT%{_bindir}/mkdirhier
 
+# add links for cfortran header files in the top include directory
+pushd $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}
+for file in *.h; do
+	%{__ln_s} $file cfortran/$file
+done
+%{__ln_s} gxint321.f gxint.f
+popd
+
+cd src
+# install include directories for the cernlib libraries
+base_include=$RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}
+for dir in `cat ../../debian/add-ons/includelist.txt`; do
+	basedir=`basename $dir`
+	rm -rf $base_include/$basedir
+	cp -Rp $dir $base_include/
+done
+
+find $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version} -name Imakefile -exec rm -f \{\} \;
+rm -f $RPM_BUILD_ROOT%{_includedir}/cernlib/%{version}/ntuple/*.c
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%dir %{_libdir}/cernlib/
+%dir %{_libdir}/cernlib/%{version}
+%dir %{_libdir}/cernlib/%{version}/lib
+%{_libdir}/cernlib/%{version}/lib/*.so.*
+%{_datadir}/cernlib/
+%doc cernlib.README copyright
+%doc debian/debhelper/geant321.README.debian 
+%doc debian/debhelper/libpdflib804-2-dev.README.debian
+%doc debian/debhelper/libmathlib2.README.debian 
+%doc debian/debhelper/montecarlo-base.README.debian
+
 # the utils and devel are separated to have the possibility to install
 # parallel versions of the library
-
 %files devel
 %defattr(-,root,root,-)
-%{_libdir}/cernlib/%{version}
-%{_datadir}/cernlib/%{version}
-%{_includedir}/cernlib/%{version}
+%{_libdir}/cernlib/%{version}/lib/*.a
+%{_libdir}/cernlib/%{version}/lib/*.so
+%{_includedir}/cernlib/
 %{_datadir}/aclocal/cernlib.m4
-# those file should be in a cernlib main package
-%doc cernlib.README debian/copyright
-%doc debian/libgeant1.README.debian debian/libpdflib804-dev.README.debian
-%doc debian/libmathlib1.README.debian debian/montecarlo-base.README.debian
-# devel specific files
 %doc cfortran 
 
 %files utils
 %defattr(-,root,root,-)
-%{_bindir}/cernlib
+%{_bindir}/cernlib*
 %{_sysconfdir}/profile.d/cernlib-%{version}.sh
 %{_sysconfdir}/profile.d/cernlib-%{version}.csh
 
@@ -426,9 +684,20 @@
 %{_bindir}/hepdb
 %{_bindir}/kxterm
 %{_bindir}/zftp
-%doc debian/zftp.README.debian
+%doc debian/debhelper/zftp.README.debian
 
 %changelog
+* Fri Dec  9 2005 Patrice Dumas <dumas at centre-cired.fr> - 2005-8
+- update with newer debian patchset for cernlib, fix licence issues
+- remove the BSD in the licence because there is no library nor binary
+  under a BSD licence and someone could get the idea that there is 
+  some dual BSD/GPL licenced binaries or libraries. The LGPL is kept
+  because of cfortran
+- don't use the include.tar.gz source, instead get include files from
+  the source files
+- build shared libraries
+- simplify the scripts modifications
+
 * Thu Nov 17 2005 Patrice Dumas <dumas at centre-cired.fr> - 2005-4.2
 - on fc-3 there is no lapack-devel and blas-devel, but instead blas 
   and lapack


Index: paw.README
===================================================================
RCS file: /cvs/extras/rpms/cernlib/FC-3/paw.README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- paw.README	16 Nov 2005 23:34:07 -0000	1.1
+++ paw.README	9 Dec 2005 15:57:06 -0000	1.2
@@ -5,18 +5,17 @@
 
 If you experience corruption of the graphics window when other windows are
 moved over top of it, turn on the BackingStore option of the X server.
-In the "Screen" section of your /etc/X11/XF86Config-4 file or 
-/etc/X11/xorg.conf, you should have
-something like:
+In the "Screen" section of your /etc/X11/XF86Config-4 or /etc/X11/xorg.conf
+file (whichever one exists), you should have something like:
 
 Section "Screen"
-        .
-        .
-        .
+	.
+	.
+	.
     Option "BackingStore"
-        .
-        .
-        .
+	.
+	.
+	.
 EndSection
 
 2) Remote data files
@@ -32,12 +31,22 @@
 If you compile a FORTRAN script within PAW, the path to the file cannot
 be excessively long (more than 256 characters).
 
-4) 64-bit issues
+4) Filename case issues
+
+The default behavior has been set so that PAW is case-sensitive in its 
+treatment of filenames.  If you have any old Paw scripts that do not
+treat filenames in a case-sensitive way, you may need to add the line
+
+        filecase convert
+
+to the beginning of them.
+
+5) 64-bit issues
 
 Note that this package is not yet fully functional on 64-bit machines, as the
 COMIS portion of Pawlib does not yet work correctly on those architectures.
 
--- Kevin McCarty <kmccarty at princeton.edu>, Mon, 29 Nov 2004
+-- Kevin McCarty <kmccarty at debian.org>, Tue, 22 Nov 2005
 
 Adapted to the rpm package by 
--- Dumas Patrice <dumas at centre-cired.fr>, Tue, 16 Jun 2005
+-- Dumas Patrice <dumas at centre-cired.fr>


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/cernlib/FC-3/sources,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- sources	18 Nov 2005 12:45:03 -0000	1.3
+++ sources	9 Dec 2005 15:57:06 -0000	1.4
@@ -1,16 +1,15 @@
-cdbd82c54aed8d1385f1ef0a10be8667  include.tar.gz
+9d37e3c16c336d1887029227b27a42d8  src_car.tar.gz
 03bfd1239e57a23ab087bf29fe48c8a8  src_Imakefile.tar.gz
-1f25e16563f89a69c1b15b8ed11af904  src_car.tar.gz
+fd20e80b3f58fc88168bcd6ce701f999  src_patchy.tar.gz
 9e686519ae3a52344222b21c9444ddd6  src_cfortran.tar.gz
-b72b89cb3a7f7c592d28b992c95b4eff  src_config.tar.gz
-2cf91d533315b430f4e36c1c6e23841a  src_geant321.tar.gz
-f09d0f28e5c7ecc1a3932369f5a15dab  src_graflib.tar.gz
 9ebd72a2b6e5349b25fc93e7b20c172a  src_include.tar.gz
+bb4e224a7713ac4b8c13598e388c17f3  src_pawlib.tar.gz
+b72b89cb3a7f7c592d28b992c95b4eff  src_config.tar.gz
 0ec66e6d4920af79999b4c73fd3b065a  src_mathlib.tar.gz
-ce6d941a50c3e1fdc8bdcc4ec2988116  src_mclibs.tar.gz
-d7d4628d136ed97f1e9ba164774a6878  src_packlib.tar.gz
-fd20e80b3f58fc88168bcd6ce701f999  src_patchy.tar.gz
-dcd46166a57a8a4ec45d872d79839f1a  src_pawlib.tar.gz
 f215b9adba3cfb3be4bd74d624f00d32  src_phtools.tar.gz
+24e2460fa61675df1cd74c7204a8d79e  src_geant321.tar.gz
+666d8a5c483c275463ebb1a3dd48c742  src_mclibs.tar.gz
 b30b121167ddf6508c22fc25a4272276  src_scripts.tar.gz
+67228b011eac13b44499c50219e21545  src_graflib.tar.gz
+4fdcdc9f819ebbb9c6d3a04f339cdcf8  src_packlib.tar.gz
 eecb52159458ead0ee6b0d00b90aab66  xsneut95.dat


--- 001-delete-pythia-refs DELETED ---


--- 003-enforce-FHS DELETED ---


--- 005-enable-shadow-passwd DELETED ---


--- 007-delete-fluka-refs DELETED ---


--- 008-undef-PPC DELETED ---


--- 010-comis-allow-special-chars-in-path DELETED ---


--- 012-add-no-optimization-macro DELETED ---


--- 013-fix-paw-imakefile-special-rules DELETED ---


--- 014-fix-herwig-imakefile-special-rules DELETED ---


--- 015-fix-optimization DELETED ---


--- 018-move-kernlib-to-toplevel DELETED ---


--- 028-fix-isajet-docs DELETED ---


--- 030-filename-length-to-256 DELETED ---


--- 033-fix-undefined-insertchar DELETED ---


--- 035-do-not-use-XmFontListCreate DELETED ---


--- 038-fix-strndup-macro-problem DELETED ---


--- 039-use-DBLE-not-REAL DELETED ---


--- 044-fix-strdup-redefinition DELETED ---


--- 045-compile-with-isasrt DELETED ---


--- 047-fix-paw++-menus DELETED ---


--- cernlib-XmDrawShadow-no-prototype.patch DELETED ---


--- cernlib-bimsel-nodouble-save.diff DELETED ---


--- cernlib-cernlib.patch DELETED ---


--- cernlib-hwhiga_use_aimag.diff DELETED ---


--- cernlib-hwuli2_use_aimag.diff DELETED ---


--- cernlib-install_scripts.patch DELETED ---


--- cernlib-static-tcpaw.diff DELETED ---


--- cernlib_2004.11.04-3.diff DELETED ---


--- gxint-script.diff DELETED ---




More information about the fedora-extras-commits mailing list