nixpkgs/pkgs/development/octave-modules/control/default.nix
Karl Hallsby d77e1a6daf octavePackages.control: update 3.5.1 -> 3.5.2
Also update to use the GitHub version of control, as development has
moved there from SourceForge and 3.5.1 is no longer obtainable from
SourceForge.

Add autoreconfHook so that config.h header is generated for control by
control.
This seems to be a regression, as 3.5.1 and earlier should have been
building fine without it?
2023-04-13 15:06:29 -05:00

48 lines
1.1 KiB
Nix

{ buildOctavePackage
, lib
, fetchFromGitHub
, gfortran
, lapack, blas
, autoreconfHook
}:
buildOctavePackage rec {
pname = "control";
version = "3.5.2";
src = fetchFromGitHub {
owner = "gnu-octave";
repo = "pkg-control";
rev = "${pname}-${version}";
sha256 = "sha256-isUHovpknIFclspHjAtUxGLkrdxitdWSnQMED9n+R3s=";
};
# Running autoreconfHook inside the src directory fixes a compile issue about
# the config.h header for control missing.
# This is supposed to be handled by control's top-level Makefile, but does not
# appear to be working. This manually forces it instead.
preAutoreconf = ''
pushd src
'';
postAutoreconf = ''
popd
'';
nativeBuildInputs = [
gfortran
autoreconfHook
];
buildInputs = [
lapack blas
];
meta = with lib; {
homepage = "https://gnu-octave.github.io/packages/control/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ KarlJoad ];
description = "Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library";
};
}