diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2025-06-09 13:02:16 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2025-06-09 15:00:12 -0400 | 
| commit | fa631635637ed5487be3f5c989e530a8b8914d2c (patch) | |
| tree | aa4052f53c426ef28a23d79a01ebc1371aceba4a | |
| parent | org ready ldc-1.41.0-beta1; flake using ldc-1.40.1 (diff) | |
- remove ./.env/
| -rw-r--r-- | .env/echo-nixNote | 239 | ||||
| -rw-r--r-- | .env/nix-commands | 20 | ||||
| -rw-r--r-- | .envrc-local | 10 | ||||
| -rw-r--r-- | .envrc-local_ | 10 | ||||
| -rw-r--r-- | .envrc-nix | 31 | ||||
| -rw-r--r-- | .gitignore | 11 | ||||
| -rw-r--r-- | derivation.nix | 2 | ||||
| -rw-r--r-- | devenv.nix | 3 | ||||
| -rw-r--r-- | flake.lock | 56 | ||||
| -rw-r--r-- | flake.nix | 36 | ||||
| -rw-r--r-- | markup/sisudoc-spine-bespoke-output/html/homepage.index.html | 2 | ||||
| -rw-r--r-- | org/config_env.org | 38 | ||||
| -rw-r--r-- | org/config_git.org | 111 | ||||
| -rw-r--r-- | org/config_nix.org | 43 | ||||
| -rw-r--r-- | org/nix-develop-dlang-shared.org | 82 | ||||
| -rw-r--r-- | org/spine-bespoke-output-homepage-html.org | 2 | 
16 files changed, 189 insertions, 507 deletions
| diff --git a/.env/echo-nixNote b/.env/echo-nixNote deleted file mode 100644 index 9115d60..0000000 --- a/.env/echo-nixNote +++ /dev/null @@ -1,239 +0,0 @@ -echo '-*- mode: org -*- - -* nixpkgs path? - -  # eval "$(nix print-dev-env)" -' > nixNote_.org - -echo "  <nixpkgs> == `nix-instantiate --find-file nixpkgs`" >> nixNote_.org - -echo ' -* nix build and show derivation - -#+BEGIN_SRC sh -nix-shell --pure - -nix-build -nix build -f default.nix --print-build-logs -nix shell -f default.nix --print-build-logs -nix develop --build -f derivation.nix -I .envrc --print-build-logs - -nix-instantiate | nix-build - -nix-instantiate -I .envrc | nix-build -I .envrc -nix build `nix-instantiate` -nix build `nix-instantiate -I .envrc` - -nix develop - -nix-instantiate | nix show-derivation | jq -nix-instantiate -I .envrc | nix show-derivation -f derivation.nix -I .envrc | jq - -nix-instantiate | nix show-derivation --recursive | jq -nix-instantiate -I .envrc | nix show-derivation -f derivation.nix --recursive -I .envrc | jq - -nix search --json 2>/dev/null |jq -#+END_SRC - -* version and build info - -#+BEGIN_SRC sh' >> nixNote_.org - -echo 'spine version (git) == $SpineVER' >> nixNote_.org -echo "spine version (git) == $SpineVER" >> nixNote_.org -echo 'nix-instantiate == `nix-instantiate`' >> nixNote_.org -echo "nix-instantiate == `nix-instantiate`" >> nixNote_.org - -echo "#+END_SRC - -* initialised shell variables - -#+BEGIN_SRC sh -SpineSRC=$SpineSRC -SpineDOC=$SpineDOC -SpinePOD=$SpinePOD -SpineOUTversioned=$SpineOUTversioned -SpineOUT=$SpineOUT -#+END_SRC -" >> nixNote_.org - -echo '* spine run instruction examples -** parallelized tasks -*** doc source - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --pod --source --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** html & epub output - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --html --epub --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** sqlite db for each document - populate each db - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** doc source; html, epub; sqlite outputs - -#+BEGIN_SRC sh -$SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** curate (authors topics) - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --curate --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** html, curate - -#+BEGIN_SRC sh -$SpineBIN/spine --verbose --dark --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/* -$SpineBIN/spine --very-verbose --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** composite command: source pod, html, epub, curate, sqlite - -#+BEGIN_SRC sh -$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -** sequential tasks -*** sqlite db (shared) - create db - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUTversioned" -#+END_SRC - -*** sqlite db (shared) - populate db - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-update --output="$SpineOUTversioned" $SpineDOC/sisudoc-spine-markup-samples/markup/pod/* -#+END_SRC - -*** sqlite db (shared) - drop db - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-db-drop --output="$SpineOUTversioned" -#+END_SRC - -*** sqlite db (shared) - create & populate db (single step) - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-db-create --sqlite-update --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -*** composite command: source pod, html, epub, curate, sqlite - -#+BEGIN_SRC sh -$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* -#+END_SRC - -** config [./pod/].dr/config_local_site - -#+BEGIN_SRC sh -cat $SpinePOD/.dr/config_local_site -$SpineBIN/spine --show-config $SpinePOD -$SpineBIN/spine --show-config --output="$SpineOUTversioned" $SpinePOD -#+END_SRC - -** cgi operations (output to $SpineOUT /var/www) - -#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --sqlite-db-create --output="$SpineOUT" $SpinePOD/* - -$SpineBIN/spine -v --cgi-search-form-codegen --output=$SpineOUT $SpinePOD/* - -$SpineBIN/spine -v --show-config --config=$SpinePOD/.dr - -$SpineBIN/spine --html $SpinePOD/* - - -$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site -#+END_SRC - -*** generate html linked to search form - -#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate  --output=$SpineOUT $SpinePOD/* -#+END_SRC - -*** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate) - -#+BEGIN_SRC sh -$SpineBIN/spine -v --sqlite-db-create --sqlite-db-filename="" --sqlite-db-path="$SpineDBpath" -$SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="" --sqlite-db-path="$SpineDBpath" -#+END_SRC - -*** populate sqlite db - -#+BEGIN_SRC sh -$SpineBIN/spine -v --sqlite-update --sqlite-db-filename="" --output=$SpineOUT $SpinePOD/* -#+END_SRC - -*** generate html (linked to search form), sql output, curate COMPOSITE - -#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="" --cgi-sqlite-search-filename="" --sqlite-db-path="$SpineDBpath" --output="$SpineOUT" $SpinePOD/* -$SpineBIN/spine --epub --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --cgi-url-action="https://sisudoc.org/spine_search" --ouput="$SpineOUT" $SpinePOD/* -#+END_SRC - -*** generate html (linked to search form), sql output, curate COMPOSITE with resource configuration - -if names and paths are configured in resource configuration file, e.g. $SpinePOD/.rc/config_local_site - -#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update $SpinePOD/* -#+END_SRC - -#+BEGIN_SRC yaml -# sample resource configuration file ( $SpinePOD/.rc/config_local_site ) -output: -  path:                        "/srv/www/spine" -default: -  language:                    "en" -  papersize:                   "a4" -  text_wrap:                   "80" -  digest:                      "sha256" -webserv: -  http:                        "http" -  domain:                      "localhost" -  data_http:                   "http" -  data_domain:                 "localhost" -  data_root_url:               "https://sisudoc.org" -  data_root_path:              "/srv/www/spine" -  images_root_part:            "image" -  cgi_search_form_title:       "≅ SiSU Spine search ፨" -  cgi_http:                    "https" -  cgi_domain:                  "sisudoc.org" -  cgi_bin_url:                 "http://sisudoc.org/cgi-bin" -  cgi_bin_part:                "cgi-bin" -  cgi_bin_path:                "/var/www/cgi/cgi-bin" -  cgi_search_script:           "" -  cgi_action:                  "https://sisudoc.org/spine_search" -  db_sqlite_filename:          "" -  db_sqlite_path:              "/var/www/sqlite" -#+END_SRC - -*** make search form - -#+BEGIN_SRC sh -$SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local_site -#+END_SRC - -*** latex - -#+BEGIN_SRC sh -$SpineBIN/spine --latex --serial --output="$SpineOUT" $SpinePOD/* -ls $SpineOutstatic/latex/*.tex -#+END_SRC -' >> nixNote_.org - -#cat nixNote_.org - -#echo "emacs nixNote_.org" -#echo "cat nixNote_.org" diff --git a/.env/nix-commands b/.env/nix-commands deleted file mode 100644 index 8a16dbf..0000000 --- a/.env/nix-commands +++ /dev/null @@ -1,20 +0,0 @@ -- nix flake update && nix flake check --show-trace && nix flake show && nix develop .#devShell - -- nix build ".#default" --print-build-logs -- nix build ".#spine-dmd" --print-build-logs -- nix build ".#spine-ldc" --print-build-logs -- nix build ".#spine-gdc" --print-build-logs - -- nix develop -  - nix develop ".#devShell" --print-build-logs -  - nix develop ".#devShell-html" --print-build-logs -  - nix develop ".#devShell-epub" --print-build-logs -  - nix develop ".#devShell-latex-pdf" --print-build-logs -  - nix develop ".#devShell-sqlite" --print-build-logs -  - nix develop ".#devShell-i18n" --print-build-logs - -nix run .#default --print-build-logs - -nix develop --build ".#default" --print-build-logs - -nix-shell '<nixpkgs>' -A nix --pure diff --git a/.envrc-local b/.envrc-local index 74e98e0..8f0dbb3 100644 --- a/.envrc-local +++ b/.envrc-local @@ -1,12 +1,10 @@  export SpineBIN=./result/bin/spine  # ❯❯ nix builds spine binary:  #export SpineBIN=./result/bin/spine -# ❯❯ if from ../sisudoc-spine on directory tree nix build -#export SpineBIN=../sisudoc-spine/result/bin/spine -# ❯❯ dub builds spine binary (name depends on build, check): -#export SpineBIN=../sisudoc-spine/bin/spine -#export SpineBIN=../sisudoc-spine/bin/spine-ldc -#export SpineBIN=../sisudoc-spine/bin/spine-dmd +# ❯❯ dub builds spine binary (name depends on build, check, not available here): +#export SpineBIN=./bin/spine +#export SpineBIN=./bin/spine-ldc +#export SpineBIN=./bin/spine-dmd  # ❯❯ location of source files:  export SpineDOC=.  # ❯❯ location of source files pod: diff --git a/.envrc-local_ b/.envrc-local_ index 74e98e0..8f0dbb3 100644 --- a/.envrc-local_ +++ b/.envrc-local_ @@ -1,12 +1,10 @@  export SpineBIN=./result/bin/spine  # ❯❯ nix builds spine binary:  #export SpineBIN=./result/bin/spine -# ❯❯ if from ../sisudoc-spine on directory tree nix build -#export SpineBIN=../sisudoc-spine/result/bin/spine -# ❯❯ dub builds spine binary (name depends on build, check): -#export SpineBIN=../sisudoc-spine/bin/spine -#export SpineBIN=../sisudoc-spine/bin/spine-ldc -#export SpineBIN=../sisudoc-spine/bin/spine-dmd +# ❯❯ dub builds spine binary (name depends on build, check, not available here): +#export SpineBIN=./bin/spine +#export SpineBIN=./bin/spine-ldc +#export SpineBIN=./bin/spine-dmd  # ❯❯ location of source files:  export SpineDOC=.  # ❯❯ location of source files pod: @@ -1,7 +1,7 @@  NIX_ENFORCE_PURITY=1  # - https://github.com/nix-community/nix-direnv -NixDirEnvVersion="3.0.6" -NixDirEnvSHA="sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=" +NixDirEnvVersion="3.0.7" +NixDirEnvSHA="sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc="  if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then    source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}"  fi @@ -23,26 +23,26 @@ echo '  • for a dev shell (development environment):    • nix develop      ❯❯ nix develop ".#" --print-build-logs -c zsh -  • nix develop using nixpkgs +  • nix develop some specialized shells (tools)      ❯❯ nix develop ".#dsh-epub" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-html" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-i18n" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-spine" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-sqlite" --print-build-logs -c zsh -  • nix develop using package overlays: (dmd, ldc, dub) -    ❯❯ nix develop ".#dsh" --print-build-logs -c zsh +  • nix develop using nixpkgs +    ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh +    ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh +  • nix develop using package overlays: (dmd-2.111.0, ldc-1.41.0, dub-1.39.0, dtools-2.110.0)      ❯❯ nix develop ".#dsh-overlay-dmd" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh -  ❯❯ nix flake show +  • for more nix develop specialized shells +    ❯❯ nix flake show  • to build project: - -  ❯❯ nix build --print-build-logs -  ❯❯ nix build ".#" --print-build-logs - -• to build project: -  • nix build using nixpkgs +  • nix flake set default +    ❯❯ nix build --print-build-logs +    ❯❯ nix build ".#" --print-build-logs      ❯❯ nix build ".#spine-nixpkgs-dmd" --print-build-logs      ❯❯ nix build ".#spine-nixpkgs-ldc" --print-build-logs    • nix build using package overlays: (dmd, ldc, dub, dtools) @@ -64,8 +64,7 @@ echo '    ❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*    ❯❯ ${SpineBIN} -v --source --pod --latex --latex-init --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/* + +  ❯❯ ${SpineBIN} -v --sqlite-db-create --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db +  ❯❯ ${SpineBIN} -v --sqlite-update --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db ./markup/pod/*  ' -echo "• -  ❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/* -  ❯❯ ${SpineBIN} -v --source --pod --latex --latex-init --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/* -" @@ -14,10 +14,8 @@  !.envrc-local  !.envrc-nix  !.envrc-git-init -!.env -!.env/** -!README  !README.md +!README  !COPYRIGHT  !CHANGELOG  !makefile @@ -25,6 +23,8 @@  !configuration.txt  !*.json  !*.sdl +!*.md +!*.txt  !tangle  !*.org  !org @@ -74,15 +74,18 @@  **/.dub/**  tmp/**  *_.org +*_.md +*_.txt +*_.json  *_.nix  *_.d  *_.txt  *_ -!.envrc-local_  *.swp  *~  \#*  *.\#* +!.envrc-local_  #!*/  #\#*  #*.\#* diff --git a/derivation.nix b/derivation.nix index 9bbb7f4..8f0364a 100644 --- a/derivation.nix +++ b/derivation.nix @@ -59,7 +59,7 @@ with (                  exit "Error: could not find D compiler"                fi                echo "$DC_ used as D compiler to build $pname" -              dub run --compiler=$DC --build=release --combined --skip-registry=all +              dub build --compiler=$DC --build=release --combined --skip-registry=all                runHook postBuild              '';              checkPhase = '' @@ -10,7 +10,7 @@ with pkgs;        # ❯❯❯ nix_related        #nix # if not on NixOS, this is needed        direnv -      nixVersions.latest #nixVersions.latest #nixVersions.git +      nixVersions.latest #nixVersions.latest #nixVersions.git #nixVersions.nix_2_29 #nixVersions.nix_2_29        nix-prefetch-git        validatePkgConfig        nix-output-monitor @@ -21,7 +21,6 @@ with pkgs;        # ❯❯❯ dev        gnumake        ps -      dtools        # ❯❯❯ d_build_related        # ❯❯ package manager        dub @@ -1,12 +1,32 @@  {    "nodes": { +    "d-overlay": { +      "inputs": { +        "nixpkgs": [ +          "nixpkgs" +        ] +      }, +      "locked": { +        "lastModified": 1749310555, +        "narHash": "sha256-QRkhrRy6wLBBjSlVTQgjoCsiL5HUJa/nPAOGoNmAkzw=", +        "ref": "refs/heads/main", +        "rev": "03160d6114c3fb835b079f20797dac6b88ab5cbc", +        "revCount": 22, +        "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" +      } +    },      "nixpkgs": {        "locked": { -        "lastModified": 1744536153, -        "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", +        "lastModified": 1749401433, +        "narHash": "sha256-HXIQzULIG/MEUW2Q/Ss47oE3QrjxvpUX7gUl4Xp6lnc=",          "owner": "NixOS",          "repo": "nixpkgs", -        "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", +        "rev": "08fcb0dcb59df0344652b38ea6326a2d8271baff",          "type": "github"        },        "original": { @@ -18,31 +38,11 @@      },      "root": {        "inputs": { +        "d-overlay": "d-overlay",          "nixpkgs": "nixpkgs", -        "sisudoc-d-overlay": "sisudoc-d-overlay",          "spine": "spine"        }      }, -    "sisudoc-d-overlay": { -      "inputs": { -        "nixpkgs": [ -          "nixpkgs" -        ] -      }, -      "locked": { -        "lastModified": 1745018821, -        "narHash": "sha256-eCkrJgGghQwT5Yp23wvAHKghGdb9S7tXR7+vv13/XTI=", -        "ref": "refs/heads/main", -        "rev": "c94ef3f0f8f379112c08f27edc623d637fd512de", -        "revCount": 21, -        "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" -      } -    },      "spine": {        "inputs": {          "nixpkgs": [ @@ -50,11 +50,11 @@          ]        },        "locked": { -        "lastModified": 1745020582, -        "narHash": "sha256-jlITgkxR6IRsXSQOW3LphzqmTv10cKKjTwgNAXUDyKA=", +        "lastModified": 1749307805, +        "narHash": "sha256-N0TlfLqjXapQEuvrGeUq0NEvbXAXlCQgk8P5v2K/aBc=",          "ref": "refs/heads/main", -        "rev": "85447aadf685dcb8c2d86f0e36c82d7f5bc18907", -        "revCount": 680, +        "rev": "311d82d0f73e60e537f7c2f2f535586945ce0e06", +        "revCount": 681,          "type": "git",          "url": "git://git.sisudoc.org/software/sisudoc-spine"        }, @@ -6,12 +6,7 @@      inputs.nixpkgs.follows = "nixpkgs";      flake = true;    }; -  #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 = { +  inputs.d-overlay = {      url = "git://git.sisudoc.org/package/dlang-nix-overlays-and-flake";      inputs.nixpkgs.follows = "nixpkgs";      flake = true; @@ -20,10 +15,9 @@      self,      nixpkgs,      spine, -    #spine-search-cgi, -    sisudoc-d-overlay, +    d-overlay,      ... -  }@inputs: let +  } @ inputs: let      version = "0.18.0";      shell = ./shell.nix;      devEnv = ./nixDevEnv.sh; @@ -36,13 +30,9 @@      in {        default = spine.packages.${system}.default;        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: { @@ -54,9 +44,9 @@      devShells = forAllSystems (system: let        pkgs = nixpkgsFor.${system};        shellHook = '' +        export DFLAGS="-O2 -boundscheck=on"          export Date=`date "+%Y%m%d"`          ## set local values in .envrc-local (or here if you must) -        echo "  ❯❯ ./result/bin/spine -v --source --pod --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=./OUTPUT_TEST_sisudocSpine ./markup/pod/*";        '';      in        with pkgs; { @@ -74,10 +64,10 @@            inherit shellHook;          };          dsh-spine = spine.devShells.${system}.default; -        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-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-epub = mkShell {            name = "spine-0.18.0 dev shell for epub output";            inherit shell; @@ -86,7 +76,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite              libxml2 @@ -115,7 +104,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite              # ❯❯ text-mode web browsers @@ -136,13 +124,11 @@              ldc              #dmd              dub -            dtools              gnumake              source-sans-pro              source-serif-pro              source-code-pro -            texliveFull -            #texlive.combined.scheme-full +            texlive.combined.scheme-full            ];            inherit shellHook;          }; @@ -154,7 +140,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite            ]; @@ -168,7 +153,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite              perl538Packages.Po4a diff --git a/markup/sisudoc-spine-bespoke-output/html/homepage.index.html b/markup/sisudoc-spine-bespoke-output/html/homepage.index.html index ddb3553..adf34f1 100644 --- a/markup/sisudoc-spine-bespoke-output/html/homepage.index.html +++ b/markup/sisudoc-spine-bespoke-output/html/homepage.index.html @@ -588,12 +588,14 @@ ralph.amissah www since 1993 ;-)      [ <a href="https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552/">        NixOS Foundation board: Giving power to the community      </a> ]<br> +<!--      [ <a href="https://aux.computer/">          Aux - aux.computer - a community fork of nix (under deliberation), billed as "An alternative to the Nix ecosystem"      </a> ]      [ <a href="https://forum.aux.computer/">          community discussion (discourse)      </a> ]<br> +-->      Gnu [ <a href="https://guix.gnu.org/">          Guix      </a> ] diff --git a/org/config_env.org b/org/config_env.org index e376bb0..6e8cbb1 100644 --- a/org/config_env.org +++ b/org/config_env.org @@ -79,26 +79,26 @@ echo '  • for a dev shell (development environment):    • nix develop      ❯❯ nix develop ".#" --print-build-logs -c zsh -  • nix develop using nixpkgs +  • nix develop some specialized shells (tools)      ❯❯ nix develop ".#dsh-epub" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-html" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-i18n" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-spine" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-sqlite" --print-build-logs -c zsh -  • nix develop using package overlays: (dmd, ldc, dub) -    ❯❯ nix develop ".#dsh" --print-build-logs -c zsh +  • nix develop using nixpkgs +    ❯❯ nix develop ".#dsh-nixpkgs-dmd" --print-build-logs -c zsh +    ❯❯ nix develop ".#dsh-nixpkgs-ldc" --print-build-logs -c zsh +  • nix develop using package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>, dtools-<<dtools_version>>)      ❯❯ nix develop ".#dsh-overlay-dmd" --print-build-logs -c zsh      ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs -c zsh -  ❯❯ nix flake show - -• to build project: - -  ❯❯ nix build --print-build-logs -  ❯❯ nix build ".#" --print-build-logs +  • for more nix develop specialized shells +    ❯❯ nix flake show  • to build project: -  • nix build using nixpkgs +  • nix flake set default +    ❯❯ nix build --print-build-logs +    ❯❯ nix build ".#" --print-build-logs      ❯❯ nix build ".#spine-nixpkgs-dmd" --print-build-logs      ❯❯ nix build ".#spine-nixpkgs-ldc" --print-build-logs    • nix build using package overlays: (dmd, ldc, dub, dtools) @@ -120,10 +120,18 @@ echo '    ❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*    ❯❯ ${SpineBIN} -v --source --pod --latex --latex-init --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/* + +  ❯❯ ${SpineBIN} -v --sqlite-db-create --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db +  ❯❯ ${SpineBIN} -v --sqlite-update --sqlite-db-filename=${SpineSQLdb} --sqlite-db-path=./_tmp-db ./markup/pod/*  ' +#+END_SRC + +#+BEGIN_SRC shell  echo "•    ❯❯ ${SpineBIN} -v --source --pod --epub --html --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/*    ❯❯ ${SpineBIN} -v --source --pod --latex --latex-init --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=${SpineOUT} ${SpinePOD}/* +  ❯❯ spine --very-verbose --sqlite-db-create --sqlite-db-filename=spine.search.db --sqlite-db-path=./_tmp-db +  ❯❯ spine -v --html --epub --latex --sqlite-update --sqlite-db-filename=spine.search.db --sqlite-db-path=./tmp-db ./markup/pod/*  "  #+END_SRC @@ -148,12 +156,10 @@ fi  export SpineBIN=./result/bin/spine  # ❯❯ nix builds spine binary:  #export SpineBIN=./result/bin/spine -# ❯❯ if from ../sisudoc-spine on directory tree nix build -#export SpineBIN=../sisudoc-spine/result/bin/spine -# ❯❯ dub builds spine binary (name depends on build, check): -#export SpineBIN=../sisudoc-spine/bin/spine -#export SpineBIN=../sisudoc-spine/bin/spine-ldc -#export SpineBIN=../sisudoc-spine/bin/spine-dmd +# ❯❯ dub builds spine binary (name depends on build, check, not available here): +#export SpineBIN=./bin/spine +#export SpineBIN=./bin/spine-ldc +#export SpineBIN=./bin/spine-dmd  # ❯❯ location of source files:  export SpineDOC=.  # ❯❯ location of source files pod: diff --git a/org/config_git.org b/org/config_git.org index 9622e4e..4420641 100644 --- a/org/config_git.org +++ b/org/config_git.org @@ -4,7 +4,7 @@  #+FILETAGS:    :spine:hub:  #+AUTHOR:      Ralph Amissah  #+EMAIL:       [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] -#+COPYRIGHT:   Copyright (C) 2015 - 2024 Ralph Amissah +#+COPYRIGHT:   Copyright (C) 2015 - 2025 Ralph Amissah  #+LANGUAGE:    en  #+STARTUP:     content hideblocks hidestars noindent entitiespretty  #+PROPERTY:    header-args  :exports code @@ -19,7 +19,7 @@  ** .gitignore :gitignore:  #+HEADER: :tangle "../.gitignore" -#+BEGIN_SRC sh +#+BEGIN_SRC gitignore  # git ls-files --others --exclude-from=.git/info/exclude  # git check-ignore -v flake.lock  # git clean -ix @@ -36,10 +36,8 @@  !.envrc-local  !.envrc-nix  !.envrc-git-init -!.env -!.env/** -!README  !README.md +!README  !COPYRIGHT  !CHANGELOG  !makefile @@ -47,6 +45,8 @@  !configuration.txt  !*.json  !*.sdl +!*.md +!*.txt  !tangle  !*.org  !org @@ -96,119 +96,28 @@  ,**/.dub/**  tmp/**  ,*_.org +,*_.md +,*_.txt +,*_.json  ,*_.nix  ,*_.d  ,*_.txt  ,*_ -!.envrc-local_  ,*.swp  ,*~  \#*  ,*.\#* +!.envrc-local_  #!*/  #\#*  #*.\#*  #.reggae/**  #+END_SRC -** markup/.gitignore (redundant) :gitignore: - -#+HEADER: :tangle "../markup/.gitignore" -#+BEGIN_SRC sh -# git ls-files --others --exclude-from=.git/info/exclude -# git check-ignore -v flake.lock -# git clean -ix -# find . -name "*_" | xargs rm -rf -# find . -name "*.o" | xargs rm -rf -,* -!.gitignore -!COPYRIGHT -!README -!README.md -!shell.nix -!packages.nix -!version.txt -!pod/ -!pod/.dr/config_local_site -# pod.manifest -!pod/*/ -!pod/*/pod.manifest -# conf/document_make -!pod/*/conf/ -!pod/*/conf/document_make -# media/text -!pod/*/media/ -!pod/*/media/text/ -!pod/*/media/text/*/ -!pod/*/media/text/*/*.sst -!pod/*/media/text/*/*.ssm -!pod/*/media/text/*/*.ssi -!pod/*/media/text/*/index.html.in -# media/image -!pod/*/media/image/ -!pod/*/media/image/*.png -!pod/*/media/image/*.jpg -!pod/*/media/image/*.PNG -!pod/*/media/image/*.JPG -# tools/po4a -!pod/*/tools/ -!pod/*/tools/Makefile -!pod/*/tools/bin/ -!pod/*/tools/bin/*.sh -!pod/*/tools/po4a/ -!pod/*/tools/po4a/pot/ -!pod/*/tools/po4a/pot/*.sst.pot -!pod/*/tools/po4a/pot/*.ssm.pot -!pod/*/tools/po4a/pot/*.ssi.pot -!pod/*/tools/po4a/pot/index.html.in.pot -!pod/*/tools/po4a/po/ -!pod/*/tools/po4a/po/*/ -!pod/*/tools/po4a/po/*/*.sst.po -!pod/*/tools/po4a/po/*/*.ssm.po -!pod/*/tools/po4a/po/*/*.ssi.po -!pod/*/tools/po4a/po/*/index.html.in.po -!pod/.dr -!pod/.dr/* -# separate from media/text use tools -!pod/*/media/text/Makefile -!pod/*/media/text/bin/ -!pod/*/media/text/bin/*.sh -!pod/*/media/text/pot/ -!pod/*/media/text/pot/*.sst.pot -!pod/*/media/text/pot/*.ssm.pot -!pod/*/media/text/pot/*.ssi.pot -!pod/*/media/text/pot/index.html.in.pot -!pod/*/media/text/po/ -!pod/*/media/text/po/*/ -!pod/*/media/text/po/*/*.sst.po -!pod/*/media/text/po/*/*.ssm.po -!pod/*/media/text/po/*/*.ssi.po -!pod/*/media/text/po/*/index.html.in.po -!non-pod-samples/ -!non-pod-samples/*.sst -!non-pod-samples/image/ -!non-pod-samples/image/*.png -!non-pod-samples/image/*.jpg -!non-pod-samples/image/*.PNG -!non-pod-samples/image/*.JPG -!sisudoc-spine-bespoke-output/ -!sisudoc-spine-bespoke-output/** -# skip -.dub/** -tmp/** -,*_.org -,*_.d -,*_.txt -,*_ -,*~ -\#* -,*.\#* -#+END_SRC -  ** .gitattributes :gitattributes:  #+HEADER: :tangle "../.gitattributes" -#+BEGIN_SRC sh +#+BEGIN_SRC gitattributes  /org export-ignore  .gitattributes export-ignore  /.dub export-ignore diff --git a/org/config_nix.org b/org/config_nix.org index 88d61bf..a6d4360 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -31,12 +31,7 @@      inputs.nixpkgs.follows = "nixpkgs";      flake = true;    }; -  #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 = { +  inputs.d-overlay = {      url = "<<sisudoc_dlang_nix_overlay_src>>";      inputs.nixpkgs.follows = "nixpkgs";      flake = true; @@ -45,10 +40,9 @@      self,      nixpkgs,      spine, -    #spine-search-cgi, -    sisudoc-d-overlay, +    d-overlay,      ... -  }@inputs: let +  } @ inputs: let      version = "<<spine_version>>";      shell = ./shell.nix;      devEnv = ./nixDevEnv.sh; @@ -61,13 +55,9 @@      in {        default = spine.packages.${system}.default;        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: { @@ -79,9 +69,9 @@      devShells = forAllSystems (system: let        pkgs = nixpkgsFor.${system};        shellHook = '' +        export DFLAGS="-O2 -boundscheck=on"          export Date=`date "+%Y%m%d"`          ## set local values in .envrc-local (or here if you must) -        echo "  ❯❯ ./result/bin/spine -v --source --pod --epub --html --html-link-pdf --html-link-curate --html-link-markup --curate --output=./OUTPUT_TEST_sisudocSpine ./markup/pod/*";        '';      in        with pkgs; { @@ -99,10 +89,10 @@            inherit shellHook;          };          dsh-spine = spine.devShells.${system}.default; -        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-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-epub = mkShell {            name = "spine-<<spine_version>> dev shell for epub output";            inherit shell; @@ -111,7 +101,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite              libxml2 @@ -140,7 +129,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite              # ❯❯ text-mode web browsers @@ -161,13 +149,11 @@              ldc              #dmd              dub -            dtools              gnumake              source-sans-pro              source-serif-pro              source-code-pro -            texliveFull -            #texlive.combined.scheme-full +            texlive.combined.scheme-full            ];            inherit shellHook;          }; @@ -179,7 +165,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite            ]; @@ -193,7 +178,6 @@              ldc              #dmd              dub -            dtools              gnumake              sqlite              perl538Packages.Po4a @@ -302,7 +286,7 @@ with pkgs;        # ❯❯❯ nix_related        #nix # if not on NixOS, this is needed        direnv -      nixVersions.latest #nixVersions.latest #nixVersions.git +      nixVersions.latest #nixVersions.latest #nixVersions.git #nixVersions.nix_2_29 #nixVersions.nix_2_29        nix-prefetch-git        validatePkgConfig        nix-output-monitor @@ -313,7 +297,6 @@ with pkgs;        # ❯❯❯ dev        gnumake        ps -      dtools        # ❯❯❯ d_build_related        # ❯❯ package manager        dub @@ -406,7 +389,7 @@ with (                  exit "Error: could not find D compiler"                fi                echo "$DC_ used as D compiler to build $pname" -              dub run --compiler=$DC --build=release --combined --skip-registry=all +              dub build --compiler=$DC --build=release --combined --skip-registry=all                runHook postBuild              '';              checkPhase = '' @@ -485,7 +468,7 @@ file://<<spine_tarball_path>>/<<spine_tarball_filename>>  #+END_SRC  #+NAME: nixpkgs_local -#+BEGIN_SRC sh +#+BEGIN_SRC shell  /srv/nixpkgs-dev/nixpkgs  #+END_SRC diff --git a/org/nix-develop-dlang-shared.org b/org/nix-develop-dlang-shared.org index 1d8fe34..2a2f66d 100644 --- a/org/nix-develop-dlang-shared.org +++ b/org/nix-develop-dlang-shared.org @@ -17,20 +17,51 @@  * nix  ** direnv +*** NOTES to update direnv in .envrc-nix + +- https://github.com/nix-community/nix-direnv + +check for latest version: + +- https://github.com/nix-community/nix-direnv/releases + +update direnv version and sha hash: +- emacs org/nix-develop-dlang-shared.org + +re-tangle file: + +- emacs org/config_env.org +  updates: .envrc-nix + +update flake.lock: +- nix flake update && nix flake check && nix flake show +  *** version SET  #+NAME: direnv-version  #+BEGIN_SRC org -<<direnv_version_3_0_6>> +<<direnv_version_3_0_7>>  #+END_SRC  #+NAME: direnv-hash  #+BEGIN_SRC org -<<direnv_hash_3_0_6>> +<<direnv_hash_3_0_7>>  #+END_SRC  *** versions +**** 3.0.7 + +#+NAME: direnv_version_3_0_7 +#+BEGIN_SRC org +3.0.7 +#+END_SRC + +#+NAME: direnv_hash_3_0_7 +#+BEGIN_SRC org +sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc= +#+END_SRC +  **** 3.0.6  #+NAME: direnv_version_3_0_6 @@ -81,8 +112,35 @@ sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=  * dlang  ** ldc +*** NOTES to update ldc + +check for latest version: -- https://github.com/ldc-developers/ldc/releases +update ldc version and sha hash: +- emacs ./org/nix-develop-dlang-shared.org + +re-tangle files: +- emacs ./org/nixpkgs_overlays_d_related.org +  updates: nix-overlays/ldc/package.nix +- emacs ./org/config_nix.org +  updates: flake.nix +- emacs ./org/config_env.org +  updates: .envrc-nix + +update flake.lock: +- nix flake update && nix flake check && nix flake show + +build: +- nix build ".#spine-overlay-ldc" --print-build-logs + +adjust nix overlay if required (to get started): +- git clone --depth 1 https://github.com/NixOS/nixpkgs +- find ./nixpkgs/pkgs/ -type d -name "ldc" +  ./nixpkgs/pkgs/by-name/ld/ldc +- compare with overlay: +  ./nix-overlays/ldc +- overlay is tangled from: +  emacs ./org/nixpkgs_overlays_d_related.org  *** version SET  **** version & sha256 nix composite @@ -97,39 +155,39 @@ sha256 = "<<ldc-hash>>";  #+NAME: ldc-version  #+BEGIN_SRC org -<<ldc_version_1_40_1>> +<<ldc_version_1_41_0>>  #+END_SRC  #+NAME: ldc-hash  #+BEGIN_SRC org -<<ldc_hash_1_40_1>> +<<ldc_hash_1_41_0>>  #+END_SRC  #+NAME: ldc-llvm-set  #+BEGIN_SRC org -<<ldc_llvm_set_1_40_1>> +<<ldc_llvm_set_1_41_0>>  #+END_SRC  *** versions -**** 1.41 -***** 1.41.0 beta1 OK ✓ +**** 1.41 OK ✓ +***** 1.41.0 OK ✓ - - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.41.0-beta1.tar.gz + - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.41.0.tar.gz   - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz  #+NAME: ldc_version_1_41_0  #+BEGIN_SRC nix -1.41.0-beta1 +1.41.0  #+END_SRC  #+NAME: ldc_hash_1_41_0  #+BEGIN_SRC nix -sha256-FSdBOVkHdEJ7flKTyjkE0MCEUIMOXRv4uBn8OKPPdn4= +sha256-6LcpY3LSFK4KgEiGrFp/LONu5Vr+/+vI04wEEpF3s+s=  #+END_SRC  #+NAME: ldc_llvm_set_1_41_0  #+BEGIN_SRC nix -llvm_19 +llvm_20  #+END_SRC  **** 1.40 OK ✓ diff --git a/org/spine-bespoke-output-homepage-html.org b/org/spine-bespoke-output-homepage-html.org index f0c9177..32dc9d1 100644 --- a/org/spine-bespoke-output-homepage-html.org +++ b/org/spine-bespoke-output-homepage-html.org @@ -609,12 +609,14 @@ ralph.amissah www since 1993 ;-)      [ <a href="https://discourse.nixos.org/t/nixos-foundation-board-giving-power-to-the-community/44552/">        NixOS Foundation board: Giving power to the community      </a> ]<br> +<!--      [ <a href="https://aux.computer/">          Aux - aux.computer - a community fork of nix (under deliberation), billed as "An alternative to the Nix ecosystem"      </a> ]      [ <a href="https://forum.aux.computer/">          community discussion (discourse)      </a> ]<br> +-->      Gnu [ <a href="https://guix.gnu.org/">          Guix      </a> ] | 
