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

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
@jonringer jonringer requested review from peti and cdepillabout Feb 6, 2020
Copy link
Member

@cdepillabout cdepillabout left a comment

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.

@rkrzr rkrzr force-pushed the rkrzr:icepeak-init branch from 377f60d to 7052f41 Feb 7, 2020
@ofborg ofborg bot removed the 6.topic: haskell label Feb 7, 2020
@Infinisil
Copy link
Member

@Infinisil Infinisil commented Feb 9, 2020

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 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

@cdepillabout cdepillabout commented Feb 10, 2020

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 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

@cdepillabout cdepillabout commented Feb 10, 2020

@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 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

@cdepillabout cdepillabout commented Mar 12, 2020

@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

@peti peti force-pushed the NixOS:haskell-updates branch 3 times, most recently from b237640 to d02ac6c Mar 13, 2020
@rkrzr rkrzr force-pushed the rkrzr:icepeak-init branch from 292dc12 to 362be1c Mar 15, 2020
rkrzr added 4 commits Feb 6, 2020
Also, add myself to the maintainers section for Haskell modules coming
from Hackage.
@rkrzr rkrzr force-pushed the rkrzr:icepeak-init branch from 362be1c to 1cef861 Mar 15, 2020
@rkrzr
Copy link
Contributor Author

@rkrzr 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

@cdepillabout cdepillabout commented Mar 16, 2020

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

@cdepillabout cdepillabout merged commit 56d161a into NixOS:haskell-updates Mar 16, 2020
12 checks passed
12 checks passed
Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
@rkrzr rkrzr deleted the rkrzr:icepeak-init branch Mar 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.