Unverified Commit 19dc44bb authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

gtklock: 3.0.0 -> 4.0.0 and plugins (#350671)

parents 796f296a bd43c4d6
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  meson,
  ninja,
  pkg-config,
  gtk3,
  playerctl,
  libsoup_3,
  gtklock,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "gtklock-playerctl-module";
  version = "4.0.0";

  src = fetchFromGitHub {
    owner = "jovanlanik";
    repo = "gtklock-playerctl-module";
    rev = "v${finalAttrs.version}";
    hash = "sha256-YlnZxp06Bb8eIgZhCvbiX6jgnNuGoSv4wx0N4AD1V7o=";
  };

  nativeBuildInputs = [
    meson
    ninja
    pkg-config
  ];

  buildInputs = [
    gtk3
    playerctl
    libsoup_3
  ];

  passthru.tests.testModule = gtklock.testModule finalAttrs.finalPackage;

  meta = {
    description = "Gtklock module adding media player controls to the lockscreen";
    homepage = "https://github.com/jovanlanik/gtklock-playerctl-module";
    license = lib.licenses.gpl3Only;
    maintainers = with lib.maintainers; [ aleksana ];
    platforms = lib.platforms.linux;
  };
})
+40 −0
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, gtk3
{
  lib,
  stdenv,
  fetchFromGitHub,
  meson,
  ninja,
  pkg-config,
  gtk3,
  gtklock,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "gtklock-powerbar-module";
  version = "3.0.0";
  version = "4.0.0";

  src = fetchFromGitHub {
    owner = "jovanlanik";
    repo = pname;
    rev = "v${version}";
    hash = "sha256-uqGWr3/PaXif+JuxqRDlvfeiVG2nbausfe5dZOHcm7o=";
    repo = "gtklock-powerbar-module";
    rev = "v${finalAttrs.version}";
    hash = "sha256-Zakdta1i0o7S2AbHydlonnh5OMGVgGjB2H/AiHgQT9A=";
  };

  nativeBuildInputs = [ pkg-config ];
  nativeBuildInputs = [
    meson
    ninja
    pkg-config
  ];

  buildInputs = [ gtk3 ];

  makeFlags = [ "PREFIX=$(out)" ];
  passthru.tests.testModule = gtklock.testModule finalAttrs.finalPackage;

  meta = with lib; {
  meta = {
    description = "Gtklock module adding power controls to the lockscreen";
    homepage = "https://github.com/jovanlanik/gtklock-powerbar-module";
    license = licenses.gpl3Only;
    maintainers = with maintainers; [ aleksana ];
    platforms = platforms.linux;
    license = lib.licenses.gpl3Only;
    maintainers = with lib.maintainers; [ aleksana ];
    platforms = lib.platforms.linux;
  };
}
})
+46 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  meson,
  ninja,
  pkg-config,
  gtk3,
  glib,
  accountsservice,
  gtklock,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "gtklock-userinfo-module";
  version = "4.0.0";

  src = fetchFromGitHub {
    owner = "jovanlanik";
    repo = "gtklock-userinfo-module";
    rev = "v${finalAttrs.version}";
    hash = "sha256-d9S0Tj7aII2JQ5/PZmt8HaUIb5caoD4GND0PGvuRMn8=";
  };

  nativeBuildInputs = [
    meson
    ninja
    pkg-config
  ];

  buildInputs = [
    gtk3
    glib
    accountsservice
  ];

  passthru.tests.testModule = gtklock.testModule finalAttrs.finalPackage;

  meta = {
    description = "Gtklock module adding user info to the lockscreen";
    homepage = "https://github.com/jovanlanik/gtklock-userinfo-module";
    license = lib.licenses.gpl3Only;
    maintainers = with lib.maintainers; [ aleksana ];
    platforms = lib.platforms.linux;
  };
})
+74 −0
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, scdoc
, pkg-config
, wrapGAppsHook3
, gtk3
, pam
, gtk-session-lock
{
  lib,
  stdenv,
  fetchFromGitHub,
  meson,
  ninja,
  scdoc,
  pkg-config,
  wrapGAppsHook3,
  gtk3,
  pam,
  gtk-session-lock,
  runCommand,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "gtklock";
  version = "3.0.0";
  # Must run nixpkgs-review between version changes
  version = "4.0.0";

  src = fetchFromGitHub {
    owner = "jovanlanik";
    repo = "gtklock";
    rev = "v${version}";
    hash = "sha256-B6pySjiwPBRFb4avE9NHsS1KkWMPW81DAqYro/wtrmQ=";
    rev = "v${finalAttrs.version}";
    hash = "sha256-e/JRJtQAyIvQhL5hSbY7I/f12Z9g2N0MAHQvX+aXz8Q=";
  };

  nativeBuildInputs = [
@@ -38,20 +41,34 @@ stdenv.mkDerivation rec {

  strictDeps = true;

  installFlags = [
    "DESTDIR=$(out)"
    "PREFIX="
  ];
  passthru.testModule =
    module:
    runCommand "${module.name}-test.sh" { } ''
      MODULE_PATH=$(find ${module}/lib/gtklock -maxdepth 1 -name '*.so')
      echo -e "[main]\nmodules=''${MODULE_PATH}" >./config.ini
      ${finalAttrs.finalPackage}/bin/gtklock --config ./config.ini >./log 2>&1 || true
      if grep incompatible ./log; then
        echo "${module.name} is incompatible with current ${finalAttrs.finalPackage.name}!"
        exit 1
      else
        echo "Successfully tested ${module.name} against ${finalAttrs.finalPackage.name}."
      fi
      touch $out
    '';

  meta = with lib; {
  meta = {
    description = "GTK-based lockscreen for Wayland";
    longDescription = ''
      Important note: for gtklock to work you need to set "security.pam.services.gtklock = {};" manually.
      Otherwise you'll lock youself out of desktop and unable to authenticate.
    ''; # Following  nixpkgs/pkgs/applications/window-managers/sway/lock.nix
    homepage = "https://github.com/jovanlanik/gtklock";
    license = licenses.gpl3Only;
    maintainers = with maintainers; [ dit7ya aleksana ];
    platforms = platforms.linux;
    license = lib.licenses.gpl3Only;
    maintainers = with lib.maintainers; [
      dit7ya
      aleksana
    ];
    platforms = lib.platforms.linux;
    mainProgram = "gtklock";
  };
}
})
+0 −34
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, gtk3
, playerctl
, libsoup
}:

stdenv.mkDerivation rec {
  pname = "gtklock-playerctl-module";
  version = "3.0.0";

  src = fetchFromGitHub {
    owner = "jovanlanik";
    repo = pname;
    rev = "v${version}";
    hash = "sha256-eN4E3+jv8IyRvV8pvfCjCc6pl8y7qSLRlj7tYkX0JrE=";
  };

  nativeBuildInputs = [ pkg-config ];

  buildInputs = [ gtk3 playerctl libsoup ];

  makeFlags = [ "PREFIX=$(out)" ];

  meta = with lib; {
    description = "Gtklock module adding media player controls to the lockscreen";
    homepage = "https://github.com/jovanlanik/gtklock-playerctl-module";
    license = licenses.gpl3Only;
    maintainers = with maintainers; [ aleksana ];
    platforms = platforms.linux;
  };
}
Loading