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

eagle: 7.7 -> 9.1.2 #44951

Merged
merged 1 commit into from Aug 21, 2018
Merged

eagle: 7.7 -> 9.1.2 #44951

merged 1 commit into from Aug 21, 2018

Conversation

lrittel
Copy link
Contributor

@lrittel lrittel commented Aug 12, 2018

Updated eagle to version to 9.1.2 while keeping version 7.7 as eagle7.

Motivation for this change

Eagle was a bit outdated (see #43695).

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • 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 nox --run "nox-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)
  • Fits CONTRIBUTING.md.

@bjornfor
Copy link
Contributor

I'm getting this runtime error:

$ nix-build -A eagle
/nix/store/z8pm3csczwy830z16qzrqg3igcs5ql9z-eagle-9.1.2
$ ./result/bin/eagle 
terminate called after throwing an instance of 'std::runtime_error'
  what():  locale::facet::_S_create_c_locale name not valid
Aborted

Tried with LANG=C (wild guess) but didn't change anything.

@lrittel
Copy link
Contributor Author

lrittel commented Aug 13, 2018

I got the same error when I tried to build eagle with nixpkg from Github like:

nix-shell -Inixpkgs=$PATH_TO_NIXPKGS_MASTER -p eagle

Using this instead fixed it for me (in the eagle directory):

nix-build -E 'with import <nixpkgs> { }; libsForQt5.callPackage ./eagle.nix {}'

My guess was that you mix incompatible glibc versions (see #38991): master seems to be at 2.27, stable (on my machines) on 2.26.
This is not an eagle issue and can be worked around by using the packages from stable to build eagle (the nix-build command from above).

EDIT: I'll appy the suggestion of @volth later today, so please don't merge this, yet ;) .

@lrittel lrittel force-pushed the eagle branch 3 times, most recently from 125c8bd to 4379f04 Compare August 14, 2018 07:07
@lrittel
Copy link
Contributor Author

lrittel commented Aug 14, 2018

Okay, I think I applied the suggestion of @volth.
Is there a way to notify the users of this package that the old version is still available as eagle7?
Eagle is unable to open example projects, working on my own projects works though.
Maybe I'll find a fix later, but this should be a minor issue (maybe it is a good idea to also create an issue here for documentation purposes?).

@Mic92
Copy link
Member

Mic92 commented Aug 15, 2018

Why would you still keep the old version?

@bjornfor
Copy link
Contributor

I believe eagle >= 8.x requires an account and a subscription to use it. Older version is something you buy and own yourself.

@@ -20805,7 +20805,9 @@ with pkgs;

adms = callPackage ../applications/science/electronics/adms { };

eagle = callPackage ../applications/science/electronics/eagle { };
eagle7 = callPackage ../applications/science/electronics/eagle/eagle7.nix { };
Copy link
Member

Choose a reason for hiding this comment

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

Can you add this as an explanation here?

Copy link
Member

Choose a reason for hiding this comment

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

Have you checked, that the old version is still functional?

@lrittel
Copy link
Contributor Author

lrittel commented Aug 16, 2018

The old version is still functional, but I have not tried, to run both versions at the same time.
Eagle versions ≥8.0 require an Autodesk account and the pricing changed from single payment to subscription like @bjornfor said.
I assumed that either people are not upgrading deliberately (like @bjornfor maybe?) or that it is not really used on Nix.
I personally don't mind dropping Eagle 7, but I am aware of the controversy the change caused.
I'm going to add a comment later today.

@Mic92
Copy link
Member

Mic92 commented Aug 16, 2018

If it was not upgraded because of lack of maintenance adding more versions is not a good idea.

@bjornfor
Copy link
Contributor

I'm not an active eagle user (never was), but I would like to keep the 7.x version around for the single reason that it can be run without subscription. I didn't update/add eagle >= 8.x due to lack of time/interest and dislike of the new subscription model. See my original reasoning in 28f780b.

@Mic92
Copy link
Member

Mic92 commented Aug 17, 2018

Ok. @rittelle please add an explanation why we keep 7.x around.

@lrittel lrittel force-pushed the eagle branch 2 times, most recently from c090bef to 5e6e8cb Compare August 19, 2018 13:35
Updated eagle to version to 9.1.2 while keeping version 7.7 as eagle7.
@lrittel
Copy link
Contributor Author

lrittel commented Aug 19, 2018

@Mic92 like this?
I'd appreciate corrections if it contains spelling or grammar errors.
@bjornfor I removed you from the maintainer list of Eagle 9 based on your responses above (the lack of interest), so you are not listed as a maintainer for a package you never used.

@bjornfor
Copy link
Contributor

I'm still getting that fatal startup error:

  what():  locale::facet::_S_create_c_locale name not valid
Aborted

Wasn't that fixed? I'm on NixOS 18.03.

@lrittel
Copy link
Contributor Author

lrittel commented Aug 20, 2018

How do you build and run the application?
Have you seen how I got it running on my system (also 18.03 stable) and my guess why it is not working in a comment above (here)?

@Mic92
Copy link
Member

Mic92 commented Aug 20, 2018

I do do not have that problem with nix-review pr 44951. @bjornfor can you reproduce the problem there?

@bjornfor
Copy link
Contributor

@rittelle: I build and run with git checkout origin/pr/44951 && nix-build -A eagle && ./result/bin/eagle.

Using nix-build -E 'with import <nixpkgs> { }; libsForQt5.callPackage ./eagle.nix {}' is not reproducible since <nixpkgs> resolves to different things depending on what's in $NIX_PATH (different glibc, qt etc.). When I'm on NixOS 18.03 it works. When I switch to unstable/master it fails, in the same way as running nix-build -A eagle && ./result/bin/eagle in the nixpkgs tree.

@Mic92: Yes, I still get the problem when using nix-review pr 44951 and invoking eagle in its nix-shell. How weird that we get different result.

@bjornfor
Copy link
Contributor

bjornfor commented Aug 21, 2018

I found what's wrong. The $LOCALE_ARCHIVE on NixOS 18.03 is incompatible (EDIT: too old -> incompatible). It works when the application is wrapped with LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive when ${glibcLocales} is from master.

It appears $LOCALE_ARCHIVE is set globally on NixOS. I don't know if there is a policy against wrapping applications with $LOCALE_ARCHIVE, but in this case it would definitely fix an impurity.

@Mic92
Copy link
Member

Mic92 commented Aug 21, 2018

This looks to me, like something that should be rather solved in stdenv, then in every package.

@Mic92 Mic92 merged commit 736db8d into NixOS:master Aug 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants