summary refs log tree commit diff
path: root/pkgs/development/python-modules/dlib
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-06-17 19:33:14 +0200
committerxeji <36407913+xeji@users.noreply.github.com>2018-06-17 19:33:14 +0200
commitccdd229d2137c78797796c3421d49cd2bc0d9a3b (patch)
tree07098d14d73bc892c7d341ba4b07ef196dca3d97 /pkgs/development/python-modules/dlib
parent56a7ea6fbed4192a8fb8f53784cefd4b07b912f6 (diff)
downloadnixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.tar
nixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.tar.gz
nixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.tar.bz2
nixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.tar.lz
nixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.tar.xz
nixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.tar.zst
nixpkgs-ccdd229d2137c78797796c3421d49cd2bc0d9a3b.zip
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
Diffstat (limited to 'pkgs/development/python-modules/dlib')
-rw-r--r--pkgs/development/python-modules/dlib/build-cores.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/dlib/build-cores.patch b/pkgs/development/python-modules/dlib/build-cores.patch
new file mode 100644
index 00000000000..eebc69a330f
--- /dev/null
+++ b/pkgs/development/python-modules/dlib/build-cores.patch
@@ -0,0 +1,27 @@
+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