a0cb138ada
GitOrigin-RevId: a100acd7bbf105915b0004427802286c37738fef
60 lines
1.9 KiB
Nix
60 lines
1.9 KiB
Nix
{ fetchurl, lib, stdenv, ocaml, makeWrapper, ncurses }:
|
|
|
|
let version = "0.92"; in
|
|
stdenv.mkDerivation {
|
|
pname = "megam";
|
|
inherit version;
|
|
|
|
src = fetchurl {
|
|
url = "http://hal3.name/megam/megam_src.tgz";
|
|
sha256 = "dc0e9f59ff8513449fe3bd40b260141f89c88a4edf6ddc8b8a394c758e49724e";
|
|
};
|
|
|
|
patches = [ ./ocaml-includes.patch ./ocaml-3.12.patch ];
|
|
|
|
postPatch = ''
|
|
# Deprecated in ocaml 3.10 https://github.com/ocaml/ocaml/commit/f6190f3d0c49c5220d443ee8d03ca5072d68aa87
|
|
# Deprecated in ocaml 3.08 https://github.com/ocaml/ocaml/commit/0c7aecb88dc696f66f49f3bed54a037361a26b8d
|
|
substituteInPlace fastdot_c.c --replace copy_double caml_copy_double --replace Bigarray_val Caml_ba_array_val --replace caml_bigarray caml_ba_array
|
|
# They were already deprecated in 3.12 https://v2.ocaml.org/releases/3.12/htmlman/libref/Array.html
|
|
substituteInPlace abffs.ml main.ml --replace create_matrix make_matrix
|
|
substituteInPlace intHashtbl.ml --replace Array.create Array.make
|
|
'';
|
|
strictDeps = true;
|
|
|
|
nativeBuildInputs = [ makeWrapper ocaml ];
|
|
|
|
buildInputs = [ ncurses ];
|
|
|
|
makeFlags = [
|
|
"CAML_INCLUDES=${ocaml}/lib/ocaml/caml"
|
|
("WITHBIGARRAY=" + lib.optionalString (lib.versionOlder ocaml.version "4.08.0") "bigarray.cma")
|
|
];
|
|
|
|
# see https://bugzilla.redhat.com/show_bug.cgi?id=435559
|
|
dontStrip = true;
|
|
|
|
installPhase = ''
|
|
mkdir -pv $out/bin
|
|
cp -Rv megam $out/bin
|
|
'';
|
|
|
|
|
|
meta = {
|
|
description = "MEGA Model Optimization Package";
|
|
|
|
longDescription =
|
|
'' The software here is an implementation of maximum likelihood
|
|
and maximum a posterior optimization of the parameters of
|
|
these models. The algorithms used are much more efficient
|
|
than the iterative scaling techniques used in almost every
|
|
other maxent package out there. '';
|
|
|
|
homepage = "http://www.umiacs.umd.edu/~hal/megam";
|
|
|
|
license = "non-commercial";
|
|
|
|
maintainers = [ ];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
}
|