Control: tags 916971 + pending Dear maintainer,
I've prepared an NMU for gmsh (versioned as 3.0.6+dfsg1-4.1) and uploaded it to DELAYED/7. Please feel free to tell me if I should delay it longer. Regards, _g. diff -Nru gmsh-3.0.6+dfsg1/debian/changelog gmsh-3.0.6+dfsg1/debian/changelog --- gmsh-3.0.6+dfsg1/debian/changelog 2018-12-03 01:47:52.000000000 +0100 +++ gmsh-3.0.6+dfsg1/debian/changelog 2018-12-30 10:09:26.000000000 +0100 @@ -1,3 +1,11 @@ +gmsh (3.0.6+dfsg1-4.1) unstable; urgency=medium + + * Non-maintainer upload. + * New patch support-med-4.patch to fix FTBFS against med-fichier 4.0.0 + (Closes: #916971) + + -- Gilles Filippini <p...@debian.org> Sun, 30 Dec 2018 10:09:26 +0100 + gmsh (3.0.6+dfsg1-4) unstable; urgency=medium [ Joost van Zwieten ] diff -Nru gmsh-3.0.6+dfsg1/debian/patches/series gmsh-3.0.6+dfsg1/debian/patches/series --- gmsh-3.0.6+dfsg1/debian/patches/series 2018-12-03 01:47:52.000000000 +0100 +++ gmsh-3.0.6+dfsg1/debian/patches/series 2018-12-24 09:28:43.000000000 +0100 @@ -3,3 +3,4 @@ 30_delete_gl2ps_from_source.patch 40_gnuinstalldirs.patch 140_drop_css.patch +support-med-4.patch diff -Nru gmsh-3.0.6+dfsg1/debian/patches/support-med-4.patch gmsh-3.0.6+dfsg1/debian/patches/support-med-4.patch --- gmsh-3.0.6+dfsg1/debian/patches/support-med-4.patch 1970-01-01 01:00:00.000000000 +0100 +++ gmsh-3.0.6+dfsg1/debian/patches/support-med-4.patch 2018-12-24 09:28:43.000000000 +0100 @@ -0,0 +1,386 @@ +Index: gmsh-3.0.6+dfsg1/Geo/GModelIO_MED.cpp +=================================================================== +--- gmsh-3.0.6+dfsg1.orig/Geo/GModelIO_MED.cpp ++++ gmsh-3.0.6+dfsg1/Geo/GModelIO_MED.cpp +@@ -29,7 +29,7 @@ extern "C" { + #include <med.h> + } + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + // To avoid too many ifdefs below we use defines for the bits of the + // API that did not change too much between MED2 and MED3. If we remove + // MED2 support at some point, please remove these defines and replace +@@ -69,7 +69,7 @@ med_geometrie_element msh2medElementType + case MSH_HEX_20: return MED_HEXA20; + case MSH_PRI_15: return MED_PENTA15; + case MSH_PYR_13: return MED_PYRA13; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + case MSH_QUA_9: return MED_QUAD9; + case MSH_HEX_27: return MED_HEXA27; + #endif +@@ -95,7 +95,7 @@ int med2mshElementType(med_geometrie_ele + case MED_HEXA20: return MSH_HEX_20; + case MED_PENTA15: return MSH_PRI_15; + case MED_PYRA13: return MSH_PYR_13; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + case MED_QUAD9: return MSH_QUA_9; + case MED_HEXA27: return MSH_HEX_27; + #endif +@@ -113,7 +113,7 @@ int med2mshNodeIndex(med_geometrie_eleme + case MED_TRIA6: + case MED_QUAD4: + case MED_QUAD8: +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + case MED_QUAD9: + #endif + return k; // same node numbering as in Gmsh +@@ -133,7 +133,7 @@ int med2mshNodeIndex(med_geometrie_eleme + static const int map[20] = {0,1,3,2,4,5,6,7,8,9,10,11,16,17,18,19,12,13,14,15}; + return map[k]; + } +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + case MED_HEXA27: { + static const int map[27] = {0,1,3,2,4,5,6,7,8,9,10,11,16,17,18,19,12,13,14,15, + 20, 22, 21, 23, 24, 25, 26}; +@@ -185,7 +185,7 @@ int GModel::readMED(const std::string &n + char meshName[MED_TAILLE_NOM + 1], meshDesc[MED_TAILLE_DESC + 1]; + med_int spaceDim; + med_maillage meshType; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int meshDim, nStep; + char dtUnit[MED_SNAME_SIZE + 1]; + char axisName[3 * MED_SNAME_SIZE + 1], axisUnit[3 * MED_SNAME_SIZE + 1]; +@@ -241,7 +241,7 @@ int GModel::readMED(const std::string &n + char meshName[MED_TAILLE_NOM + 1], meshDesc[MED_TAILLE_DESC + 1]; + med_int spaceDim, nStep = 1; + med_maillage meshType; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int meshDim; + char dtUnit[MED_SNAME_SIZE + 1]; + char axisName[3 * MED_SNAME_SIZE + 1], axisUnit[3 * MED_SNAME_SIZE + 1]; +@@ -276,7 +276,7 @@ int GModel::readMED(const std::string &n + MEDversionLire(fid, &vf[0], &vf[1], &vf[2]); + + // read nodes +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_bool changeOfCoord, geoTransform; + med_int numNodes = MEDmeshnEntity(fid, meshName, MED_NO_DT, MED_NO_IT, MED_NODE, + MED_NO_GEOTYPE, MED_COORDINATE, MED_NO_CMODE, +@@ -295,7 +295,7 @@ int GModel::readMED(const std::string &n + } + std::vector<MVertex*> verts(numNodes); + std::vector<med_float> coord(spaceDim * numNodes); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshNodeCoordinateRd(fid, meshName, MED_NO_DT, MED_NO_IT, MED_FULL_INTERLACE, + &coord[0]) < 0){ + #else +@@ -310,7 +310,7 @@ int GModel::readMED(const std::string &n + } + + std::vector<med_int> nodeTags(numNodes); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshEntityNumberRd(fid, meshName, MED_NO_DT, MED_NO_IT, MED_NODE, + MED_NO_GEOTYPE, &nodeTags[0]) < 0) + #else +@@ -328,7 +328,7 @@ int GModel::readMED(const std::string &n + for(int mshType = 0; mshType < MSH_NUM_TYPE; mshType++){ + med_geometrie_element type = msh2medElementType(mshType); + if(type == MED_NONE) continue; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_bool changeOfCoord; + med_bool geoTransform; + med_int numEle = MEDmeshnEntity(fid, meshName, MED_NO_DT, MED_NO_IT, MED_CELL, +@@ -340,7 +340,7 @@ int GModel::readMED(const std::string &n + if(numEle <= 0) continue; + int numNodPerEle = type % 100; + std::vector<med_int> conn(numEle * numNodPerEle); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshElementConnectivityRd(fid, meshName, MED_NO_DT, MED_NO_IT, MED_CELL, + type, MED_NODAL, MED_FULL_INTERLACE, &conn[0]) < 0){ + #else +@@ -351,7 +351,7 @@ int GModel::readMED(const std::string &n + return 0; + } + std::vector<med_int> fam(numEle, 0); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshEntityFamilyNumberRd(fid, meshName, MED_NO_DT, MED_NO_IT, MED_CELL, + type, &fam[0]) < 0){ + #else +@@ -360,7 +360,7 @@ int GModel::readMED(const std::string &n + Msg::Info("No family number for elements: using 0 as default family number"); + } + std::vector<med_int> eleTags(numEle); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshEntityNumberRd(fid, meshName, MED_NO_DT, MED_NO_IT, MED_CELL, + type, &eleTags[0]) < 0) + #else +@@ -391,7 +391,7 @@ int GModel::readMED(const std::string &n + return 0; + } + for(int i = 0; i < numFamilies; i++){ +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int numAttrib = (vf[0] == 2) ? MEDnFamily23Attribute(fid, meshName, i + 1) : 0; + med_int numGroups = MEDnFamilyGroup(fid, meshName, i + 1); + #else +@@ -408,7 +408,7 @@ int GModel::readMED(const std::string &n + std::vector<char> groupNames(MED_TAILLE_LNOM * numGroups + 1); + char familyName[MED_TAILLE_NOM + 1]; + med_int familyNum; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(vf[0] == 2){ // MED2 file + if(MEDfamily23Info(fid, meshName, i + 1, familyName, &attribId[0], + &attribVal[0], &attribDes[0], &familyNum, +@@ -459,7 +459,7 @@ int GModel::readMED(const std::string &n + } + + // check if we need to read some post-processing data later +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + bool postpro = (MEDnField(fid) > 0) ? true : false; + #else + bool postpro = (MEDnChamp(fid, 0) > 0) ? true : false; +@@ -496,7 +496,7 @@ static void writeElementsMED(med_idt &fi + std::vector<med_int> &fam, med_geometrie_element type) + { + if(fam.empty()) return; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshElementWr(fid, meshName, MED_NO_DT, MED_NO_IT, 0., MED_CELL, type, + MED_NODAL, MED_FULL_INTERLACE, (med_int)fam.size(), + &conn[0], MED_FALSE, 0, MED_FALSE, 0, MED_TRUE, &fam[0]) < 0) +@@ -526,7 +526,7 @@ int GModel::writeMED(const std::string & + char *meshName = (char*)strMeshName.c_str(); + + // Gmsh always writes 3D unstructured meshes +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + char dtUnit[MED_SNAME_SIZE + 1] = ""; + char axisName[3 * MED_SNAME_SIZE + 1] = ""; + char axisUnit[3 * MED_SNAME_SIZE + 1] = ""; +@@ -557,7 +557,7 @@ int GModel::writeMED(const std::string & + // write the families + { + // always create a "0" family, with no groups or attributes +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfamilyCr(fid, meshName, "F_0", 0, 0, "") < 0) + #else + if(MEDfamCr(fid, meshName, (char*)"F_0", 0, 0, 0, 0, 0, 0, 0) < 0) +@@ -586,7 +586,7 @@ int GModel::writeMED(const std::string & + groupName += tmp; + groupName.resize((j + 1) * MED_TAILLE_LNOM, ' '); + } +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfamilyCr(fid, meshName, familyName.c_str(), + (med_int)num, (med_int)entities[i]->physicals.size(), + groupName.c_str()) < 0) +@@ -619,7 +619,7 @@ int GModel::writeMED(const std::string & + Msg::Error("No nodes to write in MED mesh"); + return 0; + } +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshNodeWr(fid, meshName, MED_NO_DT, MED_NO_IT, 0., MED_FULL_INTERLACE, + (med_int)fam.size(), &coord[0], MED_FALSE, "", MED_FALSE, 0, + MED_TRUE, &fam[0]) < 0) +Index: gmsh-3.0.6+dfsg1/Post/PViewDataGModelIO.cpp +=================================================================== +--- gmsh-3.0.6+dfsg1.orig/Post/PViewDataGModelIO.cpp ++++ gmsh-3.0.6+dfsg1/Post/PViewDataGModelIO.cpp +@@ -365,7 +365,7 @@ extern "C" { + #include <med.h> + } + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + // To avoid too many ifdefs below we use defines for the bits of the + // API that did not change too much between MED2 and MED3. If we + // remove MED2 support at some point, please remove these defines and +@@ -394,7 +394,7 @@ std::vector<std::string> medGetFieldName + { + std::vector<std::string> fieldNames; + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_idt fid = MEDfileOpen(fileName.c_str(), MED_ACC_RDONLY); + #else + med_idt fid = MEDouvrir((char*)fileName.c_str(), MED_LECTURE); +@@ -404,7 +404,7 @@ std::vector<std::string> medGetFieldName + return fieldNames; + } + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int numFields = MEDnField(fid); + #else + med_int numFields = MEDnChamp(fid, 0); +@@ -424,7 +424,7 @@ std::vector<std::string> medGetFieldName + std::vector<char> compUnit(numComp * MED_TAILLE_PNOM + 1); + med_int numSteps = 0; + med_type_champ type; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_bool localMesh; + if(MEDfieldInfo(fid, index + 1, name, meshName, &localMesh, &type, + &compName[0], &compUnit[0], dtUnit, &numSteps) < 0){ +@@ -438,7 +438,7 @@ std::vector<std::string> medGetFieldName + fieldNames.push_back(name); + } + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfileClose(fid) < 0){ + #else + if(MEDfermer(fid) < 0){ +@@ -468,7 +468,7 @@ bool PViewDataGModel::readMED(const std: + std::vector<char> compUnit(numComp * MED_TAILLE_PNOM + 1); + med_int numSteps = 0; + med_type_champ type; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_bool localMesh; + if(MEDfieldInfo(fid, fileIndex + 1, name, meshName, &localMesh, &type, + &compName[0], &compUnit[0], dtUnit, &numSteps) < 0){ +@@ -498,7 +498,7 @@ bool PViewDataGModel::readMED(const std: + // with which we implicitly index them in GModel::readMED) + const med_entite_maillage entType[] = + {MED_NOEUD, MED_MAILLE, MED_NOEUD_MAILLE}; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + const med_geometrie_element eleType[] = + {MED_NONE, MED_SEG2, MED_TRIA3, MED_QUAD4, MED_TETRA4, MED_HEXA8, + MED_PENTA6, MED_PYRA5, MED_SEG3, MED_TRIA6, MED_QUAD9, MED_TETRA10, +@@ -518,7 +518,7 @@ bool PViewDataGModel::readMED(const std: + for(unsigned int i = 0; i < sizeof(entType) / sizeof(entType[0]); i++){ + for(unsigned int j = 0; j < sizeof(eleType) / sizeof(eleType[0]); j++){ + if((!i && !j) || j){ +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int n = numSteps; + #else + med_int n = MEDnPasdetemps(fid, name, entType[i], eleType[j]); +@@ -551,7 +551,7 @@ bool PViewDataGModel::readMED(const std: + med_geometrie_element ele = eleType[pairs[pair].second]; + med_int numdt, numit, ngauss; + med_float dt; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfieldComputingStepInfo(fid, name, step + 1, &numdt, &numit, &dt) < 0){ + #else + char dtunit[MED_TAILLE_PNOM + 1]; +@@ -584,7 +584,7 @@ bool PViewDataGModel::readMED(const std: + // get number of values in the field (numVal takes the number of + // Gauss points or the number of nodes per element into account, + // but not the number of components) +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int profileSize; + med_int numVal = MEDfieldnValueWithProfile(fid, name, numdt, numit, ent, ele, + 1, MED_COMPACT_STMODE, profileName, +@@ -610,7 +610,7 @@ bool PViewDataGModel::readMED(const std: + + // read field data + std::vector<double> val(numVal * numComp); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfieldValueWithProfileRd(fid, name, numdt, numit, ent, ele, MED_COMPACT_STMODE, + profileName, MED_FULL_INTERLACE, MED_ALL_CONSTITUENT, + (unsigned char*)&val[0]) < 0){ +@@ -641,7 +641,7 @@ bool PViewDataGModel::readMED(const std: + std::vector<med_float> refcoo((ele % 100) * dim); + std::vector<med_float> gscoo(ngauss * dim); + std::vector<med_float> wg(ngauss); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDlocalizationRd(fid, locName, MED_FULL_INTERLACE, &refcoo[0], + &gscoo[0], &wg[0]) < 0){ + #else +@@ -667,7 +667,7 @@ bool PViewDataGModel::readMED(const std: + if(n > 0){ + Msg::Debug("MED has full profile"); + profile.resize(n); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDprofileRd(fid, profileName, &profile[0]) < 0){ + #else + if(MEDprofilLire(fid, &profile[0], profileName) < 0){ +@@ -686,7 +686,7 @@ bool PViewDataGModel::readMED(const std: + + // get size of full array and tags (if any) of entities + bool nodal = (ent == MED_NOEUD); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_bool changeOfCoord; + med_bool geoTransform; + med_int numEnt = MEDmeshnEntity(fid, meshName, MED_NO_DT, MED_NO_IT, +@@ -702,7 +702,7 @@ bool PViewDataGModel::readMED(const std: + nodal ? (med_connectivite)0 : MED_NOD); + #endif + std::vector<med_int> tags(numEnt); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDmeshEntityNumberRd(fid, meshName, MED_NO_DT, MED_NO_IT, + nodal ? MED_NODE : MED_CELL, + nodal ? MED_NO_GEOTYPE : ele, &tags[0]) < 0) +@@ -723,7 +723,7 @@ bool PViewDataGModel::readMED(const std: + } + else{ + for(int i = 1; i < pairs[pair].second; i++){ +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_int n = MEDmeshnEntity(fid, meshName, MED_NO_DT, MED_NO_IT, + MED_CELL, eleType[i], MED_CONNECTIVITY, + MED_NODAL, &changeOfCoord, &geoTransform); +@@ -820,7 +820,7 @@ bool PViewDataGModel::writeMED(const std + return false; + } + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDprofileWr(fid, profileName, (med_int)profile.size(), &profile[0]) < 0){ + #else + if(MEDprofilEcr(fid, &profile[0], (med_int)profile.size(), profileName) < 0){ +@@ -830,7 +830,7 @@ bool PViewDataGModel::writeMED(const std + } + + int numComp = _steps[0]->getNumComponents(); +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfieldCr(fid, (char*)fieldName.c_str(), MED_FLOAT64, (med_int)numComp, + "unknown", "unknown", "unknown", (char*)meshName.c_str()) < 0){ + #else +@@ -842,7 +842,7 @@ bool PViewDataGModel::writeMED(const std + return false; + } + +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + med_bool changeOfCoord, geoTransform; + med_int numNodes = MEDmeshnEntity(fid, (char*)meshName.c_str(), + MED_NO_DT, MED_NO_IT, MED_NODE, +@@ -869,7 +869,7 @@ bool PViewDataGModel::writeMED(const std + for(unsigned int i = 0; i < profile.size(); i++) + for(int k = 0; k < numComp; k++) + val[i * numComp + k] = _steps[step]->getData(indices[i])[k]; +-#if (MED_MAJOR_NUM == 3) ++#if (MED_MAJOR_NUM >= 3) + if(MEDfieldValueWithProfileWr(fid, (char*)fieldName.c_str(), (med_int)(step + 1), + MED_NO_IT, + time, MED_NODE, MED_NO_GEOTYPE, MED_COMPACT_STMODE,
signature.asc
Description: OpenPGP digital signature
-- debian-science-maintainers mailing list debian-science-maintainers@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers