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

Make hash-breaking cleanups avoided in #26007 #26881

Merged
merged 1 commit into from Jun 30, 2017

Conversation

Ericson2314
Copy link
Member

@Ericson2314 Ericson2314 commented Jun 26, 2017

Motivation for this change

PR #26007 used these to avoid causing a mass rebuild. Now that we know things work, I'm doing a cleanup of all the individual derivations. Beyond tidiness for tidiness's sake, I think this is very important because people write packages by copying existing packages, so it's important to demonstrate the intended idem.

Some of the core infrastructure also needs a cleanup, but I'm leaving that in #26805 as it will take more effort to get correct

Things done

CC @Dridus @copumpkin

@Ericson2314 Ericson2314 mentioned this pull request Jun 26, 2017
13 tasks
@Ericson2314 Ericson2314 changed the base branch from master to staging June 26, 2017 19:06
@FRidh
Copy link
Member

FRidh commented Jun 26, 2017

What kind of prefix is prefix? Maybe the attribute name could describe it better.

@Ericson2314 Ericson2314 force-pushed the cross-hashbreak branch 2 times, most recently from 286b612 to 75bfc10 Compare June 26, 2017 21:52
@Ericson2314
Copy link
Member Author

@FRidh Added some comments for that.

@@ -17,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1";
};

postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
postPatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
substituteInPlace configure \
--replace '/usr/bin/libtool' 'ar' \
Copy link
Member

Choose a reason for hiding this comment

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

An impurity like /usr/bin/ seems worth patching out regardless of the platform, right?

Copy link
Member

@copumpkin copumpkin Jun 26, 2017

Choose a reason for hiding this comment

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

Then again, you aren't really changing this logic here, so I guess it's not worth fixing here.

Copy link
Member Author

Choose a reason for hiding this comment

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

@copumpkin you're looking at the person that just ran `s/stdenv.is/hostPlatform.is/g' :D.

In seriousness, looks like libtool is being replaced with ar, which is kind of sketchy? I'd guess:

  • libtool should continue to be used where possible, though certainly not impurely
  • ar should be replaced with $AR
  • Is this impurity still there upstream? The Linux build doesn't fail with sandboxing at least, and I doubt the e.g. homebrew people want that hard-coded.

@Ericson2314 Ericson2314 added 6.topic: cross-compilation Building packages on a different sort platform than than they will be run on 1.severity: mass-rebuild labels Jun 26, 2017
@Ericson2314
Copy link
Member Author

Hydra seems to not want to evaluate the job?

@Ericson2314 Ericson2314 force-pushed the cross-hashbreak branch 2 times, most recently from cfef6d4 to c33e29f Compare June 27, 2017 00:13
@Ericson2314
Copy link
Member Author

Ericson2314 commented Jun 27, 2017

At least the cross tests still work, which ends up needing the guts of the mass rebuild just fine. Native coreutils has this test https://github.com/coreutils/coreutils/blob/master/tests/install/install-C.sh fails for some reason, however:

@Ericson2314 Ericson2314 force-pushed the cross-hashbreak branch 2 times, most recently from 4053af1 to 6875845 Compare June 29, 2017 02:54
@Ericson2314
Copy link
Member Author

coreutils built after rebuild now.

@Ericson2314 Ericson2314 force-pushed the cross-hashbreak branch 3 times, most recently from 46bc85d to 5b766ba Compare June 30, 2017 14:03
PR NixOS#26007 used these to avoid causing a mass rebuild. Now that we know
things work, we do that to clean up.
@Ericson2314
Copy link
Member Author

hydra.nixos.org kept on timing out, but I built the Travis commands locally on both Linux and Darwin, which should build all changed platforms. so merging to staging.

@Ericson2314 Ericson2314 merged commit c53449c into NixOS:staging Jun 30, 2017
@Ericson2314 Ericson2314 deleted the cross-hashbreak branch June 30, 2017 14:13
@Ericson2314 Ericson2314 added this to Prior in Cross compilation Oct 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.severity: mass-rebuild 6.topic: cross-compilation Building packages on a different sort platform than than they will be run on
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants