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

Fix the openssl crate by adding the ossl300 config flag #297

Open
wants to merge 2 commits into
base: unstable
Choose a base branch
from

Conversation

litchipi
Copy link

@litchipi litchipi commented Oct 3, 2022

I don't really understand why the config flags were commented out, but I found that this setup works on nixos-unstable as of today.
For reminder, on unstable of NixOS, the OpenSSL got bumped to version 3 per default, and the version 1.1.* are available under the package openssl_1_1, which makes the compilation of the crate fail if we have the version 3 around

psionic-k and others added 2 commits October 1, 2022 23:29
A bit of history.  The workspace shell started off as a quick solution to get
overrides to express some of their side effects within the user's development
shell.  Because it didn't work closely with the actual mechanisms of mkShell,
the chosen mechanism, from overrides to dev shell, was use of propagated
inputs.  This and some cargo culting had resulted in overrides mimicking other
overrides, lots of use of propagatedNativeBuildInputs.

First, workspace shell's overhaul is given the actual package set instead of the
noBuild set that is used when running tests.  (the tests themselves may need
similar overhaul).  The new shell has one simple job:  Make everything required
to build every crate, except rust crates themselves, expressed in environment
and available from the store.  This has to be done for the entire rust crate
DAG.

Second, once the workspace shell could correctly express dependencies and shell
hooks etc without the abuse of propagated inputs, the overrides themselves could
be made much more sensible, much more consistent with the rest of Nix.

substractLists works fine for derivation filtering

The issue that lead to using attrSets was using the wrong crate outputs to
filter on.  After that was fixed, it was no longer necessary to construct
attrSets by keys.  If complexity of a dependency set (n^2 because of lib.unique)
becomes too high, the attrSet based implementation should become favored again.
This won't really show up to users for n < 1000 where n is the immediate
dependencies of crates that are not crates themselves.

Apple frameworks must be propagated?  Missing a setupHook?
@psionic-k
Copy link
Member

My mistake. Thanks for adding the 300 flag.

You only saw the missing 300 because of unstable branch, correct? I am using 22.05 in development. I could add an extra nixpkgs version to CI to detect these issues sooner, but I might also put it behind a flag that just warns when it fails.

@psionic-k
Copy link
Member

Don't know what happened on CI. I'll let you have a shot at it until I make it back to this issue.

@litchipi
Copy link
Author

litchipi commented Oct 5, 2022

Yes it only causes a problem on nixos-unstable, but I thought the unstable branch was synced with nixpkgs unstable
Well I let you merge it / delay it however you want, but in fine you may need that chance 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants