56 lines
1.4 KiB
Nix
56 lines
1.4 KiB
Nix
|
{ lib
|
||
|
, stdenv
|
||
|
, fetchFromGitHub
|
||
|
, cmake
|
||
|
, ninja
|
||
|
, python
|
||
|
, scikit-build
|
||
|
, pytest
|
||
|
, numpy
|
||
|
, fetchpatch
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "segyio";
|
||
|
version = "1.9.9";
|
||
|
|
||
|
patches = [
|
||
|
# PR https://github.com/equinor/segyio/pull/531
|
||
|
(fetchpatch {
|
||
|
url = "https://github.com/equinor/segyio/commit/628bc5e02d0f98b89fe70b072df9b8e677622e9e.patch";
|
||
|
sha256 = "sha256-j+vqHZNfPIh+yWBgqbGD3W04FBvFiDJKnmcC/oTk3a8=";
|
||
|
})
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
# Removing unecessary build dependency
|
||
|
substituteInPlace python/setup.py --replace "'pytest-runner'," ""
|
||
|
|
||
|
# Fixing bug making one test fail in the python 3.10 build
|
||
|
substituteInPlace python/segyio/open.py --replace \
|
||
|
"cube_metrics = f.xfd.cube_metrics(iline, xline)" \
|
||
|
"cube_metrics = f.xfd.cube_metrics(int(iline), int(xline))"
|
||
|
'';
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "equinor";
|
||
|
repo = pname;
|
||
|
rev = version;
|
||
|
sha256 = "sha256-L3u5BHS5tARS2aIiQbumADkuzw1Aw4Yuav8H8tRNYNg=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [ cmake ninja python scikit-build ];
|
||
|
|
||
|
doCheck = true;
|
||
|
# I'm not modifying the checkPhase nor adding a pytestCheckHook because the pytest is called
|
||
|
# within the cmake test phase
|
||
|
checkInputs = [ pytest numpy ];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Fast Python library for SEGY files";
|
||
|
homepage = "https://github.com/equinor/segyio";
|
||
|
license = licenses.lgpl3Only;
|
||
|
maintainers = with maintainers; [ atila ];
|
||
|
};
|
||
|
}
|