25
25
"attrs" ,
26
26
"cffi" ,
27
27
"findlibs>=0.1.1" ,
28
+ 'eccodeslib ; platform_system!="Windows"' ,
28
29
]
29
30
30
- ext_modules = [
31
- setuptools .Extension (
32
- "eccodes._eccodes" ,
33
- sources = ["eccodes/_eccodes.cc" ],
34
- language = "c++" ,
35
- libraries = ["eccodes" ],
36
- library_dirs = [os .environ ["LIBDIR" ]],
37
- include_dirs = [os .environ ["INCDIR" ]],
38
- )
39
- ]
31
+ if os .environ .get ("LIBDIR" , None ):
32
+ ext_modules = [
33
+ setuptools .Extension (
34
+ "eccodes._eccodes" ,
35
+ sources = ["eccodes/_eccodes.cc" ],
36
+ language = "c++" ,
37
+ libraries = ["eccodes" ],
38
+ library_dirs = [os .environ ["LIBDIR" ]],
39
+ include_dirs = [os .environ ["INCDIR" ]],
40
+ )
41
+ ]
42
+ else :
43
+ # NOTE this hack is due to downstream CI not yet supporting building
44
+ ext_modules = []
40
45
41
46
42
47
def get_version () -> str :
@@ -52,11 +57,14 @@ def get_version() -> str:
52
57
53
58
54
59
def get_eccodeslib_dep () -> list [str ]:
55
- eccodes_version = importlib .metadata .version ("eccodeslib" )
56
- mj , mn , pt = eccodes_version .split ("." , 2 )
57
- return [
58
- f"eccodeslib >= { eccodes_version } , < { int (mj )+ 1 } " ,
59
- ]
60
+ try :
61
+ eccodes_version = importlib .metadata .version ("eccodeslib" )
62
+ mj , mn , pt = eccodes_version .split ("." , 2 )
63
+ return [
64
+ f"eccodeslib >= { eccodes_version } , < { int (mj )+ 1 } " ,
65
+ ]
66
+ except importlib .metadata .PackageNotFoundError :
67
+ return []
60
68
61
69
62
70
class bdist_wheel_ext (bdist_wheel ):
0 commit comments