aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2024-05-13 15:47:09 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2024-05-13 18:17:03 -0400
commitf4a280dc6a869c540975b697f614c5172007d7a2 (patch)
tree7f8568a66b662eec555b43b466a92a4c186ef500 /org
parentset nixVersions.nix_2_21 (diff)
nix flake and envrc related
Diffstat (limited to 'org')
-rw-r--r--org/config_env.org80
-rw-r--r--org/config_nix.org306
2 files changed, 83 insertions, 303 deletions
diff --git a/org/config_env.org b/org/config_env.org
index 403d6b5..a482da8 100644
--- a/org/config_env.org
+++ b/org/config_env.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:build:tools:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 - 2024 Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
#+PROPERTY: header-args :exports code
@@ -76,7 +76,8 @@ echo '
❯❯ nix flake show
❯❯ nix flake update && nix flake check && nix flake show
-- for a dev shell:
+- for a dev shell (development environment):
+
❯❯ nix develop
❯❯ nix develop ".#" --print-build-logs -c zsh
❯❯ nix develop ".#dsh" --print-build-logs -c zsh
@@ -89,18 +90,36 @@ echo '
❯❯ nix develop ".#dsh-sqlite" --print-build-logs -c zsh
- to build project:
+
❯❯ nix build --print-build-logs
❯❯ 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
- - (see nix other/additional build options):
- ❯❯ nix flake show
- ❯❯ nix flake update && nix flake check --show-trace && nix flake show && nix develop ".#devShell" -c zsh
- ❯❯ dub build --compiler=ldmd --build=release --combined --skip-registry=all
+- to build using dub (on nix or otherwise):
+
+ you need to be in sisudoc-spine to use source code tree directly.
+
+- for develop environment & build options
+
+ ❯❯ nix flake update && nix flake check && nix flake show
+ ❯❯ nix flake show
+
+- if on nix: build the sisudoc-spine using nix build commands above and
+ run the result against the sample files here in the sisudoc-spine-samples dir
+ (assuming the appropriate paths have been set in your .envrc-local)
+
+ ❯❯ ${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}/*
'
+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}/*
+"
#+END_SRC
*** 3.0.4
@@ -153,3 +172,52 @@ sha256-0000000000000000000000000000000000000000000=
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: :noweb yes
+#+BEGIN_SRC sh
+if [[ ! -d ./.git ]]; then
+ git init
+ git add .
+fi
+#+END_SRC
+
+** .envrc-local CHECK MODIFY
+
+- bespoke modify appropriately and generate if needed
+
+#+HEADER: :tangle ../.envrc-local_
+#+HEADER: :noweb yes
+#+BEGIN_SRC sh
+export SpineBIN=./result/bin/spine
+# ❯❯ nix builds spine binary:
+#export SpineBIN=./result/bin/spine
+# ❯❯ if from ../sisudoc-spine on directory tree nix build
+#export SpineBIN=../sisudoc-spine/result/bin/spine
+# ❯❯ dub builds spine binary (name depends on build, check):
+#export SpineBIN=../sisudoc-spine/bin/spine
+#export SpineBIN=../sisudoc-spine/bin/spine-ldc
+#export SpineBIN=../sisudoc-spine/bin/spine-dmd
+# ❯❯ location of source files:
+export SpineDOC=.
+# ❯❯ location of source files pod:
+export SpinePOD=${SpineDOC}/markup/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
+# ❯❯ path configured for cgi search form:
+export SpineSearchActionLocal='http://localhost/spine_search'
+export SpineSearchActionRemote='https://sisudoc.org/spine_search'
+# ❯❯ cgi search form name:
+export SpineCGIform='spine_search'
+# ❯❯ search form db name:
+export SpineSQLdb='spine.search.db'
+# ❯❯ configuration cgi search form path:
+export SpineCGIbin=/var/www/cgi/cgi-bin
+# ❯❯ configuration db path:
+export SpineDBpath=/var/www/sqlite
+#export SpineDBpath=/srv/www/spine/sqlite
+#+END_SRC
diff --git a/org/config_nix.org b/org/config_nix.org
index 391f739..2485dab 100644
--- a/org/config_nix.org
+++ b/org/config_nix.org
@@ -70,9 +70,9 @@
devShells = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
shellHook = ''
- export DFLAGS="-O2 -boundscheck=on"
export Date=`date "+%Y%m%d"`
## set local values in .envrc-local (or here if you must)
+ echo " ❯❯ ./result/bin/spine -v --source --pod --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=./OUTPUT_TEST_sisudocSpine ./markup/pod/*";
'';
in
with pkgs; {
@@ -132,6 +132,13 @@
dub
gnumake
sqlite
+ # ❯❯ text-mode web browsers
+ elinks
+ links2
+ lynx
+ w3m
+ # ❯❯ light graphical
+ #dillo
];
inherit shellHook;
};
@@ -247,28 +254,6 @@ with pkgs;
}
#+END_SRC
-#+BEGIN_SRC nix
- shellHook = ''
- echo '
- shell.nix echo ❯❯
-
- ❯❯ nix flake update && nix flake check --show-trace && nix flake show && nix develop ".#devShell" -c zsh
-
- ❯❯ nix develop
- ❯❯ nix develop -c zsh
- ❯❯ nix develop ".#default" -c zsh
- ❯❯ nix develop ".#devShell-ldc-overlay" -c zsh
-
- ❯❯ nix build
- ❯❯ nix build ".#default" --print-build-logs
- ❯❯ nix build ".#spine-ldc" --print-build-logs |& nom
-
-
- ❯❯ nix profile install .
- '
- '';
-#+END_SRC
-
#+HEADER: :tangle ../default.nix
#+HEADER: :tangle-mode (identity #o755)
#+HEADER: :shebang "#!/usr/bin/env -S nix-build"
@@ -387,7 +372,6 @@ with (
buildPhase = ''
runHook preBuild
HOME="$PWD"
- DFLAGS="-O2 -inline"
for DC_ in dmd ldmd2 gdmd; do
echo "- check for D compiler $DC_"
DC=$(type -P $DC_ || echo "")
@@ -399,7 +383,7 @@ with (
exit "Error: could not find D compiler"
fi
echo "$DC_ used as D compiler to build $pname"
- dub build --compiler=$DC --build=release --combined --skip-registry=all
+ dub run --compiler=$DC --build=release --combined --skip-registry=all
runHook postBuild
'';
checkPhase = ''
@@ -540,278 +524,6 @@ github:NixOS/nixpkgs/nixpkgs-unstable
<<nixpkgs_path_local>>
#+END_SRC
-** .env/echo-nixNote CHECK MODIFY
-*** notes on nix commands
-
-#+HEADER: :tangle ../.env/nix-commands
-#+BEGIN_SRC text
-- nix flake update && nix flake check --show-trace && nix flake show && nix develop .#devShell
-
-- nix build ".#default" --print-build-logs
-- nix build ".#spine-dmd" --print-build-logs
-- nix build ".#spine-ldc" --print-build-logs
-- nix build ".#spine-gdc" --print-build-logs
-
-- nix develop
- - nix develop ".#devShell" --print-build-logs
- - nix develop ".#devShell-html" --print-build-logs
- - nix develop ".#devShell-epub" --print-build-logs
- - nix develop ".#devShell-latex-pdf" --print-build-logs
- - nix develop ".#devShell-sqlite" --print-build-logs
- - nix develop ".#devShell-i18n" --print-build-logs
-
-nix run .#default --print-build-logs
-
-nix develop --build ".#default" --print-build-logs
-
-nix-shell '<nixpkgs>' -A nix --pure
-#+END_SRC
-
-*** echo-nixNote
-
-#+HEADER: :tangle ../.env/echo-nixNote
-#+BEGIN_SRC sh
-echo '-*- mode: org -*-
-
-,* nixpkgs path?
-
- # eval "$(nix print-dev-env)"
-' > nixNote_.org
-
-echo " <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nixNote_.org
-
-echo '
-,* nix build and show derivation
-
-,#+BEGIN_SRC sh
-nix-shell --pure
-
-nix-build
-nix build -f default.nix --print-build-logs
-nix shell -f default.nix --print-build-logs
-nix develop --build -f derivation.nix -I .envrc --print-build-logs
-
-nix-instantiate | nix-build
-
-nix-instantiate -I .envrc | nix-build -I .envrc
-nix build `nix-instantiate`
-nix build `nix-instantiate -I .envrc`
-
-nix develop
-
-nix-instantiate | nix show-derivation | jq
-nix-instantiate -I .envrc | nix show-derivation -f derivation.nix -I .envrc | jq
-
-nix-instantiate | nix show-derivation --recursive | jq
-nix-instantiate -I .envrc | nix show-derivation -f derivation.nix --recursive -I .envrc | jq
-
-nix search --json 2>/dev/null |jq
-,#+END_SRC
-
-,* version and build info
-
-,#+BEGIN_SRC sh' >> nixNote_.org
-
-echo 'spine version (git) == $SpineVER' >> nixNote_.org
-echo "spine version (git) == $SpineVER" >> nixNote_.org
-echo 'nix-instantiate == `nix-instantiate`' >> nixNote_.org
-echo "nix-instantiate == `nix-instantiate`" >> nixNote_.org
-
-echo "#+END_SRC
-
-,* initialised shell variables
-
-,#+BEGIN_SRC sh
-SpineSRC=$SpineSRC
-SpineDOC=$SpineDOC
-SpinePOD=$SpinePOD
-SpineOUTversioned=$SpineOUTversioned
-SpineOUT=$SpineOUT
-,#+END_SRC
-" >> nixNote_.org
-
-echo '* spine run instruction examples
-,** parallelized tasks
-,*** doc source
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --pod --source --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** html & epub output
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --html --epub --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** sqlite db for each document - populate each db
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** doc source; html, epub; sqlite outputs
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** curate (authors topics)
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --curate --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** html, curate
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --verbose --dark --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/*
-$SpineBIN/spine --very-verbose --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** composite command: source pod, html, epub, curate, sqlite
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,** sequential tasks
-,*** sqlite db (shared) - create db
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTversioned"
-,#+END_SRC
-
-,*** sqlite db (shared) - populate db
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/sisudoc-spine-markup-samples/markup/pod/*
-,#+END_SRC
-
-,*** sqlite db (shared) - drop db
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --sqlite-db-drop --output="$SpineOUTversioned"
-,#+END_SRC
-
-,*** sqlite db (shared) - create & populate db (single step)
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --sqlite-db-create --sqlite-update --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,*** composite command: source pod, html, epub, curate, sqlite
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*
-,#+END_SRC
-
-,** config [./pod/].dr/config_local_site
-
-,#+BEGIN_SRC sh
-cat $SpinePOD/.dr/config_local_site
-$SpineBIN/spine --show-config $SpinePOD
-$SpineBIN/spine --show-config --output="$SpineOUTversioned" $SpinePOD
-,#+END_SRC
-
-,** cgi operations (output to $SpineOUT /var/www)
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUT" $SpinePOD/*
-
-$SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUT $SpinePOD/*
-
-$SpineBIN/spine -v --show-config --config=$SpinePOD/.dr
-
-$SpineBIN/spine --html $SpinePOD/*
-
-
-$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site
-,#+END_SRC
-
-,*** generate html linked to search form
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --output=$SpineOUT $SpinePOD/*
-,#+END_SRC
-
-,*** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate)
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine -v --sqlite-db-create --sqlite-db-filename="<<spine_search_db>>" --sqlite-db-path="$SpineDBpath"
-$SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="<<spine_search_db>>" --sqlite-db-path="$SpineDBpath"
-,#+END_SRC
-
-,*** populate sqlite db
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine -v --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --output=$SpineOUT $SpinePOD/*
-,#+END_SRC
-
-,*** generate html (linked to search form), sql output, curate COMPOSITE
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --sqlite-db-path="$SpineDBpath" --output="$SpineOUT" $SpinePOD/*
-$SpineBIN/spine --epub --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --cgi-url-action="https://sisudoc.org/spine_search" --ouput="$SpineOUT" $SpinePOD/*
-,#+END_SRC
-
-,*** generate html (linked to search form), sql output, curate COMPOSITE with resource configuration
-
-if names and paths are configured in resource configuration file, e.g. $SpinePOD/.rc/config_local_site
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update $SpinePOD/*
-,#+END_SRC
-
-,#+BEGIN_SRC yaml
-# sample resource configuration file ( $SpinePOD/.rc/config_local_site )
-output:
- path: "/srv/www/spine"
-default:
- language: "en"
- papersize: "a4"
- text_wrap: "80"
- digest: "sha256"
-webserv:
- http: "http"
- domain: "localhost"
- data_http: "http"
- data_domain: "localhost"
- data_root_url: "https://sisudoc.org"
- data_root_path: "/srv/www/spine"
- images_root_part: "image"
- cgi_search_form_title: "≅ SiSU Spine search ፨"
- cgi_http: "https"
- cgi_domain: "sisudoc.org"
- cgi_bin_url: "http://sisudoc.org/cgi-bin"
- cgi_bin_part: "cgi-bin"
- cgi_bin_path: "/var/www/cgi/cgi-bin"
- cgi_search_script: "<<spine_search_cgi>>"
- cgi_action: "https://sisudoc.org/spine_search"
- db_sqlite_filename: "<<spine_search_db>>"
- db_sqlite_path: "/var/www/sqlite"
-,#+END_SRC
-
-,*** make search form
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site
-,#+END_SRC
-
-,*** latex
-
-,#+BEGIN_SRC sh
-$SpineBIN/spine --latex --serial --output="$SpineOUT" $SpinePOD/*
-ls $SpineOutstatic/latex/*.tex
-,#+END_SRC
-' >> nixNote_.org
-
-#cat nixNote_.org
-
-#echo "emacs nixNote_.org"
-#echo "cat nixNote_.org"
-#+END_SRC
-
** version info SET VERSION :version:set:project:
*** spine project VERSION :version:set:project: