nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 ocamlPackages,
4 fetchFromGitHub,
5 versionCheckHook,
6 nixosTests,
7 nix-update-script,
8}:
9
10ocamlPackages.buildDunePackage rec {
11 pname = "slipshow";
12 version = "0.8.1";
13
14 src = fetchFromGitHub {
15 owner = "panglesd";
16 repo = "slipshow";
17 tag = "v${version}";
18 hash = "sha256-13LoIvmSYGycuJpAqylyVmVnyttuyaQF1Dk/3BgikkE=";
19 };
20
21 postPatch = ''
22 substituteInPlace ./src/cli/main.ml \
23 --replace-fail '%%VERSION%%' '${version}'
24 '';
25
26 nativeBuildInputs = with ocamlPackages; [
27 js_of_ocaml
28 ];
29
30 buildInputs = with ocamlPackages; [
31 base64
32 bos
33 cmdliner
34 dream
35 fmt
36 fpath
37 irmin-watcher
38 js_of_ocaml-lwt
39 logs
40 lwt
41 magic-mime
42 ppx_blob
43 ppx_deriving_yojson
44 ppx_sexp_value
45 sexplib
46 ];
47
48 doCheck = true;
49
50 nativeCheckInputs = [ versionCheckHook ];
51 doInstallCheck = true;
52
53 passthru = {
54 tests = { inherit (nixosTests) slipshow; };
55 updateScript = nix-update-script { };
56 };
57
58 meta = {
59 description = "Engine for displaying slips, the next-gen version of slides";
60 homepage = "https://slipshow.readthedocs.io/en/latest/index.html";
61 license = lib.licenses.gpl3Only;
62 downloadPage = "https://github.com/panglesd/slipshow";
63 maintainers = [ lib.maintainers.ethancedwards8 ];
64 teams = [ lib.teams.ngi ];
65 mainProgram = "slipshow";
66 };
67}