From 4cb9f2fbfbb124b38f19c72059620f25b71f92b7 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Mon, 31 Jul 2023 21:51:15 -0400 Subject: Implement nix builds for Haskell This is prototype quality. For some reason I think it breaks when doing `build **/*.hs`, which isn't good. But also it's working, and the code feels good. Next I'd like to get Python builds working, as hopefully that will force me to improve the existing code to support a second language. --- Biz/Bild/Meta.hs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Biz/Bild') diff --git a/Biz/Bild/Meta.hs b/Biz/Bild/Meta.hs index 75242a5..5549cb3 100644 --- a/Biz/Bild/Meta.hs +++ b/Biz/Bild/Meta.hs @@ -12,10 +12,18 @@ import qualified Data.Set as Set import qualified Data.Text as Text import qualified Text.Regex.Applicative as Regex +-- | A third-party dependency. This gets mapped to some name in nixpkgs, +-- prefixed by package set like @haskellPackages@ or +-- @python3Packages@. Currently this prefix is implicit, but it should be added +-- here as part of a tuple or something. type Dep = String +-- | This is a system-level requirement, the string gets mapped to a name in +-- nixpkgs at the top level, like @pkgs.thing@. If I add the package set prefix to 'Dep', then this can just become literally @(Sys, "thing")@. type Sys = String +-- | An arbitrary compiler argument that may get added to the compilation +-- command. Should be used sparingly, and not all builds will support this. type Arg = String data Out = Lib String | Bin String | None -- cgit v1.2.3