aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.envrc-nix53
-rw-r--r--README6
-rw-r--r--README.md6
-rw-r--r--derivation.nix4
-rw-r--r--devenv.nix7
-rw-r--r--flake.lock152
-rw-r--r--flake.nix51
-rw-r--r--makefile4
-rw-r--r--markup/pod/not_without_help.austin_amissah/media/text/en/not_without_help.austin_amissah.sst6
-rw-r--r--org/config_env.org176
-rw-r--r--org/config_nix.org99
-rw-r--r--org/nix-develop-dlang-shared.org628
-rw-r--r--org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org6
-rw-r--r--org/spine_info.org16
-rwxr-xr-xshell.nix17
15 files changed, 901 insertions, 330 deletions
diff --git a/.envrc-nix b/.envrc-nix
index 06d405b..ae275f7 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.4"
-NixDirEnvSHA="sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4="
+NixDirEnvVersion="3.0.6"
+NixDirEnvSHA="sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM="
if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}"
fi
@@ -16,49 +16,56 @@ PATH_add result/bin
use flake .
#use flake .#default
echo '
-- consider running:
+• consider running:
❯❯ nix flake show
❯❯ 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
+• for a dev shell (development environment):
+ • nix develop
+ ❯❯ nix develop ".#" --print-build-logs -c zsh
+ • nix develop using nixpkgs
+ ❯❯ 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 package overlays: (dmd-2.110.0, ldc-1.40.1, dub-1.39.0)
+ ❯❯ nix develop ".#dsh" --print-build-logs -c zsh
+ ❯❯ 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:
+• 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
+• to build project:
+ • 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-2.110.0, ldc-1.40.1, dub-1.39.0, dtools-2.110.0)
+ ❯❯ nix build ".#spine-overlay-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-overlay-ldc" --print-build-logs
-- to build using dub (on nix or otherwise):
+• 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
+• 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
+• 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 "-
+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/README b/README
index 7ec11cd..e3aed0e 100644
--- a/README
+++ b/README
@@ -86,9 +86,9 @@ instruction. The sources of relevant parts of the project are here:
https://sisudoc.org
https://git.sisudoc.org
- git clone git://git.sisudoc.org/software/sisudoc-spine && \
- git clone git://git.sisudoc.org/software/sisudoc-spine-search-cgi && \
- git clone git://git.sisudoc.org/markup/sisudoc-spine-samples
+ git clone --depth=1 git://git.sisudoc.org/software/sisudoc-spine && \
+ git clone --depth=1 git://git.sisudoc.org/software/sisudoc-spine-search-cgi && \
+ git clone --depth=1 git://git.sisudoc.org/markup/sisudoc-spine-samples
you may wish to clone these into a directory created for the purpose, e.g.
diff --git a/README.md b/README.md
index 7b7f43e..077cbbe 100644
--- a/README.md
+++ b/README.md
@@ -69,9 +69,9 @@ instruction. The sources of relevant parts of the project are here:
https://sisudoc.org
https://git.sisudoc.org
- git clone git://git.sisudoc.org/software/sisudoc-spine && \
- git clone git://git.sisudoc.org/software/sisudoc-spine-search-cgi && \
- git clone git://git.sisudoc.org/markup/sisudoc-spine-samples
+ git clone --depth=1 git://git.sisudoc.org/software/sisudoc-spine && \
+ git clone --depth=1 git://git.sisudoc.org/software/sisudoc-spine-search-cgi && \
+ git clone --depth=1 git://git.sisudoc.org/markup/sisudoc-spine-samples
you may wish to clone these into a directory created for the purpose, e.g.
diff --git a/derivation.nix b/derivation.nix
index 09bbfd0..9bbb7f4 100644
--- a/derivation.nix
+++ b/derivation.nix
@@ -92,14 +92,14 @@ with (
);
mkDubDerivation rec {
pname = "spine";
- version = "0.16.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";
sha256 = "sha256:03dr7dn7kq6arw4ry7qar13iqmi1caw70imfjwi8qr7g2j4mnk2q";
};
nativeBuildInputs = with pkgs; [dub ldc];
- buildInputs = with pkgs; [nixVersions.nix_2_21 sqlite];
+ buildInputs = with pkgs; [nixVersions.latest sqlite];
meta = with pkgs.lib; {
description = "A sisu like parser & document generator";
longDescription = ''
diff --git a/devenv.nix b/devenv.nix
index d9a183d..2c65e46 100644
--- a/devenv.nix
+++ b/devenv.nix
@@ -10,17 +10,18 @@ with pkgs;
# ❯❯❯ nix_related
#nix # if not on NixOS, this is needed
direnv
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
- jq
- #alejandra
+ jq #gx
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
ps
+ dtools
# ❯❯❯ d_build_related
# ❯❯ package manager
dub
diff --git a/flake.lock b/flake.lock
index b8a1342..b76f6d8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,87 +1,12 @@
{
"nodes": {
- "d-overlay": {
- "inputs": {
- "flake-utils": "flake-utils",
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1715403580,
- "narHash": "sha256-wq/XlLtczq7BeCZPphK7fjo9MYlE8di8XavJCGayFDo=",
- "ref": "refs/heads/main",
- "rev": "fe1a1704a2e9d739872a0dd53756ee1b9d56da19",
- "revCount": 8,
- "type": "git",
- "url": "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake"
- },
- "original": {
- "type": "git",
- "url": "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake"
- }
- },
- "flake-utils": {
- "inputs": {
- "systems": "systems"
- },
- "locked": {
- "lastModified": 1710146030,
- "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
- },
- "locked": {
- "lastModified": 1710146030,
- "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "flake-utils_3": {
- "inputs": {
- "systems": "systems_3"
- },
- "locked": {
- "lastModified": 1710146030,
- "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
"nixpkgs": {
"locked": {
- "lastModified": 1716715802,
- "narHash": "sha256-usk0vE7VlxPX8jOavrtpOqphdfqEQpf9lgedlY/r66c=",
+ "lastModified": 1742578646,
+ "narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "e2dd4e18cc1c7314e24154331bae07df76eb582f",
+ "rev": "94c4dbe77c0740ebba36c173672ca15a7926c993",
"type": "github"
},
"original": {
@@ -93,76 +18,49 @@
},
"root": {
"inputs": {
- "d-overlay": "d-overlay",
- "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs",
+ "sisudoc-d-overlay": "sisudoc-d-overlay",
"spine": "spine"
}
},
- "spine": {
+ "sisudoc-d-overlay": {
"inputs": {
- "flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
- "lastModified": 1716409313,
- "narHash": "sha256-V1oggLDwjQUaPgO7P0QjCra1Tc5J/jaRmMNZ+GqxLqQ=",
+ "lastModified": 1742662623,
+ "narHash": "sha256-YBUZoinyoKLISf1BvJFEdhqtcKQTG8k+qq9MEgxAEdY=",
"ref": "refs/heads/main",
- "rev": "9876842de60c9c0d94b47a2589623d235607050c",
- "revCount": 644,
+ "rev": "39b16223937fa3fc8da80495a25d7397712b8bae",
+ "revCount": 19,
"type": "git",
- "url": "git://git.sisudoc.org/software/sisudoc-spine"
+ "url": "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake"
},
"original": {
"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"
+ "url": "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake"
}
},
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
+ "spine": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
},
- "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"
+ "lastModified": 1742665494,
+ "narHash": "sha256-RXjA18HxCrvm4U6c3iWR8AkRbSWOq97+uvR6li9bl8I=",
+ "ref": "refs/heads/main",
+ "rev": "bc2c4e51320599fb18d457c7e0e1b5d10223f666",
+ "revCount": 677,
+ "type": "git",
+ "url": "git://git.sisudoc.org/software/sisudoc-spine"
},
"original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
+ "type": "git",
+ "url": "git://git.sisudoc.org/software/sisudoc-spine"
}
}
},
diff --git a/flake.nix b/flake.nix
index eb6d89e..70b61ef 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,13 +1,17 @@
{
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";
flake = true;
};
- inputs.d-overlay = {
+ #inputs.spine-search-cgi = { # issue, to make usable needs local configuration on build, so, not practical to implement like so
+ # url = "git://git.sisudoc.org/software/sisudoc-spine-search-cgi";
+ # inputs.nixpkgs.follows = "nixpkgs";
+ # flake = true;
+ #};
+ inputs.sisudoc-d-overlay = {
url = "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake";
inputs.nixpkgs.follows = "nixpkgs";
flake = true;
@@ -15,11 +19,12 @@
outputs = {
self,
nixpkgs,
- flake-utils,
spine,
- d-overlay,
- } @ inputs: let
- version = "0.16.0";
+ #spine-search-cgi,
+ sisudoc-d-overlay,
+ ...
+ }@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" ];
@@ -30,10 +35,14 @@
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-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
spine-overlay-dmd = spine.packages.${system}.spine-overlay-dmd;
- #spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
spine-overlay-ldc = spine.packages.${system}.spine-overlay-ldc;
+ #spine-search-cgi-nixpkgs-dmd = spine-search-cgi.packages.${system}.spine-search-nixpkgs-dmd; # issue, to make usable needs local configuration on build
+ #spine-search-cgi-nixpkgs-ldc = spine-search-cgi.packages.${system}.spine-search-nixpkgs-ldc; # issue, to make usable needs local configuration on build
+ #spine-search-cgi-overlay-dmd = spine-search-cgi.packages.${system}.spine-search-overlay-dmd; # issue, to make usable needs local configuration on build
+ #spine-search-cgi-overlay-ldc = spine-search-cgi.packages.${system}.spine-search-overlay-ldc; # issue, to make usable needs local configuration on build
#vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";
});
apps = forAllSystems (system: {
@@ -65,18 +74,19 @@
inherit shellHook;
};
dsh-spine = spine.devShells.${system}.default;
- dsh-overlay-dmd = d-overlay.devShells.${system}.dsh-overlay-dmd-dub;
- dsh-nixpkgs-dmd = d-overlay.devShells.${system}.dsh-nixpkgs-dmd-dub;
- dsh-overlay-ldc = d-overlay.devShells.${system}.dsh-overlay-ldc-dub;
- dsh-nixpkgs-ldc = d-overlay.devShells.${system}.dsh-nixpkgs-ldc-dub;
+ dsh-overlay-dmd = sisudoc-d-overlay.devShells.${system}.dsh-overlay-dmd-dub;
+ dsh-nixpkgs-dmd = sisudoc-d-overlay.devShells.${system}.dsh-nixpkgs-dmd-dub;
+ dsh-overlay-ldc = sisudoc-d-overlay.devShells.${system}.dsh-overlay-ldc-dub;
+ dsh-nixpkgs-ldc = sisudoc-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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
libxml2
@@ -98,13 +108,14 @@
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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
# ❯❯ text-mode web browsers
@@ -118,42 +129,46 @@
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 = [
ldc
#dmd
dub
+ dtools
gnumake
source-sans-pro
source-serif-pro
source-code-pro
- texlive.combined.scheme-full
+ texliveFull
+ #texlive.combined.scheme-full
];
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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
];
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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
perl538Packages.Po4a
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/pod/not_without_help.austin_amissah/media/text/en/not_without_help.austin_amissah.sst b/markup/pod/not_without_help.austin_amissah/media/text/en/not_without_help.austin_amissah.sst
index ec92584..708cb21 100644
--- a/markup/pod/not_without_help.austin_amissah/media/text/en/not_without_help.austin_amissah.sst
+++ b/markup/pod/not_without_help.austin_amissah/media/text/en/not_without_help.austin_amissah.sst
@@ -66,7 +66,7 @@ The reader might find my constant references to associations with successful Gha
--~#
-{nwh_amissah_thomas_paine.jpg 560x471 \\ One of Austin's favourite quotes, in his handwriting. }https://www.amissah.com/
+{nwh_amissah_thomas_paine.jpg 560x471 \\ In Austin's handwriting a favourite quotation. }https://www.amissah.com/
"I believe religious duties consist in doing justice, loving, mercy and endeavouring to make our fellow citizens happy. My own mind is my church, and to do good is my religion." Thomas Paine
@@ -2253,7 +2253,7 @@ Married, 1956, to Stella (nee Mattsson); one son, Ralph, and two daughters, Tone
2~ From Stella to Austin
-{nwh_amissah_austin_and_stella_1.jpg 560x425 "Austin & Stella Amissah" }https://www.amissah.com/
+{nwh_amissah_austin_and_stella_1.jpg 560x425 \\ Austin & Stella Amissah }https://www.amissah.com/
Tomorrow
@@ -2263,7 +2263,7 @@ And to the broad shore, blue with waves, we shall walk down, slowly and quietly;
John Henry Mackay set to music, in German, by Richard Strauss
-{nwh_amissah_austin_and_stella_2.jpg 560x420 }https://www.amissah.com/
+{nwh_amissah_austin_and_stella_2.jpg 560x420 \\ Austin & Stella Amissah }https://www.amissah.com/
% CHECK
diff --git a/org/config_env.org b/org/config_env.org
index ecf4ee5..5dd3ef3 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
@@ -72,110 +72,66 @@ PATH_add result/bin
use flake .
#use flake .#default
echo '
-- consider running:
+• consider running:
❯❯ nix flake show
❯❯ 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
+• for a dev shell (development environment):
+ • nix develop
+ ❯❯ nix develop ".#" --print-build-logs -c zsh
+ • nix develop using nixpkgs
+ ❯❯ 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 package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>)
+ ❯❯ nix develop ".#dsh" --print-build-logs -c zsh
+ ❯❯ 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:
+• 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
+• to build project:
+ • 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 or otherwise):
+• 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
+• 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
+• 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 "-
+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
-
-#+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: :noweb yes
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [[ ! -d ./.git ]]; then
git init
git add .
@@ -188,7 +144,7 @@ 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
@@ -219,3 +175,61 @@ export SpineCGIbin=/var/www/cgi/cgi-bin
export SpineDBpath=/var/www/sqlite
#export SpineDBpath=/srv/www/spine/sqlite
#+END_SRC
+
+* SHARED versions
+** 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
+*** 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_nix.org b/org/config_nix.org
index 52e16e6..88d61bf 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,13 +26,17 @@
{
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";
flake = true;
};
- inputs.d-overlay = {
+ #inputs.spine-search-cgi = { # issue, to make usable needs local configuration on build, so, not practical to implement like so
+ # url = "git://git.sisudoc.org/software/sisudoc-spine-search-cgi";
+ # inputs.nixpkgs.follows = "nixpkgs";
+ # flake = true;
+ #};
+ inputs.sisudoc-d-overlay = {
url = "<<sisudoc_dlang_nix_overlay_src>>";
inputs.nixpkgs.follows = "nixpkgs";
flake = true;
@@ -40,10 +44,11 @@
outputs = {
self,
nixpkgs,
- flake-utils,
spine,
- d-overlay,
- } @ inputs: let
+ #spine-search-cgi,
+ sisudoc-d-overlay,
+ ...
+ }@inputs: let
version = "<<spine_version>>";
shell = ./shell.nix;
devEnv = ./nixDevEnv.sh;
@@ -55,10 +60,14 @@
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-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
spine-overlay-dmd = spine.packages.${system}.spine-overlay-dmd;
- #spine-nixpkgs-ldc = spine.packages.${system}.spine-nixpkgs-ldc;
spine-overlay-ldc = spine.packages.${system}.spine-overlay-ldc;
+ #spine-search-cgi-nixpkgs-dmd = spine-search-cgi.packages.${system}.spine-search-nixpkgs-dmd; # issue, to make usable needs local configuration on build
+ #spine-search-cgi-nixpkgs-ldc = spine-search-cgi.packages.${system}.spine-search-nixpkgs-ldc; # issue, to make usable needs local configuration on build
+ #spine-search-cgi-overlay-dmd = spine-search-cgi.packages.${system}.spine-search-overlay-dmd; # issue, to make usable needs local configuration on build
+ #spine-search-cgi-overlay-ldc = spine-search-cgi.packages.${system}.spine-search-overlay-ldc; # issue, to make usable needs local configuration on build
#vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";
});
apps = forAllSystems (system: {
@@ -90,18 +99,19 @@
inherit shellHook;
};
dsh-spine = spine.devShells.${system}.default;
- dsh-overlay-dmd = d-overlay.devShells.${system}.dsh-overlay-dmd-dub;
- dsh-nixpkgs-dmd = d-overlay.devShells.${system}.dsh-nixpkgs-dmd-dub;
- dsh-overlay-ldc = d-overlay.devShells.${system}.dsh-overlay-ldc-dub;
- dsh-nixpkgs-ldc = d-overlay.devShells.${system}.dsh-nixpkgs-ldc-dub;
+ dsh-overlay-dmd = sisudoc-d-overlay.devShells.${system}.dsh-overlay-dmd-dub;
+ dsh-nixpkgs-dmd = sisudoc-d-overlay.devShells.${system}.dsh-nixpkgs-dmd-dub;
+ dsh-overlay-ldc = sisudoc-d-overlay.devShells.${system}.dsh-overlay-ldc-dub;
+ dsh-nixpkgs-ldc = sisudoc-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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
libxml2
@@ -123,13 +133,14 @@
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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
# ❯❯ text-mode web browsers
@@ -143,42 +154,46 @@
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 = [
ldc
#dmd
dub
+ dtools
gnumake
source-sans-pro
source-serif-pro
source-code-pro
- texlive.combined.scheme-full
+ texliveFull
+ #texlive.combined.scheme-full
];
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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
];
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 = [
ldc
#dmd
dub
+ dtools
gnumake
sqlite
perl538Packages.Po4a
@@ -205,13 +220,13 @@ with pkgs;
# ❯❯❯ nix_related
##nix
#direnv
- #nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ #nixVersions.latest #nixVersions.latest #nixVersions.git
#nix-prefetch-git
#validatePkgConfig
nix-output-monitor
#nix-tree
#jq
- #alejandra
+ #nixfmt-rfc-style
#git
# ❯❯❯ dev
#gnumake
@@ -220,14 +235,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
@@ -265,6 +283,7 @@ pkgs.callPackage ./devenv.nix {}
#+END_SRC
* devEnv
+** devenv.nix :default:devenv:
nix profile install .
@@ -283,17 +302,18 @@ with pkgs;
# ❯❯❯ nix_related
#nix # if not on NixOS, this is needed
direnv
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
- jq
- #alejandra
+ jq #gx
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
ps
+ dtools
# ❯❯❯ d_build_related
# ❯❯ package manager
dub
@@ -426,7 +446,7 @@ with (
sha256 = "<<spine_tarball_sha256>>";
};
nativeBuildInputs = with pkgs; [dub ldc];
- buildInputs = with pkgs; [nixVersions.nix_2_21 sqlite];
+ buildInputs = with pkgs; [nixVersions.latest sqlite];
meta = with pkgs.lib; {
description = "A sisu like parser & document generator";
longDescription = ''
@@ -440,8 +460,6 @@ with (
}
#+END_SRC
-#src = ./.;
-
#+NAME: project_path_local_out_static
#+HEADER: :noweb yes
#+BEGIN_SRC nix
@@ -489,12 +507,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
@@ -518,16 +530,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
@@ -536,7 +545,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
@@ -544,6 +554,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..f0a7aac
--- /dev/null
+++ b/org/nix-develop-dlang-shared.org
@@ -0,0 +1,628 @@
+-*- 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
+*** version SET
+
+#+NAME: direnv-version
+#+BEGIN_SRC org
+<<direnv_version_3_0_6>>
+#+END_SRC
+
+#+NAME: direnv-hash
+#+BEGIN_SRC org
+<<direnv_hash_3_0_6>>
+#+END_SRC
+
+*** versions
+
+**** 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
+*** 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_40_1>>
+#+END_SRC
+
+#+NAME: ldc-hash
+#+BEGIN_SRC org
+<<ldc_hash_1_40_1>>
+#+END_SRC
+
+#+NAME: ldc-llvm-set
+#+BEGIN_SRC org
+<<ldc_llvm_set_1_40_1>>
+#+END_SRC
+
+*** versions
+**** 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
+*** version SET
+
+#+NAME: dmd-version
+#+BEGIN_SRC org
+<<dmd_version_2_110_0>>
+#+END_SRC
+
+#+NAME: dmd-hash
+#+BEGIN_SRC org
+<<dmd_hash_2_110_0>>
+#+END_SRC
+
+#+NAME: phobos-hash
+#+BEGIN_SRC org
+<<phobos_hash_2_110_0>>
+#+END_SRC
+
+*** versions
+**** 2.111.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.111.0-beta.1.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.111.0-beta.1.tar.gz
+
+#+NAME: dmd_version_2_111_0
+#+BEGIN_SRC nix
+2.111.0-beta.1
+#+END_SRC
+
+#+NAME: phobos_hash_2_111_0
+#+BEGIN_SRC nix
+sha256-yPmstS52J0BboR++9nYaeUq2mAJrFuUjxxi2BGgGCUY=
+#+END_SRC
+
+#+NAME: dmd_hash_2_111_0
+#+BEGIN_SRC nix
+sha256-MfGcno6o+GXZTWyWZ0kGYtMcMPuj2VgQd5I+nPKz1I4=
+#+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 ed7def8..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
-16
+18
#+END_SRC
*** patch
diff --git a/org/spine_info.org b/org/spine_info.org
index cc107d4..db4571a 100644
--- a/org/spine_info.org
+++ b/org/spine_info.org
@@ -208,9 +208,9 @@ instruction. The sources of relevant parts of the project are here:
https://sisudoc.org
https://git.sisudoc.org
- git clone git://git.sisudoc.org/software/sisudoc-spine && \
- git clone git://git.sisudoc.org/software/sisudoc-spine-search-cgi && \
- git clone git://git.sisudoc.org/markup/sisudoc-spine-samples
+ git clone --depth=1 git://git.sisudoc.org/software/sisudoc-spine && \
+ git clone --depth=1 git://git.sisudoc.org/software/sisudoc-spine-search-cgi && \
+ git clone --depth=1 git://git.sisudoc.org/markup/sisudoc-spine-samples
you may wish to clone these into a directory created for the purpose, e.g.
@@ -279,14 +279,6 @@ flags and configuration options
<<sisudoc_spine_samples_rights>>
#+END_SRC
-*** code org ./org
-
-#+HEADER: :tangle "../org/COPYRIGHT"
-#+HEADER: :noweb yes
-#+BEGIN_SRC text
-<<sisudoc_spine_samples_rights>>
-#+END_SRC
-
*** org files ./org
- .org literate programming:
@@ -295,7 +287,7 @@ flags and configuration options
- license
- dependency information
-#+HEADER: :tangle "./COPYRIGHT"
+#+HEADER: :tangle "../org/COPYRIGHT"
#+HEADER: :noweb yes
#+BEGIN_SRC text
<<sisudoc_spine_samples_rights>>
diff --git a/shell.nix b/shell.nix
index e3920de..03942a6 100755
--- a/shell.nix
+++ b/shell.nix
@@ -7,13 +7,13 @@ with pkgs;
# ❯❯❯ nix_related
##nix
#direnv
- #nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ #nixVersions.latest #nixVersions.latest #nixVersions.git
#nix-prefetch-git
#validatePkgConfig
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