nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ buildOctavePackage
2, lib
3, fetchFromGitHub
4, gfortran
5, lapack, blas
6, autoreconfHook
7}:
8
9buildOctavePackage rec {
10 pname = "control";
11 version = "3.5.2";
12
13 src = fetchFromGitHub {
14 owner = "gnu-octave";
15 repo = "pkg-control";
16 rev = "${pname}-${version}";
17 sha256 = "sha256-isUHovpknIFclspHjAtUxGLkrdxitdWSnQMED9n+R3s=";
18 };
19
20 # Running autoreconfHook inside the src directory fixes a compile issue about
21 # the config.h header for control missing.
22 # This is supposed to be handled by control's top-level Makefile, but does not
23 # appear to be working. This manually forces it instead.
24 preAutoreconf = ''
25 pushd src
26 '';
27
28 postAutoreconf = ''
29 popd
30 '';
31
32 nativeBuildInputs = [
33 gfortran
34 autoreconfHook
35 ];
36
37 buildInputs = [
38 lapack blas
39 ];
40
41 meta = with lib; {
42 homepage = "https://gnu-octave.github.io/packages/control/";
43 license = licenses.gpl3Plus;
44 maintainers = with maintainers; [ KarlJoad ];
45 description = "Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library";
46 };
47}