about summary refs log tree commit diff
path: root/pkgs
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
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')
-rw-r--r--pkgs/by-name/ap/apt/package.nix98
-rw-r--r--pkgs/tools/package-management/apt/default.nix87
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 98 insertions, 89 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;
+  };
+})
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
deleted file mode 100644
index 6991a5a3cd64..000000000000
--- a/pkgs/tools/package-management/apt/default.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, bzip2
-, cmake
-, curl
-, db
-, docbook_xml_dtd_45
-, docbook_xsl
-, dpkg
-, gnutls
-, gtest
-, libgcrypt
-, libseccomp
-, libtasn1
-, libxslt
-, lz4
-, perlPackages
-, pkg-config
-, triehash
-, udev
-, xxHash
-, xz
-, zstd
-, withDocs ? true , w3m, doxygen
-, withNLS ? true , gettext
-}:
-
-stdenv.mkDerivation rec {
-  pname = "apt";
-  version = "2.7.6";
-
-  src = fetchurl {
-    url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
-    hash = "sha256-hoP1Tv8L9U5R4CWzSL0HdND9Q3eZYW9IUSlWzxXAX2c=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    gtest
-    libxslt.bin
-    pkg-config
-    triehash
-  ];
-
-  buildInputs = [
-    bzip2
-    curl
-    db
-    dpkg
-    gnutls
-    libgcrypt
-    libseccomp
-    libtasn1
-    lz4
-    perlPackages.perl
-    udev
-    xxHash
-    xz
-    zstd
-  ] ++ lib.optionals withDocs [
-    docbook_xml_dtd_45
-    doxygen
-    perlPackages.Po4a
-    w3m
-  ] ++ lib.optionals withNLS [
-    gettext
-  ];
-
-  cmakeFlags = [
-    "-DBERKELEY_INCLUDE_DIRS=${db.dev}/include"
-    "-DDOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl"
-    "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include"
-    "-DROOT_GROUP=root"
-    "-DUSE_NLS=${if withNLS then "ON" else "OFF"}"
-    "-DWITH_DOC=${if withDocs then "ON" else "OFF"}"
-  ];
-
-  meta = with lib; {
-    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/${version}/debian/changelog";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ab7bbc90a709..8f532949f71d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -40291,8 +40291,6 @@ with pkgs;
 
   eiciel = callPackage ../tools/filesystems/eiciel { };
 
-  apt = callPackage ../tools/package-management/apt { };
-
   apx = callPackage ../tools/package-management/apx { };
 
   dpkg = callPackage ../tools/package-management/dpkg { };