diff --git a/README.md b/README.md index ced4f8e..2913c60 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # adios2 +A framework for scientific data I/O to publish and subscribe to data when and where required. + diff --git a/adios2-2.10.0-pugixml-1.14.patch b/adios2-2.10.0-pugixml-1.14.patch new file mode 100644 index 0000000..21e2b4c --- /dev/null +++ b/adios2-2.10.0-pugixml-1.14.patch @@ -0,0 +1,57 @@ +From f1322a322cb1e5739742c405fe329b4a07820ade Mon Sep 17 00:00:00 2001 +From: Vicente Adolfo Bolea Sanchez +Date: Wed, 17 Apr 2024 14:22:40 -0400 +Subject: [PATCH] pugixml,cmake: fix linkage when pugixml is external + +--- + source/adios2/toolkit/remote/CMakeLists.txt | 12 ++++-------- + source/utils/CMakeLists.txt | 8 +------- + 2 files changed, 5 insertions(+), 15 deletions(-) + +diff --git a/source/adios2/toolkit/remote/CMakeLists.txt b/source/adios2/toolkit/remote/CMakeLists.txt +index a739e1ad63..fdea6ec841 100644 +--- a/source/adios2/toolkit/remote/CMakeLists.txt ++++ b/source/adios2/toolkit/remote/CMakeLists.txt +@@ -6,15 +6,11 @@ + if (NOT ADIOS2_USE_PIP) + add_executable(adios2_remote_server ./remote_server.cpp remote_common.cpp) + +- target_link_libraries(adios2_remote_server PUBLIC EVPath::EVPath adios2_core adios2sys +- PRIVATE $<$:shlwapi>) ++ target_link_libraries(adios2_remote_server ++ PUBLIC EVPath::EVPath adios2_core adios2sys ++ PRIVATE adios2::thirdparty::pugixml $<$:shlwapi>) + +- get_property(pugixml_headers_path +- TARGET pugixml +- PROPERTY INTERFACE_INCLUDE_DIRECTORIES +- ) +- +- target_include_directories(adios2_remote_server PRIVATE ${PROJECT_BINARY_DIR} ${pugixml_headers_path}) ++ target_include_directories(adios2_remote_server PRIVATE ${PROJECT_BINARY_DIR}) + + set_property(TARGET adios2_remote_server PROPERTY OUTPUT_NAME adios2_remote_server${ADIOS2_EXECUTABLE_SUFFIX}) + install(TARGETS adios2_remote_server EXPORT adios2 +diff --git a/source/utils/CMakeLists.txt b/source/utils/CMakeLists.txt +index 30dd48411f..01f5f93c34 100644 +--- a/source/utils/CMakeLists.txt ++++ b/source/utils/CMakeLists.txt +@@ -13,17 +13,11 @@ configure_file( + add_executable(bpls ./bpls/bpls.cpp) + target_link_libraries(bpls + PUBLIC adios2_core adios2sys +- PRIVATE $<$:shlwapi>) +- +-get_property(pugixml_headers_path +- TARGET pugixml +- PROPERTY INTERFACE_INCLUDE_DIRECTORIES +-) ++ PRIVATE adios2::thirdparty::pugixml $<$:shlwapi>) + + target_include_directories(bpls PRIVATE + ${PROJECT_BINARY_DIR} + ${PROJECT_SOURCE_DIR}/bindings/C +- ${pugixml_headers_path} + ) + + set_property(TARGET bpls PROPERTY OUTPUT_NAME bpls${ADIOS2_EXECUTABLE_SUFFIX}) diff --git a/adios2.spec b/adios2.spec new file mode 100644 index 0000000..cd7f215 --- /dev/null +++ b/adios2.spec @@ -0,0 +1,111 @@ +Name: adios2 +Version: 2.10.0 +Release: 1mamba +Summary: A framework for scientific data I/O to publish and subscribe to data when and where required +Group: Development/Tools +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://github.com/ornladios/ADIOS2 +Source: https://github.com/ornladios/ADIOS2.git/v%{version}/ADIOS2-%{version}.tar.bz2 +Patch0: adios2-2.10.0-pugixml-1.14.patch +License: Apache License 2.0 +## AUTOBUILDREQ-BEGIN +BuildRequires: gcc-fortran +BuildRequires: glibc-devel +BuildRequires: libbzip2-devel +BuildRequires: libgcc +BuildRequires: libhdf5-devel +BuildRequires: libmpi-devel +BuildRequires: libpng-devel +BuildRequires: libpython311-devel +BuildRequires: libquadmath-devel +BuildRequires: libsodium-devel +BuildRequires: libsqlite-devel +BuildRequires: libstdc++6-devel +BuildRequires: libyaml-cpp-devel +BuildRequires: libz-devel +BuildRequires: libzeromq-devel +BuildRequires: pugixml-devel +## AUTOBUILDREQ-END +BuildRequires: cmake +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description +A framework for scientific data I/O to publish and subscribe to data when and where required. + +%package -n lib%{name} +Group: System/Libraries +Summary: Shared libraries for %{name} + +%description -n lib%{name} +This package contains shared libraries for %{name}. + +%package -n lib%{name}-devel +Group: Development/Libraries +Summary: Development files for %{name} +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib%{name}-devel +This package contains libraries and header files for developing applications that use %{name}. + +%debug_package + +%prep +%setup -q -n ADIOS2-%{version} +%patch 0 -p1 -b .pugixml-1.14 + +%build +%cmake \ + -DADIOS2_USE_EXTERNAL_DEPENDENCIES=ON \ + -DADIOS2_HAVE_HDF5_VOL=OFF \ + -DADIOS2_BUILD_EXAMPLES=OFF + +%cmake_build + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +export CMAKE_PREFIX_PATH=%{buildroot}%{_libdir}/cmake +%cmake_install + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/adios2_* +%{_bindir}/bp2h5 +%{_bindir}/bp2h5_mpi +%{_bindir}/bp4dbg +%{_bindir}/bp5dbg +%{_bindir}/bpls +%{_bindir}/sst_conn_tool +%dir %{_datadir}/iotest-config +%{_datadir}/iotest-config/* + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libadios2_*.so.* +%dir %{_libdir}/adios2-evpath-modules-* +%{_libdir}/adios2-evpath-modules-*/libadios2_*.so +%dir %{python3_sitearch}/adios2 +%{python3_sitearch}/adios2/* +%doc LICENSE + +%files -n lib%{name}-devel +%defattr(-,root,root) +%{_includedir}/adios2.h +%dir %{_includedir}/adios2 +%{_includedir}/adios2/* +%{_includedir}/adios2_c.h +%{_libdir}/libEncryptionOperator.so +%{_libdir}/libadios2_*.so +%dir %{_libdir}/cmake/adios2 +%{_libdir}/cmake/adios2/* + +%changelog +* Mon May 06 2024 Silvan Calarco 2.10.0-1mamba +- package created using the webbuild interface