nixpkgs/pkgs/applications/science/electronics/kicad/unstable.nix
Ben Gamari a62fffd9a5 ngspice: Move shared library to a new derivation
It turns out that the build system does not support building both the
command-line tool and the shared library at the same time. Consequently
the ngspice derivation has not provided the command-line tools since the
shared library was enabled in #31166.
2018-03-25 19:55:40 -04:00

56 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_oce
, ngspiceSupport ? true, libngspice
, scriptingSupport ? true, swig, python, wxPython
}:
assert ngspiceSupport -> libngspice != null;
with lib;
stdenv.mkDerivation rec {
name = "kicad-unstable-${version}";
version = "2018-03-10";
src = fetchFromGitHub {
owner = "KICad";
repo = "kicad-source-mirror";
rev = "17c0917dac12ea0be50ff95cee374a0cd8b7f862";
sha256 = "1yn5hj5hjnpb5fkzzlyawg62a96fbfvha49395s22dcp95riqvf0";
};
postPatch = ''
substituteInPlace CMakeModules/KiCadVersion.cmake \
--replace no-vcs-found ${version}
'';
cmakeFlags =
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 = [ cmake doxygen pkgconfig ];
buildInputs = [
libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
cairo curl openssl boost
] ++ optional (oceSupport) opencascade_oce
++ 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;
};
}