depot/third_party/nixpkgs/pkgs/development/python-modules/segyio/default.nix

56 lines
1.4 KiB
Nix
Raw Normal View History

{ 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 ];
};
}