- Add patch to fix namespace conflict with ncurses (bug #924467)
- Add BR on bison due to patching dap.y
This commit is contained in:
parent
df34d4b137
commit
54ed64e282
|
@ -0,0 +1,421 @@
|
|||
diff -up netcdf-4.1.1/libncdap3/oc/daplex.c.dap netcdf-4.1.1/libncdap3/oc/daplex.c
|
||||
--- netcdf-4.1.1/libncdap3/oc/daplex.c.dap 2013-03-22 11:43:28.933640833 -0600
|
||||
+++ netcdf-4.1.1/libncdap3/oc/daplex.c 2013-03-22 11:43:38.946596288 -0600
|
||||
@@ -2,6 +2,7 @@
|
||||
See the COPYRIGHT file for more information. */
|
||||
|
||||
#include "dapparselex.h"
|
||||
+#include "daptab.h"
|
||||
|
||||
#define URLCVT
|
||||
|
||||
diff -up netcdf-4.1.1/libncdap3/oc/dapparse.c.dap netcdf-4.1.1/libncdap3/oc/dapparse.c
|
||||
--- netcdf-4.1.1/libncdap3/oc/dapparse.c.dap 2010-04-01 17:33:24.000000000 -0600
|
||||
+++ netcdf-4.1.1/libncdap3/oc/dapparse.c 2013-03-22 11:43:14.710704133 -0600
|
||||
@@ -2,6 +2,7 @@
|
||||
See the COPYRIGHT file for more information. */
|
||||
|
||||
#include "dapparselex.h"
|
||||
+#include "daptab.h"
|
||||
|
||||
extern int dapparse(DAPparsestate*);
|
||||
|
||||
@@ -19,7 +20,7 @@ static int check_int32(char* val, long*
|
||||
|
||||
|
||||
Object
|
||||
-datasetbody(DAPparsestate* state, Object name, Object decls)
|
||||
+dap_datasetbody(DAPparsestate* state, Object name, Object decls)
|
||||
{
|
||||
OCnode* node = newocnode((char*)name,OC_Dataset,state);
|
||||
node->subnodes = (OClist*)decls;
|
||||
@@ -32,7 +33,7 @@ datasetbody(DAPparsestate* state, Object
|
||||
}
|
||||
|
||||
Object
|
||||
-attributebody(DAPparsestate* state, Object attrlist)
|
||||
+dap_attributebody(DAPparsestate* state, Object attrlist)
|
||||
{
|
||||
OCnode* node = newocnode(NULL,OC_Attributeset,state);
|
||||
OCASSERT((state->root == NULL));
|
||||
@@ -45,7 +46,7 @@ attributebody(DAPparsestate* state, Obje
|
||||
}
|
||||
|
||||
Object
|
||||
-errorbody(DAPparsestate* state, Object code, Object msg)
|
||||
+dap_errorbody(DAPparsestate* state, Object code, Object msg)
|
||||
{
|
||||
state->svcerror = 1;
|
||||
state->code = strdup((char*)code);
|
||||
@@ -54,13 +55,13 @@ errorbody(DAPparsestate* state, Object c
|
||||
}
|
||||
|
||||
Object
|
||||
-unrecognizedresponse(DAPparsestate* state)
|
||||
+dap_unrecognizedresponse(DAPparsestate* state)
|
||||
{
|
||||
- return errorbody(state,"0",state->lexstate->input);
|
||||
+ return dap_errorbody(state,"0",state->lexstate->input);
|
||||
}
|
||||
|
||||
Object
|
||||
-declarations(DAPparsestate* state, Object decls, Object decl)
|
||||
+dap_declarations(DAPparsestate* state, Object decls, Object decl)
|
||||
{
|
||||
OClist* alist = (OClist*)decls;
|
||||
if(alist == NULL)
|
||||
@@ -71,7 +72,7 @@ declarations(DAPparsestate* state, Objec
|
||||
}
|
||||
|
||||
Object
|
||||
-arraydecls(DAPparsestate* state, Object arraydecls, Object arraydecl)
|
||||
+dap_arraydecls(DAPparsestate* state, Object arraydecls, Object arraydecl)
|
||||
{
|
||||
OClist* alist = (OClist*)arraydecls;
|
||||
if(alist == NULL)
|
||||
@@ -82,7 +83,7 @@ arraydecls(DAPparsestate* state, Object
|
||||
}
|
||||
|
||||
Object
|
||||
-arraydecl(DAPparsestate* state, Object name, Object size)
|
||||
+dap_arraydecl(DAPparsestate* state, Object name, Object size)
|
||||
{
|
||||
long value;
|
||||
OCnode* dim;
|
||||
@@ -97,7 +98,7 @@ arraydecl(DAPparsestate* state, Object n
|
||||
}
|
||||
|
||||
Object
|
||||
-attrlist(DAPparsestate* state, Object attrlist, Object attrtuple)
|
||||
+dap_attrlist(DAPparsestate* state, Object attrlist, Object attrtuple)
|
||||
{
|
||||
OClist* alist = (OClist*)attrlist;
|
||||
if(alist == NULL)
|
||||
@@ -117,7 +118,7 @@ attrlist(DAPparsestate* state, Object at
|
||||
}
|
||||
|
||||
Object
|
||||
-attrvalue(DAPparsestate* state, Object valuelist, Object value, Object etype)
|
||||
+dap_attrvalue(DAPparsestate* state, Object valuelist, Object value, Object etype)
|
||||
{
|
||||
OClist* alist = (OClist*)valuelist;
|
||||
if(alist == NULL) alist = oclistnew();
|
||||
@@ -128,7 +129,7 @@ attrvalue(DAPparsestate* state, Object v
|
||||
}
|
||||
|
||||
Object
|
||||
-attribute(DAPparsestate* state, Object name, Object values, Object etype)
|
||||
+dap_attribute(DAPparsestate* state, Object name, Object values, Object etype)
|
||||
{
|
||||
OCnode* att;
|
||||
att = newocnode((char*)name,OC_Attribute,state);
|
||||
@@ -138,7 +139,7 @@ attribute(DAPparsestate* state, Object n
|
||||
}
|
||||
|
||||
Object
|
||||
-attrset(DAPparsestate* state, Object name, Object attributes)
|
||||
+dap_attrset(DAPparsestate* state, Object name, Object attributes)
|
||||
{
|
||||
OCnode* attset;
|
||||
attset = newocnode((char*)name,OC_Attributeset,state);
|
||||
@@ -199,7 +200,7 @@ dimnameanon(char* basename, unsigned int
|
||||
}
|
||||
|
||||
Object
|
||||
-makebase(DAPparsestate* state, Object name, Object etype, Object dimensions)
|
||||
+dap_makebase(DAPparsestate* state, Object name, Object etype, Object dimensions)
|
||||
{
|
||||
OCnode* node;
|
||||
node = newocnode((char*)name,OC_Primitive,state);
|
||||
@@ -209,7 +210,7 @@ makebase(DAPparsestate* state, Object na
|
||||
}
|
||||
|
||||
Object
|
||||
-makestructure(DAPparsestate* state, Object name, Object dimensions, Object fields)
|
||||
+dap_makestructure(DAPparsestate* state, Object name, Object dimensions, Object fields)
|
||||
{
|
||||
OCnode* node;
|
||||
char* dupname;
|
||||
@@ -225,7 +226,7 @@ makestructure(DAPparsestate* state, Obje
|
||||
}
|
||||
|
||||
Object
|
||||
-makesequence(DAPparsestate* state, Object name, Object members)
|
||||
+dap_makesequence(DAPparsestate* state, Object name, Object members)
|
||||
{
|
||||
OCnode* node;
|
||||
char* dupname;
|
||||
@@ -240,7 +241,7 @@ makesequence(DAPparsestate* state, Objec
|
||||
}
|
||||
|
||||
Object
|
||||
-makegrid(DAPparsestate* state, Object name, Object arraydecl, Object mapdecls)
|
||||
+dap_makegrid(DAPparsestate* state, Object name, Object arraydecl, Object mapdecls)
|
||||
{
|
||||
OCnode* node;
|
||||
/* Check for duplicate map names */
|
||||
diff -up netcdf-4.1.1/libncdap3/oc/dapparselex.h.dap netcdf-4.1.1/libncdap3/oc/dapparselex.h
|
||||
--- netcdf-4.1.1/libncdap3/oc/dapparselex.h.dap 2010-04-01 17:33:24.000000000 -0600
|
||||
+++ netcdf-4.1.1/libncdap3/oc/dapparselex.h 2013-03-22 11:40:43.271384078 -0600
|
||||
@@ -6,12 +6,6 @@
|
||||
|
||||
#include "ocinternal.h"
|
||||
#include "ocdebug.h"
|
||||
-#ifdef USE_DAP
|
||||
-/* To avoid "make distclean" wiping out dap.tab.h */
|
||||
-#include "daptab.h"
|
||||
-#else
|
||||
-#include "dap.tab.h"
|
||||
-#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#define strcasecmp stricmp
|
||||
@@ -73,26 +67,32 @@ typedef struct DAPparsestate {
|
||||
extern int yylex (YYSTYPE*, DAPparsestate*);
|
||||
extern int yyerror(DAPparsestate*,char*);
|
||||
|
||||
+extern void dassetup(DAPparsestate* state);
|
||||
extern void dap_parse_error(DAPparsestate*,const char *fmt, ...);
|
||||
-
|
||||
-extern Object datasetbody(DAPparsestate*,Object decls, Object name);
|
||||
-extern Object declarations(DAPparsestate*,Object decls, Object decl);
|
||||
-extern Object arraydecls(DAPparsestate*,Object arraydecls, Object arraydecl);
|
||||
-extern Object arraydecl(DAPparsestate*,Object name, Object size);
|
||||
-
|
||||
-extern void attributesetup(DAPparsestate*);
|
||||
-extern Object attributebody(DAPparsestate*,Object attrlist);
|
||||
-extern Object attrlist(DAPparsestate*,Object attrlist, Object attrtuple);
|
||||
-extern Object attribute(DAPparsestate*,Object name, Object value, Object etype);
|
||||
-extern Object attrset(DAPparsestate*,Object name, Object attributes);
|
||||
-extern Object attrvalue(DAPparsestate*,Object valuelist, Object value, Object etype);
|
||||
-
|
||||
-extern Object makebase(DAPparsestate*,Object name, Object etype, Object dimensions);
|
||||
-extern Object makestructure(DAPparsestate*,Object name, Object dimensions, Object fields);
|
||||
-extern Object makesequence(DAPparsestate*,Object name, Object members);
|
||||
-extern Object makegrid(DAPparsestate*,Object name, Object arraydecl, Object mapdecls);
|
||||
-
|
||||
-extern Object errorbody(DAPparsestate*, Object code, Object msg);
|
||||
-extern Object unrecognizedresponse(DAPparsestate*);
|
||||
+extern Object dap_datasetbody(DAPparsestate*,Object decls, Object name);
|
||||
+extern Object dap_declarations(DAPparsestate*,Object decls, Object decl);
|
||||
+extern Object dap_arraydecls(DAPparsestate*,Object arraydecls, Object arraydecl);
|
||||
+extern Object dap_arraydecl(DAPparsestate*,Object name, Object size);
|
||||
+
|
||||
+extern void dap_attributesetup(DAPparsestate*);
|
||||
+extern Object dap_attributebody(DAPparsestate*,Object attrlist);
|
||||
+extern Object dap_attrlist(DAPparsestate*,Object attrlist, Object attrtuple);
|
||||
+extern Object dap_attribute(DAPparsestate*,Object name, Object value, Object etype);
|
||||
+extern Object dap_attrset(DAPparsestate*,Object name, Object attributes);
|
||||
+extern Object dap_attrvalue(DAPparsestate*,Object valuelist, Object value, Object etype);
|
||||
+
|
||||
+extern Object dap_makebase(DAPparsestate*,Object name, Object etype, Object dimensions);
|
||||
+extern Object dap_makestructure(DAPparsestate*,Object name, Object dimensions, Object fields);
|
||||
+extern Object dap_makesequence(DAPparsestate*,Object name, Object members);
|
||||
+extern Object dap_makegrid(DAPparsestate*,Object name, Object arraydecl, Object mapdecls);
|
||||
+
|
||||
+extern Object dap_errorbody(DAPparsestate*, Object code, Object msg);
|
||||
+extern Object dap_unrecognizedresponse(DAPparsestate*);
|
||||
+
|
||||
+/* Lexer entry points */
|
||||
+extern int daplex(YYSTYPE*, DAPparsestate*);
|
||||
+extern void daplexinit(char* input, Lexstate** lexstatep);
|
||||
+extern void daplexcleanup(Lexstate** lexstatep);
|
||||
+extern void dapsetwordchars(Lexstate* lexstate, int kind);
|
||||
|
||||
#endif /*DAPPARSELEX_H*/
|
||||
diff -up netcdf-4.1.1/libncdap3/oc/dap.y.dap netcdf-4.1.1/libncdap3/oc/dap.y
|
||||
--- netcdf-4.1.1/libncdap3/oc/dap.y.dap 2010-04-01 17:33:23.000000000 -0600
|
||||
+++ netcdf-4.1.1/libncdap3/oc/dap.y 2013-03-22 11:34:25.689059778 -0600
|
||||
@@ -1,12 +1,10 @@
|
||||
/* Copyright 2009, UCAR/Unidata and OPeNDAP, Inc.
|
||||
See the COPYRIGHT file for more information. */
|
||||
|
||||
-%{
|
||||
-#include "dapparselex.h"
|
||||
-%}
|
||||
%pure-parser
|
||||
%lex-param {DAPparsestate* parsestate}
|
||||
%parse-param {DAPparsestate* parsestate}
|
||||
+%{#include "dapparselex.h"%}
|
||||
|
||||
%token SCAN_ALIAS
|
||||
%token SCAN_ARRAY
|
||||
@@ -51,30 +49,30 @@ start:
|
||||
| SCAN_ATTR dassetup attributebody
|
||||
| SCAN_ERROR errorbody
|
||||
| error
|
||||
- {$$=unrecognizedresponse(parsestate);}
|
||||
+ {$$=dap_unrecognizedresponse(parsestate);}
|
||||
;
|
||||
|
||||
datasetbody:
|
||||
'{' declarations '}' datasetname ';'
|
||||
- {$$=datasetbody(parsestate,$4,$2);}
|
||||
+ {$$=dap_datasetbody(parsestate,$4,$2);}
|
||||
;
|
||||
|
||||
declarations:
|
||||
- /* empty */ {$$=declarations(parsestate,null,null);}
|
||||
- | declarations declaration {$$=declarations(parsestate,$1,$2);}
|
||||
+ /* empty */ {$$=dap_declarations(parsestate,null,null);}
|
||||
+ | declarations declaration {$$=dap_declarations(parsestate,$1,$2);}
|
||||
;
|
||||
|
||||
/* 01/21/08: James says: no dimensions for grids or sequences */
|
||||
/* 05/08/09: James says: no duplicate map names */
|
||||
declaration:
|
||||
base_type var_name array_decls ';'
|
||||
- {$$=makebase(parsestate,$2,$1,$3);}
|
||||
+ {$$=dap_makebase(parsestate,$2,$1,$3);}
|
||||
| SCAN_STRUCTURE '{' declarations '}' var_name array_decls ';'
|
||||
- {if(($$ = makestructure(parsestate,$5,$6,$3))==null) {YYABORT;}}
|
||||
+ {if(($$ = dap_makestructure(parsestate,$5,$6,$3))==null) {YYABORT;}}
|
||||
| SCAN_SEQUENCE '{' declarations '}' var_name ';'
|
||||
- {if(($$ = makesequence(parsestate,$5,$3))==null) {YYABORT;}}
|
||||
+ {if(($$ = dap_makesequence(parsestate,$5,$3))==null) {YYABORT;}}
|
||||
| SCAN_GRID '{' SCAN_ARRAY ':' declaration SCAN_MAPS ':' declarations '}' var_name ';'
|
||||
- {if(($$ = makegrid(parsestate,$10,$5,$8))==null) {YYABORT;}}
|
||||
+ {if(($$ = dap_makegrid(parsestate,$10,$5,$8))==null) {YYABORT;}}
|
||||
| error
|
||||
{yyerror(parsestate,"Unrecognized type"); YYABORT;}
|
||||
;
|
||||
@@ -93,13 +91,13 @@ base_type:
|
||||
;
|
||||
|
||||
array_decls:
|
||||
- /* empty */ {$$=arraydecls(parsestate,null,null);}
|
||||
- | array_decls array_decl {$$=arraydecls(parsestate,$1,$2);}
|
||||
+ /* empty */ {$$=dap_arraydecls(parsestate,null,null);}
|
||||
+ | array_decls array_decl {$$=dap_arraydecls(parsestate,$1,$2);}
|
||||
;
|
||||
|
||||
array_decl:
|
||||
- '[' SCAN_WORD ']' {$$=arraydecl(parsestate,null,$2);}
|
||||
- | '[' name '=' SCAN_WORD ']' {$$=arraydecl(parsestate,$2,$4);}
|
||||
+ '[' SCAN_WORD ']' {$$=dap_arraydecl(parsestate,null,$2);}
|
||||
+ | '[' name '=' SCAN_WORD ']' {$$=dap_arraydecl(parsestate,$2,$4);}
|
||||
| error
|
||||
{yyerror(parsestate,"Illegal dimension declaration"); YYABORT;}
|
||||
;
|
||||
@@ -115,81 +113,81 @@ var_name: name {$$=$1;};
|
||||
dassetup: {dassetup(parsestate);}
|
||||
|
||||
attributebody:
|
||||
- '{' attr_list '}' {$$=attributebody(parsestate,$2);}
|
||||
+ '{' attr_list '}' {$$=dap_attributebody(parsestate,$2);}
|
||||
| error
|
||||
{yyerror(parsestate,"Illegal DAS body"); YYABORT;}
|
||||
;
|
||||
|
||||
attr_list:
|
||||
- /* empty */ {$$=attrlist(parsestate,null,null);}
|
||||
- | attr_list attribute {$$=attrlist(parsestate,$1,$2);}
|
||||
+ /* empty */ {$$=dap_attrlist(parsestate,null,null);}
|
||||
+ | attr_list attribute {$$=dap_attrlist(parsestate,$1,$2);}
|
||||
;
|
||||
|
||||
attribute:
|
||||
alias ';' {$$=null;} /* ignored */
|
||||
| SCAN_BYTE name bytes ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_BYTE);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_BYTE);}
|
||||
| SCAN_INT16 name int16 ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_INT16);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_INT16);}
|
||||
| SCAN_UINT16 name uint16 ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_UINT16);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_UINT16);}
|
||||
| SCAN_INT32 name int32 ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_INT32);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_INT32);}
|
||||
| SCAN_UINT32 name uint32 ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_UINT32);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_UINT32);}
|
||||
| SCAN_FLOAT32 name float32 ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_FLOAT32);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_FLOAT32);}
|
||||
| SCAN_FLOAT64 name float64 ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_FLOAT64);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_FLOAT64);}
|
||||
| SCAN_STRING name strs ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_STRING);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_STRING);}
|
||||
| SCAN_URL name urls ';'
|
||||
- {$$=attribute(parsestate,$2,$3,(Object)SCAN_URL);}
|
||||
- | name '{' attr_list '}' {$$=attrset(parsestate,$1,$3);}
|
||||
+ {$$=dap_attribute(parsestate,$2,$3,(Object)SCAN_URL);}
|
||||
+ | name '{' attr_list '}' {$$=dap_attrset(parsestate,$1,$3);}
|
||||
| error
|
||||
{yyerror(parsestate,"Illegal attribute"); YYABORT;}
|
||||
;
|
||||
|
||||
bytes:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_BYTE);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_BYTE);}
|
||||
| bytes ',' SCAN_WORD
|
||||
- {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_BYTE);}
|
||||
+ {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_BYTE);}
|
||||
;
|
||||
int16:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_INT16);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_INT16);}
|
||||
| int16 ',' SCAN_WORD
|
||||
- {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_INT16);}
|
||||
+ {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_INT16);}
|
||||
;
|
||||
uint16:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_UINT16);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_UINT16);}
|
||||
| uint16 ',' SCAN_WORD
|
||||
- {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_UINT16);}
|
||||
+ {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_UINT16);}
|
||||
;
|
||||
int32:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_INT32);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_INT32);}
|
||||
| int32 ',' SCAN_WORD
|
||||
- {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_INT32);}
|
||||
+ {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_INT32);}
|
||||
;
|
||||
uint32:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_UINT32);}
|
||||
- | uint32 ',' SCAN_WORD {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_UINT32);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_UINT32);}
|
||||
+ | uint32 ',' SCAN_WORD {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_UINT32);}
|
||||
;
|
||||
float32:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_FLOAT32);}
|
||||
- | float32 ',' SCAN_WORD {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_FLOAT32);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_FLOAT32);}
|
||||
+ | float32 ',' SCAN_WORD {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_FLOAT32);}
|
||||
;
|
||||
float64:
|
||||
- SCAN_WORD {$$=attrvalue(parsestate,null,$1,(Object)SCAN_FLOAT64);}
|
||||
- | float64 ',' SCAN_WORD {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_FLOAT64);}
|
||||
+ SCAN_WORD {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_FLOAT64);}
|
||||
+ | float64 ',' SCAN_WORD {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_FLOAT64);}
|
||||
;
|
||||
strs:
|
||||
- str_or_id {$$=attrvalue(parsestate,null,$1,(Object)SCAN_STRING);}
|
||||
- | strs ',' str_or_id {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_STRING);}
|
||||
+ str_or_id {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_STRING);}
|
||||
+ | strs ',' str_or_id {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_STRING);}
|
||||
;
|
||||
|
||||
urls:
|
||||
- url {$$=attrvalue(parsestate,null,$1,(Object)SCAN_URL);}
|
||||
- | urls ',' url {$$=attrvalue(parsestate,$1,$3,(Object)SCAN_URL);}
|
||||
+ url {$$=dap_attrvalue(parsestate,null,$1,(Object)SCAN_URL);}
|
||||
+ | urls ',' url {$$=dap_attrvalue(parsestate,$1,$3,(Object)SCAN_URL);}
|
||||
;
|
||||
|
||||
url:
|
||||
@@ -239,7 +237,7 @@ name:
|
||||
|
||||
errorbody:
|
||||
'{' SCAN_CODE '=' SCAN_WORD ';' SCAN_MESSAGE '=' SCAN_WORD ';' '}' ';'
|
||||
- {$$=errorbody(parsestate,$4,$8);}
|
||||
+ {$$=dap_errorbody(parsestate,$4,$8);}
|
||||
;
|
||||
|
||||
|
13
netcdf.spec
13
netcdf.spec
|
@ -1,19 +1,23 @@
|
|||
Name: netcdf
|
||||
Version: 4.1.1
|
||||
Release: 3%{?dist}.2
|
||||
Release: 3%{?dist}.3
|
||||
Summary: Libraries for the Unidata network Common Data Form
|
||||
|
||||
Group: Applications/Engineering
|
||||
License: NetCDF
|
||||
URL: http://www.unidata.ucar.edu/software/netcdf/
|
||||
Source0: http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.1.tar.gz
|
||||
Source0: http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-%{version}.tar.gz
|
||||
#Use pkgconfig in nc-config to avoid multi-lib issues
|
||||
Patch0: netcdf-4.1-beta2-pkgconfig.patch
|
||||
Patch1: netcdf-4.1.1-fflags.patch
|
||||
#Explicitly link libnetcdf.so agains -lhdf5_hl -lhdf5, reported upstream
|
||||
Patch2: netcdf-4.1.1-hdf5.patch
|
||||
# Fix namespace conflict with ncurses (bug #924467)
|
||||
Patch3: netcdf-4.1.1-dap.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
# bison is required because we patch dap.y in the dap patch
|
||||
BuildRequires: bison
|
||||
BuildRequires: gcc-gfortran, gawk
|
||||
BuildRequires: hdf5-devel >= 1.8.4
|
||||
BuildRequires: libcurl-devel
|
||||
|
@ -83,6 +87,7 @@ This package contains the netCDF static libs.
|
|||
%patch0 -p1 -b .pkgconfig
|
||||
%patch1 -p1 -b .fflags
|
||||
%patch2 -p1 -b .hdf5
|
||||
%patch3 -p1 -b .dap
|
||||
|
||||
|
||||
%build
|
||||
|
@ -167,6 +172,10 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Fri Mar 22 2013 Orion Poplawski <orion@cora.nwra.com> - 4.1.1-3.3
|
||||
- Add patch to fix namespace conflict with ncurses (bug #924467)
|
||||
- Add BR on bison due to patching dap.y
|
||||
|
||||
* Mon Dec 27 2010 Orion Poplawski <orion@cora.nwra.com> - 4.1.1-3.2
|
||||
- Don't use %%{_isa} in Requires for gcc-gfortran - not multilib in RHEL
|
||||
|
||||
|
|
Loading…
Reference in New Issue