about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/science/math/ipopt/default.nix
blob: 647fd82ec0e954ab6af6c0df99cb7eb71e554018 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ stdenv, fetchurl, unzip, blas, lapack, gfortran }:

assert (!blas.is64bit) && (!lapack.is64bit);

stdenv.mkDerivation rec {
  pname = "ipopt";
  version = "3.12.13";

  src = fetchurl {
    url = "https://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
    sha256 = "0kzf05aypx8q5mr3sciclk926ans0yi2d2chjdxxgpi3sza609dx";
  };

  CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];

  configureFlags = [
    "--with-blas-lib=-lblas"
    "--with-lapack-lib=-llapack"
  ];

  nativeBuildInputs = [ unzip ];

  buildInputs = [ gfortran blas lapack ];

  enableParallelBuilding = true;

  meta = with stdenv.lib; {
    description = "A software package for large-scale nonlinear optimization";
    homepage = "https://projects.coin-or.org/Ipopt";
    license = licenses.epl10;
    platforms = platforms.unix;
    maintainers = with maintainers; [ abbradar ];
  };
}