summaryrefslogtreecommitdiff
path: root/Omni
diff options
context:
space:
mode:
Diffstat (limited to 'Omni')
-rw-r--r--Omni/Bild.hs4
-rw-r--r--Omni/Bild.nix3
-rw-r--r--Omni/Bild/Builder.nix20
3 files changed, 16 insertions, 11 deletions
diff --git a/Omni/Bild.hs b/Omni/Bild.hs
index 078aac1..15e359f 100644
--- a/Omni/Bild.hs
+++ b/Omni/Bild.hs
@@ -1337,7 +1337,9 @@ nixBuild loud maxJobs cores target@(Target {..}) =
|> str
|> realise
|> run
- >> run symlink
+ +> \case
+ (Exit.ExitSuccess, _) -> run symlink
+ failure -> pure failure
x -> pure x
where
instantiate root =
diff --git a/Omni/Bild.nix b/Omni/Bild.nix
index adacb97..6a7b87f 100644
--- a/Omni/Bild.nix
+++ b/Omni/Bild.nix
@@ -113,17 +113,20 @@
bat
bc
cmark
+ coreutils
universal-ctags
datasette
deadnix
fd
figlet
+ findutils
ffmpeg
fzf
git
git-branchless
gitlint
gitstats
+ gnutar
groff
guile
hlint
diff --git a/Omni/Bild/Builder.nix b/Omni/Bild/Builder.nix
index b71a12f..37ff821 100644
--- a/Omni/Bild/Builder.nix
+++ b/Omni/Bild/Builder.nix
@@ -193,24 +193,23 @@ with bild; let
(let
copyDeps =
lib.strings.concatMapStringsSep "\n" (d: ''
- cp -rL ${d}/hidir/. hidir/ 2>/dev/null || true
+ ${pkgs.coreutils}/bin/cp -rL ${d}/hidir/. . 2>/dev/null || true
+ ${pkgs.coreutils}/bin/cp -rL ${d}/odir/. . 2>/dev/null || true
'')
depDrvs;
in ''
set -eu
- tar xzf $src
- cd source
- mkdir -p hidir odir
+ ${pkgs.coreutils}/bin/cp -rL $src/. .
+ ${pkgs.coreutils}/bin/chmod -R +w .
${copyDeps}
- chmod -R +w hidir || true
+ ${pkgs.coreutils}/bin/chmod -R +w . || true
${ghcPkg}/bin/ghc -c \
-Wall -Werror -haddock -Winvalid-haddock \
- -i. -ihidir \
- -odir odir -hidir hidir \
+ -i. \
${node.nodePath}
- mkdir -p $out/hidir $out/odir
- cp -r hidir/* $out/hidir/ || true
- cp -r odir/* $out/odir/ || true
+ ${pkgs.coreutils}/bin/mkdir -p $out/hidir $out/odir
+ ${pkgs.findutils}/bin/find . -name '*.hi' -exec ${pkgs.coreutils}/bin/cp --parents {} $out/hidir/ \;
+ ${pkgs.findutils}/bin/find . -name '*.o' -exec ${pkgs.coreutils}/bin/cp --parents {} $out/odir/ \;
'')
];
};
@@ -227,6 +226,7 @@ with bild; let
inherit name CODEROOT src;
nativeBuildInputs = [makeWrapper];
dontConfigure = true;
+ dontStrip = true;
buildPhase = let
pkgFlags = lib.strings.concatMapStringsSep " " (p: "-package ${p}") target.langdeps;
copyHiFiles = lib.strings.concatMapStringsSep "\n" (drv: "cp -rL ${drv}/hidir/. . 2>/dev/null || true") (lib.attrsets.attrValues modules);