|
|
@@ -0,0 +1,48 @@ |
|
|
|
with import <nixpkgs> {}; |
|
|
|
|
|
|
|
let |
|
|
|
artifactName = "miracle-tv-frontend"; |
|
|
|
version = "0.1.0"; |
|
|
|
src = ./.; |
|
|
|
nodePkg = pkgs.nodejs-14_x; |
|
|
|
yarnPkg = pkgs.yarn.override { nodejs = nodePkg; }; |
|
|
|
vueCliPkg = pkgs.nodePackages."@vue/cli".override { nodejs = nodePkg; }; |
|
|
|
in mkYarnPackage rec { |
|
|
|
name = "miarcle-tv-frontend"; |
|
|
|
inherit version src; |
|
|
|
|
|
|
|
packageJSON = "${src}/package.json"; |
|
|
|
yarnLock = "${src}/yarn.lock"; |
|
|
|
yarnNix = "${src}/yarn.nix"; |
|
|
|
|
|
|
|
shellHook = '' |
|
|
|
export PATH="$PATH:$node_modules/.bin" |
|
|
|
export NODE_PATH=$NODE_PATH:$node_modules |
|
|
|
''; |
|
|
|
|
|
|
|
configurePhase = '' |
|
|
|
export PATH=$PATH:$node_modules/.bin |
|
|
|
export NODE_PATH=$NODE_PATH:$node_modules |
|
|
|
''; |
|
|
|
|
|
|
|
buildPhase = '' |
|
|
|
${yarnPkg}/bin/yarn --offline build |
|
|
|
''; |
|
|
|
|
|
|
|
installPhase = '' |
|
|
|
mkdir -p $out/dist |
|
|
|
cp -R ./dist/* $out/dist/ |
|
|
|
''; |
|
|
|
|
|
|
|
distPhase = '' |
|
|
|
mkdir -p $out/tarballs |
|
|
|
tar -czvf $out/tarballs/${artifactName}.${version}.tar.gz $out/dist/* |
|
|
|
''; |
|
|
|
|
|
|
|
nativeBuildInputs = with pkgs; [ |
|
|
|
nodePkg yarnPkg vueCliPkg |
|
|
|
makeWrapper yarn2nix |
|
|
|
automake autoconf m4 git bash |
|
|
|
libpng libGL gcc |
|
|
|
]; |
|
|
|
} |