diff options
Diffstat (limited to 'org')
-rw-r--r-- | org/COPYRIGHT | 2 | ||||
-rw-r--r-- | org/config_d_cfte.org | 26 | ||||
-rw-r--r-- | org/config_dub.org | 8 | ||||
-rw-r--r-- | org/config_env.org | 149 | ||||
-rw-r--r-- | org/config_git.org | 6 | ||||
-rw-r--r-- | org/config_make.org | 6 | ||||
-rw-r--r-- | org/config_nix.org | 112 | ||||
-rw-r--r-- | org/nix-develop-dlang-shared.org | 655 | ||||
-rw-r--r-- | org/nixpkgs_overlays_d_related.org | 1414 | ||||
-rw-r--r-- | org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org | 6 | ||||
-rw-r--r-- | org/spine_info.org | 13 | ||||
-rw-r--r-- | org/spine_search_cgi.org | 4 |
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) |