From ffe7eee59cd7e00e76096c5021a770aeb35093b9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Nov 2017 20:45:21 +0100 Subject: [PATCH] =?UTF-8?q?gnu:=20protobuf:=20Add=20=E2=80=98static?= =?UTF-8?q?=E2=80=99=20output.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/protobuf.scm (protobuf)[outputs]: New field. [arguments]: Add new ‘move-static-libraries’ phase. --- gnu/packages/protobuf.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 2e681ca97d..02d58b1448 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -46,6 +46,24 @@ "0y6cr4l7bwa6zvjv5flzr4cx28shk5h8dz99xw90v8qih954pcrb")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) + (outputs (list "out" + "static")) ; ~12 MiB of .a files + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + ;; Move static libraries to the "static" output. + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (static (assoc-ref outputs "static")) + (slib (string-append static "/lib"))) + (mkdir-p slib) + (for-each (lambda (file) + (install-file file slib) + (delete-file file)) + (find-files lib "\\.a$")) + #t)))))) (home-page "https://github.com/google/protobuf") (synopsis "Data encoding for remote procedure calls (RPCs)") (description