Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 lines
1.3 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
lib,
stdenv,
substitute,
fetchurl,
}:
stdenv.mkDerivation {
pname = "libamplsolver";
version = "20211109";
src = fetchurl {
url = "https://ampl.com/netlib/ampl/solvers.tgz";
sha256 = "sha256-LVmScuIvxmZzywPSBl9T9YcUBJP7UFAa3eWs9r4q3JM=";
};
patches = [
(substitute {
src = ./libamplsolver-sharedlib.patch;
substitutions = [
"--replace"
"@sharedlibext@"
"${stdenv.hostPlatform.extensions.sharedLibrary}"
];
})
];
installPhase = ''
runHook preInstall
pushd sys.$(uname -m).$(uname -s)
install -D -m 0644 *.h -t $out/include
install -D -m 0644 *${stdenv.hostPlatform.extensions.sharedLibrary}* -t $out/lib
install -D -m 0644 *.a -t $out/lib
popd
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -id $out/lib/libamplsolver.dylib $out/lib/libamplsolver.dylib
''
+ ''
runHook postInstall
'';
meta = with lib; {
description = "Library of routines that help solvers work with AMPL";
homepage = "https://ampl.com/netlib/ampl/";
license = [ licenses.mit ];
platforms = platforms.unix;
maintainers = with maintainers; [ aanderse ];
# generates header at compile time
broken = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
};
}