From 4c0f9d5733b7efeed4d32cf2a071a3e0da867b66 Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Sun, 12 May 2024 20:02:44 +0800 Subject: [PATCH] dualsensectl: migrate to pkgs/by-name and other enhancements - Format using nixfmt-rfc-style - Switch to finalAttrs pattern - Add passthru.tests.version - Add passthru.updateScript - Add meta.changelog --- .../du/dualsensectl/package.nix} | 37 +++++++++++-------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 21 insertions(+), 18 deletions(-) rename pkgs/{tools/games/dualsensectl/default.nix => by-name/du/dualsensectl/package.nix} (56%) diff --git a/pkgs/tools/games/dualsensectl/default.nix b/pkgs/by-name/du/dualsensectl/package.nix similarity index 56% rename from pkgs/tools/games/dualsensectl/default.nix rename to pkgs/by-name/du/dualsensectl/package.nix index 12b3a8492f62..63eefab713dc 100644 --- a/pkgs/tools/games/dualsensectl/default.nix +++ b/pkgs/by-name/du/dualsensectl/package.nix @@ -1,20 +1,23 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, dbus -, hidapi -, udev +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + dbus, + hidapi, + udev, + testers, + nix-update-script, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "dualsensectl"; version = "0.5"; src = fetchFromGitHub { owner = "nowrep"; repo = "dualsensectl"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-+OSp9M0A0J4nm7ViDXG63yrUZuZxR7gyckwSCdy3qm0="; }; @@ -22,9 +25,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "/usr/" "/" ''; - nativeBuildInputs = [ - pkg-config - ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ dbus @@ -32,11 +33,15 @@ stdenv.mkDerivation rec { udev ]; - makeFlags = [ - "DESTDIR=$(out)" - ]; + makeFlags = [ "DESTDIR=$(out)" ]; + + passthru = { + tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; + updateScript = nix-update-script { }; + }; meta = with lib; { + changelog = "https://github.com/nowrep/dualsensectl/releases/tag/v${finalAttrs.version}"; description = "Linux tool for controlling PS5 DualSense controller"; homepage = "https://github.com/nowrep/dualsensectl"; license = licenses.gpl2Only; @@ -44,4 +49,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ azuwis ]; platforms = platforms.linux; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f133b168a9f..071687546972 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1758,8 +1758,6 @@ with pkgs; donkey = callPackage ../tools/security/donkey { }; - dualsensectl = callPackage ../tools/games/dualsensectl { }; - dwarfs = callPackage ../tools/filesystems/dwarfs { }; dysk = callPackage ../tools/filesystems/dysk { };