nixpkgs/pkgs/development/python-modules/dlib/build-cores.patch
Maximilian Bosch ccdd229d21 dlib: 19.9 -> 19.13 (#41953)
This fixes the latest `dlib` build for `nixpkgs` compliancy:

* Patched `setup.py` to use number of jobs defined in `$NIX_BUILD_CORES`
  rather than using all available cores.

* Bumped `dlib` to latest version (v19.13 ATM).

* Dropped `openblas` build input, `cblas` which actually works lives in
  `dlib/external`. Otherwise the test suite runs into segfaults (see
  https://github.com/NixOS/nixpkgs/pull/39255#issuecomment-384535129 for
  further reference).

* Added myself as maintainer in case of any further breakage in the
  future.

Closes #39255

/cc @dotlambda @ryantm
2018-06-17 19:33:14 +02:00

28 lines
1.2 KiB
Diff

diff --git a/setup.py b/setup.py
index 0c8d8f16..565ef8ef 100644
--- a/setup.py
+++ b/setup.py
@@ -172,21 +172,7 @@ class CMakeBuild(build_ext):
subprocess.check_call(cmake_build, cwd=build_folder)
def num_available_cpu_cores(ram_per_build_process_in_gb):
- if 'TRAVIS' in os.environ and os.environ['TRAVIS']=='true':
- # When building on travis-ci, just use 2 cores since travis-ci limits
- # you to that regardless of what the hardware might suggest.
- return 2
- try:
- mem_bytes = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES')
- mem_gib = mem_bytes/(1024.**3)
- num_cores = multiprocessing.cpu_count()
- # make sure we have enough ram for each build process.
- mem_cores = int(floor(mem_gib/float(ram_per_build_process_in_gb)+0.5));
- # We are limited either by RAM or CPU cores. So pick the limiting amount
- # and return that.
- return max(min(num_cores, mem_cores), 1)
- except ValueError:
- return 2 # just assume 2 if we can't get the os to tell us the right answer.
+ return os.getenv("NIX_BUILD_CORES", 1)
from setuptools.command.test import test as TestCommand