2026/02/05

Newest at the top

2026-02-05 21:54:26 +0100 <EvanR> I see, because without a freeze file cabal might come up with a different solution set in a different circumstances?
2026-02-05 21:47:44 +0100yin(~zero@user/zero) zero
2026-02-05 21:46:56 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 240 seconds)
2026-02-05 21:42:53 +0100 <tomsmeding> `cabal freeze` emits a "freeze file" with such constraints for everything (to make the build deterministic), and it emits any. constraints
2026-02-05 21:42:29 +0100 <tomsmeding> writing `constraints: foo >= 2` constrains the main dependency tree only; writing `constraints: any.foo >= 2` also constrains build tool dependencies
2026-02-05 21:42:19 +0100merijn(~merijn@62.45.136.136) merijn
2026-02-05 21:42:06 +0100 <tomsmeding> it's part of the syntax of a `constraints:` block in a cabal.project file
2026-02-05 21:41:54 +0100 <tomsmeding> (`cabal freeze`)
2026-02-05 21:41:51 +0100 <tomsmeding> ah, then that was not a helpful reference
2026-02-05 21:41:39 +0100 <EvanR> I'll have to read up on this freeze file you speak of
2026-02-05 21:41:05 +0100 <tomsmeding> (I learned this the hard way)
2026-02-05 21:40:55 +0100 <tomsmeding> this is relevant knowledge if you're trying to constrain the version of a dependency used to build a build tool; this is what the "any." in a cabal.project.freeze is for :p
2026-02-05 21:40:52 +0100 <EvanR> that's convenient
2026-02-05 21:40:16 +0100 <tomsmeding> EvanR: yes, but with caveats: in a single dependency tree, every package can indeed occur with only one version. However, cabal has the concept of a "build dependency", which is not linked in but used as an executable; typical examples are alex, happy, c2hs. Those have their _own_ dependency tree, and those trees can contain different versions
2026-02-05 21:39:27 +0100Carlodiociottene(~Carlodioc@host51.141-13-31.as49605.net) (Client Quit)
2026-02-05 21:38:50 +0100Carlodiociottene(~Carlodioc@host51.141-13-31.as49605.net)
2026-02-05 21:36:10 +0100 <EvanR> that explains a lot xD
2026-02-05 21:35:46 +0100 <haskellbridge> <Morj> Yes, there can only be one version of each package in the whole build tree
2026-02-05 21:35:14 +0100 <EvanR> stupid question, when you are cabal building something, is there are most 1 version of each dependency "in use" for that build. And so if the same package comes up multiple ways, there needs to be an overlapping version bound
2026-02-05 21:31:55 +0100 <tomsmeding> yes, `cabal build -j1` is a thing
2026-02-05 21:31:51 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-05 21:31:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-05 21:26:05 +0100 <haskellbridge> <Morj> If cabal-install has -j
2026-02-05 21:25:58 +0100 <haskellbridge> <Morj> If you build with -j1, I think this would tell you which exact package is freezing
2026-02-05 21:24:19 +0100 <EvanR> I see, the reports are asynchronous
2026-02-05 21:24:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-05 21:23:50 +0100 <EvanR> I'm wrong still going
2026-02-05 21:23:39 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 252 seconds)
2026-02-05 21:23:15 +0100Square2(~Square@user/square) (Ping timeout: 245 seconds)
2026-02-05 21:22:32 +0100 <EvanR> looks like it eventually completed... the long running build might have been vector
2026-02-05 21:21:24 +0100Square3(~Square4@user/square) Square
2026-02-05 21:20:57 +0100 <EvanR> if it "hangs" on "building" I wouldn't be as suspicious
2026-02-05 21:20:21 +0100 <EvanR> control C and doing the command again seems to start from another place and hang somewhere else each time
2026-02-05 21:20:06 +0100 <EvanR> after adding postgresql-simple to my cabal file, and doing cabal build, this weird behavior where the build ends at a random dependency, says "completed" and just hangs
2026-02-05 21:17:52 +0100redshuffle(~quassel@45.43.70.75)
2026-02-05 21:17:45 +0100redshuffle(~quassel@45.43.70.75) (Remote host closed the connection)
2026-02-05 21:13:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-05 21:10:02 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-05 21:08:50 +0100yin(~zero@user/zero) (Remote host closed the connection)
2026-02-05 21:08:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-05 21:08:22 +0100xal(~xal@mx1.xal.systems) xal
2026-02-05 21:07:44 +0100xal(~xal@mx1.xal.systems) (Quit: bye)
2026-02-05 21:06:06 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2026-02-05 21:02:29 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
2026-02-05 20:59:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-05 20:54:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-05 20:52:33 +0100Umeaboy(~Umeaboy@h77-53-243-72.cust.bredband2.com) Umeaboy
2026-02-05 20:49:09 +0100Square3(~Square4@user/square) (Ping timeout: 244 seconds)
2026-02-05 20:45:32 +0100Square2(~Square@user/square) Square
2026-02-05 20:44:45 +0100Lord_of_Life_Lord_of_Life