diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix index 9dd2b67b834f..ba5e5f79702b 100644 --- a/pkgs/applications/science/electronics/kicad/unstable.nix +++ b/pkgs/applications/science/electronics/kicad/unstable.nix @@ -1,28 +1,49 @@ -{ stdenv, fetchFromGitHub, cmake, mesa, wxGTK, zlib, libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig, doxygen }: +{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, mesa, zlib +, libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig +, doxygen, pcre, libpthreadstubs, libXdmcp +, oceSupport ? true, opencascade_oce +, ngspiceSupport ? true, ngspice +, scriptingSupport ? true, swig, python, wxPython +}: + +with lib; stdenv.mkDerivation rec { name = "kicad-unstable-${version}"; version = "2017-12-11"; src = fetchFromGitHub { - owner = "KICad"; - repo = "kicad-source-mirror"; - rev = "1955f252265c38a313f6c595d6c4c637f38fd316"; - sha256 = "15cc81h7nh5dk6gj6mc4ylcgdznfriilhb43n1g3xwyq3s8iaibz"; - }; + owner = "KICad"; + repo = "kicad-source-mirror"; + rev = "1955f252265c38a313f6c595d6c4c637f38fd316"; + sha256 = "15cc81h7nh5dk6gj6mc4ylcgdznfriilhb43n1g3xwyq3s8iaibz"; + }; - cmakeFlags = '' - -DKICAD_SKIP_BOOST=ON - ''; + cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Nightly" ] + ++ optionals (oceSupport) [ "-DKICAD_USE_OCE=ON" "-DOCE_DIR=${opencascade_oce}" ] + ++ optional (ngspiceSupport) "-DKICAD_SPICE=ON" + ++ optionals (scriptingSupport) [ + "-DKICAD_SCRIPTING=ON" + "-DKICAD_SCRIPTING_MODULES=ON" + "-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" + ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake mesa wxGTK zlib libX11 gettext glew glm cairo curl openssl boost doxygen ]; + nativeBuildInputs = [ cmake doxygen pkgconfig ]; + buildInputs = [ + mesa zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs + cairo curl openssl boost + ] ++ optional (oceSupport) opencascade_oce + ++ optional (ngspiceSupport) ngspice + ++ optionals (scriptingSupport) [ swig python wxPython ]; meta = { description = "Free Software EDA Suite, Nightly Development Build"; homepage = http://www.kicad-pcb.org/; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ berce ]; - platforms = with stdenv.lib.platforms; linux; + license = licenses.gpl2; + maintainers = with maintainers; [ berce ]; + platforms = with platforms; linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index abb213b8c041..a4ce52bc6603 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19017,7 +19017,7 @@ with pkgs; boost = boost160; }; - kicad-unstable = callPackage ../applications/science/electronics/kicad/unstable.nix { + kicad-unstable = python.pkgs.callPackage ../applications/science/electronics/kicad/unstable.nix { wxGTK = wxGTK30; boost = boost160; };