blob: 40035e9d8dfeddd04a50dd18c3d0de6f4ed761d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
{
buildPythonPackage,
darwin,
fetchFromGitHub,
lib,
pyobjc-core,
pyobjc-framework-Cocoa,
setuptools,
unittestCheckHook,
}:
buildPythonPackage rec {
pname = "pyobjc-framework-libdispatch";
pyproject = true;
inherit (pyobjc-core) version src;
patches = pyobjc-core.patches or [ ];
sourceRoot = "${src.name}/pyobjc-framework-libdispatch";
build-system = [ setuptools ];
buildInputs = [
darwin.libffi
];
nativeBuildInputs = [
darwin.DarwinTools # sw_vers
];
nativeCheckInputs = [
unittestCheckHook
];
# See https://github.com/ronaldoussoren/pyobjc/pull/641. Unfortunately, we
# cannot just pull that diff with fetchpatch due to https://discourse.nixos.org/t/how-to-apply-patches-with-sourceroot/59727.
postPatch = ''
substituteInPlace pyobjc_setup.py \
--replace-fail "-buildversion" "-buildVersion" \
--replace-fail "-productversion" "-productVersion" \
--replace-fail "/usr/bin/" ""
'';
dependencies = [
pyobjc-core
pyobjc-framework-Cocoa
];
env.NIX_CFLAGS_COMPILE = toString [
"-I${darwin.libffi.dev}/include"
"-Wno-error=unused-command-line-argument"
];
pythonImportsCheck = [
"dispatch"
"libdispatch"
];
meta = {
description = "PyObjC wrappers for the libdispatch framework on macOS";
homepage = "https://github.com/ronaldoussoren/pyobjc/tree/main/pyobjc-framework-libdispatch";
license = lib.licenses.mit;
platforms = lib.platforms.darwin;
maintainers = with lib.maintainers; [ prusnak ];
};
}
|