nixpkgs/pkgs/applications/science/electronics/kicad/unstable.nix

58 lines
1.8 KiB
Nix

{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib
, libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
, doxygen, pcre, libpthreadstubs, libXdmcp
, oceSupport ? true, opencascade
, ngspiceSupport ? true, libngspice
, scriptingSupport ? true, swig, python, wxPython
}:
assert ngspiceSupport -> libngspice != null;
with lib;
stdenv.mkDerivation rec {
pname = "kicad-unstable";
version = "2018-06-12";
src = fetchFromGitHub {
owner = "KICad";
repo = "kicad-source-mirror";
rev = "bc7bd107d980da147ad515aeae0469ddd55c2368";
sha256 = "11nsx52pd3jr2wbzr11glmcs1a9r7z1mqkqx6yvlm0awbgd8qlv8";
};
postPatch = ''
substituteInPlace CMakeModules/KiCadVersion.cmake \
--replace no-vcs-found ${version}
'';
cmakeFlags =
optionals (oceSupport) [ "-DKICAD_USE_OCE=ON" "-DOCE_DIR=${opencascade}" ]
++ 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 = [ cmake doxygen pkgconfig ];
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 ];
meta = {
description = "Free Software EDA Suite, Nightly Development Build";
homepage = http://www.kicad-pcb.org/;
license = licenses.gpl2;
maintainers = with maintainers; [ berce ];
platforms = with platforms; linux;
broken = true;
};
}