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
Sync all-cabal-hashes with a38a3e2 #32096
Conversation
(cherry picked from commit 49cda48)
(cherry picked from commit c45c4a7)
OS X by default has a case-insensitive filesystem, and fetching all-cabal-hashes there fails due to a hash mismatch caused by package pairs like compactable and Compactable. This partitions the package set such that each partition contains no equivalent-up-to-case pairs. (cherry picked from commit 843e099)
(cherry picked from commit 3ef3fc4)
(cherry picked from commit 4b9e73c)
(cherry picked from commit a38a3e2)
Any more work on this required from me? |
Sorry, accidentaly deleted |
Anything more needed from me? |
Can this be merged please @peti 😃? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR does more then just updating the all-cabal-hashes repo. Did you test those changes?
mv */${name}/${version}/${name}.{json,cabal} $out | ||
''; | ||
|
||
hackage2nix = name: version: let component = all-cabal-hashes-component name version; in self.haskellSrc2nix { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you test whether those changes actually work in the release-17.09
branch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like the changes only affect macOS users either way, and I don't have a machine running that OS to test on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise pkgs/development/haskell-modules/make-package-set.nix
is the only file that references all-cabal-hashes
and they were updated in parallel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also this has been backported to release-17.03
#32772
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this means the answer is no, you didn't test it.
Please do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please verify that the modified code still works on a machine running nixos-17.09.
This works without any issues: let
inherit (import <nixpkgs> {}) fetchFromGitHub fetchurl lib stdenv;
patch = fetchurl {
url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/32096.diff";
sha256 = "1pxx8br2b9h4fwk8kskhq4i5f73cbywaf587vpf272z5lgqsb1fd";
};
nixpkgs = fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs-channels";
rev = "0653b73bf61f3a23d28c38ab7e9c69a318d433de";
sha256 = "0s9m3g6nj7bflmrbhx8pcna6s8c9npn75p8ngyj5s8zbdaj7rs7l";
};
patched = stdenv.mkDerivation {
name = "patched-nixpkgs";
src = nixpkgs;
patches = [ patch ];
installPhase = ''
mkdir $out
cp -R . $out/
'';
};
in (import patched {}).pkgs.haskellPackages.callHackage "ipython-kernel" "0.9.0.0" {} Is there a more comprehensive test you had in mind? |
Thanks! |
Motivation for this change
Bring
all-cabal-hashes
in line with a38a3e2 to facilitate easier and more frequent updates. I rangit cherry-pick -x --strategy-option=theirs --no-merges --first-parent `git log --reverse --format=format:%H ..origin/master -- pkgs/data/misc/hackage/default.nix`
to cherry-pick these commits.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)