about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/nim-packages/spryvm
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/nim-packages/spryvm')
-rw-r--r--nixpkgs/pkgs/development/nim-packages/spryvm/default.nix21
-rw-r--r--nixpkgs/pkgs/development/nim-packages/spryvm/nil.patch21
2 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/nim-packages/spryvm/default.nix b/nixpkgs/pkgs/development/nim-packages/spryvm/default.nix
new file mode 100644
index 000000000000..7ee6537b3a2b
--- /dev/null
+++ b/nixpkgs/pkgs/development/nim-packages/spryvm/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildNimPackage, fetchFromGitHub, sqlite }:
+
+buildNimPackage rec {
+  pname = "spryvm";
+  version = "0.9.3";
+  src = fetchFromGitHub {
+    owner = "gokr";
+    repo = pname;
+    rev = "36c2b56bb194902d33de7bcf70d3041703e107ab";
+    hash = "sha256-OxB49ef6qPvSXLsyVl5g2ic/P9MMbF3jRYDWrxNJ0Iw=";
+  };
+  propagatedBuildInputs = [ sqlite ];
+  patches = [ ./nil.patch ];
+  doCheck = true;
+  meta = with lib;
+    src.meta // {
+      description = "Spry virtual machine";
+      license = [ licenses.mit ];
+      maintainers = [ maintainers.ehmry ];
+    };
+}
diff --git a/nixpkgs/pkgs/development/nim-packages/spryvm/nil.patch b/nixpkgs/pkgs/development/nim-packages/spryvm/nil.patch
new file mode 100644
index 000000000000..82d42b597fdb
--- /dev/null
+++ b/nixpkgs/pkgs/development/nim-packages/spryvm/nil.patch
@@ -0,0 +1,21 @@
+diff --git a/spryvm/spryui.nim b/spryvm/spryui.nim
+index 37f5329..50440e9 100644
+--- a/spryvm/spryui.nim
++++ b/spryvm/spryui.nim
+@@ -140,14 +140,14 @@ proc addUI*(spry: Interpreter) =
+   nimMeth("openFile"):
+     var win = WindowNode(evalArgInfix(spry))
+     var path = openFile(Window(win.widget))
+-    if path.isNil:
++    if path == "":
+       spry.nilVal
+     else:
+       newValue($path)
+   nimMeth("saveFile"):
+     var win = WindowNode(evalArgInfix(spry))
+     var path = saveFile(Window(win.widget))
+-    if path.isNil:
++    if path == "":
+       spry.nilVal
+     else:
+       newValue($path)