Unverified Commit 2e2261dc authored by Masum Reza's avatar Masum Reza Committed by GitHub
Browse files

i3: 4.23 -> 4.24 (#355441)

parents 893e5bd8 edb5aee0
Loading
Loading
Loading
Loading
+106 −35
Original line number Diff line number Diff line
{ 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
{
  fetchFromGitHub,
  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,
  nix-update-script,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "i3";
  version = "4.23";
  version = "4.24";

  src = fetchurl {
    url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
    sha256 = "sha256-YQJqcZbJE50POq3ScZfosyDFduOkUOAddMGspIQETEY=";
  src = fetchFromGitHub {
    owner = "i3";
    repo = "i3";
    rev = "refs/tags/${finalAttrs.version}";
    hash = "sha256-2tuhfB/SMN+osCBfZtw/yDPhNNEhBH4Qo6dexpqVWYk=";
  };

  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 = [
    "-Ddocs=true"
    "-Dmans=true"
    (lib.mesonBool "docs" true)
    (lib.mesonBool "mans" 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 finalAttrs.doCheck [
      xorgserver
      xvfb-run
      xdotool
      xorg.setxkbmap
      xorg.xrandr
      which
    ];

  configureFlags = [ "--disable-builddir" ];

  postPatch = ''
    patchShebangs .

@@ -43,7 +104,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
  '';

@@ -51,6 +112,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 $?"
@@ -66,6 +129,8 @@ stdenv.mkDerivation rec {
      echo "===== End of test log ====="
      false
    fi

    runHook postCheck
  '';

  postInstall = ''
@@ -79,16 +144,23 @@ stdenv.mkDerivation rec {

  separateDebugInfo = true;

  passthru.tests = { inherit (nixosTests) i3wm; };

  passthru = {
    updateScript = nix-update-script { };
    tests = {
      inherit (nixosTests) i3wm;
    };
  };

  meta = with lib; {
  meta = {
    description = "Tiling window manager";
    homepage = "https://i3wm.org";
    maintainers = with maintainers; [ modulistic fpletz ];
    maintainers = with lib.maintainers; [
      modulistic
      fpletz
    ];
    mainProgram = "i3";
    license     = licenses.bsd3;
    platforms   = platforms.all;
    license = lib.licenses.bsd3;
    platforms = lib.platforms.unix;

    longDescription = ''
      A tiling window manager primarily targeted at advanced users and
@@ -98,5 +170,4 @@ stdenv.mkDerivation rec {
      UTF-8 clean.
    '';
  };

}
})