3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
Austin Seipp 00c451ad40
librepcb: touch ups, co-maintain
Fixes a bug where the build system tried to call `git` to embed the
release tag revision into the binary, which isn't allowed. Easily fixed
with `substituteInPlace`.

Also updates the expression to be a little closer to "standard"
expressions (e.g. consistent indentation, importing `stdenv` instead of
`lib` and `mkDerivation`, etc.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2020-11-20 07:36:27 -06:00

48 lines
1.3 KiB
Nix

{ stdenv, lib, fetchFromGitHub
, qtbase, qttools, qmake, wrapQtAppsHook
}:
stdenv.mkDerivation rec {
pname = "librepcb";
version = "0.1.5";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "0ag8h3id2c1k9ds22rfrvyhf2vjhkv82xnrdrz4n1hnlr9566vcx";
fetchSubmodules = true;
};
nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
buildInputs = [ qtbase ];
qmakeFlags = ["-r"];
enableParallelBuilding = true;
postInstall = ''
mkdir -p $out/share/librepcb/fontobene
cp share/librepcb/fontobene/newstroke.bene $out/share/librepcb/fontobene/
'';
# the build system tries to use 'git' at build time to find the HEAD hash.
# that's a no-no, so replace it with a quick hack. NOTE: the # adds a comment
# at the end of the line to remove the git call.
patchPhase = ''
substituteInPlace ./libs/librepcb/common/common.pro \
--replace 'GIT_COMMIT_SHA' 'GIT_COMMIT_SHA="\\\"${src.rev}\\\"" # '
'';
preFixup = ''
wrapQtApp $out/bin/librepcb
'';
meta = with stdenv.lib; {
description = "A free EDA software to develop printed circuit boards";
homepage = "https://librepcb.org/";
maintainers = with maintainers; [ luz thoughtpolice ];
license = licenses.gpl3;
platforms = platforms.linux;
};
}