aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/config_env.org229
-rw-r--r--org/config_git.org19
-rw-r--r--org/config_nix.org368
-rw-r--r--org/env.org6
-rw-r--r--org/shared.org10
-rw-r--r--org/sisu_version_info_and_doc_header_including_copyright_and_license.org12
-rw-r--r--org/xhtml.org9
7 files changed, 395 insertions, 258 deletions
diff --git a/org/config_env.org b/org/config_env.org
new file mode 100644
index 00000000..5fcf7a53
--- /dev/null
+++ b/org/config_env.org
@@ -0,0 +1,229 @@
+-*- mode: org -*-
+#+TITLE: configuration env
+#+DESCRIPTION: env envrc used by make & nix
+#+FILETAGS: :sisu:build:tools:
+#+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 :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+ :mkdirp yes
+#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+
+- [[./doc-reform.org][doc-reform.org]] [[../org/][org/]]
+- [[./config_nix.org][config_nix.org]]
+- [[./config_make.org][config_make.org]]
+
+* envrc
+** nixDevEnv envrc :envrc:
+
+#+HEADER: :tangle ../nixDevEnv.sh
+#+BEGIN_SRC shell
+if [ -f .envrc ]; then
+ source_env_if_exists .envrc || source .envrc
+fi
+#+END_SRC
+
+* envrc :envrc:
+
+- https://github.com/nix-community/nix-direnv
+ - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000="
+
+** .envrc
+
+#+NAME: envrc
+#+HEADER: :tangle ../.envrc
+#+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
+fi
+if [ -f .envrc-nix ]; then
+ source_env_if_exists .envrc-nix || source .envrc-nix
+fi
+#+END_SRC
+
+** .envrc-nix
+
+- https://github.com/nix-community/nix-direnv
+ - source_url
+ - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>"
+ - ${NixDirEnvVersion}
+
+#+HEADER: :tangle ../.envrc-nix
+#+BEGIN_SRC shell
+NIX_ENFORCE_PURITY=1
+# - https://github.com/nix-community/nix-direnv
+NixDirEnvVersion="<<direnv-version>>"
+NixDirEnvSHA="<<direnv-sha>>"
+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
+watch_file makefile
+watch_file nixDevEnv.sh
+watch_file .envrc-local
+watch_file .envrc-nix
+PATH_add result/bin
+use flake .
+echo "
+• 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 '.#rsh-comprehensive-shell' --print-build-logs -c zsh
+
+• to build project:
+
+ ❯❯ nix build '.#' --print-build-logs
+ - (see nix other/additional build options):
+ ❯❯ nix flake show
+"
+#+END_SRC
+
+*** 3.0.7
+
+#+NAME: direnv-version
+#+BEGIN_SRC shell
+3.0.7
+#+END_SRC
+
+#+NAME: direnv-sha
+#+BEGIN_SRC shell
+sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc=
+#+END_SRC
+
+*** 3.0.6
+
+#+BEGIN_SRC shell
+3.0.6
+#+END_SRC
+
+#+BEGIN_SRC shell
+sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=
+#+END_SRC
+
+*** 3.0.4
+
+#+BEGIN_SRC shell
+3.0.4
+#+END_SRC
+
+#+BEGIN_SRC shell
+sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
+#+END_SRC
+
+*** 3.0.0
+
+#+BEGIN_SRC shell
+3.0.0
+#+END_SRC
+
+#+BEGIN_SRC shell
+sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=
+#+END_SRC
+
+*** 2.4.0
+
+#+BEGIN_SRC shell
+2.4.0
+#+END_SRC
+
+#+BEGIN_SRC shell
+sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
+#+END_SRC
+
+#+BEGIN_SRC shell
+2.3.0
+#+END_SRC
+
+#+BEGIN_SRC shell
+sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=
+#+END_SRC
+
+*** empty
+
+#+NAME: direnv-sha_
+#+BEGIN_SRC shell
+sha256-0000000000000000000000000000000000000000000=
+#+END_SRC
+
+#+BEGIN_SRC shell
+- 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 shell
+if [[ ! -d ./.git ]]; then
+ git init
+ git add .
+fi
+#+END_SRC
+
+** .envrc-local CHECK MODIFY
+
+- bespoke modify appropriately and generate if needed
+
+#+HEADER: :tangle ../.envrc-local_
+#+HEADER: :noweb yes
+#+BEGIN_SRC shell
+export SisuVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
+PATH_add result/bin
+#export sisuBIN=bin
+#export sisuBIN=result/bin
+export sisuSRC=~/grotto/repo/git.repo/projects/project-sisu/sisu
+export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu
+export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/susu-markup/sisu-markup-samples/data/samples/current
+export sisuOUT=/srv/www/sisu
+#export sisuOUT=/var/www
+#export sisuOUTver=/tmp/sisu/$sisuVER/www
+export sisuCGIbin=/var/www/cgi/cgi-bin
+export sisuSearchActionLocal='http://localhost/sisu_search'
+export sisuSearchActionRemote='https://sisudoc.org/sisu_search'
+export sisuCGIform='sisu_search'
+export sisuSQLdb='spine.search.db'
+export sisuDBpath=/var/www/sqlite
+#export sisuDBpath=/srv/www/sisu/sqlite
+export RUBYLIB+=`pwd`/lib
+#+END_SRC
+
+export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos
+
+*** .envrc-local CHECK MODIFY
+
+- bespoke modify appropriately and generate if needed
+
+#+HEADER: :noweb yes
+#+BEGIN_SRC shell
+ export Date=`date "+%Y%m%d"`
+ export sisuver=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
+ export PROG_VER_GIT="`git describe --long --tags | sed -e 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'`"
+ #export PROG_VER_DECLARED="`cat ./views/version.txt | grep --color=never "enum" | sed 's/.\+(\([0-9]\+\),[ \t]\+\([0-9]\+\),[ \t]\+\([0-9]\+\)[ \t]*).\+/\1.\2.\3/g'`"
+ export sisuNixHelp="cat ./.env/nix-commands"
+ export sisuTest="nix shell .#default --print-build-logs --command sisu --very-verbose --epub --html --html-link-search --html-link-curate --curate --output=\"\$sisuOUT\" $sisuPOD/*"
+ export sisuHtml="sisu --very-verbose --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename=\"sisu.search.db\" --cgi-sqlite-search-filename=\"sisu_search\" --sqlite-db-path=\"\$sisuDBpath\" --output=\"\$sisuOUT\" $sisuPOD/*"
+ export sisuEpub="sisu --very-verbose --epub --output=\"\$sisuOUT\" $sisuPOD/*"
+ export sisuLatex="sisu --very-verbose --latex --output=\"\$sisuOUT\" $sisuPOD/*"
+ export sisuPdf="sisu --very-verbose --pdf --output=\"\$sisuOUT\" $sisuPOD/*"
+ export sisuSqliteCreateDB="sisu --very-verbose --sqlite-db-recreate --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\""
+ export sisuSqlite="sisu --very-verbose --sqlite-discrete --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*"
+ #export sisuSqlite="sisu --very-verbose --sqlite-update --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*"
+#+END_SRC
diff --git a/org/config_git.org b/org/config_git.org
index 68ff2cea..eb3d596e 100644
--- a/org/config_git.org
+++ b/org/config_git.org
@@ -47,6 +47,7 @@
!conf/
!conf/**
!*.json
+!*.md
!*.org
!org/
!org/*.org
@@ -96,18 +97,32 @@
,*.gem
,*.gemspec
!sisu.gemspec
-,*_.rb
-,*.rb_
0???-*.patch
,*.gz
,*.xz
,*_
.*
+,*_.org
+,*_.nix
+,*_.rb
+,*.rb_
+,*_.txt
+,*_.md
+,*_
+,*.swp
+,*~
+\#*
+,*.\#*
+#!*/
+#\#*
+#*.\#*
+tmp/**
!.gitignore
!.gitattributes
!.envrc
!.envrc-local
!.envrc-nix
+!!.envrc-git-init
#+END_SRC
** .gitattributes :gitattributes:
diff --git a/org/config_nix.org b/org/config_nix.org
index ca7bfc12..b7085e73 100644
--- a/org/config_nix.org
+++ b/org/config_nix.org
@@ -1,10 +1,10 @@
-*- mode: org -*-
#+TITLE: configuration nix
-#+DESCRIPTION: makefile for spine
+#+DESCRIPTION: configuration nix
#+FILETAGS: :sisu:build:tools:
#+AUTHOR: Ralph Amissah
#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
-#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah
+#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah
#+LANGUAGE: en
#+STARTUP: content hideblocks hidestars noindent entitiespretty
#+PROPERTY: header-args :exports code
@@ -15,144 +15,26 @@
#+PROPERTY: header-args+ :mkdirp yes
#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
-* nix :nix:
-
-#+NAME: nixpkgs_local
-#+BEGIN_SRC sh
-/srv/nix/nixpkgs
-#+END_SRC
-
-- default.nix
-- shell.nix
-
-** envrc :envrc:
-*** .envrc
-
-- https://github.com/nix-community/nix-direnv
- - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000="
-
-#+HEADER: :tangle ../.envrc
-#+BEGIN_SRC sh
-if [ -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
-fi
-#+END_SRC
-
-*** .envrc-nix
-
-#+HEADER: :tangle ../.envrc-nix
-#+BEGIN_SRC sh
-NIX_ENFORCE_PURITY=1
-# - https://github.com/nix-community/nix-direnv
-#NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000="
-#direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc
-NixDirEnvVersion="2.4.0"
-NixDirEnvSHA="sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U="
-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
-watch_file makefile
-watch_file .envrc
-watch_file .envrc-local
-watch_file .envrc-nix
-nix_direnv_watch_file flake.nix
-nix_direnv_watch_file shell.nix
-nix_direnv_watch_file .envrc
-nix_direnv_watch_file .envrc-local
-nix_direnv_watch_file .envrc-nix
-#nix flake update
-#nix flake check
-echo ""
-PATH_add result/bin
-nix flake show
-#use flake .
-#+END_SRC
-
-*** .envrc-local CHECK MODIFY
-
-- bespoke modify appropriately and generate if needed
-
-#+HEADER: :tangle ../.envrc-local_
-#+HEADER: :noweb yes
-#+BEGIN_SRC sh
-export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos
-#export NIX_PATH=nixpkgs=/nixpkgs-ra/nixpkgs
-## reload when these files change
-use flake
-watch_file flake.nix
-#eval "$(nix print-dev-env)"
-export sisuVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
-#export sisuBIN=bin
-export sisuSRC=~/grotto/repo/git.repo/projects/project-sisu/sisu
-export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/susu-markup/sisu-markup-samples/data/samples/current
-export sisuOUT=/var/www
-export sisuOUTver=/tmp/sisu/$sisuVER/www
-export RUBYLIB+=`pwd`/lib
-#+END_SRC
-
-#+BEGIN_SRC sh
- export Date=`date "+%Y%m%d"`
- export sisuver=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
- ### set local values in .envrc-local (or modify here if you must)
- # export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu
- # export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/doc-reform-markup/sisu-markup-samples
- # export sisuSRC=~/grotto/repo/git.repo/projects/project-sisu/sisu
- # export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/susu-markup/sisu-markup-samples/data/samples/current
- # export sisuOUT=/srv/www/sisu
- # export sisuOUTver=/srv/www/sisu/$sisuVER/www
- # export sisu=/srv/www/sisu
- # export sisu=/var/www/sqlite
- # export sisu=/srv/www/sisu/sqlite
- export sisu=$sisuPROJ/src
- export sisu=$sisuPROJ/result/lib
- export sisu=$sisuDOC/markup/pod
- export sisu=$sisuOUT/$sisuVER
- export sisu='http://localhost/sisu_search'
- # export sisuSearchActionRemote='https://sisudoc.org/sisu_search'
- export sisuCGIform='sisu_search'
- export sisuSQLdb='sisusearch.db'
- export PROG_VER_GIT="`git describe --long --tags | sed -e 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'`"
- #export PROG_VER_DECLARED="`cat ./views/version.txt | grep --color=never "enum" | sed 's/.\+(\([0-9]\+\),[ \t]\+\([0-9]\+\),[ \t]\+\([0-9]\+\)[ \t]*).\+/\1.\2.\3/g'`"
- export sisuNixHelp="cat ./.env/nix-commands"
- export sisuTest="nix shell .#default --print-build-logs --command sisu --very-verbose --epub --html --html-link-search --html-link-curate --curate --output=\"\$sisuOUT\" $sisuPOD/*"
- export sisuHtml="sisu --very-verbose --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename=\"sisu.search.db\" --cgi-sqlite-search-filename=\"sisu_search\" --sqlite-db-path=\"\$sisuDBpath\" --output=\"\$sisuOUT\" $sisuPOD/*"
- export sisuEpub="sisu --very-verbose --epub --output=\"\$sisuOUT\" $sisuPOD/*"
- export sisuLatex="sisu --very-verbose --latex --output=\"\$sisuOUT\" $sisuPOD/*"
- export sisuPdf="sisu --very-verbose --pdf --output=\"\$sisuOUT\" $sisuPOD/*"
- export sisuSqliteCreateDB="sisu --very-verbose --sqlite-db-recreate --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\""
- export sisuSqlite="sisu --very-verbose --sqlite-discrete --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*"
- #export sisuSqlite="sisu --very-verbose --sqlite-update --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*"
-#+END_SRC
-
-** flake :flake:
-*** flake
-**** flake.nix
+* sisu
+** flake.nix :flake:
#+HEADER: :tangle ../flake.nix
#+HEADER: :noweb yes
#+BEGIN_SRC nix
{
description = "sisu parser & document generator";
- inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # "github:nixos/nixpkgs"; "github:NixOS/nixpkgs/nixpkgs-unstable"; "nixpkgs/nixos-unstable"; "nixpkgs/nixos-21.11";
- inputs.flake-utils.url = "github:numtide/flake-utils";
+ inputs.nixpkgs.url = "<<nixpkgs_url>>";
outputs = {
self,
nixpkgs,
- flake-utils,
} @ inputs: let
pname = "sisu";
- version = "<<sisu_version_set>>";
+ version = "<<sisu_project_version>>";
shell = ./shell.nix; # ./default.nix;
- devEnv = ./shell.nix; # ./.envrc; # ./shell.nix; # ./default.nix;
- supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
+ devEnv = ./.envrc; # ./.envrc; # ./shell.nix; # ./default.nix;
+ supportedSystems = [ "x86_64-linux" ]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
- nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); # nixpkgs instantiated for supported system types
+ nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); # nixpkgs instantiated for supported system types
checkPhase = ''
runHook preCheck
runHook postCheck
@@ -220,7 +102,7 @@ export RUBYLIB+=`pwd`/lib
];
inherit shellHook;
};
- dsh-epub = mkShell {
+ rsh-epub = mkShell {
name = "sisu dev shell for epub output";
inherit shell;
inherit devEnv;
@@ -245,12 +127,13 @@ export RUBYLIB+=`pwd`/lib
sigil
calibre #(suite includes: ebook-viewer)
foliate
+ validatePkgConfig
jq
#git
];
inherit shellHook;
};
- dsh-html = mkShell {
+ rsh-html = mkShell {
name = "sisu dev shell for html output";
inherit shell;
inherit devEnv;
@@ -261,12 +144,13 @@ export RUBYLIB+=`pwd`/lib
zip
unzip
xz
+ validatePkgConfig
jq
#git
];
inherit shellHook;
};
- dsh-latex-pdf = mkShell {
+ rsh-latex-pdf = mkShell {
name = "sisu dev shell for latex & pdf output";
inherit shell;
inherit devEnv;
@@ -281,15 +165,62 @@ export RUBYLIB+=`pwd`/lib
source-serif-pro
source-code-pro
texlive.combined.scheme-full
+ # texliveFull # texliveTeTeX
noto-fonts
noto-fonts-cjk-sans
takao
+ validatePkgConfig
jq
#git
];
inherit shellHook;
};
- dsh-sqlite = mkShell {
+ rsh-comprehensive-shell = mkShell {
+ name = "comprehensive sisu dev shell (for epub & latex & pdf output)";
+ inherit shell;
+ inherit devEnv;
+ packages = [
+ ruby
+ rubyPackages.rake
+ rubyPackages.sqlite3
+ rubyPackages.thor
+ sqlite
+ graphicsmagick
+ zip
+ unzip
+ xz
+ openssl
+ libxml2
+ html-tidy
+ xmlstarlet
+ epubcheck
+ ebook_tools
+ libxml2
+ html-tidy
+ xmlstarlet
+ epubcheck
+ ebook_tools
+ epr
+ sigil
+ calibre #(suite includes: ebook-viewer)
+ foliate
+ validatePkgConfig
+ jq
+ source-sans-pro
+ source-serif-pro
+ source-code-pro
+ texlive.combined.scheme-full
+ # texliveFull # texliveTeTeX
+ noto-fonts
+ noto-fonts-cjk-sans
+ takao
+ validatePkgConfig
+ jq
+ git
+ ];
+ inherit shellHook;
+ };
+ rsh-sqlite = mkShell {
name = "sisu dev shell for sqlite3 output";
inherit shell;
inherit devEnv;
@@ -300,12 +231,13 @@ export RUBYLIB+=`pwd`/lib
zip
unzip
xz
+ validatePkgConfig
jq
#git
];
inherit shellHook;
};
- dsh-i18n = mkShell {
+ rsh-i18n = mkShell {
name = "sisu dev shell internationalization, po4a";
inherit shell;
inherit devEnv;
@@ -314,24 +246,26 @@ export RUBYLIB+=`pwd`/lib
sqlite
graphicsmagick
perl538Packages.Po4a
+ validatePkgConfig
jq
#git
];
inherit shellHook;
};
- #default = import ./shell.nix {inherit pkgs;};
- });
+ #default = import ./shell.nix { inherit pkgs; };
+ });
};
}
#+END_SRC
-** shell.nix TODO
+** shell.nix :shell:
+*** tangle
#+HEADER: :tangle ../shell.nix
-#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --impure\n#!nix-shell -i bash"
#+HEADER: :tangle-mode (identity #o755)
+#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --impure\n#!nix-shell -i bash"
#+BEGIN_SRC nix
-{pkgs ? import <nixpkgs> {}}:
+{ pkgs ? import <nixpkgs> {} }:
with pkgs;
mkShell {
buildInputs = [
@@ -344,112 +278,83 @@ with pkgs;
'';
}
#+END_SRC
-{ pkgs ? import <nixpkgs> {} }:
-with pkgs;
-mkShell {
- buildInputs = [
- <<ruby_current>>
- sqlite
- graphicsmagick
- unzip
- xz
- zip
- openssl
- #texlive-combined-full
- nixFlakes
- validatePkgConfig
- nix-output-monitor
- nix-tree
- jq
- git
- #starship
- ];
- shellHook = ''
- '';
-}
-#+END_SRC
-** packages.nix
-*** default
+** shared parts
+*** nixpkgs url
-#+HEADER: :NO-tangle ../packages.nix
+#+NAME: nixpkgs_url
#+BEGIN_SRC nix
-{ pkgs ? import <nixpkgs> {} }:
-with pkgs; [
- <<ruby_current>>
- <<packages_project_relevant>>
- <<packages_build>>
-]
+github:NixOS/nixpkgs/nixpkgs-unstable
#+END_SRC
-*** ruby 3.2
+*** ruby versions
+**** ruby package selection
+***** ruby next
-#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_2.nix
+#+NAME: ruby_next
#+BEGIN_SRC nix
-{ pkgs ? import <nixpkgs> {} }:
-with pkgs; [
- <<ruby_version_3_2>>
- <<packages_project_relevant>>
- <<packages_build>>
-]
+ruby<<ruby_version_next>>
+rubyPackages<<ruby_version_next>>.rake
+rubyPackages<<ruby_version_next>>.sqlite3
+rubyPackages<<ruby_version_next>>.thor
#+END_SRC
-*** ruby 3.1
+***** ruby current
-#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_1.nix
+#+NAME: ruby_current
#+BEGIN_SRC nix
-{ pkgs ? import <nixpkgs> {} }:
-with pkgs; [
- <<ruby_version_3_1>>
- <<packages_project_relevant>>
- <<packages_build>>
-]
+ruby<<ruby_version_current>>
+rubyPackages<<ruby_version_current>>.rake
+rubyPackages<<ruby_version_current>>.sqlite3
+rubyPackages<<ruby_version_current>>.thor
#+END_SRC
-*** ruby 3.0
+***** ruby legacy
-#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_0.nix
+#+NAME: ruby_legacy
#+BEGIN_SRC nix
-{ pkgs ? import <nixpkgs> {} }:
-with pkgs; [
- <<ruby_version_3_0>>
- <<packages_project_relevant>>
- <<packages_build>>
-]
+ruby<<ruby_version_legacy>>
+rubyPackages<<ruby_version_legacy>>.rake
+rubyPackages<<ruby_version_legacy>>.sqlite3
+rubyPackages<<ruby_version_legacy>>.thor
#+END_SRC
-*** ruby legacy
+**** SET ruby nix package versions (current, next)
+***** SET ruby version next
-#+NAME: ruby_legacy
+#+NAME: ruby_version_next
#+BEGIN_SRC nix
-<<ruby_version_3_1>>
+_3_4
#+END_SRC
-*** ruby current
+***** SET ruby version current
-#+NAME: ruby_current
+- default to current nix version, which is ruby 3.3 but not provided as a fixed lable/tag, so leave blank and will
+ follow nix current nix
+
+#+NAME: ruby_version_current
#+BEGIN_SRC nix
-<<ruby_version_3_3>>
#+END_SRC
-*** ruby next
+***** SET ruby version legacy
-#+NAME: ruby_next
+#+NAME: ruby_version_legacy
#+BEGIN_SRC nix
-<<ruby_version_3_3>>
+_3_2
#+END_SRC
-*** ruby 3.3 - ruby_version_3_3
+**** ruby fixed versions
+***** ruby 3.4 - ruby_version_3_4
-#+NAME: ruby_version_3_3
+#+NAME: ruby_version_3_4
#+BEGIN_SRC nix
-ruby_3_3
-rubyPackages_3_3.rake
-rubyPackages_3_3.sqlite3
-rubyPackages_3_3.thor
+ruby_3_4
+rubyPackages_3_4.rake
+rubyPackages_3_4.sqlite3
+rubyPackages_3_4.thor
#+END_SRC
-*** ruby 3.2 - ruby_version_3_2
+***** ruby 3.2 - ruby_version_3_2
#+NAME: ruby_version_3_2
#+BEGIN_SRC nix
@@ -459,27 +364,8 @@ rubyPackages_3_2.sqlite3
rubyPackages_3_2.thor
#+END_SRC
-*** ruby 3.1 - ruby_version_3_1
-
-#+NAME: ruby_version_3_1
-#+BEGIN_SRC nix
-ruby_3_1
-rubyPackages_3_1.rake
-rubyPackages_3_1.sqlite3
-rubyPackages_3_1.thor
-#+END_SRC
-
-*** ruby 3.0 - ruby_version_3_0
-
-#+NAME: ruby_version_3_0
-#+BEGIN_SRC nix
-ruby_3_0
-rubyPackages_3_0.rake
-rubyPackages_3_0.sqlite3
-rubyPackages_3_0.thor
-#+END_SRC
-
-*** nix related packages
+*** packages.nix
+**** nix related packages
#+NAME: nix_packages
#+BEGIN_SRC nix
@@ -488,7 +374,7 @@ bundler
bundix
#+END_SRC
-*** project relevant packages
+**** project relevant packages
#+NAME: packages_project_relevant
#+BEGIN_SRC nix
@@ -498,10 +384,10 @@ unzip
xz
zip
openssl
-#texlive-combined-full
+#texliveFull # texliveTeTeX
#+END_SRC
-*** project misc build packages
+**** project misc build packages
#+NAME: packages_build
#+BEGIN_SRC nix
@@ -518,10 +404,16 @@ git
#starship
#+END_SRC
-** variables
-** spine version SET VERSION :version:set:project:
+*** sisu version SET VERSION :version:set:project:
-#+NAME: sisu_version_set
+#+NAME: sisu_project_version
+#+BEGIN_SRC emacs-lisp
+<<./sisu_version_info_and_doc_header_including_copyright_and_license.org:sisu_project_version()>>
+#+END_SRC
+
+* nix :nix:
+
+#+NAME: nixpkgs_local
#+BEGIN_SRC sh
-7.3.1
+/srv/nix/nixpkgs
#+END_SRC
diff --git a/org/env.org b/org/env.org
index 87feb912..99e127ae 100644
--- a/org/env.org
+++ b/org/env.org
@@ -5943,10 +5943,10 @@ WOK
: "#{md.opt.sisu_data_dir?}/sisu/image"
images=%W[bullet_09.png arrow_next_red.png arrow_prev_red.png arrow_up_red.png]
images.each do |i| #move to avoid repeated tests
- if FileTest.file?("#{src}/#{i}")
+ if Pathname#exist?("#{src}/#{i}")
FileUtils::cp("#{src}/#{i}","#{pth}/#{i}") \
- unless FileTest.file?("#{pth}/#{i}")
- else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]}
+ unless Pathname#exist?("#{pth}/#{i}")
+ else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}] [#{src}/#{i}]}
end
end
pth
diff --git a/org/shared.org b/org/shared.org
index 34d17bd0..ced99872 100644
--- a/org/shared.org
+++ b/org/shared.org
@@ -152,19 +152,21 @@ module SiSU_Images
def images_set
@pwd=(/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(Dir.pwd)[1]
def copy(src_path,dest_path,images=nil)
- if FileTest.directory?(src_path)
+ require 'pathname'
+ src_path = Pathname.new(src_path)
+ dest_path = Pathname.new(dest_path)
+ if src_path.directory?
FileUtils::cd(src_path)
unless images
images=Dir.glob("*.{png,jpg,gif,ico}")
end
- unless FileTest.directory?(dest_path) \
- or FileTest.symlink?(dest_path)
+ unless dest_path.directory?
FileUtils::mkdir_p(dest_path)
FileUtils::chmod(0755,dest_path)
end
if images.length > 0
images.each do |i|
- if FileTest.file?(i)
+ if Pathname#exist?(i)
FileUtils::cp_r(i,"#{dest_path}/#{i}")
FileUtils::chmod(0644,"#{dest_path}/#{i}")
else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]}
diff --git a/org/sisu_version_info_and_doc_header_including_copyright_and_license.org b/org/sisu_version_info_and_doc_header_including_copyright_and_license.org
index 6581f5e2..74471f33 100644
--- a/org/sisu_version_info_and_doc_header_including_copyright_and_license.org
+++ b/org/sisu_version_info_and_doc_header_including_copyright_and_license.org
@@ -32,7 +32,7 @@ encoding: utf-8
- Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019,
- 2020, 2021, Ralph Amissah,
+ 2020, 2021, 2024, 2025 Ralph Amissah,
All Rights Reserved.
- License: GPL 3 or later:
@@ -52,14 +52,12 @@ encoding: utf-8
more details.
You should have received a copy of the GNU General Public License along with
- this program. If not, see <http://www.gnu.org/licenses/>.
+ this program. If not, see <https://www.gnu.org/licenses/>.
If you have Internet connection, the latest version of the GPL should be
available at these locations:
- <http://www.fsf.org/licensing/licenses/gpl.html>
- <http://www.gnu.org/licenses/gpl.html>
-
- <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
+ <https://www.fsf.org/licensing/licenses/gpl.html>
+ <https://www.gnu.org/licenses/gpl.html>
- SiSU uses:
- Standard SiSU markup syntax,
@@ -67,7 +65,7 @@ encoding: utf-8
- Standard SiSU object citation numbering and system
- Homepages:
- <http://www.sisudoc.org>
+ <https://www.sisudoc.org>
- Git
<https://git.sisudoc.org/projects/>
diff --git a/org/xhtml.org b/org/xhtml.org
index 3aef5c7e..1e57ea74 100644
--- a/org/xhtml.org
+++ b/org/xhtml.org
@@ -1180,10 +1180,11 @@ module SiSU_XHTML_EPUB2
end
end
def images
-#puts @md.env.path.image_source_include
-#puts @md.env.processing_path.epub
-#puts @md.env.path.image_source_include_local
-puts @md.file.output_path.epub.rel_image
+#REMOVE
+#puts @md.env.path.image_source_include + ' : ' + __FILE__ + ':' + __LINE__.to_s
+#puts @md.env.processing_path.epub + ' : ' + __FILE__ + ':' + __LINE__.to_s
+#puts @md.env.path.image_source_include_local + ' : ' + __FILE__ + ':' + __LINE__.to_s
+#puts @md.file.output_path.epub.rel_image + ' : ' + __FILE__ + ':' + __LINE__.to_s
#img_pth=$sisu_base_data + '/image'
img_pth=@md.env.path.image_source_include
img_src_pth=unless @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/