aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Ziegenhagel <albert.ziegenhagel@outlook.com>2020-09-02 19:41:34 +0200
committerGitHub <noreply@github.com>2020-09-02 10:41:34 -0700
commitced9dfb8e2c8e95c30c2623c13ea570e2447bba6 (patch)
tree0966ebe7ad88d94e11246fd337bc29400934015c
parentd73ead568b00063a060d3e026d083e2730fff809 (diff)
downloadvcpkg-ced9dfb8e2c8e95c30c2623c13ea570e2447bba6.tar.gz
vcpkg-ced9dfb8e2c8e95c30c2623c13ea570e2447bba6.zip
[hypre] Update to 2.19.0 (#13252)
Co-authored-by: wangli28 <wangli28@beyondsoft.com>
-rw-r--r--ports/hypre/CONTROL4
-rw-r--r--ports/hypre/fix-blas-vs14-math.patch33
-rw-r--r--ports/hypre/fix-export-global-data-symbols.patch28
-rw-r--r--ports/hypre/fix-lapack-vs14-math.patch33
-rw-r--r--ports/hypre/fix-macro-to-template.patch38
-rw-r--r--ports/hypre/fix-root-cmakelists.patch59
-rw-r--r--ports/hypre/portfile.cmake29
-rw-r--r--ports/superlu/CONTROL2
-rw-r--r--scripts/ci.baseline.txt23
9 files changed, 17 insertions, 232 deletions
diff --git a/ports/hypre/CONTROL b/ports/hypre/CONTROL
index a4db2f1e7..63f36cd7b 100644
--- a/ports/hypre/CONTROL
+++ b/ports/hypre/CONTROL
@@ -1,5 +1,5 @@
Source: hypre
-Version: 2.11.2-3
+Version: 2.19.0
Homepage: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods
Description: SCALABLE LINEAR SOLVERS AND MULTIGRID METHODS
-Build-Depends: mpi
+Build-Depends: mpi, openblas, lapack
diff --git a/ports/hypre/fix-blas-vs14-math.patch b/ports/hypre/fix-blas-vs14-math.patch
deleted file mode 100644
index 424b16eb0..000000000
--- a/ports/hypre/fix-blas-vs14-math.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/src/blas/f2c.h Fri Sep 11 18:57:56 2015
-+++ b/src/blas/f2c.h Thu Dec 22 18:20:08 2016
-@@ -190,18 +190,18 @@
- typedef struct Namelist Namelist;
-
- /* The following undefs are to prevent conflicts with external libraries */
--#undef abs
--#define abs(x) ((x) >= 0 ? (x) : -(x))
--#define dabs(x) (doublereal)abs(x)
--#ifndef min
--#define min(a,b) ((a) <= (b) ? (a) : (b))
--#define max(a,b) ((a) >= (b) ? (a) : (b))
--#endif
--#define dmin(a,b) (doublereal)min(a,b)
--#define dmax(a,b) (doublereal)max(a,b)
--#define bit_test(a,b) ((a) >> (b) & 1)
--#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
--#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
-+//#undef abs
-+//#define abs(x) ((x) >= 0 ? (x) : -(x))
-+//#define dabs(x) (doublereal)abs(x)
-+//#ifndef min
-+//#define min(a,b) ((a) <= (b) ? (a) : (b))
-+//#define max(a,b) ((a) >= (b) ? (a) : (b))
-+//#endif
-+//#define dmin(a,b) (doublereal)min(a,b)
-+//#define dmax(a,b) (doublereal)max(a,b)
-+//#define bit_test(a,b) ((a) >> (b) & 1)
-+//#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
-+//#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
-
- /* procedure parameter types for -A and -C++ */
-
diff --git a/ports/hypre/fix-export-global-data-symbols.patch b/ports/hypre/fix-export-global-data-symbols.patch
deleted file mode 100644
index 2714e365a..000000000
--- a/ports/hypre/fix-export-global-data-symbols.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/src/utilities/_hypre_utilities.h Thu Jun 09 15:56:18 2016
-+++ b/src/utilities/_hypre_utilities.h Wed Jan 04 18:08:27 2017
-@@ -13,6 +13,7 @@
- #ifndef hypre_UTILITIES_HEADER
- #define hypre_UTILITIES_HEADER
-
-+#include "_hypre_export.h"
- #include "HYPRE_utilities.h"
-
- #ifdef HYPRE_USING_OPENMP
-@@ -610,7 +611,7 @@
- #ifdef HYPRE_TIMING_GLOBALS
- hypre_TimingType *hypre_global_timing = NULL;
- #else
--extern hypre_TimingType *hypre_global_timing;
-+extern HYPRE_EXPORT hypre_TimingType *hypre_global_timing;
- #endif
-
- /*-------------------------------------------------------
-@@ -781,7 +782,7 @@
- * Global variable used in hypre error checking
- *--------------------------------------------------------------------------*/
-
--extern HYPRE_Int hypre__global_error;
-+extern HYPRE_EXPORT HYPRE_Int hypre__global_error;
- #define hypre_error_flag hypre__global_error
-
- /*--------------------------------------------------------------------------
diff --git a/ports/hypre/fix-lapack-vs14-math.patch b/ports/hypre/fix-lapack-vs14-math.patch
deleted file mode 100644
index 7be84aeb6..000000000
--- a/ports/hypre/fix-lapack-vs14-math.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/src/lapack/f2c.h Fri Sep 11 18:57:56 2015
-+++ b/src/lapack/f2c.h Thu Dec 22 18:22:26 2016
-@@ -190,18 +190,18 @@
- typedef struct Namelist Namelist;
-
- /* The following undefs are to prevent conflicts with external libraries */
--#undef abs
--#define abs(x) ((x) >= 0 ? (x) : -(x))
--#define dabs(x) (doublereal)abs(x)
--#ifndef min
--#define min(a,b) ((a) <= (b) ? (a) : (b))
--#define max(a,b) ((a) >= (b) ? (a) : (b))
--#endif
--#define dmin(a,b) (doublereal)min(a,b)
--#define dmax(a,b) (doublereal)max(a,b)
--#define bit_test(a,b) ((a) >> (b) & 1)
--#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
--#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
-+//#undef abs
-+//#define abs(x) ((x) >= 0 ? (x) : -(x))
-+//#define dabs(x) (doublereal)abs(x)
-+//#ifndef min
-+//#define min(a,b) ((a) <= (b) ? (a) : (b))
-+//#define max(a,b) ((a) >= (b) ? (a) : (b))
-+//#endif
-+//#define dmin(a,b) (doublereal)min(a,b)
-+//#define dmax(a,b) (doublereal)max(a,b)
-+//#define bit_test(a,b) ((a) >> (b) & 1)
-+//#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
-+//#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
-
- /* procedure parameter types for -A and -C++ */
-
diff --git a/ports/hypre/fix-macro-to-template.patch b/ports/hypre/fix-macro-to-template.patch
deleted file mode 100644
index ca98e5d70..000000000
--- a/ports/hypre/fix-macro-to-template.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/src/struct_ls/pfmg3_setup_rap.c Thu Jun 09 15:56:18 2016
-+++ b/src/struct_ls/pfmg3_setup_rap.c Thu Dec 22 17:45:20 2016
-@@ -19,13 +19,28 @@
- * allow for coarsening to be done in the x- and y-directions also.
- *--------------------------------------------------------------------------*/
-
--#define MapIndex(in_index, cdir, out_index) \
-- hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 2); \
-- cdir = (cdir + 1) % 3; \
-- hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 0); \
-- cdir = (cdir + 1) % 3; \
-- hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 1); \
-- cdir = (cdir + 1) % 3;
-+//#define MapIndex(in_index, cdir, out_index) \
-+// hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 2); \
-+// cdir = (cdir + 1) % 3; \
-+// hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 0); \
-+// cdir = (cdir + 1) % 3; \
-+// hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 1); \
-+// cdir = (cdir + 1) % 3;
-+
-+template<typename T, typename U, typename V>
-+void MapIndex(T& in_index, U& cdir, V& out_index)
-+{
-+ if(cdir > 3) cdir = cdir - (cdir / 3) * 3;
-+ hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 2);
-+ if(cdir == 3) cdir = 1;
-+ else ++cdir;
-+ hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 0);
-+ if(cdir == 3) cdir = 1;
-+ else ++cdir;
-+ hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 1);
-+ if(cdir == 3) cdir = 1;
-+ else ++cdir;
-+}
-
- /*--------------------------------------------------------------------------
- * Sets up new coarse grid operator stucture.
diff --git a/ports/hypre/fix-root-cmakelists.patch b/ports/hypre/fix-root-cmakelists.patch
deleted file mode 100644
index b64914eb3..000000000
--- a/ports/hypre/fix-root-cmakelists.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/src/CMakeLists.txt Mon Mar 13 21:37:24 2017
-+++ b/src/CMakeLists.txt Sun Aug 06 19:34:00 2017
-@@ -1,6 +1,8 @@
- cmake_minimum_required (VERSION 2.8.8)
- project (hypre)
-
-+include(GenerateExportHeader)
-+
- # The version number.
- set (HYPRE_VERSION 2.11.2)
- set (HYPRE_DATE 2017/03/13)
-@@ -618,6 +620,8 @@
- struct_ls/sparse_msg_solve.c
- )
-
-+set_source_files_properties(struct_ls/pfmg3_setup_rap.c PROPERTIES LANGUAGE CXX)
-+
- # Headers and sources: sstruct_mv
- list (APPEND HYPRE_HEADERS
- sstruct_mv/HYPRE_sstruct_mv.h
-@@ -758,11 +762,11 @@
- find_package (MPI)
- if ((MPI_C_FOUND) AND (NOT CMAKE_C_COMPILER STREQUAL MPI_C_COMPILER))
- include_directories (${MPI_C_INCLUDE_PATH})
-- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_C_COMPILE_FLAGS}")
-+ #set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_C_COMPILE_FLAGS}")
- endif ()
- if ((MPI_CXX_FOUND) AND (NOT CMAKE_CXX_COMPILER STREQUAL MPI_CXX_COMPILER))
- include_directories (${MPI_CXX_INCLUDE_PATH})
-- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
-+ #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
- endif ()
- endif (NOT HYPRE_SEQUENTIAL)
-
-@@ -807,7 +811,23 @@
-
- add_library (HYPRE ${HYPRE_SOURCES} ${FEI_LIBS})
-
--install (TARGETS HYPRE DESTINATION lib)
-+if (NOT HYPRE_SEQUENTIAL)
-+ target_link_libraries(HYPRE ${MPI_C_LIBRARIES})
-+endif()
-+
-+if (WIN32 AND BUILD_SHARED_LIBS)
-+ set_target_properties(HYPRE PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
-+endif()
-+
-+generate_export_header(HYPRE EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/_hypre_export.h)
-+list(APPEND HYPRE_HEADERS ${CMAKE_BINARY_DIR}/_hypre_export.h)
-+
-+install (TARGETS HYPRE
-+ RUNTIME DESTINATION bin
-+ LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION lib
-+)
-+
- install (FILES ${HYPRE_HEADERS} DESTINATION include)
-
- # add_subdirectory (test EXCLUDE_FROM_ALL)
diff --git a/ports/hypre/portfile.cmake b/ports/hypre/portfile.cmake
index 92dd78a0d..5d854d985 100644
--- a/ports/hypre/portfile.cmake
+++ b/ports/hypre/portfile.cmake
@@ -1,20 +1,13 @@
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "http://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods/download/hypre-2.11.2.tar.gz"
- FILENAME "hypre-2.11.2.tar.gz"
- SHA512 a06321028121e5420fa944ce4fae5f9b96e6021ec2802e68ec3c349f19a20543ed7eff774a4735666c5807ce124eb571b3f86757c67e91faa1c683c3f657469f
-)
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
+vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- PATCHES
- fix-root-cmakelists.patch
- fix-macro-to-template.patch
- fix-blas-vs14-math.patch
- fix-lapack-vs14-math.patch
- fix-export-global-data-symbols.patch
+ REPO hypre-space/hypre
+ REF v2.19.0
+ SHA512 999979bc2e7d32aef7c084fc8508fb818e6f904db0ee3ebf6b8e8132f290201c407aaba0aa89e7bf09e7264f4e99caf04f3147458847de816fc8ffc81dbee2df
+ HEAD_REF master
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
@@ -28,6 +21,8 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
${OPTIONS}
+ -DHYPRE_ENABLE_HYPRE_BLAS=OFF
+ -DHYPRE_ENABLE_HYPRE_LAPACK=OFF
OPTIONS_RELEASE
-DHYPRE_BUILD_TYPE=Release
-DHYPRE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}
@@ -39,7 +34,9 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/HYPRE)
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/hypre/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/superlu/CONTROL b/ports/superlu/CONTROL
index 69d67385c..4c7cc4b13 100644
--- a/ports/superlu/CONTROL
+++ b/ports/superlu/CONTROL
@@ -1,5 +1,7 @@
Source: superlu
Version: 2020-01-07
+Port-Verison: 1
Build-Depends: openblas
Description: Supernodal sparse direct solver.
Homepage: https://github.com/xiaoyeli/superlu
+Supports: !(uwp|arm) \ No newline at end of file
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index 5e3d9e555..611c612b9 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -571,9 +571,6 @@ libhsplasma:x64-windows-static=fail
hwloc:arm64-windows=fail
hwloc:arm-uwp=fail
hwloc:x64-uwp=fail
-# hypre has a conflict with 'superlu' port
-hypre:x64-linux=skip
-hypre:x64-osx=skip
icu:arm64-windows=fail
icu:arm-uwp=fail
icu:x64-uwp=fail
@@ -1667,26 +1664,6 @@ stxxl:x64-uwp=fail
sundials:arm64-windows=fail
sundials:x64-windows=fail
sundials:x86-windows=fail
-# Conflicts between ports:
-#The following files are already installed in C:/agent/_work/1/s/installed/x64-windows-static
-# and are in conflict with superlu:x64-windows-static
-#
-#Installed by hypre:x64-windows-static
-# include/slu_Cnames.h
-# include/slu_cdefs.h
-# include/slu_dcomplex.h
-# include/slu_ddefs.h
-# include/slu_scomplex.h
-# include/slu_sdefs.h
-# include/slu_util.h
-# include/slu_zdefs.h
-# include/supermatrix.h
-superlu:arm-uwp=skip
-superlu:arm-windows=skip
-superlu:arm64-windows=skip
-superlu:x64-uwp=skip
-superlu:x64-windows-static=skip
-superlu:x64-windows=skip
systemc:arm64-windows=fail
systemc:arm-uwp=fail
systemc:x64-uwp=fail