Unverified Commit 5f6b24a3 authored by Mutsuha Asada's avatar Mutsuha Asada Committed by GitHub
Browse files

ocamlPackages.dum: 1.0.1 -> 1.0.3 (#414913)

* ocamlPackages.dum: 1.0.1 -> 1.0.3
Changelog: https://github.com/mjambon/dum/releases/tag/1.0.3
Diff: https://github.com/mjambon/dum/compare/v1.0.1...1.0.3

* ocamlPackages.dum: modernized derivation
- Removed with lib;
- Added meta.longDescription
- Changed --replace to --replace-fail
parent ec6edd84
Loading
Loading
Loading
Loading
+20 −25
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  ocaml,
  findlib,
  easy-format,
  buildDunePackage,
  fetchurl,
}:

stdenv.mkDerivation rec {
  pname = "ocaml${ocaml.version}-dum";
  version = "1.0.1";
buildDunePackage rec {
  pname = "dum";
  version = "1.0.3";

  src = fetchFromGitHub {
    owner = "mjambon";
    repo = "dum";
    rev = "v${version}";
    sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr";
  src = fetchurl {
    url = "https://github.com/mjambon/dum/releases/download/${version}/dum-${version}.tbz";
    hash = "sha256-ZFojUD/IoxVTDfGyh2wveFsSz4D19pKkHrNuU+LFJlE=";
  };

  postPatch = ''
    substituteInPlace "dum.ml" \
    --replace "Lazy.lazy_is_val" "Lazy.is_val" \
    --replace "Obj.final_tag" "Obj.custom_tag"
    --replace-fail "Lazy.lazy_is_val" "Lazy.is_val" \
    --replace-fail "Obj.final_tag" "Obj.custom_tag"
  '';

  nativeBuildInputs = [
    ocaml
    findlib
  ];
  propagatedBuildInputs = [ easy-format ];

  strictDeps = true;

  createFindlibDestdir = true;

  meta = with lib; {
  meta = {
    homepage = "https://github.com/mjambon/dum";
    description = "Inspect the runtime representation of arbitrary OCaml values";
    license = licenses.lgpl21Plus;
    maintainers = [ maintainers.alexfmpe ];
    longDescription = ''
      Dum is a library for inspecting the runtime representation of
      arbitrary OCaml values. Shared or cyclic data are detected
      and labelled. This guarantees that printing would always
      terminate. This makes it possible to print values such as closures,
      objects or exceptions in depth and without risk.
    '';
    license = lib.licenses.lgpl21Plus;
    maintainers = with lib.maintainers; [ alexfmpe ];
  };
}