diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix new file mode 100644 index 000000000000..709ca213db6e --- /dev/null +++ b/pkgs/development/interpreters/pure/default.nix @@ -0,0 +1,50 @@ +x@{builderDefsPackage + , llvm, gmp, mpfr + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="pure"; + project="pure-lang"; + version="0.47"; + name="${baseName}-${version}"; + extension="tar.gz"; + url="http://${project}.googlecode.com/files/${name}.${extension}"; + hash="16j0k639kw2am4fc2h7q5sk7kx5z7nca896dakhphlb9zn9h0gbv"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doConfigure" "doMakeInstall"]; + + meta = { + description = "A purely functional programming language based on term rewriting"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + license = a.lib.licenses.gpl3Plus; + }; + passthru = { + updateInfo = { + downloadPage = "http://code.google.com/p/pure-lang/downloads/list"; + }; + }; +}) x + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8958b45f9f94..c887c7f9ea60 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2375,6 +2375,8 @@ let polyml = callPackage ../development/compilers/polyml { }; + pure = callPackage ../development/interpreters/pure {}; + python = python27; python26 = callPackage ../development/interpreters/python/2.6 { };