summaryrefslogtreecommitdiff
path: root/c++/.nix/derivation.nix
blob: a47b0235dd109ab0e3a1c5457ae2ff1fc2a1243e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ lib
, stdenv
, pname
, version
}:

stdenv.mkDerivation {
	inherit pname version;

	src = ./..;

	dontConfigure = true;
	buildPhase = ''
		HOME=$(pwd)
		EM_CACHE=$TMPDIR/emscripten_cache
    emcc lights_out.cpp \
      -s WASM=1 \
      -s EXPORTED_FUNCTIONS='["_fake_main"]' \
      -s EXPORTED_RUNTIME_METHODS='["ccall", "cwrap"]' \
      -o lights_out.js
	'';

	# Silence the warnings for now
	checkPhase = ''
	'';

	installPhase = ''
		mkdir -p $out
		cp lights_out.{wasm,js} $out/
	'';
}