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

71 lines
1.9 KiB
Nix
Raw Normal View History

2016-03-31 02:26:54 +00:00
{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext, glew, cairo, openssl, boost, pkgconfig, doxygen }:
stdenv.mkDerivation rec {
2016-03-31 02:26:54 +00:00
name = "kicad-${series}";
series = "4.0";
version = "4.0.2";
2016-03-31 02:26:54 +00:00
srcs = [
(fetchurl {
url = "https://code.launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
sha256 = "1fcf91fmxj6ha3mm6gzdb0px50j58m80p8wrncm8ca9shj36kbif";
})
2016-03-31 02:26:54 +00:00
(fetchurl {
url = "http://downloads.kicad-pcb.org/libraries/kicad-library-${version}.tar.gz";
sha256 = "1xk9sxxb3d42chdysqmvizrjcbm0467q7nsq5cahq3j1hci49m6l";
})
(fetchurl {
url = "http://downloads.kicad-pcb.org/libraries/kicad-footprints-${version}.tar.gz";
sha256 = "0vrzykgxx423iwgz6186bi8724kmbi5wfl92gfwb3r6mqammgwpg";
})
];
2016-03-31 02:26:54 +00:00
sourceRoot = "kicad-${version}";
cmakeFlags = ''
-DKICAD_SKIP_BOOST=ON
-DKICAD_BUILD_VERSION=${version}
-DKICAD_REPO_NAME=stable
'';
2016-03-31 02:26:54 +00:00
enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory
buildInputs = [ cmake mesa wxGTK zlib libX11 gettext glew cairo openssl boost pkgconfig doxygen ];
# They say they only support installs to /usr or /usr/local,
# so we have to handle this.
patchPhase = ''
sed -i -e 's,/usr/local/kicad,'$out,g common/gestfich.cpp
'';
2016-03-31 02:26:54 +00:00
postUnpack = ''
pushd $(pwd)
'';
postInstall = ''
2016-03-31 02:26:54 +00:00
popd
pushd kicad-library-*
cmake -DCMAKE_INSTALL_PREFIX=$out
make $MAKE_FLAGS
make install
2016-03-31 02:26:54 +00:00
popd
2016-03-31 02:26:54 +00:00
pushd kicad-footprints-*
mkdir -p $out/share/kicad/modules
cp -R *.pretty $out/share/kicad/modules/
popd
'';
2016-03-31 02:26:54 +00:00
meta = {
description = "Free Software EDA Suite";
2012-10-28 16:27:30 +00:00
homepage = "http://www.kicad-pcb.org/";
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}