Skip to content

Comments

kicad: 8.0.8 -> 9.0.0#384150

Merged
SuperSandro2000 merged 1 commit intoNixOS:masterfrom
jcdickinson:kicad-9
Feb 27, 2025
Merged

kicad: 8.0.8 -> 9.0.0#384150
SuperSandro2000 merged 1 commit intoNixOS:masterfrom
jcdickinson:kicad-9

Conversation

@jcdickinson
Copy link
Contributor

Release announcement: https://www.kicad.org/blog/2025/02/Version-9.0.0-Released/

Beyond updating the refs/shas, I needed to add protobuf and nng as dependencies. I also switched it to Ninja, as that is recommended by the KiCad docs (https://dev-docs.kicad.org/en/build/linux/index.html#_ninja).

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: n/a - tested on NixOS unstable
  • Tested, as applicable: N/A, not a lib or a function
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". (processing)
  • Tested basic functionality of all binary files (usually in ./result/bin/)
    Smoke test of project binaries (from kicad, kicad-testing, and kicad-unstable), including first setup and libraries
  • 25.05 Release Notes: these have been reverted in the past when I added them, let me know if I should make them.
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Feb 22, 2025
@nix-owners nix-owners bot requested a review from evils February 22, 2025 04:48
Copy link
Contributor

Choose a reason for hiding this comment

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

Ninja hook will ignore this now. You'd have to switch to ninjaFlags.

Copy link
Contributor Author

@jcdickinson jcdickinson Feb 23, 2025

Choose a reason for hiding this comment

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

I Googled and grepped around here and came up empty-handed: not sure how to pass these flags through to a CMAKE-generated ninja build as flags. I have moved these to a preconfigure sh export.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yup, this makes sense. Sorry for setting you off on a wild goose chase.
It might also be possible to use CMAKE_{C,CXX}_FLAGS for this. I hope there wasn't some very specific reason why this was previously done by passing CFLAGS as make parameter.

debug flags are as expected (snippet from the build log):

/nix/store/ii75mhh7sxl11167m1b86p0qrjsjyjmd-gcc-wrapper-14-20241116/bin/g++ -DDEBUG ..... -DKICAD_STDLIB_DEBUG ..... -I...... -Og -ggdb ...... -o libs/kimath/CMakeFiles/kimath.dir/src/md5_hash.cpp.o -c /build/source/libs/kimath/src/md5_hash.cpp

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I wouldn't be able to augment C_FLAGS and CXX_FLAGS if I used the {C,CXX}_FLAGS shorthand. I could just clobber them entirely (they are empty at the start of configure anyway).

Copy link
Contributor

@xokdvium xokdvium left a comment

Choose a reason for hiding this comment

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

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 384150


x86_64-linux

❌ 4 packages failed to build:
  • kicadAddons.kikit
  • kicadAddons.kikit-library
  • kikit
  • kikit.dist
✅ 12 packages built:
  • kicad
  • kicad-small
  • kicad-testing
  • kicad-testing-small
  • kicad-unstable
  • kicad-unstable-small
  • python312Packages.kicad
  • python312Packages.pcbnewtransition
  • python312Packages.pcbnewtransition.dist
  • python313Packages.kicad
  • python313Packages.pcbnewtransition
  • python313Packages.pcbnewtransition.dist
error: builder for '/nix/store/hbc0p5i0vmx1qg7fyxlaz8bmchz4aq72-kikit-1.6.0.drv' failed with exit code 2;
       last 25 log lines:
       > # 12:16:23: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
       > # 12:16:23: Error: Directory '/homeless-shelter/.config/kicad/9.0' couldn't be created (error 2: No such file or directory)
       > # An error occurred: No board edges found
       > # No output files produced
       > not ok 42 Steel stencils with cutout

kikit might need a writableTmpDirAsHomeHook hook as well as some other changes.
Looks like #383480 is necessary for KiCad 9.0 support: https://github.com/yaqwsx/KiKit/releases/tag/v1.7.0

diff --git a/pkgs/by-name/ki/kikit/default.nix b/pkgs/by-name/ki/kikit/default.nix
index 69e7c4eef099..7db181e7204b 100644
--- a/pkgs/by-name/ki/kikit/default.nix
+++ b/pkgs/by-name/ki/kikit/default.nix
@@ -19,6 +19,7 @@
   pybars3,
   versioneer,
   shapely,
+  writableTmpDirAsHomeHook,
 }:
 let
   solidpython = callPackage ./solidpython { };
@@ -64,6 +65,7 @@ buildPythonApplication rec {
   nativeCheckInputs = [
     pytestCheckHook
     bats
+    writableTmpDirAsHomeHook
   ];
 
   pythonImportsCheck = [

Copy link
Contributor

@korken89 korken89 left a comment

Choose a reason for hiding this comment

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

I've tested it building on aarch64-linux now, no issues and runs as expected.

@jcdickinson
Copy link
Contributor Author

  • writableTmpDirAsHomeHook

That fixed the build, though now the tests are failing. Seems like we will have to wait for the linked PR.

@nix-owners nix-owners bot requested review from jfly and matusf February 25, 2025 01:16
@jfly
Copy link
Contributor

jfly commented Feb 25, 2025

Seems like we will have to wait for the linked PR.

@jcdickinson, #383480 is now merged.

@jfly jfly mentioned this pull request Feb 25, 2025
@wegank wegank added 12.approvals: 1 This PR was reviewed and approved by one person. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. labels Feb 25, 2025
@jcdickinson
Copy link
Contributor Author

jcdickinson commented Feb 25, 2025

Waiting for #385032.

openscad needs to be added to nativeCheckInputs (in kikit), I'm not sure if that will need to be done to get 385032 merged too.

@wegank wegank removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Feb 26, 2025
@jcdickinson
Copy link
Contributor Author

openscad needs to be added to nativeCheckInputs (in kikit), I'm not sure if that will need to be done to get 385032 merged too.

I must have messed up the manual patching, this is not happening now that I've rebased on the real merge. The home dir hook seemingly isn't required either.

Copy link
Contributor

@xokdvium xokdvium left a comment

Choose a reason for hiding this comment

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

kicad, kicad-small, kicad-unstable launch fine and there are no obvious issues.

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 384150


x86_64-linux

✅ 16 packages built:
  • kicad
  • kicad-small
  • kicad-testing
  • kicad-testing-small
  • kicad-unstable
  • kicad-unstable-small
  • kicadAddons.kikit
  • kicadAddons.kikit-library
  • kikit
  • kikit.dist
  • python312Packages.kicad
  • python312Packages.pcbnewtransition
  • python312Packages.pcbnewtransition.dist
  • python313Packages.kicad
  • python313Packages.pcbnewtransition
  • python313Packages.pcbnewtransition.dist

@SuperSandro2000 SuperSandro2000 merged commit f60f9db into NixOS:master Feb 27, 2025
27 checks passed
vcunat pushed a commit that referenced this pull request Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants