74 lines
1.6 KiB
Nix
74 lines
1.6 KiB
Nix
{ stdenv, lib, fetchFromGitHub, nodejs, phantomjs2, pkgs }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
|
|
# highlight.js is a git submodule of remark
|
|
highlightjs = fetchFromGitHub {
|
|
owner = "isagalaev";
|
|
repo = "highlight.js";
|
|
rev = "10b9500b67983f0a9c42d8ce8bf8e8c469f7078c";
|
|
sha256 = "1yy8by15kfklw8lwh17z1swpj067q0skjjih12yawbryraig41m0";
|
|
};
|
|
|
|
nodePackages = import ./nodepkgs.nix {
|
|
inherit pkgs;
|
|
inherit (stdenv.hostPlatform) system;
|
|
};
|
|
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "remarkjs";
|
|
|
|
version = "0.7.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "gnab";
|
|
repo = "remark";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-zhHuW4pBqXQEBlSxuyvHKh+ftyIdcqpYgIZZHArUtns=";
|
|
};
|
|
|
|
buildInputs = [ nodejs phantomjs2 ] ++ (with nodePackages; [
|
|
marked
|
|
browserify
|
|
uglify-js
|
|
less
|
|
mocha
|
|
#mocha-phantomjs
|
|
should
|
|
sinon
|
|
jshint
|
|
shelljs
|
|
]);
|
|
|
|
configurePhase = ''
|
|
mkdir -p node_modules/.bin
|
|
${concatStrings (map (dep: ''
|
|
test -d ${dep}/bin && (for b in $(ls ${dep}/bin); do
|
|
ln -sv -t node_modules/.bin ${dep}/bin/$b
|
|
done)
|
|
'') buildInputs)}
|
|
'';
|
|
|
|
buildPhase = ''
|
|
substituteInPlace make.js --replace "target.test();" ""
|
|
substituteInPlace make.js --replace vendor/highlight.js ${highlightjs}
|
|
node make all
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/lib
|
|
cp -v out/* $out/lib/
|
|
'';
|
|
|
|
meta = {
|
|
homepage = "https://remarkjs.com";
|
|
description = "A simple, in-browser, markdown-driven slideshow tool";
|
|
maintainers = [ ];
|
|
platforms = lib.platforms.linux;
|
|
license = lib.licenses.mit;
|
|
broken = true;
|
|
};
|
|
}
|