6c45ecfdbe
apt: 1.4.6 -> 1.8.4 (#69571) apt: cleanup * add meta.description and point meta.homepage to Debian team * use nix cmakeFlags array * fetch from Debian mirrors * move gtest and xsltproc to nativeBuildInputs apt: produce usable binaries * remove ninja from native build inputs and build with plain cmake * add libtasn1 to dependencies as gnutls needs it
54 lines
1.4 KiB
Nix
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 ];
|
|
};
|
|
}
|