diff options
Diffstat (limited to '')
-rw-r--r-- | build/rust/.envrc | 4 | ||||
-rw-r--r-- | build/rust/Cargo.toml | 4 | ||||
-rw-r--r-- | build/rust/flake.nix | 5 | ||||
-rw-r--r-- | build/rust/init | 19 |
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/* |