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

Update to current nixpkgs-unstable #436

Merged
merged 3 commits into from Mar 4, 2020
Merged

Conversation

@andir
Copy link
Member

andir commented Feb 21, 2020

This required the introduction of an overlay file since ofBorg still
requires openssl 1.0.2. Updating to newer version of openssl also
requires updating the amqp library which requires some more involved
changes.

The php code is only updated to php 7.2 and not 7.3 (the default in
nixpkgs) since there seem to been a few syntax changes that aren't yet
compatible with composer2nix.

In previous versions of the rust infrastructure within nixpkgs we would
have been able to override all crates during the invocation of the
target crate. That override feature was removed as it caused a huge
eval overhead for larger projects. We did end up with (n^2)
instantiations of dependencies since they were being overridden on every
invocation of every dependency on every level further down the chain.
The current understanding is that the build tooling that each project is
using (e.g. crate2nix, crate2nix, …) that is driving the actual build
could easily reintroduce that feature without the overhead.

@andir andir force-pushed the andir:update-nixpkgs branch from 81c9cf0 to 13d1af0 Feb 21, 2020
@andir
Copy link
Member Author

andir commented Feb 21, 2020

I am still trying to figure out what it takes to make the PHP stuff work again.. Right now it is just spewing out cryptic error messages about break and continue 2.

This required the introduction of an overlay file since ofBorg still
requires openssl 1.0.2. Updating to newer version of openssl also
requires updating the amqp library which requires some more involved
changes.

The php code is only updated to php 7.2 and not 7.3 (the default in
nixpkgs) since there seem to been a few syntax changes that aren't yet
compatible with composer2nix.

In previous versions of the rust infrastructure within nixpkgs we would
have been able to override all crates during the invocation of the
target crate. That `override` feature was removed as it caused a huge
eval overhead for larger projects. We did end up with (n^2)
instantiations of dependencies since they were being overriden on every
invocation of every dependency on every level further down the chain.
The current understanding is that the build tooling that each project is
using (e.g.  crate2nix, crate2nix, …) that is driving the actual build
could easily reintroduce that feature without the overhead.

pin to php72
@andir andir force-pushed the andir:update-nixpkgs branch from 13d1af0 to 41687fe Feb 21, 2020
@andir
Copy link
Member Author

andir commented Feb 21, 2020

The default php version of unstable is 7.3 which did break composer2nix. For now we can probably just stick with 7.2.

@andir andir force-pushed the andir:update-nixpkgs branch from 0b3f891 to e54b781 Feb 22, 2020
@andir andir force-pushed the andir:update-nixpkgs branch from e54b781 to e3e32bc Feb 22, 2020
@andir
Copy link
Member Author

andir commented Feb 22, 2020

Ok, CI finally passed. It looks good. Was a bit more involved due to the rust version upgrades and the corresponding linting fixes.

@andir andir requested a review from grahamc Feb 22, 2020
@grahamc grahamc merged commit ea4b7f8 into NixOS:released Mar 4, 2020
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.