rpms/cernlib/devel 211-support-amd64-and-itanium.dpatch, NONE, 1.1 cernlib-119-fix-compiler-warnings.dpatch, NONE, 1.1 cernlib-120-fix-gets-usage-in-kuipc.dpatch, NONE, 1.1 cernlib-121-fix-mathlib-test-case-c209m.dpatch, NONE, 1.1 cernlib-211-support-digital-alpha.dpatch, NONE, 1.1 cernlib-321-support-gfortran.dpatch, NONE, 1.1 cernlib_2005.dfsg-3.diff, NONE, 1.1 paw-119-fix-compiler-warnings.dpatch, NONE, 1.1 paw-320-support-ifort-and-gfortran.dpatch, NONE, 1.1 paw_2.14.04-3.diff, NONE, 1.1 cernlib-115-rsrtnt64-goto-outer-block.dpatch, 1.1, 1.2 cernlib.spec, 1.36, 1.37 211-fix-comis-on-amd64.dpatch, 1.2, NONE cernlib-gfortran.diff, 1.2, NONE cernlib-v107z0_X_before_string.diff, 1.1, NONE cernlib_2005.dfsg-1.diff, 1.1, NONE paw-211-fix-comis-on-ia64-alpha.dpatch, 1.1, NONE paw_2.14.04-2.diff, 1.1, NONE
Patrice Dumas (pertusus)
fedora-extras-commits at redhat.com
Mon Sep 11 22:32:35 UTC 2006
Author: pertusus
Update of /cvs/extras/rpms/cernlib/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv23693
Modified Files:
cernlib-115-rsrtnt64-goto-outer-block.dpatch cernlib.spec
Added Files:
211-support-amd64-and-itanium.dpatch
cernlib-119-fix-compiler-warnings.dpatch
cernlib-120-fix-gets-usage-in-kuipc.dpatch
cernlib-121-fix-mathlib-test-case-c209m.dpatch
cernlib-211-support-digital-alpha.dpatch
cernlib-321-support-gfortran.dpatch cernlib_2005.dfsg-3.diff
paw-119-fix-compiler-warnings.dpatch
paw-320-support-ifort-and-gfortran.dpatch paw_2.14.04-3.diff
Removed Files:
211-fix-comis-on-amd64.dpatch cernlib-gfortran.diff
cernlib-v107z0_X_before_string.diff cernlib_2005.dfsg-1.diff
paw-211-fix-comis-on-ia64-alpha.dpatch paw_2.14.04-2.diff
Log Message:
* Mon Sep 11 2006 Patrice Dumas <pertusus at free.fr> 2005-26
- update to newer debian patchsets (paw and cernlib)
- remove gfortran related patches integrated in the debian
patchsets
--- NEW FILE 211-support-amd64-and-itanium.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 211-support-amd64-and-itanium.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Large patch from Harald Vogt <hvogt at ifh.de> to make Cernlib work better
## DP: (at least when statically linked) on 64-bit architectures.
## DP: Slightly modified in an attempt to keep ABI compatibility of the
## DP: dynamic libraries; not that it matters much as they don't work well
## DP: when dynamically linked on 64-bit anyway.
@DPATCH@
diff -urNad cernlib-2005.dfsg~/src/cfortran/hbook.h cernlib-2005.dfsg/src/cfortran/hbook.h
--- cernlib-2005.dfsg~/src/cfortran/hbook.h 1999-11-15 12:01:12.000000000 -0500
+++ cernlib-2005.dfsg/src/cfortran/hbook.h 2006-09-06 18:40:59.438010227 -0400
@@ -489,6 +489,10 @@
#define HBALLOC(IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE)\
CCALLSFSUB11(HBALLOC,hballoc,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV,PINT,PINT,IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE)
+PROTOCCALLSFSUB11(HBALLOC64,hballoc64,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV,PLONG,PINT)
+#define HBALLOC64(IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE)\
+ CCALLSFSUB11(HBALLOC64,hballoc64,INT,STRING,STRING,STRING,INT,INT,INT,INT,INTV,PLONG,PINT,IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,IBASE,IOFF,NUSE)
+
PROTOCCALLSFSUB1(HBFREE,hbfree,INT)
#define HBFREE(LUN) CCALLSFSUB1(HBFREE,hbfree,INT,LUN)
@@ -508,6 +512,13 @@
#define HGNTBF(IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)\
CCALLSFSUB6(HGNTBF,hgntbf,INT,ZTRINGV,INTV,INT,INT,PINT,IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)
+PROTOCCALLSFSUB6(HGNTBF64,hgntbf64,INT,ZTRINGV,LONGV,INT,INT,PINT)
+/* fix the element length of VAR to 32 */
+#define hgntbf64_ELEMS_2 ZTRINGV_ARGS(4)
+#define hgntbf64_ELEMLEN_2 ZTRINGV_NUM(32)
+#define HGNTBF64(IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)\
+ CCALLSFSUB6(HGNTBF64,hgntbf64,INT,ZTRINGV,LONGV,INT,INT,PINT,IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)
+
PROTOCCALLSFSUB1(HGTDIR,hgtdir,PSTRING)
#define HGTDIR(CHDIR) CCALLSFSUB1(HGTDIR,hgtdir,PSTRING,CHDIR)
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/cspack/hcntpar.inc cernlib-2005.dfsg/src/packlib/cspack/cspack/hcntpar.inc
--- cernlib-2005.dfsg~/src/packlib/cspack/cspack/hcntpar.inc 1996-03-08 10:44:16.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/cspack/cspack/hcntpar.inc 2006-09-06 18:40:59.438010227 -0400
@@ -22,7 +22,7 @@
+ ZIFREA=7, ZNWTIT=8, ZITIT1=9, ZNCHRZ=13, ZIFBIT=8,
+ ZDESC=1, ZLNAME=2, ZNAME=3, ZRANGE=4, ZNADDR=12,
+ ZARIND=11, ZIBLOK=8, ZNBLOK=10, ZIBANK=9, ZIFTMP=11,
- + ZITMP=10, ZNTMP=5, ZNTMP1=3, ZLINK=6)
+ + ZITMP=10, ZNTMP=5, ZNTMP1=4, ZLINK=6)
*
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/netreq.c cernlib-2005.dfsg/src/packlib/cspack/sysreq/netreq.c
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/netreq.c 1996-03-08 10:44:25.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/netreq.c 2006-09-06 18:41:25.642435841 -0400
@@ -340,7 +340,7 @@
return(-errno);
}
TRACE(2, "sysreq", "recv reply length");
- if ((int)(p = RecvStr(s, &replylen)) <0) {
+ if ((long)(p = RecvStr(s, &replylen)) <0) {
TRACE(2, "sysreq", "RecvStr(RepLen): (errno=%d)", errno);
(void) close(s);
END_TRACE();
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/hbook/hcntpar.inc cernlib-2005.dfsg/src/packlib/hbook/hbook/hcntpar.inc
--- cernlib-2005.dfsg~/src/packlib/hbook/hbook/hcntpar.inc 1996-01-16 12:07:52.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/hbook/hcntpar.inc 2006-09-06 18:40:59.439010014 -0400
@@ -24,7 +24,7 @@
+ ZIFREA=7, ZNWTIT=8, ZITIT1=9, ZNCHRZ=13, ZIFBIT=8,
+ ZDESC=1, ZLNAME=2, ZNAME=3, ZRANGE=4, ZNADDR=12,
+ ZARIND=11, ZIBLOK=8, ZNBLOK=10, ZIBANK=9, ZIFTMP=11,
- + ZID=12, ZITMP=10, ZNTMP=6, ZNTMP1=3, ZLINK=6)
+ + ZID=12, ZITMP=10, ZNTMP=6, ZNTMP1=4, ZLINK=6)
*
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/hntup/hballoc.F cernlib-2005.dfsg/src/packlib/hbook/hntup/hballoc.F
--- cernlib-2005.dfsg~/src/packlib/hbook/hntup/hballoc.F 1996-01-16 12:07:56.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/hntup/hballoc.F 2006-09-06 18:40:59.439010014 -0400
@@ -42,3 +42,26 @@
ENDIF
*
END
+*
+* 64-bit version (separate to preserve ABI compatibility)
+ SUBROUTINE HBALLOC64(IDN,CHDIR,VAR,BLOCK,ITYPE,ISIZE,IFIRST,NELEM,
+ + IBASE,IOFF,NUSE)
+*
+ CHARACTER*(*) CHDIR, VAR, BLOCK
+ INTEGER IDN, ITYPE, ISIZE, NELEM, NUSE, IFIRST, IBASE(1)
+ INTEGER*8 IBUF(1), IOFF
+*
+ LC = LENOCC(CHDIR)
+ LV = LENOCC(VAR)
+ LB = LENOCC(BLOCK)
+*
+ CALL HBALLO1(IDN, CHDIR, LC, VAR, LV, BLOCK, LB, ITYPE, ISIZE,
+ + IFIRST, NELEM, IBUF, NUSE)
+*
+ IF (NUSE .EQ. 0) THEN
+ IOFF = 0
+ ELSE
+ IOFF = IBUF(1) - LOC(IBASE(1))/4
+ ENDIF
+*
+ END
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/hntup/hbnt.F cernlib-2005.dfsg/src/packlib/hbook/hntup/hbnt.F
--- cernlib-2005.dfsg~/src/packlib/hbook/hntup/hbnt.F 1996-01-16 12:07:56.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/hntup/hbnt.F 2006-09-06 18:40:59.439010014 -0400
@@ -269,11 +269,13 @@
************************************************************************
* * * *
* 1 * * Number of variables to be read out *
- * * * *** For every variable 3 words (ZNTMP1) *** *
+ * * * *** For every variable 4 words (ZNTMP1) *** *
* 2 * * Index of variable in LNAME bank *
* 3 * * Offset of variable in LNAME bank (INDX-1)*ZNADDR*
* 4 * * Offset in dynamically allocated buffer (only *
* * * used via HGNTBF) otherwise 0 *
+ * 5 * * spare (used in 64 bit architectures for upper *
+ * * * address part) *
************************************************************************
#endif
*
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/hntup/hgnt2.F cernlib-2005.dfsg/src/packlib/hbook/hntup/hgnt2.F
--- cernlib-2005.dfsg~/src/packlib/hbook/hntup/hgnt2.F 1999-03-05 10:42:35.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/hntup/hgnt2.F 2006-09-06 18:40:59.439010014 -0400
@@ -34,7 +34,13 @@
#include "hbook/hcrecv.inc"
*
CHARACTER*(*) VAR1(*)
+#if defined(CERNLIB_QMLXIA64)
+ INTEGER*8 IVOFF(*), IOFFST, IOFFSTT
+ INTEGER IOFFSTV(2)
+ EQUIVALENCE (IOFFSTV, IOFFSTT)
+#else
INTEGER IVOFF(*)
+#endif
CHARACTER*32 VAR
INTEGER ILOGIC, HNMPTR
LOGICAL LOGIC, INDVAR, ALLVAR, USEBUF, CHKOFF
@@ -452,10 +458,15 @@
IQ(LTMP1+JTMP+1) = IOFF
IF (USEBUF) THEN
IF (IEDIF .EQ. 0) THEN
- IQ(LTMP1+JTMP+2) = IOFFST
+ IOFFSTT = IOFFST
ELSE
- IQ(LTMP1+JTMP+2) = IOFFST + (IEDIF*ISHFT(ISIZE,-2))
+ IOFFSTT = IOFFST + (IEDIF*ISHFT(ISIZE,-2))
ENDIF
+ IQ(LTMP1+JTMP+2) = IOFFSTT
+#if defined(CERNLIB_QMLXIA64)
+* store upper part of 64 bit address
+ IQ(LTMP1+JTMP+3) = IOFFSTV(2)
+#endif
ELSE
IQ(LTMP1+JTMP+2) = 0
ENDIF
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/hntup/hgntbf.F cernlib-2005.dfsg/src/packlib/hbook/hntup/hgntbf.F
--- cernlib-2005.dfsg~/src/packlib/hbook/hntup/hgntbf.F 1996-01-16 12:07:57.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/hntup/hgntbf.F 2006-09-06 18:40:59.440009801 -0400
@@ -26,3 +26,13 @@
CALL HGNT1(IDN, '*', VAR, IOFFST, NVAR1, IDNEVT, IERROR)
*
END
+*
+* 64-bit version (separate to preserve ABI compatibility)
+ SUBROUTINE HGNTBF64(IDN,VAR,IOFFST,NVAR,IDNEVT,IERROR)
+ CHARACTER*(*) VAR(*)
+ INTEGER*8 IOFFST(*)
+*
+ NVAR1 = -NVAR
+ CALL HGNT1(IDN, '*', VAR, IOFFST, NVAR1, IDNEVT, IERROR)
+*
+ END
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/hntup/hgntf.F cernlib-2005.dfsg/src/packlib/hbook/hntup/hgntf.F
--- cernlib-2005.dfsg~/src/packlib/hbook/hntup/hgntf.F 1999-03-05 10:42:35.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/hntup/hgntf.F 2006-09-06 18:40:59.440009801 -0400
@@ -37,6 +37,13 @@
INTEGER ILOGIC
LOGICAL LOGIC, INDVAR, USEBUF
EQUIVALENCE (LOGIC, ILOGIC)
+
+#if defined(CERNLIB_QMLXIA64)
+ INTEGER*8 IOFFST, IOFFSTT
+ INTEGER IOFFSTV(2)
+ EQUIVALENCE (IOFFSTV, IOFFSTT)
+#endif
+
*
#include "hbook/jbyt.inc"
*
@@ -76,6 +83,12 @@
INDX = IQ(LTMP1+JTMP)
IOFF = IQ(LTMP1+JTMP+1)
IOFFST = IQ(LTMP1+JTMP+2)
+#if defined(CERNLIB_QMLXIA64)
+* fetch full 64 bit address
+ IOFFSTV(1) = IQ(LTMP1+JTMP+2)
[...1720 lines suppressed...]
- switch( (int)type ) {
+ switch( (long)type ) {
case 1:
histogram.x1 = cbs->value;
if( x_range_lock != 0 ) {
@@ -1131,7 +1131,7 @@
if( histogram.y1 <= 0 ) histogram.y1 = 1;
if( histogram.y2 <= 0 ) histogram.y2 = 1;
- if ( (int)type < 3 ) {
+ if ( (long)type < 3 ) {
XmScaleSetValue(X2Scale,histogram.x2);
XmScaleSetValue(X1Scale,histogram.x1);
if( x_range_lock == 0 || upd_nbin) {
diff -urNad paw-2.14.04~/src/pawlib/paw/cmotif/init.c paw-2.14.04/src/pawlib/paw/cmotif/init.c
--- paw-2.14.04~/src/pawlib/paw/cmotif/init.c 1996-03-12 11:58:51.000000000 -0500
+++ paw-2.14.04/src/pawlib/paw/cmotif/init.c 2006-09-07 19:06:59.187798088 -0400
@@ -286,7 +286,7 @@
static void destroy_browser(Widget w, int *which, XmAnyCallbackStruct *cbs)
{
MenuCbStruct *menu_item;
- int i = (int) which;
+ long i = (long) which;
browser[i].widget = NULL;
if (browser[i].open_dialog) {
@@ -308,7 +308,7 @@
***********************************************************************/
static void destroy_graphics(Widget w, int *which, XmAnyCallbackStruct *cbs)
{
- int i = (int) which;
+ long i = (long) which;
graphics[i].widget = NULL;
}
diff -urNad paw-2.14.04~/src/pawlib/paw/ntuple/c_hcntpar.h paw-2.14.04/src/pawlib/paw/ntuple/c_hcntpar.h
--- paw-2.14.04~/src/pawlib/paw/ntuple/c_hcntpar.h 1996-04-23 14:37:45.000000000 -0400
+++ paw-2.14.04/src/pawlib/paw/ntuple/c_hcntpar.h 2006-09-07 19:06:59.187798088 -0400
@@ -47,7 +47,7 @@
#define ZID 12
#define ZITMP 10
#define ZNTMP 6
-#define ZNTMP1 3
+#define ZNTMP1 4
#define ZLINK 6
#endif /* CERN_C_HCNTPAR */
diff -urNad paw-2.14.04~/src/pawlib/paw/ntuple/qp_execute.c paw-2.14.04/src/pawlib/paw/ntuple/qp_execute.c
--- paw-2.14.04~/src/pawlib/paw/ntuple/qp_execute.c 2001-09-18 09:41:35.000000000 -0400
+++ paw-2.14.04/src/pawlib/paw/ntuple/qp_execute.c 2006-09-07 19:06:59.188797875 -0400
@@ -184,12 +184,19 @@
/* all definitions for the stack */
#undef INIT_STACK_TO_NULL /* are kept together in this file */
+#if defined(CERNLIB_QMLXIA64)
+# undef HBALLOC
+# undef HGNTBF
+# define HBALLOC HBALLOC64
+# define HGNTBF HGNTBF64
+#endif
+
/* extern functions */
extern void qp_exec_evt( QueryExe *, long, long, QPCmd *, int *);
typedef char tName[MAX_NAME_LEN+1];
tName *namelist;
-int *offsetlist;
+long *offsetlist;
int *indexlist;
@@ -245,7 +252,23 @@
char ntname[MAX_NAME_LEN+6];
int i, ierr, indx, itype, isize, ielem;
Int32 * addr;
- int ibase[1], ioff, nuse;
+
+ /* LP64 compatibility:
+ - use static for ibase (at least) because its address is stored
+ as Int32 in structure CWNBlock
+ static takes ibase from the stack and puts it the code area.
+ - use type long for ioff and offsetlist[i]
+ (for 32 bit architectures type long is 4 Bytes as it is used
+ also in packlib/hbook/chbook/halloc.c in hballo1 !)
+ The x86-64 ABI has the code area in the 32 bit address space
+ but addresses to the stack and to dynamically allocated areas
+ may and will be above the 32 bit address space (below 0x80000000000).
+ See also: http://www.x86-64.org/documentation/abi-0.96.pdf
+ (H. Vogt, Oct. 2005) */
+
+ static int ibase[1];
+ long ioff;
+ int nuse;
int id = qe->id;
char * path = qe->path;
char * title;
@@ -286,7 +309,11 @@
CWNBlock = (RefCWN *) calloc( CWNCount + 1, sizeof( RefCWN ) );
qp_assert( MAX_NAME_LEN == 32 ); /* see hbook.h (HGNTBF) */
namelist = (tName *) calloc( CWNCount + 1, sizeof(tName) );
- offsetlist = (int *) calloc( CWNCount + 1, sizeof(int) );
+
+ /* offsetlist should be of type long (see above) (H. Vogt, Oct. 2005) */
+
+ offsetlist = (long *) calloc( CWNCount + 1, sizeof(long) );
+
indexlist = (int *) calloc( CWNCount + 1, sizeof(int) );
qp_assert(
CWNBlock != 0 &&
@@ -381,6 +408,7 @@
offsetlist[nt_load_cnt]=
CWNBlock[index].p -
PAWC.iq_eqv;
+
strncpy(
namelist[nt_load_cnt],
vi->name,
@@ -871,8 +899,21 @@
if ( cmd->u.scan.pawpp ) {
char buf[33];
+ /* for LP64 ABI matlab and matrow are 64 bit pointer, type is void*
+ but PCADDR.jmlab and PCADDR.jmrow are of type int
+ see: c_pcaddr.h and qp_command.h
+ it is related to CWNBlock -> see above (H. Vogt)*/
+
+#if defined(CERNLIB_QMLXIA64)
+ unsigned long long int myjmlab, myjmrow;
+ myjmlab = PCADDR.jmlab;
+ myjmrow = PCADDR.jmrow;
+ c->matlab = (TableCallBack) myjmlab;
+ c->matrow = (TableCallBack) myjmrow;
+#else
c->matlab = (TableCallBack) PCADDR.jmlab;
c->matrow = (TableCallBack) PCADDR.jmrow;
+#endif
qp_assert( qe->nexpr <= MAX_OUTSTR );
@@ -1791,6 +1832,31 @@
PAWIDN.idnevt = ievt;
PAWCHN.ichevt = ievt_chain;
+#if defined(CERNLIB_QMLXIA64)
+/* avoid addresses from calloc which are above 32 bits here */
+ static Int32 helpp[8];
+ int i;
+ if ( npar < 9 ) {
+ for ( i=0; i<npar; i++ ) helpp[i] = stack[frame[framep-i]];
+ }
+ switch ( npar ) {
+ case 8: p8 = &helpp[7];
+ case 7: p7 = &helpp[6];
+ case 6: p6 = &helpp[5];
+ case 5: p5 = &helpp[4];
+ case 4: p4 = &helpp[3];
+ case 3: p3 = &helpp[2];
+ case 2: p2 = &helpp[1];
+ case 1: p1 = &helpp[0];
+ case 0:
+ break;
+ default:
+ sf_report( "exec_comis: To many arguments (%d)\n", npar );
+ *errp = R_INTERNAL_ERROR;
+ return FALSE;
+ break;
+ }
+#else
switch ( npar ) {
case 8: p8 = &stack[frame[framep-7]];
case 7: p7 = &stack[frame[framep-6]];
@@ -1808,6 +1874,7 @@
return FALSE;
break;
}
+#endif
switch ( fc ) {
diff -urNad paw-2.14.04~/src/pawlib/paw/ntuple/qp_hbook_if.c paw-2.14.04/src/pawlib/paw/ntuple/qp_hbook_if.c
--- paw-2.14.04~/src/pawlib/paw/ntuple/qp_hbook_if.c 1999-07-05 11:43:35.000000000 -0400
+++ paw-2.14.04/src/pawlib/paw/ntuple/qp_hbook_if.c 2006-09-07 19:06:59.188797875 -0400
@@ -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 */
--- NEW FILE cernlib-119-fix-compiler-warnings.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 119-fix-compiler-warnings.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix numerous minor compiler warnings. Patch from Harald Vogt,
## DP: 2006-07-20.
@DPATCH@
diff -urNad cernlib-2005.dfsg~/src/graflib/dzdoc/dzdkern/dzdcod.F cernlib-2005.dfsg/src/graflib/dzdoc/dzdkern/dzdcod.F
--- cernlib-2005.dfsg~/src/graflib/dzdoc/dzdkern/dzdcod.F 1996-03-04 11:12:56.000000000 -0500
+++ cernlib-2005.dfsg/src/graflib/dzdoc/dzdkern/dzdcod.F 2006-09-06 19:53:39.375157506 -0400
@@ -90,7 +90,9 @@
CALL DZDPLN(LUN,' ',99)
ELSE
* do MZBOOKS
- CALL DZDCO1(CHBANK,3,CHOINT,' ',LUN)
+* bad Fotran convention, add dummy IFI,ILI arguments in this case
+ccc CALL DZDCO1(CHBANK,3,CHOINT,' ',LUN)
+ CALL DZDCO1(CHBANK,3,CHOINT,' ',LUN,IFI,ILI)
* finish line with bookings
CALL DZDPLN(LUN,' ',99)
ENDIF
diff -urNad cernlib-2005.dfsg~/src/graflib/higz/higzcc/gifencode.c cernlib-2005.dfsg/src/graflib/higz/higzcc/gifencode.c
--- cernlib-2005.dfsg~/src/graflib/higz/higzcc/gifencode.c 1996-02-14 08:10:25.000000000 -0500
+++ cernlib-2005.dfsg/src/graflib/higz/higzcc/gifencode.c 2006-09-06 19:53:39.376157293 -0400
@@ -12,6 +12,7 @@
/*-- Author : E.Chernyaev 19/01/94*/
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#ifdef __STDC__
#define ARGS(alist) alist
diff -urNad cernlib-2005.dfsg~/src/graflib/higz/higzcc/imgpickpalette.c cernlib-2005.dfsg/src/graflib/higz/higzcc/imgpickpalette.c
--- cernlib-2005.dfsg~/src/graflib/higz/higzcc/imgpickpalette.c 1998-11-13 08:19:53.000000000 -0500
+++ cernlib-2005.dfsg/src/graflib/higz/higzcc/imgpickpalette.c 2006-09-06 19:53:39.376157293 -0400
@@ -30,6 +30,7 @@
#if defined(CERNLIB_GIF)
#include <X11/Xlib.h>
#include <stdio.h>
+#include <stdlib.h>
void CollectImageColors(unsigned long, unsigned long **, int *, int *);
int FindColor(unsigned long, unsigned long *, int);
diff -urNad cernlib-2005.dfsg~/src/graflib/higz/higzcc/rotated.c cernlib-2005.dfsg/src/graflib/higz/higzcc/rotated.c
--- cernlib-2005.dfsg~/src/graflib/higz/higzcc/rotated.c 1998-01-30 10:22:04.000000000 -0500
+++ cernlib-2005.dfsg/src/graflib/higz/higzcc/rotated.c 2006-09-06 19:53:39.377157080 -0400
@@ -35,7 +35,9 @@
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <stdio.h>
+#include <stdlib.h>
#include <math.h>
+#include <string.h>
/* ************************************************************************ *
*
@@ -482,10 +484,10 @@
/* get a rotated bitmap */
item=XRotRetrieveFromCache(dpy, font, angle, text, align);
- if(item==NULL) return (int)NULL;
+ if(item==NULL) return 0;
/* this gc has similar properties to the user's gc */
- my_gc=XCreateGC(dpy, drawable, NULL, 0);
+ my_gc=XCreateGC(dpy, drawable, 0, NULL);
XCopyGC(dpy, gc, GCForeground|GCBackground|GCFunction|GCPlaneMask,
my_gc);
@@ -549,7 +551,7 @@
empty_stipple=XCreatePixmap(dpy, drawable, 1, 1, 1);
- depth_one_gc=XCreateGC(dpy, empty_stipple, NULL, 0);
+ depth_one_gc=XCreateGC(dpy, empty_stipple, 0, NULL);
XSetForeground(dpy, depth_one_gc, 0);
XFillRectangle(dpy, empty_stipple, depth_one_gc, 0, 0, 2, 2);
@@ -605,7 +607,7 @@
item->cols_out, item->rows_out, 1);
/* create a GC */
- depth_one_gc=XCreateGC(dpy, new_bitmap, NULL, 0);
+ depth_one_gc=XCreateGC(dpy, new_bitmap, 0, NULL);
XSetForeground(dpy, depth_one_gc, 1);
XSetBackground(dpy, depth_one_gc, 0);
@@ -705,7 +707,7 @@
DEBUG_PRINT1("**\nHorizontal text.\n");
/* this gc has similar properties to the user's gc (including stipple) */
- my_gc=XCreateGC(dpy, drawable, NULL, 0);
+ my_gc=XCreateGC(dpy, drawable, 0, NULL);
XCopyGC(dpy, gc,
GCForeground|GCBackground|GCFunction|GCStipple|GCFillStyle|
GCTileStipXOrigin|GCTileStipYOrigin|GCPlaneMask, my_gc);
@@ -918,7 +920,7 @@
item->cols_out, item->rows_out, 1);
/* depth one gc */
- depth_one_gc=XCreateGC(dpy, item->bitmap, NULL, 0);
+ depth_one_gc=XCreateGC(dpy, item->bitmap, 0, NULL);
XSetBackground(dpy, depth_one_gc, 0);
XSetForeground(dpy, depth_one_gc, 1);
@@ -1032,7 +1034,7 @@
item->cols_in, item->rows_in, 1);
/* create a GC for the bitmap */
- font_gc=XCreateGC(dpy, canvas, NULL, 0);
+ font_gc=XCreateGC(dpy, canvas, 0, NULL);
XSetBackground(dpy, font_gc, 0);
XSetFont(dpy, font_gc, font->fid);
diff -urNad cernlib-2005.dfsg~/src/graflib/higz/higzcc/x11int.c cernlib-2005.dfsg/src/graflib/higz/higzcc/x11int.c
--- cernlib-2005.dfsg~/src/graflib/higz/higzcc/x11int.c 2000-07-08 02:19:30.000000000 -0400
+++ cernlib-2005.dfsg/src/graflib/higz/higzcc/x11int.c 2006-09-06 19:53:39.378156868 -0400
@@ -1172,8 +1172,8 @@
*/
cws->drawing = cws->window;
cws->buffer = (Drawable)NULL;
- cws->double_buffer = (int)NULL;
- cws->clip = (int)NULL;
+ cws->double_buffer = 0;
+ cws->clip = 0;
cws->width = wval;
cws->height = hval;
@@ -1509,7 +1509,7 @@
void
ixclsds()
{
- int Motif = (int)NULL;
+ int Motif = 0;
int i;
if (display == NULL) return;
@@ -1529,12 +1529,12 @@
for ( i = 0; i < MAXCOL; i++ ) {
if( colors[i].defined == 1 ) {
colors[i].defined = 0;
- XFreeColors(display, colormap, &colors[i].pixel, 1, (int)NULL);
+ XFreeColors(display, colormap, &colors[i].pixel, 1, 0);
}
}
#if !defined(CERNLIB_TK_WINDOWS)
- if(display != NULL && Motif == (int)NULL) XCloseDisplay( display );
+ if(display != NULL && Motif == 0) XCloseDisplay( display );
#endif
display = NULL;
cws = NULL;
@@ -1567,7 +1567,7 @@
XFlush( display );
- cws->open = (int)NULL;
+ cws->open = 0;
for( wid = 0; wid < MAXWN; wid++ )
if( windows[wid].open ) {
@@ -1886,7 +1886,7 @@
int i;
tws = &windows[*wid];
- tws->clip = (int)NULL;
+ tws->clip = 0;
for( i = 0; i < MAXGC; i++ )
XSetClipMask( display, gclist[i], None );
@@ -1916,9 +1916,9 @@
xcol.flags = DoRed || DoGreen || DoBlue;
if( colors[*cindex].defined == 1 ) {
colors[*cindex].defined = 0;
- XFreeColors(display, colormap, &colors[*cindex].pixel, 1, (int)NULL);
+ XFreeColors(display, colormap, &colors[*cindex].pixel, 1, 0);
}
- if( XAllocColor( display, colormap, &xcol ) != (Status)NULL ) {
+ if( XAllocColor( display, colormap, &xcol ) != (Status)0 ) {
colors[*cindex].defined = 1;
colors[*cindex].pixel = xcol.pixel;
colors[*cindex].red = *r;
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/log.c cernlib-2005.dfsg/src/packlib/cspack/sysreq/log.c
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/log.c 2003-09-02 08:47:16.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/log.c 2006-09-06 19:53:39.378156868 -0400
@@ -28,6 +28,7 @@
#include <stdio.h> /* standard input/output definitions */
#if !defined(vms)
#include <fcntl.h> /* file control */
+#include <string.h> /* string manipulation functions */
#else
#include <stdlib.h> /* general utility definitions */
#include <unixio.h> /* VMS's unix-emulation I/O */
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/netreq.c cernlib-2005.dfsg/src/packlib/cspack/sysreq/netreq.c
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/netreq.c 1996-03-08 10:44:25.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/netreq.c 2006-09-06 19:53:39.379156655 -0400
@@ -25,6 +25,7 @@
#include <netinet/in.h> /* Internet data types */
#include <arpa/inet.h> /* Arpa internet routines */
#include <stdio.h> /* Standard Input/Output */
+#include <string.h> /* string manipulation functions */
#if defined(vms)
#include <pwd_vms.h>
#else
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/serror.c cernlib-2005.dfsg/src/packlib/cspack/sysreq/serror.c
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/serror.c 1998-08-25 08:44:52.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/serror.c 2006-09-06 19:53:39.379156655 -0400
@@ -177,7 +177,7 @@
else {
#if !defined(vms)
if ((n>0) && (n<sys_nerr)) {
- return(sys_errlist[n]);
+ return((char*)sys_errlist[n]);
}
else {
(void) sprintf(buf,"%s: %d\n",
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/socket.c cernlib-2005.dfsg/src/packlib/cspack/sysreq/socket.c
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/socket.c 1998-08-25 08:44:55.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/socket.c 2006-09-06 19:53:39.379156655 -0400
@@ -144,7 +144,10 @@
#include <errno.h>
#include <setjmp.h>
#include <signal.h>
+
+#if !defined(linux)
extern char* malloc();
+#endif /* linux */
#if defined(vms)
#if defined(TWG) && (TWG == 1)
@@ -412,7 +415,7 @@
s_errmsg() /* return last error message */
{
#if !defined(vms)
- return(sys_errlist[errno]);
+ return((char*)sys_errlist[errno]);
#else /* vms */
#if defined(MULTINET) && (MULTINET == 1)
return(vms_errno_string());
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/sysreq.h cernlib-2005.dfsg/src/packlib/cspack/sysreq/sysreq.h
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/sysreq.h 1996-03-08 10:44:26.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/sysreq.h 2006-09-06 19:53:39.380156442 -0400
@@ -88,7 +88,7 @@
*/
#ifndef VM
-extern char *malloc(); /* Memory allocation */
+#include <stdlib.h> /* standard C library defs */
#endif /* VM */
extern char *getenv(); /* Get environment info */
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/sysreq/xdr.c cernlib-2005.dfsg/src/packlib/cspack/sysreq/xdr.c
--- cernlib-2005.dfsg~/src/packlib/cspack/sysreq/xdr.c 1996-03-08 10:44:26.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/cspack/sysreq/xdr.c 2006-09-06 19:53:39.380156442 -0400
@@ -52,7 +52,7 @@
#endif /* min */
#ifndef VM
-extern char *malloc();
+#include <stdlib.h> /* standard C library defs */
#endif /* VM */
#ifdef VM
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/tcpaw/Imakefile cernlib-2005.dfsg/src/packlib/cspack/tcpaw/Imakefile
--- cernlib-2005.dfsg~/src/packlib/cspack/tcpaw/Imakefile 1999-01-15 08:59:12.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/cspack/tcpaw/Imakefile 2006-09-06 19:53:39.380156442 -0400
@@ -49,4 +49,9 @@
#endif
#endif
+#if defined(CERNLIB_LINUX) && defined(__GNUC__)
+ /* This is to avoid warnings in code not used for linux */
+CCOPTIONS+=-trigraphs
+#endif
+
SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.dfsg~/src/packlib/cspack/tcpaw/tcpaw.c cernlib-2005.dfsg/src/packlib/cspack/tcpaw/tcpaw.c
--- cernlib-2005.dfsg~/src/packlib/cspack/tcpaw/tcpaw.c 2005-04-18 11:39:28.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/cspack/tcpaw/tcpaw.c 2006-09-06 19:53:53.133231056 -0400
@@ -301,6 +301,7 @@
#ifndef IBMRT
/* this is a kludge, one ought to fix the "prototypes" in this file */
#include <string.h>
+#include <stdlib.h> /* needed for linux gcc4 */
#endif /* IBMRT */
#endif /* WIN32 */
#endif /* IBM */
@@ -478,7 +479,7 @@
#endif /* VMS */
#ifdef AUTHENT
- unsigned char idbuf[100];
+ char idbuf[100];
char usbuf[20], pwbuf[20];
char *user = usbuf, *passwd = pwbuf;
register int i, len;
@@ -487,7 +488,7 @@
#ifdef SOCKETS
struct hostent *hp; /* host info for remote host */
struct sockaddr_in peeraddr_in; /* for peer socket address */
- int peerlen;
+ unsigned peerlen;
#endif /* SOCKETS */
#ifdef WIN32
@@ -521,7 +522,7 @@
#ifdef SOCKETS
memset ((char *)&peeraddr_in, 0, sizeof(struct sockaddr_in));
peerlen = sizeof(peeraddr_in);
- if (getpeername(s, &peeraddr_in, &peerlen) == SOCKET_ERROR) {
+ if (getpeername(s, (struct sockaddr *)&peeraddr_in, &peerlen) == SOCKET_ERROR) {
#ifdef LOGFILE
fprintf(logfile, "%s: getpeername failed\n", Prog_Name);
#endif /* LOGFILE */
@@ -658,7 +659,7 @@
SOCKET *isock, *osock;
{
#ifdef AUTHENT
- unsigned char idbuf[100];
+ char idbuf[100];
char usbuf[20], pwbuf[20];
char *user = usbuf, *passwd = pwbuf;
register int i, len;
@@ -727,7 +728,7 @@
unsigned short sport = *port; /* VM */
#if defined ( _WIN32) && defined (AUTHENT)
- unsigned char idbuf[100];
+ char idbuf[100];
char usbuf[20], pwbuf[20];
char *user = usbuf, *passwd = pwbuf;
register int i, len;
@@ -800,7 +801,7 @@
}
#endif
/* Bind the listen address to the socket. */
- if (bind(ls, &myaddr_in, sizeof(struct sockaddr_in)) == SOCKET_ERROR) {
+ if (bind(ls, (struct sockaddr *)&myaddr_in, sizeof(struct sockaddr_in)) == SOCKET_ERROR) {
#if defined(IBM) || defined(_WIN32)
tcperror("server_sock_setup: bind(ls,...)");
#else
@@ -829,7 +830,7 @@
exit(1);
}
addrlen = sizeof(struct sockaddr_in);
- s = accept(ls, &peeraddr_in, &addrlen);
+ s = accept(ls, (struct sockaddr *)&peeraddr_in, (socklen_t *)&addrlen);
if ( s == INVALID_SOCKET) {
fprintf(stderr, "%s: accept error\n", "server_sock_setup");
return(-1);
@@ -984,7 +985,7 @@
char *user = NULL, *passwd = NULL;
int port;
#if defined(AUTHENT)
- unsigned char idbuf[100];
+ char idbuf[100];
#endif /* AUTHENT */
#ifdef VMS
@@ -1290,7 +1291,7 @@
/* Try to connect to the remote server at the address
* which was just built into peeraddr.
*/
- if (connect(s, &peeraddr_in, sizeof(struct sockaddr_in)) == SOCKET_ERROR) {
+ if (connect(s, (struct sockaddr *)&peeraddr_in, sizeof(struct sockaddr_in)) == SOCKET_ERROR) {
#ifndef _WIN32
close(s);
#else
@@ -1313,7 +1314,7 @@
}
addrlen = sizeof(struct sockaddr_in);
- if (getsockname(s, &myaddr_in, &addrlen) == SOCKET_ERROR) {
+ if (getsockname(s, (struct sockaddr *)&myaddr_in, (socklen_t *)&addrlen) == SOCKET_ERROR) {
#if defined(IBM) || defined(_WIN32)
tcperror("client_sock_setup");
#else
@@ -2688,7 +2689,7 @@
((struct in_addr *)(hp->h_addr))->s_addr;
/* bcopy(hp->h_addr, (caddr_t)&sin.sin_addr, hp->h_length); */
}
- if (connect(s, &sin, sizeof(struct sockaddr_in)) == SOCKET_ERROR ) {
+ if (connect(s, (struct sockaddr *)&sin, sizeof(struct sockaddr_in)) == SOCKET_ERROR ) {
#ifndef _WIN32
if (errno == ECONNREFUSED && timo <= 16) {
(void) close(s);
@@ -3352,7 +3353,7 @@
((struct in_addr *)(hp->h_addr))->s_addr;
/* bcopy(hp->h_addr, (caddr_t)&sin.sin_addr, hp->h_length); */
}
- if (connect(s, &sin, sizeof(struct sockaddr_in)) == SOCKET_ERROR) {
+ if (connect(s, (struct sockaddr *)&sin, sizeof(struct sockaddr_in)) == SOCKET_ERROR) {
#ifndef WIN32
if (errno == ECONNREFUSED && timo <= 16) {
(void) close(s);
@@ -3486,7 +3487,7 @@
}
getstr(sock,buf, cnt, errmesg)
-int *sock;
+int sock;
char *buf;
int cnt; /* sizeof() the char array */
char *errmesg; /* in case error message required */
diff -urNad cernlib-2005.dfsg~/src/packlib/fatmen/fmc/faexit.c cernlib-2005.dfsg/src/packlib/fatmen/fmc/faexit.c
--- cernlib-2005.dfsg~/src/packlib/fatmen/fmc/faexit.c 1997-09-02 08:56:52.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/fatmen/fmc/faexit.c 2006-09-06 19:53:39.381156230 -0400
@@ -27,6 +27,7 @@
void faexit(icode)
#endif
#if defined(CERNLIB_QX_SC)
+#include <stdlib.h> /* standard C library defs */
void faexit_(icode)
#endif
int *icode;
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/abend.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/abend.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/abend.c 1997-02-04 12:34:12.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/abend.c 2006-09-06 19:53:39.382156017 -0400
@@ -19,6 +19,7 @@
CERN PROGLIB# Z035 ABEND .VERSION KERNFOR 4.31 911111
*/
#if defined(CERNLIB_QX_SC)
+#include <stdlib.h>
void type_of_call abend_()
#endif
#if defined(CERNLIB_QXNO_SC)
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/ctimef.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/ctimef.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/ctimef.c 1997-02-04 12:34:14.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/ctimef.c 2006-09-06 19:53:39.382156017 -0400
@@ -24,6 +24,8 @@
STIME decoded time string of length 24 (CHARACTER*24 STIME)
*/
#if defined(CERNLIB_QX_SC)
+#include <stdlib.h>
+#include <string.h>
void type_of_call ctimef_(clock, stime)
#endif
#if defined(CERNLIB_QXNO_SC)
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/exitf.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/exitf.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/exitf.c 1997-02-04 12:34:16.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/exitf.c 2006-09-06 19:53:39.382156017 -0400
@@ -19,6 +19,7 @@
CERN PROGLIB# Z035 EXITF .VERSION KERNFOR 4.39 940228
*/
#if defined(CERNLIB_QX_SC)
+#include <stdlib.h>
void type_of_call exitf_(st)
#endif
#if defined(CERNLIB_QXNO_SC)
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/getwdi.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/getwdi.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/getwdi.c 1997-09-02 10:26:36.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/getwdi.c 2006-09-06 19:53:39.382156017 -0400
@@ -29,6 +29,7 @@
ISLATE(1) returns its lenth NTEXT
*/
#include <stdio.h>
+#include <stdlib.h>
#ifdef WIN32
#include <direct.h>
# ifndef getcwd
@@ -58,7 +59,7 @@
#endif
int *lgname;
{
- char *malloc();
+/* char *malloc(); - see above "#include <stdlib.h>" */
char *ptalc, *pttext;
int fchput();
int nalc;
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/lstati.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/lstati.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/lstati.c 1997-02-04 12:34:35.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/lstati.c 2006-09-06 19:53:39.382156017 -0400
@@ -26,6 +26,7 @@
Fortran interface routine to lstat
*/
#include <stdio.h>
+#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "kerngen/fortchar.h"
@@ -56,7 +57,7 @@
ptname = fchtak(fname,*lgname);
if (ptname == NULL) goto out1;
- buf = (struct stat *) malloc(sizeof (struct stat));
+ buf = malloc(sizeof (struct stat));
if (buf == NULL) goto out2;
istat = lstat(ptname, buf);
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/sigprnt.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/sigprnt.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/sigprnt.c 1997-02-04 12:34:42.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/sigprnt.c 2006-09-06 19:53:39.383155804 -0400
@@ -34,7 +34,7 @@
#ifndef CERNLIB_WINNT
sigset_t oldmask;
- sigprocmask (NULL, NULL, &oldmask);
+ sigprocmask ( 0, NULL, &oldmask);
printf (" blocked signals are: %x\n", oldmask);
#else
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/stati.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/stati.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/stati.c 1997-09-02 10:26:39.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/stati.c 2006-09-06 19:53:39.383155804 -0400
@@ -26,6 +26,7 @@
Fortran interface routine to stat
*/
#include <stdio.h>
+#include <stdlib.h>
#if defined(CERNLIB_QMVAX)||defined(CERNLIB_QMOS9)
#include <types.h>
#include <stat.h>
@@ -72,7 +73,7 @@
if (ptname == NULL) goto out1;
#ifndef WIN32
- buf = (struct stat *) malloc(sizeof (struct stat));
+ buf = malloc(sizeof (struct stat));
#else
buf = (struct _stat *) malloc(sizeof (struct _stat));
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/timel.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/timel.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/timel.c 1997-02-04 12:34:47.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/timel.c 2006-09-06 19:53:39.383155804 -0400
@@ -30,6 +30,7 @@
#include <sys/param.h>
#include <sys/time.h>
#include <sys/resource.h>
+#include <unistd.h> /* For ia64... */
#ifndef CLOCKS_PER_SEC
#define CLOCKS_PER_SEC CLK_TCK
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgenu/fchtak.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgenu/fchtak.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgenu/fchtak.c 1996-02-15 12:49:40.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgenu/fchtak.c 2006-09-06 19:53:39.383155804 -0400
@@ -16,6 +16,7 @@
return the memory pointer
*/
#include <stdio.h>
+#include <stdlib.h>
#include "kerngen/fortchar.h"
char *fchtak(ftext,lgtext)
#if defined(CERNLIB_QMCRY)
@@ -26,7 +27,7 @@
#endif
int lgtext;
{
- char *malloc();
+ /* char *malloc(); - see above "#include <stdlib.h>" */
char *ptalc, *ptuse;
char *utext;
int nalc;
diff -urNad cernlib-2005.dfsg~/src/packlib/kuip/code_kuip/getline.c cernlib-2005.dfsg/src/packlib/kuip/code_kuip/getline.c
--- cernlib-2005.dfsg~/src/packlib/kuip/code_kuip/getline.c 1998-08-25 08:47:32.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kuip/code_kuip/getline.c 2006-09-06 19:53:39.384155592 -0400
@@ -585,7 +585,7 @@
static void
gl_puts(buf)
-char *buf;
+const char *buf;
{
/*
int len = strlen(buf);
@@ -1351,7 +1351,7 @@
static char *
hist_save(p)
-char *p;
+const char *p;
/* makes a copy of the string */
{
char *s;
diff -urNad cernlib-2005.dfsg~/src/packlib/kuip/code_motif/iconwidget.c cernlib-2005.dfsg/src/packlib/kuip/code_motif/iconwidget.c
--- cernlib-2005.dfsg~/src/packlib/kuip/code_motif/iconwidget.c 1996-03-08 10:33:10.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kuip/code_motif/iconwidget.c 2006-09-06 19:53:39.384155592 -0400
@@ -284,7 +284,7 @@
Boolean in = (iw->icon.armed && really) ||
iw->icon.shadow_type == XmSHADOW_IN;
- if ((iw->primitive.shadow_thickness) > 0 && XtIsRealized (iw)) {
+ if ((iw->primitive.shadow_thickness) > 0 && XtIsRealized ((Widget)iw)) {
_XmDrawShadow (XtDisplay (iw), XtWindow (iw),
in ? iw->primitive.bottom_shadow_GC :
iw->primitive.top_shadow_GC,
@@ -372,7 +372,7 @@
#endif
if (iw->icon.armed)
- DrawShadow ((Widget) iw, True);
+ DrawShadow (iw, True);
}
/************************************************************************
--- NEW FILE cernlib-120-fix-gets-usage-in-kuipc.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 120-fix-gets-usage-in-kuipc.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix usage of gets() in kuipc. Thanks to Harald Vogt, 2006-07-20.
@DPATCH@
diff -urNad cernlib-2005.dfsg~/src/packlib/kuip/programs/kuipc/kuipcc.c cernlib-2005.dfsg/src/packlib/kuip/programs/kuipc/kuipcc.c
--- cernlib-2005.dfsg~/src/packlib/kuip/programs/kuipc/kuipcc.c 2000-03-27 09:13:17.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kuip/programs/kuipc/kuipcc.c 2006-09-06 18:57:58.483212039 -0400
@@ -354,10 +354,13 @@
}
}
else {
+ /* avoid the usage of gets - possible buffer overrun */
fprintf( stderr, "Enter CDF input file name: " );
- gets( ifile );
+ fgets( ifile, sizeof ifile, stdin );
+ strcpy( strstr( ifile, "\n"), "\0");
fprintf( stderr, "Enter definition output file name: " );
- gets( ofile );
+ fgets( ofile, sizeof ofile, stdin );
+ strcpy( strstr( ofile, "\n"), "\0");
}
if( !explicit ) {
--- NEW FILE cernlib-121-fix-mathlib-test-case-c209m.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 121-fix-mathlib-test-case-c209m.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix off-by-one bug in test case c209m. Courtesy Harald Vogt.
@DPATCH@
diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/tests/c209m.F cernlib-2005.dfsg/src/mathlib/gen/tests/c209m.F
--- cernlib-2005.dfsg~/src/mathlib/gen/tests/c209m.F 1996-04-01 10:01:13.000000000 -0500
+++ cernlib-2005.dfsg/src/mathlib/gen/tests/c209m.F 2006-09-06 19:05:30.359047318 -0400
@@ -16,7 +16,7 @@
#include "gen/defc64.inc"
+ TEST(NT,NT),A(0:NT),ROOT(NT),SUM
C R is the estimated radius of a circle centered at a root
- DIMENSION R(NT),RES(NT)
+ DIMENSION R(NT+1),RES(NT)
LOGICAL INR2(NT,NT)
PARAMETER (MAXFUN=50000)
PARAMETER (TSTERR=5D-8)
--- NEW FILE cernlib-211-support-digital-alpha.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 211-support-digital-alpha.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Try to also support alpha architecture in chkloc()
@DPATCH@
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/lp64gs/chkloc.c cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/lp64gs/chkloc.c
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/ccgen/lp64gs/chkloc.c 2006-09-06 20:48:39.151588934 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/ccgen/lp64gs/chkloc.c 2006-09-06 20:53:30.206708584 -0400
@@ -35,13 +35,20 @@
data segments upwards. All addresses here are expected to be in
the data segment area. */
+ /* K. McCarty: On Alpha, on the other hand, I couldn't find any docs for the
+ Linux segmentation for virtual memory. Judging by a test machine
+ (escher.debian.org), the data section starts slightly above 0x120010000.
+ On the other hand the stack grows downward from 0x120000000. */
+
const unsigned long mask=0xffffffff00000000;
static unsigned long limit=0x00000000ffffffff;
unsigned long jadr=((unsigned long) iadr & mask);
-#if !defined (__ia64__)
- if ( jadr != 0x0000000000000000) {
-#else
+#if defined (__ia64__)
if ( jadr != 0x6000000000000000) {
+#elif defined (__alpha__)
+ if ( jadr != 0x0000000100000000) {
+#else /* amd64 */
+ if ( jadr != 0) {
#endif
printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
printf("LOCB/LOCF: address %p exceeds the 32 bit address space\n", iadr);
--- NEW FILE cernlib-321-support-gfortran.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 321-support-gfortran.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Support compilation with gfortran. Patch thanks to Harald Vogt
## DP: (except for changes to src/config/linux.cf).
@DPATCH@
diff -urNad cernlib-2005.dfsg~/src/config/linux.cf cernlib-2005.dfsg/src/config/linux.cf
--- cernlib-2005.dfsg~/src/config/linux.cf 2006-09-07 15:06:06.891836867 -0400
+++ cernlib-2005.dfsg/src/config/linux.cf 2006-09-07 15:06:08.249547206 -0400
@@ -478,7 +478,7 @@
variable=value @@\
endif @@\
-# else /* g77 */
+# else /* g77 or gfortran */
/* Start CERNLIB changes A.Waananen 15. Apr. 1996 */
/* Adapted to CERN style GF. 20-Sep-96 */
@@ -498,17 +498,32 @@
#endif
#define f2cFortran YES
+#ifdef HasGFortran
+#define FortranCmd gfortran -g
+#define gFortran YES
+#define CERNLIB_GFORTRAN
+#else
#define FortranCmd g77 -g
+#endif
#define XargsCmd xargs
#define FortranSaveFlags /* */ /* Everything static !? */
#define OptimisedFortranFlags OptimizedCDebugFlags -funroll-loops
/* Remove -fomit-frame-pointer since -O implies it and it inhibits debugging */
+
+#ifdef HasGFortran
+#ifndef DefaultFCOptions
+# define DefaultFCOptions -fno-automatic -fno-second-underscore
+#endif
+#define CernlibSystem CernlibDefaultDefines CernlibMachineDefines \
+ CernlibLocalDefines -DCERNLIB_GFORTRAN
+#else
#ifndef DefaultFCOptions
# define DefaultFCOptions -fno-automatic -fno-second-underscore \
-fugly-complex
#endif
#define CernlibSystem CernlibDefaultDefines CernlibMachineDefines \
CernlibLocalDefines
+#endif
# endif
# endif
diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/c/rteq464.F cernlib-2005.dfsg/src/mathlib/gen/c/rteq464.F
--- cernlib-2005.dfsg~/src/mathlib/gen/c/rteq464.F 1996-04-01 10:01:53.000000000 -0500
+++ cernlib-2005.dfsg/src/mathlib/gen/c/rteq464.F 2006-09-07 15:06:08.249547206 -0400
@@ -45,7 +45,16 @@
MT=3
Z(1)=SQRT(SQRT(-D))
Z(2)=-Z(1)
+#if !defined(CERNLIB_GFORTRAN)
Z(3)=SQRT(-Z(1)**2)
+#else
+* Using gfortran the following sqrt yields an inconsistent result
+* if the imaginary part is a "negative zero"
+* gfortran is conform with the Fortran ISO 2003 standard (1.6.1)
+* Therefore if the imaginary part is a "negative zero"
+* it must be replaced by a "positive zero" to be consistent
+ if (imag(-z(1)**2) .eq. 0) z(3)=SQRT(real(-z(1)**2)+i*0)
+#endif
Z(4)=-Z(3)
ENDIF
DC=(-R12*D)**3
@@ -94,9 +103,21 @@
W1=SQRT(U(K1)+I*0)
W2=SQRT(U(K2)+I*0)
ELSE
+#if !defined(CERNLIB_GFORTRAN)
MT=3
W1=SQRT(U(2)+I*U(3))
W2=SQRT(U(2)-I*U(3))
+#else
+* For gfortran see above
+ MT=3
+ IF (U(3) .NE. 0.) THEN
+ W1=SQRT(U(2)+I*U(3))
+ W2=SQRT(U(2)-I*U(3))
+ ELSE
+ W1=SQRT(U(2)+I*0)
+ W2=W1
+ ENDIF
+#endif
ENDIF
W3=0
IF(W1*W2 .NE. 0) W3=-Q/(8*W1*W2)
diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/c/wpsipg.F cernlib-2005.dfsg/src/mathlib/gen/c/wpsipg.F
--- cernlib-2005.dfsg~/src/mathlib/gen/c/wpsipg.F 1996-04-01 10:02:01.000000000 -0500
+++ cernlib-2005.dfsg/src/mathlib/gen/c/wpsipg.F 2006-09-07 15:06:08.250546993 -0400
@@ -62,7 +62,11 @@
H=0
WRITE(ERRTXT,101) K
CALL MTLPRT(NAME,'C317.1',ERRTXT)
- ELSEIF(ABS(IMAG(U)) .LT. DELTA .AND. ABS(X+NINT(A)) .LT. DELTA)
+#if defined(CERNLIB_QFPGF77)||defined(CERNLIB_GFORTRAN)
+ ELSEIF(ABS(AIMAG(U)) .LT. DELTA .AND. ABS(X+NINT(A)) .LT. DELTA)
+#else
+ ELSEIF(ABS(IMAG(U)) .LT. DELTA .AND. ABS(X+NINT(A)) .LT. DELTA)
+#endif
1 THEN
H=0
WRITE(ERRTXT,102) X
@@ -88,7 +92,11 @@
IF(X .LT. 0) THEN
V=PI*U
X=V
- Y=IMAG(V)
+#if defined(CERNLIB_QFPGF77)||defined(CERNLIB_GFORTRAN)
+ Y=AIMAG(V)
+#else
+ Y=IMAG(V)
+#endif
A=SIN(X)
B=COS(X)
T=TANH(Y)
diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/d/cfstft.F cernlib-2005.dfsg/src/mathlib/gen/d/cfstft.F
--- cernlib-2005.dfsg~/src/mathlib/gen/d/cfstft.F 1997-12-15 11:18:42.000000000 -0500
+++ cernlib-2005.dfsg/src/mathlib/gen/d/cfstft.F 2006-09-07 15:06:08.250546993 -0400
@@ -43,7 +43,7 @@
W=CMPLX(C,S)
U=W
C=SQRT(0.5*C+0.5)
-#if defined(CERNLIB_QFPGF77)
+#if defined(CERNLIB_QFPGF77)||defined(CERNLIB_GFORTRAN)
S=AIMAG(W)/(C+C)
#else
S=IMAG(W)/(C+C)
diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/v/nranf.F cernlib-2005.dfsg/src/mathlib/gen/v/nranf.F
--- cernlib-2005.dfsg~/src/mathlib/gen/v/nranf.F 1996-04-01 10:02:54.000000000 -0500
+++ cernlib-2005.dfsg/src/mathlib/gen/v/nranf.F 2006-09-07 15:06:08.250546993 -0400
@@ -14,10 +14,12 @@
VECTOR(I) = RNDM(I)
100 CONTINUE
RETURN
- ENTRY NRANIN (V)
+ END
+ SUBROUTINE NRANIN (V)
CALL RDMIN(V)
RETURN
- ENTRY NRANUT (V)
+ END
+ SUBROUTINE NRANUT (V)
CALL RDMOUT(V)
RETURN
END
diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/v/v107z0.inc cernlib-2005.dfsg/src/mathlib/gen/v/v107z0.inc
--- cernlib-2005.dfsg~/src/mathlib/gen/v/v107z0.inc 2000-06-08 05:57:22.000000000 -0400
+++ cernlib-2005.dfsg/src/mathlib/gen/v/v107z0.inc 2006-09-07 15:06:08.250546993 -0400
@@ -16,9 +16,13 @@
* v107z0.inc
*
-#if defined(CERNLIB_LNX)||defined(CERNLIB_ALLIANT)||defined(CERNLIB_DECS)||defined(CERNLIB_MACMPW)||defined(CERNLIB_SGI)
+#if (defined(CERNLIB_LNX)||defined(CERNLIB_ALLIANT)||defined(CERNLIB_DECS)||defined(CERNLIB_MACMPW)||defined(CERNLIB_SGI))&&!defined(CERNLIB_GFORTRAN)
DATA IZ0/'33000000'X/
+#elif defined(CERNLIB_GFORTRAN)
+* this is the new Fortran 2003 ISO standard
+ DATA IZ0/Z'33000000'/
+
#elif defined(CERNLIB_APOLLO)
DATA IZ0/16#33000000/
diff -urNad cernlib-2005.dfsg~/src/packlib/hbook/chbook/Imakefile cernlib-2005.dfsg/src/packlib/hbook/chbook/Imakefile
--- cernlib-2005.dfsg~/src/packlib/hbook/chbook/Imakefile 1999-11-15 08:25:58.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/hbook/chbook/Imakefile 2006-09-07 15:06:08.250546993 -0400
@@ -13,7 +13,19 @@
#endif
#if defined(CERNLIB_LINUX)
+EXTRA_DEFINES := $(EXTRA_DEFINES) -D_SVID_SOURCE
+#endif
+
+#if defined(CERNLIB_LINUX) && !defined(CERNLIB_QMLXIA64)
+EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran
+#endif
+
+#if defined(CERNLIB_QMLXIA64)
+#if defined(CERNLIB_GFORTRAN)
+EXTRA_DEFINES := $(EXTRA_DEFINES) -DgFortran
+#else
EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran
#endif
+#endif
SubdirLibraryTarget(NullParameter,NullParameter)
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/kerngen/klnx.h cernlib-2005.dfsg/src/packlib/kernlib/kerngen/kerngen/klnx.h
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/kerngen/klnx.h 1998-09-25 05:31:11.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/kerngen/klnx.h 2006-09-07 15:13:01.777308060 -0400
@@ -8,15 +8,16 @@
* Hollerith storage not orthodox
* UCOPY et al. to copy integers
#endif
-#ifndef CERNLIB_QMLNX
-#define CERNLIB_QMLNX
-#endif
#ifndef CERNLIB_QPOSIX
#define CERNLIB_QPOSIX
#endif
#ifndef CERNLIB_QIEEE
#define CERNLIB_QIEEE
#endif
+#if (!defined(CERNLIB_GFORTRAN))
+# ifndef CERNLIB_QMLNX
+# define CERNLIB_QMLNX
+# endif
#if (!defined(CERNLIB_PPC))
# ifdef CERNLIB_QISASTD
# undef CERNLIB_QISASTD
@@ -32,6 +33,21 @@
# define CERNLIB_QORTHOLL
# endif
#endif
+#else
+#if 0
+* gfortran follows
+#endif
+# ifdef CERNLIB_QMLNX
+# undef CERNLIB_QMLNX
+# endif
+# ifndef CERNLIB_QISASTD
+# define CERNLIB_QISASTD
+# endif
+# ifdef CERNLIB_QORTHOLL
+# undef CERNLIB_QORTHOLL
+# endif
+#endif
+
#ifndef CERNLIB_QINTCOPY
#define CERNLIB_QINTCOPY
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgen/Imakefile cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgen/Imakefile
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgen/Imakefile 1997-02-04 12:36:14.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgen/Imakefile 2006-09-07 15:06:08.251546780 -0400
@@ -52,7 +52,7 @@
#if defined(CERNLIB_DOS) || defined(CERNLIB_MPW) || defined(CERNLIB_LNX) || defined(CERNLIB_WINNT)
SRCS_F := $(SRCS_F) lenocc.F
#endif
-#ifdef CERNLIB_HPUX
+#if defined(CERNLIB_HPUX) || defined(CERNLIB_GFORTRAN)
SRCS_F := $(SRCS_F) getarg.F
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgen/getarg.F cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgen/getarg.F
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgen/getarg.F 1996-02-15 12:49:40.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgen/getarg.F 2006-09-07 15:06:08.251546780 -0400
@@ -11,4 +11,6 @@
#include "hpxgs/getarg.F"
#elif defined(CERNLIB_QMVAX)
#include "vaxsys/getarg.F"
+#elif defined(CERNLIB_GFORTRAN)
+#include "lnxgfort/getarg.F"
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgen/lnxgfort/getarg.F cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgen/lnxgfort/getarg.F
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgen/lnxgfort/getarg.F 1969-12-31 19:00:00.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgen/lnxgfort/getarg.F 2006-09-07 15:06:08.251546780 -0400
@@ -0,0 +1,17 @@
+*
+ SUBROUTINE GETARG (JARG, CHARG)
+* The following stuff is required to use gfortrans inline routine GETARG
+* It is required to avoid the calling GETARG here which conflicts
+* to the Fortran rules
+ CHARACTER CHARG*(*)
+ CALL MYGETARG (JARG, CHARG)
+ END
+
+ SUBROUTINE MYGETARG (JARG, CHARG)
+ CHARACTER CHARG*(*)
+* gfortran translates the following line to a call
+* to its library routine _gfortran_getarg_i4
+* therefore it will not clash in the linking step
+ CALL GETARG (JARG, CHARG)
+ END
+
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/iucomh.F cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/iucomh.F
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/iucomh.F 1997-02-04 12:36:24.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/iucomh.F 2006-09-07 15:06:08.251546780 -0400
@@ -17,7 +17,7 @@
#include "wntgs/iucomh.F"
#elif defined(CERNLIB_QMDOS)
#include "dosgs/iucomh.F"
-#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)
+#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)||defined(CERNLIB_GFORTRAN)
#include "allgs/iucomh.F"
#elif defined(CERNLIB_QMLNX)
#include "lnxgs/iucomh.F"
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/rndm.F cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/rndm.F
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/rndm.F 1997-10-23 12:37:04.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/rndm.F 2006-09-07 15:06:08.252546566 -0400
@@ -24,7 +24,7 @@
#include "mpwgs/rndm.F"
#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)
#include "allgs/rndm.F"
-#elif defined(CERNLIB_QMLNX)
+#elif defined(CERNLIB_QMLNX)||defined(CERNLIB_GFORTRAN)
#include "lnxgs/rndm.F"
#elif defined(CERNLIB_QMIRTD)
#include "irtdgs/rndm.F"
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/ublow.F cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/ublow.F
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/ublow.F 1998-09-25 05:32:02.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/ublow.F 2006-09-07 15:06:08.252546566 -0400
@@ -25,7 +25,7 @@
#include "dosgs/ublow.F"
#elif defined(CERNLIB_QMMPW)
#include "mpwgs/ublow.F"
-#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)
+#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)||defined(CERNLIB_GFORTRAN)
#include "allgs/ublow.F"
#elif (defined(CERNLIB_QMLNX) && !defined(CERNLIB_PPC))
#include "lnxgs/ublow.F"
diff -urNad cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/ubunch.F cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/ubunch.F
--- cernlib-2005.dfsg~/src/packlib/kernlib/kerngen/tcgens/ubunch.F 1998-09-25 05:32:06.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/kernlib/kerngen/tcgens/ubunch.F 2006-09-07 15:06:08.252546566 -0400
@@ -23,7 +23,7 @@
#include "wntgs/ubunch.F"
#elif defined(CERNLIB_QMDOS) || defined(CERNLIB_WINNT)
#include "dosgs/ubunch.F"
-#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)
+#elif defined(CERNLIB_QMVAOS)||defined(CERNLIB_QMVMI)||defined(CERNLIB_GFORTRAN)
#include "allgs/ubunch.F"
#elif (defined(CERNLIB_QMLNX) && !defined(CERNLIB_PPC))
#include "lnxgs/ubunch.F"
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/fq/fzdaeof.inc cernlib-2005.dfsg/src/packlib/zebra/fq/fzdaeof.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/fq/fzdaeof.inc 1996-03-06 05:47:08.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/zebra/fq/fzdaeof.inc 2006-09-07 15:06:08.252546566 -0400
@@ -30,7 +30,7 @@
*** PARAMETER (IOSEOF = 10) !* for xlf 2.2
*** PARAMETER (IOSEOF = 122) !* for xlf 2.3
PARAMETER (IOSEOF = 1) !* for xlf 3.2
-#elif defined(CERNLIB_QMLNX)
+#elif defined(CERNLIB_QMLNX)&&!defined(CERNLIB_GFORTRAN)
PARAMETER (IOSEOF = 36)
#elif defined(CERNLIB_QMOS9)
PARAMETER (IOSEOF = 326)
@@ -43,6 +43,8 @@
#elif defined(CERNLIB_WINDOWS)
* only valid for dec fortran (e.g. not f2c + microsoft c)
PARAMETER (IOSEOF = 36)
+#elif defined(CERNLIB_GFORTRAN)
+ PARAMETER (IOSEOF = 3)
#elif 1
PARAMETER (IOSEOF = -1)
#endif
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_and.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_and.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_and.inc 1996-04-18 12:15:05.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_and.inc 2006-09-07 15:06:08.252546566 -0400
@@ -24,7 +24,7 @@
#elif defined(CERNLIB_QMIBMSI)
IAND (IZV,IZW) = LAND (IZV, IZW)
-#elif defined(CERNLIB_LNX)
+#elif (defined(CERNLIB_LNX))&&(!defined(CERNLIB_GFORTRAN))
IAND(IZV,IZW) = AND(IZV,IZW)
#elif defined(CERNLIB_SUN)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_andor.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_andor.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_andor.inc 1996-03-06 05:46:52.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_andor.inc 2006-09-07 15:06:08.253546353 -0400
@@ -36,7 +36,7 @@
IEOR (IZV,IZW) = LXOR (IZV, IZW)
NOT (IZW) = LCOMPL (IZW)
-#elif defined(CERNLIB_LNX)
+#elif (defined(CERNLIB_LNX))&&(!defined(CERNLIB_GFORTRAN))
IAND(IZV,IZW) = AND(IZV,IZW)
IOR(IZV,IZW) = OR(IZV,IZW)
IEOR(IZV,IZW) = XOR(IZV,IZW)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbit.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbit.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbit.inc 1996-04-18 12:15:06.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbit.inc 2006-09-07 15:06:08.253546353 -0400
@@ -47,7 +47,7 @@
#elif defined(CERNLIB_QF_SIEM)
JBIT (IZW,IZP) = SHFTR (SHFTL(IZW,32-IZP), 31)
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
JBIT(IZW,IZP) = AND(ISHFTR(IZW,IZP-1),1)
#elif defined(CERNLIB_OS9)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbyt.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbyt.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbyt.inc 1996-04-18 12:15:07.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbyt.inc 2006-09-07 15:06:08.253546353 -0400
@@ -45,7 +45,7 @@
#elif defined(CERNLIB_QF_SIEM)
JBYT (IZW,IZP,NZB)= SHFTR (SHFTL(IZW,33-IZP-NZB), 32-NZB)
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
JBYT(IZW,IZP,NZB) = ISHFTR(LSHIFT(IZW,33-IZP-NZB),32-NZB)
#elif defined(CERNLIB_OS9)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbytet.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbytet.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbytet.inc 1996-04-18 12:15:07.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbytet.inc 2006-09-07 15:06:08.253546353 -0400
@@ -52,7 +52,7 @@
JBYTET (MZ,IZW,IZP,NZB) = LAND (MZ,
+ SHFTR (SHFTL(IZW,33-IZP-NZB), 32-NZB) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
JBYTET (MZ,IZW,IZP,NZB) = AND (MZ,
+ ISHFTR (LSHIFT(IZW,33-IZP-NZB),32-NZB) )
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbytor.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbytor.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_jbytor.inc 1996-04-18 12:15:10.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_jbytor.inc 2006-09-07 15:06:08.253546353 -0400
@@ -50,7 +50,7 @@
JBYTOR (MZ,IZW,IZP,NZB) = LOR (MZ,
+ SHFTR (SHFTL(IZW,33-IZP-NZB), 32-NZB) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
JBYTOR (MZ,IZW,IZP,NZB) = OR (MZ,
+ ISHFTR (LSHIFT(IZW,33-IZP-NZB),32-NZB) )
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_mbytet.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_mbytet.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_mbytet.inc 1996-04-18 12:15:11.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_mbytet.inc 2006-09-07 15:06:08.254546140 -0400
@@ -51,7 +51,7 @@
MBYTET (MZ,IZW,IZP,NZB) = LAND (IZW, LCOMPL(SHFTR (
+ SHFTL(LCOMPL(MZ),32-NZB), 33-IZP-NZB)) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
MBYTET (MZ,IZW,IZP,NZB) = AND (IZW,
+ NOT(ISHFTR (LSHIFT(NOT(MZ),32-NZB),33-IZP-NZB)) )
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_mbytor.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_mbytor.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_mbytor.inc 1996-04-18 12:15:12.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_mbytor.inc 2006-09-07 15:06:08.254546140 -0400
@@ -51,7 +51,7 @@
MBYTOR (MZ,IZW,IZP,NZB) = LOR (IZW, SHFTR (
+ SHFTL(MZ,32-NZB), 33-IZP-NZB) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
MBYTOR (MZ,IZW,IZP,NZB) = OR (IZW,
+ ISHFTR (LSHIFT(MZ,32-NZB),33-IZP-NZB))
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_or.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_or.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_or.inc 1996-04-18 12:15:13.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_or.inc 2006-09-07 15:06:08.254546140 -0400
@@ -24,7 +24,7 @@
#elif defined(CERNLIB_QMIBMSI)
IOR (IZV,IZW) = LOR (IZV, IZW)
-#elif defined(CERNLIB_LNX)
+#elif (defined(CERNLIB_LNX))&&(!defined(CERNLIB_GFORTRAN))
IOR(IZV,IZW) = OR(IZV,IZW)
#elif defined(CERNLIB_SUN)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbit.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbit.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbit.inc 1996-04-18 12:15:23.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbit.inc 2006-09-07 15:06:08.254546140 -0400
@@ -46,7 +46,7 @@
MSBIT (MZ,IZW,IZP) = LOR (LAND (IZW, LCOMPL(SHFTL(1,IZP-1)) )
+ , SHFTL(LAND(MZ,1),IZP-1) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
MSBIT (MZ,IZW,IZP) = OR (AND (IZW, NOT(LSHIFT(1,IZP-1)))
+ ,LSHIFT(AND(MZ,1),IZP-1))
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbit0.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbit0.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbit0.inc 1996-04-18 12:15:24.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbit0.inc 2006-09-07 15:06:08.254546140 -0400
@@ -41,7 +41,7 @@
#elif defined(CERNLIB_QF_SIEM)
MSBIT0 (IZW,IZP) = LAND (IZW, LCOMPL(SHFTL(1,IZP-1)) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
MSBIT0 (IZW,IZP) = AND (IZW, NOT(LSHIFT(1,IZP-1)))
#elif defined(CERNLIB_PDP)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbit1.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbit1.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbit1.inc 1996-04-18 12:15:24.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbit1.inc 2006-09-07 15:06:08.255545926 -0400
@@ -40,7 +40,7 @@
#elif defined(CERNLIB_QF_SIEM)
MSBIT1 (IZW,IZP) = LOR (IZW, SHFTL(1,IZP-1) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
MSBIT1 (IZW,IZP) = OR (IZW, LSHIFT(1,IZP-1))
#elif defined(CERNLIB_PDP)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbyt.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbyt.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_sbyt.inc 1996-03-06 05:46:52.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_sbyt.inc 2006-09-07 15:06:08.255545926 -0400
@@ -43,7 +43,7 @@
+ LAND (IZW, LCOMPL(SHFTL (SHFTR(-1,32-NZB), IZP-1)))
+ , SHFTR (SHFTL(MZ,32-NZB), 33-IZP-NZB) )
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
MSBYT (MZ,IZW,IZP,NZB) = OR (
+ AND (IZW, NOT(LSHIFT (ISHFTR(NOT(0),32-NZB),IZP-1)))
+ ,ISHFTR (LSHIFT(MZ,32-NZB), 33-IZP-NZB) )
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_shift.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_shift.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_shift.inc 1996-03-06 05:46:52.000000000 -0500
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_shift.inc 2006-09-07 15:06:08.255545926 -0400
@@ -36,7 +36,7 @@
ISHFTL (IZW,NZB) = SHFTL (IZW, NZB)
ISHFTR (IZW,NZB) = SHFTR (IZW, NZB)
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
ISHFTL (IZW,NZB) = LSHIFT (IZW,NZB)
#elif (defined(CERNLIB_SUN))&&(!defined(CERNLIB_BUGLRSHFT))
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_shiftl.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_shiftl.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_shiftl.inc 1996-04-18 12:15:25.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_shiftl.inc 2006-09-07 15:06:08.255545926 -0400
@@ -28,7 +28,7 @@
#elif defined(CERNLIB_QF_SIEM)
ISHFTL (IZW,NZB) = SHFTL (IZW, NZB)
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
ISHFTL (IZW,NZB) = LSHIFT (IZW,NZB)
#elif (defined(CERNLIB_SUN))&&(!defined(CERNLIB_BUGLRSHFT))
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_shiftr.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_shiftr.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_shiftr.inc 1996-04-18 12:15:25.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_shiftr.inc 2006-09-07 15:06:08.255545926 -0400
@@ -32,7 +32,7 @@
#elif defined(CERNLIB_QF_SIEM)
ISHFTR (IZW,NZB) = SHFTR (IZW, NZB)
-#elif defined(CERNLIB_LINUX)
+#elif (defined(CERNLIB_LINUX))&&(!defined(CERNLIB_GFORTRAN))
#elif (defined(CERNLIB_SUN))&&(!defined(CERNLIB_BUGLRSHFT))
ISHFTR (IZW,NZB) = lrshft (IZW, NZB)
diff -urNad cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_xor.inc cernlib-2005.dfsg/src/packlib/zebra/zebra/q_xor.inc
--- cernlib-2005.dfsg~/src/packlib/zebra/zebra/q_xor.inc 1996-04-18 12:15:26.000000000 -0400
+++ cernlib-2005.dfsg/src/packlib/zebra/zebra/q_xor.inc 2006-09-07 15:06:08.256545713 -0400
@@ -24,7 +24,7 @@
#elif defined(CERNLIB_QMIBMSI)
IEOR (IZV,IZW) = LXOR (IZV, IZW)
-#elif defined(CERNLIB_LNX)
+#elif (defined(CERNLIB_LNX))&&(!defined(CERNLIB_GFORTRAN))
IEOR(IZV,IZW) = XOR(IZV,IZW)
#elif defined(CERNLIB_SUN)
cernlib_2005.dfsg-3.diff:
--- NEW FILE cernlib_2005.dfsg-3.diff ---
--- cernlib-2005.dfsg.orig/debian/control
+++ cernlib-2005.dfsg/debian/control
@@ -0,0 +1,405 @@
+Source: cernlib
+Maintainer: Kevin B. McCarty <kmccarty at debian.org>
+Standards-Version: 3.7.2
+Priority: optional
+Section: science
+Build-Depends: dpatch (>= 2.0.9), patch, mawk | gawk, xutils-dev, debhelper (>= 5.0.0), g77, cfortran (>= 4.4-8), x11proto-core-dev, libxt-dev, libx11-dev, lesstif2-dev, refblas3-dev | libblas-3.so, lapack3-dev | liblapack-3.so
+
+Package: cernlib-base
+Architecture: all
+Section: devel
+Conflicts: libcojets1-dev, libgeant1-dev, libherwig59-dev, libisajet758-dev, libkuipx11-1-dev, libmathlib1-dev, libpaw1-dev, libpdflib804-dev, libphtools1-dev, blas2-dev, lapack2-dev
+Description: script to determine Cernlib library dependencies
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes the "cernlib" script that lists the command-line
+ options needed for linking against Cernlib libraries. The script has
+ been rewritten from the upstream version to calculate
+ dependencies recursively. Also included are a README.Debian with a summary
+ of changes made to Cernlib to fit it into Debian packaging practices,
+ a contributed set of Autoconf macros to test for Cernlib libraries, and a
+ set of Imake macros to allow Cernlib modules to be built out-of-tree.
+
+Package: cernlib-core-dev
+Architecture: all
+Section: devel
+Depends: cernlib-base (= ${Source-Version}), libgraflib1-dev, libgrafx11-1-dev, libkernlib1-dev, libpacklib1-lesstif-dev, libmathlib2-dev, libpacklib1-dev, libpawlib2-dev, libpawlib2-lesstif-dev, kuipc, dzedit
+Description: Cernlib development headers, tools, and static libraries
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This metapackage provides the header files and static libraries likely to be
+ wanted by developers using the Cern libraries who are not interested
+ specifically in high energy physics. It also provides the Cernlib
+ development tools DZedit and KUIPC. Cernlib analysis programs may be
+ obtained by installing the cernlib-core metapackage.
+
+Package: cernlib-core
+Architecture: all
+Section: science
+Depends: cernlib-base (= ${Source-Version}), kxterm, paw++, paw, paw-common, paw-demos
+Description: Cernlib main libraries and programs
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This metapackage provides the libraries and analysis tools (e.g. PAW) likely
+ to be wanted by most users of the Cern libraries who are not interested
+ specifically in high energy physics. You cannot do program development by
+ installing only this metapackage; development libraries and tools may
+ be obtained by installing the cernlib-core-dev metapackage or individual
+ lib*-dev packages.
+
+Package: cernlib-extras
+Architecture: all
+Priority: extra
+Section: science
+Depends: cernlib-base (= ${Source-Version}), pawserv, zftp
+Description: miscellaneous Cernlib programs unlikely to be used by many
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This metapackage provides a few additional Cernlib programs not included
+ in any other Cernlib metapackage. Very few people are likely to be
+ interested in them; currently they include zftp, pawserv and zserv.
+ Notice that the latter two programs run as daemons through inetd and may
+ reduce your system's security!
+ .
+ Installing this package along with the "cernlib" metapackage will supply
+ a complete set of all Cernlib programs and libraries included in Debian.
+
+Package: cernlib
+Architecture: all
+Section: science
+Depends: cernlib-base (= ${Source-Version}), cernlib-core, cernlib-core-dev, cernlib-montecarlo, geant321-data, geant321-doc, geant321, libgeant321-2, libgeant321-2-dev
+Description: almost complete set of Debian Cernlib packages
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This metapackage provides almost all of the programs and libraries contained
+ in Cernlib. Most people will likely want only a subset of these. A few
+ extra Cernlib programs, not of interest to many people, may be obtained via
+ the cernlib-extras metapackage.
+
+Package: dzedit
+Architecture: any
+Section: devel
+Depends: ${shlibs:Depends}
+Recommends: libpacklib1-dev
+Description: Cernlib's ZEBRA documentation editor
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ DZedit is an interactive interface to the DZDOC (ZEBRA documentation) system
+ developed at CERN. ZEBRA, part of the Packlib library, permits a developer to
+ create complex data structures in the FORTRAN 77 language; the DZDOC system
+ allows the developer to generate and maintain documentation of ZEBRA data
+ structures.
+
+Package: kuipc
+Architecture: any
+Section: devel
+Depends: ${shlibs:Depends}, cernlib-base
+Recommends: libpacklib1-dev
+Suggests: libpacklib1-lesstif-dev
+Description: Cernlib's Kit for a User Interface Package (KUIP) compiler
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ KUIPC, the Kit for a User Interface Package Compiler, is a tool to simplify
+ the writing of a program's user interface code. It takes as
+ input a Command Definition File (CDF) that describes the
+ commands to be understood by the program, and outputs C or FORTRAN code that
+ makes the appropriate function calls to set up the user interface. This
+ code can then be compiled and linked with the rest of the program. Since
+ the generated code uses KUIP routines, the program must also be linked
+ against the Packlib library that contains them.
+ .
+ KUIPC is no longer actively developed, so aside from its use in the build
+ process of Cernlib, it is of mainly historical interest.
+
+Package: kxterm
+Architecture: any
+Section: science
+Depends: ${shlibs:Depends}, cernlib-base
+Description: Cernlib's KUIP terminal emulator
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ KXterm is a terminal emulator which combines the best features from
+ the (now defunct) Apollo DM pads (like: input and transcript
+ pads, automatic file backup of transcript pad, string search in pads,
+ etc.) and the Korn shell emacs-style command line editing and command
+ line recall mechanism. It can support the command-line interface
+ of various Cernlib applications.
+
+Package: libgraflib1-dev
+Architecture: any
+Section: libdevel
+Depends: libgraflib1 (= ${Source-Version}), libgrafx11-1-dev (= ${Source-Version})
+Description: Cernlib graphical library (development files)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ The graflib library includes the HPLOT and DZDOC systems. HPLOT is a
+ graphing facility intended to produce drawings and slides of histograms
+ (and other data) of a quality suitable to talks and publications. DZDOC
+ provides a method of viewing Cernlib's ZEBRA data structures. This package
+ includes a static version of graflib, as well as C and FORTRAN header files.
+
+Package: libgraflib1
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Description: Cernlib graphical library
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ The graflib library includes the HPLOT and DZDOC systems. HPLOT is a
+ graphing facility intended to produce drawings and slides of histograms
+ (and other data) of a quality suitable to talks and publications. DZDOC
+ provides a method of viewing Cernlib's ZEBRA data structures.
+ .
+ Note that in order to compile and link programs against this library,
+ you must also install the libgraflib1-dev package.
+
+Package: libgrafx11-1-dev
+Architecture: any
+Section: libdevel
+Depends: libgrafx11-1 (= ${Source-Version}), libpacklib1-dev (= ${Source-Version}), libx11-dev (>= 4.3.0-3)
+Description: Cernlib library interface to X11 and PostScript (development)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes a static version of libgrafX11, also known as HIGZ
+ (High-level Interface to Graphics and ZEBRA), an interface to the X Window
+ System. In addition to basic drawing functions, HIGZ includes a PostScript
+ interface. Also included are C and FORTRAN header files.
+
+Package: libgrafx11-1
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Description: Cernlib library interface to X11 and PostScript
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
[...16761 lines suppressed...]
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+
+#. Type: select
+#. Choices
+#. Note to translators: only the English word "Both" below should be translated
+#: ./pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr "Pawserv, Zserv, Cả hai"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr "Máy phục vụ cần chạy từ trình inetd"
+
+#. Type: select
+#. Description
+#: ./pawserv.templates.master:6
+msgid ""
+"This package includes both the pawserv daemon (permitting remote hosts to "
+"read local files while running PAW/Paw++) and the zserv daemon (allowing "
+"remote hosts to log in using CERN's ZFTP protocol). These servers are run "
+"from inetd; you may enable either or both of them. Unless you have very "
+"specialized requirements, most likely you only want to enable pawserv."
+msgstr "Gói tin nà y bao gá»m cả hai trình ná»n (dæmon) pawserv (mà cho phép máy tá» xa Äá»c táºp tin Äá»a phÆ°Æ¡ng trong khi chạy PAW/Paw++) và trình ná»n zserv (mà cho phép máy từ xa ÄÄng nháºp dùng giao thức ZFTP của CERN). Cả hai trình phục vụ nà y Äược chạy từ trình ná»n inetd; bạn có thá» hiá»u lá»±c má»t hay cả hai Äiá»u. Tuy nhiên, trừ bạn cần thiết là m viá»c rất Äặc biá»t, rất có thá» là bạn sẽ muá»n hiá»u lá»±c chá» trình pawserv."
--- cernlib-2005.dfsg.orig/debian/po/pt_BR.po
+++ cernlib-2005.dfsg/debian/po/pt_BR.po
@@ -0,0 +1,55 @@
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cernlib\n"
+"Report-Msgid-Bugs-To: debian-l10n-portuguese at lists.debian.org\n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: 2005-05-26 16:05-0300\n"
+"Last-Translator: André Luís Lopes <andrelop at debian.org>\n"
+"Language-Team: Debian-BR Project <debian-l10n-portuguese at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#. Note to translators: only the English word "Both" below should be translated
+#: ../pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr "Pawserv, Zserv, Ambos"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr "Servidores a serem executados a partir do inetd"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid ""
+"This package includes both the pawserv daemon (permitting remote hosts to "
+"read local files while running PAW/Paw++) and the zserv daemon (allowing "
+"remote hosts to log in using CERN's ZFTP protocol). These servers are run "
+"from inetd; you may enable either or both of them. Unless you have very "
+"specialized requirements, most likely you only want to enable pawserv."
+msgstr ""
+"Este pacote inclui ambos o daemon pawserv (permitindo hosts remotos "
+"lerem arquivos locais enquanto executando PAW/Paw++) e o daemon zerv "
+"(permitindo hosts remotos a se autenticarem usando o protocolo ZFTP "
+"do CERN). Esses servidores são executados a partir do inetd; você "
+"pode habilitar cada um deles separadamente ou ambos. A menos que você "
+"possua necessidades bastante especializadas, você provavelmente irá "
+"desejar habilitar somente o pawserv."
--- cernlib-2005.dfsg.orig/debian/po/sv.po
+++ cernlib-2005.dfsg/debian/po/sv.po
@@ -0,0 +1,53 @@
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+# Developers do not need to manually edit POT or PO files.
+# , fuzzy
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cernlib 2005.05.09-4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: 2005-10-06 23:50+0200\n"
+"Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
+"Language-Team: Swedish <sv at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit"
+
+#. Type: select
+#. Choices
+#. Note to translators: only the English word "Both" below should be translated
+#: ../pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr "Pawserv, Zserv, Båda"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr "Servrar som ska köras från inetd"
+
+#. Type: select
+#. Description
+#: ../pawserv.templates.master:6
+msgid ""
+"This package includes both the pawserv daemon (permitting remote hosts to "
+"read local files while running PAW/Paw++) and the zserv daemon (allowing "
+"remote hosts to log in using CERN's ZFTP protocol). These servers are run "
+"from inetd; you may enable either or both of them. Unless you have very "
+"specialized requirements, most likely you only want to enable pawserv."
+msgstr ""
+"Detta paket inkluderar både pawserver-daemonen (tillåter fjärrsystem att "
+"läsa lokala filer när PAW/Paw++ körs) och zserv-daemonen (tillåter fjärrsystem "
+"att logga in med CERN's ZFTP-protokoll). Dessa servrar körs från inetd; du måste "
+"aktivera någon eller båda av dom. Om du inte har speciella krav så räcker det gott "
+"om pawserv aktiveras."
+
--- cernlib-2005.dfsg.orig/debian/po/es.po
+++ cernlib-2005.dfsg/debian/po/es.po
@@ -0,0 +1,55 @@
+# cernlib po-debconf translation to Spanish
+# Copyright (C) 2005 Software in the Public Interest
+# This file is distributed under the same license as the cernlib package.
+#
+# Changes:
+# - Initial translation
+# César Gómez MartÃn <cesar.gomez at gmail.com>
+#
+# Traductores, si no conoce el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Equipo de traducción al español, por favor, lean antes de traducir
+# los siguientes documentos:
+#
+# - El proyecto de traducción de Debian al español
+# http://www.debian.org/intl/spanish/
+# especialmente las notas de traducción en
+# http://www.debian.org/intl/spanish/notas
+#
+# - La guÃa de traducción de po's de debconf:
+# /usr/share/doc/po-debconf/README-trans
+# o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cernlib\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-02-25 17:23-0500\n"
+"PO-Revision-Date: 2005-09-01 17:49+0100\n"
+"Last-Translator: César Gómez MartÃn <cesar.gomez at gmail.com>\n"
+"Language-Team: Debian l10n spanish <debian-l10n-spanish at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-Country: SPAIN\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#. Type: select
+#: ../pawserv.templates.master:4
+msgid "Pawserv, Zserv, Both"
+msgstr "Pawserv, Zserv, Ambos"
+
+#. Type: select
+#: ../pawserv.templates.master:6
+msgid "Servers to be run from inetd"
+msgstr "Servidores a ejecutar desde inetd"
+
+#. Type: select
+#: ../pawserv.templates.master:6
+msgid "This package includes both the pawserv daemon (permitting remote hosts to read local files while running PAW/Paw++) and the zserv daemon (allowing remote hosts to log in using CERN's ZFTP protocol). These servers are run from inetd; you may enable either or both of them. Unless you have very specialized requirements, most likely you only want to enable pawserv."
+msgstr "Este paquete incluye el demonio pawserv (permite a las máquinas remotas leer ficheros locales mientras se ejecuta PAW/Paw++) y el demonio zserv (permite a las máquinas remotas conectarse a través del protocolo ZFTP del CERN). Estos servidores se ejecutan desde inetd; puede habilitar cualquiera de ellos o los dos. A no ser que tenga algunos requisitos muy especializados, lo más probable es que sólo quiera habilitar pawserv."
+
--- NEW FILE paw-119-fix-compiler-warnings.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 119-fix-compiler-warnings.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix a number of compiler warnings. Courtesy of Harald Vogt.
@DPATCH@
diff -urNad paw-2.14.04~/src/pawlib/paw/ntuple/qp_vvec.c paw-2.14.04/src/pawlib/paw/ntuple/qp_vvec.c
--- paw-2.14.04~/src/pawlib/paw/ntuple/qp_vvec.c 1996-05-12 11:13:56.000000000 -0400
+++ paw-2.14.04/src/pawlib/paw/ntuple/qp_vvec.c 2006-09-07 17:41:07.574458016 -0400
@@ -19,6 +19,7 @@
*/
#include <stdlib.h>
+#include <string.h>
#include "qp_report.h"
#include "qp_vvec.h"
diff -urNad paw-2.14.04~/src/pawlib/paw/xbae/caption.c paw-2.14.04/src/pawlib/paw/xbae/caption.c
--- paw-2.14.04~/src/pawlib/paw/xbae/caption.c 1996-03-01 06:39:36.000000000 -0500
+++ paw-2.14.04/src/pawlib/paw/xbae/caption.c 2006-09-07 17:41:07.576457590 -0400
@@ -244,7 +244,7 @@
* it will use our name as it's label.
*/
(void)
- XtVaCreateManagedWidget(XtName(new),
+ XtVaCreateManagedWidget(XtName((Widget)new),
xmLabelWidgetClass, (Widget)new,
XmNbackground, new->core.background_pixel,
XmNforeground, new->manager.foreground,
diff -urNad paw-2.14.04~/src/pawlib/paw/xbae/clip.c paw-2.14.04/src/pawlib/paw/xbae/clip.c
--- paw-2.14.04~/src/pawlib/paw/xbae/clip.c 1996-03-01 06:39:36.000000000 -0500
+++ paw-2.14.04/src/pawlib/paw/xbae/clip.c 2006-09-07 17:41:07.577457377 -0400
@@ -190,8 +190,8 @@
* XXX It might be more efficient to fake up an Expose event
* and call Redisplay directly
*/
- if (XtIsRealized(cw))
- XClearArea(XtDisplay(cw), XtWindow(cw),
+ if (XtIsRealized((Widget)cw))
+ XClearArea(XtDisplay((Widget)cw), XtWindow((Widget)cw),
0, 0,
0 /*Full Width*/, 0 /*Full Height*/,
True);
diff -urNad paw-2.14.04~/src/pawlib/paw/xbae/matrix.c paw-2.14.04/src/pawlib/paw/xbae/matrix.c
--- paw-2.14.04~/src/pawlib/paw/xbae/matrix.c 1998-09-02 11:23:57.000000000 -0400
+++ paw-2.14.04/src/pawlib/paw/xbae/matrix.c 2006-09-07 17:41:07.582456313 -0400
@@ -67,7 +67,10 @@
#endif
/* this BSDism is used to often to replace it in the code */
+/* but avoid warning of redefinition for linux OS */
+#ifndef linux
#define bcopy(src,dst,n) memmove(dst,src,n)
+#endif
/*
* Translations for Matrix (these will also be used by the Clip child).
@@ -3467,7 +3470,7 @@
*/
VERT_ORIGIN(mw) = call_data->value;
- if (!XtIsRealized(mw))
+ if (!XtIsRealized((Widget)mw))
return;
/*
@@ -3646,7 +3649,7 @@
*/
HORIZ_ORIGIN(mw) = call_data->value;
- if (!XtIsRealized(mw))
+ if (!XtIsRealized((Widget)mw))
return;
/*
@@ -6162,7 +6165,7 @@
(*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit)
(mw, True);
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Generate expose events on Matrix and Clip to force the
* new rows to be drawn.
@@ -6254,7 +6257,7 @@
(*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit)
(mw, True);
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Generate expose events on Matrix and Clip to force the
* rows to be redrawn.
@@ -6349,7 +6352,7 @@
(*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit)
(mw, True);
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Generate expose events on Matrix and Clip to force the
* new columns to be drawn.
@@ -6446,7 +6449,7 @@
(*((XbaeMatrixWidgetClass) XtClass(mw))->matrix_class.cancel_edit)
(mw, True);
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Generate expose events on Matrix and Clip to force the
* columns to be redrawn.
@@ -6528,7 +6531,7 @@
for (j = 0; j < mw->matrix.columns; j++)
mw->matrix.cell_background[i + position][j] = colors[i];
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Redraw all the visible non-fixed cells. We don't need to clear first
* since only the color changed.
@@ -6626,7 +6629,7 @@
for (j = 0; j < num_colors; j++)
mw->matrix.cell_background[i][j + position] = colors[j];
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Redraw all the visible non-fixed cells. We don't need to clear first
* since only the color changed.
@@ -6716,7 +6719,7 @@
*/
mw->matrix.cell_background[row][column] = color;
- if (XtIsRealized(mw)) {
+ if (XtIsRealized((Widget)mw)) {
/*
* Redraw the cell if it is visible
*/
--- NEW FILE paw-320-support-ifort-and-gfortran.dpatch ---
#! /bin/sh /usr/share/dpatch/dpatch-run
## 320-support-ifort-and-gfortran.dpatch by <kmccarty at debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Support use of ifort, icc and/or gfortran as default compilers.
@DPATCH@
diff -urNad paw-2.14.04~/src/pawlib/comis/code/csinit.F paw-2.14.04/src/pawlib/comis/code/csinit.F
--- paw-2.14.04~/src/pawlib/comis/code/csinit.F 2006-09-07 17:57:19.881356063 -0400
+++ paw-2.14.04/src/pawlib/comis/code/csinit.F 2006-09-07 18:04:23.085153626 -0400
@@ -217,8 +217,18 @@
#endif
#if (defined(CERNLIB_LINUX))
ITMPLEN=CSTMPD(CHPATH, 256)
+# if (defined(CERNLIB_GFORTRAN))
+ CHF77 ='gfortran -g -c -fPIC'
+# elif (defined(CERNLIB_INTELIFC))
+ CHF77 ='ifort -g -c -fPIC'
+# else
CHF77 ='g77 -g -c -fPIC'
+# endif
+# if (defined(CERNLIB_INTELIFC))
+ CHCC ='icc -g -c -fPIC'
+# else
CHCC ='cc -g -c -fPIC'
+# endif
#endif
#if (defined(CERNLIB_SGI))&&(defined(CERNLIB_SHL))
ITMPLEN=CSTMPD(CHPATH, 256)
diff -urNad paw-2.14.04~/src/pawlib/paw/ntuple/Imakefile paw-2.14.04/src/pawlib/paw/ntuple/Imakefile
--- paw-2.14.04~/src/pawlib/paw/ntuple/Imakefile 2006-09-07 17:57:19.916348611 -0400
+++ paw-2.14.04/src/pawlib/paw/ntuple/Imakefile 2006-09-07 17:57:35.628002463 -0400
@@ -16,9 +16,17 @@
EXTRA_DEFINES := $(EXTRA_DEFINES) -Dextname
#endif
-#if defined(CERNLIB_LINUX)
+#if defined(CERNLIB_LINUX) && !defined(CERNLIB_QMLXIA64)
+EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran
+#endif
+
+#if defined(CERNLIB_QMLXIA64)
+#if defined(CERNLIB_GFORTRAN)
+EXTRA_DEFINES := $(EXTRA_DEFINES) -DgFortran
+#else
EXTRA_DEFINES := $(EXTRA_DEFINES) -Df2cFortran
#endif
+#endif
#if defined(CERNLIB_HPUX)
CCOPTIONS += -Wp,-H10000
paw_2.14.04-3.diff:
--- NEW FILE paw_2.14.04-3.diff ---
--- paw-2.14.04.orig/debian/control
+++ paw-2.14.04/debian/control
@@ -0,0 +1,194 @@
+Source: paw
+Maintainer: Kevin B. McCarty <kmccarty at debian.org>
+Standards-Version: 3.7.2
+Priority: optional
+Section: science
+Build-Depends: dpatch (>= 2.0.9), patch, mawk | gawk, xutils-dev, debhelper (>= 5.0.0), g77, cfortran (>= 4.4-8), x11proto-core-dev, libxt-dev, libx11-dev, lesstif2-dev, libmathlib2-dev, libkernlib1-dev (>= 2005.dfsg-3), libpacklib1-dev (>= 2005.dfsg-3), libgraflib1-dev, libgrafx11-1-dev, libpacklib1-lesstif-dev, kuipc, cernlib-base (>= 2005.05.09.dfsg-9)
+
+Package: libpawlib2-dev
+Architecture: any
+Section: libdevel
+Depends: libpawlib2 (= ${Source-Version}), libgraflib1-dev, libmathlib2-dev
+Replaces: libpaw1-dev
+Conflicts: libpaw1-dev
+Suggests: libpawlib2-lesstif-dev
+Description: Cernlib PAW library - portion without Lesstif (development files)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes a static version of (most of) the library pawlib,
+ required by the Cernlib application PAW. In addition to the internal workings
+ of PAW, pawlib also provides the COMIS FORTRAN interpreter and the SIGMA array
+ manipulation language. The Lesstif-dependent parts of the library are
+ provided in the libpawlib2-lesstif-dev package.
+ .
+ The COMIS portion of this library is functional on AMD64 machines only
+ when statically linked, and not at all on other 64-bit platforms.
+
+Package: libpawlib2-lesstif-dev
+Architecture: any
+Section: libdevel
+Conflicts: libpaw1-dev
+Replaces: libpaw1-dev
+Depends: libpawlib2-lesstif (= ${Source-Version}), libpawlib2-dev (= ${Source-Version}), libpacklib1-lesstif-dev, lesstif2-dev
+Description: Cernlib PAW library (Lesstif-dependent part - development files)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes the Lesstif-dependent parts of the library pawlib,
+ required by the Cernlib application Paw++, in a static version. The remainder
+ of pawlib is provided in the package libpawlib2-dev.
+ .
+ The COMIS portion of pawlib is functional on AMD64 machines only when
+ statically linked, and not at all on other 64-bit platforms.
+
+Package: libpawlib2-lesstif
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Description: Cernlib PAW library (Lesstif-dependent part)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes the Lesstif-dependent parts of the library pawlib,
+ required by the Cernlib application Paw++. Note that in order to compile and
+ link programs against this library, you must also install the
+ libpawlib2-lesstif-dev package. The remainder of pawlib is provided in the
+ package libpawlib2.
+ .
+ The COMIS portion of pawlib is functional on AMD64 machines only when
+ statically linked, and not at all on other 64-bit platforms.
+
+Package: libpawlib2
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, g77, netbase (>= 4.08)
+Recommends: libc6-dev | libc-dev
+Description: Cernlib PAW library - portion without Lesstif dependencies
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes (most of) the library pawlib, required by the Cernlib
+ application PAW. In addition to the internal workings of PAW, pawlib
+ also provides the COMIS FORTRAN interpreter and the SIGMA array
+ manipulation language. The Lesstif-dependent parts of the library are
+ provided in the libpawlib2-lesstif package.
+ .
+ Note that in order to compile and link programs against this library, you
+ must install the libpawlib2-dev and maybe also the libpawlib2-lesstif-dev
+ package(s).
+ .
+ The COMIS portion of this library is functional on AMD64 machines only
+ when statically linked, and not at all on other 64-bit platforms.
+
+Package: paw++-static
+Architecture: any
+Section: science
+Depends: paw++ (>= 2005.05.09.dfsg-3)
+Description: Dummy package for smooth upgrades of Paw++
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ Paw++ is an interactive program for use in analysis and graphical presentation.
+ .
+ The paw++ package has been changed to include a dynamically linked version
+ of Paw++ on 32-bit architectures and a statically linked version on 64-bit
+ architectures. This package, paw++-static, is therefore now an empty dummy
+ package that depends upon paw++ in order to ensure smooth upgrades. On
+ 64-bit arches it provides a backwards-compatibility symlink
+ /usr/bin/paw++.static -> paw++. Unless you need the symlink, this package
+ may be removed with no ill effects.
+
+Package: paw++
+Architecture: any
+Section: science
+Depends: ${shlibs:Depends}, paw-common, kxterm, g77, netbase (>= 4.08)
+Suggests: paw-demos, gv
+Provides: paw-binary
+Replaces: paw-common (<< 2005.05.09.dfsg-3)
+Description: Physics Analysis Workstation (Lesstif-enhanced version)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes Paw++, an interactive program for use in analysis and
+ graphical presentation. Paw++ is the same program as PAW (in the "paw"
+ package), but with a more user-friendly Motif-based GUI, compiled against
+ Lesstif in Debian.
+ .
+ The program is linked statically against the CERN libraries on
+ 64-bit architectures in order to function properly, as its design is not
+ very 64-bit clean. Even so, AMD64 is the only 64-bit platform where it
+ functions well.
+
+Package: paw-common
+Architecture: all
+Section: science
+Depends: cernlib-base, netbase (>= 4.08)
+Recommends: libc6-dev | libc-dev, paw | paw-binary
+Description: Physics Analysis Workstation (common files)
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes arch-independent files for PAW, an interactive
+ program for use in analysis and graphical presentation. This package
+ is useless without also installing the paw or paw++ package.
+
+Package: paw-demos
+Architecture: all
+Section: science
+Depends: paw | paw-binary
+Description: Physics Analysis Workstation examples and tests
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ This package includes example scripts for use by PAW or Paw++, and test
+ scripts to make sure that the PAW or Paw++ programs behave correctly. You
+ may run the examples and tests with the included paw-demos program.
+
+Package: paw-static
+Architecture: any
+Section: science
+Depends: paw (>= 2005.05.09.dfsg-3)
+Description: Dummy package for smooth upgrades of PAW
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ PAW is an interactive program for use in analysis and graphical presentation.
+ .
+ The paw package has been changed to include a dynamically linked version
+ of PAW on 32-bit architectures and a statically linked version on 64-bit
+ architectures. This package, paw-static, is therefore now an empty dummy
+ package that depends upon paw in order to ensure smooth upgrades. On
+ 64-bit arches it provides a backwards-compatibility symlink
+ /usr/bin/pawX11.static -> pawX11. Unless you need the symlink, this package
+ may be removed with no ill effects.
+
+Package: paw
+Architecture: any
+Section: science
+Depends: ${shlibs:Depends}, paw-common, g77, netbase (>= 4.08)
+Suggests: paw-demos, gv
+Provides: paw-binary
+Replaces: paw-common (<< 2005.05.09.dfsg-3)
+Description: Physics Analysis Workstation - a graphical analysis program
+ Cernlib is a suite of data analysis tools and libraries created for
+ use in physics experiments, but also with applications to other
+ fields such as the biological sciences.
+ .
+ PAW is an interactive program providing interactive graphical presentation
+ and statistical and mathematical analysis tools. It is designed to work
+ on objects familiar to physicists such as histograms, event files (Ntuples),
+ vectors, etc.
+ .
+ The program is linked statically against the CERN libraries on 64-bit
+ architectures in order to function properly, as its design is not
+ very 64-bit clean. Even so, AMD64 is the only 64-bit platform where it
+ functions well.
+
--- paw-2.14.04.orig/debian/copyright
+++ paw-2.14.04/debian/copyright
[...5919 lines suppressed...]
+# the debian-policy package
+
+
+case "$1" in
+ install|upgrade)
+ # Remove any existing alternative for paw++
+ if [ -L /usr/bin/paw++ ] ; then
+ update-alternatives --remove-all paw++
+ fi
+ ;;
+
+ abort-upgrade)
+ ;;
+
+ *)
+ echo "preinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-dev.docs
+++ paw-2.14.04/debian/debhelper/libpawlib2-dev.docs
@@ -0,0 +1 @@
+debian/README.64-bit
--- paw-2.14.04.orig/debian/debhelper/libpawlib2.install
+++ paw-2.14.04/debian/debhelper/libpawlib2.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/libpawlib.so.2.2005
+debian/tmp/usr/lib/libpawlib.so.2
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-dev.dirs
+++ paw-2.14.04/debian/debhelper/libpawlib2-dev.dirs
@@ -0,0 +1,3 @@
+usr/lib
+usr/include
+usr/include/cfortran
--- paw-2.14.04.orig/debian/debhelper/libpawlib2.dirs
+++ paw-2.14.04/debian/debhelper/libpawlib2.dirs
@@ -0,0 +1 @@
+usr/lib
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-lesstif.dirs
+++ paw-2.14.04/debian/debhelper/libpawlib2-lesstif.dirs
@@ -0,0 +1 @@
+usr/lib
--- paw-2.14.04.orig/debian/debhelper/paw-common.dirs
+++ paw-2.14.04/debian/debhelper/paw-common.dirs
@@ -0,0 +1,3 @@
+usr/bin
+usr/share/pixmaps
+etc/X11/app-defaults
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-dev.links
+++ paw-2.14.04/debian/debhelper/libpawlib2-dev.links
@@ -0,0 +1,2 @@
+usr/include/comis.h usr/include/cfortran/comis.h
+usr/include/paw.h usr/include/cfortran/paw.h
--- paw-2.14.04.orig/debian/debhelper/paw-demos.install
+++ paw-2.14.04/debian/debhelper/paw-demos.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/bin/paw-demos
+debian/tmp/usr/share/paw-demos/
+debian/tmp/usr/share/man/man1/paw-demos.1
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-dev.examples
+++ paw-2.14.04/debian/debhelper/libpawlib2-dev.examples
@@ -0,0 +1 @@
+src/cfortran/Examples/pamain.c
--- paw-2.14.04.orig/debian/debhelper/paw-demos.dirs
+++ paw-2.14.04/debian/debhelper/paw-demos.dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/paw-demos
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-dev.install
+++ paw-2.14.04/debian/debhelper/libpawlib2-dev.install
@@ -0,0 +1,8 @@
+debian/tmp/usr/lib/libpawlib.a
+debian/tmp/usr/lib/libpawlib.so
+debian/tmp/usr/include/comis.h
+debian/tmp/usr/include/paw.h
+debian/tmp/usr/include/paw.car
+debian/tmp/usr/include/comis/
+debian/tmp/usr/include/paw/
+debian/tmp/usr/include/sigma/
--- paw-2.14.04.orig/debian/debhelper/paw-demos.links
+++ paw-2.14.04/debian/debhelper/paw-demos.links
@@ -0,0 +1 @@
+usr/share/paw-demos usr/share/doc/paw-demos/examples
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-lesstif.install
+++ paw-2.14.04/debian/debhelper/libpawlib2-lesstif.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/libpawlib-lesstif.so.2.2005
+debian/tmp/usr/lib/libpawlib-lesstif.so.2
--- paw-2.14.04.orig/debian/debhelper/libpawlib2-lesstif-dev.install
+++ paw-2.14.04/debian/debhelper/libpawlib2-lesstif-dev.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/libpawlib-lesstif.a
+debian/tmp/usr/lib/libpawlib-lesstif.so
--- paw-2.14.04.orig/debian/README.64-bit
+++ paw-2.14.04/debian/README.64-bit
@@ -0,0 +1,49 @@
+64-bit specific Cernlib issues
+------------------------------
+
+If you are intending to use CERN libraries on a 64-bit platform (such as
+the Itanium [ia64], Alpha, or AMD64 / EMT64 [amd64] Debian architectures),
+you should be aware of some potential problems.
+
+Cernlib was never designed to run on machines where the size of a pointer
+is 64 bits. The code implicitly assumes that
+ sizeof(void *) == sizeof(int) == 4
+in many different places. The biggest culprits are the ZEBRA and COMIS sets
+of routines in the packlib and pawlib libraries, respectively. This would be
+difficult to fix without rewriting megabytes of FORTRAN source code.
+
+Harald Vogt has, however, succeeded in putting together enough workarounds
+to permit PAW and Paw++ to run on some 64-bit machines. These workarounds
+are valid only when the entire set of code in a program's memory space can
+be addressed by 32-bit values. This will generally be true for statically
+linked programs, but not for dynamically linked ones. Furthermore, they
+do not really work on the alpha and ia64 architectures, but only on amd64,
+due to the different choices made between the architectures for virtual
+memory layouts. (Basically, the amd64 Linux port keeps shared library
+code, data, and static variables within a pointer range addressable by 32-bit
+values; ia64 and alpha do not.)
+
+To summarize, many of the CERN libraries on 64-bit machines may not work well
+except on the amd64 architecture, and there only when linked against
+statically. Routines outside of ZEBRA and COMIS may be safe to use outside
+of these conditions, but I would not bet money on it.
+
+Static linking is the default behavior if you use the "cernlib" script when
+linking, like this:
+
+ # Should work everywhere:
+ g77 -o myprogram myprogram.F âcernlib -G Motif pawlibâ
+
+but not if you directly tell the library names to the compiler, like this:
+
+ # Possibly results in a non-working program on 64-bit!
+ g77 -o myprogram myprogram.F -lpawlib -lpacklib ...
+
+For more information, please see Harald Vogt's web page about Cernlib ported
+to 64-bit machines:
+ http://www-zeuthen.desy.de/linear_collider/cernlib/cernlib_2005.html
+
+If you are using an AMD64 machine, please also see the file
+/usr/share/doc/cernlib-base/README.amd64 for important additional information.
+
+-- Kevin McCarty <kmccarty at debian.org>, Tue, 16 May 2006
--- paw-2.14.04.orig/debian/addresstest.c
+++ paw-2.14.04/debian/addresstest.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+/* stupid program to figure out where ia64 puts stuff */
+
+extern int errno;
+int output(void) { return 5; }
+int foo;
+int bar = 12;
+int baz[100];
+
+int main(void)
+{
+ int foo2;
+ int bar2 = 12;
+ static int bar3 = 5;
+ char baz2[100];
+ static char baz3[100] = { 0, };
+ char * m;
+
+ m = malloc(5);
+
+ printf("shared lib function (malloc) = %p\n", (void *)malloc);
+ printf("shared lib variable (errno) = %p\n\n", (void *)&errno);
+ printf("local function (output) = %p\n", (void *)output);
+ printf("local function (main) = %p\n", (void *)main);
+ printf("constant string (\"str\") = %p\n\n", (void *)"str");
+ printf("static variable (foo) = %p\n", (void *)&foo);
+ printf("constant (bar) = %p\n", (void *)&bar);
+ printf("static array (baz) = %p\n", (void *)baz);
+ printf("static local variable (bar3) = %p\n", (void *)&bar3);
+ printf("static local array (baz3) = %p\n", (void *)baz3);
+ printf("memory on heap (m) = %p\n\n", (void *)m);
+ // I thought the stack on ia64 was supposed to be 0x8... up to 0xa...
+ // why aren't the following found at 0x9fff... ?
+ printf("automatic variable (foo2) = %p\n", (void *)&foo2);
+ printf("const auto variable (bar2) = %p\n", (void *)&bar2);
+ printf("automatic array (baz2) = %p\n", (void *)baz2);
+
+ return 0;
+}
+
Index: cernlib-115-rsrtnt64-goto-outer-block.dpatch
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/cernlib-115-rsrtnt64-goto-outer-block.dpatch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cernlib-115-rsrtnt64-goto-outer-block.dpatch 1 Sep 2006 13:15:22 -0000 1.1
+++ cernlib-115-rsrtnt64-goto-outer-block.dpatch 11 Sep 2006 22:32:35 -0000 1.2
@@ -4,68 +4,101 @@
## All lines beginning with `## DP:' are a description of the patch.
## DP: Patch from Patrice Dumas <pertusus at free.fr> to fix spaghetti code in
## DP: rsrtnt64.F that breaks linking step on Itanium.
+## DP: Also, following Harald Vogt, change indicators of line continuation
+## DP: from "1" -> "&" to be compatible with gfortran.
@DPATCH@
-diff -urNad cernlib-2005.05.09.dfsg~/src/mathlib/gen/b/rsrtnt64.F cernlib-2005.05.09.dfsg/src/mathlib/gen/b/rsrtnt64.F
---- cernlib-2005.05.09.dfsg~/src/mathlib/gen/b/rsrtnt64.F 1996-04-01 10:01:51.000000000 -0500
-+++ cernlib-2005.05.09.dfsg/src/mathlib/gen/b/rsrtnt64.F 2005-12-06 11:22:08.500724891 -0500
-@@ -117,8 +117,15 @@
+diff -urNad cernlib-2005.dfsg~/src/mathlib/gen/b/rsrtnt64.F cernlib-2005.dfsg/src/mathlib/gen/b/rsrtnt64.F
+--- cernlib-2005.dfsg~/src/mathlib/gen/b/rsrtnt64.F 1996-04-01 10:01:51.000000000 -0500
++++ cernlib-2005.dfsg/src/mathlib/gen/b/rsrtnt64.F 2006-09-06 14:12:38.087369193 -0400
+@@ -53,7 +53,7 @@
+ IF(LLL) GO TO 9
+
+ LLL=K .GE. 0 .OR. K .EQ. -1 .AND. U*V .NE. 0
+- 1 .OR. K .LE. -2 .AND. U*V .GT. 0
++ & .OR. K .LE. -2 .AND. U*V .GT. 0
+ IF(.NOT.LLL) GO TO 9
+
+ DELTA=4*A*C-B**2
+@@ -117,9 +117,16 @@
ENDIF
ELSE
IF(N .EQ. 1) THEN
- ASSIGN 11 TO JMP1
- GO TO 10
+- 11 IF(K .EQ. 0) THEN
+ C2=2*C
+ IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
+ H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
-+ 1 (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
++ & (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
+ ELSEIF(DELTA .EQ. 0) THEN
+ H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
+ ELSE
+ H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
+ ENDIF
- 11 IF(K .EQ. 0) THEN
++ IF(K .EQ. 0) THEN
H=H
ELSEIF(K .EQ. 1) THEN
-@@ -174,14 +181,28 @@
+ H=(RT(V)-RT(U)-HF*B*H)/C
+@@ -134,7 +141,7 @@
+ G2=A*C
+ H3=G1-16*G2
+ H=(((H1*V-H2)*V+H3)*RT(V)-((H1*U-H2)*U+H3)*RT(U)-
+- 1 (HF*G1-18*G2)*B*H)/(24*C**3)
++ & (HF*G1-18*G2)*B*H)/(24*C**3)
+ ENDIF
+ ELSE
+ IF(DELTA .EQ. 0) THEN
+@@ -174,21 +181,35 @@
H=2*((H1+B*U)/RT(U)-(H1+B*V)/RT(V))/DELTA
LB1=11
ELSEIF(K .EQ. 2) THEN
- ASSIGN 12 TO JMP1
- GO TO 10
+- 12 H1=DELTA-B**2
+ C2=2*C
+ IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
+ H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
-+ 1 (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
++ & (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
+ ELSEIF(DELTA .EQ. 0) THEN
+ H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
+ ELSE
+ H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
+ ENDIF
- 12 H1=DELTA-B**2
++ H1=DELTA-B**2
H2=2*A*B
H=(((H1*U-H2)/RT(U)-(H1*V-H2)/RT(V))/DELTA+H)/C
ELSEIF(K .EQ. 3) THEN
- ASSIGN 13 TO JMP1
- GO TO 10
+- 13 H1=C*DELTA
+ C2=2*C
+ IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
+ H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
-+ 1 (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
++ & (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
+ ELSEIF(DELTA .EQ. 0) THEN
+ H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
+ ELSE
+ H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
+ ENDIF
- 13 H1=C*DELTA
++ H1=C*DELTA
G1=A*C
G2=3*B**2
-@@ -217,8 +238,32 @@
+ H2=B*(10*G1-G2)
+ H3=A*(8*G1-G2)
+ H=(2*(((H1*V+H2)*V+H3)/RT(V)-((H1*U+H2)*U+H3)/RT(U))/
+- 1 DELTA-3*B*H)/(2*C**2)
++ & DELTA-3*B*H)/(2*C**2)
+ ENDIF
+ ENDIF
+ ENDIF
+@@ -217,9 +238,33 @@
ENDIF
ELSE
IF(N .EQ. 1) THEN
- ASSIGN 21 TO JMP2
- GO TO 20
+- 21 IF(K .EQ. -1) THEN
+ IF(C .EQ. 0) THEN
+ IF(B .EQ. 0) THEN
+ H=LOG(ABS(V/U))/SQRT(A)
@@ -83,7 +116,7 @@
+ A2=2*A
+ IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. A .GT. 0) THEN
+ H=LOG(ABS((-2*SQRT(A*P(V))+B*V+A2)*U/
-+ 1 ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
++ & ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
+ ELSEIF(DELTA .EQ. 0) THEN
+ H=LOG(ABS((B*U+A2)*V/((B*V+A2)*U)))/SQRT(A)
+ IF(U*V .GT. 0) H=SIGN(H,U)
@@ -92,15 +125,26 @@
+ IF(U .LT. 0 .AND. V .LT. 0) H=-H
+ ENDIF
+ ENDIF
- 21 IF(K .EQ. -1) THEN
++ IF(K .EQ. -1) THEN
H=H
ELSEIF(K .EQ. -2) THEN
-@@ -257,8 +302,32 @@
+ H=(RT(U)/U-RT(V)/V-HF*B*H)/A
+@@ -227,7 +272,7 @@
+ H1=6*B
+ H2=4*A
+ H=((H1*V-H2)*RT(V)/V**2-(H1*U-H2)*RT(U)/U**2+
+- 1 (3*B**2-H2*C)*H)/(8*A**2)
++ & (3*B**2-H2*C)*H)/(8*A**2)
+ ENDIF
+ ELSE
+ IF(DELTA .EQ. 0) THEN
+@@ -257,9 +302,33 @@
IF(U. LT. -X0) H=-H
ENDIF
ELSE
- ASSIGN 22 TO JMP2
- GO TO 20
+- 22 IF(K .EQ. -1) THEN
+ IF(C .EQ. 0) THEN
+ IF(B .EQ. 0) THEN
+ H=LOG(ABS(V/U))/SQRT(A)
@@ -118,7 +162,7 @@
+ A2=2*A
+ IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. A .GT. 0) THEN
+ H=LOG(ABS((-2*SQRT(A*P(V))+B*V+A2)*U/
-+ 1 ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
++ & ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
+ ELSEIF(DELTA .EQ. 0) THEN
+ H=LOG(ABS((B*U+A2)*V/((B*V+A2)*U)))/SQRT(A)
+ IF(U*V .GT. 0) H=SIGN(H,U)
@@ -127,15 +171,32 @@
+ IF(U .LT. 0 .AND. V .LT. 0) H=-H
+ ENDIF
+ ENDIF
- 22 IF(K .EQ. -1) THEN
++ IF(K .EQ. -1) THEN
H1=B*C
H2=B**2-2*A*C
-@@ -287,46 +356,7 @@
+ H=(2*((H1*U+H2)/RT(U)-(H1*V+H2)/RT(V))/DELTA+H)/A
+@@ -270,7 +339,7 @@
+ H2=(G1-10*G2)*B
+ H3=A*DELTA
+ H=(((H1*V+H2-H3/V)/RT(V)-(H1*U+H2-H3/U)/RT(U))/DELTA
+- 1 -3*HF*B*H)/A**2
++ & -3*HF*B*H)/A**2
+ ELSEIF(K .EQ. -3) THEN
+ G1=A*DELTA
+ G2=A*C
+@@ -281,52 +350,13 @@
+ H3=(G4-62*G2)*G3+24*G2**2
+ H4=B*C*(G4-52*G2)
+ H=((((H2-H1/V)/V-H3-H4*V)/RT(V)-((H2-H1/U)/U-H3-H4*U)/RT(U))
+- 1 /DELTA+HF*(G4-12*G2)*H)/(4*A**3)
++ & /DELTA+HF*(G4-12*G2)*H)/(4*A**3)
+ ENDIF
+ ENDIF
ENDIF
ENDIF
ENDIF
- GO TO 9
--
+
- 10 C2=2*C
- IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
- H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
@@ -146,7 +207,7 @@
- H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
- ENDIF
- GO TO JMP1, (11,12,13)
-
+-
- 20 IF(C .EQ. 0) THEN
- IF(B .EQ. 0) THEN
- H=LOG(ABS(V/U))/SQRT(A)
Index: cernlib.spec
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/cernlib.spec,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- cernlib.spec 1 Sep 2006 13:58:33 -0000 1.36
+++ cernlib.spec 11 Sep 2006 22:32:35 -0000 1.37
@@ -1,6 +1,6 @@
Name: cernlib
Version: 2005
-Release: 25%{?dist}
+Release: 26%{?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.
@@ -89,8 +89,8 @@
Source203: cernlib-debian-copyright.in
# debian patchsets
-Patch100001: cernlib_2005.dfsg-1.diff
-Patch100002: paw_2.14.04-2.diff
+Patch100001: cernlib_2005.dfsg-3.diff
+Patch100002: paw_2.14.04-3.diff
Patch100003: mclibs_2005.dfsg-1.diff
Patch100004: geant321_3.21.14.dfsg-1.diff
# change file to directory to DATADIR
@@ -124,6 +124,10 @@
Patch116: cernlib-116-fix-fconc64-spaghetti-code.dpatch
Patch117: geant321-117-fix-optimizer-bug-in-gphot.dpatch
Patch118: cernlib-118-rename-mathlib-common-blocks.dpatch
+Patch11901: cernlib-119-fix-compiler-warnings.dpatch
+Patch11902: paw-119-fix-compiler-warnings.dpatch
+Patch120: cernlib-120-fix-gets-usage-in-kuipc.dpatch
+Patch121: cernlib-121-fix-mathlib-test-case-c209m.dpatch
Patch200: paw-200-comis-allow-special-chars-in-path.dpatch
Patch201: cernlib-201-update-kuip-helper-apps.dpatch
Patch202: cernlib-202-fix-includes-in-minuit-example.dpatch
@@ -141,8 +145,11 @@
Patch210: 210-improve-cfortran-header-files.dpatch
# split in newer debian patchset
# in debian split there is a common part at the beginning of the patch
-Patch2110: 211-fix-comis-on-amd64.dpatch
-Patch2111: paw-211-fix-comis-on-ia64-alpha.dpatch
+# 211-support-amd64-and-itanium corresponds with a merge of
+# cernlib-211-support-amd64-and-itanium.dpatch
+# paw-211-support-amd64-and-itanium.dpatch
+Patch2110: 211-support-amd64-and-itanium.dpatch
+Patch2111: cernlib-211-support-digital-alpha.dpatch
Patch300: cernlib-300-skip-duplicate-lenocc.dpatch
# Use another approach, see cernlib-enforce-FHS
# Patch33: 301-datafiles-comply-with-FHS.dpatch
@@ -178,8 +185,9 @@
Patch318: cernlib-318-additional-gcc-3.4-fixes.dpatch
# certainly not needed, but who knows?
Patch319: cernlib-319-work-around-imake-segfaults.dpatch
-# debian not applied, nor distributed patch related with ifort
-Patch320: cernlib-320-support-ifort.dpatch
+Patch32001: cernlib-320-support-ifort.dpatch
+Patch32002: paw-320-support-ifort-and-gfortran.dpatch
+Patch321: cernlib-321-support-gfortran.dpatch
# in cernlib debian split also remove other packages from LIBDIRS
Patch700: 700-remove-kernlib-from-packlib-Imakefile.dpatch
@@ -241,10 +249,9 @@
Patch1200: cernlib-cernlib_kernlib.patch
# don't stop if the CERN variable isn't defined
Patch1201: cernlib-gxint-script.diff
+# FIXME: maybe those 2 patches aren't needed with newer gfortran anymore
Patch1203: cernlib-hwuli2_use_dimag.diff
Patch1204: cernlib-hwhiga_use_dimag.diff
-Patch1205: cernlib-gfortran.diff
-Patch1207: cernlib-v107z0_X_before_string.diff
# patchy 4
# not applied as it has allready been done by the sed one-liner in
@@ -433,6 +440,11 @@
%patch -P 115 -p1
%patch -P 116 -p1
%patch -P 117 -p1
+%patch -P 118 -p1
+%patch -P 11901 -p1
+%patch -P 11902 -p1
+%patch -P 120 -p1
+%patch -P 121 -p1
%patch -P 200 -p1
%patch -P 201 -p1
%patch -P 202 -p1
@@ -472,7 +484,9 @@
%patch -P 318 -p1
%patch -P 319 -p1
-%patch -P 320 -p1
+%patch -P 32001 -p1
+%patch -P 32002 -p1
+%patch -P 321 -p1
# move kernlib out of packlib (debian 700-move-kernlib-to-top-level.sh.dpatch)
mv src/packlib/kernlib src/kernlib
@@ -590,10 +604,6 @@
%patch -P 1201
%patch -P 1203
%patch -P 1204
-# use gfortran
-#%patch -P 1205 -p1
-# workaround gfortran bug
-%patch -P 1207
# remove CVS directories
find . -depth -type d -name CVS -exec rm -rf {} ';'
@@ -899,6 +909,11 @@
%changelog
+* Mon Sep 11 2006 Patrice Dumas <pertusus at free.fr> 2005-26
+- update to newer debian patchsets (paw and cernlib)
+- remove gfortran related patches integrated in the debian
+ patchsets
+
* Fri Sep 1 2006 Patrice Dumas <pertusus at free.fr> 2005-25
- update to newer source split debian patchsets
- don't set the exec bits on file installed in /etc/profile.d/
--- 211-fix-comis-on-amd64.dpatch DELETED ---
--- cernlib-gfortran.diff DELETED ---
--- cernlib-v107z0_X_before_string.diff DELETED ---
--- cernlib_2005.dfsg-1.diff DELETED ---
--- paw-211-fix-comis-on-ia64-alpha.dpatch DELETED ---
--- paw_2.14.04-2.diff DELETED ---
More information about the scm-commits
mailing list