about summary refs log tree commit diff stats
path: root/build/rust
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--build/rust/.envrc4
-rw-r--r--build/rust/Cargo.toml4
-rw-r--r--build/rust/flake.nix5
-rw-r--r--build/rust/init19
4 files changed, 23 insertions, 9 deletions
diff --git a/build/rust/.envrc b/build/rust/.envrc
index c8c5665..3db39e6 100644
--- a/build/rust/.envrc
+++ b/build/rust/.envrc
@@ -1,8 +1,8 @@
+#!/usr/bin/env sh
+
 use flake || use nix
 watch_file flake.nix
 
-PATH_add ./target/debug
-PATH_add ./target/release
 PATH_add ./scripts
 
 if on_git_branch; then
diff --git a/build/rust/Cargo.toml b/build/rust/Cargo.toml
index dd6c3be..49a68c7 100644
--- a/build/rust/Cargo.toml
+++ b/build/rust/Cargo.toml
@@ -3,8 +3,8 @@ name = "%INIT_APPLICATION_NAME"
 description = "%INIT_DESCRIPTION"
 version = "%INIT_APPLICATION_VERSION"
 edition = "2021"
-license = "%INIT_SPDX_LICENSE_IDENTIFER"
-homepage = "%INIT_APPLICATION_HOMEPAGE"
+license = "%INIT_SPDX_LICENSE_IDENTIFIER"
+homepage = "%INIT_HOME_PAGE"
 repository = "%INIT_APPLICATION_SOURCE_CODE_REPOSITORY"
 # TODO
 # categories = [""]
diff --git a/build/rust/flake.nix b/build/rust/flake.nix
index bd54e79..084cf27 100644
--- a/build/rust/flake.nix
+++ b/build/rust/flake.nix
@@ -13,15 +13,12 @@
 
     crane = {
       url = "github:ipetkov/crane";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
+      inputs = {};
     };
     rust-overlay = {
       url = "github:oxalica/rust-overlay";
       inputs = {
         nixpkgs.follows = "nixpkgs";
-        flake-utils.follows = "flake-utils";
       };
     };
 
diff --git a/build/rust/init b/build/rust/init
index e8f72c8..b645441 100644
--- a/build/rust/init
+++ b/build/rust/init
@@ -30,6 +30,16 @@ die() {
     printf "init: ERROR: %s\n" "$1"
     exit 1
 }
+quotify() {
+    python -c "
+import sys
+if len(sys.argv) > 1:
+    text =''.join(sys.argv[1:])
+else:
+    text = sys.stdin.read()
+quoted_text = text.replace(\"'\", \"'\\\\''\")
+print(f\"'{quoted_text}'\", end='')" "$@"
+}
 
 # Prompt the user for a specific variable.
 # ## Args:
@@ -57,7 +67,7 @@ prompt() {
         LE "> " 0 " " "$pr_suggested_answer" ""
     fi
 
-    pr_new_variable="$(printf '%s="%s"' "$pr_variable_upper" "$REPLY")"
+    pr_new_variable="$(printf '%s=%s' "$pr_variable_upper" "$(quotify "$REPLY")")"
 
     eval "$pr_new_variable"
     printf "%s\n" "$pr_new_variable" >>"$replacement_file"
@@ -73,6 +83,8 @@ require mv
 require sed
 require chmod
 
+require python
+
 # necessary meta data
 prompt APPLICATION_NAME "The name of the application" "$(basename "$PWD")"
 prompt APPLICATION_NAME_STYLIZED "The stylized name of the application (for documentation)" "$(echo "$APPLICATION_NAME" | sed 's/[_-]/ /g' | sed 's/^\(\w\)/\U\1/g' | sed 's/ \(\w\)/ \U\1/g')"
@@ -169,6 +181,11 @@ while read -r var; do
     done
 done <"$replacement_file"
 
+if [ "$(rg "%INIT_" --files-with-matches | wc -l)" -ne 0 ]; then
+    echo "Following init variables were not replaced. This is a bug."
+    rg "%INIT_"
+fi
+
 # HACK: Re-add the executable permissions to files, which the nix template has somehow
 # removed <2024-04-02>
 chmod +x scripts/*