From 8f59b84cdd08ffb8c3b4646188f9580aa3d2a608 Mon Sep 17 00:00:00 2001 From: Yogita Urade Date: Thu, 1 Aug 2024 07:10:29 +0000 Subject: hdf5: upgrade to 1.14.4 Release notes: https://github.com/HDFGroup/hdf5/blob/hdf5_1.14.4.3/release_docs/RELEASE.txt License update: link update from https://raw.githubusercontent.com/hdfgroup/hdf5/develop/COPYING_LBNL_HDF5 to https://raw.githubusercontent.com/hdfgroup/hdf5/hdf5_1_14/COPYING_LBNL_HDF5. Upstream has only Released tar file extension is .gz so SRC_URI tar file extension changed from .bz2 to .gz Fixes File /usr/lib/libhdf5.settings in package hdf5 contains reference to TMPDIR File /usr/src/debug/hdf5/1.14.4-3/src/H5build_settings.c in package hdf5-src contains reference to TMPDIR [buildpaths] - Running H5make_libsettings is no longer required for cross-compiling The functionality of H5make_libsettings is now handled via template files, so H5make_libsettings has been removed. - Running H5detect is no longer required for cross-compiling The functionality of H5detect is now exercised at library startup, so H5detect has been removed Rework the patch 0001-cmake-remove-build-flags.patch to fix the build path issue. Signed-off-by: Yogita Urade Signed-off-by: Armin Kuster --- .../hdf5/files/0001-cmake-remove-build-flags.patch | 41 ++------------ meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb | 62 --------------------- meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb | 65 ++++++++++++++++++++++ 3 files changed, 71 insertions(+), 97 deletions(-) delete mode 100644 meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb create mode 100644 meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb diff --git a/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch b/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch index 68d9c3a3cf..0d016ccb4c 100644 --- a/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch +++ b/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch @@ -1,6 +1,6 @@ -From 4fa437782261c0da785d4574ad3a03700f624e66 Mon Sep 17 00:00:00 2001 +From 9f5afd99cce93e68996deb2b5fa7c32737d279fe Mon Sep 17 00:00:00 2001 From: Mingli Yu -Date: Tue, 19 Sep 2023 02:56:09 +0000 +Date: Tue, 16 Jul 2024 17:54:29 +0800 Subject: [PATCH] cmake: remove build flags Don't generate the build host related info and reemove the build flags @@ -11,11 +11,10 @@ Upstream-Status: Inappropriate [oe specific] Signed-off-by: Mingli Yu --- config/cmake/libhdf5.settings.cmake.in | 18 +++++++++--------- - src/H5make_libsettings.c | 17 ----------------- - 2 files changed, 9 insertions(+), 26 deletions(-) + 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in -index f60f0de..f4433c0 100644 +index deb07ed..6f255c4 100644 --- a/config/cmake/libhdf5.settings.cmake.in +++ b/config/cmake/libhdf5.settings.cmake.in @@ -23,23 +23,23 @@ Linking Options: @@ -28,7 +27,7 @@ index f60f0de..f4433c0 100644 AM_LDFLAGS: @AM_LDFLAGS@ Extra libraries: @LINK_LIBS@ - Archiver: @CMAKE_AR@ -- AR_FLAGS: +- AR_FLAGS: - Ranlib: @CMAKE_RANLIB@ + Archiver: + AR_FLAGS: @@ -63,34 +62,6 @@ index f60f0de..f4433c0 100644 H5 C++ Flags: @HDF5_CMAKE_CXX_FLAGS@ AM C++ Flags: @AM_CXXFLAGS@ Shared C++ Library: @H5_ENABLE_SHARED_LIB@ -diff --git a/src/H5make_libsettings.c b/src/H5make_libsettings.c -index 2661288..7c0f84f 100644 ---- a/src/H5make_libsettings.c -+++ b/src/H5make_libsettings.c -@@ -205,23 +205,6 @@ information about the library build configuration\n"; - fprintf(rawoutstream, "/* Generated automatically by H5make_libsettings -- do not edit */\n\n\n"); - fputs(FileHeader, rawoutstream); /*the copyright notice--see top of this file */ - -- fprintf(rawoutstream, " *\n * Created:\t\t%s %2d, %4d\n", month_name[tm->tm_mon], tm->tm_mday, -- 1900 + tm->tm_year); -- if (pwd || real_name[0] || host_name[0]) { -- fprintf(rawoutstream, " *\t\t\t"); -- if (real_name[0]) -- fprintf(rawoutstream, "%s <", real_name); --#ifdef H5_HAVE_GETPWUID -- if (pwd) -- fputs(pwd->pw_name, rawoutstream); --#endif -- if (host_name[0]) -- fprintf(rawoutstream, "@%s", host_name); -- if (real_name[0]) -- fprintf(rawoutstream, ">"); -- fputc('\n', rawoutstream); -- } -- - fprintf(rawoutstream, " *\n * Purpose:\t\t"); - - for (s = purpose; *s; s++) { -- -2.35.5 +2.25.1 diff --git a/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb b/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb deleted file mode 100644 index b8a81bb0b7..0000000000 --- a/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb +++ /dev/null @@ -1,62 +0,0 @@ -SUMMARY = "Management suite for extremely large and complex data collections" -DESCRIPTION = "Unique technology suite that makes possible the management of \ -extremely large and complex data collections" -HOMEPAGE = "https://www.hdfgroup.org/" -SECTION = "libs" - -LICENSE = "HDF5" -LIC_FILES_CHKSUM = "file://COPYING;md5=9ba0f3d878ab6c2403c86e9b0362d998" - -inherit cmake siteinfo qemu multilib_header multilib_script - -DEPENDS += "qemu-native zlib" - -SRC_URI = " \ - https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.14/hdf5-${PV}/src/${BPN}-${PV}.tar.bz2 \ - file://0002-Remove-suffix-shared-from-shared-library-name.patch \ - file://0001-cmake-remove-build-flags.patch \ -" -SRC_URI[sha256sum] = "ea3c5e257ef322af5e77fc1e52ead3ad6bf3bb4ac06480dd17ee3900d7a24cfb" - -FILES:${PN} += "${libdir}/libhdf5.settings ${datadir}/*" - -EXTRA_OECMAKE = " \ - -DHDF5_INSTALL_CMAKE_DIR=${libdir}/cmake \ - -DCMAKE_INSTALL_PREFIX='${prefix}' \ - -DHDF5_INSTALL_LIB_DIR='${baselib}' \ -" -EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper " - -gen_emu() { - # Write out a qemu wrapper that will be used by cmake - # so that it can run target helper binaries through that. - qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" - cat > ${WORKDIR}/qemuwrapper << EOF -#!/bin/sh -$qemu_binary "\$@" -EOF - chmod +x ${WORKDIR}/qemuwrapper -} - -do_unpack[postfuncs] += "gen_emu" - -MULTILIB_SCRIPTS += "${PN}:${bindir}/h5cc \ - ${PN}:${bindir}/h5hlcc \ -" - -do_install:append() { - # Used for generating config files on target - install -m 755 ${B}/bin/H5detect ${D}${bindir} - install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir} - oe_multilib_header H5pubconf.h - # remove the buildpath - sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/pkgconfig/hdf5.pc - sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/hdf5-targets.cmake - sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' ${D}${bindir}/h5hlcc - sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' ${D}${bindir}/h5cc -} - -BBCLASSEXTEND = "native" - -# h5fuse.sh script needs bash -RDEPENDS:${PN} += "bash" diff --git a/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb b/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb new file mode 100644 index 0000000000..f34e5f183d --- /dev/null +++ b/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb @@ -0,0 +1,65 @@ +SUMMARY = "Management suite for extremely large and complex data collections" +DESCRIPTION = "Unique technology suite that makes possible the management of \ +extremely large and complex data collections" +HOMEPAGE = "https://www.hdfgroup.org/" +SECTION = "libs" + +LICENSE = "HDF5" +LIC_FILES_CHKSUM = "file://COPYING;md5=adebb1ecf1b3b80c13359e18ef67301e" + +inherit cmake siteinfo qemu multilib_header multilib_script + +DEPENDS += "qemu-native zlib" + +SRC_URI = " \ + https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.14/hdf5-1.14.4/src/${BPN}-${PV}.tar.gz \ + file://0002-Remove-suffix-shared-from-shared-library-name.patch \ + file://0001-cmake-remove-build-flags.patch \ +" +SRC_URI[sha256sum] = "019ac451d9e1cf89c0482ba2a06f07a46166caf23f60fea5ef3c37724a318e03" + +FILES:${PN} += "${libdir}/libhdf5.settings ${datadir}/*" + +EXTRA_OECMAKE = " \ + -DHDF5_INSTALL_CMAKE_DIR=${libdir}/cmake \ + -DCMAKE_INSTALL_PREFIX='${prefix}' \ + -DHDF5_INSTALL_LIB_DIR='${baselib}' \ +" +EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper " + +gen_emu() { + # Write out a qemu wrapper that will be used by cmake + # so that it can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper +} + +do_unpack[postfuncs] += "gen_emu" + +MULTILIB_SCRIPTS += "${PN}:${bindir}/h5cc \ + ${PN}:${bindir}/h5hlcc \ +" + +do_configure:append() { + sed -i -e 's|${WORKDIR}||g' ${B}/src/libhdf5.settings + sed -i -e 's|${WORKDIR}||g' ${B}/src/H5build_settings.c +} + +do_install:append() { + # Used for generating config files on target + oe_multilib_header H5pubconf.h + # remove the buildpath + sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/pkgconfig/hdf5.pc + sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/hdf5-targets.cmake + sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' ${D}${bindir}/h5hlcc + sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' ${D}${bindir}/h5cc +} + +BBCLASSEXTEND = "native" + +# h5fuse.sh script needs bash +RDEPENDS:${PN} += "bash" -- cgit v1.2.3-54-g00ecf