From 331d291cabcb5d17d0284414cae1f2ac5c32736a Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke@fastmail.com>
Date: Tue, 23 Aug 2016 21:17:14 +0100
Subject: [PATCH 1/3] gnu: dlib: Remove unused fftw from inputs.
* gnu/packages/machine-learning.scm (dlib)[inputs]: Remove fftw.
(define-module): Don't include algebra.scm.
---
gnu/packages/machine-learning.scm | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
@@ -28,7 +28,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
#:use-module (gnu packages)
- #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
@@ -515,8 +514,7 @@ single hidden layer, and for multinomial log-linear models.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("fftw" ,fftw)
- ("giflib" ,giflib)
+ `(("giflib" ,giflib)
;("lapack" ,lapack) XXX lapack here causes test failures in some setups.
("libjpeg" ,libjpeg)
("libpng" ,libpng)
--
2.9.3
From 5c78ac7002cd92a2bfd8efa0f9902288dffe6a89 Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke@fastmail.com>
Date: Sat, 27 Aug 2016 17:23:58 +0100
Subject: [PATCH 2/3] gnu: dlib: Do not build dlib twice for tests.
* gnu/packages/machine-learning.scm (dlib)[arguments]: Use makefile
instead of cmake in check phase to prevent full rebuild.
---
gnu/packages/machine-learning.scm | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
@@ -502,11 +502,10 @@ single hidden layer, and for multinomial log-linear models.")
(replace 'check
(lambda _
;; No test target, so we build and run the unit tests here.
- (let ((test-dir (string-append "../dlib-" ,version "/dlib/test/build")))
- (mkdir-p test-dir)
+ (let ((test-dir (string-append "../dlib-" ,version "/dlib/test")))
(with-directory-excursion test-dir
- (and (zero? (system* "cmake" ".."))
- (zero? (system* "cmake" "--build" "." "--config" "Release"))
+ (setenv "CXXFLAGS" "-std=gnu++11")
+ (and (zero? (system* "make" "-j" (number->string (parallel-job-count))))
(zero? (system* "./dtest" "--runall")))))))
(add-after 'install 'delete-static-library
(lambda* (#:key outputs #:allow-other-keys)
--
2.9.3
From dd8e87ecfb1f475bd0f88338f233883d02e649af Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke@fastmail.com>
Date: Fri, 9 Sep 2016 01:51:23 +0100
Subject: [PATCH 3/3] gnu: dlib: Disable failing tests.
* gnu/packages/machine-learning.scm (dlib)[arguments]: Add phase to
disable tests that are known not to work in the current release.
[inputs]: Add lapack.
---
gnu/packages/machine-learning.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
@@ -499,6 +499,29 @@ single hidden layer, and for multinomial log-linear models.")
(substitute* "dlib/config.h"
(("^//#define DLIB_DISABLE_ASSERTS") "#define DLIB_DISABLE_ASSERTS"))
#t))
+ (add-after 'disable-asserts 'disable-failing-tests
+ (lambda _
+ ;; One test times out on MIPS, so we need to disable it.
+ ;; The rest is known to fail on non-x86_64 platforms in the current release.
+ ;; Some have been fixed in git; this list should be readjusted next update.
+ (let* ((system ,(or (%current-target-system)
+ (%current-system)))
+ (failing-tests (cond
+ ((string-prefix? "mips64" system)
+ '("object_detector" ; timeout
+ "data_io"))
+ ((string-prefix? "armhf" system)
+ '("learning_to_track" "max_cost_assignment"))
+ ((string-prefix? "i686" system)
+ '("optimization" "matrix2" "mpc"))
+ (else '()))))
+ ;; The following test fails due a bug in openblas < 0.2.18.
+ (append! failing-tests '("empirical_map"))
+ (for-each
+ (lambda (test)
+ (substitute* "dlib/test/makefile"
+ (((string-append "SRC \\+= " test "\\.cpp")) "")) #t)
+ failing-tests))))
(replace 'check
(lambda _
;; No test target, so we build and run the unit tests here.
@@ -514,7 +537,7 @@ single hidden layer, and for multinomial log-linear models.")
`(("pkg-config" ,pkg-config)))
(inputs
`(("giflib" ,giflib)
- ;("lapack" ,lapack) XXX lapack here causes test failures in some setups.
+ ("lapack" ,lapack)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libx11" ,libx11)
--
2.9.3