mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-19 02:44:17 +03:00
dust: init at 0-91
This commit is contained in:
parent
1c380842d1
commit
de5fa8339f
27
pkgs/development/interpreters/pixie/dust.nix
Normal file
27
pkgs/development/interpreters/pixie/dust.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, pixie, fetchgit }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "dust-0-91";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/pixie-lang/dust.git";
|
||||
rev = "efe469661e749a71e86858fd006f61464810575a";
|
||||
sha256 = "0krh7ynald3gqv9f17a4kfx7sx8i31l6j1fhd5k8b6m8cid7f9c1";
|
||||
};
|
||||
buildInputs = [ pixie ];
|
||||
patches = [ ./make-paths-configurable.patch ];
|
||||
configurePhase = ''
|
||||
pixiePath="${pixie}/bin/pxi" \
|
||||
basePath="$out/share/dust" \
|
||||
substituteAll dust.in dust
|
||||
chmod +x dust
|
||||
'';
|
||||
# FIXME: AOT for dust
|
||||
# buildPhase = ''
|
||||
# find . -name "*.pxi" -exec pixie-vm -c {} \;
|
||||
# '';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/dust
|
||||
cp -a src/ run.pxi $out/share/dust
|
||||
mv dust $out/bin/dust
|
||||
'';
|
||||
}
|
@ -0,0 +1,122 @@
|
||||
From 0cbb82e606610d36e52c70d888995fbbf9b0d7c8 Mon Sep 17 00:00:00 2001
|
||||
From: Herwig Hochleitner <herwig@bendlas.net>
|
||||
Date: Sun, 28 Feb 2016 16:34:14 +0100
|
||||
Subject: [PATCH] make paths configurable
|
||||
|
||||
---
|
||||
dust | 52 ----------------------------------------------------
|
||||
dust.in | 43 +++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 43 insertions(+), 52 deletions(-)
|
||||
delete mode 100755 dust
|
||||
create mode 100755 dust.in
|
||||
|
||||
diff --git a/dust b/dust
|
||||
deleted file mode 100755
|
||||
index ffced9b..0000000
|
||||
--- a/dust
|
||||
+++ /dev/null
|
||||
@@ -1,52 +0,0 @@
|
||||
-#!/usr/bin/env bash
|
||||
-
|
||||
-base_path=$0
|
||||
-if [ -L "$base_path" ]; then
|
||||
- base_path=`readlink $base_path`
|
||||
-fi
|
||||
-base_path=`dirname $base_path`
|
||||
-
|
||||
-pixie_path=`which pixie-vm`
|
||||
-if [ -z "$pixie_path" ]; then
|
||||
- echo "Error: 'pixie-vm' must be on your PATH"
|
||||
- exit 1
|
||||
-fi
|
||||
-
|
||||
-function set_load_path() {
|
||||
- load_path=""
|
||||
- if ([ -f "project.edn" ] || [ -f "project.pxi" ]) && [ -f ".load-path" ]; then
|
||||
- load_path="`cat .load-path`"
|
||||
- fi
|
||||
-}
|
||||
-
|
||||
-if [ ! -f "project.edn" ] && [ -f "project.pxi" ]; then
|
||||
- echo "Warning: 'project.pxi' is deprecated, please use 'project.edn'."
|
||||
- echo "To start you can run the following command:"
|
||||
- echo " pixie-vm -l $base_path/src -e '(require dust.project :as p) (p/load-project!) (prn (dissoc @p/*project* :path))'"
|
||||
- echo
|
||||
-fi
|
||||
-
|
||||
-set_load_path
|
||||
-run_dust="$pixie_path -l $base_path/src $load_path $base_path/run.pxi"
|
||||
-
|
||||
-case $1 in
|
||||
- ""|"repl")
|
||||
- rlwrap_cmd=""
|
||||
- if [ -n "`which rlwrap`" ]; then
|
||||
- rlwrap_cmd="rlwrap -aignored -n"
|
||||
- fi
|
||||
- $rlwrap_cmd $pixie_path $load_path
|
||||
- ;;
|
||||
- "run")
|
||||
- shift
|
||||
- file=$1
|
||||
- shift
|
||||
- $pixie_path $load_path $file $@
|
||||
- ;;
|
||||
- -h|--help)
|
||||
- $run_dust help
|
||||
- ;;
|
||||
- *)
|
||||
- $run_dust $@
|
||||
- ;;
|
||||
-esac
|
||||
diff --git a/dust.in b/dust.in
|
||||
new file mode 100755
|
||||
index 0000000..44a7fbd
|
||||
--- /dev/null
|
||||
+++ b/dust.in
|
||||
@@ -0,0 +1,43 @@
|
||||
+#!/usr/bin/env bash
|
||||
+
|
||||
+base_path=@basePath@
|
||||
+pixie_path=@pixiePath@
|
||||
+
|
||||
+function set_load_path() {
|
||||
+ load_path=""
|
||||
+ if ([ -f "project.edn" ] || [ -f "project.pxi" ]) && [ -f ".load-path" ]; then
|
||||
+ load_path="`cat .load-path`"
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
+if [ ! -f "project.edn" ] && [ -f "project.pxi" ]; then
|
||||
+ echo "Warning: 'project.pxi' is deprecated, please use 'project.edn'."
|
||||
+ echo "To start you can run the following command:"
|
||||
+ echo " pixie-vm -l $base_path/src -e '(require dust.project :as p) (p/load-project!) (prn (dissoc @p/*project* :path))'"
|
||||
+ echo
|
||||
+fi
|
||||
+
|
||||
+set_load_path
|
||||
+run_dust="$pixie_path -l $base_path/src $load_path $base_path/run.pxi"
|
||||
+
|
||||
+case $1 in
|
||||
+ ""|"repl")
|
||||
+ rlwrap_cmd=""
|
||||
+ if [ -n "`which rlwrap`" ]; then
|
||||
+ rlwrap_cmd="rlwrap -aignored -n"
|
||||
+ fi
|
||||
+ $rlwrap_cmd $pixie_path $load_path
|
||||
+ ;;
|
||||
+ "run")
|
||||
+ shift
|
||||
+ file=$1
|
||||
+ shift
|
||||
+ $pixie_path $load_path $file $@
|
||||
+ ;;
|
||||
+ -h|--help)
|
||||
+ $run_dust help
|
||||
+ ;;
|
||||
+ *)
|
||||
+ $run_dust $@
|
||||
+ ;;
|
||||
+esac
|
||||
--
|
||||
2.7.1
|
||||
|
@ -5508,6 +5508,7 @@ let
|
||||
};
|
||||
|
||||
pixie = callPackage ../development/interpreters/pixie { };
|
||||
dust = callPackage ../development/interpreters/pixie/dust.nix { };
|
||||
|
||||
bundix = callPackage ../development/interpreters/ruby/bundix {
|
||||
ruby = ruby_2_1_3;
|
||||
|
Loading…
Reference in New Issue
Block a user