1{ lib, buildDunePackage, fetchFromGitLab
2, ocamlgraph, parmap, re, stdlib-shims
3, base64, extlib, cudf
4, ocaml, ounit
5}:
6
7buildDunePackage rec {
8 pname = "dose3";
9 version = "7.0.0";
10
11 src = fetchFromGitLab {
12 owner = "irill";
13 repo = "dose3";
14 rev = version;
15 sha256 = "sha256-K0fYSAWV48Rers/foDrEIqieyJ0PvpXkuYrFrZGBkkE=";
16 };
17
18 minimalOCamlVersion = "4.07";
19
20 buildInputs = [
21 parmap
22 ];
23
24 propagatedBuildInputs = [
25 base64
26 cudf
27 extlib
28 ocamlgraph
29 re
30 stdlib-shims
31 ];
32
33 checkInputs = [
34 ounit
35 ];
36 doCheck = lib.versionAtLeast ocaml.version "4.08";
37
38 meta = with lib; {
39 description = "Dose library (part of Mancoosi tools)";
40 downloadPage = "https://gitlab.com/irill/dose3/";
41 homepage = "https://www.mancoosi.org/software/";
42 license = licenses.lgpl3Plus;
43 longDescription = ''
44 The dose suite provides libraries for handling package meta-data, and various tools for analyzing package relationships in a large package repository.
45 * dose-builddebcheck checks, given a collection of source package stanzas and a collection of binary package stanzas of Debian packages, whether the build-dependencies of each source package can be satisfied by the binary packages.
46 * dose-distcheck checks for every package of a distribution whether it is possible to satisfy its dependencies and conflicts within this distribution.
47 * ceve, a general metadata parser supporting different input formats (Debian, rpm, and others) and different output formats.
48 * dose-outdated, a Debian-specific tool for finding packages that are not installable with respect to a package repository, and that can only be made installable again by fixing the package itself.
49 * dose-challenged, a Debian-specific tool for checking which packages will certainly become uninstallable when some existing package is upgraded to a newer version.
50 * dose-deb-coinstall, a Debian-specific tool for checking whether a set of packages can be installed all together.
51 '';
52 };
53}