summaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-08-01 10:04:59 +0200
committerLinnnus <[email protected]>2024-08-01 10:06:53 +0200
commitaf0feaa1c5216c8fa7a7b38ff4eada6789914bce (patch)
treee2ead0ad5f213c12f70a358812808a7a8e5a6b36 /pkgs
parent9327f72096c94d9956a5e1c88f4891f8b8bceb7c (diff)
muhammed: Add vemf
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/default.nix4
-rw-r--r--pkgs/vemf-unwrapped/default.nix29
-rw-r--r--pkgs/vemf/default.nix10
3 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix
index d0efcc3..c8b08a7 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -17,6 +17,10 @@ pkgs: {
pbv = pkgs.callPackage ./pbv {};
+ vemf-unwrapped = pkgs.callPackage ./vemf-unwrapped {};
+
+ vemf = pkgs.callPackage ./vemf {};
+
# TODO: These should be contained in the 'vimPlugins' attrset. This turns out
# to be non-trivial because this module is both consumed in a flake output
# context and an overlay context.
diff --git a/pkgs/vemf-unwrapped/default.nix b/pkgs/vemf-unwrapped/default.nix
new file mode 100644
index 0000000..12e3ac2
--- /dev/null
+++ b/pkgs/vemf-unwrapped/default.nix
@@ -0,0 +1,29 @@
+{
+ lib,
+ fetchFromGitHub,
+ rustPlatform,
+}:
+rustPlatform.buildRustPackage {
+ pname = "vemf-unwrapped";
+ version = "12-06-2024"; # date of commit
+
+ src = fetchFromGitHub {
+ owner = "selaere";
+ repo = "vemf";
+ rev = "3a3798cbdfacfe35465b90a831e1214907f6a5e2";
+ hash = "sha256-7mmphu2XUwwsCUxqrXN2x5B4FEgZM2ZYyvWlZQiPoao=";
+ };
+
+ cargoHash = "sha256-h8TOs7r3S1U3RuJwLv5X5SSaVliKsAYDf/QpjEfdBHw=";
+
+ # The actual interpreter is only built when the 'bin' feature is enabled.
+ # See: https://github.com/selaere/vemf/tree/3a3798cbdfacfe35465b90a831e1214907f6a5e2?tab=readme-ov-file#building
+ noDefaultFeatures = true;
+ buildFeatures = ["bin"];
+
+ meta = with lib; {
+ description = "not good golfing programming language";
+ license = licenses.mit;
+ homepage = "https://selaere.github.io/vemf/doc/docs.html";
+ };
+}
diff --git a/pkgs/vemf/default.nix b/pkgs/vemf/default.nix
new file mode 100644
index 0000000..3578ce1
--- /dev/null
+++ b/pkgs/vemf/default.nix
@@ -0,0 +1,10 @@
+# This isn't the actual definition of the derivation for the Vemf interpreter
+# – that is found under vemf-unwrapped. This is just a wrapper script.
+{
+ writeShellScriptBin,
+ vemf-unwrapped,
+ rlwrap,
+}:
+writeShellScriptBin "vemf" ''
+ exec -a vemf ${rlwrap}/bin/rlwrap ${vemf-unwrapped}/bin/vemf "$@"
+''