Include xP and xS in the xK derivation
This commit is contained in:
parent
8372c2a680
commit
3c5b114c56
|
@ -10,6 +10,8 @@ pkgs.stdenv.mkDerivation rec {
|
||||||
cmake
|
cmake
|
||||||
pkg-config
|
pkg-config
|
||||||
perl
|
perl
|
||||||
|
] ++ lib.optionals full [
|
||||||
|
makeWrapper
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
|
@ -24,8 +26,6 @@ pkgs.stdenv.mkDerivation rec {
|
||||||
libedit
|
libedit
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: Try to integrate xP in the build.
|
|
||||||
# That might need a separate package. See https://nixos.wiki/wiki/Go.
|
|
||||||
src = if local then
|
src = if local then
|
||||||
builtins.path {
|
builtins.path {
|
||||||
path = ../${pname}/git;
|
path = ../${pname}/git;
|
||||||
|
@ -45,10 +45,60 @@ pkgs.stdenv.mkDerivation rec {
|
||||||
"-DWANT_LIBEDIT=ON"
|
"-DWANT_LIBEDIT=ON"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
xP = pkgs.buildGoModule rec {
|
||||||
|
pname = "xP";
|
||||||
|
inherit version src doCheck meta;
|
||||||
|
|
||||||
|
modRoot = "./${pname}/";
|
||||||
|
# vendorHash = pkgs.lib.fakeHash;
|
||||||
|
vendorHash = "sha256-TK3rivjzYZwG8bfia22iQO5ZKnBzeIidsHNl6jnQUio=";
|
||||||
|
|
||||||
|
mithril = pkgs.fetchurl {
|
||||||
|
url = "https://unpkg.com/mithril@2.2.3/mithril.js";
|
||||||
|
sha256 = "sha256-136Ow56fShnPfIrUvyjg4oR7tHXyGUkdzThYm+940AY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# This invokes a premature build that may miss compiler flags.
|
||||||
|
preBuild = ''
|
||||||
|
cp ${mithril} public/mithril.js
|
||||||
|
make
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/lib/xP $out/share/xP
|
||||||
|
mv $GOPATH/bin/xP $out/lib/xP/
|
||||||
|
cp -r public/ $out/share/xP/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
xS = pkgs.buildGoModule rec {
|
||||||
|
pname = "xS";
|
||||||
|
inherit version src doCheck meta;
|
||||||
|
|
||||||
|
modRoot = "./${pname}/";
|
||||||
|
vendorHash = null;
|
||||||
|
|
||||||
|
# This invokes a premature build that may miss compiler flags.
|
||||||
|
preBuild = ''
|
||||||
|
make
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# While we can't include them in this derivation, we can link to them.
|
||||||
|
postInstall = pkgs.lib.optionals full ''
|
||||||
|
makeWrapper ${xP}/lib/xP/xP $out/bin/xP --chdir ${xP}/share/xP/public
|
||||||
|
makeWrapper ${xS}/bin/xS $out/bin/xS
|
||||||
|
'';
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
meta = with pkgs.lib; {
|
meta = with pkgs.lib; {
|
||||||
description = "IRC daemon, bot, TUI client";
|
description = "IRC daemon, bot, TUI client"
|
||||||
|
+ optionals full " and its web frontend";
|
||||||
homepage = "https://git.janouch.name/p/${pname}";
|
homepage = "https://git.janouch.name/p/${pname}";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
license = licenses.bsd0;
|
license = licenses.bsd0;
|
||||||
|
|
Loading…
Reference in New Issue