about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2023-11-13 12:36:13 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-11-22 16:09:50 -0300
commit18c71e751b43f0554149e22dcdc2c15abb4fc45e (patch)
tree980801571c414166c9fa141299ded7d9d5bf898e /pkgs/by-name
parent4648a958e3aaffd860ce26b79cbc67c6e4a02a71 (diff)
downloadnixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.tar
nixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.tar.gz
nixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.tar.bz2
nixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.tar.lz
nixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.tar.xz
nixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.tar.zst
nixlib-18c71e751b43f0554149e22dcdc2c15abb4fc45e.zip
apt: adopt and refactor
- finalAttrs design pattern
- split outputs
- remove nested with
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/ap/apt/package.nix98
1 files changed, 98 insertions, 0 deletions
diff --git a/pkgs/by-name/ap/apt/package.nix b/pkgs/by-name/ap/apt/package.nix
new file mode 100644
index 000000000000..05e14338a630
--- /dev/null
+++ b/pkgs/by-name/ap/apt/package.nix
@@ -0,0 +1,98 @@
+{ lib
+, stdenv
+, fetchurl
+, bzip2
+, cmake
+, curl
+, db
+, docbook_xml_dtd_45
+, docbook_xsl
+, doxygen
+, dpkg
+, gettext
+, gnutls
+, gtest
+, libgcrypt
+, libgpg-error
+, libseccomp
+, libtasn1
+, libxslt
+, lz4
+, p11-kit
+, perlPackages
+, pkg-config
+, triehash
+, udev
+, w3m
+, xxHash
+, xz
+, zstd
+, withDocs ? true
+, withNLS ? true
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "apt";
+  version = "2.7.6";
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz";
+    hash = "sha256-hoP1Tv8L9U5R4CWzSL0HdND9Q3eZYW9IUSlWzxXAX2c=";
+  };
+
+  # cycle detection; lib can't be split
+  outputs = [ "out" "dev" "doc" "man" ];
+
+  nativeBuildInputs = [
+    cmake
+    gtest
+    (lib.getBin libxslt)
+    pkg-config
+    triehash
+  ];
+
+  buildInputs = [
+    bzip2
+    curl
+    db
+    dpkg
+    gnutls
+    libgcrypt
+    libgpg-error
+    libseccomp
+    libtasn1
+    lz4
+    p11-kit
+    perlPackages.perl
+    udev
+    xxHash
+    xz
+    zstd
+  ] ++ lib.optionals withDocs [
+    docbook_xml_dtd_45
+    doxygen
+    perlPackages.Po4a
+    w3m
+  ] ++ lib.optionals withNLS [
+    gettext
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeOptionType "filepath" "BERKELEY_INCLUDE_DIRS" "${lib.getDev db}/include")
+    (lib.cmakeOptionType "filepath" "DOCBOOK_XSL""${docbook_xsl}/share/xml/docbook-xsl")
+    (lib.cmakeOptionType "filepath" "GNUTLS_INCLUDE_DIR" "${lib.getDev gnutls}/include")
+    (lib.cmakeFeature "DROOT_GROUP" "root")
+    (lib.cmakeBool "USE_NLS" withNLS)
+    (lib.cmakeBool "WITH_DOC" withDocs)
+  ];
+
+  meta = {
+    homepage = "https://salsa.debian.org/apt-team/apt";
+    description = "Command-line package management tools used on Debian-based systems";
+    changelog = "https://salsa.debian.org/apt-team/apt/-/raw/${finalAttrs.version}/debian/changelog";
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "apt";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.linux;
+  };
+})