Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, buildDunePackage, fetchFromGitLab
2, camlzip, ocamlgraph, parmap, re, stdlib-shims
3, base64, bz2, extlib, cudf
4, dpkg, git, ocaml, ounit, python39, python39Packages
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.03";
19 useDune2 = true;
20
21 buildInputs = [
22 parmap
23 ];
24
25 propagatedBuildInputs = [
26 base64
27 bz2
28 camlzip
29 cudf
30 extlib
31 ocamlgraph
32 re
33 stdlib-shims
34 ];
35
36 nativeCheckInputs = [
37 python39 # Replaces: conf-python-3
38 python39Packages.pyyaml # Replaces: conf-python3-yaml
39 git
40 ];
41 checkInputs = [
42 dpkg # Replaces: conf-dpkg
43 ounit
44 ];
45 doCheck = false; # Tests are failing.
46 # To enable tests use: lib.versionAtLeast ocaml.version "4.04";
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}