aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/config_env.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/config_env.org')
-rw-r--r--org/config_env.org202
1 files changed, 127 insertions, 75 deletions
diff --git a/org/config_env.org b/org/config_env.org
index 1ea434a..2fa1f25 100644
--- a/org/config_env.org
+++ b/org/config_env.org
@@ -4,12 +4,12 @@
#+FILETAGS: :spine:build:tools:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2024 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
#+PROPERTY: header-args :exports code
#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
+#+PROPERTY: header-args+ :results output none
#+PROPERTY: header-args+ :cache no
#+PROPERTY: header-args+ :padline no
#+PROPERTY: header-args+ :mkdirp yes
@@ -23,7 +23,7 @@
** nixDevEnv envrc :envrc:
#+HEADER: :tangle ../nixDevEnv.sh
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [ -f .envrc ]; then
source_env_if_exists .envrc || source .envrc
fi
@@ -33,12 +33,15 @@ fi
#+NAME: envrc
#+HEADER: :tangle ../.envrc
-#+BEGIN_SRC sh
+#+HEADER: :shebang "# -*- mode: sh -*-"
+#+BEGIN_SRC shell
if [ -f .envrc-git-init ]; then
source_env_if_exists .envrc-git-init || source .envrc-git-init
fi
if [ -f .envrc-local ]; then
source_env_if_exists .envrc-local || source .envrc-local
+elif [ -f .envrc-local_ ]; then
+ source_env_if_exists .envrc-local_ || source .envrc-local_
fi
if [ -f .envrc-nix ]; then
source_env_if_exists .envrc-nix || source .envrc-nix
@@ -49,15 +52,16 @@ fi
- https://github.com/nix-community/nix-direnv
- source_url
- - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>"
+ - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv_hash>>"
- ${NixDirEnvVersion}
#+HEADER: :tangle ../.envrc-nix
-#+BEGIN_SRC sh
+#+HEADER: :shebang "# -*- mode: nix -*-"
+#+BEGIN_SRC shell
NIX_ENFORCE_PURITY=1
# - https://github.com/nix-community/nix-direnv
-NixDirEnvVersion="<<direnv-version>>"
-NixDirEnvSHA="<<direnv-sha>>"
+NixDirEnvVersion="<<direnv_version>>"
+NixDirEnvSHA="<<direnv_hash>>"
if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}"
fi
@@ -77,13 +81,14 @@ echo '
❯❯ nix flake update && nix flake check && nix flake show
• for a dev shell (development environment):
-
- ❯❯ nix develop
- ❯❯ nix develop ".#" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-ldc-dub" --print-build-logs -c zsh
+ • nix develop
+ ❯❯ nix develop ".#" --print-build-logs -c zsh
+ • nix develop using nixpkgs
+ ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh
+ • nix develop using package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>, dtools-<<dtools_version>>)
+ ❯❯ nix develop ".#dsh-overlay-dmd" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh
❯❯ nix flake show
• to build project:
@@ -92,17 +97,19 @@ echo '
❯❯ nix build ".#" --print-build-logs
• to build project:
- ❯❯ nix build ".#spine-nixpkgs-dmd" --print-build-logs
- ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
- ❯❯ nix build ".#spine-nixpkgs-ldc" --print-build-logs
- ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
+ • nix build using nixpkgs
+ ❯❯ nix build ".#spine-nixpkgs-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-nixpkgs-ldc" --print-build-logs
+ • nix build using package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>, dtools-<<dtools_version>>)
+ ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
• to build using dub on nix (get dependencies by setting your development environment):
- ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh
❯❯ dub --verbose --compiler=dmd --config=dmd
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh
❯❯ dub --verbose --compiler=ldmd2 --config=ldmd2
• for develop environment & build options
@@ -116,6 +123,11 @@ echo '
❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*
❯❯ ${SpineBIN} -v --source --pod --latex --latex-init --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*
+
+ ❯❯ ${SpineBIN} -v --sqlite-db-create --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db
+ ❯❯ ${SpineBIN} -v --sqlite-update --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db ${SpinePOD}/*
+
+ ❯❯ ${SpineBIN} --source --pod --curate --text --latex --epub --html --manifest --html-link-search --html-link-pdf --html-link-text --html-link-curate --html-link-markup --html-link-source --html-link-pod --html-link-metadata --cgi-sqlite-search-filename="${SpineCGIform}" --cgi-url-action="${SpineSearchActionRemote}" --sqlite-db-path="${SpineDBpath}" --sqlite-db-filename="${SpineSQLdb}" --www-url-doc-root=${SpineURLdocRoot} --set-papersize="a4,letter" --output=${SpineOUT} ${SpinePOD}/*
'
echo "•
❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*
@@ -123,75 +135,39 @@ echo "•
"
#+END_SRC
-*** 3.0.4
-
-#+NAME: direnv-version
-#+BEGIN_SRC sh
-3.0.4
-#+END_SRC
-
-#+NAME: direnv-sha
-#+BEGIN_SRC sh
-sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
-#+END_SRC
-
-*** 3.0.0
-
-#+BEGIN_SRC sh
-3.0.0
-#+END_SRC
-
-#+BEGIN_SRC sh
-sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=
-#+END_SRC
-
-*** 2.4.0
-
-#+BEGIN_SRC sh
-2.4.0
-#+END_SRC
-
-#+BEGIN_SRC sh
-sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
-#+END_SRC
-
-#+BEGIN_SRC sh
-2.3.0
-#+END_SRC
-
-#+BEGIN_SRC sh
-sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=
-#+END_SRC
-
-#+NAME: direnv-sha_
-#+BEGIN_SRC sh
-sha256-0000000000000000000000000000000000000000000=
-#+END_SRC
-
-#+BEGIN_SRC sh
-- https://github.com/nix-community/nix-direnv
-NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000="
-direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc
-#+END_SRC
-
** .envrc-git-init
#+HEADER: :tangle ../.envrc-git-init
+#+HEADER: :shebang "# -*- mode: sh -*-"
#+HEADER: :noweb yes
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [[ ! -d ./.git ]]; then
git init
git add .
fi
#+END_SRC
+** ,version (project & git version info)
+
+#+HEADER: :tangle ../,version
+#+HEADER: :noweb yes
+#+HEADER: :tangle-mode (identity #o755)
+#+HEADER: :shebang #!/usr/bin/env sh
+#+BEGIN_SRC shell
+SpineProjVer=`rg "Version\((\d+), (\d+), (\d+)\)" views/version.txt | sed -E 's/.*([0-9]+), ([0-9]+), ([0-9]+).*/spine-v\1.\2.\3/'` && \
+ SpineGitVer=`git describe | sed "s/^[a-z_-]\+\([0-9.]\+\)/\1/" | sed "s/\([^-]*-g\)/r\1/" | sed "s/-/./g"` && \
+ SpineGitBranch=`git branch --show-current` && \
+ echo "❯❯ $SpineProjVer - ($SpineGitBranch: $SpineGitVer)"
+#+END_SRC
+
** .envrc-local CHECK MODIFY
- bespoke modify appropriately and generate if needed
#+HEADER: :tangle ../.envrc-local_
+#+HEADER: :shebang "# -*- mode: sh -*-"
#+HEADER: :noweb yes
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
export SpineBIN=./result/bin/spine
# ❯❯ nix builds spine binary:
@@ -202,13 +178,17 @@ export SpineBIN=./result/bin/spine
#export SpineBIN=./bin/spine-dmd
# ❯❯ location of source files:
export SpineDOC=../sisudoc-spine-samples
+#export SpineDOC=./sisudoc-spine-samples
# ❯❯ location of source files pod:
-export SpinePOD=${SpineDOC}/markup/pod
+export SpinePOD=${SpineDOC}/markup/pod-samples/pod
# ❯❯ sisudoc-spine output processing path:
export SpineOUT=./OUTPUT_TEST_sisudocSpine
# ❯❯ sisudoc-spine output processing path (web server e.g.):
#export SpineOUT=/srv/www/spine
#export SpineOUTversioned=${SpineOUT}/${SpineVER}
+# ❯❯ www url doc root
+export SpineURLdocRoot='http://localhost'
+# export SpineURLdocRoot='https://sisudoc.org'
# ❯❯ path configured for cgi search form:
export SpineSearchActionLocal='http://localhost/spine_search'
export SpineSearchActionRemote='https://sisudoc.org/spine_search'
@@ -222,3 +202,75 @@ export SpineCGIbin=/var/www/cgi/cgi-bin
export SpineDBpath=/var/www/sqlite
#export SpineDBpath=/srv/www/spine/sqlite
#+END_SRC
+
+* org includes - versions GET
+** direnv
+
+#+NAME: direnv_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:direnv-version()>>
+#+END_SRC
+
+#+NAME: direnv_hash
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:direnv-hash()>>
+#+END_SRC
+
+** dlang overlays
+*** ldc
+
+#+NAME: ldc_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-version()>>
+#+END_SRC
+
+*** dmd
+
+#+NAME: dmd_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dmd-version()>>
+#+END_SRC
+
+*** dub
+
+#+NAME: dub_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dub-version()>>
+#+END_SRC
+
+*** dtools
+
+#+NAME: dtools_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dtools-version()>>
+#+END_SRC
+
+** spine project VERSION
+
+#+NAME: spine_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>>
+#+END_SRC
+
+#+NAME: year
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:year()>>
+#+END_SRC
+
+** document header including copyright & license
+
+#+NAME: doc_header_including_copyright_and_license
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_doc_header_including_copyright_and_license()>>
+#+END_SRC
+
+* __END__