From 4ad953cc964b3c6846ae896410479710a4eabf09 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Thu, 7 Nov 2024 23:24:50 +0100 Subject: [PATCH] Return to zip --- tongfang/nixos/hardware-configuration.nix | 2 +- tongfang/nixos/yt6801/default.nix | 33 ++++++++++++----------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/tongfang/nixos/hardware-configuration.nix b/tongfang/nixos/hardware-configuration.nix index e84723d..7179604 100644 --- a/tongfang/nixos/hardware-configuration.nix +++ b/tongfang/nixos/hardware-configuration.nix @@ -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 diff --git a/tongfang/nixos/yt6801/default.nix b/tongfang/nixos/yt6801/default.nix index aaad340..718af5d 100644 --- a/tongfang/nixos/yt6801/default.nix +++ b/tongfang/nixos/yt6801/default.nix @@ -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 ]; };