summaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/COPYRIGHT2
-rw-r--r--org/config_d_cfte.org26
-rw-r--r--org/config_dub.org8
-rw-r--r--org/config_env.org149
-rw-r--r--org/config_git.org6
-rw-r--r--org/config_make.org6
-rw-r--r--org/config_nix.org112
-rw-r--r--org/nix-develop-dlang-shared.org655
-rw-r--r--org/nixpkgs_overlays_d_related.org1414
-rw-r--r--org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org6
-rw-r--r--org/spine_info.org13
-rw-r--r--org/spine_search_cgi.org4
12 files changed, 1358 insertions, 1043 deletions
diff --git a/org/COPYRIGHT b/org/COPYRIGHT
index e076311..b1cdad5 100644
--- a/org/COPYRIGHT
+++ b/org/COPYRIGHT
@@ -5,7 +5,7 @@
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
- - Copyright: (C) 2015 - 2024 Ralph Amissah
+ - Copyright: (C) 2015 - 2025 Ralph Amissah
- Spine, Doc Reform (related to SiSU) uses standard:
- docReform markup syntax (based on SiSU markup)
diff --git a/org/config_d_cfte.org b/org/config_d_cfte.org
index 8a12537..df29cc5 100644
--- a/org/config_d_cfte.org
+++ b/org/config_d_cfte.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
@@ -202,61 +202,61 @@ enum _cfg = Cfg();
*** shared settings SET defaults
#+NAME: http_request_type
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
http
#+END_SRC
#+NAME: http_host
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
localhost
#+END_SRC
#+NAME: www_url_doc_root
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
http://localhost
#+END_SRC
#+NAME: www_url_doc_subroot
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/spine
#+END_SRC
#+NAME: processing_path_doc_root
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/srv/www/spine
#+END_SRC
#+NAME: www_doc_subroot
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/spine
#+END_SRC
#+NAME: cgi_bin_root
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/var/www/cgi/cgi-bin
#+END_SRC
#+NAME: db_sqlite_path
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/var/www/sqlite
#+END_SRC
#+NAME: cgi_filename
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
spine_search
#+END_SRC
#+NAME: cgi_bin_subpath
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/cgi-bin
#+END_SRC
#+NAME: cgi_search_form_title
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
≅ SiSU Spine search ፨
#+END_SRC
#+NAME: db_sqlite_filename
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
spine.search.db
#+END_SRC
diff --git a/org/config_dub.org b/org/config_dub.org
index 61405f6..60a8a43 100644
--- a/org/config_dub.org
+++ b/org/config_dub.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
@@ -47,7 +47,7 @@
"authors": [
"Ralph Amissah"
],
- "copyright": "Copyright © 2002, 2024 Ralph Amissah",
+ "copyright": "Copyright © 2002, 2025 Ralph Amissah",
"name": "spine_search",
"version": "<<spine_version>>",
"description": "cgi search for spine, a sisu like document parser",
@@ -156,7 +156,7 @@
***** generic :generic:
****** build (sdp) :release:
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
configuration "build" {
name "build"
targetType "executable"
@@ -198,7 +198,7 @@ sdp ~master: /home/ralph/grotto/repo/git.repo/utils/spine-x/
*** build
**** debug flags
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
biblio
biblio_sorted
bibliosorted
diff --git a/org/config_env.org b/org/config_env.org
index 5e3e0b2..e5f2a43 100644
--- a/org/config_env.org
+++ b/org/config_env.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:build:tools:
#+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
@@ -23,7 +23,7 @@
** nixDevEnv envrc :envrc:
#+HEADER: :tangle ../nixDevEnv.sh
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [ -f .envrc ]; then
source_env_if_exists .envrc || source .envrc
fi
@@ -33,7 +33,7 @@ fi
#+NAME: envrc
#+HEADER: :tangle ../.envrc
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [ -f .envrc-git-init ]; then
source_env_if_exists .envrc-git-init || source .envrc-git-init
fi
@@ -49,15 +49,15 @@ fi
- https://github.com/nix-community/nix-direnv
- source_url
- - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>"
+ - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv_hash>>"
- ${NixDirEnvVersion}
#+HEADER: :tangle ../.envrc-nix
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
NIX_ENFORCE_PURITY=1
# - https://github.com/nix-community/nix-direnv
-NixDirEnvVersion="<<direnv-version>>"
-NixDirEnvSHA="<<direnv-sha>>"
+NixDirEnvVersion="<<direnv_version>>"
+NixDirEnvSHA="<<direnv_hash>>"
if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}"
fi
@@ -77,24 +77,28 @@ echo '
❯❯ 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 ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-dmd-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
- ❯❯ nix develop ".#dsh-overlay-ldc-dub" --print-build-logs -c zsh
+ • nix develop
+ ❯❯ nix develop ".#" --print-build-logs -c zsh
+ • nix develop using nixpkgs
+ ❯❯ nix develop ".#dsh-nixpkgs-dmd-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-nixpkgs-ldc-dub" --print-build-logs -c zsh
+ • nix develop using package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>)
+ ❯❯ nix develop ".#dsh-overlay-dmd-dub" --print-build-logs -c zsh
+ ❯❯ nix develop ".#dsh-overlay-ldc-dub" --print-build-logs -c zsh
+ ❯❯ nix flake show
• to build project:
+
❯❯ nix build --print-build-logs
❯❯ nix build ".#" --print-build-logs
• to build project (for build dependencies select appropriate dev env & build):
-
- ❯❯ nix build ".#spine-search-nixpkgs-dmd" --print-build-logs
- ❯❯ nix build ".#spine-search-overlay-dmd" --print-build-logs
-
- ❯❯ nix build ".#spine-search-nixpkgs-ldc" --print-build-logs
- ❯❯ nix build ".#spine-search-overlay-ldc" --print-build-logs
+ • nix build using nixpkgs
+ ❯❯ nix build ".#spine-search-nixpkgs-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-search-nixpkgs-ldc" --print-build-logs
+ • nix build using package overlays: (dmd-<<dmd_version>>, ldc-<<ldc_version>>, dub-<<dub_version>>)
+ ❯❯ nix build ".#spine-search-overlay-dmd" --print-build-logs
+ ❯❯ nix build ".#spine-search-overlay-ldc" --print-build-logs
• to build using dub on nix (get dependencies by setting your development environment):
@@ -111,79 +115,86 @@ echo '
'
#+END_SRC
-*** 3.0.4
-
-#+NAME: direnv-version
-#+BEGIN_SRC sh
-3.0.4
-#+END_SRC
+** .envrc-git-init
-#+NAME: direnv-sha
-#+BEGIN_SRC sh
-sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
+#+HEADER: :tangle ../.envrc-git-init
+#+HEADER: :noweb yes
+#+BEGIN_SRC shell
+if [[ ! -d ./.git ]]; then
+ git init
+ git add .
+fi
#+END_SRC
-*** 3.0.0
+** .envrc-local CHECK MODIFY
-#+BEGIN_SRC sh
-3.0.0
-#+END_SRC
+- bespoke modify appropriately and generate if needed
-#+BEGIN_SRC sh
-sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=
+#+HEADER: :tangle ../.envrc-local
+#+HEADER: :noweb yes
+#+BEGIN_SRC shell
+export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
+export SpineSearchBIN=result/share/cgi-bin
+# ❯❯ cgi search form name:
+export SpineCGIform='spine_search'
+# ❯❯ configuration cgi search form path:
+export SpineCGIbin=/var/www/cgi/cgi-bin
#+END_SRC
-*** 2.4.0
+* versions GET
+** direnv
-#+BEGIN_SRC sh
-2.4.0
+#+NAME: direnv_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:direnv-version()>>
#+END_SRC
-#+BEGIN_SRC sh
-sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
+#+NAME: direnv_hash
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:direnv-hash()>>
#+END_SRC
-#+BEGIN_SRC sh
-2.3.0
-#+END_SRC
+** spine project VERSION :version:set:project:
-#+BEGIN_SRC sh
-sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=
+#+NAME: spine_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>>
#+END_SRC
-#+NAME: direnv-sha_
-#+BEGIN_SRC sh
-sha256-0000000000000000000000000000000000000000000=
-#+END_SRC
+** dlang overlays
+*** ldc
-#+BEGIN_SRC sh
-- https://github.com/nix-community/nix-direnv
-NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000="
-direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc
+#+NAME: ldc_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-version()>>
#+END_SRC
-** .envrc-git-init
+*** dmd
-#+HEADER: :tangle ../.envrc-git-init
+#+NAME: dmd_version
#+HEADER: :noweb yes
-#+BEGIN_SRC sh
-if [[ ! -d ./.git ]]; then
- git init
- git add .
-fi
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dmd-version()>>
#+END_SRC
-** .envrc-local CHECK MODIFY
+*** dub
-- bespoke modify appropriately and generate if needed
+#+NAME: dub_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dub-version()>>
+#+END_SRC
-#+HEADER: :tangle ../.envrc-local
+*** dtools
+
+#+NAME: dtools_version
#+HEADER: :noweb yes
-#+BEGIN_SRC sh
-export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g')
-export SpineSearchBIN=result/share/cgi-bin
-# ❯❯ cgi search form name:
-export SpineCGIform='spine_search'
-# ❯❯ configuration cgi search form path:
-export SpineCGIbin=/var/www/cgi/cgi-bin
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dtools-version()>>
#+END_SRC
+
+* __END__
diff --git a/org/config_git.org b/org/config_git.org
index 44ade4a..778dce1 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
@@ -91,7 +91,7 @@ tmp/**
** .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_make.org b/org/config_make.org
index 2c7e8d9..3aec827 100644
--- a/org/config_make.org
+++ b/org/config_make.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:build:tools:
#+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
@@ -31,14 +31,14 @@
- meson
#+NAME: meson_version_set
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
0.46
#+END_SRC
- soversion
#+NAME: soversion_version_set
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
0
#+END_SRC
diff --git a/org/config_nix.org b/org/config_nix.org
index 9582909..195114a 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: spine-search nix configuration
#+FILETAGS: :spine:build:tools:
#+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: show4levels hideblocks hidestars noindent entitiespretty
#+PROPERTY: header-args :exports code
@@ -18,18 +18,14 @@
* nix :nix:
** flake.nix :flake:
-# "github:nixos/nixpkgs"; "github:NixOS/nixpkgs/nixpkgs-unstable"; "nixpkgs/nixos-unstable"; "nixpkgs/nixos-21.11";
-# [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
-# [ dub dmd ]; [ dub ldc ]; [ dub gdc ];
-
#+HEADER: :tangle ../flake.nix
#+HEADER: :noweb yes
#+BEGIN_SRC nix
{
description = "a sisu like document parser search form";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- inputs.flake-utils.url = "github:numtide/flake-utils";
- inputs.d-overlay = {
+ #inputs.flake-utils.url = "github:numtide/flake-utils";
+ inputs.spine-d-overlay = {
url = "<<sisudoc_dlang_nix_overlay_src>>";
inputs.nixpkgs.follows = "nixpkgs";
flake = true;
@@ -37,8 +33,8 @@
outputs = {
self,
nixpkgs,
- flake-utils,
- d-overlay,
+ #flake-utils,
+ spine-d-overlay,
...
}@inputs: let
pname = "spine_search";
@@ -86,6 +82,7 @@
default = stdenv.mkDerivation {
inherit pname;
inherit version;
+ meta.mainProgram = "spine-search";
executable = true;
src = self;
inherit shell;
@@ -120,8 +117,8 @@
src = self;
inherit shell;
inherit devEnv;
- buildInputs = [sqlite];
- nativeBuildInputs = [dub dmd gnumake];
+ buildInputs = with pkgs-nix; [sqlite];
+ nativeBuildInputs = with pkgs-nix; [dub dmd gnumake];
buildPhase = ''
runHook preBuild
buildCMD="dub run --cache=local --compiler=$(type -P dmd) --build=dmd --combined --skip-registry=all"
@@ -143,8 +140,8 @@
src = self;
inherit shell;
inherit devEnv;
- buildInputs = [sqlite];
- nativeBuildInputs = [dub ldc gnumake];
+ buildInputs = with pkgs-nix; [sqlite];
+ nativeBuildInputs = with pkgs-nix; [dub ldc gnumake];
buildPhase = ''
runHook preBuild
buildCMD="dub run --cache=local --compiler=$(type -P ldmd2) --build=ldmd2 --combined --skip-registry=all"
@@ -235,9 +232,9 @@
'';
in
with pkgs-nix; {
- dsh-d-overlay = d-overlay.devShells.${system}.default;
+ dsh-d-overlay = spine-d-overlay.devShells.${system}.default;
dsh-overlay = mkShell {
- name = "spine base dev shell";
+ name = "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>>";
inherit shell;
inherit devEnv;
packages = with pkgs-ovl; [
@@ -250,7 +247,7 @@
inherit shellHook;
};
dsh-nixpkgs-dmd-dub = mkShell {
- name = "spine base dev shell";
+ name = "spine-<<spine_version>> base dev shell";
inherit shell;
inherit devEnv;
packages = [
@@ -262,7 +259,7 @@
inherit shellHook;
};
dsh-nixpkgs-ldc-dub = mkShell {
- name = "spine base dev shell";
+ name = "spine-<<spine_version>> base dev shell";
inherit shell;
inherit devEnv;
packages = [
@@ -274,7 +271,7 @@
inherit shellHook;
};
dsh-overlay-dmd-dub = mkShell {
- name = "spine base dev shell";
+ name = "spine-<<spine_version>> base dev shell, dmd-<<dmd_version>>, dub-<<dub_version>>";
inherit shell;
inherit devEnv;
packages = with pkgs-ovl; [
@@ -286,7 +283,7 @@
inherit shellHook;
};
dsh-overlay-ldc-dub = mkShell {
- name = "spine base dev shell";
+ name = "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>>";
inherit shell;
inherit devEnv;
packages = with pkgs-ovl; [
@@ -330,13 +327,13 @@ with pkgs-nix;
# ❯❯❯ nix_related
#nix
direnv
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
jq #gx
- #alejandra
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
@@ -400,13 +397,13 @@ with pkgs;
# ❯❯❯ nix_related
#nix # if not on NixOS, this is needed
direnv
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
jq #gx
- #alejandra
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
@@ -492,7 +489,7 @@ with (
buildPhase = ''
runHook preBuild
HOME="$PWD"
- DFLAGS="-O2 -inline"
+ #DFLAGS="-O2 -inline"
for DC_ in dmd ldmd2 gdmd; do
echo "- check for D compiler $DC_"
DC=$(type -P $DC_ || echo "")
@@ -536,13 +533,14 @@ with (
}
);
mkDubDerivation rec {
- name = "spine-search-${version}";
+ name = "spine-search-<<spine_version>>";
+ #name = "spine-search-${version}";
src = ./.;
buildInputs = [
pkgs.sqlite
(
with pkgs-nix; [
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
## package manager
dub
## compiler
@@ -596,14 +594,14 @@ installPhase = ''
**** github (official)
#+NAME: nixpkgs_url_github
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
github:NixOS/nixpkgs/nixpkgs-unstable
#+END_SRC
**** localhost
#+NAME: nixpkgs_url_local
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
/srv/nix/nixpkgs
#+END_SRC
@@ -613,7 +611,7 @@ github:NixOS/nixpkgs/nixpkgs-unstable
#+NAME: nixpkgs_url
#+HEADER: :noweb yes
-#+BEGIN_SRC sh
+#+BEGIN_SRC org
<<nixpkgs_url_github>>
#+END_SRC
@@ -627,7 +625,8 @@ github:nixos/nixpkgs
/srv/nix/nixpkgs
#+END_SRC
-** version info SET VERSION :version:set:project:
+* SHARED
+** version and other things shared
*** spine project VERSION :version:set:project:
#+NAME: spine_version
@@ -636,7 +635,8 @@ github:nixos/nixpkgs
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>>
#+END_SRC
-*** spine project git sources VERSION :version:set:project:
+*** spine project git sources
+**** spine project git sources url
#+NAME: sisudoc_spine_nix_src
#+HEADER: :noweb yes
@@ -644,8 +644,56 @@ github:nixos/nixpkgs
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_spine_nix_src()>>
#+END_SRC
+*** spine project git sources url
+**** spine project git sources overlay url
+
#+NAME: sisudoc_dlang_nix_overlay_src
#+HEADER: :noweb yes
#+BEGIN_SRC emacs-lisp
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_dlang_nix_overlay_src()>>
#+END_SRC
+
+** dlang overlays
+*** ldc
+
+#+NAME: ldc_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-version()>>
+#+END_SRC
+
+*** dmd
+
+#+NAME: dmd_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dmd-version()>>
+#+END_SRC
+
+*** dub
+
+#+NAME: dub_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dub-version()>>
+#+END_SRC
+
+*** dtools
+
+#+NAME: dtools_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dtools-version()>>
+#+END_SRC
+
+** sha256 blank hash
+
+#+NAME: sha256-blank
+#+BEGIN_SRC nix
+<<./nix-develop-dlang-shared.org:sha256-blank()>>
+#+END_SRC
+
+#+NAME: blank_hash
+#+BEGIN_SRC nix
+<<./nix-develop-dlang-shared.org:sha256-blank()>>
+#+END_SRC
diff --git a/org/nix-develop-dlang-shared.org b/org/nix-develop-dlang-shared.org
new file mode 100644
index 0000000..1d8fe34
--- /dev/null
+++ b/org/nix-develop-dlang-shared.org
@@ -0,0 +1,655 @@
+-*- mode: org -*-
+#+TITLE: dlang related shared versions
+#+DESCRIPTION: dlang
+#+FILETAGS: :dlang:develop:shared:
+#+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 :noweb yes
+#+PROPERTY: header-args+ :exports code
+#+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
+
+* nix
+** direnv
+*** version SET
+
+#+NAME: direnv-version
+#+BEGIN_SRC org
+<<direnv_version_3_0_6>>
+#+END_SRC
+
+#+NAME: direnv-hash
+#+BEGIN_SRC org
+<<direnv_hash_3_0_6>>
+#+END_SRC
+
+*** versions
+
+**** 3.0.6
+
+#+NAME: direnv_version_3_0_6
+#+BEGIN_SRC org
+3.0.6
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_6
+#+BEGIN_SRC org
+sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=
+#+END_SRC
+
+**** 3.0.4
+
+#+NAME: direnv_version_3_0_4
+#+BEGIN_SRC org
+3.0.4
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_4
+#+BEGIN_SRC org
+sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
+#+END_SRC
+
+**** 3.0.0
+
+#+NAME: direnv_version_3_0_0
+#+BEGIN_SRC org
+3.0.0
+#+END_SRC
+
+#+NAME: direnv_hash_3_0_0
+#+BEGIN_SRC org
+sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=
+#+END_SRC
+
+**** 2.4.0
+
+#+NAME: direnv_version_2_4_0
+#+BEGIN_SRC org
+2.4.0
+#+END_SRC
+
+#+NAME: direnv_hash_2_4_0
+#+BEGIN_SRC org
+sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
+#+END_SRC
+
+* dlang
+** ldc
+
+- https://github.com/ldc-developers/ldc/releases
+
+*** version SET
+**** version & sha256 nix composite
+
+#+NAME: ldc-version-info
+#+BEGIN_SRC org
+version = "<<ldc-version>>";
+sha256 = "<<ldc-hash>>";
+#+END_SRC
+
+**** select version SET OK ✓
+
+#+NAME: ldc-version
+#+BEGIN_SRC org
+<<ldc_version_1_40_1>>
+#+END_SRC
+
+#+NAME: ldc-hash
+#+BEGIN_SRC org
+<<ldc_hash_1_40_1>>
+#+END_SRC
+
+#+NAME: ldc-llvm-set
+#+BEGIN_SRC org
+<<ldc_llvm_set_1_40_1>>
+#+END_SRC
+
+*** versions
+**** 1.41
+***** 1.41.0 beta1 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/releases/download/v${version}/ldc-${version}-src.tar.gz
+
+#+NAME: ldc_version_1_41_0
+#+BEGIN_SRC nix
+1.41.0-beta1
+#+END_SRC
+
+#+NAME: ldc_hash_1_41_0
+#+BEGIN_SRC nix
+sha256-FSdBOVkHdEJ7flKTyjkE0MCEUIMOXRv4uBn8OKPPdn4=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_41_0
+#+BEGIN_SRC nix
+llvm_19
+#+END_SRC
+
+**** 1.40 OK ✓
+***** 1.40.1 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.40.1.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_40_1
+#+BEGIN_SRC nix
+1.40.1
+#+END_SRC
+
+#+NAME: ldc_hash_1_40_1
+#+BEGIN_SRC nix
+sha256-WdnwdH25A5oMNNY3uWG2hxnaAT+S1hNuP7LElH3uuuk=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_40_1
+#+BEGIN_SRC nix
+llvm_19
+#+END_SRC
+
+***** 1.40.0 OK ✓
+
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.40.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_40_0
+#+BEGIN_SRC nix
+1.40.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_40_0
+#+BEGIN_SRC nix
+sha256-LT85DlAebecPpBUgZP0ayKTVrTUqN6DMJVEWTatLOxY=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_40_0
+#+BEGIN_SRC nix
+llvm_19
+#+END_SRC
+
+**** 1.39 OK ✓
+***** 1.39.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.39.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_39_0
+#+BEGIN_SRC nix
+1.39.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_39_0
+#+BEGIN_SRC nix
+sha256-ZiG0ATsY6Asu2nus3Y404fvqIwtKYoHl1JRUDU5A6mo=
+#+END_SRC
+
+#+NAME: ldc_llvm_set_1_39_0
+#+BEGIN_SRC nix
+llvm_18
+#+END_SRC
+
+**** =< 1.32
+***** 1.32.2
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
+
+#+NAME: ldc_version_1_32_2
+#+BEGIN_SRC nix
+1.32.2
+#+END_SRC
+
+#+NAME: ldc_hash_1_32_2
+#+BEGIN_SRC nix
+sha256-v6Sq7nQyChJohDyI4inzObLfCVOkvLT87VLr4N2hzZU=
+#+END_SRC
+
+***** 1.32.1
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
+
+#+NAME: ldc_version_1_32_1
+#+BEGIN_SRC nix
+1.32.1
+#+END_SRC
+
+#+NAME: ldc_hash_1_32_1
+#+BEGIN_SRC nix
+sha256-s1U7+qiVJDF+zSHrLGPG6g+acIChYnXkb9p+OrNX6g8=
+#+END_SRC
+
+***** 1.32.0
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.0.tar.gz
+
+#+NAME: ldc_version_1_32_0
+#+BEGIN_SRC nix
+1.32.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_32_0
+#+BEGIN_SRC nix
+sha256-xO4L+RtBbdVkE1PZsme2pIYAxJnHgr6xEtLkYOMpvqw=
+#+END_SRC
+
+***** 1.31.0
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.31.0.tar.gz
+
+#+NAME: ldc_version_1_31_0
+#+BEGIN_SRC nix
+1.31.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_31_0
+#+BEGIN_SRC nix
+sha256-8cjs6eHjWAbDRBvyT75mbN3Y7vN1WSwZzY/uRwHNVFg=
+#+END_SRC
+
+***** 1.30.0
+
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.30.0.tar.gz
+
+#+NAME: ldc_version_1_30_0
+#+BEGIN_SRC nix
+1.30.0
+#+END_SRC
+
+#+NAME: ldc_hash_1_30_0
+#+BEGIN_SRC nix
+sha256-/bs3bwgkLZF5IqaiKnc5gCF/r6MQBG/F1kWUkK8j2s0=
+#+END_SRC
+
+** dmd
+
+- https://github.com/dlang/dmd/tags
+
+*** version SET
+
+#+NAME: dmd-version
+#+BEGIN_SRC org
+<<dmd_version_2_111_0>>
+#+END_SRC
+
+#+NAME: dmd-hash
+#+BEGIN_SRC org
+<<dmd_hash_2_111_0>>
+#+END_SRC
+
+#+NAME: phobos-hash
+#+BEGIN_SRC org
+<<phobos_hash_2_111_0>>
+#+END_SRC
+
+*** versions
+**** 2.111.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.111.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.111.0.tar.gz
+
+#+NAME: dmd_version_2_111_0
+#+BEGIN_SRC nix
+2.111.0
+#+END_SRC
+
+#+NAME: phobos_hash_2_111_0
+#+BEGIN_SRC nix
+sha256-9jySZbODoL8sULhYKj/l4+c/uiG5xY2dO240k9XQtPk=
+#+END_SRC
+
+#+NAME: dmd_hash_2_111_0
+#+BEGIN_SRC nix
+sha256-2bjsGa9nTny818dLRV6LKkes+Ycq8W+PFjwhGVrD5TM=
+#+END_SRC
+
+**** 2.110.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.110.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.110.0.tar.gz
+
+#+NAME: dmd_version_2_110_0
+#+BEGIN_SRC nix
+2.110.0
+#+END_SRC
+
+#+NAME: phobos_hash_2_110_0
+#+BEGIN_SRC nix
+sha256-CmJpcHM+sIsaYBlpALCFoQFG+93s8gUyWmM0tYqjXkk=
+#+END_SRC
+
+#+NAME: dmd_hash_2_110_0
+#+BEGIN_SRC nix
+sha256-icXp9xWF2AI2gp7z/lQFAChmXfQePe9b5pbpQ9Mn19Y=
+#+END_SRC
+
+**** 2.109.1 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.1.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.109.1.tar.gz
+
+#+NAME: dmd_version_2_109_1
+#+BEGIN_SRC nix
+2.109.1
+#+END_SRC
+
+#+NAME: phobos_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-73I0k7tCBwe5tl4K6uMs3/nT2JTZ2SppFYzmokS4W5Y=
+#+END_SRC
+
+#+NAME: dmd_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-3nCDPZnb4eQZmhYYxcH6qOmsP8or0KYuzAa5g/C9xdU=
+#+END_SRC
+
+**** 2.109.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.109.0.tar.gz
+
+#+NAME: dmd_version_2_109_0
+#+BEGIN_SRC nix
+2.109.0
+#+END_SRC
+
+#+NAME: dmd_hash_2_109_0
+#+BEGIN_SRC nix
+sha256-unAZgyZyT6qomlj6pdlOx4h1SKuDjutl1/0FM9AhBWc=
+#+END_SRC
+
+#+NAME: phobos_hash_2_109_0
+#+BEGIN_SRC nix
+sha256-b91FeluFqhmjHd1wwkyq98QzIlwjE646xNj2n6hP3aM=
+#+END_SRC
+
+**** 2.108.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.108.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.108.0.tar.gz
+
+#+NAME: dmd_version_2_108_0
+#+BEGIN_SRC nix
+2.108.0
+#+END_SRC
+
+#+NAME: dmd_hash_2_108_0
+#+BEGIN_SRC nix
+sha256-tlWcFgKtXzfqMMkOq4ezhZHdYCXFckjN5+m6jO4VH0U=
+#+END_SRC
+
+#+NAME: phobos_hash_2_108_0
+#+BEGIN_SRC nix
+sha256-uU8S4rABOfhpKh+MvSbclkbdf0hrsuKF8SIpWMnPpfU=
+#+END_SRC
+
+**** 2.107.0 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.107.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.107.0.tar.gz
+
+#+NAME: dmd_version_2_107_0
+#+BEGIN_SRC nix
+2.107.0
+#+END_SRC
+
+#+NAME: dmd_hash_2_107_0
+#+BEGIN_SRC nix
+<<sha256-blank>>
+#+END_SRC
+
+#+NAME: phobos_hash_2_107_0
+#+BEGIN_SRC nix
+<<sha256-blank>>
+#+END_SRC
+
+**** 2.106.1 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.106.1.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.106.1.tar.gz
+
+#+NAME: dmd_version_2_106_1
+#+BEGIN_SRC nix
+2.106.1
+#+END_SRC
+
+#+NAME: dmd_hash_2_106_1
+#+BEGIN_SRC nix
+sha256-vjYa/Pxrz7J2htXT+fa+xaeen/Vxne++lELbHTSXBK8=
+#+END_SRC
+
+#+NAME: phobos_hash_2_106_1
+#+BEGIN_SRC nix
+sha256-yRL9ub3u4mREG9PVxBvgQ/LDXD57RadPTZ2h08qyh/s=
+#+END_SRC
+
+#+NAME: dmd_version
+#+BEGIN_SRC nix
+<<dmd_version_2_104_0>>
+#+END_SRC
+
+#+NAME: dmd_hash
+#+BEGIN_SRC nix
+<<dmd_hash_2_104_0>>
+#+END_SRC
+
+#+NAME: phobos_hash
+#+BEGIN_SRC nix
+<<phobos_hash_2_104_0>>
+#+END_SRC
+
+** dub
+*** version SET
+
+#+NAME: dub-version
+#+HEADER: :noweb yes
+#+BEGIN_SRC org
+<<dub_version_1_39_0>>
+#+END_SRC
+
+#+NAME: dub-hash
+#+BEGIN_SRC org
+<<dub_hash_1_39_0>>
+#+END_SRC
+
+*** versions
+**** 1.39 OK ✓
+***** 1.39.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.39.0.tar.gz
+
+#+NAME: dub_version_1_39_0
+#+BEGIN_SRC nix
+1.39.0
+#+END_SRC
+
+#+NAME: dub_hash_1_39_0
+#+BEGIN_SRC nix
+sha256-73b15A9+hClD6IbuxTy9QZKpTKjUFYBuqGOclUyhrnM=
+#+END_SRC
+
+**** 1.38 OK ✓
+***** 1.38.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.38.1.tar.gz
+
+#+NAME: dub_version_1_38_1
+#+BEGIN_SRC nix
+1.38.1
+#+END_SRC
+
+#+NAME: dub_hash_1_38_1
+#+BEGIN_SRC nix
+sha256-8Lr/0sx4SKwU1aNOxZArta0RXpDM+EWl29ZsPDdPWFo=
+#+END_SRC
+
+**** 1.36 OK ✓
+***** 1.36.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.36.0.tar.gz
+
+#+NAME: dub_version_1_36_0
+#+BEGIN_SRC nix
+1.36.0
+#+END_SRC
+
+#+NAME: dub_hash_1_36_0
+#+BEGIN_SRC nix
+sha256-S8pls9zxbGAQTwqYf4bDT2q7Ow12S8bBsJE5UmsACBs=
+#+END_SRC
+
+**** 1.35 OK ✓
+***** 1.35.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.35.0.tar.gz
+
+#+NAME: dub_version_1_35_0
+#+BEGIN_SRC nix
+1.35.0
+#+END_SRC
+
+#+NAME: dub_hash_1_35_0
+#+BEGIN_SRC nix
+sha256-hC46XKE6lLLMLGMGl4vDnLDBQy6P/Z7o3ayDJj0Sois=
+#+END_SRC
+
+**** 1.34 OK ✓
+***** 1.34.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.34.0.tar.gz
+
+#+NAME: dub_version_1_34_0
+#+BEGIN_SRC nix
+1.34.0
+#+END_SRC
+
+#+NAME: dub_hash_1_34_0
+#+BEGIN_SRC nix
+sha256-hC46XKE6lLLMLGMGl4vDnLDBQy6P/Z7o3ayDJj0Sois=
+#+END_SRC
+
+**** 1.33 OK ✓
+***** 1.33.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.1.tar.gz
+
+#+NAME: dub_version_1_33_1
+#+BEGIN_SRC nix
+1.33.1
+#+END_SRC
+
+#+NAME: dub_hash_1_33_1
+#+BEGIN_SRC nix
+sha256-QFgUsO04VRXBDjGI5QQs7u9XrexG7/V34TMgJP1D8yA=
+#+END_SRC
+
+***** 1.33.0
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.0.tar.gz
+
+#+NAME: dub_version_1_33_0
+#+BEGIN_SRC nix
+1.33.0
+#+END_SRC
+
+#+NAME: dub_hash_1_33_0
+#+BEGIN_SRC nix
+sha256-4Mha7WF6cg3DIccfpvOnheuvgfziv/7wo8iFsPXO4yY=
+#+END_SRC
+
+**** 1.32 OK ✓
+***** 1.32.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.32.1.tar.gz
+
+#+NAME: dub_version_1_32_1
+#+BEGIN_SRC nix
+1.32.1
+#+END_SRC
+
+#+NAME: dub_hash_1_32_1
+#+BEGIN_SRC nix
+sha256-5pW3Fu3PQ1ZLJnsuh7fPpEBNbVQgGfFyiuMrAVOJKQA=
+#+END_SRC
+
+** dtools
+
+- https://github.com/dlang/tools
+
+*** version SET
+
+#+NAME: dtools-version
+#+BEGIN_SRC org
+<<dtools_version_2_110_0>>
+#+END_SRC
+
+#+NAME: dtools-hash
+#+BEGIN_SRC org
+<<dtools_hash_2_110_0>>
+#+END_SRC
+
+*** versions
+**** 2.110.0 OK ✓
+
+- https://github.com/dlang/tools/releases/tag/v2.110.0
+
+#+NAME: dtools_version_2_110_0
+#+BEGIN_SRC nix
+2.110.0
+#+END_SRC
+
+#+NAME: dtools_hash_2_110_0
+#+BEGIN_SRC nix
+sha256-xMEHnrstL5hAkhp8+/z1I2KZWZ7eztWZnUGLTKCfbBI=
+#+END_SRC
+
+**** 2.109.1 OK ✓
+
+- https://github.com/dlang/tools/releases/tag/v2.109.1
+
+#+NAME: dtools_version_2_109_1
+#+BEGIN_SRC nix
+2.109.1
+#+END_SRC
+
+#+NAME: dtools_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-Pfj8Kwf5AlcrHhLs5A/0vIFWLZaNR3ro+esbs7oWN9I=
+#+END_SRC
+
+**** 2.104.1 OK ✓
+
+- https://github.com/dlang/tools/releases/tag/v2.104.2
+
+#+NAME: dtools_version_2_104_2
+#+BEGIN_SRC nix
+2.104.2
+#+END_SRC
+
+#+NAME: dtools_hash_2_104_2
+#+BEGIN_SRC nix
+sha256-Pfj8Kwf5AlcrHhLs5A/0vIFWLZaNR3ro+esbs7oWN9I=
+#+END_SRC
+
+** sha256 blank_hash
+
+#+NAME: blank_hash
+#+BEGIN_SRC nix
+<<sha256-blank>>
+#+END_SRC
+
+#+NAME: sha256-blank
+#+BEGIN_SRC nix
+sha256-0000000000000000000000000000000000000000000=
+#+END_SRC
+
+#+NAME: assumed_hash
+#+BEGIN_SRC nix
+sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+#+END_SRC
+
+* __END__
diff --git a/org/nixpkgs_overlays_d_related.org b/org/nixpkgs_overlays_d_related.org
index 5eedd71..18ab78c 100644
--- a/org/nixpkgs_overlays_d_related.org
+++ b/org/nixpkgs_overlays_d_related.org
@@ -17,6 +17,18 @@
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
* nix ( written to ./dlang-nix-flakes/ )
+** check updates CHECK
+
+- https://github.com/nix-community/nix-direnv/releases
+- https://github.com/dlang/dmd/tags
+- https://github.com/ldc-developers/ldc/releases
+- https://github.com/dlang/dub/releases
+- https://github.com/dlang/tools/tags
+
+- dependencies sisudoc-spine-search-cgi
+ - https://raw.githubusercontent.com/adamdruppe/arsd/master/core.d
+ - https://raw.githubusercontent.com/adamdruppe/arsd/master/cgi.d
+
** README
#+HEADER: :tangle "../nix-overlays/README"
@@ -27,7 +39,7 @@
,#+FILETAGS: :dlang:build:tools:
,#+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
@@ -173,7 +185,7 @@ nix flake update && nix flake check --show-trace && nix flake info && echo "" &&
** .gitignore
#+HEADER: :tangle-NO "../nix-overlays/.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
@@ -216,7 +228,7 @@ tmp/**
*** nixDevEnv.sh (.envrc)
#+HEADER: :tangle-NO "../nix-overlays/nixDevEnv.sh"
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
if [ -f .envrc-local ]; then
source_env_if_exists .envrc-local || source .envrc-local
fi
@@ -228,7 +240,7 @@ fi
*** .envrc-local
#+HEADER: :tangle-NO "../nix-overlays/.envrc-local"
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
#if [[ !( -f ./nix-flakes.org) && -f ../dlang-nix-flakes.org ]]; then
# # for editing purpose link to the .org file that creates ./dlang-nix-flakes/ content
# ln -s ../dlang-nix-flakes.org ./nix-flakes.org
@@ -243,16 +255,17 @@ fi
*** .envrc-nix
- https://github.com/nix-community/nix-direnv
+- https://github.com/nix-community/nix-direnv/releases
- source_url
- direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>"
- ${NixDirEnvVersion}
#+HEADER: :tangle-NO "../nix-overlays/.envrc-nix"
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
NIX_ENFORCE_PURITY=1
# - https://github.com/nix-community/nix-direnv
-NixDirEnvVersion="<<direnv-version>>"
-NixDirEnvSHA="<<direnv-sha>>"
+NixDirEnvVersion="<<direnv_version>>"
+NixDirEnvSHA="<<direnv_hash>>"
if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}"
fi
@@ -272,49 +285,6 @@ use flake .
#use flake .#default
#+END_SRC
-*** 3.0.4
-
-#+NAME: direnv-version
-#+BEGIN_SRC sh
-3.0.4
-#+END_SRC
-
-#+NAME: direnv-sha
-#+BEGIN_SRC sh
-sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
-#+END_SRC
-
-*** 3.0.0
-
-#+BEGIN_SRC sh
-3.0.0
-#+END_SRC
-
-#+BEGIN_SRC sh
-sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg=
-#+END_SRC
-
-*** 2.4.0
-
-#+BEGIN_SRC sh
-2.4.0
-#+END_SRC
-
-#+BEGIN_SRC sh
-sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=
-#+END_SRC
-
-#+NAME: direnv-sha_
-#+BEGIN_SRC sh
-sha256-0000000000000000000000000000000000000000000=
-#+END_SRC
-
-#+BEGIN_SRC sh
-- https://github.com/nix-community/nix-direnv
-NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000="
-direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc
-#+END_SRC
-
** .nix
*** flake.nix
@@ -323,11 +293,11 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
{
description = "dub d package manager";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
- inputs.flake-utils.url = "github:numtide/flake-utils";
+ #inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = {
self,
nixpkgs,
- flake-utils,
+ #flake-utils,
...
}@inputs: let
name = "dev-dub";
@@ -357,14 +327,14 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
in {
packages = forAllSystems (system: let
pkgs-ovl = pkgsForSystem system;
- pkgs = nixpkgsFor.${system};
+ pkgs-nix = nixpkgsFor.${system};
in
with pkgs-ovl; {
default = dub;
});
devShells = forAllSystems (system: let
pkgs-ovl = pkgsForSystem system;
- pkgs = nixpkgsFor.${system};
+ pkgs-nix = nixpkgsFor.${system};
shellHook = ''
'';
in
@@ -374,32 +344,34 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
inherit shell;
inherit devEnv;
packages = [
- gnumake
ldc
dub
dtools
+ gnumake
];
inherit shellHook;
};
dsh-overlay-ldc-dub = mkShell {
- name = "overlay - ldc-<<ldc_version>> - dub-<<dub_version>>";
+ name = "overlay - ldc-<<ldc_version>> - dub-<<dub_version>> - dtools-<<dtools_version>>";
inherit shell;
inherit devEnv;
packages = [
- gnumake
ldc
dub
+ dtools
+ gnumake
];
inherit shellHook;
};
dsh-overlay-dmd-dub = mkShell {
- name = "overlay - dmd-<<dmd_version>> - dub-<<dub_version>>";
+ name = "overlay - dmd-<<dmd_version>> - dub-<<dub_version>> - dtools-<<dtools_version>>";
inherit shell;
inherit devEnv;
packages = [
- gnumake
dmd
dub
+ dtools
+ gnumake
];
inherit shellHook;
};
@@ -408,11 +380,12 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
inherit shell;
inherit devEnv;
packages = [
- gnumake
ldc
gtkd
tilix
dub
+ dtools
+ gnumake
];
inherit shellHook;
};
@@ -421,9 +394,10 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
# inherit shell;
# inherit devEnv;
# packages = [
- # gnumake
# gdc
# dub
+ # dtools
+ # gnumake
# ];
# inherit shellHook;
#};
@@ -431,16 +405,27 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
name = "nixpkgs - ldc - dub";
inherit shell;
inherit devEnv;
- #nativeBuildInputs = [ dub dmd ldc gdc gnumake ];
- #buildInputs = [ sqlite ];
- packages = with pkgs; [
+ packages = with pkgs-nix; [
ldc
dub
+ dtools
+ gnumake
+ ];
+ inherit shellHook;
+ };
+ dsh-nixpkgs-dmd-dub = mkShell {
+ name = "nixpkgs - ldc - dub";
+ inherit shell;
+ inherit devEnv;
+ packages = with pkgs-nix; [
+ dmd
+ dub
+ dtools
gnumake
];
inherit shellHook;
};
- default = import ./shell.nix {inherit pkgs;};
+ default = import ./shell.nix {inherit pkgs-nix;};
});
};
}
@@ -452,21 +437,21 @@ direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${Nix
#+HEADER: :tangle-mode (identity #o755)
#+HEADER: :shebang "#!/usr/bin/env -S nix-shell -I nixpkgs=/srv/nix/nixpkgs --pure\n#!nix-shell -i bash"
#+BEGIN_SRC nix
-{pkgs ? import <nixpkgs> {}}:
-with pkgs;
+{pkgs-nix ? import <nixpkgs> {}}:
+with pkgs-nix;
mkShell {
buildInputs = [
# ❯❯❯ nix_related
#nix
direnv
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
nix-output-monitor
#nix-tree
#nvd
jq #gx
- #alejandra
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
ldc
@@ -516,29 +501,42 @@ pkgs.callPackage ./shell.nix {}
- OK ldc 1.32.2 tested
-*** overlays
-**** default.nix OK ✓
+*** overlays OK ✓
+**** default.nix
#+HEADER: :tangle "../nix-overlays/ldc/default.nix"
#+BEGIN_SRC nix
-import ./generic.nix {
- <<ldc_version_info>>
-}
+import ./package.nix
#+END_SRC
-**** generic.nix OK ✓ (unaltered)
+**** package.nix OK ✓
-#+HEADER: :tangle "../nix-overlays/ldc/generic.nix"
+#+HEADER: :tangle "../nix-overlays/ldc/package.nix"
#+BEGIN_SRC nix
-{ version, sha256 }:
-{ lib, stdenv, fetchurl, cmake, ninja, <<ldc_llvm_set>>, curl, tzdata
-, libconfig, lit, gdb, unzip, darwin, bash
-, callPackage, makeWrapper, runCommand, targetPackages
-, ldcBootstrap ? callPackage ./bootstrap.nix { }
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ ninja,
+ <<ldc_llvm_set>>,
+ curl,
+ tzdata,
+ lit,
+ gdb,
+ unzip,
+ darwin,
+ callPackage,
+ makeWrapper,
+ runCommand,
+ writeText,
+ targetPackages,
+
+ ldcBootstrap ? callPackage ./bootstrap.nix { },
}:
let
- pathConfig = runCommand "ldc-lib-paths" {} ''
+ pathConfig = runCommand "ldc-lib-paths" { } ''
mkdir $out
echo ${tzdata}/share/zoneinfo/ > $out/TZDatabaseDirFile
echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > $out/LibcurlPathFile
@@ -546,60 +544,56 @@ let
in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "ldc";
- inherit version;
+ version = "<<ldc_version>>";
- src = fetchurl {
- url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz";
- inherit sha256;
+ src = fetchFromGitHub {
+ owner = "ldc-developers";
+ repo = "ldc";
+ rev = "v${finalAttrs.version}";
+ hash = "<<ldc_hash>>";
+ fetchSubmodules = true;
};
# https://issues.dlang.org/show_bug.cgi?id=19553
hardeningDisable = [ "fortify" ];
- postUnpack = ''
- patchShebangs .
- ''
- + ''
- rm ldc-${version}-src/tests/dmd/fail_compilation/mixin_gc.d
- rm ldc-${version}-src/tests/dmd/runnable/xtest46_gc.d
- rm ldc-${version}-src/tests/dmd/runnable/testptrref_gc.d
-
- # test depends on current year
- rm ldc-${version}-src/tests/dmd/compilable/ddocYear.d
- ''
- + lib.optionalString stdenv.hostPlatform.isDarwin ''
- # https://github.com/NixOS/nixpkgs/issues/34817
- rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
- '';
-
postPatch = ''
- # Setting SHELL=$SHELL when dmd testsuite is run doesn't work on Linux somehow
- #substituteInPlace tests/dmd/Makefile --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash"
- ''
- + lib.optionalString stdenv.hostPlatform.isLinux ''
- substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
- ''
- + lib.optionalString stdenv.hostPlatform.isDarwin ''
- substituteInPlace runtime/phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
+ patchShebangs runtime tools tests
+
+ rm tests/dmd/fail_compilation/mixin_gc.d
+ rm tests/dmd/runnable/xtest46_gc.d
+ rm tests/dmd/runnable/testptrref_gc.d
+
+ # test depends on current year
+ rm tests/dmd/compilable/ddocYear.d
+ '' + lib.optionalString stdenv.hostPlatform.isLinux ''
+ substituteInPlace runtime/phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
+ '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+ substituteInPlace runtime/phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
+
+ # https://github.com/NixOS/nixpkgs/issues/34817
+ rm -r tests/plugins/addFuncEntryCall
'';
nativeBuildInputs = [
cmake ldcBootstrap lit lit.python <<ldc_llvm_set>>.dev makeWrapper ninja unzip
- ]
- ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Foundation
- ]
- ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
+ ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
# https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
gdb
];
buildInputs = [ curl tzdata ];
+ outputs = [ "out" "include" ];
+ outputInclude = "include";
+
cmakeFlags = [
"-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J${pathConfig}"
+ "-DINCLUDE_INSTALL_DIR=${placeholder "include"}/include/d"
];
postConfigure = ''
@@ -608,7 +602,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "DMD=$DMD" ];
- fixNames = lib.optionalString stdenv.hostPlatform.isDarwin ''
+ fixNames = lib.optionalString stdenv.hostPlatform.isDarwin ''
fixDarwinDylibNames() {
local flags=()
@@ -628,14 +622,13 @@ stdenv.mkDerivation rec {
'';
# https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746
- additionalExceptions = lib.optionalString stdenv.hostPlatform.isDarwin
- "|druntime-test-shared";
+ additionalExceptions = lib.optionalString stdenv.hostPlatform.isDarwin "|druntime-test-shared";
checkPhase = ''
# Build default lib test runners
ninja -j$NIX_BUILD_CORES all-test-runners
- ${fixNames}
+ ${finalAttrs.fixNames}
# Run dmd testsuite
export DMD_TESTSUITE_MAKE_ARGS="-j$NIX_BUILD_CORES DMD=$DMD"
@@ -648,90 +641,83 @@ stdenv.mkDerivation rec {
ctest -V -R "lit-tests"
# Run default lib unittests
- ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${additionalExceptions}"
+ ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${finalAttrs.additionalExceptions}"
'';
postInstall = ''
wrapProgram $out/bin/ldc2 \
- --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
- --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
- '';
+ --prefix PATH : ${targetPackages.stdenv.cc}/bin \
+ --set-default CC ${targetPackages.stdenv.cc}/bin/cc
+ '';
meta = with lib; {
- description = "The LLVM-based D compiler";
+ description = "LLVM-based D compiler";
homepage = "https://github.com/ldc-developers/ldc";
+ changelog = "https://github.com/ldc-developers/ldc/releases/tag/v${finalAttrs.version}";
# from https://github.com/ldc-developers/ldc/blob/master/LICENSE
license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
+ mainProgram = "ldc2";
maintainers = with maintainers; [ lionello jtbx ];
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
-}
-#+END_SRC
-
-**** bootstrap.nix
-#+HEADER: :tangle "../nix-overlays/ldc/bootstrap.nix"
-#+BEGIN_SRC nix
-<<ldc_bootstrap_1-25-0>>
-#+END_SRC
-
-#+NAME: ldc_bootstrap_1-25-0
-#+BEGIN_SRC nix
-{ callPackage }:
-callPackage ./binary.nix {
- version = "1.25.0";
- hashes = {
- # Get these from `nix-prefetch-url https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc..
- osx-x86_64 = "sha256-6iKnbS+oalLKmyS8qYD/wS21b7+O+VgsWG2iT4PrWPU=";
- linux-x86_64 = "sha256-sfg47RdlsIpryc3iZvE17OtLweh3Zw6DeuNJYgpuH+o=";
- linux-aarch64 = "sha256-UDZ43x4flSo+SfsPeE8juZO2Wtk2ZzwySk0ADHnvJBI=";
- osx-arm64 = "sha256-O/x0vy0wwQFaDc4uWSeMhx+chJKqbQb6e5QNYf+7DCw=";
+ passthru.ldcBootstrap = ldcBootstrap;
+ passthru.tests =
+ let
+ ldc = finalAttrs.finalPackage;
+ helloWorld = stdenv.mkDerivation (finalAttrs: {
+ name = "ldc-hello-world";
+ src = writeText "hello_world.d" ''
+ module hello_world;
+ import std.stdio;
+ void main() {
+ writeln("Hello, world!");
+ }
+ '';
+ dontUnpack = true;
+ buildInputs = [ ldc ];
+ dFlags = [ ];
+ buildPhase = ''
+ ldc2 ${lib.escapeShellArgs finalAttrs.dFlags} -of=test $src
+ '';
+ installPhase = ''
+ mkdir -p $out/bin
+ mv test $out/bin
+ '';
+ });
+ in {
+ # Without -shared, built binaries should not contain
+ # references to the compiler binaries.
+ no-references-to-compiler = helloWorld.overrideAttrs {
+ disallowedReferences = [ ldc ];
+ dFlags = ["-g"];
+ };
};
-}
+})
#+END_SRC
-#+NAME: ldc_bootstrap_1-30-0
-#+BEGIN_SRC nix
-{ callPackage }:
-callPackage ./binary.nix {
- version = "1.30.0";
- hashes = {
- # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc..
- osx-x86_64 = "sha256-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk=";
- linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
- linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
- osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4=";
- };
-}
-#+END_SRC
+**** bootstrap.nix
- this is the ldc bootstrap in current use, nixpkgs:
+#+HEADER: :tangle "../nix-overlays/ldc/bootstrap.nix"
#+BEGIN_SRC nix
-{ callPackage }:
-callPackage ./binary.nix {
- version = "1.30.0";
- hashes = {
- # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc..
- osx-x86_64 = "sha256-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk=";
- linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
- linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
- osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4=";
- };
-}
-#+END_SRC
-
-**** binary.nix (unaltered)
-
-#+HEADER: :tangle "../nix-overlays/ldc/binary.nix"
-#+BEGIN_SRC nix
-{ lib, stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, libxml2
-, version, hashes }:
+{
+ lib,
+ stdenv,
+ fetchurl,
+ curl,
+ tzdata,
+ autoPatchelfHook,
+ fixDarwinDylibNames,
+ libxml2,
+}:
let
inherit (stdenv) hostPlatform;
OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
ARCH = if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name;
+ <<ldc_bootstrap_1-25-0_hashes>>
in stdenv.mkDerivation {
pname = "ldc-bootstrap";
inherit version;
@@ -739,7 +725,7 @@ in stdenv.mkDerivation {
src = fetchurl rec {
name = "ldc2-${version}-${OS}-${ARCH}.tar.xz";
url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/${name}";
- sha256 = hashes."${OS}-${ARCH}" or (throw "missing bootstrap sha256 for ${OS}-${ARCH}");
+ hash = hashes."${OS}-${ARCH}" or (throw "missing bootstrap hash for ${OS}-${ARCH}");
};
dontConfigure = true;
@@ -760,7 +746,7 @@ in stdenv.mkDerivation {
'';
meta = with lib; {
- description = "The LLVM-based D Compiler";
+ description = "LLVM-based D Compiler";
homepage = "https://github.com/ldc-developers/ldc";
# from https://github.com/ldc-developers/ldc/blob/master/LICENSE
license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
@@ -770,271 +756,33 @@ in stdenv.mkDerivation {
}
#+END_SRC
-*** versions SET
-**** selected version SET OK ✓
-***** version & sha256 nix composite
-
-#+NAME: ldc_version_info
-#+BEGIN_SRC nix
-version = "<<ldc_version>>";
-sha256 = "<<ldc_hash>>";
-#+END_SRC
-
-***** select version SET OK ✓
-
-#+NAME: ldc_version
-#+BEGIN_SRC nix
-<<ldc_version_1_39_0>>
-#+END_SRC
-
-#+NAME: ldc_hash
-#+BEGIN_SRC nix
-<<ldc_hash_1_39_0>>
-#+END_SRC
-
-#+NAME: ldc_llvm_set
-#+BEGIN_SRC nix
-<<ldc_llvm_set_1_39_0>>
-#+END_SRC
-
-**** 1.39 OK ✓
-***** 1.39.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.39.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_39_0
-#+BEGIN_SRC nix
-1.39.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_39_0
-#+BEGIN_SRC nix
-sha256-g5usNvYHMxjjbwsWN2fgO9vT9X2ZJWuXSUrEObWaRWI=
-#+END_SRC
+***** bootstrap.nix version SELECT
+****** bootstrap.nix ldc2-1.25.0
-#+NAME: ldc_llvm_set_1_39_0
+#+NAME: ldc_bootstrap_1-25-0_hashes
#+BEGIN_SRC nix
-llvm_18
+version = "1.25.0";
+hashes = {
+ # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.25.0/ldc2-1.25.0-osx-x86_64.tar.xz` etc..
+ osx-x86_64 = "sha256-6iKnbS+oalLKmyS8qYD/wS21b7+O+VgsWG2iT4PrWPU=";
+ linux-x86_64 = "sha256-sfg47RdlsIpryc3iZvE17OtLweh3Zw6DeuNJYgpuH+o=";
+ linux-aarch64 = "sha256-UDZ43x4flSo+SfsPeE8juZO2Wtk2ZzwySk0ADHnvJBI=";
+ osx-arm64 = "sha256-O/x0vy0wwQFaDc4uWSeMhx+chJKqbQb6e5QNYf+7DCw=";
+};
#+END_SRC
-**** 1.38 OK ✓
-***** 1.38.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.38.0.tar.gz
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+****** bootstrap.nix ldc2-1.30.0
-#+NAME: ldc_version_1_38_0
+#+NAME: ldc_bootstrap_1-30-0_hashes
#+BEGIN_SRC nix
-1.38.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_38_0
-#+BEGIN_SRC nix
-sha256-ymI47+Ai40zTB2dB+KBwxqN3GWNRxhlJpIpIyZN5844=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_38_0
-#+BEGIN_SRC nix
-llvm_18
-#+END_SRC
-
-**** 1.37 OK ✓
-***** 1.37.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.37.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_37_0
-#+BEGIN_SRC nix
-1.37.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_37_0
-#+BEGIN_SRC nix
-sha256-UOgK48Q2yQY3wsPUDzktwotyH3qrOh48o79PnCjboGQ=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_37_0
-#+BEGIN_SRC nix
-llvm_17
-#+END_SRC
-
-**** 1.36 OK ✓
-***** 1.36.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.36.0.tar.gz
-
-#+NAME: ldc_version_1_36_0
-#+BEGIN_SRC nix
-1.36.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_36_0
-#+BEGIN_SRC nix
-sha256-oAx5BzEjqIfBf0Rsd4KklVajUSo9Natna31Trhu41u8=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_36_0
-#+BEGIN_SRC nix
-llvm_17
-#+END_SRC
-
-**** 1.35 OK ✓
-***** 1.35.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.35.0.tar.gz
-
-#+NAME: ldc_version_1_35_0
-#+BEGIN_SRC nix
-1.35.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_35_0
-#+BEGIN_SRC nix
-sha256-bilpk3BsdsCT5gkTmqCz+HBDVfoPN1b2dY141EIm36A=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_35_0
-#+BEGIN_SRC nix
-llvm_16
-#+END_SRC
-
-**** 1.34 OK ✓
-***** 1.34.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.34.0.tar.gz
-
-#+NAME: ldc_version_1_34_0
-#+BEGIN_SRC nix
-1.34.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_34_0
-#+BEGIN_SRC nix
-sha256-MAXG6ceSWFOMg5eXZnZ6WePXTzy5CsLLDc5ddXO+txk=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_34_0
-#+BEGIN_SRC nix
-llvm_16
-#+END_SRC
-
-**** 1.33 OK ✓
-***** 1.33.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.33.0.tar.gz
-
-#+NAME: ldc_version_1_33_0
-#+BEGIN_SRC nix
-1.33.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_33_0
-#+BEGIN_SRC nix
-sha256-g0wbCMX1s6mPnvuvhjLw03fRfawcFxDkg8nuaEZYw6g=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_33_0
-#+BEGIN_SRC nix
-llvm_15
-#+END_SRC
-
-**** 1.32
-***** 1.32.2 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
-
-#+NAME: ldc_version_1_32_2
-#+BEGIN_SRC nix
-1.32.2
-#+END_SRC
-
-#+NAME: ldc_hash_1_32_2
-#+BEGIN_SRC nix
-sha256-v6Sq7nQyChJohDyI4inzObLfCVOkvLT87VLr4N2hzZU=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_32_2
-#+BEGIN_SRC nix
-llvm_15
-#+END_SRC
-
-***** 1.32.1
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
-
-#+NAME: ldc_version_1_32_1
-#+BEGIN_SRC nix
-1.32.1
-#+END_SRC
-
-#+NAME: ldc_hash_1_32_1
-#+BEGIN_SRC nix
-sha256-s1U7+qiVJDF+zSHrLGPG6g+acIChYnXkb9p+OrNX6g8=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_32_1
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
-***** 1.32.0
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.0.tar.gz
-
-#+NAME: ldc_version_1_32_0
-#+BEGIN_SRC nix
-1.32.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_32_0
-#+BEGIN_SRC nix
-sha256-xO4L+RtBbdVkE1PZsme2pIYAxJnHgr6xEtLkYOMpvqw=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_32_0
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
-**** 1.31
-***** 1.31.0
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.31.0.tar.gz
-
-#+NAME: ldc_version_1_31_0
-#+BEGIN_SRC nix
-1.31.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_31_0
-#+BEGIN_SRC nix
-sha256-8cjs6eHjWAbDRBvyT75mbN3Y7vN1WSwZzY/uRwHNVFg=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_31_0
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
-***** 1.30.0
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.30.0.tar.gz
-
-#+NAME: ldc_version_1_30_0
-#+BEGIN_SRC nix
-1.30.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_30_0
-#+BEGIN_SRC nix
-sha256-/bs3bwgkLZF5IqaiKnc5gCF/r6MQBG/F1kWUkK8j2s0=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_30_0
-#+BEGIN_SRC nix
-llvm_14
+version = "1.30.0";
+hashes = {
+ # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.30.0/ldc2-1.30.0-osx-x86_64.tar.xz` etc..
+ osx-x86_64 = "sha256-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk=";
+ linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
+ linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
+ osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4=";
+};
#+END_SRC
** dmd OK ✓
@@ -1059,10 +807,17 @@ llvm_14
*** overlays
**** default.nix
-***** default.nix >=2.108.0)
#+HEADER: :tangle "../nix-overlays/dmd/default.nix"
#+BEGIN_SRC nix
+import ./package.nix
+#+END_SRC
+
+**** package.nix OK ✓
+***** package.nix >=2.108.0)
+
+#+HEADER: :tangle "../nix-overlays/dmd/package.nix"
+#+BEGIN_SRC nix
import ./generic.nix {
version = "<<dmd_version>>";
dmdHash = "<<dmd_hash>>";
@@ -1070,10 +825,9 @@ import ./generic.nix {
}
#+END_SRC
-***** default.nix < 2.108.0)
-
+***** package.nix < 2.108.0)
-#+HEADER: :tangle-NO "../nix-overlays/dmd/default.nix"
+#+HEADER: :tangle-NO "../nix-overlays/dmd/package.nix"
#+BEGIN_SRC nix
import ./generic.nix {
version = "<<dmd_version>>";
@@ -1086,31 +840,33 @@ import ./generic.nix {
#+HEADER: :tangle "../nix-overlays/dmd/generic.nix"
#+BEGIN_SRC nix
-{ version
-, dmdHash
-, phobosHash
+{
+ version,
+ dmdHash,
+ phobosHash,
}:
-{ stdenv
-, lib
-, fetchFromGitHub
-, removeReferencesTo
-, makeWrapper
-, which
-, writeTextFile
-, curl
-, tzdata
-, gdb
-#, Foundation
-, callPackage
-, targetPackages
-, fetchpatch
-, bash
-, installShellFiles
-, git
-, unzip
-, dmdBootstrap ? callPackage ./bootstrap.nix { }
-, dmdBin ? "${dmdBootstrap}/bin"
+{
+ stdenv,
+ lib,
+ fetchFromGitHub,
+ removeReferencesTo,
+ makeWrapper,
+ which,
+ writeTextFile,
+ curl,
+ tzdata,
+ gdb,
+ # Foundation,
+ callPackage,
+ targetPackages,
+ fetchpatch,
+ bash,
+ installShellFiles,
+ git,
+ unzip,
+ dmdBootstrap ? callPackage ./bootstrap.nix { },
+ dmdBin ? "${dmdBootstrap}/bin",
}:
let
@@ -1124,11 +880,8 @@ let
};
bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
- osname =
- if stdenv.isDarwin then
- "osx"
- else
- stdenv.hostPlatform.parsed.kernel.name;
+ osname = if stdenv.hostPlatform.isDarwin then "osx"
+ else stdenv.hostPlatform.parsed.kernel.name;
pathToDmd = "\${NIX_BUILD_TOP}/dmd/generated/${osname}/release/${bits}/dmd";
in
@@ -1185,6 +938,9 @@ stdenv.mkDerivation (finalAttrs: {
rm dmd/compiler/test/runnable/gdb4149.d
rm dmd/compiler/test/runnable/gdb4181.d
rm dmd/compiler/test/compilable/ddocYear.d
+ rm dmd/compiler/test/compilable/sarif_success_test.d
+ rm dmd/compiler/test/fail_compilation/sarif_test.d
+ rm dmd/compiler/test/fail_compilation/sarifmultiple_test.d
# Disable tests that rely on objdump whitespace until fixed upstream:
# https://issues.dlang.org/show_bug.cgi?id=23317
@@ -1194,11 +950,11 @@ stdenv.mkDerivation (finalAttrs: {
rm dmd/compiler/test/dshell/test6952.d
'' + lib.optionalString (lib.versionAtLeast version "2.092.2") ''
substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash"
- '' + lib.optionalString stdenv.isLinux ''
+ '' + lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
- '' + lib.optionalString stdenv.isDarwin ''
- substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
- '';
+ ''; # + lib.optionalString stdenv.hostPlatform.isDarwin ''
+ # substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
+ #'';
nativeBuildInputs = [
makeWrapper
@@ -1211,7 +967,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
curl
tzdata
- # ] ++ lib.optionals stdenv.isDarwin [
+ # ] ++ lib.optionals stdenv.hostPlatform.isDarwin []
# Foundation
];
@@ -1296,15 +1052,23 @@ stdenv.mkDerivation (finalAttrs: {
disallowedReferences = [ dmdBootstrap ];
+ passthru = {
+ inherit dmdBootstrap;
+ };
+
meta = with lib; {
description = "Official reference compiler for the D language";
homepage = "https://dlang.org/";
+ changelog = "https://dlang.org/changelog/${finalAttrs.version}.html";
# Everything is now Boost licensed, even the backend.
# https://github.com/dlang/dmd/pull/6680
license = licenses.boost;
mainProgram = "dmd";
maintainers = with maintainers; [ lionello dukc jtbx ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+ # ld: section __DATA/__thread_bss has type zero-fill but non-zero file offset file '/private/tmp/nix-build-dmd-2.109.1.drv-0/.rdmd-301/rdmd-build.d-A1CF043A7D87C5E88A58F3C0EF5A0DF7/objs/build.o' for architecture x86_64
+ # clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+ broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
};
})
#+END_SRC
@@ -1407,169 +1171,6 @@ stdenv.mkDerivation {
}
#+END_SRC
-*** versions SET
-**** selected version SET OK ✓
-
-#+NAME: dmd_version
-#+BEGIN_SRC nix
-<<dmd_version_2_109_0>>
-#+END_SRC
-
-#+NAME: dmd_hash
-#+BEGIN_SRC nix
-<<dmd_hash_2_109_0>>
-#+END_SRC
-
-#+NAME: phobos_hash
-#+BEGIN_SRC nix
-<<phobos_hash_2_109_0>>
-#+END_SRC
-
-**** 2.109.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.0.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.109.0.tar.gz
-
-#+NAME: dmd_version_2_109_0
-#+BEGIN_SRC nix
-2.109.0
-#+END_SRC
-
-#+NAME: dmd_hash_2_109_0
-#+BEGIN_SRC nix
-sha256-unAZgyZyT6qomlj6pdlOx4h1SKuDjutl1/0FM9AhBWc=
-#+END_SRC
-
-#+NAME: phobos_hash_2_109_0
-#+BEGIN_SRC nix
-sha256-b91FeluFqhmjHd1wwkyq98QzIlwjE646xNj2n6hP3aM=
-#+END_SRC
-
-**** 2.108.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.108.0.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.108.0.tar.gz
-
-#+NAME: dmd_version_2_108_0
-#+BEGIN_SRC nix
-2.108.0
-#+END_SRC
-
-#+NAME: dmd_hash_2_108_0
-#+BEGIN_SRC nix
-sha256-tlWcFgKtXzfqMMkOq4ezhZHdYCXFckjN5+m6jO4VH0U=
-#+END_SRC
-
-#+NAME: phobos_hash_2_108_0
-#+BEGIN_SRC nix
-sha256-uU8S4rABOfhpKh+MvSbclkbdf0hrsuKF8SIpWMnPpfU=
-#+END_SRC
-
-**** 2.107.0 - skip (asleep here apparently)
-
-- asleep apparently
-
-#+NAME: dmd_version_2_107_0
-#+BEGIN_SRC nix
-2.107.0
-#+END_SRC
-
-#+NAME: dmd_hash_2_107_0
-#+BEGIN_SRC nix
-<<sha256-blank>>
-#+END_SRC
-
-#+NAME: phobos_hash_2_107_0
-#+BEGIN_SRC nix
-<<sha256-blank>>
-#+END_SRC
-
-**** 2.106.1 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.106.1.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.106.1.tar.gz
-
-#+NAME: dmd_version_2_106_1
-#+BEGIN_SRC nix
-2.106.1
-#+END_SRC
-
-#+NAME: dmd_hash_2_106_1
-#+BEGIN_SRC nix
-sha256-vjYa/Pxrz7J2htXT+fa+xaeen/Vxne++lELbHTSXBK8=
-#+END_SRC
-
-#+NAME: phobos_hash_2_106_1
-#+BEGIN_SRC nix
-sha256-yRL9ub3u4mREG9PVxBvgQ/LDXD57RadPTZ2h08qyh/s=
-#+END_SRC
-
-**** 2.104.0 KO ✗
-
-- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.104.0.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.104.0.tar.gz
-
-#+NAME: dmd_version_2_104_0
-#+BEGIN_SRC nix
-2.104.0
-#+END_SRC
-
-#+NAME: dmd_hash_2_104_0
-#+BEGIN_SRC nix
-sha256-yv+uW6cYAId2HK/YSPxsR9Xt0o3LWa97z8KyzjFik6s=
-#+END_SRC
-
-#+NAME: phobos_hash_2_104_0
-#+BEGIN_SRC nix
-sha256-cWp36Gd/lh3gy21bf9z0/RqzlJmf6ypmx72aMeakcec=
-#+END_SRC
-
-**** 2.102.2 KO ✗
-
-- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.102.2.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.102.2.tar.gz
-
-#+NAME: dmd_version_2_102_2
-#+BEGIN_SRC nix
-2.102.2
-#+END_SRC
-
-#+NAME: dmd_hash_2_102_2
-#+BEGIN_SRC nix
-sha256-der9nb31hJ+K1aJZdzIgs8+eRgVVsH97QnYEnVbKUws=
-#+END_SRC
-
-#+NAME: phobos_hash_2_102_2
-#+BEGIN_SRC nix
-sha256-SracmUm2aY/LDCyDqYuVS39pCbwO8UCL3TSB0CVHpHE=
-#+END_SRC
-
-**** 2.100.2 KO ✗
-
-- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.100.2.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/druntime/archive/refs/tags/v2.100.2.tar.gz
-- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.100.2.tar.gz
-
-#+NAME: dmd_version_2_100_2
-#+BEGIN_SRC nix
-2.100.2
-#+END_SRC
-
-#+NAME: dmd_hash_2_100_2
-#+BEGIN_SRC nix
-sha256-o4+G3ARXIGObYHtHooYZKr+Al6kHpiwpMIog3i4BlDM=
-#+END_SRC
-
-#+NAME: druntime_hash_2_100_2
-#+BEGIN_SRC nix
-sha256-qXvY1ECN4mPwOGgOE1FWwvxoRvlSww3tGLWgBdhzAKo=
-#+END_SRC
-
-#+NAME: phobos_hash_2_100_2
-#+BEGIN_SRC nix
-sha256-kTHRaAKG7cAGb4IE/NGHWaZ8t7ZceKj03l6E8wLzJzs=
-#+END_SRC
-
** dub OK
*** info
**** links
@@ -1597,15 +1198,31 @@ sha256-kTHRaAKG7cAGb4IE/NGHWaZ8t7ZceKj03l6E8wLzJzs=
- OK dub == 1.30.0 OK ✓
*** overlays
-**** default.nix OK ✓
+**** default.nix
#+HEADER: :tangle "../nix-overlays/dub/default.nix"
#+BEGIN_SRC nix
-{ lib, stdenv, fetchFromGitHub, curl, libevent, rsync, ldc, dcompiler ? ldc }:
+import ./package.nix
+#+END_SRC
+
+**** package.nix OK ✓
+
+#+HEADER: :tangle "../nix-overlays/dub/package.nix"
+#+BEGIN_SRC nix
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ curl,
+ <<dcompiler>>,
+ dcompiler ? <<dcompiler>>,
+ libevent,
+ rsync,
+}:
assert dcompiler != null;
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "dub";
version = "<<dub_version>>";
@@ -1614,30 +1231,21 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "dlang";
repo = "dub";
- rev = "v${version}";
- sha256 = "<<dub_hash>>";
+ rev = "v${finalAttrs.version}";
+ hash = "<<dub_hash>>";
};
- #postUnpack = ''
- # patchShebangs .
- #'';
-
- dubvar = "\\$DUB";
postPatch = ''
patchShebangs test
-
- # Can be removed with https://github.com/dlang/dub/pull/1368
- substituteInPlace test/fetchzip.sh \
- --replace "dub remove" "\"${dubvar}\" remove"
'';
nativeBuildInputs = [ dcompiler libevent rsync ];
buildInputs = [ curl ];
- buildPhase = ''
- for DC_ in dmd ldmd2 gdmd; do
- echo "... check for D compiler $DC_ ..."
- export DC=$(type -P $DC_ || echo "")
+ preBuild = ''
+ for DCn in dmd ldmd2 gdmd; do
+ echo "... check for D compiler $DCn ..."
+ export DC=$(type -P $DCn || echo "")
if [ ! "$DC" == "" ]; then
break
fi
@@ -1645,17 +1253,21 @@ stdenv.mkDerivation rec {
if [ "$DC" == "" ]; then
exit "Error: could not find D compiler"
fi
- echo "$DC_ found and used as D compiler in buildPhase for $pname"
- $DC ./build.d
- ./build
+ echo "$DCn found and used as D compiler in buildPhase for $pname"
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ $DC -run ./build.d
+ runHook postBuild
'';
- doCheck = !stdenv.isDarwin;
+ doCheck = !stdenv.hostPlatform.isDarwin;
checkPhase = ''
+ runHook preCheck
export DUB=$NIX_BUILD_TOP/source/bin/dub
export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
- #export DC=${dcompiler.out}/bin/${if dcompiler.pname=="ldc" then "ldc2" else dcompiler.pname}
if [ "$DC" == "" ]; then
exit "Error: could not find D compiler"
fi
@@ -1663,8 +1275,7 @@ stdenv.mkDerivation rec {
export HOME=$TMP
rm -rf test/issue502-root-import
- rm -rf test/dpath-variable
- #rm test/dpath-variable.sh
+ rm -r test/dpath-variable # requires execution of dpath-variable.sh
rm -rf test/git-dependency
rm -rf test/use-c-sources # added to build v1.33.0
rm -rf test/pr2642-cache-db # added to build v1.34.0
@@ -1672,199 +1283,35 @@ stdenv.mkDerivation rec {
rm -rf test/pr2647-build-deep # added to build v1.36.0
./test/run-unittest.sh
+ runHook postCheck
'';
installPhase = ''
- mkdir -p $out/bin
- cp bin/dub $out/bin
+ runHook preInstall
+ install -Dm755 bin/dub $out/bin/dub
+ runHook postInstall
'';
meta = with lib; {
- description = "Package and build manager for D applications and libraries";
+ description = "Package and build manager for D programs and libraries";
homepage = "https://code.dlang.org/";
license = licenses.mit;
+ mainProgram = "dub";
maintainers = with maintainers; [ jtbx ];
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
-}
-#+END_SRC
-
-*** versions SET
-**** selected version SET
-
-#+NAME: dub_version
-#+BEGIN_SRC nix
-<<dub_version_1_36_0>>
-#+END_SRC
-
-#+NAME: dub_hash
-#+BEGIN_SRC nix
-<<dub_hash_1_36_0>>
-#+END_SRC
-
-**** 1.36 OK ✓
-***** 1.36.0
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.36.0.tar.gz
-
-#+NAME: dub_version_1_36_0
-#+BEGIN_SRC nix
-1.36.0
-#+END_SRC
-
-#+NAME: dub_hash_1_36_0
-#+BEGIN_SRC nix
-sha256-S8pls9zxbGAQTwqYf4bDT2q7Ow12S8bBsJE5UmsACBs=
-#+END_SRC
-
-**** 1.35 OK ✓
-***** 1.35.0
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.35.0.tar.gz
-
-#+NAME: dub_version_1_35_0
-#+BEGIN_SRC nix
-1.35.0
-#+END_SRC
-
-#+NAME: dub_hash_1_35_0
-#+BEGIN_SRC nix
-sha256-hC46XKE6lLLMLGMGl4vDnLDBQy6P/Z7o3ayDJj0Sois=
-#+END_SRC
-
-**** 1.34 OK ✓
-***** 1.34.0
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.34.0.tar.gz
-
-#+NAME: dub_version_1_34_0
-#+BEGIN_SRC nix
-1.34.0
-#+END_SRC
-
-#+NAME: dub_hash_1_34_0
-#+BEGIN_SRC nix
-sha256-hC46XKE6lLLMLGMGl4vDnLDBQy6P/Z7o3ayDJj0Sois=
-#+END_SRC
-
-**** 1.33 OK ✓
-***** 1.33.1 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.1.tar.gz
-
-#+NAME: dub_version_1_33_1
-#+BEGIN_SRC nix
-1.33.1
-#+END_SRC
-
-#+NAME: dub_hash_1_33_1
-#+BEGIN_SRC nix
-sha256-QFgUsO04VRXBDjGI5QQs7u9XrexG7/V34TMgJP1D8yA=
-#+END_SRC
-
-**** 1.33.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.0.tar.gz
-
-#+NAME: dub_version_1_33_0
-#+BEGIN_SRC nix
-1.33.0
-#+END_SRC
-
-#+NAME: dub_hash_1_33_0
-#+BEGIN_SRC nix
-sha256-4Mha7WF6cg3DIccfpvOnheuvgfziv/7wo8iFsPXO4yY=
-#+END_SRC
-
-**** 1.32.1 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.32.1.tar.gz
-
-#+NAME: dub_version_1_32_1
-#+BEGIN_SRC nix
-1.32.1
-#+END_SRC
-
-#+NAME: dub_hash_1_32_1
-#+BEGIN_SRC nix
-sha256-5pW3Fu3PQ1ZLJnsuh7fPpEBNbVQgGfFyiuMrAVOJKQA=
-#+END_SRC
-
-- ISSUES from 1.31.0 continuing
-
-**** 1.31.1 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.31.1.tar.gz
-
-#+NAME: dub_version_1_31_1
-#+BEGIN_SRC nix
-1.31.1
-#+END_SRC
-
-#+NAME: dub_hash_1_31_1
-#+BEGIN_SRC nix
-sha256-dp64D51ypowXS1+EYKRXh5hpa3rMmiotvKO2FW+i92w=
-#+END_SRC
-
-- ISSUES from 1.31.0 continuing
-
-**** 1.31.0 OK ✓ NOTE
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.31.0.tar.gz
-
-behavior change in dub requiring the setting of pwd in buildPhase
-
-#+NAME: dub_version_1_31_0
-#+BEGIN_SRC nix
-1.31.0
-#+END_SRC
-
-#+NAME: dub_hash_1_31_0
-#+BEGIN_SRC nix
-sha256-Ki8HJOfWFM1tF86s7Ng3STgC/uu5acVTP0Dj87M0l54=
-#+END_SRC
-
-- ISSUES from 1.31.0 continuing
-**** 1.30.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.30.0.tar.gz
-
-#+NAME: dub_version_1_30_0
-#+BEGIN_SRC nix
-1.30.0
-#+END_SRC
-
-#+NAME: dub_hash_1_30_0
-#+BEGIN_SRC nix
-sha256-iVl7bjblvIxvrUX7Phq6h4AIAmZjNVkGYYFA1hhsE7c=
-#+END_SRC
-
-**** 1.29.1
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.29.1.tar.gz
-
-#+NAME: dub_version_1_29_1
-#+BEGIN_SRC nix
-1.29.1
-#+END_SRC
-
-#+NAME: dub_hash_1_29_1
-#+BEGIN_SRC nix
-sha256-XDV9p1bDhRL6gX+nizzjoErNJm8NnQK5O8wNnizloss=
+})
#+END_SRC
-**** 1.28.0
-
-- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.28.0.tar.gz
+*** dcompiler
-#+NAME: dub_version_1_28_0
+#+NAME: dcompiler
#+BEGIN_SRC nix
-1.28.0
+ldc
#+END_SRC
-#+NAME: dub_hash_1_28_0
#+BEGIN_SRC nix
-sha256-GOeaQyu8Y/DxZEAJPdlGH9ie/ZRTqvAw2jjvM3dESbg=
+dmd
#+END_SRC
** dtools OK ✓
@@ -1890,130 +1337,283 @@ sha256-GOeaQyu8Y/DxZEAJPdlGH9ie/ZRTqvAw2jjvM3dESbg=
#+HEADER: :tangle "../nix-overlays/dtools/default.nix"
#+BEGIN_SRC nix
-{ stdenv, lib, fetchFromGitHub, fetchpatch, ldc, curl, gnumake42 }:
+import ./package.nix
+#+END_SRC
+
+**** package.nix
+
+#+HEADER: :tangle "../nix-overlays/dtools/package.nix"
+#+BEGIN_SRC nix
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ ldc,
+ curl,
+}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "dtools";
version = "<<dtools_version>>";
src = fetchFromGitHub {
owner = "dlang";
repo = "tools";
- rev = "v${version}";
- sha256 = "<<dtools_hash>>";
+ rev = "v${finalAttrs.version}";
+ hash = "<<dtools_hash>>";
name = "dtools";
};
patches = [
- (fetchpatch {
- # part of https://github.com/dlang/tools/pull/441
- url = "https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69424625ee866.patch"; # Fix LDC arm64 build
- sha256 = "sha256-x6EclTYN1Y5FG57KLhbBK0BZicSYcZoWO7MTVcP4T18=";
- })
+ # Disable failing tests
+ ./disabled-tests.diff
+ # Fix LDC arm64 build
+ ./fix-ldc-arm64.diff
];
- nativeBuildInputs = [ ldc gnumake42 ]; # fails with make 4.4
+ nativeBuildInputs = [ ldc ];
buildInputs = [ curl ];
- makeCmd = ''
- make -f posix.mak all DMD_DIR=dmd DMD=${ldc.out}/bin/ldmd2 CC=${stdenv.cc}/bin/cc
- '';
+ makeFlags = [
+ "CC=${stdenv.cc}/bin/cc"
+ "DMD=${ldc.out}/bin/ldmd2"
+ "INSTALL_DIR=$(out)"
+ ];
- buildPhase = ''
- $makeCmd
- '';
+ enableParallelBuilding = true;
doCheck = true;
-
- checkPhase = ''
- $makeCmd test_rdmd
- '';
-
- installPhase = ''
- $makeCmd INSTALL_DIR=$out install
- '';
+ checkTarget = "test_rdmd";
meta = with lib; {
- description = "Ancillary tools for the D programming language compiler";
+ description = "Ancillary tools for the D programming language";
homepage = "https://github.com/dlang/tools";
- license = lib.licenses.boost;
- maintainers = with maintainers; [ ThomasMader ];
- platforms = lib.platforms.unix;
+ license = licenses.boost;
+ maintainers = with maintainers; [ jtbx ];
+ platforms = platforms.unix;
};
-}
+})
#+END_SRC
-*** versions SET
+#+HEADER: :tangle "../nix-overlays/dtools/disabled-tests.diff"
+#+BEGIN_SRC diff
+--- a/rdmd_test.d
++++ b/rdmd_test.d
+@@ -616,7 +616,7 @@ void runTests(string rdmdApp, string compiler, string model)
+ enforce(res.status == 1, res.output);
+ }
+
+- version (Posix)
++ version (none)
+ {
+ import std.conv : to;
+ auto makeVersion = execute(["make", "--version"]).output.splitLines()[0];
+#+END_SRC
+
+#+HEADER: :tangle "../nix-overlays/dtools/fix-ldc-arm64.diff"
+#+BEGIN_SRC diff
+Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69424625ee866.patch
+--- /dev/null
++++ b/osmodel.mak
+@@ -0,0 +1,75 @@
++# osmodel.mak
++#
++# Detects and sets the macros:
++#
++# OS = one of {osx,linux,freebsd,openbsd,netbsd,dragonflybsd,solaris}
++# MODEL = one of { 32, 64 }
++# MODEL_FLAG = one of { -m32, -m64 }
++# ARCH = one of { x86, x86_64, aarch64 }
++#
++# Note:
++# Keep this file in sync between druntime, phobos, and dmd repositories!
++# Source: https://github.com/dlang/dmd/blob/master/src/osmodel.mak
++
++
++ifeq (,$(OS))
++ uname_S:=$(shell uname -s)
++ ifeq (Darwin,$(uname_S))
++ OS:=osx
++ endif
++ ifeq (Linux,$(uname_S))
++ OS:=linux
++ endif
++ ifeq (FreeBSD,$(uname_S))
++ OS:=freebsd
++ endif
++ ifeq (OpenBSD,$(uname_S))
++ OS:=openbsd
++ endif
++ ifeq (NetBSD,$(uname_S))
++ OS:=netbsd
++ endif
++ ifeq (DragonFly,$(uname_S))
++ OS:=dragonflybsd
++ endif
++ ifeq (Solaris,$(uname_S))
++ OS:=solaris
++ endif
++ ifeq (SunOS,$(uname_S))
++ OS:=solaris
++ endif
++ ifeq (,$(OS))
++ $(error Unrecognized or unsupported OS for uname: $(uname_S))
++ endif
++endif
++
++# When running make from XCode it may set environment var OS=MACOS.
++# Adjust it here:
++ifeq (MACOS,$(OS))
++ OS:=osx
++endif
++
++ifeq (,$(MODEL))
++ ifeq ($(OS), solaris)
++ uname_M:=$(shell isainfo -n)
++ else
++ uname_M:=$(shell uname -m)
++ endif
++ ifneq (,$(findstring $(uname_M),x86_64 amd64))
++ MODEL:=64
++ ARCH:=x86_64
++ endif
++ ifneq (,$(findstring $(uname_M),aarch64 arm64))
++ MODEL:=64
++ ARCH:=aarch64
++ endif
++ ifneq (,$(findstring $(uname_M),i386 i586 i686))
++ MODEL:=32
++ ARCH:=x86
++ endif
++ ifeq (,$(MODEL))
++ $(error Cannot figure 32/64 model and arch from uname -m: $(uname_M))
++ endif
++endif
++
++MODEL_FLAG:=-m$(MODEL)
+--- a/Makefile
++++ b/Makefile
+@@ -9,9 +9,8 @@ DUB=dub
+ WITH_DOC = no
+ DOC = ../dlang.org
+
+-# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile from dmd
+-$(shell [ ! -d $(DMD_DIR) ] && git clone --depth=1 https://github.com/dlang/dmd $(DMD_DIR))
+-include $(DMD_DIR)/compiler/src/osmodel.mak
++# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile
++include osmodel.mak
+
+ ifeq (windows,$(OS))
+ DOTEXE:=.exe
+@@ -30,7 +29,7 @@ DFLAGS = $(MODEL_FLAG) $(if $(findstring windows,$(OS)),,-fPIC) -preview=dip1000
+ DFLAGS += $(WARNINGS)
+
+ # Default DUB flags (DUB uses a different architecture format)
+-DUBFLAGS = --arch=$(subst 32,x86,$(subst 64,x86_64,$(MODEL)))
++DUBFLAGS = --arch=$(ARCH)
+
+ TOOLS = \
+ $(ROOT)/catdoc$(DOTEXE) \
+#+END_SRC
+
+** versions GET
+*** direnv
+***** select version
+
+#+NAME: direnv_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:direnv-version()>>
+#+END_SRC
+
+#+NAME: direnv_hash
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:direnv-hash()>>
+#+END_SRC
+
+*** ldc
+***** version & sha256 nix composite
-- https://github.com/dlang/tools
+#+NAME: ldc_version_info
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-version-info()>>
+#+END_SRC
-**** selected version SET OK ✓
+***** selected version
-#+NAME: dtools_version
-#+BEGIN_SRC nix
-<<dtools_version_2_103_1>>
+#+NAME: ldc_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-version()>>
#+END_SRC
-#+NAME: dtools_hash
-#+BEGIN_SRC nix
-<<dtools_hash_2_103_1>>
+#+NAME: ldc_hash
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-hash()>>
#+END_SRC
-**** 2.103.1 OK ✓
+#+NAME: ldc_llvm_set
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:ldc-llvm-set()>>
+#+END_SRC
-- https://github.com/dlang/tools/releases/tag/v2.103.1
+*** dmd
+**** selected version
-#+NAME: dtools_version_2_103_1
-#+BEGIN_SRC nix
-2.103.1
+#+NAME: dmd_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dmd-version()>>
#+END_SRC
-#+NAME: dtools_hash_2_103_1
-#+BEGIN_SRC nix
-sha256-XM4gUxcarQCOBR8W/o0iWAI54PyLDkH6CsDce22Cnu4=
+#+NAME: dmd_hash
+#+BEGIN_SRC org
+<<./nix-develop-dlang-shared.org:dmd-hash()>>
#+END_SRC
-**** 2.102.2
+#+NAME: phobos_hash
+#+BEGIN_SRC org
+<<./nix-develop-dlang-shared.org:phobos-hash()>>
+#+END_SRC
-- https://github.com/dlang/tools/releases/tag/v2.102.2
+*** dub
+**** selected version
-#+NAME: dtools_version_2_102_2
-#+BEGIN_SRC nix
-2.102.2
+#+NAME: dub_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dub-version()>>
#+END_SRC
-#+NAME: dtools_hash_2_102_2
+#+NAME: dub_hash
#+BEGIN_SRC nix
-sha256-XM4gUxcarQCOBR8W/o0iWAI54PyLDkH6CsDce22Cnu4=
+<<./nix-develop-dlang-shared.org:dub-hash()>>
#+END_SRC
-**** 2.095.1 current nixpkgs 20-03-17 OK ✓
-
-- https://github.com/dlang/tools/releases/tag/v2.095.1
+*** dtools
+**** selected version
-#+NAME: dtools_version_2_095_1
-#+BEGIN_SRC nix
-2.095.1
+#+NAME: dtools_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dtools-version()>>
#+END_SRC
-#+NAME: dtools_hash_2_095_1
-#+BEGIN_SRC nix
-sha256:0rdfk3mh3fjrb0h8pr8skwlq6ac9hdl1fkrkdl7n1fa2806b740b
+#+NAME: dtools_hash
+#+BEGIN_SRC emacs-lisp
+<<./nix-develop-dlang-shared.org:dtools-hash()>>
#+END_SRC
** sha256 blank_hash
#+NAME: sha256-blank
#+BEGIN_SRC nix
-sha256-0000000000000000000000000000000000000000000=
+<<./nix-develop-dlang-shared.org:sha256-blank()>>
#+END_SRC
#+NAME: blank_hash
#+BEGIN_SRC nix
-sha256-0000000000000000000000000000000000000000000=
+<<./nix-develop-dlang-shared.org:sha256-blank()>>
#+END_SRC
-#+NAME: assumed_hash
-#+BEGIN_SRC nix
-sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-#+END_SRC
+* __END__
diff --git a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
index 28ead23..b536386 100644
--- a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
+++ b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:abstraction:
#+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 :noweb yes
@@ -29,7 +29,7 @@
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
- - Copyright: (C) 2015 - 2024 Ralph Amissah, All Rights Reserved.
+ - Copyright: (C) 2015 - 2025 Ralph Amissah, All Rights Reserved.
- License: AGPL 3 or later:
@@ -98,7 +98,7 @@
#+NAME: spine_project_version_part_minor
#+BEGIN_SRC org
-17
+18
#+END_SRC
*** patch
diff --git a/org/spine_info.org b/org/spine_info.org
index f37e66c..9a61095 100644
--- a/org/spine_info.org
+++ b/org/spine_info.org
@@ -4,7 +4,7 @@
#+FILETAGS: :spine:info:
#+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
@@ -74,7 +74,7 @@
,#+FILETAGS: :spine:build:tools:
,#+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
,#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
@@ -144,7 +144,7 @@ author:
name: "Ralph Amissah"
email: ralph.amissah@gmail.com
-copyright: "(C) 2015 - 2024 Ralph Amissah, All Rights Reserved."
+copyright: "(C) 2015 - 2025 Ralph Amissah, All Rights Reserved."
license:
- "project code: AGPL 3 or later"
@@ -412,7 +412,7 @@ web-server is configured to find it.
- Author: Ralph Amissah
[ralph.amissah@gmail.com]
-- Copyright: (C) 2015 - 2024 Ralph Amissah
+- Copyright: (C) 2015 - 2025 Ralph Amissah
#+END_SRC
*** license
@@ -518,6 +518,7 @@ web-server is configured to find it.
- code: cgi.d
aria2c https://raw.githubusercontent.com/adamdruppe/arsd/master/cgi.d
+ aria2c https://raw.githubusercontent.com/adamdruppe/arsd/master/core.d
- License: BSL-1.0
Boost Software License 1.0
@@ -532,14 +533,14 @@ web-server is configured to find it.
* CHANGELOG :changelog:
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
CHL="CHANGELOG"
git log --pretty=format:'-_-%+s %+as %ae%+h%d%+b' --no-merges \
| sed "/^\\s*$/d" | sed "s/^\([ ]\)*\*/\1-/" | sed "s/ \+$//" | sed "s/^-_-$//" \
> ${CHL}
#+END_SRC
-#+BEGIN_SRC sh
+#+BEGIN_SRC shell
git log --pretty=format:"-_-_%+s %+as %ae%+h%d%+b" --no-merges \
> ${CHL} && sed -i '/^$/d; s/^\([ ]\)*\*/\1-/; s/ \+$//; s/^-_-_//' ${CHL}
#+END_SRC
diff --git a/org/spine_search_cgi.org b/org/spine_search_cgi.org
index 80a6b21..59cc5ca 100644
--- a/org/spine_search_cgi.org
+++ b/org/spine_search_cgi.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
@@ -20,7 +20,7 @@
#+NAME: year
#+BEGIN_SRC text
-2024
+2025
#+END_SRC
* 0. version.txt configuration.txt (set version & configuration)