nixpkgs/pkgs/tools/package-management/apt/default.nix
2020-04-10 17:54:53 +01:00

54 lines
1.4 KiB
Nix

{ 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 ];
};
}