From f037a5f4d152661216b9b5e4b003c7268b50c309 Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 21 Oct 2025 01:12:06 +0800 Subject: [PATCH 1/5] ipopt: remove unused CXXDEFS --- pkgs/by-name/ip/ipopt/package.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/by-name/ip/ipopt/package.nix b/pkgs/by-name/ip/ipopt/package.nix index 3470e43be4f4..5e7ca10778d3 100644 --- a/pkgs/by-name/ip/ipopt/package.nix +++ b/pkgs/by-name/ip/ipopt/package.nix @@ -28,12 +28,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-85fUBMwQtG+RWQYk9YzdZYK3CYcDKgWroo4blhVWBzE="; }; - CXXDEFS = [ - "-DHAVE_RAND" - "-DHAVE_CSTRING" - "-DHAVE_CSTDIO" - ]; - configureFlags = lib.optionals enableAMPL [ "--with-asl-cflags=-I${libamplsolver}/include" From 92d2293392c812dcb895d41fa8becca986f63740 Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 21 Oct 2025 01:14:47 +0800 Subject: [PATCH 2/5] ipopt: use mpi.h provided by mumps --- pkgs/by-name/ip/ipopt/package.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/ip/ipopt/package.nix b/pkgs/by-name/ip/ipopt/package.nix index 5e7ca10778d3..e20214342f17 100644 --- a/pkgs/by-name/ip/ipopt/package.nix +++ b/pkgs/by-name/ip/ipopt/package.nix @@ -10,12 +10,12 @@ libamplsolver, enableMUMPS ? true, mumps, - mpi, enableSPRAL ? true, spral, }: assert (!blas.isILP64) && (!lapack.isILP64); +assert !mumps.mpiSupport; stdenv.mkDerivation rec { pname = "ipopt"; @@ -30,15 +30,13 @@ stdenv.mkDerivation rec { configureFlags = lib.optionals enableAMPL [ - "--with-asl-cflags=-I${libamplsolver}/include" "--with-asl-lflags=-lamplsolver" ] ++ lib.optionals enableMUMPS [ - "--with-mumps-cflags=-I${mumps}/include" + "--with-mumps-cflags=-I${lib.getDev mumps}/include/mumps_seq" "--with-mumps-lflags=-ldmumps" ] ++ lib.optionals enableSPRAL [ - "--with-spral-cflags=-I${spral}/include" "--with-spral-lflags=-lspral" ]; @@ -51,10 +49,7 @@ stdenv.mkDerivation rec { lapack ] ++ lib.optionals enableAMPL [ libamplsolver ] - ++ lib.optionals enableMUMPS [ - mumps - mpi - ] + ++ lib.optionals enableMUMPS [ mumps ] ++ lib.optionals enableSPRAL [ spral ]; enableParallelBuilding = true; From 607493570f44d0c71fbef058d4e21034c7ca3dfb Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 21 Oct 2025 01:24:37 +0800 Subject: [PATCH 3/5] ipopt: remove enable* options --- pkgs/by-name/ip/ipopt/package.nix | 33 ++++++++++++------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/ip/ipopt/package.nix b/pkgs/by-name/ip/ipopt/package.nix index e20214342f17..8bd1e2c3e0a5 100644 --- a/pkgs/by-name/ip/ipopt/package.nix +++ b/pkgs/by-name/ip/ipopt/package.nix @@ -6,12 +6,9 @@ blas, lapack, gfortran, - enableAMPL ? true, - libamplsolver, - enableMUMPS ? true, mumps, - enableSPRAL ? true, spral, + libamplsolver, }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -28,29 +25,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-85fUBMwQtG+RWQYk9YzdZYK3CYcDKgWroo4blhVWBzE="; }; - configureFlags = - lib.optionals enableAMPL [ - "--with-asl-lflags=-lamplsolver" - ] - ++ lib.optionals enableMUMPS [ - "--with-mumps-cflags=-I${lib.getDev mumps}/include/mumps_seq" - "--with-mumps-lflags=-ldmumps" - ] - ++ lib.optionals enableSPRAL [ - "--with-spral-lflags=-lspral" - ]; - nativeBuildInputs = [ pkg-config gfortran ]; + buildInputs = [ blas lapack - ] - ++ lib.optionals enableAMPL [ libamplsolver ] - ++ lib.optionals enableMUMPS [ mumps ] - ++ lib.optionals enableSPRAL [ spral ]; + mumps + spral + libamplsolver + ]; + + configureFlags = [ + "--with-mumps-cflags=-I${lib.getDev mumps}/include/mumps_seq" + "--with-mumps-lflags=-ldmumps" + "--with-spral-lflags=-lspral" + "--with-asl-lflags=-lamplsolver" + ]; enableParallelBuilding = true; From 3df467885865c2ad140cbb76c3cba4e0bcdc2880 Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 21 Oct 2025 01:33:39 +0800 Subject: [PATCH 4/5] ipopt: split outputs --- pkgs/by-name/ip/ipopt/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/ip/ipopt/package.nix b/pkgs/by-name/ip/ipopt/package.nix index 8bd1e2c3e0a5..5d8eb4b9da52 100644 --- a/pkgs/by-name/ip/ipopt/package.nix +++ b/pkgs/by-name/ip/ipopt/package.nix @@ -25,6 +25,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-85fUBMwQtG+RWQYk9YzdZYK3CYcDKgWroo4blhVWBzE="; }; + outputs = [ + "bin" + "dev" + "out" + "doc" + ]; + nativeBuildInputs = [ pkg-config gfortran From aa5768a27e7f7d7ad224935630e5f201aae91cdd Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 21 Oct 2025 01:56:34 +0800 Subject: [PATCH 5/5] ipopt: licenses.epl10 -> licenses.epl20 --- pkgs/by-name/ip/ipopt/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ip/ipopt/package.nix b/pkgs/by-name/ip/ipopt/package.nix index 5d8eb4b9da52..80953aa13174 100644 --- a/pkgs/by-name/ip/ipopt/package.nix +++ b/pkgs/by-name/ip/ipopt/package.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { meta = { description = "Software package for large-scale nonlinear optimization"; homepage = "https://projects.coin-or.org/Ipopt"; - license = lib.licenses.epl10; + license = lib.licenses.epl20; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ nim65s