nixpkgs/pkgs/servers/web-apps/codimd/CodeMirror/default.nix
2018-09-17 15:18:52 +02:00

46 lines
1.2 KiB
Nix

{ stdenv, pkgs, buildEnv, fetchFromGitHub, nodejs-6_x, phantomjs2, which }:
let
nodePackages = import ./node.nix {
inherit pkgs;
system = stdenv.system;
};
phantomjs-prebuilt = nodePackages."phantomjs-prebuilt-^2.1.12".override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ phantomjs2 ];
});
in
stdenv.mkDerivation {
name = "codemirror-hackmdio-05-07-2018";
src = fetchFromGitHub {
owner = "hackmdio";
repo = "CodeMirror";
rev = "df412731ed3923124f9a43f60e84bdf855eb843a";
sha256 = "02v2wccv9sjdda9x45ib8d08i1pc4b8kwg3p6qc314wqq89nhniw";
};
nativeBuildInputs = [ which ];
buildInputs = [ nodejs-6_x phantomjs-prebuilt ] ++ (stdenv.lib.attrVals [
"blint-^1"
"node-static-0.6.0"
"rollup-^0.41.0"
"rollup-plugin-buble-^0.15.0"
"rollup-watch-^3.2.0"
"uglify-js-^2.8.15"
] nodePackages);
buildPhase = ''
patchShebangs .
npm run build
node release
'';
installPhase = ''
mkdir -p $out/lib/node_modules/codemirror
cp -R {codemirror.min.js,addon,bin,keymap,lib,mode,theme} $out/lib/node_modules/codemirror/
ln -s ${nodePackages."url-loader-^0.5.7"}/lib/node_modules/url-loader \
$out/lib/node_modules
'';
}