gnu: Add dlib.
* gnu/packages/machine-learning.scm (dlib): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
parent
f47dc8dd10
commit
5f0ff6a9e9
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
|
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -27,18 +28,21 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system r)
|
#:use-module (guix build-system r)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages algebra)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages dejagnu)
|
#:use-module (gnu packages dejagnu)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages statistics)
|
#:use-module (gnu packages statistics)
|
||||||
#:use-module (gnu packages swig)
|
#:use-module (gnu packages swig)
|
||||||
#:use-module (gnu packages xml))
|
#:use-module (gnu packages xml)
|
||||||
|
#:use-module (gnu packages xorg))
|
||||||
|
|
||||||
(define-public libsvm
|
(define-public libsvm
|
||||||
(package
|
(package
|
||||||
|
@ -467,3 +471,64 @@ geometric models.")
|
||||||
"This package provides functions for feed-forward neural networks with a
|
"This package provides functions for feed-forward neural networks with a
|
||||||
single hidden layer, and for multinomial log-linear models.")
|
single hidden layer, and for multinomial log-linear models.")
|
||||||
(license (list license:gpl2+ license:gpl3+))))
|
(license (list license:gpl2+ license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public dlib
|
||||||
|
(package
|
||||||
|
(name "dlib")
|
||||||
|
(version "19.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://dlib.net/files/dlib-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0p2pvcdalc6jhb6r99ybvjd9x74sclr0ngswdg9j2xl5pj7knbr4"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Delete ~13MB of bundled dependencies.
|
||||||
|
(delete-file-recursively "dlib/external")
|
||||||
|
(delete-file-recursively "docs/dlib/external")))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'disable-asserts
|
||||||
|
(lambda _
|
||||||
|
;; config.h recommends explicitly enabling or disabling asserts
|
||||||
|
;; when building as a shared library. By default neither is set.
|
||||||
|
(substitute* "dlib/config.h"
|
||||||
|
(("^//#define DLIB_DISABLE_ASSERTS") "#define DLIB_DISABLE_ASSERTS"))
|
||||||
|
#t))
|
||||||
|
(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)
|
||||||
|
(with-directory-excursion test-dir
|
||||||
|
(and (zero? (system* "cmake" ".."))
|
||||||
|
(zero? (system* "cmake" "--build" "." "--config" "Release"))
|
||||||
|
(zero? (system* "./dtest" "--runall")))))))
|
||||||
|
(add-after 'install 'delete-static-library
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(delete-file (string-append (assoc-ref outputs "out") "/lib/libdlib.a")))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("fftw" ,fftw)
|
||||||
|
("giflib" ,giflib)
|
||||||
|
;("lapack" ,lapack) XXX lapack here causes test failures in some setups.
|
||||||
|
("libjpeg" ,libjpeg)
|
||||||
|
("libpng" ,libpng)
|
||||||
|
("libx11" ,libx11)
|
||||||
|
("openblas" ,openblas)
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
(synopsis
|
||||||
|
"Toolkit for making machine learning and data analysis applications in C++")
|
||||||
|
(description
|
||||||
|
"Dlib is a modern C++ toolkit containing machine learning algorithms and
|
||||||
|
tools. It is used in both industry and academia in a wide range of domains
|
||||||
|
including robotics, embedded devices, mobile phones, and large high performance
|
||||||
|
computing environments.")
|
||||||
|
(home-page "http://dlib.net")
|
||||||
|
(license license:boost1.0)))
|
||||||
|
|
Loading…
Reference in New Issue