diff options
author | rnhmjoj <rnhmjoj@inventati.org> | 2018-08-21 10:56:52 +0200 |
---|---|---|
committer | rnhmjoj <rnhmjoj@inventati.org> | 2018-08-21 10:56:52 +0200 |
commit | 5914624410d37f3f96560214609c4a0c73310d1d (patch) | |
tree | e59aff6e5880da20e30b378feec15b45506b75ae /pkgs/misc/drivers/sc-controller | |
parent | 81b681c0f55df908e6494b97c262a0cc5012d5ea (diff) |
sc-controller: fix udev for NixOS
Diffstat (limited to 'pkgs/misc/drivers/sc-controller')
-rw-r--r-- | pkgs/misc/drivers/sc-controller/default.nix | 6 | ||||
-rw-r--r-- | pkgs/misc/drivers/sc-controller/fix-udev.patch | 22 |
2 files changed, 26 insertions, 2 deletions
diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix index 872a90f7f59c..a13b49bd6cf2 100644 --- a/pkgs/misc/drivers/sc-controller/default.nix +++ b/pkgs/misc/drivers/sc-controller/default.nix @@ -2,7 +2,7 @@ , gtk3, gobjectIntrospection, libappindicator-gtk3, librsvg , evdev, pygobject3, pylibacl, pytest , linuxHeaders -, libX11, libXext, libXfixes, libusb1 +, libX11, libXext, libXfixes, libusb1, libudev }: buildPythonApplication rec { @@ -24,12 +24,14 @@ buildPythonApplication rec { checkInputs = [ pytest ]; + patches = [ ./fix-udev.patch ]; + postPatch = '' substituteInPlace scc/paths.py --replace sys.prefix "'$out'" substituteInPlace scc/uinput.py --replace /usr/include ${linuxHeaders}/include ''; - LD_LIBRARY_PATH = lib.makeLibraryPath [ libX11 libXext libXfixes libusb1 ]; + LD_LIBRARY_PATH = lib.makeLibraryPath [ libX11 libXext libXfixes libusb1 libudev ]; preFixup = '' gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH") diff --git a/pkgs/misc/drivers/sc-controller/fix-udev.patch b/pkgs/misc/drivers/sc-controller/fix-udev.patch new file mode 100644 index 000000000000..2416ac216d76 --- /dev/null +++ b/pkgs/misc/drivers/sc-controller/fix-udev.patch @@ -0,0 +1,22 @@ +diff --git a/scc/lib/eudevmonitor.py b/scc/lib/eudevmonitor.py +index 6c1bd18..182eff2 100644 +--- a/scc/lib/eudevmonitor.py ++++ b/scc/lib/eudevmonitor.py +@@ -28,12 +28,11 @@ class Eudev: + + def __init__(self): + self._ctx = None +- self._lib = ctypes.CDLL(find_library(self.LIB_NAME)) +- if self._lib is None: +- # Alternative approach for NixOS +- try: +- self._lib = ctypes.cdll.LoadLibrary("libudev.so") +- except OSError: ++ try: ++ self._lib = ctypes.cdll.LoadLibrary("libudev.so") ++ except OSError: ++ self._lib = ctypes.CDLL(find_library(self.LIB_NAME)) ++ if self._lib is None: + raise ImportError("No library named udev") + Eudev._setup_lib(self._lib) + self._ctx = self._lib.udev_new() |