Merge pull request #119126 from fabaff/pycomfoconnect
[NixPkgs.git] / pkgs / development / web / remarkjs / default.nix
blobe3dea600b4376f2cf94037c71c2685849ce39602
1 { stdenv, lib, fetchgit, fetchurl, nodejs, phantomjs2, pkgs }:
3 with lib;
5 let
7   # highlight.js is a git submodule of remark
8   highlightjs = fetchgit {
9     url = "https://github.com/isagalaev/highlight.js";
10     rev = "10b9500b67983f0a9c42d8ce8bf8e8c469f7078c";
11     sha256 = "1yy8by15kfklw8lwh17z1swpj067q0skjjih12yawbryraig41m0";
12   };
14   nodePackages = import ./nodepkgs.nix {
15     inherit pkgs;
16     inherit (stdenv.hostPlatform) system;
17   };
19 in stdenv.mkDerivation rec {
20   pname = "remarkjs";
22   version = "0.7.0";
24   src = fetchurl {
25     url = "https://github.com/gnab/remark/archive/v${version}.tar.gz";
26     sha256 = "1a2il6aa0g9cnig56ykmq8lr626pbxlsllk6js41h6gcn214rw60";
27   };
29   buildInputs = [ nodejs phantomjs2 ] ++ (with nodePackages; [
30     marked
31     browserify
32     uglify-js
33     less
34     mocha
35     #mocha-phantomjs
36     should
37     sinon
38     jshint
39     shelljs
40   ]);
42   configurePhase = ''
43     mkdir -p node_modules/.bin
44     ${concatStrings (map (dep: ''
45       test -d ${dep}/bin && (for b in $(ls ${dep}/bin); do
46         ln -sv -t node_modules/.bin ${dep}/bin/$b
47       done)
48     '') buildInputs)}
49   '';
51   buildPhase = ''
52     substituteInPlace make.js --replace "target.test();" ""
53     substituteInPlace make.js --replace vendor/highlight.js ${highlightjs}
54     node make all
55   '';
57   installPhase = ''
58     mkdir -p $out/lib
59     cp -v out/* $out/lib/
60   '';
62   meta = {
63     homepage = "https://remarkjs.com";
64     description = "A simple, in-browser, markdown-driven slideshow tool";
65     maintainers = [];
66     platforms = lib.platforms.linux;
67     license = lib.licenses.mit;
68     broken = true;
69   };