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

Changed files
+20 -25
pkgs
development
ocaml-modules
+20 -25
pkgs/development/ocaml-modules/dum/default.nix
···
{
lib,
-
stdenv,
-
fetchFromGitHub,
-
ocaml,
-
findlib,
easy-format,
}:
-
stdenv.mkDerivation rec {
-
pname = "ocaml${ocaml.version}-dum";
-
version = "1.0.1";
-
src = fetchFromGitHub {
-
owner = "mjambon";
-
repo = "dum";
-
rev = "v${version}";
-
sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr";
};
postPatch = ''
substituteInPlace "dum.ml" \
-
--replace "Lazy.lazy_is_val" "Lazy.is_val" \
-
--replace "Obj.final_tag" "Obj.custom_tag"
'';
-
nativeBuildInputs = [
-
ocaml
-
findlib
-
];
propagatedBuildInputs = [ easy-format ];
-
strictDeps = true;
-
-
createFindlibDestdir = true;
-
-
meta = with lib; {
homepage = "https://github.com/mjambon/dum";
description = "Inspect the runtime representation of arbitrary OCaml values";
-
license = licenses.lgpl21Plus;
-
maintainers = [ maintainers.alexfmpe ];
};
}
···
{
lib,
easy-format,
+
buildDunePackage,
+
fetchurl,
}:
+
buildDunePackage rec {
+
pname = "dum";
+
version = "1.0.3";
+
src = fetchurl {
+
url = "https://github.com/mjambon/dum/releases/download/${version}/dum-${version}.tbz";
+
hash = "sha256-ZFojUD/IoxVTDfGyh2wveFsSz4D19pKkHrNuU+LFJlE=";
};
postPatch = ''
substituteInPlace "dum.ml" \
+
--replace-fail "Lazy.lazy_is_val" "Lazy.is_val" \
+
--replace-fail "Obj.final_tag" "Obj.custom_tag"
'';
propagatedBuildInputs = [ easy-format ];
+
meta = {
homepage = "https://github.com/mjambon/dum";
description = "Inspect the runtime representation of arbitrary OCaml values";
+
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 ];
};
}