Skip to content

haskellPackages.kmonad: unbreak#300746

Merged
maralorn merged 2 commits intoNixOS:haskell-updatesfrom
slotThe:kmonad
Apr 2, 2024
Merged

haskellPackages.kmonad: unbreak#300746
maralorn merged 2 commits intoNixOS:haskell-updatesfrom
slotThe:kmonad

Conversation

@slotThe
Copy link
Member

@slotThe slotThe commented Apr 1, 2024

Description of changes

I also—in a separate commit—added myself as a maintainer. I have a commit bit for both the GitHub repository and Hackage, so should be able to react quickly to a breakage.

Things done

  • Built on platform(s)
    • x86_64-linux
      $ nix-build ./ -A haskellPackages.kmonad
      /nix/store/sg9dnfhkyzcjzxg9mi3cb9xwzdpxnyc8-kmonad-0.4.2
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Apr 1, 2024
@maralorn
Copy link
Member

maralorn commented Apr 1, 2024

If I understand this correctly, this is a user facing executable. You might consider enabling separate bin outputs and doing something like pkgs.kmonad = haskellPackages.kmonad.bin?

@maralorn
Copy link
Member

maralorn commented Apr 1, 2024

Can’t test this right now because hydra is backed up.

@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Apr 1, 2024
@slotThe
Copy link
Member Author

slotThe commented Apr 2, 2024

If I understand this correctly, this is a user facing executable.

Yes. I know it's not best practice to upload executables to Hackage, but I wasn't the one to do it and at this point I'm just maintaining :)

You might consider enabling separate bin outputs and doing something like pkgs.kmonad = haskellPackages.kmonad.bin?

Do you mind elaborating a bit on this?

@ncfavier
Copy link
Member

ncfavier commented Apr 2, 2024

it's not best practice to upload executables to Hackage

???

Do you mind elaborating a bit on this?

See justStaticExecutables and enableSeparateBinOutput here

@maralorn
Copy link
Member

maralorn commented Apr 2, 2024

Yes. I know it's not best practice to upload executables to Hackage, but I wasn't the one to do it and at this point I'm just maintaining :)

No, I don’t think any such rule exists. I’d say it depends on the circumstances. I really did not mean to imply any critique with my statement.

You might consider enabling separate bin outputs and doing something like pkgs.kmonad = haskellPackages.kmonad.bin?

Do you mind elaborating a bit on this?

Compare, e.g.

shellify = enableSeparateBinOutput super.shellify;

together with

https://github.com/NixOS/nixpkgs/blob/a8dd632c26cb4c9738e6773661c7ef4d41bc56d1/pkgs/top-level/all-packages.nix#L13021

This way users can install pkgs.shellify which has a significantly smaller dependency closure at runtime than haskellPackages.shellify.

slotThe added 2 commits April 2, 2024 20:30
I have a commit bit for the repo + Hackage, so can react quickly.
@slotThe
Copy link
Member Author

slotThe commented Apr 2, 2024

Yes. I know it's not best practice to upload executables to Hackage, but I wasn't the one to do it and at this point I'm just maintaining :)

No, I don’t think any such rule exists. I’d say it depends on the circumstances. I really did not mean to imply any critique with my statement.

Don't worry, no offense taken! I just heard this sentiment within the community a few times (even if there is no actual rule against it); nevermind then.

Compare, e.g.

shellify = enableSeparateBinOutput super.shellify;

together with

https://github.com/NixOS/nixpkgs/blob/a8dd632c26cb4c9738e6773661c7ef4d41bc56d1/pkgs/top-level/all-packages.nix#L13021

This way users can install pkgs.shellify which has a significantly smaller dependency closure at runtime than haskellPackages.shellify.

Oh, that's pretty neat! I think I did that right; at least I get

$ nix-build ./ -A kmonad
[…]
/nix/store/7pcm931qp1lfb39pxl864pgv3279fwbq-kmonad-0.4.2-bin

@ofborg ofborg bot removed 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Apr 2, 2024
@maralorn
Copy link
Member

maralorn commented Apr 2, 2024

Nice. Looks good. Thanks.

@maralorn maralorn merged commit 0c7078e into NixOS:haskell-updates Apr 2, 2024
@slotThe slotThe deleted the kmonad branch April 6, 2024 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants