summaryrefslogtreecommitdiffhomepage
path: root/org/config_nix.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/config_nix.org')
-rw-r--r--org/config_nix.org108
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