Unverified Commit b0f140e2 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

safeeyes: 2.2.3 -> 3.2.0 (#452727)

parents 8f5a70f6 5fd15d24
Loading
Loading
Loading
Loading
+31 −20
Original line number Diff line number Diff line
{
  lib,
  python3,
  python3Packages,
  fetchPypi,
  alsa-utils,
  gobject-introspection,
  libnotify,
  wlrctl,
  gtk3,
  gtk4,
  gettext,
  safeeyes,
  testers,
  xprintidle,
  xprop,
  wrapGAppsHook3,
  versionCheckHook,
  nix-update-script,
}:

python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
  pname = "safeeyes";
  version = "2.2.3";
  version = "3.2.0";
  pyproject = true;

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-VE+pcCSblj5CADJppyM1mUchOibUtr7NrVwINrSprY0=";
    hash = "sha256-t8PMQxQjfyW3t0bamo8kAlminAMfUe0ThtzrgUc33Xo=";
  };

  postPatch = ''
    substituteInPlace setup.py --replace-fail "root_dir = sys.prefix" "root_dir = '/'"
  '';

  nativeBuildInputs = [
    wrapGAppsHook3
    gobject-introspection
  ];

  buildInputs = [
    gtk3
    gtk4
    gettext
    libnotify
  ];

  build-system = with python3.pkgs; [ setuptools ];
  build-system = with python3Packages; [ setuptools ];

  dependencies = with python3.pkgs; [
  dependencies = with python3Packages; [
    babel
    psutil
    xlib
    pygobject3
    dbus-python
    croniter
    packaging
  ];

  optional-dependencies = with python3Packages; {
    healthstats = [ croniter ];
    wayland = [ pywayland ];
  };

  # Prevent double wrapping, let the Python wrapper use the args in preFixup.
  dontWrapGApps = true;

  postInstall = ''
    mv $out/lib/python*/site-packages/share $out/share
  '';

  preFixup = ''
    makeWrapperArgs+=(
      "''${gappsWrapperArgs[@]}"
@@ -75,12 +75,23 @@ python3.pkgs.buildPythonApplication rec {

  pythonImportsCheck = [ "safeeyes" ];

  passthru.tests.version = testers.testVersion { package = safeeyes; };
  doInstallCheck = true;
  nativeInstallCheckInputs = [ versionCheckHook ];

  passthru = {
    updateScript = nix-update-script { };
    tests.version = testers.testVersion { package = safeeyes; };
  };

  meta = {
    homepage = "http://slgobinath.github.io/SafeEyes";
    description = "Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder. A Free and Open Source Linux alternative to EyeLeo";
    license = lib.licenses.gpl3;
    description = "Break reminder to prevent eye strain";
    longDescription = ''
      Protect your eyes from eye strain using this simple and
      beautiful, yet extensible break reminder.  Free GNU/Linux
      alternative to EyeLeo.
    '';
    license = lib.licenses.gpl3Plus;
    platforms = lib.platforms.linux;
    mainProgram = "safeeyes";
  };