aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2024-05-22 16:21:53 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2024-05-22 16:21:53 -0400
commit9876842de60c9c0d94b47a2589623d235607050c (patch)
tree34d26499e7a61f74dac67fd0d25fb58c08dc1dd6
parentorg, minor reorganize for d config views (diff)
README, further note on using nix for installation
- built on Debian using nix - (first time usiing nix on a system other than NixOS)
-rw-r--r--README75
-rw-r--r--README.md75
-rw-r--r--org/spine_info.org126
3 files changed, 142 insertions, 134 deletions
diff --git a/README b/README
index b8d3cf9..f4453b9 100644
--- a/README
+++ b/README
@@ -88,61 +88,51 @@ directory: sisudoc-spine
NOTE all actions to build sisudoc-spine are taken within the directory
sisudoc-spine
-cd sisudoc-spine
-
-to build directly with dub, either:
-
-for ldc2:
- # on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
-
- # assuming you have ldc2 & dub installed on your system:
- dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
- dub --compiler=ldmd2 --config=ldmd2
+NOTE:
+- if dub is used to build, the resulting binary should be located in ./bin:
+- if "nix build" is used the resulting binary should be in ./result/bin
- dub run --compiler=ldc2 --config=ldc2 --combined --skip-registry=all
- dub --compiler=ldc2 --config=ldc2
-
-for dmd:
- # on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
-
- # assuming you have dmd & dub installed on your system:
- dub run --compiler=dmd --config=dmd --combined --skip-registry=all
- dub --compiler=dmd --config=dmd
+cd sisudoc-spine
-to build with make using the provided makefile, (assuming you have the named
-compiler and dub installed on your system) either:
+*** build using nix flakes on linux (binary in ./result/bin)
-for ldc2:
+you need to have nix installed on your system, and to have nix flakes enabled,
+on Debian for example, you would do the following:
- make ldc
+sudo apt install nix
-for dmd:
+create the file in the given path & filename: ~/.config/nix/nix.conf
+with the following content: experimental-features = flakes nix-command
- make dmd
+which can be achieved thusly:
-to build using nix flakes on linux / nixos
+mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~/.config/nix/nix.conf
-for ldc2:
+- to use the D compiler ldc2:
nix build ".#spine-nixpkgs-ldc" --print-build-logs
-for dmd:
+- to use the D compiler dmd:
nix build ".#spine-nixpkgs-dmd" --print-build-logs
-The Meson build system was used briefly to build spine, but the spine build
-tooling for Meson has not been updated, maintained or tested in recent years.
+*** build using dub directly (binary in ./bin)
+
+- 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
- meson
- ninja -C build
- meson setup --wipe build && ninja -v -C build
- make meson
+ # assuming you have ldc2 & dub installed on your system:
+ dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
+ or
+ dub run --compiler=ldc2 --config=ldc2 --combined --skip-registry=all
-- https://mesonbuild.com/
+- 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
-dub --force --compiler=ldc2 && sudo cp -v cgi-bin/spine-search /usr/lib/cgi-bin/.
+ # assuming you have dmd & dub installed on your system:
+ dub run --compiler=dmd --config=dmd --combined --skip-registry=all
* Commands - document processing examples
@@ -151,10 +141,15 @@ dub --force --compiler=ldc2 && sudo cp -v cgi-bin/spine-search /usr/lib/cgi-bin/
For the most basic output you will need to specify:
- the spine binary (executable)
+ - for dub builds ./bin/spine (also used filenames: spine-dmd & spine-ldc)
+ - for nix flake builds ./result/bin/spine
+
- the (recognized) path to a prepared (spine marked up) document or document
collection
-- the (path to) where the output is to be placed
-- the output types you seek
+
+- the output types you seek, e.g. --html --epub
+
+- the (path for) where the generated output is to be placed
export SpineBIN=./result/bin/spine
export SpinePOD=../sisudoc-spine-samples/markup/pod
diff --git a/README.md b/README.md
index f00dd95..2d0b092 100644
--- a/README.md
+++ b/README.md
@@ -71,61 +71,51 @@ directory: sisudoc-spine
NOTE all actions to build sisudoc-spine are taken within the directory
sisudoc-spine
-cd sisudoc-spine
-
-to build directly with dub, either:
-
-for ldc2:
- # on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
-
- # assuming you have ldc2 & dub installed on your system:
- dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
- dub --compiler=ldmd2 --config=ldmd2
+NOTE:
+- if dub is used to build, the resulting binary should be located in ./bin:
+- if "nix build" is used the resulting binary should be in ./result/bin
- dub run --compiler=ldc2 --config=ldc2 --combined --skip-registry=all
- dub --compiler=ldc2 --config=ldc2
-
-for dmd:
- # on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
-
- # assuming you have dmd & dub installed on your system:
- dub run --compiler=dmd --config=dmd --combined --skip-registry=all
- dub --compiler=dmd --config=dmd
+cd sisudoc-spine
-to build with make using the provided makefile, (assuming you have the named
-compiler and dub installed on your system) either:
+### build using nix flakes on linux (binary in ./result/bin)
-for ldc2:
+you need to have nix installed on your system, and to have nix flakes enabled,
+on Debian for example, you would do the following:
- make ldc
+sudo apt install nix
-for dmd:
+create the file in the given path & filename: ~/.config/nix/nix.conf
+with the following content: experimental-features = flakes nix-command
- make dmd
+which can be achieved thusly:
-to build using nix flakes on linux / nixos
+mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~/.config/nix/nix.conf
-for ldc2:
+- to use the D compiler ldc2:
nix build ".#spine-nixpkgs-ldc" --print-build-logs
-for dmd:
+- to use the D compiler dmd:
nix build ".#spine-nixpkgs-dmd" --print-build-logs
-The Meson build system was used briefly to build spine, but the spine build
-tooling for Meson has not been updated, maintained or tested in recent years.
+### build using dub directly (binary in ./bin)
+
+- 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
- meson
- ninja -C build
- meson setup --wipe build && ninja -v -C build
- make meson
+ # assuming you have ldc2 & dub installed on your system:
+ dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
+ or
+ dub run --compiler=ldc2 --config=ldc2 --combined --skip-registry=all
-- https://mesonbuild.com/
+- 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
-dub --force --compiler=ldc2 && sudo cp -v cgi-bin/spine-search /usr/lib/cgi-bin/.
+ # assuming you have dmd & dub installed on your system:
+ dub run --compiler=dmd --config=dmd --combined --skip-registry=all
# Commands - document processing examples
@@ -134,10 +124,15 @@ dub --force --compiler=ldc2 && sudo cp -v cgi-bin/spine-search /usr/lib/cgi-bin/
For the most basic output you will need to specify:
- the spine binary (executable)
+ - for dub builds ./bin/spine (also used filenames: spine-dmd & spine-ldc)
+ - for nix flake builds ./result/bin/spine
+
- the (recognized) path to a prepared (spine marked up) document or document
collection
-- the (path to) where the output is to be placed
-- the output types you seek
+
+- the output types you seek, e.g. --html --epub
+
+- the (path for) where the generated output is to be placed
export SpineBIN=./result/bin/spine
export SpinePOD=../sisudoc-spine-samples/markup/pod
diff --git a/org/spine_info.org b/org/spine_info.org
index 9df90c6..f0e8d7c 100644
--- a/org/spine_info.org
+++ b/org/spine_info.org
@@ -47,6 +47,14 @@
<<sisudoc_spine_README_install_build>>
+,*** build using nix flakes on linux (binary in ./result/bin)
+
+<<sisudoc_spine_README_install_build_using_nix_flakes>>
+
+,*** build using dub directly (binary in ./bin)
+
+<<sisudoc_spine_README_install_build_using_dub_directly>>
+
,* Commands - document processing examples
,** basic output
@@ -130,7 +138,7 @@
#+HEADER: :tangle "../README.md"
#+HEADER: :noweb yes
-#+BEGIN_SRC text
+#+BEGIN_SRC markdown
<<sisudoc_spine_README_project_header_info>>
# Summary
@@ -150,6 +158,14 @@
<<sisudoc_spine_README_install_build>>
+### build using nix flakes on linux (binary in ./result/bin)
+
+<<sisudoc_spine_README_install_build_using_nix_flakes>>
+
+### build using dub directly (binary in ./bin)
+
+<<sisudoc_spine_README_install_build_using_dub_directly>>
+
# Commands - document processing examples
## basic output
@@ -289,68 +305,65 @@ all work in this installation of and use of sisudoc-spine will take place in the
directory: sisudoc-spine
#+END_SRC
-*** install build project
+*** install & build project
+**** install & build project
#+NAME: sisudoc_spine_README_install_build
#+BEGIN_SRC text
NOTE all actions to build sisudoc-spine are taken within the directory
sisudoc-spine
-cd sisudoc-spine
-
-to build directly with dub, either:
-
-for ldc2:
- # on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+NOTE:
+- if dub is used to build, the resulting binary should be located in ./bin:
+- if "nix build" is used the resulting binary should be in ./result/bin
- # assuming you have ldc2 & dub installed on your system:
- dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
- dub --compiler=ldmd2 --config=ldmd2
-
- dub run --compiler=ldc2 --config=ldc2 --combined --skip-registry=all
- dub --compiler=ldc2 --config=ldc2
-
-for dmd:
- # on nix (get dependencies by setting your development environment):
- nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
-
- # assuming you have dmd & dub installed on your system:
- dub run --compiler=dmd --config=dmd --combined --skip-registry=all
- dub --compiler=dmd --config=dmd
+cd sisudoc-spine
+#+END_SRC
-to build with make using the provided makefile, (assuming you have the named
-compiler and dub installed on your system) either:
+**** install build project using nix flakes
-for ldc2:
+#+NAME: sisudoc_spine_README_install_build_using_nix_flakes
+#+BEGIN_SRC text
+you need to have nix installed on your system, and to have nix flakes enabled,
+on Debian for example, you would do the following:
- make ldc
+sudo apt install nix
-for dmd:
+create the file in the given path & filename: ~/.config/nix/nix.conf
+with the following content: experimental-features = flakes nix-command
- make dmd
+which can be achieved thusly:
-to build using nix flakes on linux / nixos
+mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~/.config/nix/nix.conf
-for ldc2:
+- to use the D compiler ldc2:
nix build ".#spine-nixpkgs-ldc" --print-build-logs
-for dmd:
+- to use the D compiler dmd:
nix build ".#spine-nixpkgs-dmd" --print-build-logs
+#+END_SRC
-The Meson build system was used briefly to build spine, but the spine build
-tooling for Meson has not been updated, maintained or tested in recent years.
+**** install build project using dub directly
- meson
- ninja -C build
- meson setup --wipe build && ninja -v -C build
- make meson
+#+NAME: sisudoc_spine_README_install_build_using_dub_directly
+#+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
+
+ # assuming you have ldc2 & dub installed on your system:
+ dub run --compiler=ldmd2 --config=ldmd2 --combined --skip-registry=all
+ or
+ dub run --compiler=ldc2 --config=ldc2 --combined --skip-registry=all
-- https://mesonbuild.com/
+- 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
-dub --force --compiler=ldc2 && sudo cp -v cgi-bin/spine-search /usr/lib/cgi-bin/.
+ # assuming you have dmd & dub installed on your system:
+ dub run --compiler=dmd --config=dmd --combined --skip-registry=all
#+END_SRC
** commands
@@ -361,10 +374,15 @@ dub --force --compiler=ldc2 && sudo cp -v cgi-bin/spine-search /usr/lib/cgi-bin/
For the most basic output you will need to specify:
- the spine binary (executable)
+ - for dub builds ./bin/spine (also used filenames: spine-dmd & spine-ldc)
+ - for nix flake builds ./result/bin/spine
+
- the (recognized) path to a prepared (spine marked up) document or document
collection
-- the (path to) where the output is to be placed
-- the output types you seek
+
+- the output types you seek, e.g. --html --epub
+
+- the (path for) where the generated output is to be placed
export SpineBIN=./result/bin/spine
export SpinePOD=../sisudoc-spine-samples/markup/pod
@@ -855,7 +873,7 @@ webserv:
#+HEADER: :tangle "../COPYRIGHT"
#+HEADER: :noweb yes
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
<<sisudoc_spine_copyright>>
@@ -872,7 +890,7 @@ webserv:
#+HEADER: :tangle "../org/COPYRIGHT"
#+HEADER: :noweb yes
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
<<sisudoc_spine_copyright>>
@@ -889,7 +907,7 @@ webserv:
#+HEADER: :tangle "../src/COPYRIGHT"
#+HEADER: :noweb yes
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
<<sisudoc_spine_copyright>>
@@ -906,7 +924,7 @@ webserv:
#+HEADER: :tangle "../src/sisudoc/COPYRIGHT"
#+HEADER: :noweb yes
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
<<sisudoc_spine_copyright>>
@@ -929,7 +947,7 @@ webserv:
#+HEADER: :tangle "./COPYRIGHT"
#+HEADER: :noweb yes
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Name: spine - SiSU Spine, Doc Reform
<<sisudoc_spine_copyright>>
@@ -942,7 +960,7 @@ webserv:
#+HEADER: :NO-tangle "../doc/COPYRIGHT"
#+HEADER: :noweb yes
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
<<data>>
#+END_SRC
@@ -950,7 +968,7 @@ webserv:
*** copyright
#+NAME: sisudoc_spine_copyright
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Description: documents, structuring, processing, publishing, search
- static content generator
@@ -964,7 +982,7 @@ webserv:
**** AGPLv3
#+NAME: sisudoc_spine_license_agpl3
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- code under src/* src/sisudoc/*
- License: AGPL 3 or later:
@@ -995,7 +1013,7 @@ webserv:
*** spine_summary
#+NAME: sisudoc_spine_summary
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Spine, Doc Reform (related to SiSU) uses standard:
- docReform markup syntax (based on SiSU markup)
- standard SiSU markup syntax with modified headers and minor
@@ -1007,7 +1025,7 @@ webserv:
[https://www.sisudoc.org]
#+END_SRC
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Homepages:
[https://www.sisudoc.org]
[https://www.sisudoc.org]
@@ -1019,7 +1037,7 @@ webserv:
*** markup_samples
#+NAME: sisudoc_spine_markup_samples
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Spine, Doc Reform (SiSU) markup samples
Individual document content Copyright (Author) [as stated in document header]
Individual document content License (Author) [as stated in document header]
@@ -1028,7 +1046,7 @@ webserv:
*** dependencies
#+NAME: sisudoc_spine_dependencies
-#+BEGIN_SRC txt
+#+BEGIN_SRC text
- Dependencies [check dub.json or dub.sdl]
- Name: d2sqlite3