about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/polyml/5.6.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/polyml/5.6.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/polyml/5.6.nix b/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
new file mode 100644
index 000000000000..bcd52380701a
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/polyml/5.6.nix
@@ -0,0 +1,42 @@
+{lib, stdenv, fetchurl, autoreconfHook, fetchpatch }:
+
+let
+  version = "5.6";
+in
+
+stdenv.mkDerivation {
+  pname = "polyml";
+  inherit version;
+
+  prePatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure.ac --replace stdc++ c++
+  '';
+
+  patches = [
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch";
+      sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby";
+    })
+  ];
+
+  nativeBuildInputs = lib.optional stdenv.isDarwin autoreconfHook;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz";
+    sha256 = "05d6l2a5m9jf32a8kahwg2p2ph4x9rjf1nsl83331q3gwn5bkmr0";
+  };
+
+  meta = {
+    description = "Standard ML compiler and interpreter";
+    longDescription = ''
+      Poly/ML is a full implementation of Standard ML.
+    '';
+    homepage = "https://www.polyml.org/";
+    license = lib.licenses.lgpl21;
+    platforms = with lib.platforms; linux;
+    maintainers = [ #Add your name here!
+      lib.maintainers.maggesi
+    ];
+  };
+}