uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
58
pkgs/tools/misc/hdf5/1.10.nix
Normal file
58
pkgs/tools/misc/hdf5/1.10.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, removeReferencesTo
|
||||
, zlibSupport ? true
|
||||
, zlib
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
, javaSupport ? false
|
||||
, jdk
|
||||
}:
|
||||
|
||||
let inherit (lib) optional optionals; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
# pinned to 1.10.6 for pythonPackages.tables v3.6.1. tables has test errors for hdf5 > 1.10.6. https://github.com/PyTables/PyTables/issues/845
|
||||
version = "1.10.6";
|
||||
pname = "hdf5";
|
||||
src = fetchurl {
|
||||
url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/${pname}-${version}/src/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
buildInputs = optional javaSupport jdk;
|
||||
|
||||
nativeBuildInputs = [ removeReferencesTo ];
|
||||
|
||||
propagatedBuildInputs = optional zlibSupport zlib;
|
||||
|
||||
configureFlags = optional enableShared "--enable-shared"
|
||||
++ optional javaSupport "--enable-java";
|
||||
|
||||
patches = [
|
||||
./bin-mv.patch
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
|
||||
moveToOutput 'bin/h5cc' "''${!outputDev}"
|
||||
moveToOutput 'bin/h5c++' "''${!outputDev}"
|
||||
moveToOutput 'bin/h5fc' "''${!outputDev}"
|
||||
moveToOutput 'bin/h5pcc' "''${!outputDev}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Data model, library, and file format for storing and managing data";
|
||||
longDescription = ''
|
||||
HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
|
||||
I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
|
||||
applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
|
||||
applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
|
||||
'';
|
||||
license = lib.licenses.bsd3; # Lawrence Berkeley National Labs BSD 3-Clause variant
|
||||
homepage = "https://www.hdfgroup.org/HDF5/";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/misc/hdf5/bin-mv.patch
Normal file
30
pkgs/tools/misc/hdf5/bin-mv.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
diff -rc hdf5-1.8.5/configure hdf5-1.8.5-new/configure
|
||||
*** hdf5-1.8.5/configure 2010-06-04 20:26:04.000000000 +0200
|
||||
--- hdf5-1.8.5-new/configure 2010-08-02 10:30:26.000000000 +0200
|
||||
***************
|
||||
*** 30587,30598 ****
|
||||
sed 's/#define /#define H5_/' <src/H5config.h |\
|
||||
sed 's/#undef /#undef H5_/' >pubconf
|
||||
if test ! -f src/H5pubconf.h; then
|
||||
! /bin/mv -f pubconf src/H5pubconf.h
|
||||
elif (diff pubconf src/H5pubconf.h >/dev/null); then
|
||||
rm -f pubconf
|
||||
echo "src/H5pubconf.h is unchanged"
|
||||
else
|
||||
! /bin/mv -f pubconf src/H5pubconf.h
|
||||
fi
|
||||
echo "Post process src/libhdf5.settings"
|
||||
sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
|
||||
--- 30587,30598 ----
|
||||
sed 's/#define /#define H5_/' <src/H5config.h |\
|
||||
sed 's/#undef /#undef H5_/' >pubconf
|
||||
if test ! -f src/H5pubconf.h; then
|
||||
! mv -f pubconf src/H5pubconf.h
|
||||
elif (diff pubconf src/H5pubconf.h >/dev/null); then
|
||||
rm -f pubconf
|
||||
echo "src/H5pubconf.h is unchanged"
|
||||
else
|
||||
! mv -f pubconf src/H5pubconf.h
|
||||
fi
|
||||
echo "Post process src/libhdf5.settings"
|
||||
sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
|
||||
107
pkgs/tools/misc/hdf5/default.nix
Normal file
107
pkgs/tools/misc/hdf5/default.nix
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, removeReferencesTo
|
||||
, cppSupport ? false
|
||||
, fortranSupport ? false
|
||||
, fortran
|
||||
, zlibSupport ? true
|
||||
, zlib
|
||||
, szipSupport ? false
|
||||
, szip
|
||||
, mpiSupport ? false
|
||||
, mpi
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
, javaSupport ? false
|
||||
, jdk
|
||||
, usev110Api ? false
|
||||
, threadsafe ? false
|
||||
}:
|
||||
|
||||
# cpp and mpi options are mutually exclusive
|
||||
# (--enable-unsupported could be used to force the build)
|
||||
assert !cppSupport || !mpiSupport;
|
||||
|
||||
let inherit (lib) optional optionals; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.12.1";
|
||||
pname = "hdf5"
|
||||
+ lib.optionalString cppSupport "-cpp"
|
||||
+ lib.optionalString fortranSupport "-fortran"
|
||||
+ lib.optionalString mpiSupport "-mpi"
|
||||
+ lib.optionalString threadsafe "-threadsafe";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/hdf5-${version}/src/hdf5-${version}.tar.bz2";
|
||||
sha256 = "sha256-qvn1MrPtqD09Otyfi0Cpt2MVIhj6RTScO8d1Asofjxw=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit
|
||||
cppSupport
|
||||
fortranSupport
|
||||
fortran
|
||||
zlibSupport
|
||||
zlib
|
||||
szipSupport
|
||||
szip
|
||||
mpiSupport
|
||||
mpi
|
||||
;
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ removeReferencesTo ]
|
||||
++ optional fortranSupport fortran;
|
||||
|
||||
buildInputs = optional fortranSupport fortran
|
||||
++ optional szipSupport szip
|
||||
++ optional javaSupport jdk;
|
||||
|
||||
propagatedBuildInputs = optional zlibSupport zlib
|
||||
++ optional mpiSupport mpi;
|
||||
|
||||
configureFlags = optional cppSupport "--enable-cxx"
|
||||
++ optional fortranSupport "--enable-fortran"
|
||||
++ optional szipSupport "--with-szlib=${szip}"
|
||||
++ optionals mpiSupport [ "--enable-parallel" "CC=${mpi}/bin/mpicc" ]
|
||||
++ optional enableShared "--enable-shared"
|
||||
++ optional javaSupport "--enable-java"
|
||||
++ optional usev110Api "--with-default-api-version=v110"
|
||||
# hdf5 hl (High Level) library is not considered stable with thread safety and should be disabled.
|
||||
++ optionals threadsafe [ "--enable-threadsafe" "--disable-hl" ];
|
||||
|
||||
patches = [
|
||||
./bin-mv.patch
|
||||
|
||||
# Avoid non-determinism in autoconf build system:
|
||||
# - build time
|
||||
# - build user
|
||||
# - uname -a (kernel version)
|
||||
# Can be dropped once/if we switch to cmake.
|
||||
./hdf5-more-determinism.patch
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
|
||||
moveToOutput 'bin/h5cc' "''${!outputDev}"
|
||||
moveToOutput 'bin/h5c++' "''${!outputDev}"
|
||||
moveToOutput 'bin/h5fc' "''${!outputDev}"
|
||||
moveToOutput 'bin/h5pcc' "''${!outputDev}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Data model, library, and file format for storing and managing data";
|
||||
longDescription = ''
|
||||
HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
|
||||
I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
|
||||
applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
|
||||
applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
|
||||
'';
|
||||
license = lib.licenses.bsd3; # Lawrence Berkeley National Labs BSD 3-Clause variant
|
||||
homepage = "https://www.hdfgroup.org/HDF5/";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
15
pkgs/tools/misc/hdf5/hdf5-more-determinism.patch
Normal file
15
pkgs/tools/misc/hdf5/hdf5-more-determinism.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in
|
||||
index a4d4af6..70f1909 100644
|
||||
--- a/src/libhdf5.settings.in
|
||||
+++ b/src/libhdf5.settings.in
|
||||
@@ -4,10 +4,7 @@
|
||||
General Information:
|
||||
-------------------
|
||||
HDF5 Version: @H5_VERSION@
|
||||
- Configured on: @CONFIG_DATE@
|
||||
- Configured by: @CONFIG_USER@
|
||||
Host system: @host_cpu@-@host_vendor@-@host_os@
|
||||
- Uname information: @UNAME_INFO@
|
||||
Byte sex: @BYTESEX@
|
||||
Installation point: @prefix@
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue