build(web): convert to bundlerEnv
This commit is contained in:
parent
1203e87ea2
commit
51e540c3b3
5 changed files with 520 additions and 102 deletions
|
@ -1,9 +1,7 @@
|
|||
{ lib
|
||||
, stdenvNoCC
|
||||
, ruby
|
||||
, bundler
|
||||
, libffi
|
||||
, gcc
|
||||
, bundlerEnv
|
||||
, writeShellScriptBin
|
||||
, fetchFromGitHub }: let
|
||||
name = "website";
|
||||
|
@ -17,58 +15,21 @@
|
|||
hash = "sha256-Uxe7PMNwzKUN2b77QbjWLxEtOOLodPOyeMuUM1eKdlc=";
|
||||
};
|
||||
|
||||
vendor = stdenvNoCC.mkDerivation {
|
||||
pname = "${name}-vendor";
|
||||
inherit version;
|
||||
src = ./.;
|
||||
|
||||
nativeBuildInputs = [ bundler ];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
bundle config set --local path "$out"
|
||||
bundler package --no-install
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp Gemfile* $out
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-TEpo7m4a257kAFxCCx51PRZBRF4Fk6ItX+6t4GEp6Zs=";
|
||||
};
|
||||
|
||||
deps = stdenvNoCC.mkDerivation {
|
||||
pname = "${name}-deps";
|
||||
inherit version;
|
||||
src = vendor;
|
||||
|
||||
buildInputs = [ ruby libffi gcc ];
|
||||
|
||||
nativeBuildInputs = [ bundler ];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
bundle config set --local path "$out"
|
||||
mkdir -p "vendor"
|
||||
mv ruby/*/cache "vendor/"
|
||||
bundle install --local
|
||||
'';
|
||||
gems = bundlerEnv {
|
||||
name = "${name}-gems";
|
||||
inherit ruby;
|
||||
gemfile = ./Gemfile;
|
||||
lockfile = ./Gemfile.lock;
|
||||
gemset = ./gemset.nix;
|
||||
};
|
||||
in stdenvNoCC.mkDerivation {
|
||||
pname = name;
|
||||
inherit version;
|
||||
src = ./.;
|
||||
|
||||
buildInputs = [ ruby libffi gcc ];
|
||||
|
||||
nativeBuildInputs = [ (writeShellScriptBin "git" "true") bundler ];
|
||||
buildInputs = [ gems ruby ];
|
||||
nativeBuildInputs = [ (writeShellScriptBin "git" "true") ];
|
||||
|
||||
configurePhase = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
bundle config set --local path "${deps}"
|
||||
|
||||
cp -r ${assets}/. assets/lib/
|
||||
'';
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue