Return to zip

This commit is contained in:
Bart van der Braak 2024-11-07 23:24:50 +01:00
parent bf56c33048
commit 4ad953cc96
2 changed files with 18 additions and 17 deletions

View file

@ -5,7 +5,7 @@
let
yt6801 = import ./yt6801/default.nix {
inherit (pkgs) lib stdenv fetchFromGitHub nukeReferences bc;
inherit (pkgs) stdenv lib fetchzip bc;
kernel = pkgs.linuxPackages.kernel;
};
in

View file

@ -1,42 +1,43 @@
{ lib, stdenv, fetchFromGitHub, nukeReferences, bc, kernel }:
{ kernel, stdenv, lib, fetchzip, bc }:
stdenv.mkDerivation rec {
pname = "yt6801";
version = "1.0.29";
name = "${pname}-${version}-${kernel.version}";
src = fetchFromGitHub {
owner = "bartvdbraak";
repo = pname;
rev = version;
sha256 = "sha256-VEBwcbJcLffIIAP+NIhjiuMkfR+PKybBDnIbxY6zBMA=";
src = fetchzip {
url = "https://www.motor-comm.com/Public/Uploads/uploadfile/files/20240812/yt6801-linux-driver-1.0.29.zip";
sha256 = "sha256-oz6CeOUN6QWKXxe3WUZljhGDTFArsknjzBuQ4IchGeU=";
};
patchPhase = ''
substituteInPlace ./src/Makefile \
--replace-fail 'KSRC_BASE = /lib/modules/$(shell uname -r)' "KSRC_BASE = ${KERNELDIR}"
'';
hardeningDisable = [ "pic" "format" ];
KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}";
nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
preBuild = "cd src";
configurePhase = "true";
buildFlags = [ "modules" ];
makeFlags = [
"ARCH=${stdenv.hostPlatform.linuxArch}"
"KSRC_BASE=${KERNELDIR}"
"KSRC=${KERNELDIR}/build"
"KDST=kernel/drivers/net/ethernet/motorcomm"
"INSTALL_MOD_PATH=${placeholder "out"}"
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
];
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
installPhase = ''
mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/ethernet/motorcomm
find . -name "*.ko" -exec cp {} $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/ethernet/motorcomm/ \;
'';
enableParallelBuilding = true;
meta = with lib; {
description = "Motorcomm yt6801 Network Interface Card (NIC) driver";
description = "Motorcomm yt6801 Network Interface Card driver";
homepage = "https://www.motor-comm.com/product/ethernet-control-chip";
license = licenses.gpl2Only;
license = with licenses; [ gpl2Plus gpl2Only ];
platforms = platforms.linux;
maintainers = with maintainers; [ bartvdbraak ];
};