summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorFelix Gruber <felgru@posteo.net>2022-01-07 22:02:17 +0000
committerLudovic Courtès <ludo@gnu.org>2022-01-11 20:35:00 +0100
commitcd68fc1e42f3f233ba5ccfd1323e46509a970d6b (patch)
tree501a5e141bdacb540776c7441cce650cf64b7dc8 /gnu/packages/maths.scm
parent86e196dd572d89a34d86e481a543e4dc9541533d (diff)
downloadguix-patches-cd68fc1e42f3f233ba5ccfd1323e46509a970d6b.tar
guix-patches-cd68fc1e42f3f233ba5ccfd1323e46509a970d6b.tar.gz
gnu: ceres: Update to 2.0.0.
* gnu/packages/maths.scm (ceres): Update to 2.0.0. [inputs]: Use simplified format. (ceres-solver-benchmarks)[phases]: Add schur_eliminator_benchmark. Replace autodiff_cost_function_benchmark with new autodiff_benchmarks. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm41
1 files changed, 22 insertions, 19 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index f4dba92c11..ceafa4f7c8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2437,7 +2437,7 @@ satisfiability checking (SAT).")
(define-public ceres
(package
(name "ceres-solver")
- (version "1.14.0")
+ (version "2.0.0")
(home-page "http://ceres-solver.org/")
(source (origin
(method url-fetch)
@@ -2445,7 +2445,7 @@ satisfiability checking (SAT).")
version ".tar.gz"))
(sha256
(base32
- "13lfxy8x58w8vprr0nkbzziaijlh0vvqshgahvcgw0mrqdgh0i27"))))
+ "00vng9vnmdb1qga01m0why90m0041w7bn6kxa2h4m26aflfqla8h"))))
(build-system cmake-build-system)
(arguments
;; TODO: Build HTML user documentation and install separately.
@@ -2464,11 +2464,11 @@ satisfiability checking (SAT).")
(propagated-inputs
(list glog)) ;for #include <glog/glog.h>
(inputs
- `(("eigen" ,eigen)
- ("blas" ,openblas)
- ("lapack" ,lapack)
- ("suitesparse" ,suitesparse)
- ("gflags" ,gflags)))
+ (list eigen
+ openblas
+ lapack
+ suitesparse
+ gflags))
(synopsis "C++ library for solving large optimization problems")
(description
"Ceres Solver is a C++ library for modeling and solving large,
@@ -2506,21 +2506,24 @@ can solve two kinds of problems:
"pkg-config" "eigen3"
"--cflags"))))
- (define (compile-file file)
- (let ((source (string-append file ".cc")))
- (format #t "building '~a'...~%" file)
- (apply invoke "c++" "-fopenmp" "-O2" "-g" "-DNDEBUG"
- source "-lceres" "-lbenchmark" "-lglog"
- "-pthread"
- "-o" (string-append bin "/" file)
- "-I" ".." flags)))
+ (define (compile-file top-dir)
+ (lambda (file)
+ (let ((source (string-append file ".cc")))
+ (format #t "building '~a'...~%" file)
+ (apply invoke "c++" "-fopenmp" "-O2" "-g" "-DNDEBUG"
+ source "-lceres" "-lbenchmark" "-lglog"
+ "-pthread"
+ "-o" (string-append bin "/" file)
+ "-I" top-dir flags))))
(mkdir-p bin)
(with-directory-excursion "internal/ceres"
- (for-each compile-file
- '("small_blas_gemm_benchmark"
- "small_blas_gemv_benchmark"
- "autodiff_cost_function_benchmark"))))))
+ (for-each (compile-file "..")
+ '("schur_eliminator_benchmark"
+ "small_blas_gemm_benchmark"
+ "small_blas_gemv_benchmark"))
+ (with-directory-excursion "autodiff_benchmarks"
+ ((compile-file "../..") "autodiff_benchmarks"))))))
(delete 'check)
(delete 'install))))
(inputs (modify-inputs (package-inputs ceres)