2025/06/05

Newest at the top

2025-06-05 22:59:18 +0200 <haskellbridge> <sm> __monty__ if you are attached to running the shakefile via "shake", that can't ensure dependencies, you'll have to do that yourself as a separate step. That's the reason people make it a cabal/stack script.
2025-06-05 22:58:11 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-05 22:57:49 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-05 22:57:31 +0200 <haskellbridge> <sm> welcome to the thread sclv :)
2025-06-05 22:57:25 +0200jespada(~jespada@r179-25-40-226.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-06-05 22:56:57 +0200 <sclv> i'm so confused.
2025-06-05 22:56:15 +0200 <__monty__> I'd prefer the specification to be complete regardless of whether someone else wants to use Nix.
2025-06-05 22:56:14 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-05 22:56:11 +0200 <EvanR> who is in charge of building
2025-06-05 22:56:00 +0200 <EvanR> I'm confused about how shake + cabal can exist in the same project, they're both build tools
2025-06-05 22:55:34 +0200 <sclv> then to have it in place, using nix, just add it to your nix environment. that's what nix is for
2025-06-05 22:55:15 +0200 <haskellbridge> <sm> fair enough
2025-06-05 22:54:59 +0200 <__monty__> I know it's not. It's just how I like to run it, parallels the make + Makefile workflow nicely.
2025-06-05 22:54:44 +0200 <sclv> if you do want an executable in place during some other portion of a cabal build, adding that executable in build-tool-depends _should_ work. however as sm says, i don't believe the shake executable is necessary to run a shakefile.
2025-06-05 22:54:34 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-05 22:54:19 +0200 <haskellbridge> <sm> or it runs the shakefile with runhaskell
2025-06-05 22:53:55 +0200 <haskellbridge> <sm> "shake" certainly isn't required to run a shakefile. Here's the main, it seems to try to run ninja: https://github.com/ndmitchell/shake/blob/master/src/Run.hs
2025-06-05 22:53:20 +0200 <__monty__> It's required to run the Shakefile, that's all. I'm just hoping there's a nice way to specify it in a Cabal file to be made available. Is a hypothetical script component with "run-depends: base, aeson, shake" really so outrageous?
2025-06-05 22:51:19 +0200 <haskellbridge> <sm> good question, it seems underdocumented
2025-06-05 22:51:07 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-05 22:50:43 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-05 22:48:57 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-06-05 22:48:51 +0200 <geekosaur> okay, that's more or less what I expected, so where does this "shake" executable come in?
2025-06-05 22:48:43 +0200trickard_(~trickard@cpe-51-98-47-163.wireline.com.au)
2025-06-05 22:48:30 +0200trickard(~trickard@cpe-51-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-05 22:47:35 +0200 <sclv> its a haskell program.
2025-06-05 22:47:35 +0200 <sclv> this is what a shakefile looks like. it has a main function and everything: https://shakebuild.com/manual#running
2025-06-05 22:47:34 +0200 <__monty__> No, my tooling sets up the dependencies but that tooling does so by interpreting a Cabal file.
2025-06-05 22:47:20 +0200 <geekosaur> or are you asking shake to do what it doesn't?
2025-06-05 22:46:54 +0200 <geekosaur> so what you really want is for shake tpo understand build dependencies?
2025-06-05 22:46:51 +0200 <sclv> a shakefile is literally an executable script. thats how it works. compiling vs interpreting is simply a matter of efficiency and optimization.
2025-06-05 22:46:25 +0200 <geekosaur> well, no, if they don't need to be rebuilt they don't
2025-06-05 22:46:16 +0200 <EvanR> it gets the same results in the end which is why I was curious what difference it makes
2025-06-05 22:46:10 +0200 <geekosaur> yes
2025-06-05 22:46:01 +0200 <haskellbridge> <sm> sclv, geekosaur: do cabal scripts _always_ compile now ?
2025-06-05 22:45:25 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-05 22:45:03 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-05 22:44:41 +0200 <sclv> it used to interpret then people fixed it
2025-06-05 22:44:37 +0200 <EvanR> compiling vs interpreting is subjective
2025-06-05 22:44:35 +0200 <__monty__> I don't know why everyone's assuming I want to execute the Shakefile as if it's an executable? I just want to invoke `shake myShakefile.hs`.
2025-06-05 22:44:27 +0200 <sclv> there’s no downside to how cabal does scripts
2025-06-05 22:44:17 +0200 <sclv> the hard part isn’t compiling its making deps available. after that compiling is just an efficiency optimization
2025-06-05 22:43:49 +0200 <__monty__> The problem with an executable component is just that `cabal build` does too much. I don't need the Shakefile to be compiled.
2025-06-05 22:43:46 +0200 <geekosaur> then you want a kernel module to recognize Shakefiles??? how exactly do you think this is supposed to work?
2025-06-05 22:43:46 +0200 <sclv> why
2025-06-05 22:43:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-05 22:43:13 +0200 <__monty__> Not Cabal nor Stack nor Nix.
2025-06-05 22:43:00 +0200 <__monty__> I'm really quite certain I don't want a shebang at all in my Shakefile.
2025-06-05 22:42:30 +0200 <geekosaur> no, I think they want an interpreted cabal script, which currently doesn't exist
2025-06-05 22:42:22 +0200 <__monty__> I think "Make Shake available" isn't a great fit for a Cabal file either. There's build-tool depends or something but it's not really a build tool.