summaryrefslogtreecommitdiff
path: root/Biz/Bild.hs
AgeCommit message (Collapse)Author
2022-08-04Improve bild loggingBen Sima
2022-08-03Fix bild testBen Sima
2022-08-03Distinguish between output name and output pathBen Sima
Bild.nix relies on output name when setting the output path, which is gonna be different than the dev build cabdir output path.
2022-08-03Print bild JSON analysis as a dictionary instead of a streamBen Sima
2022-08-03Key analyses on Namespace, not FilePathBen Sima
Namespace is unique, whereas FilePath could be relative or absolute, or have a leading . or trailing / or not.
2022-08-03Fold analyses with a caching containerBen Sima
2022-08-03Add compilerFlags to TargetBen Sima
This moves logic into the analysis step, and allows better auditing because you can see exactly what flags and command bild will use to compile the target.
2022-08-02Simplify analyze code a bit moreBen Sima
2022-08-02Break up monolithic detectImports functionBen Sima
2022-07-29Implement Guile linking for C buildsBen Sima
In order to write Guile code against C, I need to distiguish between libs and bins, so I did that, then I got the flags that gcc needs from `guile-config` and put them in the args for any C lib build. I tested this with Bessel.c and Bessel.scm (not in this patch, because I don't really want that code in my tree, I'll come up with another way to test it later).
2022-07-29Parse sysdeps for C codeBen Sima
2022-07-25Concurrently analyze transitive dependenciesBen Sima
Before: ϟ time bild Biz/Dragons.hs good: bild: Biz/Dragons.hs real 0m31.587s user 0m25.073s sys 0m6.446s After: ϟ time bild Biz/Dragons.hs good: bild: Biz/Dragons.hs real 0m17.111s user 0m39.719s sys 0m9.145s So yeah this is a good speedup.
2022-07-25Add basic support for building C codeBen Sima
2022-07-25Fix typoBen Sima
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-20Re-enable scheme buildsBen Sima
I had thought that I needed some unmerged commits to nixpkgs that enable Guile 3.0, but turns out I just needed to use a different target name :P
2022-07-19Provision lisp repls with nixBen Sima
asdf seems to always be necessary for any other packages to work, so I just include that in the call to nix-shell, and swank is included because it's just useful to start a repl server.
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.
2022-07-17Add basic Rust supportBen Sima
Support for packages and third-party imports will need to come later once I figure out how to lookup rust packages by their import statements. Until then, this works to compile "hello world".
2022-07-14Sort this enum alphabeticallyBen Sima
2022-07-14Remove unnecessary MapBen Sima
2022-07-05Doc fixesBen Sima
2022-03-30Add isCab functionBen Sima
2021-12-21Remove some old bild commentsBen Sima
2021-12-21Extract repl program from bildBen Sima
This is basically building on top of bild's analysis, which is great becuase it means that bild is becoming a useful tool rather than a monolithic do-everything job runner. The eventual goal is for the bild analysis to be much more useful, maybe even provide data to remote repls or language-server or whatever.
2021-12-21Fix bild --repl to use the proper hasakell package setBen Sima
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-12-13Add --repl for Haskell programsBen Sima
2021-12-13Factor out test functionBen Sima
2021-12-07Add simple API key feature to Dragons.devBen Sima
Still need to add this to the CLI, and there should be other features like delete and so on, but this works for now.
2021-12-07Stub out dragons-analyze docker imageBen Sima
2021-11-26FOrmattingBen Sima
2021-11-26Move Biz/Que/Prod.nix to Biz/Que.nixBen Sima
2021-11-26Automatically detect Haskell dependenciesBen Sima
This parses the files contents for imports, then uses ghc-pkg to lookup the package that provides the module. Now I can do that analysis in Haskell instead of nix, which is much easier to code with.
2021-11-26Convert from r6rs to r7rsBen Sima
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-11-26Get all scheme code compiling with GuileBen Sima
2021-11-26Remove required nix argumentsBen Sima
This allows us to use nix-build as a check that bild is working. I think bild sometimes hangs because it doesn't get input from nix-build? I'm not sure, but one workaround is to run nix-build on the target, and then bild will just get the cached build.
2021-02-17Fixup some modulesBen Sima
2021-02-05Prefer traverse over mapMBen Sima
2021-02-05Add 'tidy' to PlanBen Sima
This is supposed to be how to cleanup the database and any other local files. Should only be used before/after test, so maybe I can find a way to enforce this constraint somehow in the code.
2021-01-29Lint 'return' into 'pure', replace bind operatorBen Sima
2021-01-26Create Biz.Log library, extracted from Biz.BildBen Sima
2021-01-26Add user subscription fieldBen Sima
Also improved the test situation, did some refactors, and now listing the user's past analyses on their account page.
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-22Add --loud feature to bildBen Sima
2021-01-22Fix gap in bild logBen Sima
I really could use those structured logs.
2021-01-16Check and print bild --test outputBen Sima
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-15Add bild --testBen Sima
This argument will run the tests for an output after building. It's active in 'ci' so running that will ensure tests are passing. This way testing a namespace and building a namespace are as close together as possible, so presumably it will be that much easier to write good tests.