diff --git a/_constraints b/_constraints
index efe0540..3a8b96b 100644
--- a/_constraints
+++ b/_constraints
@@ -5,16 +5,8 @@
13
+
+ 3000
+
-
-
- i586
- x86_64
-
-
-
- 2500
-
-
-
diff --git a/opencv.changes b/opencv.changes
index b20dcf6..b7b1bcd 100644
--- a/opencv.changes
+++ b/opencv.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Sun Nov 3 19:50:04 UTC 2019 - Stefan Brüns
+
+- Limit build parallelism with limit_build, some ARM and PPC workers
+ have a high SMP/memory ratio and run out of memory otherwise.
+- Apply memory constraints (3GB) to all architectures, avoid being
+ scheduled on very weak workers.
+
-------------------------------------------------------------------
Sat Oct 12 23:12:21 UTC 2019 - Stefan Brüns
diff --git a/opencv.spec b/opencv.spec
index d03e7b2..428919d 100644
--- a/opencv.spec
+++ b/opencv.spec
@@ -54,6 +54,7 @@ BuildRequires: libeigen3-devel
BuildRequires: libjasper-devel
BuildRequires: libjpeg-devel
BuildRequires: pkgconfig
+BuildRequires: memory-constraints
BuildRequires: tbb-devel
BuildRequires: unzip
BuildRequires: pkgconfig(IlmBase)
@@ -177,6 +178,7 @@ cp opencv_contrib-%{version}/LICENSE LICENSE.contrib
rm -f doc/packaging.txt
%build
+%limit_build -m 1000
# Dynamic dispatch: https://github.com/opencv/opencv/wiki/CPU-optimizations-build-options
# x86: disable SSE on 32bit, do not dispatch AVX and later - SSE3
# is the highest extension available on any non-64bit x86 CPU