Unverified Commit bef7c7d6 authored by Clément's avatar Clément
Browse files

python3Packages.pyads: fix build failure

parent d64b849b
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  adslib,
  buildPythonPackage,
  fetchFromGitHub,
@@ -23,13 +24,25 @@ buildPythonPackage rec {

  buildInputs = [ adslib ];

  patchPhase = ''
    substituteInPlace pyads/pyads_ex.py \
      --replace-fail "ctypes.CDLL(adslib)" "ctypes.CDLL(\"${adslib}/lib/adslib.so\")"
  postPatch = ''
    # Skip compilation of bundled adslib - we provide it as a separate nix package
    substituteInPlace setup.py \
      --replace-fail \
        'return sys.platform.startswith("linux") or sys.platform.startswith("darwin")' \
        'return False'

    # Load adslib from nix store instead of searching sys.path
    substituteInPlace src/pyads/pyads_ex.py \
      --replace-fail \
        'ctypes.CDLL(adslib_path)' \
        'ctypes.CDLL("${lib.getLib adslib}/lib/adslib.so")'
  '';

  nativeCheckInputs = [ pytestCheckHook ];

  # Test suite has port reuse races and UDP timing issues on darwin
  doCheck = !stdenv.hostPlatform.isDarwin;

  pythonImportsCheck = [ "pyads" ];

  meta = {