Commit 9782af55 authored by Profpatsch's avatar Profpatsch
Browse files

ckdl: init at 1.0

parent 2a5af2a2
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
{ pkgs, lib, cmake, ninja, sphinx, python3Packages, ... }:

pkgs.stdenv.mkDerivation {
  pname = "ckdl";
  version = "1.0";

  src = pkgs.fetchFromGitHub {
    owner = "tjol";
    repo = "ckdl";
    tag = "1.0";
    hash = "sha256-qEfRZzoUQZ8umdWgx+N4msjPBbuwDtkN1kNDfZicRjY=";
  };

  outputs = [ "bin" "dev" "lib" "doc" "out" ];

  nativeBuildInputs = [
    cmake
    ninja
    sphinx
    python3Packages.furo
  ];

  cmakeFlags = [
    (lib.cmakeBool "BUILD_TESTS" true)
  ];

  postPatch = ''
    cd doc
    make singlehtml
    mkdir -p $doc/share/doc
    mv _build/singlehtml $doc/share/doc/ckdl

    cd ..
  '';

  postInstall = ''
    mkdir -p $bin/bin

    # some tools that are important for debugging.
    # idk why they are not copied to bin by cmake, but I’m too tired to figure it out
    install src/utils/ckdl-tokenize $bin/bin
    install src/utils/ckdl-parse-events $bin/bin
    install src/utils/ckdl-cat $bin/bin
    touch $out
  '';


  meta = {
    description = "ckdl is a C (C11) library that implements reading and writing the KDL Document Language.";
    license = lib.licenses.mit;
    platforms = lib.platforms.all;
  };
}