From 672310fdcc768de1a824657cf391a4db998a9bed Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 22 May 2024 16:29:20 -0400 Subject: README, further note on using nix for installation --- README | 65 ++++++++++++++++++------------------- README.md | 65 ++++++++++++++++++------------------- org/spine_info.org | 94 ++++++++++++++++++++++++++++++++++-------------------- 3 files changed, 121 insertions(+), 103 deletions(-) diff --git a/README b/README index 2e93250..0db6faf 100644 --- a/README +++ b/README @@ -91,7 +91,10 @@ D projects tend to use dub as project manager The default build tools used are dub with ldc2 (dub is also tested) -** Clone project +** make a directory & clone the sisudoc-spine project + +Make a directory and clone the sisudoc-spine project (or just sisudoc-spine- +search-cgi as needed) Make a directory and clone the sisudoc-spine project @@ -114,61 +117,55 @@ sisudoc-spine-search-cgi cd sisudoc-spine-search-cgi -## directly with dub -### ldc2 - # on nix (get dependencies by setting your development environment): - nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh - - 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 - -### dmd - # on nix (get dependencies by setting your development environment): - nix develop ".#dsh-nixpkgs-dmd-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 - dub run --compiler=dmd --config=dmd --combined --skip-registry=all - dub --compiler=dmd --config=dmd +cd sisudoc-spine -## with make +*** build using nix flakes on linux (binary in ./result/bin) -### 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 -### 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: -## with nix on linux / nixos +mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~/.config/nix/nix.conf -### ldc2 +- to use the D compiler ldc2: nix build ".#spine-search-nixpkgs-ldc" --print-build-logs # or nix build ".#spine-search-overlay-ldc" --print-build-logs -### dmd +- to use the D compiler dmd: nix build ".#spine-search-nixpkgs-dmd" --print-build-logs # or nix build ".#spine-search-overlay-dmd" --print-build-logs -## the Meson build system was used briefly +*** build using dub directly (binary in ./bin) -On recommendation at debconf-18 meson was used briefly. It has neither been -tested nor used since the move to nix. +- 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 -- https://mesonbuild.com/ + # 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 - meson - ninja -C build - meson setup --wipe build && ninja -v -C build - make meson +- 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 diff --git a/README.md b/README.md index fe1195d..711d75c 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,10 @@ D projects tend to use dub as project manager The default build tools used are dub with ldc2 (dub is also tested) -## make a directory and clone the sisudoc-spine project +## make a directory & clone the sisudoc-spine project + +Make a directory and clone the sisudoc-spine project (or just sisudoc-spine- +search-cgi as needed) Make a directory and clone the sisudoc-spine project @@ -97,61 +100,55 @@ sisudoc-spine-search-cgi cd sisudoc-spine-search-cgi -## directly with dub -### ldc2 - # on nix (get dependencies by setting your development environment): - nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh - - 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 - -### dmd - # on nix (get dependencies by setting your development environment): - nix develop ".#dsh-nixpkgs-dmd-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 - dub run --compiler=dmd --config=dmd --combined --skip-registry=all - dub --compiler=dmd --config=dmd +cd sisudoc-spine -## with make +### build using nix flakes on linux (binary in ./result/bin) -### 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 -### 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: -## with nix on linux / nixos +mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~/.config/nix/nix.conf -### ldc2 +- to use the D compiler ldc2: nix build ".#spine-search-nixpkgs-ldc" --print-build-logs # or nix build ".#spine-search-overlay-ldc" --print-build-logs -### dmd +- to use the D compiler dmd: nix build ".#spine-search-nixpkgs-dmd" --print-build-logs # or nix build ".#spine-search-overlay-dmd" --print-build-logs -## the Meson build system was used briefly +### build using dub directly (binary in ./bin) -On recommendation at debconf-18 meson was used briefly. It has neither been -tested nor used since the move to nix. +- 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 -- https://mesonbuild.com/ + # 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 - meson - ninja -C build - meson setup --wipe build && ninja -v -C build - make meson +- 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 diff --git a/org/spine_info.org b/org/spine_info.org index c0642ea..8283292 100644 --- a/org/spine_info.org +++ b/org/spine_info.org @@ -43,7 +43,7 @@ <> -,** Clone project +,** make a directory & clone the sisudoc-spine project <> @@ -51,6 +51,14 @@ <> +,*** build using nix flakes on linux (binary in ./result/bin) + +<> + +,*** build using dub directly (binary in ./bin) + +<> + ,* Commands <> @@ -98,7 +106,7 @@ <> -## make a directory and clone the sisudoc-spine project +## make a directory & clone the sisudoc-spine project <> @@ -106,6 +114,14 @@ <> +### build using nix flakes on linux (binary in ./result/bin) + +<> + +### build using dub directly (binary in ./bin) + +<> + # Commands <> @@ -182,6 +198,9 @@ The default build tools used are dub with ldc2 (dub is also tested) #+NAME: sisudoc_spine_README_install_clone #+BEGIN_SRC text +Make a directory and clone the sisudoc-spine project (or just sisudoc-spine- +search-cgi as needed) + Make a directory and clone the sisudoc-spine project mkdir ~/git.sisudoc @@ -197,6 +216,9 @@ all work in this installation of sisudoc-spine-search-cgi will take place in the directory: sisudoc-spine-search-cgi #+END_SRC +*** install & build cgi search form +**** install & build cgi search form + #+NAME: sisudoc_spine_README_install_build #+BEGIN_SRC text NOTE all actions to build sisudoc-spine are taken within the directory @@ -204,63 +226,65 @@ sisudoc-spine-search-cgi cd sisudoc-spine-search-cgi -## directly with dub -### ldc2 - # on nix (get dependencies by setting your development environment): - nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh - - 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 +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 -### dmd - # on nix (get dependencies by setting your development environment): - nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh - - dub run --compiler=dmd --config=dmd --combined --skip-registry=all - dub --compiler=dmd --config=dmd +cd sisudoc-spine +#+END_SRC -## with make +**** install build project using nix flakes -### 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 -### 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: -## with nix on linux / nixos +mkdir -p ~/.config/nix && echo "experimental-features = flakes nix-command" >> ~/.config/nix/nix.conf -### ldc2 +- to use the D compiler ldc2: nix build ".#spine-search-nixpkgs-ldc" --print-build-logs # or nix build ".#spine-search-overlay-ldc" --print-build-logs -### dmd +- to use the D compiler dmd: nix build ".#spine-search-nixpkgs-dmd" --print-build-logs # or nix build ".#spine-search-overlay-dmd" --print-build-logs +#+END_SRC +#+END_SRC -## the Meson build system was used briefly +**** install build project using dub directly -On recommendation at debconf-18 meson was used briefly. It has neither been -tested nor used since the move to nix. +#+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 -- https://mesonbuild.com/ + # 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 - meson - ninja -C build - meson setup --wipe build && ninja -v -C build - make meson +- 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 + ** configuration #+NAME: sisudoc_spine_README_build_configuration -- cgit v1.2.3