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

New wxwidgets/wxGTK for KiCad? Alternative to overlay for master? #98450

Closed
hannesweisbach opened this issue Sep 22, 2020 · 4 comments
Closed
Labels
0.kind: question Requests for a specific question to be answered 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md

Comments

@hannesweisbach
Copy link
Contributor

Describe the bug

Not a bug per se, more looking for some advice on implementing.

(I was going to post this as comment on #90654 but I didn't want to side-track that issue. #86040 might also be relevant.)

I'm currently working on KiCad for macOS. KiCad requires a number of patches to wxWidgets to work on macOS, to the point where they maintained a branch of wxWidgets with all necessary patches already applied: https://gitlab.com/kicad/code/wxWidgets

My work is currently based on this branch and I use an overlay like so

  overlays = [
    (self: super: {
      wxGTK30 = super.pkgs.callPackage ~/Software/nix/kicad-wxwidgets.nix {
        inherit (super.pkgs.darwin.stubs) setfile;
        inherit (super.pkgs.darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit WebKit AVFoundation AVKit;
      };
    })
  ]

so that wxPython_4_0 and KiCad are built using the same wxWidgets package (and possibly other packages that KiCad depends on and that in turn depend on wxwidgets, but I don't remember for sure)

My question now is how to best integrate these changes so that it acceptable for upstream/master?
Essentially kicad-wxwidgets.nix contains yet another wxGTK version (3.0.4, gtk3, webkit enabled, only macOS because it is only needed there). I don't know in how far the patched wxwidgets version is backwards compatible to an unpatched wxwidgets-3.0.4, if at all. KiCad uses bundle on macOS so their wxwidgets version is not installed as system-wide folder where other packages/build managers could find it.

To Reproduce

Not really something to reproduce, but if you want to play with it/compile it yourself:

  1. fetch/apply Add Cocoa to propagatedBuildInputs for tk #96267
  2. you can find a default.nix and kicad-wxwidgets.nix here: https://gist.github.com/hannesweisbach/e1a9203e3bc2a00f482309cc5a1bfc73

Expected behavior

What would be a way to get this to mainline?

Screenshots

n/a

Additional context

n/a

Notify maintainers

KiCad: @evils @Kiwi @berce

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-darwin"`
 - host os: `Darwin 19.6.0, macOS 10.15.6`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.3.7`
 - channels(hannesweisbach): `""`
 - channels(root): `"nixpkgs-20.09pre242465.bd649f4f55c"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs`

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
@hannesweisbach hannesweisbach added the 0.kind: bug Something is broken label Sep 22, 2020
@veprbl veprbl added 0.kind: question Requests for a specific question to be answered and removed 0.kind: bug Something is broken labels Sep 23, 2020
@veprbl
Copy link
Member

veprbl commented Sep 23, 2020

I believe, deep overrides might not be suitable for packages in the pkgs scope because that requires more resources to eval. Maintaining a separate scope for kicad would defeat the purpose. So I would suggest concentrating on getting things working with a manual override first.

@hannesweisbach
Copy link
Contributor Author

Ok. As a first step I made a PR for wxWidgets patched for KiCad on macOS, which is maintained by the KiCad people (#98538).

@stale
Copy link

stale bot commented Mar 26, 2021

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Mar 26, 2021
@evils
Copy link
Member

evils commented Feb 25, 2023

closing this as the associated PR is stale and there has since been some work on the darwin side
(though it's currently marked as broken for presumably reasons unrelated to this issue)

@evils evils closed this as completed Feb 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: question Requests for a specific question to be answered 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md
Projects
None yet
Development

No branches or pull requests

3 participants