libfmvoice: 0-unstable-2024-11-08 -> 0-unstable-2024-12-11 (#364919)
[NixPkgs.git] / pkgs / development / octave-modules / control / default.nix
blob64d8aaca2026e767fe7135074b26a2af4de15360
2   buildOctavePackage,
3   lib,
4   fetchFromGitHub,
5   gfortran,
6   lapack,
7   blas,
8   autoreconfHook,
9 }:
11 buildOctavePackage rec {
12   pname = "control";
13   version = "3.6.1";
15   src = fetchFromGitHub {
16     owner = "gnu-octave";
17     repo = "pkg-control";
18     rev = "refs/tags/control-${version}";
19     sha256 = "sha256-7beEsdrne50NY4lGCotxGXwwWnMzUR2CKCc20OCjd0g=";
20   };
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   '';
30   postAutoreconf = ''
31     popd
32   '';
34   nativeBuildInputs = [
35     gfortran
36     autoreconfHook
37   ];
39   buildInputs = [
40     lapack
41     blas
42   ];
44   meta = with lib; {
45     homepage = "https://gnu-octave.github.io/packages/control/";
46     license = licenses.gpl3Plus;
47     maintainers = with maintainers; [ KarlJoad ];
48     description = "Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library";
49   };