commit:     8b0667d8fb06d04a8cd87283d7cc2793a9e28fb6
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Mon Jun  6 01:32:03 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Tue Jun  7 12:01:45 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8b0667d8

sys-cluster/adios2: new package, add 2.8.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-cluster/adios2/Manifest                        |   1 +
 sys-cluster/adios2/adios2-2.8.1.ebuild             | 131 +++++++++
 .../adios2/files/adios2-2.8.1-sandbox.patch        |  12 +
 .../adios2/files/adios2-2.8.1-system-libs.patch    | 307 +++++++++++++++++++++
 sys-cluster/adios2/metadata.xml                    |  46 +++
 5 files changed, 497 insertions(+)

diff --git a/sys-cluster/adios2/Manifest b/sys-cluster/adios2/Manifest
new file mode 100644
index 000000000..4dc9a3d55
--- /dev/null
+++ b/sys-cluster/adios2/Manifest
@@ -0,0 +1 @@
+DIST adios2-2.8.1.gh.tar.gz 5747375 BLAKE2B 
1c2b2845db90be83fc911f53724ab8a72aca93562720a03c05084f61611e3247525160a00810c9f492cd9743e70ac7ad3db601771905a4ab53d089b943971416
 SHA512 
50001f73318a4deb63a487a817f0b151904f39bd3d9d3d0a04fe77e4323f639b625472fb82b32702fdfc990bf765aff65793ca6817f2798a5cf4b6c72f9a38d7

diff --git a/sys-cluster/adios2/adios2-2.8.1.ebuild 
b/sys-cluster/adios2/adios2-2.8.1.ebuild
new file mode 100644
index 000000000..5901f6ca0
--- /dev/null
+++ b/sys-cluster/adios2/adios2-2.8.1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="fortran"
+MYPN="${PN^^}"
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit cmake python-single-r1 fortran-2
+
+DESCRIPTION="Next generation of ADIOS developed in the Exascale Computing 
Program"
+HOMEPAGE="
+       https://csmd.ornl.gov/software/adios2
+       https://github.com/ornladios/adios2
+"
+SRC_URI="https://github.com/ornladios/${MYPN}/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.gh.tar.gz"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="blosc bzip2 endian-reverse examples fortran hdf5 mpi png profile python 
sodium sst szip test zeromq zfp"
+
+RDEPEND="
+       dev-cpp/nlohmann_json
+       dev-cpp/yaml-cpp:=
+       dev-libs/atl
+       dev-libs/dill
+       >dev-libs/ffs-1.6.0
+       dev-libs/kwsys:=
+       dev-libs/perfstubs:=[timers]
+       dev-libs/pugixml
+       net-libs/enet
+       >sys-cluster/evpath-4.5.0
+
+       blosc? ( dev-libs/c-blosc:= )
+       bzip2? ( app-arch/bzip2 )
+       hdf5? ( sci-libs/hdf5:=[mpi=] )
+       mpi? ( virtual/mpi[cxx] )
+       png? ( media-libs/libpng:= )
+       python? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+                       dev-python/numpy[${PYTHON_USEDEP}]
+                       dev-python/pybind11[${PYTHON_USEDEP}]
+               ')
+               mpi? ( $(python_gen_cond_dep 
'dev-python/mpi4py[${PYTHON_USEDEP}]') )
+       )
+       sodium? ( dev-libs/libsodium:= )
+       sst? ( sys-block/libfabric:= )
+       szip? ( virtual/szip )
+       zeromq? ( net-libs/zeromq:= )
+       zfp? ( dev-libs/zfp )
+"
+DEPEND="
+       ${RDEPEND}
+       test? ( dev-cpp/gtest )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}/${P}-system-libs.patch"
+       "${FILESDIR}/${P}-sandbox.patch"
+)
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+pkg_setup() {
+       use fortran && fortran-2_pkg_setup
+       use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_SHARED_LIBS=ON
+               -DADIOS2_USE_BP5=OFF
+               -DADIOS2_USE_CUDA=OFF
+               -DADIOS2_USE_DataMan=OFF
+               -DADIOS2_USE_DataSpaces=OFF
+               -DADIOS2_USE_EXTERNAL_ATL=ON
+               -DADIOS2_USE_EXTERNAL_DEPENDENCIES=ON
+               -DADIOS2_USE_EXTERNAL_DILL=ON
+               -DADIOS2_USE_EXTERNAL_ENET=ON
+               -DADIOS2_USE_EXTERNAL_FFS=ON
+               -DADIOS2_USE_EXTERNAL_EVPATH=ON
+               -DADIOS2_USE_EXTERNAL_GTEST=ON
+               -DADIOS2_USE_EXTERNAL_NLOHMANN_JSON=ON
+               -DADIOS2_USE_EXTERNAL_PUGIXML=ON
+               -DADIOS2_USE_EXTERNAL_PYBIND11=ON
+               -DADIOS2_USE_EXTERNAL_YAMLCPP=ON
+               -DADIOS2_USE_IME=OFF
+               -DADIOS2_USE_LIBPRESSIO=OFF
+               -DADIOS2_USE_MGARD=OFF
+
+               -DADIOS2_BUILD_EXAMPLES="$(usex examples)"
+               -DADIOS2_BUILD_EXAMPLES_EXPERIMENTAL="$(usex examples)"
+               -DADIOS2_USE_Blosc="$(usex blosc)"
+               -DADIOS2_USE_BZip2="$(usex bzip2)"
+               -DADIOS2_USE_Endian_Reverse="$(usex endian-reverse)"
+               -DADIOS2_USE_Fortran="$(usex fortran)"
+               -DADIOS2_USE_HDF5="$(usex hdf5)"
+               -DADIOS2_USE_MPI="$(usex mpi)"
+               -DADIOS2_USE_PNG="$(usex png)"
+               -DADIOS2_USE_Profiling="$(usex profile)"
+               -DADIOS2_USE_Python="$(usex python)"
+               -DADIOS2_USE_Sodium="$(usex sodium)"
+               -DADIOS2_USE_SST="$(usex sst)"
+               -DADIOS2_USE_SZ="$(usex szip)"
+               -DADIOS2_USE_ZeroMQ="$(usex zeromq)"
+               -DADIOS2_USE_ZFP="$(usex zfp)"
+               -DBUILD_TESTING=$(usex test)
+       )
+       cmake_src_configure
+}
+
+src_prepare() {
+       rm -r 
thirdparty/{atl,dill,enet,EVPath,ffs,GTest,KWSys,mingw-w64,pugixml,pybind11,yaml-cpp}
 || die
+       rm -r thirdparty/nlohmann_json/nlohmann_json_wrapper/single_include || 
die
+       rm -r thirdparty/perfstubs/perfstubs || die
+       cmake_src_prepare
+}
+
+src_compile() {
+       cmake_src_compile
+}
+
+src_install() {
+       cmake_src_install
+       dodoc ReadMe.md
+}

