From 9d42c2df73b612110fda755566107b6e71fdaaa0 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Nov 2024 14:56:43 +0100 Subject: [PATCH 1/5] i3: 4.23 -> 4.24 https://i3wm.org/downloads/RELEASE-NOTES-4.24.txt --- pkgs/applications/window-managers/i3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index acb05f4ac771..26a46ab4cfef 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "i3"; - version = "4.23"; + version = "4.24"; src = fetchurl { url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz"; - sha256 = "sha256-YQJqcZbJE50POq3ScZfosyDFduOkUOAddMGspIQETEY="; + hash = "sha256-W679Dl548br7eshd7qQrzTy/5l8SeaqW9+SWYWN6yYE="; }; nativeBuildInputs = [ From a267891f09ffaddc245fa983faaabc9269d870d1 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Nov 2024 14:58:02 +0100 Subject: [PATCH 2/5] i3: reformat with nixfmt-rfc-style --- .../window-managers/i3/default.nix | 108 ++++++++++++++---- 1 file changed, 86 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 26a46ab4cfef..4e32b76380c4 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -1,9 +1,38 @@ -{ fetchurl, lib, stdenv, pkg-config, makeWrapper, meson, ninja, installShellFiles, libxcb, xcbutilkeysyms -, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre2, libev -, yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon -, xorgserver, xvfb-run, xdotool, xorg, which -, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs -, nixosTests +{ + fetchurl, + lib, + stdenv, + pkg-config, + makeWrapper, + meson, + ninja, + installShellFiles, + libxcb, + xcbutilkeysyms, + xcbutil, + xcbutilwm, + xcbutilxrm, + libstartup_notification, + libX11, + pcre2, + libev, + yajl, + xcb-util-cursor, + perl, + pango, + perlPackages, + libxkbcommon, + xorgserver, + xvfb-run, + xdotool, + xorg, + which, + asciidoc, + xmlto, + docbook_xml_dtd_45, + docbook_xsl, + findXMLCatalogs, + nixosTests, }: stdenv.mkDerivation rec { @@ -16,8 +45,17 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkg-config makeWrapper meson ninja installShellFiles perl - asciidoc xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs + pkg-config + makeWrapper + meson + ninja + installShellFiles + perl + asciidoc + xmlto + docbook_xml_dtd_45 + docbook_xsl + findXMLCatalogs ]; mesonFlags = [ @@ -25,14 +63,36 @@ stdenv.mkDerivation rec { "-Dmans=true" ]; - buildInputs = [ - libxcb xcbutilkeysyms xcbutil xcbutilwm xcbutilxrm libxkbcommon - libstartup_notification libX11 pcre2 libev yajl xcb-util-cursor perl pango - perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun - perlPackages.ExtUtilsPkgConfig perlPackages.InlineC - ] ++ lib.optionals doCheck [ - xorgserver xvfb-run xdotool xorg.setxkbmap xorg.xrandr which - ]; + buildInputs = + [ + libxcb + xcbutilkeysyms + xcbutil + xcbutilwm + xcbutilxrm + libxkbcommon + libstartup_notification + libX11 + pcre2 + libev + yajl + xcb-util-cursor + perl + pango + perlPackages.AnyEventI3 + perlPackages.X11XCB + perlPackages.IPCRun + perlPackages.ExtUtilsPkgConfig + perlPackages.InlineC + ] + ++ lib.optionals doCheck [ + xorgserver + xvfb-run + xdotool + xorg.setxkbmap + xorg.xrandr + which + ]; configureFlags = [ "--disable-builddir" ]; @@ -79,16 +139,20 @@ stdenv.mkDerivation rec { separateDebugInfo = true; - passthru.tests = { inherit (nixosTests) i3wm; }; - + passthru.tests = { + inherit (nixosTests) i3wm; + }; meta = with lib; { description = "Tiling window manager"; - homepage = "https://i3wm.org"; - maintainers = with maintainers; [ modulistic fpletz ]; + homepage = "https://i3wm.org"; + maintainers = with maintainers; [ + modulistic + fpletz + ]; mainProgram = "i3"; - license = licenses.bsd3; - platforms = platforms.all; + license = licenses.bsd3; + platforms = platforms.all; longDescription = '' A tiling window manager primarily targeted at advanced users and From e51816b27e8d8aa855f5bd9e1119d6416660aa1c Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Nov 2024 15:53:22 +0100 Subject: [PATCH 3/5] i3: modernize --- .../window-managers/i3/default.nix | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 4e32b76380c4..d5f7211b51e4 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -35,12 +35,12 @@ nixosTests, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "i3"; version = "4.24"; src = fetchurl { - url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz"; + url = "https://i3wm.org/downloads/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; hash = "sha256-W679Dl548br7eshd7qQrzTy/5l8SeaqW9+SWYWN6yYE="; }; @@ -59,8 +59,8 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Ddocs=true" - "-Dmans=true" + (lib.mesonBool "docs" true) + (lib.mesonBool "mans" true) ]; buildInputs = @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { perlPackages.ExtUtilsPkgConfig perlPackages.InlineC ] - ++ lib.optionals doCheck [ + ++ lib.optionals finalAttrs.doCheck [ xorgserver xvfb-run xdotool @@ -94,8 +94,6 @@ stdenv.mkDerivation rec { which ]; - configureFlags = [ "--disable-builddir" ]; - postPatch = '' patchShebangs . @@ -103,7 +101,7 @@ stdenv.mkDerivation rec { # patchShebangs can't replace a shebang in the middle of a file. if [ -f testcases/t/318-i3-dmenu-desktop.t ]; then substituteInPlace testcases/t/318-i3-dmenu-desktop.t \ - --replace-fail "#!/usr/bin/env perl" "#!${perl}/bin/perl" + --replace-fail "#!/usr/bin/env perl" "#!${lib.getExe perl}" fi ''; @@ -111,6 +109,8 @@ stdenv.mkDerivation rec { doCheck = stdenv.hostPlatform.isLinux; checkPhase = '' + runHook preCheck + test_failed= # "| cat" disables fancy progress reporting which makes the log unreadable. ./complete-run.pl -p 1 --keep-xserver-output | cat || test_failed="complete-run.pl returned $?" @@ -126,6 +126,8 @@ stdenv.mkDerivation rec { echo "===== End of test log =====" false fi + + runHook postCheck ''; postInstall = '' @@ -143,16 +145,16 @@ stdenv.mkDerivation rec { inherit (nixosTests) i3wm; }; - meta = with lib; { + meta = { description = "Tiling window manager"; homepage = "https://i3wm.org"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ modulistic fpletz ]; mainProgram = "i3"; - license = licenses.bsd3; - platforms = platforms.all; + license = lib.licenses.bsd3; + platforms = lib.platforms.all; longDescription = '' A tiling window manager primarily targeted at advanced users and @@ -162,5 +164,4 @@ stdenv.mkDerivation rec { UTF-8 clean. ''; }; - -} +}) From 251c9817f4655ccfb1975dbab8d3b8e5bf4aab42 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Nov 2024 16:07:37 +0100 Subject: [PATCH 4/5] i3: restrict platforms to unix --- pkgs/applications/window-managers/i3/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index d5f7211b51e4..6f233314e9c1 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -154,7 +154,7 @@ stdenv.mkDerivation (finalAttrs: { ]; mainProgram = "i3"; license = lib.licenses.bsd3; - platforms = lib.platforms.all; + platforms = lib.platforms.unix; longDescription = '' A tiling window manager primarily targeted at advanced users and From edb5aee09b39368d36f80130684f3ed5d507a56f Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Nov 2024 16:44:33 +0100 Subject: [PATCH 5/5] i3: fetch source from github --- .../window-managers/i3/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 6f233314e9c1..e9d44fae06a0 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -1,5 +1,5 @@ { - fetchurl, + fetchFromGitHub, lib, stdenv, pkg-config, @@ -33,15 +33,18 @@ docbook_xsl, findXMLCatalogs, nixosTests, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "i3"; version = "4.24"; - src = fetchurl { - url = "https://i3wm.org/downloads/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; - hash = "sha256-W679Dl548br7eshd7qQrzTy/5l8SeaqW9+SWYWN6yYE="; + src = fetchFromGitHub { + owner = "i3"; + repo = "i3"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-2tuhfB/SMN+osCBfZtw/yDPhNNEhBH4Qo6dexpqVWYk="; }; nativeBuildInputs = [ @@ -141,8 +144,11 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = true; - passthru.tests = { - inherit (nixosTests) i3wm; + passthru = { + updateScript = nix-update-script { }; + tests = { + inherit (nixosTests) i3wm; + }; }; meta = {