diff options
-rw-r--r-- | pkgs/applications/science/electronics/kicad/default.nix | 31 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 5 |
2 files changed, 27 insertions, 9 deletions
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 5066eafcd557..b67ff0f4ef59 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,10 +1,10 @@ { wxGTK, lib, stdenv, fetchurl, cmake, libGLU_combined, zlib , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig , doxygen, pcre, libpthreadstubs, libXdmcp - +, wrapGAppsHook , oceSupport ? true, opencascade , ngspiceSupport ? true, libngspice -, scriptingSupport ? true, swig, python, wxPython +, scriptingSupport ? true, swig, python, pythonPackages }: assert ngspiceSupport -> libngspice != null; @@ -34,17 +34,36 @@ stdenv.mkDerivation rec { "-DKICAD_SCRIPTING_WXPYTHON=ON" # nix installs wxPython headers in wxPython package, not in wxwidget # as assumed. We explicitely set the header location. - "-DCMAKE_CXX_FLAGS=-I${wxPython}/include/wx-3.0" + "-DCMAKE_CXX_FLAGS=-I${pythonPackages.wxPython}/include/wx-3.0" ]; - # https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg29840.html - nativeBuildInputs = [ (cmake.override {majorVersion = "3.10";}) doxygen pkgconfig ]; + nativeBuildInputs = [ + # https://www.mail-archive.com/kicad-developers@lists.launchpad.net/msg29840.html + (cmake.override {majorVersion = "3.10";}) + doxygen + pkgconfig + wrapGAppsHook + pythonPackages.wrapPython + ]; + pythonPath = [ pythonPackages.wxPython ]; + propagatedBuildInputs = [ pythonPackages.wxPython ]; + buildInputs = [ libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs cairo curl openssl boost ] ++ optional (oceSupport) opencascade ++ optional (ngspiceSupport) libngspice - ++ optionals (scriptingSupport) [ swig python wxPython ]; + ++ optionals (scriptingSupport) [ swig python ]; + + # this breaks other applications in kicad + dontWrapGApps = true; + + preFixup = '' + buildPythonPath "$out $pythonPath" + gappsWrapperArgs+=(--set PYTHONPATH "$program_PYTHONPATH") + + wrapProgram "$out/bin/kicad" "''${gappsWrapperArgs[@]}" + ''; meta = { description = "Free Software EDA Suite"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f4b8df8bcf78..69a7ebce455b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11829,7 +11829,7 @@ with pkgs; sofia_sip = callPackage ../development/libraries/sofia-sip { }; soil = callPackage ../development/libraries/soil { }; - + sonic = callPackage ../development/libraries/sonic { }; soprano = callPackage ../development/libraries/soprano { }; @@ -20744,7 +20744,6 @@ with pkgs; kicad = callPackage ../applications/science/electronics/kicad { wxGTK = wxGTK30; - inherit (pythonPackages) wxPython; boost = boost160; }; @@ -20909,7 +20908,7 @@ with pkgs; spyder = pythonPackages.spyder; openspace = callPackage ../applications/science/astronomy/openspace { }; - + stellarium = libsForQt5.callPackage ../applications/science/astronomy/stellarium { }; tulip = callPackage ../applications/science/misc/tulip { |