about summary refs log tree commit diff
path: root/pkgs/development/compilers/serpent
diff options
context:
space:
mode:
authorChris Martin <ch.martin@gmail.com>2016-06-04 13:18:08 -0400
committerChris Martin <ch.martin@gmail.com>2016-06-04 13:40:18 -0400
commite93262f077fdf47d16a812899bcca81481775509 (patch)
tree4ea70595889d94a798f00591fb2ebc8d4c2ea788 /pkgs/development/compilers/serpent
parent01da474aa1307c9e4c068d7eb96023beaf3431c3 (diff)
serpent: init at 2016-03-05
Diffstat (limited to 'pkgs/development/compilers/serpent')
-rw-r--r--pkgs/development/compilers/serpent/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/development/compilers/serpent/default.nix b/pkgs/development/compilers/serpent/default.nix
new file mode 100644
index 0000000000000..5d0b9052dbae2
--- /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 ];
+  };
+}