lol

Add parallel functional compiler, Manticore

+54
+24
pkgs/development/compilers/manticore/builder.sh
··· 1 + #!/bin/bash 2 + 3 + source $stdenv/setup 4 + echo "Building Manticore research compiler." 5 + set -xe 6 + 7 + PATH=$smlnj/bin:$PATH 8 + 9 + mkdir -p $out/bin 10 + 11 + # Manticore seems to use the MLB files from the build tree, 12 + # so for now we copy the whole build tree into the store: 13 + cd $out/ 14 + tar xf $src 15 + mv manticore* repo_checkout 16 + cd repo_checkout/ 17 + # TODO: At the very least, this could probably be cut down to a subset 18 + # of the repo. 19 + 20 + ${autoconf}/bin/autoheader -Iconfig 21 + ${autoconf}/bin/autoconf -Iconfig 22 + ./configure --prefix=$out 23 + make build -j 24 + make install
+28
pkgs/development/compilers/manticore/default.nix
··· 1 + { stdenv, fetchurl, coreutils, autoconf, automake, smlnj }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "manticore-${version}"; 5 + version = "2014.08.18"; 6 + builder = ./builder.sh; 7 + src = fetchurl { 8 + url = https://github.com/rrnewton/manticore_temp_mirror/archive/snapshot-20140818.tar.gz; 9 + sha256 = "1x52xpj5gbcpqjqm6aw6ssn901f353zypj3d5scm8i3ad777y29d"; 10 + }; 11 + inherit stdenv coreutils autoconf automake smlnj; 12 + 13 + meta = { 14 + description = "Manticore: a parallel, pure variant of Standard ML"; 15 + 16 + longDescription = '' 17 + Manticore is a high-level parallel programming language aimed at 18 + general-purpose applications running on multi-core 19 + processors. Manticore supports parallelism at multiple levels: 20 + explicit concurrency and coarse-grain parallelism via CML-style 21 + constructs and fine-grain parallelism via various light-weight 22 + notations, such as parallel tuple expressions and NESL/Nepal-style 23 + parallel array comprehensions. 24 + ''; 25 + 26 + homepage = http://manticore.cs.uchicago.edu/; 27 + }; 28 + }
+2
pkgs/top-level/all-packages.nix
··· 3122 3122 }); 3123 3123 llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; 3124 3124 3125 + manticore = callPackage ../development/compilers/manticore { }; 3126 + 3125 3127 mentorToolchains = recurseIntoAttrs ( 3126 3128 callPackage_i686 ../development/compilers/mentor {} 3127 3129 );