summaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/COPYRIGHT2
-rw-r--r--org/config_d_cfte.org12
-rw-r--r--org/config_dub.org16
-rw-r--r--org/config_env.org123
-rw-r--r--org/config_git.org30
-rw-r--r--org/config_make.org15
-rw-r--r--org/config_nix.org523
-rw-r--r--org/nix-develop-dlang-shared.org102
-rw-r--r--org/nixpkgs_overlays_d_related.org36
-rw-r--r--org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org21
-rw-r--r--org/spine_info.org38
-rw-r--r--org/spine_search_cgi.org16
12 files changed, 477 insertions, 457 deletions
diff --git a/org/COPYRIGHT b/org/COPYRIGHT
index b1cdad5..1678968 100644
--- a/org/COPYRIGHT
+++ b/org/COPYRIGHT
@@ -5,7 +5,7 @@
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
- - Copyright: (C) 2015 - 2025 Ralph Amissah
+ - Copyright: (C) 2015 - 2026 Ralph Amissah
- Spine, Doc Reform (related to SiSU) uses standard:
- docReform markup syntax (based on SiSU markup)
diff --git a/org/config_d_cfte.org b/org/config_d_cfte.org
index df29cc5..ef471f8 100644
--- a/org/config_d_cfte.org
+++ b/org/config_d_cfte.org
@@ -4,16 +4,16 @@
#+FILETAGS: :spine:hub:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[../org/][org/]]
diff --git a/org/config_dub.org b/org/config_dub.org
index 60a8a43..6d91118 100644
--- a/org/config_dub.org
+++ b/org/config_dub.org
@@ -4,16 +4,16 @@
#+FILETAGS: :spine:hub:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[./][org/]]
@@ -47,10 +47,10 @@
"authors": [
"Ralph Amissah"
],
- "copyright": "Copyright © 2002, 2025 Ralph Amissah",
+ "copyright": "Copyright © 2002, 2026 Ralph Amissah",
"name": "spine_search",
"version": "<<spine_version>>",
- "description": "cgi search for spine, a sisu like document parser",
+ "description": "cgi search for spine, a sisu-like document parser",
"homepage": "https://sisudoc.org",
"license": "AGPL-3.0+",
"targetPath": "./cgi-bin",
diff --git a/org/config_env.org b/org/config_env.org
index e5f2a43..42d99bc 100644
--- a/org/config_env.org
+++ b/org/config_env.org
@@ -4,16 +4,16 @@
#+FILETAGS: :spine:build:tools:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[../org/][org/]]
- [[./config_nix.org][config_nix.org]]
@@ -33,12 +33,16 @@ fi
#+NAME: envrc
#+HEADER: :tangle ../.envrc
+#+HEADER: :tangle-mode (identity #o644)
+#+HEADER: :shebang "# -*- mode: sh -*-"
#+BEGIN_SRC shell
if [ -f .envrc-git-init ]; then
source_env_if_exists .envrc-git-init || source .envrc-git-init
fi
if [ -f .envrc-local ]; then
source_env_if_exists .envrc-local || source .envrc-local
+elif [ -f .envrc-local_ ]; then
+ source_env_if_exists .envrc-local_ || source .envrc-local_
fi
if [ -f .envrc-nix ]; then
source_env_if_exists .envrc-nix || source .envrc-nix
@@ -53,14 +57,16 @@ fi
- ${NixDirEnvVersion}
#+HEADER: :tangle ../.envrc-nix
+#+HEADER: :tangle-mode (identity #o644)
+#+HEADER: :shebang "# -*- mode: nix -*-"
#+BEGIN_SRC shell
NIX_ENFORCE_PURITY=1
-# - https://github.com/nix-community/nix-direnv
-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
+## - https://github.com/nix-community/nix-direnv
+#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
watch_file flake.lock
watch_file flake.nix
watch_file shell.nix
@@ -80,11 +86,11 @@ echo '
• nix develop
❯❯ nix develop ".#" --print-build-logs -c zsh
• nix develop using nixpkgs
- ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ ❯❯ 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>>)
- ❯❯ nix develop ".#dsh-overlay-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-ldc-dub" --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:
@@ -102,15 +108,16 @@ echo '
• to build using dub on nix (get dependencies by setting your development environment):
- ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh
❯❯ dub run --compiler=dmd --config=dmd --combined --skip-registry=all
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh
❯❯ dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
• for develop environment & build options
- ❯❯ nix flake show
+
❯❯ nix flake update && nix flake check && nix flake show
+ ❯❯ nix flake show
'
#+END_SRC
@@ -118,6 +125,8 @@ echo '
** .envrc-git-init
#+HEADER: :tangle ../.envrc-git-init
+#+HEADER: :tangle-mode (identity #o644)
+#+HEADER: :shebang "# -*- mode: sh -*-"
#+HEADER: :noweb yes
#+BEGIN_SRC shell
if [[ ! -d ./.git ]]; then
@@ -130,18 +139,58 @@ fi
- bespoke modify appropriately and generate if needed
-#+HEADER: :tangle ../.envrc-local
+#+HEADER: :tangle ../.envrc-local_
+#+HEADER: :tangle-mode (identity #o644)
+#+HEADER: :shebang "# -*- mode: sh -*-"
#+HEADER: :noweb yes
#+BEGIN_SRC shell
export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
-export SpineSearchBIN=result/share/cgi-bin
+export SpineSearchBIN=result/cgi-bin
# ❯❯ cgi search form name:
export SpineCGIform='spine_search'
+# ❯❯ search form db name:
+export SpineSQLdb='spine.search.db'
# ❯❯ configuration cgi search form path:
export SpineCGIbin=/var/www/cgi/cgi-bin
+# ❯❯ configuration db path:
+export SpineDBpath=/var/www/sqlite
#+END_SRC
-* versions GET
+* editorconfig
+
+#+HEADER: :tangle "../.editorconfig"
+#+BEGIN_SRC gitignore
+# EditorConfig : https://editorconfig.org
+
+# top-most EditorConfig file
+root = true
+
+# Unix-style newlines with a newline ending every file
+[*]
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+# Matches multiple files with brace expansion notation
+# Set default charset
+[*.{org,d,nix}]
+charset = utf-8
+
+# Indentation override for all D under src directory
+[src/sisudoc/**.d]
+indent_style = space
+indent_size = 2
+
+# Tab indentation (no size specified)
+[Makefile]
+indent_style = tab
+
+[{dub.selections.json,dub_describe.json}]
+indent_style = space
+indent_size = 2
+#+END_SRC
+
+* org includes - versions GET
** direnv
#+NAME: direnv_version
@@ -156,14 +205,6 @@ export SpineCGIbin=/var/www/cgi/cgi-bin
<<./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
@@ -197,4 +238,26 @@ export SpineCGIbin=/var/www/cgi/cgi-bin
<<./nix-develop-dlang-shared.org:dtools-version()>>
#+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
+
+#+NAME: year
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:year()>>
+#+END_SRC
+
+** document header including copyright & license
+
+#+NAME: doc_header_including_copyright_and_license
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_doc_header_including_copyright_and_license()>>
+#+END_SRC
+
* __END__
diff --git a/org/config_git.org b/org/config_git.org
index 778dce1..0c82c4e 100644
--- a/org/config_git.org
+++ b/org/config_git.org
@@ -4,23 +4,24 @@
#+FILETAGS: :spine:hub:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
-* spine
+* git config spine search
** .gitignore :gitignore:
#+HEADER: :tangle "../.gitignore"
#+BEGIN_SRC gitignore
# git ls-files --others --exclude-from=.git/info/exclude
+# git ls-files --others --ignored --exclude-standard --directory
# git check-ignore -v flake.lock
# git clean -ix
# find . -name "*_" | xargs rm -rf
@@ -28,16 +29,14 @@
,*
!.gitignore
!.gitattributes
+!.editorconfig
!nix/**
!*.nix
!flake.lock
!nixDevEnv.sh
!.envrc
-!.envrc-local
!.envrc-nix
!.envrc-git-init
-!.env
-!.env/**
!nix-overlays
!nix-overlays/**
!README.md
@@ -54,6 +53,8 @@
!*.org
!org
!org/*.org
+!*.md
+!*.txt
!*.d
!*.rb
!*.txt
@@ -72,16 +73,17 @@ tmp/**
,*_.org
,*_.nix
,*_.d
+,*_.md
,*_.txt
,*_
-,*.swp
-,*~
-\#*
-,*.\#*
!.envrc-local_
!src/sisudoc/spine_search.d_
!views/configuration.txt_remotehost_
!views/configuration.txt_localhost_
+,*.swp
+,*~
+\#*
+,*.\#*
#!*/
#\#*
#*.\#*
diff --git a/org/config_make.org b/org/config_make.org
index 3aec827..f4a290f 100644
--- a/org/config_make.org
+++ b/org/config_make.org
@@ -4,15 +4,16 @@
#+FILETAGS: :spine:build:tools:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
+#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[../org/][org/]]
@@ -134,7 +135,7 @@ set_depends: get_depends
# cp cgi search form
cp-cgi:
sudo cp -vi /var/www/cgi/cgi-bin/spine_search /var/www/cgi/cgi-bin/spine_search_old && \
- sudo cp -vi result/share/cgi-bin/spine_search /var/www/cgi/cgi-bin/spine_search
+ sudo cp -vi result/cgi-bin/spine_search /var/www/cgi/cgi-bin/spine_search
# git archive
gitZip:
diff --git a/org/config_nix.org b/org/config_nix.org
index 195114a..365757e 100644
--- a/org/config_nix.org
+++ b/org/config_nix.org
@@ -4,16 +4,16 @@
#+FILETAGS: :spine:build:tools:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
-#+STARTUP: show4levels hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+STARTUP: content hideblocks hidestars noindent entitiespretty
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
* nix :nix:
** flake.nix :flake:
@@ -24,35 +24,28 @@
{
description = "a sisu like document parser search form";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- #inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.spine-d-overlay = {
url = "<<sisudoc_dlang_nix_overlay_src>>";
inputs.nixpkgs.follows = "nixpkgs";
- flake = true;
};
outputs = {
self,
nixpkgs,
- #flake-utils,
spine-d-overlay,
...
}@inputs: let
pname = "spine_search";
version = "<<spine_version>>";
- shell = ./shell.nix;
- devEnv = ./nixDevEnv.sh;
+ #shell = ./shell.nix;
+ #devEnv = ./nixDevEnv.sh;
supportedSystems = ["x86_64-linux"];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); # nixpkgs instantiated for supported system types
- checkPhase = ''
- runHook preCheck
- dub test --combined --skip-registry=all
- runHook postCheck
- '';
localOverlay = (final: prev: {
- ldc = prev.callPackage ./nix-overlays/ldc { };
- dmd = prev.callPackage ./nix-overlays/dmd { };
- dub = prev.callPackage ./nix-overlays/dub { };
+ ldc = prev.callPackage ./nix-overlays/ldc { }; # -> ok <<ldc_version>>
+ # dmd overlay: revert to GCC14; (current) GCC 15 introduced nullptr in its headers, and DMD's ImportC parser needs update to handle it, monitor and update:
+ dmd = prev.callPackage ./nix-overlays/dmd { stdenv = prev.gcc14Stdenv; }; # -> ok <<dmd_version>>
+ dub = prev.callPackage ./nix-overlays/dub { }; # -> ? <<dub_version>>
#gdc = prev.callPackage ./nix-overlays/gdc { };
});
pkgsForSystem = system: import nixpkgs {
@@ -64,165 +57,79 @@
preBuild = ''
export HOME=$(pwd)
'';
+ checkPhase = ''
+ runHook preCheck
+ dub test --combined --skip-registry=all
+ runHook postCheck
+ '';
installPhase = ''
runHook preInstall
- mkdir -p $out/share/cgi-bin
- install -m755 -D ./cgi-bin/spine_search $out/share/cgi-bin/spine_search
+ mkdir -p $out/cgi-bin
+ install -m755 -D ./cgi-bin/spine_search $out/cgi-bin/spine_search
runHook postInstall
'';
postInstall = ''
- echo `ls -la $out/share/cgi-bin/spine_search`
+ echo `ls -la $out/cgi-bin/spine_search`
'';
+ # Helper to reduce duplication across build variants
+ mkSpineSearch = {pkgs, compiler, compilerCmd, dubConfig}: pkgs.stdenv.mkDerivation {
+ inherit pname version;
+ meta.mainProgram = "spine_search";
+ src = self;
+ buildInputs = [pkgs.sqlite];
+ nativeBuildInputs = [pkgs.dub compiler pkgs.gnumake];
+ buildPhase = ''
+ runHook preBuild
+ buildCMD="dub run --cache=local --compiler=$(type -P ${compilerCmd}) --build=${dubConfig} --combined --skip-registry=all"
+ echo $buildCMD
+ $buildCMD
+ echo $buildCMD
+ runHook postBuild
+ '';
+ inherit preBuild;
+ inherit checkPhase;
+ inherit installPhase;
+ inherit postInstall;
+ };
in {
packages = forAllSystems (system: let
pkgs-ovl = pkgsForSystem system;
pkgs-nix = nixpkgsFor.${system};
- in
- with pkgs-nix; {
- default = stdenv.mkDerivation {
- inherit pname;
- inherit version;
- meta.mainProgram = "spine-search";
- executable = true;
- src = self;
- inherit shell;
- inherit devEnv;
- buildInputs = [sqlite];
- nativeBuildInputs = [dub ldc gnumake];
- buildPhase = ''
- runHook preBuild
- for DC_ in dmd ldmd2 ldc2 gdc gdmd; do
- echo "- check for D compiler $DC_"
- DC=$(type -P $DC_ || echo "")
- if [ ! "$DC" == "" ]; then break; fi
- done
- if [ "$DC" == "" ]; then exit "Error: could not find D compiler"; fi
- echo "$DC_ used as D compiler to build $pname"
- buildCMD="dub run --cache=local --compiler=$DC --build=$DC_ --combined --skip-registry=all"
- echo $buildCMD
- $buildCMD
- echo $buildCMD
- runHook postBuild
- '';
- inherit preBuild;
- inherit checkPhase;
- inherit installPhase;
- inherit postInstall;
- };
- spine-search-nixpkgs-dmd = stdenv.mkDerivation {
- inherit pname;
- inherit version;
- meta.mainProgram = "spine_search-dmd";
- executable = true;
- src = self;
- inherit shell;
- inherit devEnv;
- buildInputs = with pkgs-nix; [sqlite];
- nativeBuildInputs = with pkgs-nix; [dub dmd gnumake];
- buildPhase = ''
- runHook preBuild
- buildCMD="dub run --cache=local --compiler=$(type -P dmd) --build=dmd --combined --skip-registry=all"
- echo $buildCMD
- $buildCMD
- echo $buildCMD
- runHook postBuild
- '';
- inherit preBuild;
- inherit checkPhase;
- inherit installPhase;
- inherit postInstall;
- };
- spine-search-nixpkgs-ldc = stdenv.mkDerivation {
- inherit pname;
- inherit version;
- meta.mainProgram = "spine_search-ldc";
- executable = true;
- src = self;
- inherit shell;
- inherit devEnv;
- buildInputs = with pkgs-nix; [sqlite];
- nativeBuildInputs = with pkgs-nix; [dub ldc gnumake];
- buildPhase = ''
- runHook preBuild
- buildCMD="dub run --cache=local --compiler=$(type -P ldmd2) --build=ldmd2 --combined --skip-registry=all"
- echo $buildCMD
- $buildCMD
- echo $buildCMD
- runHook postBuild
- '';
- inherit preBuild;
- inherit checkPhase;
- inherit installPhase;
- inherit postInstall;
- };
- spine-search-overlay-dmd = stdenv.mkDerivation {
- inherit pname;
- inherit version;
- meta.mainProgram = "spine_search-dmd";
- executable = true;
- src = self;
- inherit shell;
- inherit devEnv;
- buildInputs = with pkgs-ovl; [sqlite];
- nativeBuildInputs = with pkgs-ovl; [dub dmd gnumake];
- buildPhase = ''
- runHook preBuild
- buildCMD="dub run --cache=local --compiler=$(type -P dmd) --build=dmd --combined --skip-registry=all"
- echo $buildCMD
- $buildCMD
- echo $buildCMD
- runHook postBuild
- '';
- inherit preBuild;
- inherit checkPhase;
- inherit installPhase;
- inherit postInstall;
- };
- spine-search-overlay-ldc = stdenv.mkDerivation {
- inherit pname;
- inherit version;
- meta.mainProgram = "spine_search-ldc";
- executable = true;
- src = self;
- inherit shell;
- inherit devEnv;
- buildInputs = with pkgs-ovl; [sqlite];
- nativeBuildInputs = with pkgs-ovl; [dub ldc gnumake];
- buildPhase = ''
- runHook preBuild
- buildCMD="dub run --cache=local --compiler=$(type -P ldmd2) --build=ldmd2 --combined --skip-registry=all"
- echo $buildCMD
- $buildCMD
- echo $buildCMD
- runHook postBuild
- '';
- inherit preBuild;
- inherit checkPhase;
- inherit installPhase;
- inherit postInstall;
- };
- #spine-search-overlay-gdc = stdenv.mkDerivation {
- # inherit pname;
- # inherit version;
- # meta.mainProgram = "spine_search-gdc";
- # executable = true;
- # src = self;
- # inherit shell;
- # inherit devEnv;
- # buildInputs = with pkgs-ovl; [ sqlite ];
- # nativeBuildInputs = with pkgs-ovl; [ dub gdc gnumake ];
- # buildPhase = ''
- # runHook preBuild
- # dub run --cache=local --compiler=$(type -P gdc) --build=gdc --combined --skip-registry=all
- # runHook postBuild
- # '';
- # inherit preBuild;
- # inherit checkPhase;
- # inherit installPhase;
- # inherit postInstall;
- #};
- #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000=";
- });
+ in {
+ default = self.packages.${system}.spine-search-nixpkgs-ldc;
+ spine-search-nixpkgs-dmd = mkSpineSearch {
+ pkgs = pkgs-nix;
+ # nixpkgs dmd: revert to GCC14 (same nullptr/ImportC fix as overlay dmd)
+ compiler = pkgs-nix.dmd.override { stdenv = pkgs-nix.gcc14Stdenv; };
+ #compiler = pkgs-nix.dmd;
+ compilerCmd = "dmd";
+ dubConfig = "dmd";
+ };
+ spine-search-nixpkgs-ldc = mkSpineSearch {
+ pkgs = pkgs-nix;
+ compiler = pkgs-nix.ldc;
+ compilerCmd = "ldmd2";
+ dubConfig = "ldmd2";
+ };
+ spine-search-overlay-dmd = mkSpineSearch {
+ pkgs = pkgs-ovl;
+ compiler = pkgs-ovl.dmd;
+ compilerCmd = "dmd";
+ dubConfig = "dmd";
+ };
+ spine-search-overlay-ldc = mkSpineSearch {
+ pkgs = pkgs-ovl;
+ compiler = pkgs-ovl.ldc;
+ compilerCmd = "ldmd2";
+ dubConfig = "ldmd2";
+ };
+ #spine-search-overlay-gdc = mkSpineSearch {
+ # pkgs = pkgs-ovl;
+ # compiler = pkgs-ovl.gdc;
+ # compilerCmd = "gdc";
+ # dubConfig = "gdc";
+ #};
+ });
devShells = forAllSystems (system: let
pkgs-ovl = pkgsForSystem system;
pkgs-nix = nixpkgsFor.${system};
@@ -234,9 +141,7 @@
with pkgs-nix; {
dsh-d-overlay = spine-d-overlay.devShells.${system}.default;
dsh-overlay = mkShell {
- name = "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>>";
- inherit shell;
- inherit devEnv;
+ name = "${pname}-${version} dev shell (overlay)";
packages = with pkgs-ovl; [
ldc
#dmd
@@ -246,10 +151,8 @@
];
inherit shellHook;
};
- dsh-nixpkgs-dmd-dub = mkShell {
- name = "spine-<<spine_version>> base dev shell";
- inherit shell;
- inherit devEnv;
+ dsh-nixpkgs-dmd = mkShell {
+ name = "${pname}-${version} dev shell (nixpkgs dmd)";
packages = [
dmd
dub
@@ -258,10 +161,8 @@
];
inherit shellHook;
};
- dsh-nixpkgs-ldc-dub = mkShell {
- name = "spine-<<spine_version>> base dev shell";
- inherit shell;
- inherit devEnv;
+ dsh-nixpkgs-ldc = mkShell {
+ name = "${pname}-${version} dev shell (nixpkgs ldc)";
packages = [
ldc
dub
@@ -270,10 +171,9 @@
];
inherit shellHook;
};
- dsh-overlay-dmd-dub = mkShell {
- name = "spine-<<spine_version>> base dev shell, dmd-<<dmd_version>>, dub-<<dub_version>>";
- inherit shell;
- inherit devEnv;
+ dsh-overlay-dmd = mkShell {
+ name = "${pname}-${version} dev shell (overlay dmd)";
+ # "spine-<<spine_version>> base dev shell, dmd-<<dmd_version>>, dub-<<dub_version>>";
packages = with pkgs-ovl; [
dmd
dub
@@ -282,10 +182,9 @@
];
inherit shellHook;
};
- dsh-overlay-ldc-dub = mkShell {
- name = "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>>";
- inherit shell;
- inherit devEnv;
+ dsh-overlay-ldc = mkShell {
+ name = "${pname}-${version} dev shell (overlay ldc)";
+ # "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>>";
packages = with pkgs-ovl; [
ldc
dub
@@ -295,9 +194,7 @@
inherit shellHook;
};
dsh-sqlite = mkShell {
- name = "spine dev shell for latex & pdf output";
- inherit shell;
- inherit devEnv;
+ name = "${pname}-${version} dev shell (sqlite)";
packages = [
ldc
#dmd
@@ -307,7 +204,8 @@
];
inherit shellHook;
};
- default = import ./shell.nix {inherit pkgs-nix;};
+ default = self.devShells.${system}.dsh-nixpkgs-ldc;
+ #default = import ./shell.nix {pkgs = pkgs-nix;};
});
};
}
@@ -316,10 +214,75 @@
** shell.nix :shell:
#+HEADER: :tangle ../shell.nix
-#+HEADER: :tangle-mode (identity #o755)
-#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --pure\n#!nix-shell -i bash"
#+HEADER: :noweb yes
#+BEGIN_SRC nix
+#!/usr/bin/env -S nix-shell --pure
+#!nix-shell -i bash
+# Development environment for sisudoc-spine-search-cgi.
+# Builds the spine_search CGI binary via ./package.nix.
+#
+# Build logic for the spine_search derivation lives in ./package.nix -
+# this file only describes the dev shell.
+#
+# Usage:
+# nix-shell # enters shell, builds spine_search
+# nix-shell --run 'echo $SPINE_SEARCH_BIN'
+{
+ pkgs ? import <nixpkgs> {},
+ spine-search ? pkgs.callPackage ./package.nix {},
+ # captured at eval time - nix-shell rewrites $SHELL at runtime,
+ # so we must remember the user's real login shell here.
+ userShell ? builtins.getEnv "SHELL",
+}:
+with pkgs;
+ mkShell {
+ name = "spine_search base dev shell";
+ packages = [
+ # ❯❯❯ spine_search CGI binary built from ./package.nix
+ spine-search
+ # ❯❯❯ d_build_related
+ ldc
+ #dmd
+ dub
+ # ❯❯❯ dev
+ gnumake
+ git
+ # ❯❯❯ nix workflow
+ direnv
+ nix-direnv
+ nix-prefetch-git
+ nix-output-monitor
+ nix-tree
+ jq
+ # ❯❯❯ sqlite
+ sqlite
+ ];
+ shellHook = ''
+ export Date=$(date "+%Y%m%d")
+ ## set local values in .envrc-local (or here if you must)
+ ## spine_search lives under cgi-bin, not bin - expose it via env
+ ## var and prepend cgi-bin to PATH for convenience.
+ export SPINE_SEARCH_BIN="${spine-search}/cgi-bin/spine_search"
+ export PATH="${spine-search}/cgi-bin:$PATH"
+ echo "spine_search: $SPINE_SEARCH_BIN"
+ ## hand off to the user's login shell (e.g. zsh) only when this
+ ## is an interactive nix-shell entry - not under `nix-shell --run`
+ ## or `--command`, where exec would swallow the command. Guard env
+ ## var prevents re-entry loops.
+ __spine_user_shell=${if userShell == "" then "" else "\"" + userShell + "\""}
+ if [ -z "$__SPINE_SEARCH_SHELL_HANDOFF" ] \
+ && [ -n "$__spine_user_shell" ] \
+ && [ "$(basename "$__spine_user_shell")" != "bash" ] \
+ && [[ $- == *i* ]]; then
+ export __SPINE_SEARCH_SHELL_HANDOFF=1
+ exec "$__spine_user_shell"
+ fi
+ unset __spine_user_shell
+ '';
+ }
+#+END_SRC
+
+#+BEGIN_SRC nix
{pkgs-nix ? import <nixpkgs> {}}:
with pkgs-nix;
mkShell {
@@ -327,6 +290,7 @@ with pkgs-nix;
# ❯❯❯ nix_related
#nix
direnv
+ nix-direnv
nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
@@ -363,80 +327,90 @@ with pkgs-nix;
echo "ldc `${pkgs.ldc}/bin/ldc2 -v`"
-** default.nix :default:
-
-#+HEADER: :tangle ../default.nix
-#+HEADER: :tangle-mode (identity #o755)
-#+HEADER: :shebang "#!/usr/bin/env -S nix-build"
-#+BEGIN_SRC nix
-{pkgs ? import <nixpkgs> {}}:
-pkgs.callPackage ./devenv.nix {}
-#+END_SRC
-
-#+HEADER: :tangle-mode (identity #o755)
-#+HEADER: :shebang "#!/usr/bin/env -S nix-build"
-#+BEGIN_SRC nix
-{ pkgs ? import <nixpkgs> {} }:
-pkgs.callPackage ./derivation.nix {}
-#+END_SRC
-
-*** devenv.nix :default:devenv:
+** package.nix :default:
-#+HEADER: :tangle ../devenv.nix
+#+HEADER: :tangle ../package.nix
#+HEADER: :tangle-mode (identity #o644)
+#+HEADER: :noweb yes
#+BEGIN_SRC nix
+# package.nix - spine_search CGI derivation (build logic)
+#
+# Standalone, callPackage-style derivation for the spine_search CGI
+# binary. Used by shell.nix to put a freshly-built spine_search into
+# the dev shell. May also be consumed via:
+# nix-build ./package.nix
+# pkgs.callPackage ./package.nix {}
+#
+# Compiler defaults to ldc/ldmd2 (matching the flake's default
+# package `spine-search-nixpkgs-ldc`). Override to build with dmd:
+# pkgs.callPackage ./package.nix {
+# compilerPkg = pkgs.dmd;
+# compilerBin = "dmd";
+# buildType = "dmd";
+# }
+#
+# Note: spine_search is a CGI binary and is installed to
+# $out/cgi-bin/spine_search (not $out/bin/), since it is intended to
+# be served by a web server, not invoked directly from PATH.
{
- pkgs ? import <nixpkgs> {},
- name ? "user-env",
+ lib,
+ stdenv,
+ dub,
+ ldc,
+ gnumake,
+ sqlite,
+ compilerPkg ? ldc,
+ compilerBin ? "ldmd2",
+ buildType ? "ldmd2",
}:
-with pkgs;
- buildEnv {
- inherit name;
- extraOutputsToInstall = ["out" "man" "lib"]; # to get all needed symlinks
- paths = [
- # ❯❯❯ nix_related
- #nix # if not on NixOS, this is needed
- direnv
- nixVersions.latest #nixVersions.latest #nixVersions.git
- nix-prefetch-git
- validatePkgConfig
- nix-output-monitor
- nix-tree
- jq #gx
- #nixfmt-rfc-style
- git
- # ❯❯❯ dev
- gnumake
- ps
- # ❯❯❯ d_build_related
- # ❯❯ package manager
- dub
- # ❯❯ compiler
- #dmd
- ldc
- # ❯❯❯ sqlite search related
- sqlite
- # this will create a script that will rebuild and upgrade your setup; using shell script syntax
- (writeScriptBin "nix-rebuild" ''
- #!${stdenv.shell}
- #cd <path-to-flake> || exit 1
- nix flake update
- nix profile upgrade '.*'
- '')
- # puts in your root the nixpkgs version
- (writeTextFile {
- name = "nixpkgs-version";
- destination = "/nixpkgs-version";
- text = lib.version;
- })
- ];
- }
+stdenv.mkDerivation {
+ pname = "spine_search";
+ version = "0.18.0";
+ src = lib.cleanSource ./.;
+ buildInputs = [ sqlite ];
+ nativeBuildInputs = [ dub compilerPkg gnumake ];
+ preBuild = ''
+ export HOME=$(pwd)
+ '';
+ buildPhase = ''
+ runHook preBuild
+ buildCMD="dub run --cache=local \
+ --compiler=$(type -P ${compilerBin}) \
+ --build=${buildType} \
+ --combined --skip-registry=all"
+ echo $buildCMD
+ $buildCMD
+ runHook postBuild
+ '';
+ checkPhase = ''
+ runHook preCheck
+ dub test --combined --skip-registry=all
+ runHook postCheck
+ '';
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/cgi-bin
+ install -m755 -D ./cgi-bin/spine_search $out/cgi-bin/spine_search
+ runHook postInstall
+ '';
+ postInstall = ''
+ echo `ls -la $out/cgi-bin/spine_search`
+ '';
+ meta = {
+ description = "CGI search interface for spine document collections";
+ homepage = "https://sisudoc.org";
+ license = lib.licenses.agpl3Plus;
+ platforms = lib.platforms.linux;
+ mainProgram = "spine_search";
+ };
+}
#+END_SRC
** derivation.nix :default:
#+HEADER: :tangle ../derivation.nix
-#+HEADER: :tangle-mode (identity #o644)
+#+HEADER: :tangle-mode (identity #o755)
+#+HEADER: :shebang "#!/usr/bin/env -S nix-build derivation.nix"
#+HEADER: :noweb yes
#+BEGIN_SRC nix
{
@@ -458,7 +432,7 @@ with (
);
targetOf = package: "${package.targetPath or "."}/${package.targetName or package.name}";
# remove reference to build tools and library sources
- disallowedReferences = deps: [dcompiler dub];
+ disallowedRefs = [dcompiler dub];
removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}'';
in {
mkDubDerivation = lib.makeOverridable ({
@@ -471,9 +445,9 @@ with (
} @ attrs:
stdenv.mkDerivation (attrs
// {
- pname = package.name;
+ pname = attrs.pname or package.name;
nativeBuildInputs = [dcompiler dub pkgs.removeReferencesTo] ++ nativeBuildInputs;
- disallowedReferences = disallowedReferences deps;
+ disallowedReferences = disallowedRefs;
passthru =
passthru
// {
@@ -484,7 +458,7 @@ with (
src = lib.cleanSource src;
};
preFixup = ''
- find $out/share/cgi-bin -type f -exec ${removeExpr (disallowedReferences deps)} '{}' + || true
+ find $out/cgi-bin -type f -exec ${removeExpr disallowedRefs} '{}' + || true
'';
buildPhase = ''
runHook preBuild
@@ -498,7 +472,8 @@ with (
fi
done
if [ "$DC" == "" ]; then
- exit "Error: could not find D compiler"
+ echo "Error: could not find D compiler" >&2
+ exit 1
fi
echo "$DC_ used as D compiler to build $pname"
dub run --compiler=$DC --build=release --combined --skip-registry=all
@@ -512,14 +487,12 @@ with (
'';
installPhase = ''
runHook preInstall
- mkdir -p $out/share/cgi-bin
- cp -r "${targetOf package}" $out/share/cgi-bin
- install -m755 -D $out/share/cgi-bin/spine_search spine_search
+ mkdir -p $out/cgi-bin
+ install -m755 -D "${targetOf package}" "$out/cgi-bin/spine_search"
runHook postInstall
'';
postInstall = ''
- echo "HERE ${targetOf package} $out/share/cgi-bin"
- echo `ls -la $out/share/cgi-bin/spine_search`
+ echo `ls -la $out/cgi-bin/spine_search`
'';
meta =
lib.optionalAttrs (package ? description) {
@@ -533,35 +506,33 @@ with (
}
);
mkDubDerivation rec {
- name = "spine-search-<<spine_version>>";
- #name = "spine-search-${version}";
+ pname = "spine-search";
+ version = "<<spine_version>>";
src = ./.;
buildInputs = [
pkgs.sqlite
(
- with pkgs-nix; [
+ with pkgs; [
nixVersions.latest #nixVersions.latest #nixVersions.git
## package manager
dub
## compiler
ldc
- rund
+ #rund
sqlite
]
)
];
- meta = with pkgs-nix.lib; {
- pname = "spine-search";
- version = "<<spine_version>>";
+ meta = with pkgs.lib; {
homepage = "https://sisudoc.org";
description = "cgi sqlite search form for document object search";
longDescription = ''
a sisu like parser & document generator
'';
- homepage = "https://sisudoc.org";
license = licenses.agpl3Plus;
platforms = platforms.linux;
maintainers = ["RalphAmissah"];
+ mainProgram = "spine_search";
};
}
#+END_SRC
diff --git a/org/nix-develop-dlang-shared.org b/org/nix-develop-dlang-shared.org
index 671fa8d..e971677 100644
--- a/org/nix-develop-dlang-shared.org
+++ b/org/nix-develop-dlang-shared.org
@@ -4,16 +4,16 @@
#+FILETAGS: :dlang:develop:shared:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) 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+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
* nix
** direnv
@@ -27,6 +27,7 @@ check for latest version:
update direnv version and sha hash:
- emacs org/nix-develop-dlang-shared.org
+- direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc
re-tangle file:
@@ -40,74 +41,26 @@ update flake.lock:
#+NAME: direnv-version
#+BEGIN_SRC org
-<<direnv_version_3_0_7>>
+<<direnv_version_3_1_0>>
#+END_SRC
#+NAME: direnv-hash
#+BEGIN_SRC org
-<<direnv_hash_3_0_7>>
+<<direnv_hash_3_1_0>>
#+END_SRC
*** versions
-**** 3.0.7
+**** 3.1.0
-#+NAME: direnv_version_3_0_7
+#+NAME: direnv_version_3_1_0
#+BEGIN_SRC org
-3.0.7
+3.1.0
#+END_SRC
-#+NAME: direnv_hash_3_0_7
+#+NAME: direnv_hash_3_1_0
#+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=
+sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM=
#+END_SRC
* dlang
@@ -159,20 +112,41 @@ sha256 = "<<ldc-hash>>";
#+NAME: ldc-version
#+BEGIN_SRC org
-<<ldc_version_1_41_0>>
+<<ldc_version_1_42_0>>
#+END_SRC
#+NAME: ldc-hash
#+BEGIN_SRC org
-<<ldc_hash_1_41_0>>
+<<ldc_hash_1_42_0>>
#+END_SRC
#+NAME: ldc-llvm-set
#+BEGIN_SRC org
-<<ldc_llvm_set_1_41_0>>
+<<ldc_llvm_set_1_42_0>>
#+END_SRC
*** versions
+**** 1.42 OK ✓
+***** 1.42.0 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.42.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_42_0
+#+BEGIN_SRC nix
+1.42.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_42_0
+#+BEGIN_SRC nix
+sha256-adA14tx/bruGvHVoODz13f8h/U2ol1lK0ytxnypsLv8=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_42_0
+#+BEGIN_SRC nix
+llvm_21
+#+END_SRC
+
**** 1.41 OK ✓
***** 1.41.0 OK ✓
diff --git a/org/nixpkgs_overlays_d_related.org b/org/nixpkgs_overlays_d_related.org
index f01c362..727e136 100644
--- a/org/nixpkgs_overlays_d_related.org
+++ b/org/nixpkgs_overlays_d_related.org
@@ -7,14 +7,14 @@
#+COPYRIGHT: Copyright (C) 2020 Ralph Amissah
#+LICENSE: Boost Software License 1.0
#+LANGUAGE: en
-#+STARTUP: show3levels hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+STARTUP: content hideblocks hidestars noindent entitiespretty
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
* nix ( written to ./dlang-nix-flakes/ )
** check updates CHECK
@@ -39,7 +39,7 @@
,#+FILETAGS: :dlang:build:tools:
,#+AUTHOR: Ralph Amissah
,#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-,#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+,#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
,#+LANGUAGE: en
,#+STARTUP: content hideblocks hidestars noindent entitiespretty
@@ -351,7 +351,7 @@ use flake .
];
inherit shellHook;
};
- dsh-overlay-ldc-dub = mkShell {
+ dsh-overlay-ldc = mkShell {
name = "overlay - ldc-<<ldc_version>> - dub-<<dub_version>> - dtools-<<dtools_version>>";
inherit shell;
inherit devEnv;
@@ -363,7 +363,7 @@ use flake .
];
inherit shellHook;
};
- dsh-overlay-dmd-dub = mkShell {
+ dsh-overlay-dmd = mkShell {
name = "overlay - dmd-<<dmd_version>> - dub-<<dub_version>> - dtools-<<dtools_version>>";
inherit shell;
inherit devEnv;
@@ -401,7 +401,7 @@ use flake .
# ];
# inherit shellHook;
#};
- dsh-nixpkgs-ldc-dub = mkShell {
+ dsh-nixpkgs-ldc = mkShell {
name = "nixpkgs - ldc - dub";
inherit shell;
inherit devEnv;
@@ -413,7 +413,7 @@ use flake .
];
inherit shellHook;
};
- dsh-nixpkgs-dmd-dub = mkShell {
+ dsh-nixpkgs-dmd = mkShell {
name = "nixpkgs - ldc - dub";
inherit shell;
inherit devEnv;
@@ -649,6 +649,8 @@ stdenv.mkDerivation (finalAttrs: {
find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${ldcBootstrap} '{}' +
'';
+ # doCheck = false;
+
disallowedReferences = [ ldcBootstrap ];
meta = with lib; {
@@ -692,8 +694,8 @@ stdenv.mkDerivation (finalAttrs: {
no-references-to-compiler = helloWorld.overrideAttrs {
disallowedReferences = [ ldc ];
dFlags = ["-g"];
+ };
};
- };
})
#+END_SRC
@@ -1399,7 +1401,7 @@ stdenv.mkDerivation (finalAttrs: {
@@ -616,7 +616,7 @@ void runTests(string rdmdApp, string compiler, string model)
enforce(res.status == 1, res.output);
}
-
+
- version (Posix)
+ version (none)
{
@@ -1493,22 +1495,22 @@ Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69
@@ -9,9 +9,8 @@ DUB=dub
WITH_DOC = no
DOC = ../dlang.org
-
+
-# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile from dmd
-$(shell [ ! -d $(DMD_DIR) ] && git clone --depth=1 https://github.com/dlang/dmd $(DMD_DIR))
-include $(DMD_DIR)/compiler/src/osmodel.mak
+# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile
+include osmodel.mak
-
+
ifeq (windows,$(OS))
DOTEXE:=.exe
@@ -30,7 +29,7 @@ DFLAGS = $(MODEL_FLAG) $(if $(findstring windows,$(OS)),,-fPIC) -preview=dip1000
DFLAGS += $(WARNINGS)
-
+
# Default DUB flags (DUB uses a different architecture format)
-DUBFLAGS = --arch=$(subst 32,x86,$(subst 64,x86_64,$(MODEL)))
+DUBFLAGS = --arch=$(ARCH)
-
+
TOOLS = \
$(ROOT)/catdoc$(DOTEXE) \
#+END_SRC
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 b536386..b2a6fec 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,16 +4,16 @@
#+FILETAGS: :spine:abstraction:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) 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+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[./][org/]]
@@ -29,7 +29,7 @@
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
- - Copyright: (C) 2015 - 2025 Ralph Amissah, All Rights Reserved.
+ - Copyright: (C) 2015 (continuously updated, current 2026) Ralph Amissah, All Rights Reserved.
- License: AGPL 3 or later:
@@ -108,6 +108,13 @@
0
#+END_SRC
+* year
+
+#+NAME: year
+#+BEGIN_SRC org
+2026
+#+END_SRC
+
* sisudoc spine git source SET
** sisudoc-spine src
diff --git a/org/spine_info.org b/org/spine_info.org
index 9a61095..fbff7bb 100644
--- a/org/spine_info.org
+++ b/org/spine_info.org
@@ -4,16 +4,16 @@
#+FILETAGS: :spine:info:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[./][org/]]
- [[./spine_build_scaffold.org][spine_build_scaffold.org]]
@@ -74,14 +74,14 @@
,#+FILETAGS: :spine:build:tools:
,#+AUTHOR: Ralph Amissah
,#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-,#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+,#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
,#+LANGUAGE: en
,#+STARTUP: content hideblocks hidestars noindent entitiespretty
,#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
,#+PROPERTY: header-args :exports code
,#+PROPERTY: header-args+ :noweb yes
,#+PROPERTY: header-args+ :eval no
-,#+PROPERTY: header-args+ :results no
+,#+PROPERTY: header-args+ :results silent
,#+PROPERTY: header-args+ :cache no
,#+PROPERTY: header-args+ :padline no
#+END_SRC
@@ -144,7 +144,7 @@ author:
name: "Ralph Amissah"
email: ralph.amissah@gmail.com
-copyright: "(C) 2015 - 2025 Ralph Amissah, All Rights Reserved."
+copyright: "(C) 2015 - 2026 Ralph Amissah, All Rights Reserved."
license:
- "project code: AGPL 3 or later"
@@ -206,9 +206,9 @@ Make a directory and clone the sisudoc-spine project
mkdir ~/git.sisudoc
cd ~/git.sisudoc
- 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
+ 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
such a relative directory layout will be assumed in the examples that provided
@@ -269,7 +269,7 @@ mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~
#+BEGIN_SRC text
- to use the D compiler ldc2:
# on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh
# assuming you have ldc2 & dub installed on your system:
dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
@@ -278,7 +278,7 @@ mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~
- to use the D compiler dmd:
# on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
+ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh
# assuming you have dmd & dub installed on your system:
dub run --compiler=dmd --config=dmd --combined --skip-registry=all
@@ -325,7 +325,7 @@ web-server is configured to find it.
** notices
*** project (project root) ./
-#+HEADER: :tangle "../COPYRIGHT"
+#+HEADER: :tangle-NO "../COPYRIGHT"
#+HEADER: :noweb yes
#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
@@ -342,7 +342,7 @@ web-server is configured to find it.
*** code source ./src
-#+HEADER: :tangle "../src/COPYRIGHT"
+#+HEADER: :tangle-NO "../src/COPYRIGHT"
#+HEADER: :noweb yes
#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
@@ -359,7 +359,7 @@ web-server is configured to find it.
*** code source ./src/sisudoc
-#+HEADER: :tangle "../src/sisudoc/COPYRIGHT"
+#+HEADER: :tangle-NO "../src/sisudoc/COPYRIGHT"
#+HEADER: :noweb yes
#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
@@ -382,7 +382,7 @@ web-server is configured to find it.
- license
- dependency information
-#+HEADER: :tangle "../org/COPYRIGHT"
+#+HEADER: :tangle-NO "../org/COPYRIGHT"
#+HEADER: :noweb yes
#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
@@ -412,7 +412,7 @@ web-server is configured to find it.
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
-- Copyright: (C) 2015 - 2025 Ralph Amissah
+- Copyright: (C) 2015 - 2026 Ralph Amissah
#+END_SRC
*** license
diff --git a/org/spine_search_cgi.org b/org/spine_search_cgi.org
index 59cc5ca..b298da2 100644
--- a/org/spine_search_cgi.org
+++ b/org/spine_search_cgi.org
@@ -4,23 +4,23 @@
#+FILETAGS: :spine:hub:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
-#+PROPERTY: header-args :exports code
-#+PROPERTY: header-args+ :noweb yes
-#+PROPERTY: header-args+ :results no
-#+PROPERTY: header-args+ :cache no
-#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+- magic single double-quote → " ← FIX changes hilighting behavior (occuring
+ after it) in org document. INVESTIGATE (org-mode CONFIG?) FIND & FIX
- [[./doc-reform.org][doc-reform.org]] [[./][org/]]
- [[./spine_build_scaffold.org][make/build]] VERSION
#+NAME: year
-#+BEGIN_SRC text
-2025
+#+BEGIN_SRC org
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:year()>>
#+END_SRC
* 0. version.txt configuration.txt (set version & configuration)