nix: build rust program
This commit is contained in:
parent
b4140e95d3
commit
d8aea8424b
|
@ -8,13 +8,13 @@ let
|
||||||
dockerImage = pkg:
|
dockerImage = pkg:
|
||||||
pkgs.dockerTools.buildLayeredImage {
|
pkgs.dockerTools.buildLayeredImage {
|
||||||
name = "xena/christinewebsite";
|
name = "xena/christinewebsite";
|
||||||
tag = pkg.version;
|
tag = "latest";
|
||||||
|
|
||||||
contents = [ pkg pkgs.cacert ];
|
contents = [ pkgs.cacert ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
Cmd = [ "/bin/site" ];
|
Cmd = [ "${pkg}/bin/xesite" ];
|
||||||
WorkingDir = "/";
|
WorkingDir = "${pkg}/";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
38
site.nix
38
site.nix
|
@ -1,28 +1,36 @@
|
||||||
{ pkgs ? import (import ./nix/sources.nix).nixpkgs { } }:
|
{ sources ? import ./nix/sources.nix, pkgs ? import sources.nixpkgs { } }:
|
||||||
with pkgs;
|
with pkgs;
|
||||||
|
|
||||||
assert lib.versionAtLeast go.version "1.13";
|
let
|
||||||
|
srcNoTarget = dir:
|
||||||
|
builtins.filterSource
|
||||||
|
(path: type: type != "directory" || builtins.baseNameOf path != "target")
|
||||||
|
dir;
|
||||||
|
naersk = pkgs.callPackage sources.naersk { };
|
||||||
|
gruvbox-css = pkgs.callPackage sources.gruvbox-css { };
|
||||||
|
src = srcNoTarget ./.;
|
||||||
|
xesite = naersk.buildPackage {
|
||||||
|
inherit src;
|
||||||
|
buildInputs = [ pkg-config openssl ];
|
||||||
|
remapPathPrefix = true;
|
||||||
|
};
|
||||||
|
|
||||||
buildGoPackage rec {
|
in pkgs.stdenv.mkDerivation {
|
||||||
name = "christinewebsite-HEAD";
|
inherit (xesite) name;
|
||||||
version = "latest";
|
inherit src;
|
||||||
goPackagePath = "christine.website";
|
phases = "installPhase";
|
||||||
src = ./.;
|
|
||||||
goDeps = ./nix/deps.nix;
|
|
||||||
allowGoReference = false;
|
|
||||||
|
|
||||||
preBuild = ''
|
installPhase = ''
|
||||||
export CGO_ENABLED=0
|
mkdir -p $out $out/blog $out/css $out/gallery $out/static $out/talks $out/bin
|
||||||
buildFlagsArray+=(-pkgdir "$TMPDIR")
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
cp -rf $src/config.dhall $out/config.dhall
|
||||||
cp -rf $src/blog $out/blog
|
cp -rf $src/blog $out/blog
|
||||||
cp -rf $src/css $out/css
|
cp -rf $src/css $out/css
|
||||||
cp -rf $src/gallery $out/gallery
|
cp -rf $src/gallery $out/gallery
|
||||||
cp -rf $src/signalboost.dhall $out/signalboost.dhall
|
cp -rf $src/signalboost.dhall $out/signalboost.dhall
|
||||||
cp -rf $src/static $out/static
|
cp -rf $src/static $out/static
|
||||||
cp -rf $src/talks $out/talks
|
cp -rf $src/talks $out/talks
|
||||||
cp -rf $src/templates $out/templates
|
|
||||||
|
cp -rf ${xesite}/bin/xesite $out/bin/xesite
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue