From 1f0db1f06a77be25ddc9185cca23230d2e60aecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 26 Jun 2020 02:11:17 +0800 Subject: [PATCH] [vcpkg baseline] Fix baseline errors (#12067) Co-authored-by: Billy Robert O'Neal III --- ports/apr/CONTROL | 2 +- ports/apr/portfile.cmake | 7 ++ ports/paraview/CONTROL | 2 +- ports/paraview/fix-using-hdf5.patch | 105 ++++++++++++++++++++++++++++ ports/paraview/portfile.cmake | 33 ++++----- ports/vtk/CONTROL | 2 +- ports/vtk/fix-using-hdf5.patch | 22 ++++++ ports/vtk/portfile.cmake | 1 + scripts/ci.baseline.txt | 17 +++-- 9 files changed, 165 insertions(+), 26 deletions(-) create mode 100644 ports/paraview/fix-using-hdf5.patch create mode 100644 ports/vtk/fix-using-hdf5.patch diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL index 9786e3d9f..607f6c4d4 100644 --- a/ports/apr/CONTROL +++ b/ports/apr/CONTROL @@ -1,5 +1,5 @@ Source: apr -Version: 1.7.0 +Version: 1.7.0-1 Homepage: https://apr.apache.org/ Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems. Supports: !uwp diff --git a/ports/apr/portfile.cmake b/ports/apr/portfile.cmake index ede0eb9fc..b3ede1a1d 100644 --- a/ports/apr/portfile.cmake +++ b/ports/apr/portfile.cmake @@ -76,6 +76,13 @@ else() vcpkg_install_make() + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/apr-1.pc + "-lapr-\${APR_MAJOR_VERSION}" "-lapr-1" + ) + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/lib/pkgconfig/apr-1.pc + "-lapr-\${APR_MAJOR_VERSION}" "-lapr-1" + ) + vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread rt dl) endif() # Handle copyright diff --git a/ports/paraview/CONTROL b/ports/paraview/CONTROL index e22b8f385..5f1631462 100644 --- a/ports/paraview/CONTROL +++ b/ports/paraview/CONTROL @@ -1,5 +1,5 @@ Source: paraview -Version: 5.8.0 +Version: 5.8.0-1 Homepage: https://www.paraview.org/ Description: VTK-based Data Analysis and Visualization Application Build-Depends: vtk[core,paraview], protobuf, cgns, boost-core, boost-format, boost-algorithm diff --git a/ports/paraview/fix-using-hdf5.patch b/ports/paraview/fix-using-hdf5.patch new file mode 100644 index 000000000..7d547e77e --- /dev/null +++ b/ports/paraview/fix-using-hdf5.patch @@ -0,0 +1,105 @@ +diff --git a/databases/readers/M3DC1/avtM3DC1FileFormat.C b/databases/readers/M3DC1/avtM3DC1FileFormat.C +index 642be7e..d044b87 100644 +--- a/databases/readers/M3DC1/avtM3DC1FileFormat.C ++++ b/databases/readers/M3DC1/avtM3DC1FileFormat.C +@@ -2051,10 +2051,10 @@ avtM3DC1FileFormat::linkIterator(hid_t locId, const char* name, + switch (linfo->type) { + case H5L_TYPE_HARD: { + +- H5O_info_t objinfo; ++ H5O_info1_t objinfo; + + /* Stat the object */ +- if(H5Oget_info_by_name(locId, name, &objinfo, H5P_DEFAULT) < 0) { ++ if(H5Oget_info_by_name1(locId, name, &objinfo, H5P_DEFAULT) < 0) { + debug5 << "visitLinks() - unable to open object with name " <type) { + case H5L_TYPE_HARD: { + +- H5O_info_t objinfo; ++ H5O_info1_t objinfo; + + /* Stat the object */ +- if(H5Oget_info_by_name(locId, name, &objinfo, H5P_DEFAULT) < 0) { ++ if(H5Oget_info_by_name1(locId, name, &objinfo, H5P_DEFAULT) < 0) { + debug5 << "visitLinks() - unable to open object with name " <type) { + case H5L_TYPE_HARD: { + +- H5O_info_t objinfo; ++ H5O_info1_t objinfo; + + /* Stat the object */ +- if(H5Oget_info_by_name(locId, name, &objinfo, H5P_DEFAULT) < 0) { ++ if(H5Oget_info_by_name1(locId, name, &objinfo, H5P_DEFAULT) < 0) { + VsLog::errorLog() <<"VsFilter::visitLinks() - unable to open object with name " < 5.14 - qt_static_plugins.patch # Remove with Qt version > 5.14 + qt_plugin.patch # Remove with Qt version > 5.14 + qt_static_plugins.patch # Remove with Qt version > 5.14 python_include.patch python_wrapper.patch ) @@ -28,8 +28,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") list(APPEND VisItPatches removedoublesymbols.patch) endif() -#The following two dependencies should probably be their own port -#but require additional patching in paraview to make it work. +#The following two dependencies should probably be their own port +#but require additional patching in paraview to make it work. #Get VisItBridge Plugin vcpkg_from_gitlab( @@ -38,8 +38,9 @@ vcpkg_from_gitlab( REPO paraview/visitbridge REF c2605b5c3115bc4869c76a0d8bfdd8939b59f283 SHA512 6d2c1d6e1cd345547926938451755e7a8be5dabd89e18a2ceb419db16c5b29f354554a5130eb365b7e522d655370fd4766953813ff530c06e4851fe26104ce58 - PATCHES - VisIt_Build.patch + PATCHES + VisIt_Build.patch + fix-using-hdf5.patch #removeunusedsymbols.patch # These also get remove in master of ParaView ${VisItPatches} ) @@ -61,7 +62,7 @@ if("python" IN_LIST FEATURES) -DPython3_FIND_REGISTRY=NEVER "-DPython3_EXECUTABLE:PATH=${PYTHON3}" # Required by more than one feature ) - + #VTK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages endif() @@ -75,15 +76,15 @@ vcpkg_configure_cmake( -DVTK_MODULE_ENABLE_ParaView_qttesting=YES -DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION:BOOL=OFF -DPARAVIEW_USE_QTHELP:BOOL=OFF - + #A little bit of help in finding the boost headers "-DBoost_INCLUDE_DIR:PATH=${CURRENT_INSTALLED_DIR}/include" - + # Workarounds for CMake issues -DHAVE_SYS_TYPES_H=0 ## For some strange reason the test first succeeds and then fails the second time around - -DWORDS_BIGENDIAN=0 ## Tests fails in VisItCommon.cmake for some unknown reason this is just a workaround since most systems are little endian. + -DWORDS_BIGENDIAN=0 ## Tests fails in VisItCommon.cmake for some unknown reason this is just a workaround since most systems are little endian. ${ADDITIONAL_OPTIONS} - + #-DPARAVIEW_ENABLE_FFMPEG:BOOL=OFF ) if(CMAKE_HOST_UNIX) @@ -113,7 +114,7 @@ set(TOOLS paraview smTestDriver vtkProcessXML vtkWrapClientServer) - + foreach(tool ${TOOLS}) # Remove debug tools set(filename ${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}) @@ -128,7 +129,7 @@ foreach(tool ${TOOLS}) if(EXISTS ${filename}) file(REMOVE ${filename}) endif() - + # Move release tools set(filename ${CURRENT_PACKAGES_DIR}/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}) if(EXISTS ${filename}) @@ -156,7 +157,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/${name}" "${CURRENT_PACKAGES_DIR}/debug/lib/${name}") endif() endmacro() - + set(to_move Lib paraview-${VERSION} paraview-config) foreach(name ${to_move}) move_bin_to_lib(${name}) @@ -170,4 +171,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endforeach() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() \ No newline at end of file +endif() diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 412869822..0e494fe6d 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,5 +1,5 @@ Source: vtk -Version: 9.0-3 +Version: 9.0-4 Description: Software system for 3D computer graphics, image processing, and visualization Homepage: https://github.com/Kitware/VTK Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5[core], libjpeg-turbo, proj4, lz4, liblzma, libtheora, eigen3, double-conversion, pugixml, libharu[notiffsymbols], sqlite3, netcdf-c, utfcpp, libogg, pegtl-2 diff --git a/ports/vtk/fix-using-hdf5.patch b/ports/vtk/fix-using-hdf5.patch new file mode 100644 index 000000000..834ab15e9 --- /dev/null +++ b/ports/vtk/fix-using-hdf5.patch @@ -0,0 +1,22 @@ +diff --git a/ThirdParty/h5part/vtkh5part/src/H5Part.c b/ThirdParty/h5part/vtkh5part/src/H5Part.c +index 228d246..41af04d 100644 +--- a/ThirdParty/h5part/vtkh5part/src/H5Part.c ++++ b/ThirdParty/h5part/vtkh5part/src/H5Part.c +@@ -2092,7 +2092,7 @@ _H5Part_iteration_operator2 ( + case H5L_TYPE_HARD: { + + H5O_info_t objinfo; +- if( H5Oget_info_by_name( group_id, member_name, &objinfo, H5P_DEFAULT ) < 0 ) { ++ if( H5Oget_info_by_name1( group_id, member_name, &objinfo, H5P_DEFAULT ) < 0 ) { + return (herr_t)HANDLE_H5G_GET_OBJINFO_ERR ( member_name ); + } + +@@ -2142,7 +2142,7 @@ _H5Part_iteration_operator2 ( + if ( obj_id < 0 ) { + return (herr_t)HANDLE_H5G_OPEN_ERR ( member_name ); + } +- else if ( H5Oget_info ( obj_id, &objinfo ) < 0 ) { ++ else if ( H5Oget_info1 ( obj_id, &objinfo ) < 0 ) { + return (herr_t)HANDLE_H5G_GET_OBJINFO_ERR ( member_name ); + } + else { diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index ecc9176ce..09c997f7a 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -101,6 +101,7 @@ vcpkg_from_github( pythonwrapper.patch # Required by ParaView to Wrap required classes NoUndefDebug.patch # Required to link against correct Python library depending on build type. python_debug.patch + fix-using-hdf5.patch # Last patch TODO: Patch out internal loguru ) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index e15f0a6fb..598dd3d72 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1965,13 +1965,16 @@ xerces-c:x64-uwp=fail xeus:x64-linux=ignore xmlsec:arm-uwp=fail xmlsec:x64-uwp=fail -xmsh:arm64-windows=fail -xmsh:arm-uwp=fail -xmsh:x64-uwp=fail -xmsh:x64-windows=fail -xmsh:x64-windows-static=fail -xmsh:x86-windows=fail -xmsh:x64-linux=ignore +# The xmsh upstream repository is gone, if we find no replacement before +# 2021-01-01 we will remove the port outright. +xmsh:arm-uwp=skip +xmsh:arm64-windows=skip +xmsh:x64-linux=skip +xmsh:x64-osx=skip +xmsh:x64-uwp=skip +xmsh:x64-windows-static=skip +xmsh:x64-windows=skip +xmsh:x86-windows=skip xtensor-io:x64-uwp=ignore x-plane:arm64-windows=fail x-plane:arm-uwp=fail