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

kicad: init unstable at version 2017-12-11 #32648

Merged
merged 5 commits into from Dec 17, 2017
Merged

Conversation

berce
Copy link
Contributor

@berce berce commented Dec 13, 2017

Motivation for this change

Files are not forward compatible, so when cooperating with someone who needs features of the Nightly Development Build, you also need this newer version.
In contrast with the current package for the stable release of KiCad, this package also enables oce, ngspice and scripting support.
This package does not provide the component libraries (schematics, PCB footprints, 3D models). They can be obtained from KiCad, unpacked and referenced at runtime.

It is called unstable and not nightly because it doesn't automatically track upstream nightly development builds.

wxPython headers are needed at buildtime. This PR includes a necessary change to wxPython. That change is also in a separate PR: #32647

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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/)
  • Fits CONTRIBUTING.md.

@berce berce requested a review from FRidh as a code owner December 13, 2017 21:31
@berce
Copy link
Contributor Author

berce commented Dec 13, 2017

I took the liberty of adding @viric as a maintainer. Please approve :-)

@@ -0,0 +1,52 @@
{ config, wxGTK, lib, pkgs, stdenv, fetchFromGitHub, cmake, mesa, zlib
Copy link
Member

Choose a reason for hiding this comment

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

  • config is not used
  • pkgs should be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done locally.
Should I squash it in the previous commit to update the PR, or add a new commit?

@@ -19017,6 +19017,12 @@ with pkgs;
boost = boost160;
};

kicad-unstable = callPackage ../applications/science/electronics/kicad/unstable.nix {
Copy link
Member

Choose a reason for hiding this comment

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

python.pkgs.callPackage

Copy link
Contributor Author

Choose a reason for hiding this comment

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

KiCad optionally uses python for scripting. It is not a python application.
Is this change still required?
Also no other package in top-level.nix uses the proposed code.

Copy link
Member

Choose a reason for hiding this comment

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

there are a few that use pythonPackages.callPackage which is the same.

Yes, this should be used. Top-level packages should not have any inherit (pythonPackages) foo; as that risks mixing Python 2 and 3 packages (which was a common issue 3+years ago).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Then I 'll use pythonPackages.callPackagefor uniformity. Unless you object.
If you object, I propose to also change the others in a separate PR.

kicad-unstable = callPackage ../applications/science/electronics/kicad/unstable.nix {
wxGTK = wxGTK30;
boost = boost160;
inherit (pythonPackages) wxPython;
Copy link
Member

Choose a reason for hiding this comment

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

so this can be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Leaving out the wxGTK = wxGTK30 line makes it default to wxGTK28. Even when using python.pkgs.callPackage. Then compiling fails due to finding wxwidgets 2.8.12 and at least 3.0.0 is required.

Copy link
Member

Choose a reason for hiding this comment

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

I was referring only to

inherit (pythonPackages) wxPython;

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If you meant removing just the last line (inherit...), it seems to compile well.
wxPython related build problems only appear at 75% of compiling, so it 'll take some time to have full confirmation.

@berce berce force-pushed the upstream-kicad branch 2 times, most recently from 333d4e7 to c09336e Compare December 16, 2017 14:43
@berce
Copy link
Contributor Author

berce commented Dec 16, 2017

All proposed changes have been applied.

@orivej orivej merged commit fe9bf3e into NixOS:master Dec 17, 2017
@berce berce deleted the upstream-kicad branch December 17, 2017 10:09
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