diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2024-05-22 16:29:20 -0400 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2024-05-22 16:29:20 -0400 |
commit | 672310fdcc768de1a824657cf391a4db998a9bed (patch) | |
tree | 123f7fb3b371bd332a2ce739d0cebe4926374ecd /org/spine_info.org | |
parent | spine search info (diff) |
README, further note on using nix for installation
Diffstat (limited to 'org/spine_info.org')
-rw-r--r-- | org/spine_info.org | 94 |
1 files changed, 59 insertions, 35 deletions
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 @@ <<sisudoc_spine_README_install_summary>> -,** Clone project +,** make a directory & clone the sisudoc-spine project <<sisudoc_spine_README_install_clone>> @@ -51,6 +51,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 <<sisudoc_spine_README_commands>> @@ -98,7 +106,7 @@ <<sisudoc_spine_README_install_summary>> -## make a directory and clone the sisudoc-spine project +## make a directory & clone the sisudoc-spine project <<sisudoc_spine_README_install_clone>> @@ -106,6 +114,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 <<sisudoc_spine_README_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 |