aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.env/echo-nixNote239
-rw-r--r--.env/nix-commands20
-rw-r--r--.envrc-local10
-rw-r--r--.envrc-local_10
-rw-r--r--.envrc-nix54
-rw-r--r--.gitignore11
-rw-r--r--derivation.nix4
-rw-r--r--devenv.nix6
-rw-r--r--flake.lock124
-rw-r--r--flake.nix22
-rw-r--r--makefile4
-rw-r--r--markup/sisudoc-spine-bespoke-output/html/homepage.index.html2
-rw-r--r--org/config_env.org204
-rw-r--r--org/config_git.org111
-rw-r--r--org/config_nix.org69
-rw-r--r--org/nix-develop-dlang-shared.org713
-rw-r--r--org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org6
-rw-r--r--org/spine-bespoke-output-homepage-html.org2
-rwxr-xr-xshell.nix15
19 files changed, 954 insertions, 672 deletions
diff --git a/.env/echo-nixNote b/.env/echo-nixNote
deleted file mode 100644
index 9115d60..0000000
--- a/.env/echo-nixNote
+++ /dev/null
@@ -1,239 +0,0 @@
-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="" --sqlite-db-path="$SpineDBpath"
-$SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="" --sqlite-db-path="$SpineDBpath"
-#+END_SRC
-
-*** populate sqlite db
-
-#+BEGIN_SRC sh
-$SpineBIN/spine -v --sqlite-update --sqlite-db-filename="" --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="" --cgi-sqlite-search-filename="" --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: ""
- cgi_action: "https://sisudoc.org/spine_search"
- db_sqlite_filename: ""
- 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"
diff --git a/.env/nix-commands b/.env/nix-commands
deleted file mode 100644
index 8a16dbf..0000000
--- a/.env/nix-commands
+++ /dev/null
@@ -1,20 +0,0 @@
-- 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
diff --git a/.envrc-local b/.envrc-local
index 74e98e0..8f0dbb3 100644
--- a/.envrc-local
+++ b/.envrc-local
@@ -1,12 +1,10 @@
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
+# ❯❯ dub builds spine binary (name depends on build, check, not available here):
+#export SpineBIN=./bin/spine
+#export SpineBIN=./bin/spine-ldc
+#export SpineBIN=./bin/spine-dmd
# ❯❯ location of source files:
export SpineDOC=.
# ❯❯ location of source files pod:
diff --git a/.envrc-local_ b/.envrc-local_
index 74e98e0..8f0dbb3 100644
--- a/.envrc-local_
+++ b/.envrc-local_
@@ -1,12 +1,10 @@
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
+# ❯❯ dub builds spine binary (name depends on build, check, not available here):
+#export SpineBIN=./bin/spine
+#export SpineBIN=./bin/spine-ldc
+#export SpineBIN=./bin/spine-dmd
# ❯❯ location of source files:
export SpineDOC=.
# ❯❯ location of source files pod:
diff --git a/.envrc-nix b/.envrc-nix
index 4a4c531..671458e 100644
--- a/.envrc-nix
+++ b/.envrc-nix
@@ -1,7 +1,7 @@
NIX_ENFORCE_PURITY=1
# - https://github.com/nix-community/nix-direnv
-NixDirEnvVersion="3.0.6"
-NixDirEnvSHA="sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM="
+NixDirEnvVersion="3.0.7"
+NixDirEnvSHA="sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc="
if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}"
fi
@@ -21,26 +21,33 @@ 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" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-epub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-html" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-i18n" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-spine" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-sqlite" --print-build-logs -c zsh
-
-• to build project:
-
- ❯❯ nix build --print-build-logs
- ❯❯ nix build ".#" --print-build-logs
+ • nix develop
+ ❯❯ nix develop ".#" --print-build-logs -c zsh
+ • nix develop some specialized shells (tools)
+ ❯❯ nix develop ".#dsh-epub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-html" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-i18n" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-spine" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-sqlite" --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-2.111.0, ldc-1.41.0, dub-1.39.0, dtools-2.110.0)
+ ❯❯ nix develop ".#dsh-overlay-dmd" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh
+ • for more nix develop specialized shells
+ ❯❯ nix flake show
• to build project:
- ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
- ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
+ • nix flake set default
+ ❯❯ nix build --print-build-logs
+ ❯❯ nix build ".#" --print-build-logs
+ ❯❯ nix build ".#spine-nixpkgs-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-nixpkgs-ldc" --print-build-logs
+ • nix build using package overlays: (dmd, ldc, dub, dtools)
+ ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
• to build using dub (on nix or otherwise):
@@ -57,8 +64,7 @@ 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 ./markup/pod/*
'
-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}/*
-"
diff --git a/.gitignore b/.gitignore
index d87c953..35596c0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,10 +14,8 @@
!.envrc-local
!.envrc-nix
!.envrc-git-init
-!.env
-!.env/**
-!README
!README.md
+!README
!COPYRIGHT
!CHANGELOG
!makefile
@@ -25,6 +23,8 @@
!configuration.txt
!*.json
!*.sdl
+!*.md
+!*.txt
!tangle
!*.org
!org
@@ -74,15 +74,18 @@
**/.dub/**
tmp/**
*_.org
+*_.md
+*_.txt
+*_.json
*_.nix
*_.d
*_.txt
*_
-!.envrc-local_
*.swp
*~
\#*
*.\#*
+!.envrc-local_
#!*/
#\#*
#*.\#*
diff --git a/derivation.nix b/derivation.nix
index b82c426..8f0364a 100644
--- a/derivation.nix
+++ b/derivation.nix
@@ -59,7 +59,7 @@ with (
exit "Error: could not find D compiler"
fi
echo "$DC_ used as D compiler to build $pname"
- dub run --compiler=$DC --build=release --combined --skip-registry=all
+ dub build --compiler=$DC --build=release --combined --skip-registry=all
runHook postBuild
'';
checkPhase = ''
@@ -92,7 +92,7 @@ with (
);
mkDubDerivation rec {
pname = "spine";
- version = "0.17.0";
+ version = "0.18.0";
#zipfile = "spine-0.12.0-tag-0.11.2.r107.gf89a107.tar.gz";
src = fetchTarball {
url = "file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/code/software/tarball/spine-0.12.0-tag-0.11.2.r107.gf89a107.tar.gz";
diff --git a/devenv.nix b/devenv.nix
index d79f516..6206346 100644
--- a/devenv.nix
+++ b/devenv.nix
@@ -10,13 +10,13 @@ with pkgs;
# ❯❯❯ nix_related
#nix # if not on NixOS, this is needed
direnv
- nixVersions.latest #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git #nixVersions.nix_2_29 #nixVersions.nix_2_29
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
- jq
- #alejandra
+ jq #gx
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
diff --git a/flake.lock b/flake.lock
index d628f82..9014853 100644
--- a/flake.lock
+++ b/flake.lock
@@ -2,17 +2,16 @@
"nodes": {
"d-overlay": {
"inputs": {
- "flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
- "lastModified": 1733184371,
- "narHash": "sha256-K9MQf+ZD6OntayLaJcniYvOiiBxOl7hBrbltjSMmPP4=",
+ "lastModified": 1749310555,
+ "narHash": "sha256-QRkhrRy6wLBBjSlVTQgjoCsiL5HUJa/nPAOGoNmAkzw=",
"ref": "refs/heads/main",
- "rev": "115001db9ca4382c4ddfea3a636bde30abe5c459",
- "revCount": 11,
+ "rev": "03160d6114c3fb835b079f20797dac6b88ab5cbc",
+ "revCount": 22,
"type": "git",
"url": "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake"
},
@@ -21,67 +20,13 @@
"url": "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake"
}
},
- "flake-utils": {
- "inputs": {
- "systems": "systems"
- },
- "locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
- },
- "locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "flake-utils_3": {
- "inputs": {
- "systems": "systems_3"
- },
- "locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
"nixpkgs": {
"locked": {
- "lastModified": 1733064805,
- "narHash": "sha256-7NbtSLfZO0q7MXPl5hzA0sbVJt6pWxxtGWbaVUDDmjs=",
+ "lastModified": 1749401433,
+ "narHash": "sha256-HXIQzULIG/MEUW2Q/Ss47oE3QrjxvpUX7gUl4Xp6lnc=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "31d66ae40417bb13765b0ad75dd200400e98de84",
+ "rev": "08fcb0dcb59df0344652b38ea6326a2d8271baff",
"type": "github"
},
"original": {
@@ -94,24 +39,22 @@
"root": {
"inputs": {
"d-overlay": "d-overlay",
- "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs",
"spine": "spine"
}
},
"spine": {
"inputs": {
- "flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
- "lastModified": 1733185130,
- "narHash": "sha256-ybEmskOn1M5i2v667Vil1bKarcgADrYzqKS5aeF9/Z8=",
+ "lastModified": 1749307805,
+ "narHash": "sha256-N0TlfLqjXapQEuvrGeUq0NEvbXAXlCQgk8P5v2K/aBc=",
"ref": "refs/heads/main",
- "rev": "01b97ab40ec20a0ad73d2271b1397122e7b1bed5",
- "revCount": 658,
+ "rev": "311d82d0f73e60e537f7c2f2f535586945ce0e06",
+ "revCount": 681,
"type": "git",
"url": "git://git.sisudoc.org/software/sisudoc-spine"
},
@@ -119,51 +62,6 @@
"type": "git",
"url": "git://git.sisudoc.org/software/sisudoc-spine"
}
- },
- "systems": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_3": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index c082faf..a927b24 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,7 +1,6 @@
{
description = "spine (sisu like parser & document generator) made available to process markup samples";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.spine = {
url = "git://git.sisudoc.org/software/sisudoc-spine";
inputs.nixpkgs.follows = "nixpkgs";
@@ -15,12 +14,11 @@
outputs = {
self,
nixpkgs,
- flake-utils,
spine,
d-overlay,
...
- }@inputs: let
- version = "0.17.0";
+ } @ inputs: let
+ version = "0.18.0";
shell = ./shell.nix;
devEnv = ./nixDevEnv.sh;
supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
@@ -31,9 +29,9 @@
pkgs = nixpkgsFor.${system};
in {
default = spine.packages.${system}.default;
- #spine-nixpkgs-dmd = spine.packages.${system}.spine-nixpkgs-dmd;
+ spine-nixpkgs-dmd = spine.packages.${system}.spine-nixpkgs-dmd;
spine-overlay-dmd = spine.packages.${system}.spine-overlay-dmd;
- #spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
+ spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
spine-overlay-ldc = spine.packages.${system}.spine-overlay-ldc;
#vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";
});
@@ -46,9 +44,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; {
@@ -71,7 +69,7 @@
dsh-overlay-ldc = d-overlay.devShells.${system}.dsh-overlay-ldc-dub;
dsh-nixpkgs-ldc = d-overlay.devShells.${system}.dsh-nixpkgs-ldc-dub;
dsh-epub = mkShell {
- name = "spine dev shell for epub output";
+ name = "spine-0.18.0 dev shell for epub output";
inherit shell;
inherit devEnv;
packages = [
@@ -99,7 +97,7 @@
inherit shellHook;
};
dsh-html = mkShell {
- name = "spine dev shell for latex & pdf output";
+ name = "spine-0.18.0 dev shell for html output";
inherit shell;
inherit devEnv;
packages = [
@@ -119,7 +117,7 @@
inherit shellHook;
};
dsh-latex-pdf = mkShell {
- name = "spine dev shell for latex & pdf output";
+ name = "spine-0.18.0 dev shell for latex & pdf output";
inherit shell;
inherit devEnv;
packages = [
@@ -135,7 +133,7 @@
inherit shellHook;
};
dsh-sqlite = mkShell {
- name = "spine dev shell for latex & pdf output";
+ name = "spine-0.18.0 dev shell for sqlite3 output";
inherit shell;
inherit devEnv;
packages = [
@@ -148,7 +146,7 @@
inherit shellHook;
};
dsh-i18n = mkShell {
- name = "spine dev shell internationalization, po4a";
+ name = "spine-0.18.0 dev shell for internationalization, po4a";
inherit shell;
inherit devEnv;
packages = [
diff --git a/makefile b/makefile
index 0bde8ce..c11bc39 100644
--- a/makefile
+++ b/makefile
@@ -811,8 +811,8 @@ gitsnapshot: distclean tangle
# find data/sisudir/media/text -name *.ss[tm] | sort
version_tag:
- echo "DRV=0.16.0; git tag -f doc-reform-markup-samples_v$$\{DRV} -m\"doc-reform markup-samples spine-$$\{DRV}\" HEAD"; \
- echo "git tag -f doc-reform-markup-samples_v0.16.0 -m\"doc-reform markup-samples spine-0.16.0\" HEAD";
+ echo "DRV=0.18.0; git tag -f doc-reform-markup-samples_v$$\{DRV} -m\"doc-reform markup-samples spine-$$\{DRV}\" HEAD"; \
+ echo "git tag -f doc-reform-markup-samples_v0.18.0 -m\"doc-reform markup-samples spine-0.18.0\" HEAD";
.PHONY : all build release \
distclean init \
diff --git a/markup/sisudoc-spine-bespoke-output/html/homepage.index.html b/markup/sisudoc-spine-bespoke-output/html/homepage.index.html
index ddb3553..adf34f1 100644
--- a/markup/sisudoc-spine-bespoke-output/html/homepage.index.html
+++ b/markup/sisudoc-spine-bespoke-output/html/homepage.index.html
@@ -588,12 +588,14 @@ ralph.amissah www since 1993 ;-)
[ <a href="https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552/">
NixOS Foundation board: Giving power to the community
</a> ]<br>
+<!--
[ <a href="https://aux.computer/">
Aux - aux.computer - a community fork of nix (under deliberation), billed as "An alternative to the Nix ecosystem"
</a> ]
[ <a href="https://forum.aux.computer/">
community discussion (discourse)
</a> ]<br>
+-->
Gnu [ <a href="https://guix.gnu.org/">
Guix
</a> ]
diff --git a/org/config_env.org b/org/config_env.org
index c504a84..6e8cbb1 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 - 2024 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
#+PROPERTY: header-args :exports code
@@ -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,7 +33,7 @@ fi
#+NAME: envrc
#+HEADER: :tangle ../.envrc
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [ -f .envrc-git-init ]; then
source_env_if_exists .envrc-git-init || source .envrc-git-init
fi
@@ -49,15 +49,15 @@ 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
+#+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,26 +77,33 @@ 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" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-epub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-html" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-i18n" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-spine" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-sqlite" --print-build-logs -c zsh
+ • nix develop
+ ❯❯ nix develop ".#" --print-build-logs -c zsh
+ • nix develop some specialized shells (tools)
+ ❯❯ nix develop ".#dsh-epub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-html" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-i18n" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-spine" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-sqlite" --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
+ • for more nix develop specialized shells
+ ❯❯ nix flake show
• to build project:
-
- ❯❯ nix build --print-build-logs
- ❯❯ nix build ".#" --print-build-logs
-
-• to build project:
- ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
- ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
+ • nix flake set default
+ ❯❯ nix build --print-build-logs
+ ❯❯ nix build ".#" --print-build-logs
+ ❯❯ nix build ".#spine-nixpkgs-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-nixpkgs-ldc" --print-build-logs
+ • nix build using package overlays: (dmd, ldc, dub, dtools)
+ ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
• to build using dub (on nix or otherwise):
@@ -113,79 +120,26 @@ 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 ./markup/pod/*
'
+#+END_SRC
+
+#+BEGIN_SRC shell
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}/*
+ ❯❯ spine --very-verbose --sqlite-db-create --sqlite-db-filename=spine.search.db --sqlite-db-path=./_tmp-db
+ ❯❯ spine -v --html --epub --latex --sqlite-update --sqlite-db-filename=spine.search.db --sqlite-db-path=./tmp-db ./markup/pod/*
"
#+END_SRC
-*** 3.0.6
-
-#+NAME: direnv-version
-#+BEGIN_SRC sh
-3.0.6
-#+END_SRC
-
-#+NAME: direnv-sha
-#+BEGIN_SRC sh
-sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=
-#+END_SRC
-
-*** 3.0.4
-
-#+BEGIN_SRC sh
-3.0.4
-#+END_SRC
-
-#+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: :noweb yes
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [[ ! -d ./.git ]]; then
git init
git add .
@@ -198,16 +152,14 @@ fi
#+HEADER: :tangle ../.envrc-local_
#+HEADER: :noweb yes
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
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
+# ❯❯ dub builds spine binary (name depends on build, check, not available here):
+#export SpineBIN=./bin/spine
+#export SpineBIN=./bin/spine-ldc
+#export SpineBIN=./bin/spine-dmd
# ❯❯ location of source files:
export SpineDOC=.
# ❯❯ location of source files pod:
@@ -229,3 +181,67 @@ export SpineCGIbin=/var/www/cgi/cgi-bin
export SpineDBpath=/var/www/sqlite
#export SpineDBpath=/srv/www/spine/sqlite
#+END_SRC
+
+* 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
+
+** spine project VERSION :version:set:project:
+
+#+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
+
+** dlang overlays
+
+- does not make sense to update versions here, unless you carry on careful
+ syncing with provided dlang related overlays ... which should not be
+ necessary, so they are available here but have been taken out of use;
+ the latest available overlay is pulled
+
+*** 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
+
+* __END__
diff --git a/org/config_git.org b/org/config_git.org
index 9622e4e..4420641 100644
--- a/org/config_git.org
+++ b/org/config_git.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:hub:
#+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
@@ -19,7 +19,7 @@
** .gitignore :gitignore:
#+HEADER: :tangle "../.gitignore"
-#+BEGIN_SRC sh
+#+BEGIN_SRC gitignore
# git ls-files --others --exclude-from=.git/info/exclude
# git check-ignore -v flake.lock
# git clean -ix
@@ -36,10 +36,8 @@
!.envrc-local
!.envrc-nix
!.envrc-git-init
-!.env
-!.env/**
-!README
!README.md
+!README
!COPYRIGHT
!CHANGELOG
!makefile
@@ -47,6 +45,8 @@
!configuration.txt
!*.json
!*.sdl
+!*.md
+!*.txt
!tangle
!*.org
!org
@@ -96,119 +96,28 @@
,**/.dub/**
tmp/**
,*_.org
+,*_.md
+,*_.txt
+,*_.json
,*_.nix
,*_.d
,*_.txt
,*_
-!.envrc-local_
,*.swp
,*~
\#*
,*.\#*
+!.envrc-local_
#!*/
#\#*
#*.\#*
#.reggae/**
#+END_SRC
-** markup/.gitignore (redundant) :gitignore:
-
-#+HEADER: :tangle "../markup/.gitignore"
-#+BEGIN_SRC sh
-# git ls-files --others --exclude-from=.git/info/exclude
-# git check-ignore -v flake.lock
-# git clean -ix
-# find . -name "*_" | xargs rm -rf
-# find . -name "*.o" | xargs rm -rf
-,*
-!.gitignore
-!COPYRIGHT
-!README
-!README.md
-!shell.nix
-!packages.nix
-!version.txt
-!pod/
-!pod/.dr/config_local_site
-# pod.manifest
-!pod/*/
-!pod/*/pod.manifest
-# conf/document_make
-!pod/*/conf/
-!pod/*/conf/document_make
-# media/text
-!pod/*/media/
-!pod/*/media/text/
-!pod/*/media/text/*/
-!pod/*/media/text/*/*.sst
-!pod/*/media/text/*/*.ssm
-!pod/*/media/text/*/*.ssi
-!pod/*/media/text/*/index.html.in
-# media/image
-!pod/*/media/image/
-!pod/*/media/image/*.png
-!pod/*/media/image/*.jpg
-!pod/*/media/image/*.PNG
-!pod/*/media/image/*.JPG
-# tools/po4a
-!pod/*/tools/
-!pod/*/tools/Makefile
-!pod/*/tools/bin/
-!pod/*/tools/bin/*.sh
-!pod/*/tools/po4a/
-!pod/*/tools/po4a/pot/
-!pod/*/tools/po4a/pot/*.sst.pot
-!pod/*/tools/po4a/pot/*.ssm.pot
-!pod/*/tools/po4a/pot/*.ssi.pot
-!pod/*/tools/po4a/pot/index.html.in.pot
-!pod/*/tools/po4a/po/
-!pod/*/tools/po4a/po/*/
-!pod/*/tools/po4a/po/*/*.sst.po
-!pod/*/tools/po4a/po/*/*.ssm.po
-!pod/*/tools/po4a/po/*/*.ssi.po
-!pod/*/tools/po4a/po/*/index.html.in.po
-!pod/.dr
-!pod/.dr/*
-# separate from media/text use tools
-!pod/*/media/text/Makefile
-!pod/*/media/text/bin/
-!pod/*/media/text/bin/*.sh
-!pod/*/media/text/pot/
-!pod/*/media/text/pot/*.sst.pot
-!pod/*/media/text/pot/*.ssm.pot
-!pod/*/media/text/pot/*.ssi.pot
-!pod/*/media/text/pot/index.html.in.pot
-!pod/*/media/text/po/
-!pod/*/media/text/po/*/
-!pod/*/media/text/po/*/*.sst.po
-!pod/*/media/text/po/*/*.ssm.po
-!pod/*/media/text/po/*/*.ssi.po
-!pod/*/media/text/po/*/index.html.in.po
-!non-pod-samples/
-!non-pod-samples/*.sst
-!non-pod-samples/image/
-!non-pod-samples/image/*.png
-!non-pod-samples/image/*.jpg
-!non-pod-samples/image/*.PNG
-!non-pod-samples/image/*.JPG
-!sisudoc-spine-bespoke-output/
-!sisudoc-spine-bespoke-output/**
-# skip
-.dub/**
-tmp/**
-,*_.org
-,*_.d
-,*_.txt
-,*_
-,*~
-\#*
-,*.\#*
-#+END_SRC
-
** .gitattributes :gitattributes:
#+HEADER: :tangle "../.gitattributes"
-#+BEGIN_SRC sh
+#+BEGIN_SRC gitattributes
/org export-ignore
.gitattributes export-ignore
/.dub export-ignore
diff --git a/org/config_nix.org b/org/config_nix.org
index 0d9a4f4..a6d4360 100644
--- a/org/config_nix.org
+++ b/org/config_nix.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 - 2024 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
#+LANGUAGE: en
#+STARTUP: show4levels hideblocks hidestars noindent entitiespretty
#+PROPERTY: header-args :exports code
@@ -26,7 +26,6 @@
{
description = "spine (sisu like parser & document generator) made available to process markup samples";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.spine = {
url = "<<sisudoc_spine_nix_src>>";
inputs.nixpkgs.follows = "nixpkgs";
@@ -40,11 +39,10 @@
outputs = {
self,
nixpkgs,
- flake-utils,
spine,
d-overlay,
...
- }@inputs: let
+ } @ inputs: let
version = "<<spine_version>>";
shell = ./shell.nix;
devEnv = ./nixDevEnv.sh;
@@ -56,9 +54,9 @@
pkgs = nixpkgsFor.${system};
in {
default = spine.packages.${system}.default;
- #spine-nixpkgs-dmd = spine.packages.${system}.spine-nixpkgs-dmd;
+ spine-nixpkgs-dmd = spine.packages.${system}.spine-nixpkgs-dmd;
spine-overlay-dmd = spine.packages.${system}.spine-overlay-dmd;
- #spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
+ spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
spine-overlay-ldc = spine.packages.${system}.spine-overlay-ldc;
#vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";
});
@@ -71,9 +69,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; {
@@ -96,7 +94,7 @@
dsh-overlay-ldc = d-overlay.devShells.${system}.dsh-overlay-ldc-dub;
dsh-nixpkgs-ldc = d-overlay.devShells.${system}.dsh-nixpkgs-ldc-dub;
dsh-epub = mkShell {
- name = "spine dev shell for epub output";
+ name = "spine-<<spine_version>> dev shell for epub output";
inherit shell;
inherit devEnv;
packages = [
@@ -124,7 +122,7 @@
inherit shellHook;
};
dsh-html = mkShell {
- name = "spine dev shell for latex & pdf output";
+ name = "spine-<<spine_version>> dev shell for html output";
inherit shell;
inherit devEnv;
packages = [
@@ -144,7 +142,7 @@
inherit shellHook;
};
dsh-latex-pdf = mkShell {
- name = "spine dev shell for latex & pdf output";
+ name = "spine-<<spine_version>> dev shell for latex & pdf output";
inherit shell;
inherit devEnv;
packages = [
@@ -160,7 +158,7 @@
inherit shellHook;
};
dsh-sqlite = mkShell {
- name = "spine dev shell for latex & pdf output";
+ name = "spine-<<spine_version>> dev shell for sqlite3 output";
inherit shell;
inherit devEnv;
packages = [
@@ -173,7 +171,7 @@
inherit shellHook;
};
dsh-i18n = mkShell {
- name = "spine dev shell internationalization, po4a";
+ name = "spine-<<spine_version>> dev shell for internationalization, po4a";
inherit shell;
inherit devEnv;
packages = [
@@ -212,7 +210,7 @@ with pkgs;
nix-output-monitor
#nix-tree
#jq
- #alejandra
+ #nixfmt-rfc-style
#git
# ❯❯❯ dev
#gnumake
@@ -221,14 +219,17 @@ with pkgs;
# ❯❯ package manager
#dub
# ❯❯ compiler
+ #dmd
#ldc
- ##rund
+ #rund
# ❯❯ linker
- ##lld
- ##mold
+ #lld
+ #mold
# ❯❯ builder
- ##ninja
- ##meson
+ #ninja
+ #meson
+ # ❯❯ tools
+ #dtools
# ❯❯❯ sqlite search related
#sqlite
# ❯❯❯ pdf_latex_related
@@ -266,6 +267,7 @@ pkgs.callPackage ./devenv.nix {}
#+END_SRC
* devEnv
+** devenv.nix :default:devenv:
nix profile install .
@@ -284,13 +286,13 @@ with pkgs;
# ❯❯❯ nix_related
#nix # if not on NixOS, this is needed
direnv
- nixVersions.latest #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git #nixVersions.nix_2_29 #nixVersions.nix_2_29
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
- jq
- #alejandra
+ jq #gx
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
@@ -387,7 +389,7 @@ with (
exit "Error: could not find D compiler"
fi
echo "$DC_ used as D compiler to build $pname"
- dub run --compiler=$DC --build=release --combined --skip-registry=all
+ dub build --compiler=$DC --build=release --combined --skip-registry=all
runHook postBuild
'';
checkPhase = ''
@@ -441,8 +443,6 @@ with (
}
#+END_SRC
-#src = ./.;
-
#+NAME: project_path_local_out_static
#+HEADER: :noweb yes
#+BEGIN_SRC nix
@@ -468,7 +468,7 @@ file://<<spine_tarball_path>>/<<spine_tarball_filename>>
#+END_SRC
#+NAME: nixpkgs_local
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/srv/nixpkgs-dev/nixpkgs
#+END_SRC
@@ -490,12 +490,6 @@ spine-0.12.0-tag-0.11.2.r107.gf89a107.tar.gz
sha256:03dr7dn7kq6arw4ry7qar13iqmi1caw70imfjwi8qr7g2j4mnk2q
#+END_SRC
-#+BEGIN_SRC nix
-sha256:0000000000000000000000000000000000000000000000000000
-#+END_SRC
-
-/home/ralph/grotto/repo/git.repo/projects/project-spine/tarball
-
#+NAME: project_path_local_out_static_
#+BEGIN_SRC nix
/var/www
@@ -519,16 +513,13 @@ github:NixOS/nixpkgs/nixpkgs-unstable
"nixpkgs/nixos-unstable";
#+END_SRC
-#+BEGIN_SRC nix
-"nixpkgs/nixos-23.05";
-#+END_SRC
-
#+HEADER: :noweb yes
#+BEGIN_SRC nix
<<nixpkgs_path_local>>
#+END_SRC
-** version info SET VERSION :version:set:project:
+* SHARED
+** version and other things shared
*** spine project VERSION :version:set:project:
#+NAME: spine_version
@@ -537,7 +528,8 @@ github:NixOS/nixpkgs/nixpkgs-unstable
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>>
#+END_SRC
-*** spine project git sources VERSION :version:set:project:
+*** spine project git sources
+**** spine project git sources url
#+NAME: sisudoc_spine_nix_src
#+HEADER: :noweb yes
@@ -545,6 +537,9 @@ github:NixOS/nixpkgs/nixpkgs-unstable
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_spine_nix_src()>>
#+END_SRC
+*** spine project git sources url
+**** spine project git sources overlay url
+
#+NAME: sisudoc_dlang_nix_overlay_src
#+HEADER: :noweb yes
#+BEGIN_SRC emacs-lisp
diff --git a/org/nix-develop-dlang-shared.org b/org/nix-develop-dlang-shared.org
new file mode 100644
index 0000000..2a2f66d
--- /dev/null
+++ b/org/nix-develop-dlang-shared.org
@@ -0,0 +1,713 @@
+-*- mode: org -*-
+#+TITLE: dlang related shared versions
+#+DESCRIPTION: dlang
+#+FILETAGS: :dlang:develop:shared:
+#+AUTHOR: Ralph Amissah
+#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
+#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+LANGUAGE: en
+#+STARTUP: content hideblocks hidestars noindent entitiespretty
+#+PROPERTY: header-args :noweb yes
+#+PROPERTY: header-args+ :exports code
+#+PROPERTY: header-args+ :results no
+#+PROPERTY: header-args+ :cache no
+#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :mkdirp yes
+#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+
+* nix
+** direnv
+*** NOTES to update direnv in .envrc-nix
+
+- https://github.com/nix-community/nix-direnv
+
+check for latest version:
+
+- https://github.com/nix-community/nix-direnv/releases
+
+update direnv version and sha hash:
+- emacs org/nix-develop-dlang-shared.org
+
+re-tangle file:
+
+- emacs org/config_env.org
+ updates: .envrc-nix
+
+update flake.lock:
+- nix flake update && nix flake check && nix flake show
+
+*** version SET
+
+#+NAME: direnv-version
+#+BEGIN_SRC org
+<<direnv_version_3_0_7>>
+#+END_SRC
+
+#+NAME: direnv-hash
+#+BEGIN_SRC org
+<<direnv_hash_3_0_7>>
+#+END_SRC
+
+*** versions
+
+**** 3.0.7
+
+#+NAME: direnv_version_3_0_7
+#+BEGIN_SRC org
+3.0.7
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_7
+#+BEGIN_SRC org
+sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc=
+#+END_SRC
+
+**** 3.0.6
+
+#+NAME: direnv_version_3_0_6
+#+BEGIN_SRC org
+3.0.6
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_6
+#+BEGIN_SRC org
+sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=
+#+END_SRC
+
+**** 3.0.4
+
+#+NAME: direnv_version_3_0_4
+#+BEGIN_SRC org
+3.0.4
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_4
+#+BEGIN_SRC org
+sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
+#+END_SRC
+
+**** 3.0.0
+
+#+NAME: direnv_version_3_0_0
+#+BEGIN_SRC org
+3.0.0
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_0
+#+BEGIN_SRC org
+sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=
+#+END_SRC
+
+**** 2.4.0
+
+#+NAME: direnv_version_2_4_0
+#+BEGIN_SRC org
+2.4.0
+#+END_SRC
+
+#+NAME: direnv_hash_2_4_0
+#+BEGIN_SRC org
+sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
+#+END_SRC
+
+* dlang
+** ldc
+*** NOTES to update ldc
+
+check for latest version:
+
+update ldc version and sha hash:
+- emacs ./org/nix-develop-dlang-shared.org
+
+re-tangle files:
+- emacs ./org/nixpkgs_overlays_d_related.org
+ updates: nix-overlays/ldc/package.nix
+- emacs ./org/config_nix.org
+ updates: flake.nix
+- emacs ./org/config_env.org
+ updates: .envrc-nix
+
+update flake.lock:
+- nix flake update && nix flake check && nix flake show
+
+build:
+- nix build ".#spine-overlay-ldc" --print-build-logs
+
+adjust nix overlay if required (to get started):
+- git clone --depth 1 https://github.com/NixOS/nixpkgs
+- find ./nixpkgs/pkgs/ -type d -name "ldc"
+ ./nixpkgs/pkgs/by-name/ld/ldc
+- compare with overlay:
+ ./nix-overlays/ldc
+- overlay is tangled from:
+ emacs ./org/nixpkgs_overlays_d_related.org
+
+*** version SET
+**** version & sha256 nix composite
+
+#+NAME: ldc-version-info
+#+BEGIN_SRC org
+version = "<<ldc-version>>";
+sha256 = "<<ldc-hash>>";
+#+END_SRC
+
+**** select version SET OK ✓
+
+#+NAME: ldc-version
+#+BEGIN_SRC org
+<<ldc_version_1_41_0>>
+#+END_SRC
+
+#+NAME: ldc-hash
+#+BEGIN_SRC org
+<<ldc_hash_1_41_0>>
+#+END_SRC
+
+#+NAME: ldc-llvm-set
+#+BEGIN_SRC org
+<<ldc_llvm_set_1_41_0>>
+#+END_SRC
+
+*** versions
+**** 1.41 OK ✓
+***** 1.41.0 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.41.0.tar.gz
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+
+#+NAME: ldc_version_1_41_0
+#+BEGIN_SRC nix
+1.41.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_41_0
+#+BEGIN_SRC nix
+sha256-6LcpY3LSFK4KgEiGrFp/LONu5Vr+/+vI04wEEpF3s+s=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_41_0
+#+BEGIN_SRC nix
+llvm_20
+#+END_SRC
+
+**** 1.40 OK ✓
+***** 1.40.1 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.40.1.tar.gz
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+
+#+NAME: ldc_version_1_40_1
+#+BEGIN_SRC nix
+1.40.1
+#+END_SRC
+
+#+NAME: ldc_hash_1_40_1
+#+BEGIN_SRC nix
+sha256-WdnwdH25A5oMNNY3uWG2hxnaAT+S1hNuP7LElH3uuuk=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_40_1
+#+BEGIN_SRC nix
+llvm_19
+#+END_SRC
+
+***** 1.40.0 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.40.0.tar.gz
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+
+#+NAME: ldc_version_1_40_0
+#+BEGIN_SRC nix
+1.40.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_40_0
+#+BEGIN_SRC nix
+sha256-LT85DlAebecPpBUgZP0ayKTVrTUqN6DMJVEWTatLOxY=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_40_0
+#+BEGIN_SRC nix
+llvm_19
+#+END_SRC
+
+**** 1.39 OK ✓
+***** 1.39.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.39.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+
+#+NAME: ldc_version_1_39_0
+#+BEGIN_SRC nix
+1.39.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_39_0
+#+BEGIN_SRC nix
+sha256-ZiG0ATsY6Asu2nus3Y404fvqIwtKYoHl1JRUDU5A6mo=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_39_0
+#+BEGIN_SRC nix
+llvm_18
+#+END_SRC
+
+**** =< 1.32
+***** 1.32.2
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
+
+#+NAME: ldc_version_1_32_2
+#+BEGIN_SRC nix
+1.32.2
+#+END_SRC
+
+#+NAME: ldc_hash_1_32_2
+#+BEGIN_SRC nix
+sha256-v6Sq7nQyChJohDyI4inzObLfCVOkvLT87VLr4N2hzZU=
+#+END_SRC
+
+***** 1.32.1
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
+
+#+NAME: ldc_version_1_32_1
+#+BEGIN_SRC nix
+1.32.1
+#+END_SRC
+
+#+NAME: ldc_hash_1_32_1
+#+BEGIN_SRC nix
+sha256-s1U7+qiVJDF+zSHrLGPG6g+acIChYnXkb9p+OrNX6g8=
+#+END_SRC
+
+***** 1.32.0
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.0.tar.gz
+
+#+NAME: ldc_version_1_32_0
+#+BEGIN_SRC nix
+1.32.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_32_0
+#+BEGIN_SRC nix
+sha256-xO4L+RtBbdVkE1PZsme2pIYAxJnHgr6xEtLkYOMpvqw=
+#+END_SRC
+
+***** 1.31.0
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.31.0.tar.gz
+
+#+NAME: ldc_version_1_31_0
+#+BEGIN_SRC nix
+1.31.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_31_0
+#+BEGIN_SRC nix
+sha256-8cjs6eHjWAbDRBvyT75mbN3Y7vN1WSwZzY/uRwHNVFg=
+#+END_SRC
+
+***** 1.30.0
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.30.0.tar.gz
+
+#+NAME: ldc_version_1_30_0
+#+BEGIN_SRC nix
+1.30.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_30_0
+#+BEGIN_SRC nix
+sha256-/bs3bwgkLZF5IqaiKnc5gCF/r6MQBG/F1kWUkK8j2s0=
+#+END_SRC
+
+** dmd
+
+- https://github.com/dlang/dmd/tags
+
+*** version SET
+
+#+NAME: dmd-version
+#+BEGIN_SRC org
+<<dmd_version_2_111_0>>
+#+END_SRC
+
+#+NAME: dmd-hash
+#+BEGIN_SRC org
+<<dmd_hash_2_111_0>>
+#+END_SRC
+
+#+NAME: phobos-hash
+#+BEGIN_SRC org
+<<phobos_hash_2_111_0>>
+#+END_SRC
+
+*** versions
+**** 2.111.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.111.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.111.0.tar.gz
+
+#+NAME: dmd_version_2_111_0
+#+BEGIN_SRC nix
+2.111.0
+#+END_SRC
+
+#+NAME: phobos_hash_2_111_0
+#+BEGIN_SRC nix
+sha256-9jySZbODoL8sULhYKj/l4+c/uiG5xY2dO240k9XQtPk=
+#+END_SRC
+
+#+NAME: dmd_hash_2_111_0
+#+BEGIN_SRC nix
+sha256-2bjsGa9nTny818dLRV6LKkes+Ycq8W+PFjwhGVrD5TM=
+#+END_SRC
+
+**** 2.110.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.110.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.110.0.tar.gz
+
+#+NAME: dmd_version_2_110_0
+#+BEGIN_SRC nix
+2.110.0
+#+END_SRC
+
+#+NAME: phobos_hash_2_110_0
+#+BEGIN_SRC nix
+sha256-CmJpcHM+sIsaYBlpALCFoQFG+93s8gUyWmM0tYqjXkk=
+#+END_SRC
+
+#+NAME: dmd_hash_2_110_0
+#+BEGIN_SRC nix
+sha256-icXp9xWF2AI2gp7z/lQFAChmXfQePe9b5pbpQ9Mn19Y=
+#+END_SRC
+
+**** 2.109.1 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.1.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.109.1.tar.gz
+
+#+NAME: dmd_version_2_109_1
+#+BEGIN_SRC nix
+2.109.1
+#+END_SRC
+
+#+NAME: phobos_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-73I0k7tCBwe5tl4K6uMs3/nT2JTZ2SppFYzmokS4W5Y=
+#+END_SRC
+
+#+NAME: dmd_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-3nCDPZnb4eQZmhYYxcH6qOmsP8or0KYuzAa5g/C9xdU=
+#+END_SRC
+
+**** 2.109.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.109.0.tar.gz
+
+#+NAME: dmd_version_2_109_0
+#+BEGIN_SRC nix
+2.109.0
+#+END_SRC
+
+#+NAME: dmd_hash_2_109_0
+#+BEGIN_SRC nix
+sha256-unAZgyZyT6qomlj6pdlOx4h1SKuDjutl1/0FM9AhBWc=
+#+END_SRC
+
+#+NAME: phobos_hash_2_109_0
+#+BEGIN_SRC nix
+sha256-b91FeluFqhmjHd1wwkyq98QzIlwjE646xNj2n6hP3aM=
+#+END_SRC
+
+**** 2.108.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.108.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.108.0.tar.gz
+
+#+NAME: dmd_version_2_108_0
+#+BEGIN_SRC nix
+2.108.0
+#+END_SRC
+
+#+NAME: dmd_hash_2_108_0
+#+BEGIN_SRC nix
+sha256-tlWcFgKtXzfqMMkOq4ezhZHdYCXFckjN5+m6jO4VH0U=
+#+END_SRC
+
+#+NAME: phobos_hash_2_108_0
+#+BEGIN_SRC nix
+sha256-uU8S4rABOfhpKh+MvSbclkbdf0hrsuKF8SIpWMnPpfU=
+#+END_SRC
+
+**** 2.107.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.107.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.107.0.tar.gz
+
+#+NAME: dmd_version_2_107_0
+#+BEGIN_SRC nix
+2.107.0
+#+END_SRC
+
+#+NAME: dmd_hash_2_107_0
+#+BEGIN_SRC nix
+<<sha256-blank>>
+#+END_SRC
+
+#+NAME: phobos_hash_2_107_0
+#+BEGIN_SRC nix
+<<sha256-blank>>
+#+END_SRC
+
+**** 2.106.1 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.106.1.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.106.1.tar.gz
+
+#+NAME: dmd_version_2_106_1
+#+BEGIN_SRC nix
+2.106.1
+#+END_SRC
+
+#+NAME: dmd_hash_2_106_1
+#+BEGIN_SRC nix
+sha256-vjYa/Pxrz7J2htXT+fa+xaeen/Vxne++lELbHTSXBK8=
+#+END_SRC
+
+#+NAME: phobos_hash_2_106_1
+#+BEGIN_SRC nix
+sha256-yRL9ub3u4mREG9PVxBvgQ/LDXD57RadPTZ2h08qyh/s=
+#+END_SRC
+
+#+NAME: dmd_version
+#+BEGIN_SRC nix
+<<dmd_version_2_104_0>>
+#+END_SRC
+
+#+NAME: dmd_hash
+#+BEGIN_SRC nix
+<<dmd_hash_2_104_0>>
+#+END_SRC
+
+#+NAME: phobos_hash
+#+BEGIN_SRC nix
+<<phobos_hash_2_104_0>>
+#+END_SRC
+
+** dub
+*** version SET
+
+#+NAME: dub-version
+#+HEADER: :noweb yes
+#+BEGIN_SRC org
+<<dub_version_1_39_0>>
+#+END_SRC
+
+#+NAME: dub-hash
+#+BEGIN_SRC org
+<<dub_hash_1_39_0>>
+#+END_SRC
+
+*** versions
+**** 1.39 OK ✓
+***** 1.39.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.39.0.tar.gz
+
+#+NAME: dub_version_1_39_0
+#+BEGIN_SRC nix
+1.39.0
+#+END_SRC
+
+#+NAME: dub_hash_1_39_0
+#+BEGIN_SRC nix
+sha256-73b15A9+hClD6IbuxTy9QZKpTKjUFYBuqGOclUyhrnM=
+#+END_SRC
+
+**** 1.38 OK ✓
+***** 1.38.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.38.1.tar.gz
+
+#+NAME: dub_version_1_38_1
+#+BEGIN_SRC nix
+1.38.1
+#+END_SRC
+
+#+NAME: dub_hash_1_38_1
+#+BEGIN_SRC nix
+sha256-8Lr/0sx4SKwU1aNOxZArta0RXpDM+EWl29ZsPDdPWFo=
+#+END_SRC
+
+**** 1.36 OK ✓
+***** 1.36.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.36.0.tar.gz
+
+#+NAME: dub_version_1_36_0
+#+BEGIN_SRC nix
+1.36.0
+#+END_SRC
+
+#+NAME: dub_hash_1_36_0
+#+BEGIN_SRC nix
+sha256-S8pls9zxbGAQTwqYf4bDT2q7Ow12S8bBsJE5UmsACBs=
+#+END_SRC
+
+**** 1.35 OK ✓
+***** 1.35.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.35.0.tar.gz
+
+#+NAME: dub_version_1_35_0
+#+BEGIN_SRC nix
+1.35.0
+#+END_SRC
+
+#+NAME: dub_hash_1_35_0
+#+BEGIN_SRC nix
+sha256-hC46XKE6lLLMLGMGl4vDnLDBQy6P/Z7o3ayDJj0Sois=
+#+END_SRC
+
+**** 1.34 OK ✓
+***** 1.34.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.34.0.tar.gz
+
+#+NAME: dub_version_1_34_0
+#+BEGIN_SRC nix
+1.34.0
+#+END_SRC
+
+#+NAME: dub_hash_1_34_0
+#+BEGIN_SRC nix
+sha256-hC46XKE6lLLMLGMGl4vDnLDBQy6P/Z7o3ayDJj0Sois=
+#+END_SRC
+
+**** 1.33 OK ✓
+***** 1.33.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.1.tar.gz
+
+#+NAME: dub_version_1_33_1
+#+BEGIN_SRC nix
+1.33.1
+#+END_SRC
+
+#+NAME: dub_hash_1_33_1
+#+BEGIN_SRC nix
+sha256-QFgUsO04VRXBDjGI5QQs7u9XrexG7/V34TMgJP1D8yA=
+#+END_SRC
+
+***** 1.33.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.0.tar.gz
+
+#+NAME: dub_version_1_33_0
+#+BEGIN_SRC nix
+1.33.0
+#+END_SRC
+
+#+NAME: dub_hash_1_33_0
+#+BEGIN_SRC nix
+sha256-4Mha7WF6cg3DIccfpvOnheuvgfziv/7wo8iFsPXO4yY=
+#+END_SRC
+
+**** 1.32 OK ✓
+***** 1.32.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.32.1.tar.gz
+
+#+NAME: dub_version_1_32_1
+#+BEGIN_SRC nix
+1.32.1
+#+END_SRC
+
+#+NAME: dub_hash_1_32_1
+#+BEGIN_SRC nix
+sha256-5pW3Fu3PQ1ZLJnsuh7fPpEBNbVQgGfFyiuMrAVOJKQA=
+#+END_SRC
+
+** dtools
+
+- https://github.com/dlang/tools
+
+*** version SET
+
+#+NAME: dtools-version
+#+BEGIN_SRC org
+<<dtools_version_2_110_0>>
+#+END_SRC
+
+#+NAME: dtools-hash
+#+BEGIN_SRC org
+<<dtools_hash_2_110_0>>
+#+END_SRC
+
+*** versions
+**** 2.110.0 OK ✓
+
+- https://github.com/dlang/tools/releases/tag/v2.110.0
+
+#+NAME: dtools_version_2_110_0
+#+BEGIN_SRC nix
+2.110.0
+#+END_SRC
+
+#+NAME: dtools_hash_2_110_0
+#+BEGIN_SRC nix
+sha256-xMEHnrstL5hAkhp8+/z1I2KZWZ7eztWZnUGLTKCfbBI=
+#+END_SRC
+
+**** 2.109.1 OK ✓
+
+- https://github.com/dlang/tools/releases/tag/v2.109.1
+
+#+NAME: dtools_version_2_109_1
+#+BEGIN_SRC nix
+2.109.1
+#+END_SRC
+
+#+NAME: dtools_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-Pfj8Kwf5AlcrHhLs5A/0vIFWLZaNR3ro+esbs7oWN9I=
+#+END_SRC
+
+**** 2.104.1 OK ✓
+
+- https://github.com/dlang/tools/releases/tag/v2.104.2
+
+#+NAME: dtools_version_2_104_2
+#+BEGIN_SRC nix
+2.104.2
+#+END_SRC
+
+#+NAME: dtools_hash_2_104_2
+#+BEGIN_SRC nix
+sha256-Pfj8Kwf5AlcrHhLs5A/0vIFWLZaNR3ro+esbs7oWN9I=
+#+END_SRC
+
+** sha256 blank_hash
+
+#+NAME: blank_hash
+#+BEGIN_SRC nix
+<<sha256-blank>>
+#+END_SRC
+
+#+NAME: sha256-blank
+#+BEGIN_SRC nix
+sha256-0000000000000000000000000000000000000000000=
+#+END_SRC
+
+#+NAME: assumed_hash
+#+BEGIN_SRC nix
+sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+#+END_SRC
+
+* __END__
diff --git a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
index 28ead23..b536386 100644
--- a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
+++ b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:abstraction:
#+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 :noweb yes
@@ -29,7 +29,7 @@
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
- - Copyright: (C) 2015 - 2024 Ralph Amissah, All Rights Reserved.
+ - Copyright: (C) 2015 - 2025 Ralph Amissah, All Rights Reserved.
- License: AGPL 3 or later:
@@ -98,7 +98,7 @@
#+NAME: spine_project_version_part_minor
#+BEGIN_SRC org
-17
+18
#+END_SRC
*** patch
diff --git a/org/spine-bespoke-output-homepage-html.org b/org/spine-bespoke-output-homepage-html.org
index f0c9177..32dc9d1 100644
--- a/org/spine-bespoke-output-homepage-html.org
+++ b/org/spine-bespoke-output-homepage-html.org
@@ -609,12 +609,14 @@ ralph.amissah www since 1993 ;-)
[ <a href="https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552/">
NixOS Foundation board: Giving power to the community
</a> ]<br>
+<!--
[ <a href="https://aux.computer/">
Aux - aux.computer - a community fork of nix (under deliberation), billed as "An alternative to the Nix ecosystem"
</a> ]
[ <a href="https://forum.aux.computer/">
community discussion (discourse)
</a> ]<br>
+-->
Gnu [ <a href="https://guix.gnu.org/">
Guix
</a> ]
diff --git a/shell.nix b/shell.nix
index 399319f..03942a6 100755
--- a/shell.nix
+++ b/shell.nix
@@ -13,7 +13,7 @@ with pkgs;
nix-output-monitor
#nix-tree
#jq
- #alejandra
+ #nixfmt-rfc-style
#git
# ❯❯❯ dev
#gnumake
@@ -22,14 +22,17 @@ with pkgs;
# ❯❯ package manager
#dub
# ❯❯ compiler
+ #dmd
#ldc
- ##rund
+ #rund
# ❯❯ linker
- ##lld
- ##mold
+ #lld
+ #mold
# ❯❯ builder
- ##ninja
- ##meson
+ #ninja
+ #meson
+ # ❯❯ tools
+ #dtools
# ❯❯❯ sqlite search related
#sqlite
# ❯❯❯ pdf_latex_related