summary refs log tree commit diff
path: root/pkgs/tools/package-management/apt/default.nix
blob: 0438e340b212197213298813cc69dd93493cfe55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{ stdenv, lib, fetchurl, pkgconfig, cmake, perlPackages, curl, gtest
, gnutls, libtasn1, lzma, bzip2, lz4, zstd, libseccomp, udev
, db, dpkg, libxslt, docbook_xsl, docbook_xml_dtd_45

# used when WITH_DOC=ON
, w3m
, doxygen

# used when WITH_NLS=ON
, gettext

# opts
, withDocs ? true
, withNLS ? true
}:

stdenv.mkDerivation rec {
  pname = "apt";
  version = "1.8.4";

  src = fetchurl {
    url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
    sha256 = "0gn4srqaaym85gc8nldqkv01477kdwr136an2nlpbdrsbx3y83zl";
  };

  nativeBuildInputs = [ pkgconfig cmake gtest libxslt.bin ];

  buildInputs = [
    perlPackages.perl curl gnutls libtasn1 lzma bzip2 lz4 zstd libseccomp udev db dpkg
  ] ++ lib.optionals withDocs [
    doxygen perlPackages.Po4a w3m docbook_xml_dtd_45
  ] ++ lib.optionals withNLS [
    gettext
  ];

  cmakeFlags = [
    "-DBERKELEY_DB_INCLUDE_DIRS=${db.dev}/include"
    "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include"
    "-DDOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl"
    "-DROOT_GROUP=root"
    "-DWITH_DOC=${if withDocs then "ON" else "OFF"}"
    "-DUSE_NLS=${if withNLS then "ON" else "OFF"}"
  ];

  enableParallelBuilding = true;

  meta = with lib; {
    description = "Command-line package management tools used on Debian-based systems";
    homepage = https://salsa.debian.org/apt-team/apt;
    license = licenses.gpl2Plus;
    platforms = platforms.linux;
    maintainers = with maintainers; [ cstrahan ];
  };
}