| 31 Jan 2025 |
Profpatsch | maralorn: I’d say nix builds are the opposite of RG machines | 10:47:18 |
Profpatsch | RG machines’ primary idea is that every transition is kinda wonky and actually running it to completion will require many tries with temporary adjustments in between steps | 10:48:01 |
Profpatsch | i.e. “I can’t believe it actually worked this time, probabyl the only time though” vs “I can’t believe it works now, but at least it’s gonna stay working” | 10:48:38 |
Profpatsch | okay enough philosophical ramble lol | 10:49:04 |
Profpatsch | In a way, the final product of a RG machine is the video of it running through once :P | 10:49:33 |
| 1 Feb 2025 |
| myhlamaeus joined the room. | 18:17:44 |
| 2 Feb 2025 |
hellwolf | https://x.com/ndm_haskell/status/1886165769152512146 | 22:02:22 |
hellwolf | well, hlint problem will go away, soon. | 22:02:47 |
Alex | [12 of 16] Compiling Language.Haskell.HsColour.Output ( Language/Haskell/HsColour/Output.hs, dist/build/Language/Haskell/HsColour/Output.p_o )
Language/Haskell/HsColour/Output.hs:1:8: error:
Could not find module ‘Prelude’
Perhaps you haven't installed the profiling libraries for package ‘base-4.18.2.1’?
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
1 | module Language.Haskell.HsColour.Output(TerminalType(..),Output(..)) where
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Well, this error is extremely weird considering that other packages and modules compile just fine.
Has anyone seen this before? Does anyone understand why it could be happening?
(Building on RISC-V.) | 22:35:33 |
sterni (he/him) | Alex: libaries built with profiling, ghc without (due to size constraints on riscv64) | 22:41:55 |
Alex | ("RTS ways","debug thr thr_debug thr_p dyn debug_dyn thr_dyn thr_debug_dyn thr_debug_p debug_p")
| 22:42:08 |
sterni (he/him) | the problem is that the settings in common-hadrian.nix and generic-builder.nix are out of sync | 22:42:17 |
sterni (he/him) | we should probably expose this information from GHC somehow and reuse in mkDerivation | 22:42:36 |
Alex | Oh, so I should disable all profiling builds? Let me try that (bonus: near 2x speedup for builds). | 22:42:47 |
| 3 Feb 2025 |
Alex | Yep, that worked. Thanks for the help. | 01:17:05 |
MangoIV | PSA:
The registrations for ZuriHac 2025 are open.
https://zurihac.info | 06:32:52 |
| vhash joined the room. | 08:48:30 |
alexfmpe | maralorn: sterni about the whole warn-about-override-when-we-catch-up vs flood-logs-with-warnings dilemma: I wouldn't worry about the magnitude of it much either way for the specific reflex-dom PR, I have strong local incentives to keep that stuff building out of up-to-date nixpkgs (e.g. using nixos.org binary cache and also getting vuln scans green) for the general case, I've actually been tinkering with a way to automatically detect unused overrides, but waiting till we get back to minor LTS bump cycle to start actually using it this ought to be O ( 1 ) human time, even if high latency (run it overnight variety) | 11:58:43 |
alexfmpe | taking dontCheck as an example: I have a .nix file that filters haskellPackages and filters for all derivations with doCheck = false, then doCheck = true for all of them | 12:00:05 |
alexfmpe | this gives an attrset that will attempt to build with tests all packages for which we don't build the tests | 12:00:33 |
alexfmpe | the output of nix-build --keep-going will spit out all the ones who need the tests to stay disabled | 12:01:05 |
alexfmpe | a bit of sed and grep gives us the complement of that with respect to the original attrset: the ones whose tests can now be enabled | 12:01:57 |
alexfmpe | removal itself is still O ( n ), but n here is the number of cleanups, not total packages | 12:02:37 |
alexfmpe | the same mechanism can be used for jailbreak = false, doHaddock = false | 12:03:19 |
alexfmpe | and, what I realized today, is that we can also use as predicate the comparison with super.${pkg.pname}.version | 12:04:19 |
alexfmpe | so we should soon (TM) have a mechanism to sweep over and detect obsolete trivial overrides | 12:05:18 |
alexfmpe | TL;DR: intentional version warnings are nice to have, but if we can't always guarantee them, then we want the full sweep safety net anyway, in which case no need to clutter hydra logs? | 12:07:38 |
alexfmpe | * taking dontCheck as an example: I have a .nix file that filters haskellPackages and filters for all derivations with doCheck = false, then does doCheck = true for all of them | 12:08:00 |
alexfmpe | * nix-build --keep-going will spit out all the ones that failed - i.e. the ones who need the tests to stay disabled | 12:08:35 |
alexfmpe | * taking
dontCheck as an example:
I have a .nix file that filters haskellPackages and filters for all derivations with doCheck == false, then does doCheck = true for all of them | 13:51:44 |