From e93262f077fdf47d16a812899bcca81481775509 Mon Sep 17 00:00:00 2001 From: Chris Martin Date: Sat, 4 Jun 2016 13:18:08 -0400 Subject: [PATCH] serpent: init at 2016-03-05 --- .../development/compilers/serpent/default.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/compilers/serpent/default.nix diff --git a/pkgs/development/compilers/serpent/default.nix b/pkgs/development/compilers/serpent/default.nix new file mode 100644 index 000000000000..5d0b9052dbae --- /dev/null +++ b/pkgs/development/compilers/serpent/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, ... }: + +stdenv.mkDerivation rec { + name = "serpent-${version}"; + + # I can't find any version numbers, so we're just using the date + # of the last commit. + version = "2016-03-05"; + + src = fetchFromGitHub { + owner = "ethereum"; + repo = "serpent"; + rev = "51ee60857fe53c871fa916ef66fc1b4255bb9433"; + sha256 = "1bns9wgn5i1ahj19qx7v1wwdy8ca3q3pigxwznm5nywsw7s7lqxs"; + }; + + installPhase = '' + mkdir -p $out/bin + mv serpent $out/bin + ''; + + meta = with stdenv.lib; { + description = "Compiler for the Serpent language for Ethereum"; + longDescription = '' + Serpent is one of the high-level programming languages used to + write Ethereum contracts. The language, as suggested by its name, + is designed to be very similar to Python; it is intended to be + maximally clean and simple, combining many of the efficiency + benefits of a low-level language with ease-of-use in programming + style, and at the same time adding special domain-specific + features for contract programming. + ''; + homepage = https://github.com/ethereum/wiki/wiki/Serpent; + license = with licenses; [ wtfpl ]; + maintainers = with maintainers; [ chris-martin ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1e95fa181cd6..195dc363dbcc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5319,6 +5319,8 @@ in sdcc = callPackage ../development/compilers/sdcc { boost = boost159; }; + serpent = callPackage ../development/compilers/serpent { }; + smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { }; smlnj = if stdenv.isDarwin then callPackage ../development/compilers/smlnj { }