diff options
Diffstat (limited to 'org/config_nix.org')
| -rw-r--r-- | org/config_nix.org | 108 |
1 files changed, 59 insertions, 49 deletions
diff --git a/org/config_nix.org b/org/config_nix.org index 365757e..bcb7d45 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -54,42 +54,57 @@ ]; inherit system; }; - preBuild = '' - export HOME=$(pwd) - ''; - checkPhase = '' - runHook preCheck - dub test --combined --skip-registry=all - runHook postCheck - ''; - installPhase = '' - runHook preInstall - mkdir -p $out/cgi-bin - install -m755 -D ./cgi-bin/spine_search $out/cgi-bin/spine_search - runHook postInstall - ''; - postInstall = '' - echo `ls -la $out/cgi-bin/spine_search` - ''; - # Helper to reduce duplication across build variants - mkSpineSearch = {pkgs, compiler, compilerCmd, dubConfig}: pkgs.stdenv.mkDerivation { + mkSpineSearch = { pkgs, compilerPkg, compilerBin, buildType }: pkgs.stdenv.mkDerivation { inherit pname version; meta.mainProgram = "spine_search"; + #executable = true; # not used src = self; - buildInputs = [pkgs.sqlite]; - nativeBuildInputs = [pkgs.dub compiler pkgs.gnumake]; + buildInputs = [ pkgs.sqlite ]; + nativeBuildInputs = [ pkgs.dub compilerPkg pkgs.gnumake ]; + preBuild = '' + export HOME=$TMPDIR + #export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild - buildCMD="dub run --cache=local --compiler=$(type -P ${compilerCmd}) --build=${dubConfig} --combined --skip-registry=all" + buildCMD="dub run --cache=local --compiler=$(type -P ${compilerBin}) --build=${buildType} --combined --skip-registry=all" echo $buildCMD $buildCMD echo $buildCMD runHook postBuild ''; - inherit preBuild; - inherit checkPhase; - inherit installPhase; - inherit postInstall; + checkPhase = '' + runHook preCheck + dub test --combined --skip-registry=all + runHook postCheck + ''; + installPhase = '' + runHook preInstall + mkdir -p $out/cgi-bin + install -m755 -D ./cgi-bin/spine_search $out/cgi-bin/spine_search + runHook postInstall + ''; + postInstall = '' + echo `ls -la $out/cgi-bin/spine_search` + ''; + }; + shellHook = '' + export Date=`date "+%Y%m%d"` + ''; + mkDevShell = { pkgs, name, compiler, extraPackages ? [] }: pkgs.mkShell { + inherit name shellHook; + packages = [ + pkgs.direnv + pkgs.nix-direnv + compiler + pkgs.dub + pkgs.dtools + pkgs.gnumake + pkgs.sqlite + pkgs.gnugrep + pkgs.gnused + pkgs.ripgrep + ] ++ extraPackages; }; in { packages = forAllSystems (system: let @@ -100,43 +115,38 @@ spine-search-nixpkgs-dmd = mkSpineSearch { pkgs = pkgs-nix; # nixpkgs dmd: revert to GCC14 (same nullptr/ImportC fix as overlay dmd) - compiler = pkgs-nix.dmd.override { stdenv = pkgs-nix.gcc14Stdenv; }; - #compiler = pkgs-nix.dmd; - compilerCmd = "dmd"; - dubConfig = "dmd"; + compilerPkg = pkgs-nix.dmd.override { stdenv = pkgs-nix.gcc14Stdenv; }; + compilerBin = "dmd"; + buildType = "dmd"; }; spine-search-nixpkgs-ldc = mkSpineSearch { pkgs = pkgs-nix; - compiler = pkgs-nix.ldc; - compilerCmd = "ldmd2"; - dubConfig = "ldmd2"; + compilerPkg = pkgs-nix.ldc; + compilerBin = "ldmd2"; + buildType = "ldmd2"; }; spine-search-overlay-dmd = mkSpineSearch { pkgs = pkgs-ovl; - compiler = pkgs-ovl.dmd; - compilerCmd = "dmd"; - dubConfig = "dmd"; + compilerPkg = pkgs-ovl.dmd; + compilerBin = "dmd"; + buildType = "dmd"; }; spine-search-overlay-ldc = mkSpineSearch { pkgs = pkgs-ovl; - compiler = pkgs-ovl.ldc; - compilerCmd = "ldmd2"; - dubConfig = "ldmd2"; + compilerPkg = pkgs-ovl.ldc; + compilerBin = "ldmd2"; + buildType = "ldmd2"; }; #spine-search-overlay-gdc = mkSpineSearch { # pkgs = pkgs-ovl; - # compiler = pkgs-ovl.gdc; - # compilerCmd = "gdc"; - # dubConfig = "gdc"; + # compilerPkg = pkgs-ovl.gdc; + # compilerBin = "gdc"; + # buildType = "gdc"; #}; }); devShells = forAllSystems (system: let pkgs-ovl = pkgsForSystem system; pkgs-nix = nixpkgsFor.${system}; - shellHook = '' - export Date=`date "+%Y%m%d"` - ## set local values in .envrc-local (or here if you must) - ''; in with pkgs-nix; { dsh-d-overlay = spine-d-overlay.devShells.${system}.default; @@ -173,7 +183,7 @@ }; dsh-overlay-dmd = mkShell { name = "${pname}-${version} dev shell (overlay dmd)"; - # "spine-<<spine_version>> base dev shell, dmd-<<dmd_version>>, dub-<<dub_version>>"; + # "spine-0.18.0 base dev shell, dmd-2.111.0, dub-1.40.0"; packages = with pkgs-ovl; [ dmd dub @@ -184,7 +194,7 @@ }; dsh-overlay-ldc = mkShell { name = "${pname}-${version} dev shell (overlay ldc)"; - # "spine-<<spine_version>> base dev shell, ldc-<<ldc_version>>, dub-<<dub_version>>"; + # "spine-0.18.0 base dev shell, ldc-1.42.0, dub-1.40.0"; packages = with pkgs-ovl; [ ldc dub @@ -540,7 +550,7 @@ with ( - unused - installPhase -#+BEGIN_SRC txt +#+BEGIN_SRC text installPhase = '' mkdir -p $out/bin cp spine $out/bin |