diff --git a/sys-cluster/adios2/files/adios2-2.8.1-sandbox.patch 
b/sys-cluster/adios2/files/adios2-2.8.1-sandbox.patch
new file mode 100644
index 000000000..d1d3db92a
--- /dev/null
+++ b/sys-cluster/adios2/files/adios2-2.8.1-sandbox.patch
@@ -0,0 +1,12 @@
+--- a/cmake/install/pre/CMakeLists.txt
++++ b/cmake/install/pre/CMakeLists.txt
+@@ -1,9 +1,3 @@
+-install(CODE "
+-  message(\"Pre-installation cleanup of CMake files\")
+-  file(REMOVE_RECURSE \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}\")
+-"
+-  COMPONENT adios2_core-development
+-)
+ file(GLOB ADIOS2_MODULE_FILES 
+   "${ADIOS2_SOURCE_DIR}/cmake/Find*.cmake"
+   "${ADIOS2_SOURCE_DIR}/cmake/CMake*.cmake"

diff --git a/sys-cluster/adios2/files/adios2-2.8.1-system-libs.patch 
b/sys-cluster/adios2/files/adios2-2.8.1-system-libs.patch
new file mode 100644
index 000000000..86f2c8958
--- /dev/null
+++ b/sys-cluster/adios2/files/adios2-2.8.1-system-libs.patch
@@ -0,0 +1,307 @@
+--- a/source/adios2/CMakeLists.txt
++++ b/source/adios2/CMakeLists.txt
+@@ -127,7 +127,7 @@
+     $<BUILD_INTERFACE:${ADIOS2_SOURCE_DIR}/source>
+     $<BUILD_INTERFACE:${ADIOS2_BINARY_DIR}/source>
+ )
+-target_link_libraries(adios2_core PRIVATE adios2sys_interface 
adios2::thirdparty::pugixml
++target_link_libraries(adios2_core PRIVATE -lkwsys adios2::thirdparty::pugixml
+   adios2::thirdparty::yaml-cpp adios2::thirdparty::nlohmann_json 
adios2::thirdparty::perfstubs-interface)
+ target_link_libraries(adios2_core PUBLIC ${CMAKE_THREAD_LIBS_INIT})
+ target_compile_features(adios2_core PUBLIC 
"$<BUILD_INTERFACE:${ADIOS2_CXX11_FEATURES}>")
+@@ -151,7 +151,7 @@
+     toolkit/format/bp5/BP5Serializer.cpp
+     toolkit/format/bp5/BP5Deserializer.cpp  
toolkit/format/bp5/BP5Deserializer.tcc
+   )
+-  target_link_libraries(adios2_core PRIVATE ffs::ffs)
++  target_link_libraries(adios2_core PRIVATE ffs)
+ endif()
+ 
+ if(ADIOS2_HAVE_DAOS)
+--- a/source/adios2/core/ADIOS.cpp
++++ b/source/adios2/core/ADIOS.cpp
+@@ -19,7 +19,7 @@
+ #include "adios2/helper/adiosCommDummy.h"
+ #include "adios2/helper/adiosFunctions.h" //InquireKey, BroadcastFile
+ #include "adios2/operator/OperatorFactory.h"
+-#include <adios2sys/SystemTools.hxx>
++#include <kwsys/SystemTools.hxx>
+ 
+ #include <adios2-perfstubs-interface.h>
+ 
+@@ -53,7 +53,7 @@
+ #endif
+     if (!configFile.empty())
+     {
+-        if (!adios2sys::SystemTools::FileExists(configFile))
++        if (!kwsys::SystemTools::FileExists(configFile))
+         {
+             helper::Throw<std::logic_error>("Core", "ADIOS", "ADIOS",
+                                             "config file " + configFile +
+--- a/source/adios2/core/IO.cpp
++++ b/source/adios2/core/IO.cpp
+@@ -39,7 +39,7 @@
+ #include "adios2/helper/adiosComm.h"
+ #include "adios2/helper/adiosFunctions.h" //BuildParametersMap
+ #include "adios2/helper/adiosString.h"
+-#include <adios2sys/SystemTools.hxx> // FileIsDirectory()
++#include <kwsys/SystemTools.hxx> // FileIsDirectory()
+ 
+ #ifdef ADIOS2_HAVE_DATAMAN // external dependencies
+ #include "adios2/engine/dataman/DataManReader.h"
+@@ -559,13 +559,13 @@
+         else if ((mode_to_use == Mode::Read) ||
+                  (mode_to_use == Mode::ReadRandomAccess))
+         {
+-            if (adios2sys::SystemTools::FileIsDirectory(name))
++            if (kwsys::SystemTools::FileIsDirectory(name))
+             {
+                 char v = helper::BPVersion(name, comm, 
m_TransportsParameters);
+                 engineTypeLC = "bp";
+                 engineTypeLC.push_back(v);
+             }
+-            else if (adios2sys::SystemTools::FileIsDirectory(name + ".tier0"))
++            else if (kwsys::SystemTools::FileIsDirectory(name + ".tier0"))
+             {
+                 engineTypeLC = "mhs";
+             }
+--- a/source/adios2/helper/adiosDynamicBinder.cpp
++++ b/source/adios2/helper/adiosDynamicBinder.cpp
+@@ -18,8 +18,8 @@
+ #include <stdexcept> // for runtime_error
+ #include <vector>    // for vector
+ 
+-#include <adios2sys/DynamicLoader.hxx>
+-#include <adios2sys/SystemTools.hxx>
++#include <kwsys/DynamicLoader.hxx>
++#include <kwsys/SystemTools.hxx>
+ 
+ namespace adios2
+ {
+@@ -28,7 +28,7 @@
+ 
+ struct DynamicBinder::Impl
+ {
+-    adios2sys::DynamicLoader::LibraryHandle m_LibraryHandle;
++    kwsys::DynamicLoader::LibraryHandle m_LibraryHandle;
+ };
+ 
+ DynamicBinder::DynamicBinder(std::string libName) : DynamicBinder(libName, "")
+@@ -76,14 +76,14 @@
+                 // ConvertToOutputPath() will change slashes if we're running 
on
+                 // a Windows system
+                 fileName =
+-                    adios2sys::SystemTools::ConvertToOutputPath(fileName);
++                    kwsys::SystemTools::ConvertToOutputPath(fileName);
+             }
+             else
+             {
+                 fileName = prefix + libName + suffix;
+             }
+             m_Impl->m_LibraryHandle =
+-                adios2sys::DynamicLoader::OpenLibrary(fileName);
++                kwsys::DynamicLoader::OpenLibrary(fileName);
+             searchedLibs.push_back(fileName);
+             if (m_Impl->m_LibraryHandle)
+             {
+@@ -110,13 +110,13 @@
+ 
+ DynamicBinder::~DynamicBinder()
+ {
+-    adios2sys::DynamicLoader::CloseLibrary(m_Impl->m_LibraryHandle);
++    kwsys::DynamicLoader::CloseLibrary(m_Impl->m_LibraryHandle);
+ }
+ 
+ DynamicBinder::VoidSymbolPointer
+ DynamicBinder::GetSymbol(std::string symbolName)
+ {
+-    return adios2sys::DynamicLoader::GetSymbolAddress(m_Impl->m_LibraryHandle,
++    return kwsys::DynamicLoader::GetSymbolAddress(m_Impl->m_LibraryHandle,
+                                                       symbolName);
+ }
+ 
+--- a/source/adios2/helper/adiosPluginManager.cpp
++++ b/source/adios2/helper/adiosPluginManager.cpp
+@@ -17,7 +17,7 @@
+ #include "adios2/helper/adiosLog.h"
+ #include "adios2/helper/adiosString.h"
+ 
+-#include <adios2sys/SystemTools.hxx>
++#include <kwsys/SystemTools.hxx>
+ 
+ #include <memory>
+ #include <stdexcept>
+@@ -110,13 +110,13 @@
+     }
+ 
+     std::string allPluginPaths;
+-    adios2sys::SystemTools::GetEnv(pluginEnvVarName, allPluginPaths);
++    kwsys::SystemTools::GetEnv(pluginEnvVarName, allPluginPaths);
+     if (allPluginPaths.empty())
+     {
+         return OpenPlugin(pluginName, pluginLibrary, "");
+     }
+     auto pathsSplit =
+-        adios2sys::SystemTools::SplitString(allPluginPaths, ':', false);
++        kwsys::SystemTools::SplitString(allPluginPaths, ':', false);
+ 
+     bool loaded = false;
+     auto pathIt = pathsSplit.begin();
+--- a/source/adios2/helper/adiosSystem.cpp
++++ b/source/adios2/helper/adiosSystem.cpp
+@@ -13,7 +13,7 @@
+ #include <stdexcept> // std::runtime_error, std::exception
+ #include <system_error>
+ 
+-#include <adios2sys/SystemTools.hxx>
++#include <kwsys/SystemTools.hxx>
+ 
+ #include "adios2/common/ADIOSTypes.h"
+ #include "adios2/helper/adiosComm.h"
+@@ -37,7 +37,7 @@
+ 
+ bool CreateDirectory(const std::string &fullPath) noexcept
+ {
+-    return static_cast<bool>(adios2sys::SystemTools::MakeDirectory(fullPath));
++    return static_cast<bool>(kwsys::SystemTools::MakeDirectory(fullPath));
+ }
+ 
+ bool IsLittleEndian() noexcept
+@@ -168,7 +168,7 @@
+     if (!comm.Rank())
+     {
+         std::string mmdFileName = name + PathSeparator + "mmd.0";
+-        if (adios2sys::SystemTools::PathExists(mmdFileName))
++        if (kwsys::SystemTools::PathExists(mmdFileName))
+         {
+             version = '5';
+         }
+--- a/source/adios2/operator/plugin/PluginOperator.cpp
++++ b/source/adios2/operator/plugin/PluginOperator.cpp
+@@ -21,7 +21,7 @@
+ #include "adios2/helper/adiosPluginManager.h"
+ #include "adios2/helper/adiosString.h"
+ 
+-#include <adios2sys/SystemTools.hxx>
++#include <kwsys/SystemTools.hxx>
+ 
+ namespace adios2
+ {
+--- a/source/utils/bpls/bpls.cpp
++++ b/source/utils/bpls/bpls.cpp
+@@ -57,8 +57,8 @@
+ 
+ #include "adios2/helper/adiosString.h" // EndsWith
+ #include "adios2/helper/adiosSystem.h" //isHDF5File
+-#include <adios2sys/CommandLineArguments.hxx>
+-#include <adios2sys/SystemTools.hxx>
++#include <kwsys/CommandLineArguments.hxx>
++#include <kwsys/SystemTools.hxx>
+ #include <pugixml.hpp>
+ 
+ namespace adios2
+@@ -202,8 +202,8 @@
+ bool option_help_was_called = false;
+ int optioncb_help(const char *argument, const char *value, void *call_data)
+ {
+-    // adios2sys::CommandLineArguments *arg =
+-    // static_cast<adios2sys::CommandLineArguments *>(call_data);
++    // kwsys::CommandLineArguments *arg =
++    // static_cast<kwsys::CommandLineArguments *>(call_data);
+     // printf("%s\n", arg->GetHelp());
+     display_help();
+     option_help_was_called = true;
+@@ -431,7 +431,7 @@
+ 
+ void introspect_file(const char *filename) noexcept
+ {
+-    if (adios2sys::SystemTools::FileIsDirectory(filename))
++    if (kwsys::SystemTools::FileIsDirectory(filename))
+     {
+         if (!introspectAsBPDir(filename))
+         {
+@@ -460,7 +460,7 @@
+     }
+ }
+ 
+-int process_unused_args(adios2sys::CommandLineArguments &arg)
++int process_unused_args(kwsys::CommandLineArguments &arg)
+ {
+     int nuargs;
+     char **uargs;
+@@ -541,9 +541,9 @@
+ 
+     init_globals();
+ 
+-    adios2sys::CommandLineArguments arg;
++    kwsys::CommandLineArguments arg;
+     arg.Initialize(argc, argv);
+-    typedef adios2sys::CommandLineArguments argT;
++    typedef kwsys::CommandLineArguments argT;
+     arg.StoreUnusedArguments(true);
+     arg.AddCallback("-v", argT::NO_ARGUMENT, optioncb_verbose, nullptr, "");
+     arg.AddCallback("--verbose", argT::NO_ARGUMENT, optioncb_verbose, nullptr,
+@@ -1521,7 +1521,7 @@
+     if (verbose > 1)
+         printf("\nADIOS Open: read header info from %s\n", path);
+ 
+-    if (!adios2sys::SystemTools::FileExists(path))
++    if (!kwsys::SystemTools::FileExists(path))
+     {
+         fprintf(stderr, "\nError: input path %s does not exist\n", path);
+         return 4;
+--- a/source/utils/CMakeLists.txt
++++ b/source/utils/CMakeLists.txt
+@@ -11,7 +11,7 @@
+ 
+ # BPLS
+ add_executable(bpls ./bpls/bpls.cpp)
+-target_link_libraries(bpls adios2_core adios2sys adios2::thirdparty::pugixml)
++target_link_libraries(bpls adios2_core -lkwsys adios2::thirdparty::pugixml)
+ target_include_directories(bpls PRIVATE ${PROJECT_BINARY_DIR})
+ set_property(TARGET bpls PROPERTY OUTPUT_NAME bpls${ADIOS2_EXECUTABLE_SUFFIX})
+ install(TARGETS bpls EXPORT adios2
+@@ -30,7 +30,7 @@
+ 
+ # BPSPLIT
+ #add_executable(bpsplit ./bpsplit/bpsplit.cpp)
+-#target_link_libraries(bpsplit adios2::cxx11 adios2sys_interface 
adios2::thirdparty::pugixml)
++#target_link_libraries(bpsplit adios2::cxx11 -lkwsys 
adios2::thirdparty::pugixml)
+ #install(TARGETS bpsplit EXPORT adios2
+ #  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ #)
+--- a/thirdparty/CMakeLists.txt
++++ b/thirdparty/CMakeLists.txt
+@@ -33,8 +33,6 @@
+ option(ADIOS2_USE_EXTERNAL_YAMLCPP
+   "Use an externally supplied yaml-cpp library" 
"${ADIOS2_USE_EXTERNAL_DEPENDENCIES}")
+ 
+-add_subdirectory(KWSys)
+-
+ add_subdirectory(perfstubs)
+ adios2_add_thirdparty_target(perfstubs-interface perfstubs-interface)
+ 
+--- a/thirdparty/perfstubs/CMakeLists.txt
++++ b/thirdparty/perfstubs/CMakeLists.txt
+@@ -1,12 +1,3 @@
+-message_start_thirdparty()
+-
+-if (NOT WIN32 AND BUILD_SHARED_LIBS AND ADIOS2_HAVE_Profiling)
+-  set(PERFSTUBS_USE_TIMERS ON CACHE INTERNAL "")
+-  add_subdirectory(perfstubs)
+-else()
+-  set(PERFSTUBS_USE_TIMERS OFF CACHE INTERNAL "")
+-endif()
+-
+ add_library(perfstubs-interface INTERFACE)
+ 
+ configure_file(
+@@ -19,7 +10,6 @@
+ )
+ 
+ if (PERFSTUBS_USE_TIMERS)
++  find_package(perfstubs REQUIRED)
+   target_link_libraries(perfstubs-interface INTERFACE perfstubs)
+ endif()
+-
+-message_end_thirdparty()

diff --git a/sys-cluster/adios2/metadata.xml b/sys-cluster/adios2/metadata.xml
new file mode 100644
index 000000000..f3fe0dc45
--- /dev/null
+++ b/sys-cluster/adios2/metadata.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="person">
+    <email>[email protected]</email>
+    <name>Alessandro Barbieri</name>
+  </maintainer>
+  <upstream>
+    <bugs-to>https://github.com/ornladios/ADIOS2/issues</bugs-to>
+    <remote-id type="github">ornladios/ADIOS2</remote-id>
+  </upstream>
+  <longdescription lang="en">
+This is ADIOS2: The Adaptable Input/Output (I/O) System.
+
+ADIOS2 is developed as part of the United States Department of Energy's 
Exascale Computing Project. It is a framework for scientific data I/O to 
publish and subscribe to data when and where required.
+
+ADIOS2 transports data as groups of self-describing variables and attributes 
across different media types (such as files, wide-area-networks, and remote 
direct memory access) using a common application programming interface for all 
transport modes. ADIOS2 can be used on supercomputers, cloud systems, and 
personal computers.
+
+ADIOS2 focuses on:
+
+    Performance I/O scalability in high performance computing (HPC) 
applications.
+    Adaptability unified interfaces to allow for several modes of transport 
(files, memory-to-memory)
+    Ease of Use two-level application programming interface (APIs)
+
+    Full APIs for HPC applications: C++11, Fortran 90, C 99, Python 2 and 3
+    Simplified High-Level APIs for data analysis: Python 2 and 3, C++11, Matlab
+
+In addition, ADIOS2 APIs are based on:
+
+    MPI Although ADIOS2 is MPI-based, it can also be used in non-MPI serial 
code.
+
+    Data Groups ADIOS2 favors a deferred/prefetch/grouped variables transport 
mode by default to maximize data-per-request ratios. Sync mode, one variable at 
a time, is treated as the special case.
+
+    Data Steps ADIOS2 follows the actual production/consumption of data using 
an I/O “steps” abstraction removing the need to manage extra indexing 
information.
+
+    Data Engines ADIOS2 Engine abstraction allows for reusing the APIs for 
different transport modes removing the need for drastic code changes.
+  </longdescription>
+  <use>
+    <flag name="blosc">Enable support for Blosc transforms</flag>
+    <flag name="endian-reverse">Enable support for Little/Big Endian 
Interoperability</flag>
+    <flag name="sodium">Enable support for Sodium for encryption</flag>
+    <flag name="sst">Enable support for SST</flag>
+    <flag name="zeromq">Enable support for ZeroMQ</flag>
+    <flag name="zfp">Enable support for ZFP transforms</flag>
+  </use>
+</pkgmetadata>

Reply via email to