python3Packages.notify-py: hardcode paths to aplay, notify-send, and which
This commit is contained in:
parent
b633a6d1f7
commit
0010e0bb58
13
pkgs/development/python-modules/notify-py/darwin-paths.patch
Normal file
13
pkgs/development/python-modules/notify-py/darwin-paths.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/notifypy/os_notifiers/macos.py b/notifypy/os_notifiers/macos.py
|
||||
index 68731fb..53fcee3 100644
|
||||
--- a/notifypy/os_notifiers/macos.py
|
||||
+++ b/notifypy/os_notifiers/macos.py
|
||||
@@ -75,7 +75,7 @@ class MacOSNotifier(BaseNotifier):
|
||||
def _find_installed_afplay():
|
||||
"""Function to find the path for afplay"""
|
||||
try:
|
||||
- run_which_for_aplay = subprocess.check_output(["which", "afplay"])
|
||||
+ run_which_for_aplay = subprocess.check_output(["@which@", "afplay"])
|
||||
return run_which_for_aplay.decode("utf-8")
|
||||
except subprocess.CalledProcessError:
|
||||
logger.exception("Unable to find aplay.")
|
@ -1,5 +1,17 @@
|
||||
{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, coreutils, alsa-utils
|
||||
, libnotify, which, jeepney, loguru, pytestCheckHook }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, isPy3k
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, alsa-utils
|
||||
, libnotify
|
||||
, which
|
||||
, jeepney
|
||||
, loguru
|
||||
, pytestCheckHook
|
||||
, coreutils
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "notify-py";
|
||||
@ -14,15 +26,28 @@ buildPythonPackage rec {
|
||||
sha256 = "1n35adwsyhz304n4ifnsz6qzkymwhyqc8sg8d76qv5psv2xsnzlf";
|
||||
};
|
||||
|
||||
propagatedNativeBuildInputs = [ which ]
|
||||
++ lib.optionals stdenv.isLinux [ alsa-utils libnotify ];
|
||||
patches = lib.optionals stdenv.isLinux [
|
||||
# hardcode paths to aplay and notify-send
|
||||
(substituteAll {
|
||||
src = ./linux-paths.patch;
|
||||
aplay = "${alsa-utils}/bin/aplay";
|
||||
notifysend = "${libnotify}/bin/notify-send";
|
||||
})
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# hardcode path to which
|
||||
(substituteAll {
|
||||
src = ./darwin-paths.patch;
|
||||
which = "${which}/bin/which";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ loguru ]
|
||||
++ lib.optionals stdenv.isLinux [ jeepney ];
|
||||
|
||||
checkInputs = [ coreutils pytestCheckHook ];
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
# Tests search for "afplay" binary which is built in to MacOS and not available in nixpkgs
|
||||
preCheck = ''
|
||||
preCheck = lib.optionalString stdenv.isDarwin ''
|
||||
mkdir $TMP/bin
|
||||
ln -s ${coreutils}/bin/true $TMP/bin/afplay
|
||||
export PATH="$TMP/bin:$PATH"
|
||||
@ -31,9 +56,9 @@ buildPythonPackage rec {
|
||||
pythonImportsCheck = [ "notifypy" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python Module for sending cross-platform desktop notifications on Windows, macOS, and Linux.";
|
||||
homepage = "https://github.com/ms7m/notify-py/";
|
||||
description = "Cross-platform desktop notification library for Python";
|
||||
homepage = "https://github.com/ms7m/notify-py";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ austinbutler ];
|
||||
maintainers = with maintainers; [ austinbutler dotlambda ];
|
||||
};
|
||||
}
|
||||
|
54
pkgs/development/python-modules/notify-py/linux-paths.patch
Normal file
54
pkgs/development/python-modules/notify-py/linux-paths.patch
Normal file
@ -0,0 +1,54 @@
|
||||
diff --git a/notifypy/os_notifiers/linux.py b/notifypy/os_notifiers/linux.py
|
||||
index ee89216..5201574 100644
|
||||
--- a/notifypy/os_notifiers/linux.py
|
||||
+++ b/notifypy/os_notifiers/linux.py
|
||||
@@ -53,30 +53,12 @@ class LinuxNotifierLibNotify(BaseNotifier):
|
||||
@staticmethod
|
||||
def _find_installed_aplay():
|
||||
"""Function to find the path for notify-send"""
|
||||
- try:
|
||||
- run_which_for_aplay = subprocess.check_output(["which", "aplay"])
|
||||
- return run_which_for_aplay.decode("utf-8")
|
||||
- except subprocess.CalledProcessError:
|
||||
- logger.exception("Unable to find aplay.")
|
||||
- return False
|
||||
- except Exception:
|
||||
- logger.exception("Unhandled exception for finding aplay.")
|
||||
- return False
|
||||
+ return "@aplay@"
|
||||
|
||||
@staticmethod
|
||||
def _find_installed_notify_send():
|
||||
"""Function to find the path for notify-send"""
|
||||
- try:
|
||||
- run_which_for_notify_send = subprocess.check_output(
|
||||
- ["which", "notify-send"]
|
||||
- )
|
||||
- return run_which_for_notify_send.decode("utf-8")
|
||||
- except subprocess.CalledProcessError:
|
||||
- logger.exception("Unable to find notify-send.")
|
||||
- return False
|
||||
- except Exception:
|
||||
- logger.exception("Unhandled exception for finding notify-send.")
|
||||
- return False
|
||||
+ return "@notifysend@"
|
||||
|
||||
def send_notification(
|
||||
self,
|
||||
@@ -159,15 +141,7 @@ class LinuxNotifier(BaseNotifier):
|
||||
@staticmethod
|
||||
def _find_installed_aplay():
|
||||
"""Function to find the path for notify-send"""
|
||||
- try:
|
||||
- run_which_for_aplay = subprocess.check_output(["which", "aplay"])
|
||||
- return run_which_for_aplay.decode("utf-8")
|
||||
- except subprocess.CalledProcessError:
|
||||
- logger.exception("Unable to find aplay.")
|
||||
- return False
|
||||
- except Exception:
|
||||
- logger.exception("Unhandled exception for finding aplay.")
|
||||
- return False
|
||||
+ return "@aplay@"
|
||||
|
||||
def send_notification(
|
||||
self,
|
Loading…
Reference in New Issue
Block a user