nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, pkgs, buildEnv, fetchFromGitHub, nodejs-8_x, phantomjs2, which }:
2
3let
4 nodePackages = import ./node.nix {
5 inherit pkgs;
6 system = stdenv.system;
7 };
8
9 phantomjs-prebuilt = nodePackages."phantomjs-prebuilt-^2.1.12".override (oldAttrs: {
10 buildInputs = oldAttrs.buildInputs ++ [ phantomjs2 ];
11 });
12in
13
14stdenv.mkDerivation {
15 name = "codemirror-hackmdio-05-07-2018";
16
17 src = fetchFromGitHub {
18 owner = "hackmdio";
19 repo = "CodeMirror";
20 rev = "df412731ed3923124f9a43f60e84bdf855eb843a";
21 sha256 = "02v2wccv9sjdda9x45ib8d08i1pc4b8kwg3p6qc314wqq89nhniw";
22 };
23
24 nativeBuildInputs = [ which ];
25 buildInputs = [ nodejs-8_x phantomjs-prebuilt ] ++ (stdenv.lib.attrVals [
26 "blint-^1"
27 "node-static-0.6.0"
28 "rollup-^0.41.0"
29 "rollup-plugin-buble-^0.15.0"
30 "rollup-watch-^3.2.0"
31 "uglify-js-^2.8.15"
32 ] nodePackages);
33
34 buildPhase = ''
35 patchShebangs .
36 npm run build
37 node release
38 '';
39
40 installPhase = ''
41 mkdir -p $out/lib/node_modules/codemirror
42 cp -R {codemirror.min.js,addon,bin,keymap,lib,mode,theme} $out/lib/node_modules/codemirror/
43 ln -s ${nodePackages."url-loader-^0.5.7"}/lib/node_modules/url-loader \
44 $out/lib/node_modules
45 '';
46}