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>
This commit is contained in:
parent
af6dbe82b4
commit
00c451ad40
|
@ -1,39 +1,47 @@
|
||||||
{ lib, mkDerivation, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }:
|
{ stdenv, lib, fetchFromGitHub
|
||||||
|
, qtbase, qttools, qmake, wrapQtAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "librepcb";
|
pname = "librepcb";
|
||||||
version = "0.1.5";
|
version = "0.1.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LibrePCB";
|
owner = pname;
|
||||||
repo = "LibrePCB";
|
repo = pname;
|
||||||
fetchSubmodules = true;
|
rev = version;
|
||||||
rev = version;
|
|
||||||
sha256 = "0ag8h3id2c1k9ds22rfrvyhf2vjhkv82xnrdrz4n1hnlr9566vcx";
|
sha256 = "0ag8h3id2c1k9ds22rfrvyhf2vjhkv82xnrdrz4n1hnlr9566vcx";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
|
nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
|
||||||
|
|
||||||
buildInputs = [ qtbase ];
|
buildInputs = [ qtbase ];
|
||||||
|
|
||||||
qmakeFlags = ["-r"];
|
qmakeFlags = ["-r"];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share/librepcb/fontobene
|
mkdir -p $out/share/librepcb/fontobene
|
||||||
cp share/librepcb/fontobene/newstroke.bene $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 = ''
|
preFixup = ''
|
||||||
wrapQtApp $out/bin/librepcb
|
wrapQtApp $out/bin/librepcb
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A free EDA software to develop printed circuit boards";
|
description = "A free EDA software to develop printed circuit boards";
|
||||||
homepage = "https://librepcb.org/";
|
homepage = "https://librepcb.org/";
|
||||||
maintainers = with maintainers; [ luz ];
|
maintainers = with maintainers; [ luz thoughtpolice ];
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue