diff --git a/pkgs/by-name/dd/ddccontrol/package.nix b/pkgs/by-name/dd/ddccontrol/package.nix index 57b148c4ce92..d5d162eb21b7 100644 --- a/pkgs/by-name/dd/ddccontrol/package.nix +++ b/pkgs/by-name/dd/ddccontrol/package.nix @@ -2,36 +2,51 @@ lib, stdenv, fetchFromGitHub, + + # nativeBuildInputs autoreconfHook, intltool, + pkg-config, + rustPlatform, + cargo, + rustc, + + # buildInputs libxml2, pciutils, - pkg-config, - gtk2, + gtk3, ddccontrol-db, }: stdenv.mkDerivation (finalAttrs: { pname = "ddccontrol"; - version = "1.0.3"; + version = "3.2.0"; src = fetchFromGitHub { owner = "ddccontrol"; repo = "ddccontrol"; tag = finalAttrs.version; - sha256 = "sha256-qyD6i44yH3EufIW+LA/LBMW20Tejb49zvsDfv6YFD6c="; + sha256 = "sha256-8VqnmWLXt6rXapAqvzvtDQ9XjQ7H6s7pLqPhQ6Zflc4="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-UN308Tt9LCRLBSswem06UupjdIFntt6SqpTxteY5O78="; }; nativeBuildInputs = [ autoreconfHook intltool pkg-config + rustPlatform.cargoSetupHook + cargo + rustc ]; buildInputs = [ libxml2 pciutils - gtk2 + gtk3 ddccontrol-db ]; @@ -40,13 +55,14 @@ stdenv.mkDerivation (finalAttrs: { ]; prePatch = '' - substituteInPlace configure.ac \ - --replace \ - "\$""{datadir}/ddccontrol-db" \ + substituteInPlace configure.ac \ + --replace-fail \ + "\$""{datadir}/ddccontrol-db" \ "${ddccontrol-db}/share/ddccontrol-db" - - substituteInPlace src/ddcpci/Makefile.am \ - --replace "chmod 4711" "chmod 0711" + substituteInPlace src/lib/Makefile.am \ + --replace-fail \ + 'DDCONTROL_DATADIR="$(datadir)/ddccontrol-db"' \ + 'DDCONTROL_DATADIR="${ddccontrol-db}/share/ddccontrol-db"' ''; preConfigure = '' @@ -56,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Program used to control monitor parameters by software"; homepage = "https://github.com/ddccontrol/ddccontrol"; + mainProgram = "ddccontrol"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [