diff --git a/pkgs/development/compilers/polyml/5.7.nix b/pkgs/development/compilers/polyml/5.7.nix new file mode 100644 index 000000000000..b7feed84c37f --- /dev/null +++ b/pkgs/development/compilers/polyml/5.7.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }: + +stdenv.mkDerivation rec { + name = "polyml-${version}"; + version = "5.7.1"; + + prePatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace configure.ac --replace stdc++ c++ + ''; + + buildInputs = [ libffi gmp ]; + + nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin autoreconfHook; + + configureFlags = [ + "--enable-shared" + "--with-system-libffi" + "--with-gmp" + ]; + + src = fetchFromGitHub { + owner = "polyml"; + repo = "polyml"; + rev = "v${version}"; + sha256 = "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"; + }; + + meta = with stdenv.lib; { + description = "Standard ML compiler and interpreter"; + longDescription = '' + Poly/ML is a full implementation of Standard ML. + ''; + homepage = https://www.polyml.org/; + license = licenses.lgpl21; + platforms = with platforms; (linux ++ darwin); + maintainers = with maintainers; [ z77z yurrriq ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 28665941d61a..941aec476ea2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8129,6 +8129,7 @@ in polyml = callPackage ../development/compilers/polyml { }; polyml56 = callPackage ../development/compilers/polyml/5.6.nix { }; + polyml57 = callPackage ../development/compilers/polyml/5.7.nix { }; pure = callPackage ../development/interpreters/pure { llvm = llvm_35; @@ -22000,7 +22001,7 @@ in ifstat-legacy = callPackage ../tools/networking/ifstat-legacy { }; isabelle = callPackage ../applications/science/logic/isabelle { - polyml = stdenv.lib.overrideDerivation polyml (attrs: { + polyml = stdenv.lib.overrideDerivation polyml57 (attrs: { configureFlags = [ "--enable-intinf-as-int" "--with-gmp" "--disable-shared" ]; });