From 6b6aca9b363d9c453892b41691734a03fabe1faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 6 Apr 2017 18:13:30 +0200 Subject: [PATCH] gnu: flann: Move .mex file to a separate "octave" output. That way the closure of flann:out is down from 1 GiB to 290 MiB. * gnu/packages/maths.scm (flann)[outputs]: New field. [arguments]: Add 'set-octave-directory' phase. --- gnu/packages/maths.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 5a06afa220..38beb88d0a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2719,6 +2719,8 @@ (define-public flann (base32 "022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz")))) (build-system cmake-build-system) + (outputs '("out" + "octave")) ;46 MiB .mex file that pulls Octave (native-inputs `(("unzip" ,unzip))) (inputs @@ -2736,6 +2738,14 @@ (define-public flann ;; Save 12 MiB by not installing .a files. Passing ;; '-DBUILD_STATIC_LIBS=OFF' has no effect. #:phases (modify-phases %standard-phases + (add-before 'configure 'set-octave-directory + (lambda* (#:key outputs #:allow-other-keys) + ;; Install the .mex file in the "octave" output. + (let ((out (assoc-ref outputs "octave"))) + (substitute* "src/matlab/CMakeLists.txt" + (("share/flann/octave") + (string-append out "/share/flann/octave"))) + #t))) (add-after 'install 'remove-static-libraries (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))