summaryrefslogtreecommitdiff
path: root/Biz/Bild/Deps/Haskell.nix
AgeCommit message (Collapse)Author
2024-05-09Improve Haskell documentation and bild testBen Sima
Added docs to core libraries and expanded the Example.hs test to test for all the things I want to support in a build.
2024-05-09Switch to nixpkgs-23.11, ghc 9.6.3Ben Sima
This brings a bunch of improvements. I got rid of some custom packages, I can now build exllama without using a non-default cuda version. Oh yeah and I get to use GHC 9.6.2 now, a huge upgrade from 9.4. Unfortunately I also updated ormolu and some unrelated formatting changed, but that's life I guess.
2023-08-21Refactor the build system for readabilityBen Sima
Lots of changes here but the code is much improved. The nix code is clearer and structured better. The Haskell code improved in response to the nix changes. I needed to use a qualified path instead of the abspath because the BIZ_ROOT changes based on whether bild runs in nix or runs in the user environment. Rather than passing every argument into Builder.nix, now I just pass the json from bild and deconstruct it in nix. This is obviously a much better design and it only came to be after sleeping on it the other night.
2023-08-16Log and return output to callerBen Sima
The main change here is 'puts' now returns a value, this enables me to collect the value from the conduit source while also doing stuff with it, like printing or logging it as I want. Previously I was running conduit over the source, *and then* kicking off the concurrent processes to wait for the process and collect the output. This would (I think) drain the source before it got to the 'puts' conduit run, and so I wouldn't be able to get the output streamed in real time. It took a lot of refactoring and exploratory programming to get to this relatively-small diff, but now puts works correctly. At least I think it does... it seems to work more reliably from ghci than from the shell. Maybe the shell or TERM is causing nix-store to do some buffering? Maybe I need to use the threaded runtime in GHC? Not sure, but I will look out for this issue and try to identify and fix. Update: yep it was the threaded runtime. I enabled that and now it works in the shell. I squashed that commit into this one.
2022-07-25Remove GHCJS support completelyBen Sima
I don't care about ghcjs anymore, the most javascript I want to do is jQuery.
2022-07-19Upgrade nixpkgs, ghc923Ben Sima
I ended up deleting miso, and consequently all files under Hero/ and Miso/, because I couldn't get miso to build with GHC 9.2. Other things: - Niv has been wrapped by Biz/Bild/Deps.hs, so I can extend it to my liking. - Apply-refact is gone because I couldn't get it to build. - Disabled python stuff.
2021-12-14Add custom package db to ghcPkgFindModuleBen Sima
This means my call to ghc-pkg will look at the full package set from Hoogle.
2021-11-26Update to ghc 8.10.4Ben Sima
This also makes some changes to the build tooling to clean up the environment a bit, and get us closer to 'bild -s'.
2021-11-26Add hmacaroonsBen Sima
2021-11-26Reimplement Que with ServantBen Sima
Still todo: add authentication. But that can wait. In re-implementing this, I was able to figure out how to get the Go.mult working properly as well. The problem is that a tap from a mult channel does not remove the message from the original channel. I'm not sure if that should be a core feature or not; for now I'm just draining the channel when it's received in the Que HTTP handler. (Also, this would be a good place to put persistence: have a background job read from the original channel, and write the msg to disk via acid-state; this would obviate the need for a flush to nowhere.) Also, streaming is working now. The problem was that Scotty closes the connection after it sees a newline in the body, or something, so streaming over Scotty doesn't actually work. It's fine, Servant is better anyway.
2021-11-26Upgrade to nixos-21.05Ben Sima
Getting me closer to the latest GHC. This release also includes my own packages that I submitted some time ago. GHCJS is not present in 21.05 for some reason, but I think it's back in master, so I might do another upgrade soon, but for now I just disabled my GHCJS support. I'm not really using it anyway. I also had to bring it string-quote, update nixos-mailserver, and a few other things.
2021-03-22Add descriptions to report detailsBen Sima
2021-01-22Better bild outputBen Sima
- structured log messages - compact logs rewrite the line on bild completion - using conduit for streaming output (although I think this isn't working quite right) - new Proc type for running subprocesses - general code cleanup and refactoring
2021-01-22Property tests for calculateScoreBen Sima
2021-01-16Freshen up frontpage designBen Sima
Part of a larger effort, but doing this iteratively in smaller chunks.
2021-01-16Add colors to tooling outputsBen Sima
This makes scanning logs *much* easier. I figure keep it as simple as possible, just red, yellow, and green. I also added two spaces between labels in the log messages. It would be nice to have a more structured logging system, but for now this works.
2021-01-15Implement Biz.Test with tastyBen Sima
Also changes the --test option to a 'test' command. This is because running the tests for a namespace/exe should never be combined with anything else: you either want to run the tests, or not.
2020-12-30bild: build everytingBen Sima
Now bild knows how to determine between modules that require ghcjs and ghc. It also knows what *not* to build, meaning it won't try to build non-buildable nix targets, for example (unfortunately this is just hardcoded for now), but it also won't build scm or py targets that I haven't implemented yet. It just silently fails, which is fine, because it means I can do `bild **/*` and everything just works. Of course, if I want to build scm code then I will have to implement that, but that's not a priority right now.
2020-12-29Deploy hoogle to Biz.DevBen Sima
I had to refactor Biz/Bild/Rules.nix. I also had to checkin my patched hoogle.nix file, but I also upstreamed the patch to nixpkgs-dev so it shouldn't stick around for too long.
2020-12-28Add stripe depBen Sima
2020-12-24linting fixes and cleanupBen Sima
2020-12-07Auth and load repos from GitHubBen Sima
2020-12-05Bild multiple targets, and use docoptBen Sima
2020-11-24Add inspekt3d to guile deps, and reorganizeBen Sima
I reorganized in order to debug a problem with the nix overlays. I think having small, focused overlayes is more understandable than one overlay that references itself via `rec`. Also the error traces are easier to follow with smaller overlays.