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