Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

icepeak: init at 0.7.2 #79155

Merged
merged 4 commits into from Mar 16, 2020
Merged

icepeak: init at 0.7.2 #79155

merged 4 commits into from Mar 16, 2020

Conversation

rkrzr
Copy link
Contributor

@rkrzr rkrzr commented Feb 3, 2020

Icepeak is a fast JSON document store with push notification support.

Motivation for this change

Icepeak is one of our open-source projects and we would like to get it added to nixpkgs so that other people can install it with nix, instead of having to compile from source.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

structure of this is a little non-standard, but I'm also not super familiar with haskell packaging

maintainers/maintainer-list.nix Show resolved Hide resolved
Copy link
Member

@cdepillabout cdepillabout left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you try to get upstream to release this to hackage?

If they do so, then this will be automatically available in nixpkgs and we will hopefully not have to do any work to keep it updated.


If upstream doesn't want to upload to hackage, then there are a couple things that should be changed here.

The biggest thing is that this file should be generated automatically with cabal2nix. Take a look at how spago is packaged, and try to replicate that.

@infinisil
Copy link
Member

To keep the Nix file in line with the one in the repo you could write a passthrough.updateScript that automatically downloads the file from the repo, see https://nixos.org/nixpkgs/manual/#ssec-stdenv-attributes for more info

@rkrzr
Copy link
Contributor Author

rkrzr commented Feb 10, 2020

To keep the Nix file in line with the one in the repo you could write a passthrough.updateScript

Thanks, I'll give this a try.

I also started the process to upload the package to Hackage (currently waiting for approval). Would that still be preferable?

@cdepillabout
Copy link
Member

I also started the process to upload the package to Hackage (currently waiting for approval). Would that still be preferable?

Yes, in general it is preferable to just get Haskell packages from Hackage (since the updating process is automatic).

@rkrzr
Copy link
Contributor Author

rkrzr commented Feb 10, 2020

Yes, in general it is preferable to just get Haskell packages from Hackage (since the updating process is automatic).

Okay, I'll move forward with that then. Out of curiosity: How does the Hackage <-> Nixpkgs synchronizing process work? Does it simply pick the latest version on Hackage? Or does it also make use of Stackage snapshots somehow?

@cdepillabout
Copy link
Member

@rkrzr I believe I wrote about this in the following post:

https://discourse.nixos.org/t/haskellpackages-stm-containers-fails-to-build/5416/4

If not, then you should probably be able to find an explanation about it in one of my past posts here or on discourse.

@rkrzr
Copy link
Contributor Author

rkrzr commented Mar 11, 2020

Alright, I now rebased this one more time on haskell-updates and also released a new version of Icepeak on Hackage which builds with GHC 8.8.

(Apologies to all the people who were automatically added as reviewers to this PR, I accidentally rebased on the wrong upstream first, which added everyone automatically. It seems that I cannot unselect reviewers again, so best to just ignore this PR, I guess)

@cdepillabout
Copy link
Member

@rkrzr This is looking good, but you'll need to do one more thing.

Please mark icepeak (and its dependency sqlite-simple) as non-broken.

Here's a video showing how to do this:

https://discourse.nixos.org/t/video-tutorial-how-to-fix-broken-haskell-packages-in-nix/3968

@rkrzr
Copy link
Contributor Author

rkrzr commented Mar 15, 2020

Ok, I've rebased this one more time and marked icepeak and sqlite-simple as non-broken now.

@cdepillabout
Copy link
Member

@rkrzr Looks like everything builds now, thanks for following up on this!

@cdepillabout cdepillabout merged commit 56d161a into NixOS:haskell-updates Mar 16, 2020
@rkrzr rkrzr deleted the icepeak-init branch March 16, 2020 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants