From 3c25685ff7db66ea8b32d425c5ab2a6154a802e4 Mon Sep 17 00:00:00 2001
From: Michael Raskin <7c6f434c@mail.ru>
Date: Sat, 1 Oct 2016 13:45:17 +0200
Subject: [PATCH] wavefunctioncollapse: init at 0.0pre20160930

---
 .../graphics/wavefunctioncollapse/default.nix | 34 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 36 insertions(+)
 create mode 100644 pkgs/tools/graphics/wavefunctioncollapse/default.nix

diff --git a/pkgs/tools/graphics/wavefunctioncollapse/default.nix b/pkgs/tools/graphics/wavefunctioncollapse/default.nix
new file mode 100644
index 00000000000..32c2104c0f9
--- /dev/null
+++ b/pkgs/tools/graphics/wavefunctioncollapse/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, mono}:
+stdenv.mkDerivation rec {
+  name = "wavefunctioncollapse-${version}";
+  version = "0.0pre20160930";
+  src = fetchFromGitHub {
+    owner = "mxgmn";
+    repo = "WaveFunctionCollapse";
+    rev = "333f592b6612da43ec475c988c09325378c662e9";
+    sha256 = "1cpwn52ka1zsi2yc7rfg5r9ll2kjgzabx4a5axcp9c4ph5qzsza6";
+  };
+  buildPhase = ''
+    mcs *.cs -out:wavefunctioncollapse.exe -r:System.Drawing
+    grep -m1 -B999 '^[*][/]' Main.cs > COPYING.MIT
+  '';
+  installPhase = ''
+    mkdir -p "$out"/{bin,share/doc/wavefunctioncollapse,share/wavefunctioncollapse}
+    cp README.md COPYING.MIT "$out"/share/doc/wavefunctioncollapse
+    cp wavefunctioncollapse.exe "$out"/bin
+    cp -r [Ss]amples samples.xml "$out/share/wavefunctioncollapse"
+
+    echo "#! ${stdenv.shell}" >> "$out/bin/wavefunctioncollapse"
+    echo "chmod u+w ." >> "$out/bin/wavefunctioncollapse"
+    echo "'${mono}/bin/mono' '$out/bin/wavefunctioncollapse.exe' \"\$@\"" >>  "$out/bin/wavefunctioncollapse"
+    chmod a+x "$out/bin/wavefunctioncollapse"
+  '';
+  buildInputs = [mono];
+  meta = {
+    inherit version;
+    description = ''A generator of bitmaps that are locally similar to the input bitmap'';
+    license = stdenv.lib.licenses.mit;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9931dbb9317..f0536ba5bac 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3989,6 +3989,8 @@ in
 
   watchman = callPackage ../development/tools/watchman { };
 
+  wavefunctioncollapse = callPackage ../tools/graphics/wavefunctioncollapse {};
+
   wbox = callPackage ../tools/networking/wbox {};
 
   welkin = callPackage ../tools/graphics/welkin {};