Edd Salkield: 1 testing/hdf4: new aport 2 files changed, 55 insertions(+), 0 deletions(-)
> This package comes with a patch that removes some type definitions where the author was assuming glibc. I would appreciate comments on whether and how to patch this upstream in a way that doesn't break glibc builds. I don't see how it should fail, `int64_t` and `uint64_t` are perfectly supported types in musl as far as I known, I'll try building without to patch to see what is wrong and report later. -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194494
Just built without the patch and the build didn't fail -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194498
Copy & paste the following snippet into your terminal to import this patchset into git:
curl -s https://lists.alpinelinux.org/~alpine/aports/patches/3774/mbox | git am -3Learn more about email & git
https://www.hdfgroup.org/solutions/hdf4/ HDF4 is a data model, library, and file format for storing and managing data --- This is my first package for Alpine - I hope this work will be useful for others processing NASA data files too. Like community/hdf5, I've had to add some additional flags to get this to build, because the default autoconf setup is fairly broken. Unfortunately the test suite also appears pretty broken, with it segfaulting a fair amount. I'm not sure I have the time to fully diagnose this issue at the moment, thoughts on how to proceed appreciated. This package comes with a patch that removes some type definitions where the author was assuming glibc. I would appreciate comments on whether and how to patch this upstream in a way that doesn't break glibc builds. Also, the source archive comes containing autogenerated autoconf files. I've used these in the build, but would the package ideally invoke autoconf to generate ./configure before running it? Finally, I've only been able to test this on x86-64. What's the procedure for making sure this builds on other architectures as well? Thanks! testing/hdf4/10-musl.patch | 14 +++++++++++++ testing/hdf4/APKBUILD | 41 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 testing/hdf4/10-musl.patch create mode 100644 testing/hdf4/APKBUILD diff --git a/testing/hdf4/10-musl.patch b/testing/hdf4/10-musl.patch new file mode 100644 index 0000000000..5e7979e358 --- /dev/null +++ b/testing/hdf4/10-musl.patch @@ -0,0 +1,14 @@ ++++ hdf-4.2.15/mfhdf/xdr/types.h +@@ -55,12 +55,6 @@ + #ifndef u_long + typedef unsigned long u_long; + #endif +-#ifndef u_quad_t +-typedef uint64_t u_quad_t; +-#endif +-#ifndef quad_t +-typedef int64_t quad_t; +-#endif + #ifndef caddr_t + typedef char * caddr_t; + #endif diff --git a/testing/hdf4/APKBUILD b/testing/hdf4/APKBUILD new file mode 100644 index 0000000000..73bb822b7a --- /dev/null +++ b/testing/hdf4/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Edd Salkield <edd@salkield.uk> +# Maintainer: Edd Salkield <edd@salkield.uk> +pkgname=hdf4 +pkgver=4.2.15 +pkgrel=0 +pkgdesc="HDF4 is a data model, library, and file format for storing and managing data"
`HDF4 is a` sounds redundant -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194492
+url="https://www.hdfgroup.org/solutions/hdf4/" +arch="all" +license="custom" +options="!check" # Upstream tests appear broken +depends_dev="zlib-dev jpeg-dev portablexdr-dev" # Since it's linked to portablexdr-dev, is this required here? +makedepends="$depends_dev gfortran bison flex" +checkdepends="diffutils" # Flags not supported by busybox diff are used +subpackages="$pkgname-dev $pkgname-doc" +source="https://support.hdfgroup.org/ftp/HDF/releases/HDF"$pkgver"/src/hdf-"$pkgver".tar.bz2 10-musl.patch"
I think it is more readable to have one per line -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194491
+builddir="$srcdir"/"hdf-$pkgver" +
it seems the config.guess is too old (2008), please add this to update them: ```sh prepare() { default_prepare update_config_sub update_config_guess } ``` -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194490
+build() { + # This flag required to treat Fortran argument mismatch as a warning, + # not an error. + # This got fixed in master https://github.com/HDFGroup/hdf4/issues/1 + # but isn't fixed yet in the latest release. + export FFLAGS="$FFLAGS -fallow-argument-mismatch" + export LIBS="$LIBS -lportablexdr" + ./configure --prefix=/usr
missing `--build=$CBUILD` and `--host=$CHOST` -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194489
+ make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install-recursive + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING +} + +sha512sums=" +7d4037800ef8950ed74f225355ef5458444bed26fc189fbbd2ce7d36009998013ac1f6ba5d4e60834acf8f6f73550357238745acc35e162679919400a48191e9 hdf-4.2.15.tar.bz2 +c373d5130ce1d01145735b6a9e3bfe242d2f26d7cddf2324152c92347e95d359ca54048760126a48bcc8b207391a323734a7407dfa5d0db96eb619766db35588 10-musl.patch +" -- 2.34.1
Edd Salkield <no-reply@dispatch.alpinelinux.org>This is my first package for Alpine - I hope this work will be useful for others processing NASA data files too. Like community/hdf5, I've had to add some additional flags to get this to build, because the default autoconf setup is fairly broken. Unfortunately the test suite also appears pretty broken, with it segfaulting a fair amount. I'm not sure I have the time to fully diagnose this issue at the moment, thoughts on how to proceed appreciated. This package comes with a patch that removes some type definitions where the author was assuming glibc. I would appreciate comments on whether and how to patch this upstream in a way that doesn't break glibc builds. Also, the source archive comes containing autogenerated autoconf files. I've used these in the build, but would the package ideally invoke autoconf to generate ./configure before running it? Finally, I've only been able to test this on x86-64. What's the procedure for making sure this builds on other architectures as well? Thanks! -- via https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/27775#note_194444