Commit 0bd1bacb authored by Anderson Torres's avatar Anderson Torres
Browse files

iw: adopt and refactor

- finalAttrs
- split outputs
- strictDeps
parent ea012b09
Loading
Loading
Loading
Loading
+23 −9
Original line number Diff line number Diff line
{ lib, stdenv, fetchurl, pkg-config, libnl }:
{
  lib,
  fetchurl,
  libnl,
  pkg-config,
  stdenv,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "iw";
  version = "5.19";

  src = fetchurl {
    url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
    sha256 = "sha256-8We76UfdU7uevAwdzvXbatc6wdYITyxvk3bFw2DMTU4=";
    url = "https://www.kernel.org/pub/software/network/iw/iw-${finalAttrs.version}.tar.xz";
    hash = "sha256-8We76UfdU7uevAwdzvXbatc6wdYITyxvk3bFw2DMTU4=";
  };

  nativeBuildInputs = [ pkg-config ];

  buildInputs = [ libnl ];

  outputs = [
    "out"
    "man"
  ];

  makeFlags = [ "PREFIX=${placeholder "out"}" ];

  strictDeps = true;

  meta = {
    homepage = "https://wireless.wiki.kernel.org/en/users/Documentation/iw";
    description = "Tool to use nl80211";
    mainProgram = "iw";
    longDescription = ''
      iw is a new nl80211 based CLI configuration utility for wireless devices.
      It supports all new drivers that have been added to the kernel recently.
      The old tool iwconfig, which uses Wireless Extensions interface, is
      deprecated and it's strongly recommended to switch to iw and nl80211.
    '';
    homepage = "https://wireless.wiki.kernel.org/en/users/Documentation/iw";
    license = lib.licenses.isc;
    maintainers = with lib.maintainers; [ viric primeos ];
    platforms = with lib.platforms; linux;
    mainProgram = "iw";
    maintainers = with lib.maintainers; [ AndersonTorres ];
    platforms = lib.platforms.linux;
  };
}
})