aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cargo/config.toml1
l---------.direnv/flake-profile2
-rw-r--r--.direnv/flake-profile.rc12
-rw-r--r--.gitignore1
-rw-r--r--Cargo.lock4
-rw-r--r--Cargo.toml2
-rw-r--r--flake.lock17
-rw-r--r--flake.nix103
-rw-r--r--src/cli.rs2
-rw-r--r--src/lisp/prelude.rs2
10 files changed, 90 insertions, 56 deletions
diff --git a/.cargo/config.toml b/.cargo/config.toml
new file mode 100644
index 0000000..857cb5c
--- /dev/null
+++ b/.cargo/config.toml
@@ -0,0 +1 @@
net.git-fetch-with-cli = true
diff --git a/.direnv/flake-profile b/.direnv/flake-profile
index f5ee984..caea00d 120000
--- a/.direnv/flake-profile
+++ b/.direnv/flake-profile
@@ -1 +1 @@
/nix/store/8jxv6mx3pf861mkjv9zclq21gilaxhyf-nix-shell-env \ No newline at end of file /nix/store/9dsqn6si93g5gs60rlka4xjcx36m5jyj-nix-shell-env \ No newline at end of file
diff --git a/.direnv/flake-profile.rc b/.direnv/flake-profile.rc
index 52f5dde..81165b8 100644
--- a/.direnv/flake-profile.rc
+++ b/.direnv/flake-profile.rc
@@ -32,7 +32,7 @@ NIX_CC=/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0
32export NIX_CC 32export NIX_CC
33NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1 33NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1
34export NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu 34export NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu
35NIX_CFLAGS_COMPILE=' -frandom-seed=8jxv6mx3pf -isystem /nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/include -isystem /nix/store/5sphs39wg8gyy5pcrcml5pyj1wrn9jil-libGL-1.3.2-dev/include -isystem /nix/store/skwk7hmzwpjvhgjf1y633l01p114xc6n-libglvnd-1.3.2-dev/include -isystem /nix/store/3y6j0k82fdp3ifnq655yv1ad1ih7r70j-libX11-1.7.0-dev/include -isystem /nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1/include -isystem /nix/store/6xg7mhwh2k7i27r44lx679diwd7ahq6d-libxcb-1.14-dev/include -isystem /nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/include -isystem /nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/include -isystem /nix/store/5sphs39wg8gyy5pcrcml5pyj1wrn9jil-libGL-1.3.2-dev/include -isystem /nix/store/skwk7hmzwpjvhgjf1y633l01p114xc6n-libglvnd-1.3.2-dev/include -isystem /nix/store/3y6j0k82fdp3ifnq655yv1ad1ih7r70j-libX11-1.7.0-dev/include -isystem /nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1/include -isystem /nix/store/6xg7mhwh2k7i27r44lx679diwd7ahq6d-libxcb-1.14-dev/include -isystem /nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/include' 35NIX_CFLAGS_COMPILE=' -frandom-seed=9dsqn6si93 -isystem /nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/include -isystem /nix/store/5sphs39wg8gyy5pcrcml5pyj1wrn9jil-libGL-1.3.2-dev/include -isystem /nix/store/skwk7hmzwpjvhgjf1y633l01p114xc6n-libglvnd-1.3.2-dev/include -isystem /nix/store/3y6j0k82fdp3ifnq655yv1ad1ih7r70j-libX11-1.7.0-dev/include -isystem /nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1/include -isystem /nix/store/6xg7mhwh2k7i27r44lx679diwd7ahq6d-libxcb-1.14-dev/include -isystem /nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/include -isystem /nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/include -isystem /nix/store/5sphs39wg8gyy5pcrcml5pyj1wrn9jil-libGL-1.3.2-dev/include -isystem /nix/store/skwk7hmzwpjvhgjf1y633l01p114xc6n-libglvnd-1.3.2-dev/include -isystem /nix/store/3y6j0k82fdp3ifnq655yv1ad1ih7r70j-libX11-1.7.0-dev/include -isystem /nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1/include -isystem /nix/store/6xg7mhwh2k7i27r44lx679diwd7ahq6d-libxcb-1.14-dev/include -isystem /nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/include'
36export NIX_CFLAGS_COMPILE 36export NIX_CFLAGS_COMPILE
37NIX_ENFORCE_NO_NATIVE=1 37NIX_ENFORCE_NO_NATIVE=1
38export NIX_ENFORCE_NO_NATIVE 38export NIX_ENFORCE_NO_NATIVE
@@ -40,7 +40,7 @@ NIX_HARDENING_ENABLE='fortify stackprotector pic strictoverflow format relro bin
40export NIX_HARDENING_ENABLE 40export NIX_HARDENING_ENABLE
41NIX_INDENT_MAKE=1 41NIX_INDENT_MAKE=1
42export NIX_INDENT_MAKE 42export NIX_INDENT_MAKE
43NIX_LDFLAGS='-rpath /home/np/code/rust/sdl-tests/outputs/out/lib64 -rpath /home/np/code/rust/sdl-tests/outputs/out/lib -L/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/lib -L/nix/store/q47zvd16rpppdz4ami7wrx8318fwjpfk-libGL-1.3.2/lib -L/nix/store/sv2xsv21136linyi477ijd00gmihlwbp-libglvnd-1.3.2/lib -L/nix/store/jmpwz53zajcld1xb8zslh8g8p19d8wzl-libxcb-1.14/lib -L/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0/lib -L/nix/store/k58g6biziz8vpk6zw5n9bym2c6wxjrpd-SDL2-2.0.14/lib -L/nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/lib -L/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/lib -L/nix/store/q47zvd16rpppdz4ami7wrx8318fwjpfk-libGL-1.3.2/lib -L/nix/store/sv2xsv21136linyi477ijd00gmihlwbp-libglvnd-1.3.2/lib -L/nix/store/jmpwz53zajcld1xb8zslh8g8p19d8wzl-libxcb-1.14/lib -L/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0/lib -L/nix/store/k58g6biziz8vpk6zw5n9bym2c6wxjrpd-SDL2-2.0.14/lib -L/nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/lib' 43NIX_LDFLAGS='-rpath /home/np/code/rust/sdl-tests/outputs/out/lib64 -rpath /home/np/code/rust/sdl-tests/outputs/out/lib -L/nix/store/q47zvd16rpppdz4ami7wrx8318fwjpfk-libGL-1.3.2/lib -L/nix/store/sv2xsv21136linyi477ijd00gmihlwbp-libglvnd-1.3.2/lib -L/nix/store/jmpwz53zajcld1xb8zslh8g8p19d8wzl-libxcb-1.14/lib -L/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0/lib -L/nix/store/k58g6biziz8vpk6zw5n9bym2c6wxjrpd-SDL2-2.0.14/lib -L/nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/lib -L/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/lib -L/nix/store/q47zvd16rpppdz4ami7wrx8318fwjpfk-libGL-1.3.2/lib -L/nix/store/sv2xsv21136linyi477ijd00gmihlwbp-libglvnd-1.3.2/lib -L/nix/store/jmpwz53zajcld1xb8zslh8g8p19d8wzl-libxcb-1.14/lib -L/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0/lib -L/nix/store/k58g6biziz8vpk6zw5n9bym2c6wxjrpd-SDL2-2.0.14/lib -L/nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15/lib -L/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/lib'
44export NIX_LDFLAGS 44export NIX_LDFLAGS
45NIX_LIB64_IN_SELF_RPATH=1 45NIX_LIB64_IN_SELF_RPATH=1
46NIX_NO_SELF_RPATH=1 46NIX_NO_SELF_RPATH=1
@@ -55,7 +55,7 @@ export OBJDUMP
55OPTERR=1 55OPTERR=1
56OPTIND=1 56OPTIND=1
57OSTYPE=linux-gnu 57OSTYPE=linux-gnu
58PATH=/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/bin:/nix/store/hpkjc41idlbwk82cnx0sw8mmkjjb5lvi-rust-analyzer-unstable-2021-03-01/bin:/nix/store/405d8m4m7k30n71sjrjl1kyysd2y9r62-rustfmt-1.49.0/bin:/nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0/bin:/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/bin:/nix/store/zrh1cskgv6kc8bh7hzfii14h2nck33qv-patchelf-0.12/bin:/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0/bin:/nix/store/sr0ci8f8pgby77fj4mpcl9bcgxji3676-gcc-10.2.0/bin:/nix/store/mbxi7rhg9pj2mfnzr7dk9cd46xdhnrf9-glibc-2.32-37-bin/bin:/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32/bin:/nix/store/jlyaypckqlapwqpck7jscs6qcdwg9bk3-binutils-wrapper-2.35.1/bin:/nix/store/cp1sa3xxvl71cypiinw2c62i5s33chlr-binutils-2.35.1/bin:/nix/store/mbxi7rhg9pj2mfnzr7dk9cd46xdhnrf9-glibc-2.32-37-bin/bin:/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32/bin:/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32/bin:/nix/store/70qfzyc5hmvssj7d0dqkqhn827xwgmy3-findutils-4.7.0/bin:/nix/store/49gllxpk2f3dcyx4q8cgj0w39p10s209-diffutils-3.7/bin:/nix/store/n0516fv7vwjbl41nl4q58w9si80ab93i-gnused-4.8/bin:/nix/store/3mx947xcmsyk79izqc8ifv31qafp80pc-gnugrep-3.6/bin:/nix/store/xj242al7hq36baipvj2qdfwf7dljq31f-gawk-5.1.0/bin:/nix/store/39qygzkhcb9i684w3fhr2kkz5gmcyycd-gnutar-1.32/bin:/nix/store/bnpadh78k2qf3hshwapl5s51dj87yykp-gzip-1.10/bin:/nix/store/k514dbajcp0wb32rnglvc940gldj549h-bzip2-1.0.6.0.1-bin/bin:/nix/store/a2q8136fwwkvigxq3icyd70zllvw45lc-gnumake-4.3/bin:/nix/store/f7jzmxq9bpbxsg69cszx56mw14n115n5-bash-4.4-p23/bin:/nix/store/kh9l9zpjxsdnx6zi91pk3yich8ivwii4-patch-2.7.6/bin:/nix/store/bap20qjfwfzl49zz11prqdyfdmq7w8ca-xz-5.2.5-bin/bin 58PATH=/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/bin:/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/bin:/nix/store/hpkjc41idlbwk82cnx0sw8mmkjjb5lvi-rust-analyzer-unstable-2021-03-01/bin:/nix/store/405d8m4m7k30n71sjrjl1kyysd2y9r62-rustfmt-1.49.0/bin:/nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0/bin:/nix/store/zrh1cskgv6kc8bh7hzfii14h2nck33qv-patchelf-0.12/bin:/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0/bin:/nix/store/sr0ci8f8pgby77fj4mpcl9bcgxji3676-gcc-10.2.0/bin:/nix/store/mbxi7rhg9pj2mfnzr7dk9cd46xdhnrf9-glibc-2.32-37-bin/bin:/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32/bin:/nix/store/jlyaypckqlapwqpck7jscs6qcdwg9bk3-binutils-wrapper-2.35.1/bin:/nix/store/cp1sa3xxvl71cypiinw2c62i5s33chlr-binutils-2.35.1/bin:/nix/store/mbxi7rhg9pj2mfnzr7dk9cd46xdhnrf9-glibc-2.32-37-bin/bin:/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32/bin:/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32/bin:/nix/store/70qfzyc5hmvssj7d0dqkqhn827xwgmy3-findutils-4.7.0/bin:/nix/store/49gllxpk2f3dcyx4q8cgj0w39p10s209-diffutils-3.7/bin:/nix/store/n0516fv7vwjbl41nl4q58w9si80ab93i-gnused-4.8/bin:/nix/store/3mx947xcmsyk79izqc8ifv31qafp80pc-gnugrep-3.6/bin:/nix/store/xj242al7hq36baipvj2qdfwf7dljq31f-gawk-5.1.0/bin:/nix/store/39qygzkhcb9i684w3fhr2kkz5gmcyycd-gnutar-1.32/bin:/nix/store/bnpadh78k2qf3hshwapl5s51dj87yykp-gzip-1.10/bin:/nix/store/k514dbajcp0wb32rnglvc940gldj549h-bzip2-1.0.6.0.1-bin/bin:/nix/store/a2q8136fwwkvigxq3icyd70zllvw45lc-gnumake-4.3/bin:/nix/store/f7jzmxq9bpbxsg69cszx56mw14n115n5-bash-4.4-p23/bin:/nix/store/kh9l9zpjxsdnx6zi91pk3yich8ivwii4-patch-2.7.6/bin:/nix/store/bap20qjfwfzl49zz11prqdyfdmq7w8ca-xz-5.2.5-bin/bin
59export PATH 59export PATH
60PIPESTATUS=([0]="0") 60PIPESTATUS=([0]="0")
61PS4='+ ' 61PS4='+ '
@@ -81,7 +81,7 @@ STRINGS=strings
81export STRINGS 81export STRINGS
82STRIP=strip 82STRIP=strip
83export STRIP 83export STRIP
84XDG_DATA_DIRS=/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/share:/nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0/share:/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/share:/nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1/share:/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0/share:/nix/store/zrh1cskgv6kc8bh7hzfii14h2nck33qv-patchelf-0.12/share 84XDG_DATA_DIRS=/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev/share:/nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1/share:/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0/share:/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690/share:/nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0/share:/nix/store/zrh1cskgv6kc8bh7hzfii14h2nck33qv-patchelf-0.12/share
85export XDG_DATA_DIRS 85export XDG_DATA_DIRS
86_=export 86_=export
87buildInputs= 87buildInputs=
@@ -124,7 +124,7 @@ fixupOutputHooks=([0]="if [ -z \"\${dontPatchELF-}\" ]; then patchELF \"\$prefix
124initialPath='/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32 /nix/store/70qfzyc5hmvssj7d0dqkqhn827xwgmy3-findutils-4.7.0 /nix/store/49gllxpk2f3dcyx4q8cgj0w39p10s209-diffutils-3.7 /nix/store/n0516fv7vwjbl41nl4q58w9si80ab93i-gnused-4.8 /nix/store/3mx947xcmsyk79izqc8ifv31qafp80pc-gnugrep-3.6 /nix/store/xj242al7hq36baipvj2qdfwf7dljq31f-gawk-5.1.0 /nix/store/39qygzkhcb9i684w3fhr2kkz5gmcyycd-gnutar-1.32 /nix/store/bnpadh78k2qf3hshwapl5s51dj87yykp-gzip-1.10 /nix/store/k514dbajcp0wb32rnglvc940gldj549h-bzip2-1.0.6.0.1-bin /nix/store/a2q8136fwwkvigxq3icyd70zllvw45lc-gnumake-4.3 /nix/store/f7jzmxq9bpbxsg69cszx56mw14n115n5-bash-4.4-p23 /nix/store/kh9l9zpjxsdnx6zi91pk3yich8ivwii4-patch-2.7.6 /nix/store/bap20qjfwfzl49zz11prqdyfdmq7w8ca-xz-5.2.5-bin' 124initialPath='/nix/store/w21pgi6691202iafl0cnr7hk6wvvdz3n-coreutils-8.32 /nix/store/70qfzyc5hmvssj7d0dqkqhn827xwgmy3-findutils-4.7.0 /nix/store/49gllxpk2f3dcyx4q8cgj0w39p10s209-diffutils-3.7 /nix/store/n0516fv7vwjbl41nl4q58w9si80ab93i-gnused-4.8 /nix/store/3mx947xcmsyk79izqc8ifv31qafp80pc-gnugrep-3.6 /nix/store/xj242al7hq36baipvj2qdfwf7dljq31f-gawk-5.1.0 /nix/store/39qygzkhcb9i684w3fhr2kkz5gmcyycd-gnutar-1.32 /nix/store/bnpadh78k2qf3hshwapl5s51dj87yykp-gzip-1.10 /nix/store/k514dbajcp0wb32rnglvc940gldj549h-bzip2-1.0.6.0.1-bin /nix/store/a2q8136fwwkvigxq3icyd70zllvw45lc-gnumake-4.3 /nix/store/f7jzmxq9bpbxsg69cszx56mw14n115n5-bash-4.4-p23 /nix/store/kh9l9zpjxsdnx6zi91pk3yich8ivwii4-patch-2.7.6 /nix/store/bap20qjfwfzl49zz11prqdyfdmq7w8ca-xz-5.2.5-bin'
125name=nix-shell 125name=nix-shell
126export name 126export name
127nativeBuildInputs='/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690 /nix/store/znf8wv5xxzrbq7jq0bxmjxsimgnbxnn8-rust-src-1.53.0-nightly-2021-03-30-74874a690 /nix/store/hpkjc41idlbwk82cnx0sw8mmkjjb5lvi-rust-analyzer-unstable-2021-03-01 /nix/store/405d8m4m7k30n71sjrjl1kyysd2y9r62-rustfmt-1.49.0 /nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0 /nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev /nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15' 127nativeBuildInputs='/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev /nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15 /nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690 /nix/store/znf8wv5xxzrbq7jq0bxmjxsimgnbxnn8-rust-src-1.53.0-nightly-2021-03-30-74874a690 /nix/store/hpkjc41idlbwk82cnx0sw8mmkjjb5lvi-rust-analyzer-unstable-2021-03-01 /nix/store/405d8m4m7k30n71sjrjl1kyysd2y9r62-rustfmt-1.49.0 /nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0'
128export nativeBuildInputs 128export nativeBuildInputs
129nobuildPhase=$'echo\necho "This derivation is not meant to be built, aborting";\necho\nexit 1\n' 129nobuildPhase=$'echo\necho "This derivation is not meant to be built, aborting";\necho\nexit 1\n'
130export nobuildPhase 130export nobuildPhase
@@ -146,7 +146,7 @@ export patches
146phases=nobuildPhase 146phases=nobuildPhase
147export phases 147export phases
148pkg=/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0 148pkg=/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0
149pkgsBuildHost=([0]="/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690" [1]="/nix/store/znf8wv5xxzrbq7jq0bxmjxsimgnbxnn8-rust-src-1.53.0-nightly-2021-03-30-74874a690" [2]="/nix/store/hpkjc41idlbwk82cnx0sw8mmkjjb5lvi-rust-analyzer-unstable-2021-03-01" [3]="/nix/store/405d8m4m7k30n71sjrjl1kyysd2y9r62-rustfmt-1.49.0" [4]="/nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0" [5]="/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev" [6]="/nix/store/5sphs39wg8gyy5pcrcml5pyj1wrn9jil-libGL-1.3.2-dev" [7]="/nix/store/q47zvd16rpppdz4ami7wrx8318fwjpfk-libGL-1.3.2" [8]="/nix/store/sv2xsv21136linyi477ijd00gmihlwbp-libglvnd-1.3.2" [9]="/nix/store/skwk7hmzwpjvhgjf1y633l01p114xc6n-libglvnd-1.3.2-dev" [10]="/nix/store/3y6j0k82fdp3ifnq655yv1ad1ih7r70j-libX11-1.7.0-dev" [11]="/nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1" [12]="/nix/store/6xg7mhwh2k7i27r44lx679diwd7ahq6d-libxcb-1.14-dev" [13]="/nix/store/jmpwz53zajcld1xb8zslh8g8p19d8wzl-libxcb-1.14" [14]="/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0" [15]="/nix/store/k58g6biziz8vpk6zw5n9bym2c6wxjrpd-SDL2-2.0.14" [16]="/nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15" [17]="/nix/store/zrh1cskgv6kc8bh7hzfii14h2nck33qv-patchelf-0.12" [18]="/nix/store/mjjy30kxz775bhhi6j9phw81qh6dsbrf-move-docs.sh" [19]="/nix/store/kxw6q8v6isaqjm702d71n2421cxamq68-make-symlinks-relative.sh" [20]="/nix/store/cl3qd985p1yxyfkj96v0hqxiy3w69xq5-compress-man-pages.sh" [21]="/nix/store/h54dzwd7rdh2jlcv91424csl6d0ccgjy-strip.sh" [22]="/nix/store/bnj8d7mvbkg3vdb07yz74yhl3g107qq5-patch-shebangs.sh" [23]="/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh" [24]="/nix/store/8zxndz5ag0p6s526c2xyllhk1nrn4c3i-audit-tmpdir.sh" [25]="/nix/store/c8n9kcdddp9np665xz6ri61b383nxvz8-move-systemd-user-units.sh" [26]="/nix/store/1i5y55x4b4m9qkx5dqbmr1r6bvrqbanw-multiple-outputs.sh" [27]="/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh" [28]="/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh" [29]="/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh" [30]="/nix/store/pr6nzbscdpg94yvr151lrif2kg0csx7b-reproducible-builds.sh" [31]="/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0" [32]="/nix/store/jlyaypckqlapwqpck7jscs6qcdwg9bk3-binutils-wrapper-2.35.1") 149pkgsBuildHost=([0]="/nix/store/gkqv9ia81dmmjqcn46ih5yirbzjy7s9p-SDL2-2.0.14-dev" [1]="/nix/store/5sphs39wg8gyy5pcrcml5pyj1wrn9jil-libGL-1.3.2-dev" [2]="/nix/store/q47zvd16rpppdz4ami7wrx8318fwjpfk-libGL-1.3.2" [3]="/nix/store/sv2xsv21136linyi477ijd00gmihlwbp-libglvnd-1.3.2" [4]="/nix/store/skwk7hmzwpjvhgjf1y633l01p114xc6n-libglvnd-1.3.2-dev" [5]="/nix/store/3y6j0k82fdp3ifnq655yv1ad1ih7r70j-libX11-1.7.0-dev" [6]="/nix/store/vjimy2jlifszmmms664373jdw0yiz4ln-xorgproto-2020.1" [7]="/nix/store/6xg7mhwh2k7i27r44lx679diwd7ahq6d-libxcb-1.14-dev" [8]="/nix/store/jmpwz53zajcld1xb8zslh8g8p19d8wzl-libxcb-1.14" [9]="/nix/store/80p7f1sw4szy7w1mhqxd268n6i1gmybs-libX11-1.7.0" [10]="/nix/store/k58g6biziz8vpk6zw5n9bym2c6wxjrpd-SDL2-2.0.14" [11]="/nix/store/qx325fjgyhy5cql0fkbkzzbi9dpd2cb8-SDL2_ttf-2.0.15" [12]="/nix/store/dqrvwdcqz93xcvazd19hi6w06n4l9bq1-rust-1.53.0-nightly-2021-03-30-74874a690" [13]="/nix/store/znf8wv5xxzrbq7jq0bxmjxsimgnbxnn8-rust-src-1.53.0-nightly-2021-03-30-74874a690" [14]="/nix/store/hpkjc41idlbwk82cnx0sw8mmkjjb5lvi-rust-analyzer-unstable-2021-03-01" [15]="/nix/store/405d8m4m7k30n71sjrjl1kyysd2y9r62-rustfmt-1.49.0" [16]="/nix/store/2h05zs2wbxv3zisz342k6acfm6awcnwl-cargo-1.49.0" [17]="/nix/store/zrh1cskgv6kc8bh7hzfii14h2nck33qv-patchelf-0.12" [18]="/nix/store/mjjy30kxz775bhhi6j9phw81qh6dsbrf-move-docs.sh" [19]="/nix/store/kxw6q8v6isaqjm702d71n2421cxamq68-make-symlinks-relative.sh" [20]="/nix/store/cl3qd985p1yxyfkj96v0hqxiy3w69xq5-compress-man-pages.sh" [21]="/nix/store/h54dzwd7rdh2jlcv91424csl6d0ccgjy-strip.sh" [22]="/nix/store/bnj8d7mvbkg3vdb07yz74yhl3g107qq5-patch-shebangs.sh" [23]="/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh" [24]="/nix/store/8zxndz5ag0p6s526c2xyllhk1nrn4c3i-audit-tmpdir.sh" [25]="/nix/store/c8n9kcdddp9np665xz6ri61b383nxvz8-move-systemd-user-units.sh" [26]="/nix/store/1i5y55x4b4m9qkx5dqbmr1r6bvrqbanw-multiple-outputs.sh" [27]="/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh" [28]="/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh" [29]="/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh" [30]="/nix/store/pr6nzbscdpg94yvr151lrif2kg0csx7b-reproducible-builds.sh" [31]="/nix/store/ca37d3qrydh0wpw40kswsx30j8dyzxh2-gcc-wrapper-10.2.0" [32]="/nix/store/jlyaypckqlapwqpck7jscs6qcdwg9bk3-binutils-wrapper-2.35.1")
150postFixupHooks=([0]="_multioutPropagateDev") 150postFixupHooks=([0]="_multioutPropagateDev")
151postUnpackHooks=([0]="_updateSourceDateEpochFromSourceRoot") 151postUnpackHooks=([0]="_updateSourceDateEpochFromSourceRoot")
152preConfigureHooks=([0]="_multioutConfig") 152preConfigureHooks=([0]="_multioutConfig")
diff --git a/.gitignore b/.gitignore
index 5511650..2eedfec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
1/target 1/target
2*.obi 2*.obi
3*.txt 3*.txt
4/result
diff --git a/Cargo.lock b/Cargo.lock
index 5cd0345..0390f04 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,5 +1,7 @@
1# This file is automatically @generated by Cargo. 1# This file is automatically @generated by Cargo.
2# It is not intended for manual editing. 2# It is not intended for manual editing.
3version = 3
4
3[[package]] 5[[package]]
4name = "aho-corasick" 6name = "aho-corasick"
5version = "0.7.15" 7version = "0.7.15"
@@ -120,7 +122,7 @@ checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
120[[package]] 122[[package]]
121name = "obi" 123name = "obi"
122version = "0.1.0" 124version = "0.1.0"
123source = "git+https://github.com/nerdypepper/obi#7d2924015e691fa229c6b6fd96240ef47b3a9e5f" 125source = "git+https://github.com/nerdypepper/obi?rev=7d2924015e691fa229c6b6fd96240ef47b3a9e5f#7d2924015e691fa229c6b6fd96240ef47b3a9e5f"
124dependencies = [ 126dependencies = [
125 "bitvec", 127 "bitvec",
126 "byteorder", 128 "byteorder",
diff --git a/Cargo.toml b/Cargo.toml
index ce5d614..c76160a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,7 +8,7 @@ edition = "2018"
8 8
9[dependencies] 9[dependencies]
10sdl2 = {version = "0.34", features = ["ttf"]} 10sdl2 = {version = "0.34", features = ["ttf"]}
11obi = { git = "https://github.com/nerdypepper/obi" } 11obi = { git = "https://github.com/nerdypepper/obi", rev = "7d2924015e691fa229c6b6fd96240ef47b3a9e5f" }
12env_logger = "0.8.3" 12env_logger = "0.8.3"
13log = "0.4.0" 13log = "0.4.0"
14pico-args = "0.4.0" 14pico-args = "0.4.0"
diff --git a/flake.lock b/flake.lock
index 3bb4565..1feb05e 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,5 +1,21 @@
1{ 1{
2 "nodes": { 2 "nodes": {
3 "gitignore": {
4 "flake": false,
5 "locked": {
6 "lastModified": 1611672876,
7 "narHash": "sha256-qHu3uZ/o9jBHiA3MEKHJ06k7w4heOhA+4HCSIvflRxo=",
8 "owner": "hercules-ci",
9 "repo": "gitignore",
10 "rev": "211907489e9f198594c0eb0ca9256a1949c9d412",
11 "type": "github"
12 },
13 "original": {
14 "owner": "hercules-ci",
15 "repo": "gitignore",
16 "type": "github"
17 }
18 },
3 "mozillapkgs": { 19 "mozillapkgs": {
4 "flake": false, 20 "flake": false,
5 "locked": { 21 "locked": {
@@ -64,6 +80,7 @@
64 }, 80 },
65 "root": { 81 "root": {
66 "inputs": { 82 "inputs": {
83 "gitignore": "gitignore",
67 "mozillapkgs": "mozillapkgs", 84 "mozillapkgs": "mozillapkgs",
68 "naersk": "naersk", 85 "naersk": "naersk",
69 "nixpkgs": "nixpkgs_2", 86 "nixpkgs": "nixpkgs_2",
diff --git a/flake.nix b/flake.nix
index e726b95..b067ee0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,53 +6,66 @@
6 url = "github:mozilla/nixpkgs-mozilla"; 6 url = "github:mozilla/nixpkgs-mozilla";
7 flake = false; 7 flake = false;
8 }; 8 };
9 gitignore = {
10 url = "github:hercules-ci/gitignore";
11 flake=false;
12 };
9 }; 13 };
10 14
11 outputs = { self, nixpkgs, utils, naersk, mozillapkgs }: 15 outputs = { self, nixpkgs, utils, naersk, mozillapkgs, gitignore, ... }:
12 utils.lib.eachDefaultSystem (system: let 16 utils.lib.eachDefaultSystem (system:
17 let
13 pkgs = nixpkgs.legacyPackages."${system}"; 18 pkgs = nixpkgs.legacyPackages."${system}";
19 inherit (import gitignore { inherit (pkgs) lib; }) gitignoreSource;
20
21 # Get a specific rust version
22 mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {};
23
24 rust = (mozilla.rustChannelOf {
25 date = "2021-03-31";
26 channel = "nightly";
27 sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date
28 }).rust;
14 29
15 # Get a specific rust version 30 rust-src = (mozilla.rustChannelOf {
16 mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; 31 date = "2021-03-31";
17 rust = (mozilla.rustChannelOf { 32 channel = "nightly";
18 date = "2021-03-31"; 33 sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date
19 channel = "nightly"; 34 }).rust-src;
20 sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date 35
21 }).rust; 36 naersk-lib = naersk.lib."${system}".override {
22 rust-src = (mozilla.rustChannelOf { 37 cargo = rust;
23 date = "2021-03-31"; 38 rustc = rust;
24 channel = "nightly"; 39 };
25 sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date
26 }).rust-src;
27 40
28 naersk-lib = naersk.lib."${system}".override { 41 nativeBuildInputs = with pkgs; [
29 cargo = rust; 42 SDL2
30 rustc = rust; 43 SDL2_ttf
31 }; 44 ];
32 in rec { 45
33 packages.my-project = naersk-lib.buildPackage { 46 in rec {
34 pname = "sdl-tests"; 47 packages.my-project = naersk-lib.buildPackage {
35 version = "0.1.0"; 48 pname = "sdl-tests";
36 root = ./.; 49 version = "0.1.0";
37 }; 50 root = gitignoreSource ./.;
38 defaultPackage = packages.my-project; 51 inherit nativeBuildInputs;
39 apps.my-project = utils.lib.mkApp { 52 };
40 drv = packages.my-project; 53 defaultPackage = packages.my-project;
41 }; 54 apps.my-project = utils.lib.mkApp {
42 defaultApp = apps.my-project; 55 drv = packages.my-project;
43 devShell = pkgs.mkShell { 56 };
44 nativeBuildInputs = [ 57 defaultApp = apps.my-project;
45 rust 58 devShell = pkgs.mkShell {
46 rust-src 59 nativeBuildInputs = nativeBuildInputs ++ (with pkgs; [
47 pkgs.rust-analyzer 60 rust
48 pkgs.rustfmt 61 rust-src
49 pkgs.cargo 62 rust-analyzer
50 pkgs.SDL2 63 rustfmt
51 pkgs.SDL2_ttf 64 cargo
52 ]; 65 ]);
53 RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; 66 RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
54 RUST_LOG="info"; 67 RUST_LOG="info";
55 RUST_BACKTRACE=1; 68 RUST_BACKTRACE=1;
56 }; 69 };
57 }); 70 });
58 } 71}
diff --git a/src/cli.rs b/src/cli.rs
index 6357355..bb1aae3 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -8,7 +8,7 @@ pub static HELP_TEXT: &str = "
8Usage 8Usage
9----- 9-----
10 10
11slate new <FILE> -d WIDTHxHEIGHT 11pala new <FILE> -d WIDTHxHEIGHT
12 12
13Options 13Options
14------- 14-------
diff --git a/src/lisp/prelude.rs b/src/lisp/prelude.rs
index d0667d8..f5ff13a 100644
--- a/src/lisp/prelude.rs
+++ b/src/lisp/prelude.rs
@@ -1,7 +1,7 @@
1use crate::{ 1use crate::{
2 bitmap::MapPoint, 2 bitmap::MapPoint,
3 brush::Brush, 3 brush::Brush,
4 grid::{Grid, GridKind}, 4 grid::GridKind,
5 guide::Guide, 5 guide::Guide,
6 lisp::{ 6 lisp::{
7 error::{EvalError, LispError}, 7 error::{EvalError, LispError},