Commit 8c618c74 authored by Sergei Trofimovich's avatar Sergei Trofimovich
Browse files

crda: remove package

According to upstream
https://lore.kernel.org/linux-wireless/455bafff0d609eb182ba30a5fbf319888e0e961d.camel@sipsolutions.net/
`crda` is not needed for kernels `4.16` or later. Such old kernels are
not in `nixpkgs` anymore.
parent 31fc36fc
Loading
Loading
Loading
Loading
+0 −78
Original line number Diff line number Diff line
{ lib, stdenv, fetchurl, fetchpatch, libgcrypt, libnl, pkg-config, python3Packages, wireless-regdb }:

stdenv.mkDerivation rec {
  pname = "crda";
  version = "4.14";

  src = fetchurl {
    url = "https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot/crda-${version}.tar.gz";
    sha256 = "sha256-Wo81u4snR09Gaw511FG6kXQz2KqxiJZ4pk2cTnKouMI=";
  };

  patches = [
    # Fix python 3 build: except ImportError, e: SyntaxError: invalid syntax
    (fetchpatch {
      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/d234fddf451fab0f4fc412e2769f54e11f10d7d8/trunk/crda-4.14-python-3.patch";
      sha256 = "sha256-KEezEKrfizq9k4ZiE2mf3Nl4JiBayhXeVnFl7wYh28Y=";
    })

    (fetchpatch {
      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/d48ec843222b0d74c85bce86fa6f087c7dfdf952/trunk/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch";
      sha256 = "sha256-j93oydi209f22OF8aXZ/NczuUOnlhkdSeYvy2WRRvm0=";
    })
  ];

  strictDeps = true;

  nativeBuildInputs = [
    pkg-config
    python3Packages.m2crypto # only used for a build time script
  ];

  buildInputs = [
    libgcrypt
    libnl
  ];

  postPatch = ''
    patchShebangs utils/
    substituteInPlace Makefile \
      --replace 'gzip' 'gzip -n' \
      --replace ldconfig true \
      --replace pkg-config $PKG_CONFIG
    sed -i crda.c \
      -e "/\/usr\/.*\/regulatory.bin/d" \
      -e "s|/lib/crda|${wireless-regdb}/lib/crda|g"
  '';

  makeFlags = [
    "PREFIX=$(out)"
    "SBINDIR=$(out)/bin/"
    "UDEV_RULE_DIR=$(out)/lib/udev/rules.d/"
    "REG_BIN=${wireless-regdb}/lib/crda/regulatory.bin"
  ];

  buildFlags = [ "all_noverify" ];
  enableParallelBuilding = true;

  doCheck = true;
  checkTarget = "verify";

  meta = with lib; {
    description = "Linux wireless Central Regulatory Domain Agent";
    longDescription = ''
      CRDA acts as the udev helper for communication between the kernel and
      userspace for regulatory compliance. It relies on nl80211 for communication.

      CRDA is intended to be run only through udev communication from the kernel.
      To use it under NixOS, add

        services.udev.packages = [ pkgs.crda ];

      to the system configuration.
    '';
    homepage = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda";
    license = licenses.free; # "copyleft-next 0.3.0", as yet without a web site
    platforms = platforms.linux;
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@ mapAliases ({
  concurrencykit = libck; # Added 2021-03
  connmanPackages = throw "'connmanPackages' was removed and their subpackages/attributes were promoted to top level."; # Added 2023-10-08
  convoy = throw "'convoy' has been removed from nixpkgs, as it was archived upstream"; # Added 2023-12-27
  crda = throw "'crda' has been removed from nixpkgs, as it is needed only for kernels before 4.16"; # Added 2024-02-06
  cups-kyodialog3 = cups-kyodialog; # Added 2022-11-12
  cvs_fast_export = cvs-fast-export; # Added 2021-06-10

+0 −2
Original line number Diff line number Diff line
@@ -27622,8 +27622,6 @@ with pkgs;
  cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
  crda = callPackage ../os-specific/linux/crda { };
  cshatag = callPackage ../os-specific/linux/cshatag { };
  # Darwin package set