!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

724 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org144 Servers

Load older messages


SenderMessageTime
31 Jan 2025
@maralorn:maralorn.demaralorn* I really like the metaphor of nix builds as rube goldberg machines. Maybe I can design an alternative visualisation for nom from that. šŸ˜„08:59:47
@maralorn:maralorn.demaralorn Alex: You mean the results of the stage 1 and the stage 2 compiler are basically identical, stage 2 just compiles faster? 09:02:30
@alex:tunstall.xyzAlexYes09:18:54
@maralorn:maralorn.demaralornWell, I guess this means whenever you link against ghc everything in the dependency closure of ghc is locked.09:23:26
@profpatsch:augsburg.oneProfpatschmaralorn: I’d say nix builds are the opposite of RG machines10:47:18
@profpatsch:augsburg.oneProfpatschRG 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 steps10:48:01
@profpatsch:augsburg.oneProfpatschi.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:augsburg.oneProfpatschokay enough philosophical ramble lol10:49:04
@profpatsch:augsburg.oneProfpatschIn a way, the final product of a RG machine is the video of it running through once :P10:49:33
1 Feb 2025
@myhlamaeus:matrix.orgmyhlamaeus joined the room.18:17:44
2 Feb 2025
@hellwolf:matrix.orghellwolfhttps://x.com/ndm_haskell/status/188616576915251214622:02:22
@hellwolf:matrix.orghellwolfwell, hlint problem will go away, soon.22:02:47
@alex:tunstall.xyzAlex
[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
@sternenseemann:systemli.orgsterni (he/him) Alex: libaries built with profiling, ghc without (due to size constraints on riscv64) 22:41:55
@alex:tunstall.xyzAlex
("RTS ways","debug thr thr_debug thr_p dyn debug_dyn thr_dyn thr_debug_dyn thr_debug_p debug_p")
22:42:08
@sternenseemann:systemli.orgsterni (he/him) the problem is that the settings in common-hadrian.nix and generic-builder.nix are out of sync 22:42:17
@sternenseemann:systemli.orgsterni (he/him) we should probably expose this information from GHC somehow and reuse in mkDerivation 22:42:36
@alex:tunstall.xyzAlexOh, so I should disable all profiling builds? Let me try that (bonus: near 2x speedup for builds).22:42:47
3 Feb 2025
@alex:tunstall.xyzAlexYep, that worked. Thanks for the help.01:17:05
@mangoiv.:matrix.orgMangoIV PSA:
The registrations for ZuriHac 2025 are open.
https://zurihac.info
06:32:52
@supvhash:matrix.orgvhash joined the room.08:48:30
@alexfmpe:matrix.orgalexfmpe 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:matrix.orgalexfmpe 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:matrix.orgalexfmpethis gives an attrset that will attempt to build with tests all packages for which we don't build the tests12:00:33
@alexfmpe:matrix.orgalexfmpe the output of nix-build --keep-going will spit out all the ones who need the tests to stay disabled 12:01:05
@alexfmpe:matrix.orgalexfmpea bit of sed and grep gives us the complement of that with respect to the original attrset: the ones whose tests can now be enabled12:01:57
@alexfmpe:matrix.orgalexfmpe removal itself is still O ( n ), but n here is the number of cleanups, not total packages 12:02:37
@alexfmpe:matrix.orgalexfmpe the same mechanism can be used for jailbreak = false, doHaddock = false 12:03:19
@alexfmpe:matrix.orgalexfmpe and, what I realized today, is that we can also use as predicate the comparison with super.${pkg.pname}.version 12:04:19
@alexfmpe:matrix.orgalexfmpeso we should soon (TM) have a mechanism to sweep over and detect obsolete trivial overrides12:05:18

Show newer messages


Back to Room ListRoom Version: 6