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