ng0 (2016-12-06 20:04 +0000) wrote: > * gnu/packages/libreoffice.scm (libreoffice)[arguments]: Create symlink to > libreoffice in new phase. > --- > gnu/packages/libreoffice.scm | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm > index e02e4f4cd..5f1435745 100644 > --- a/gnu/packages/libreoffice.scm > +++ b/gnu/packages/libreoffice.scm > @@ -2,6 +2,7 @@ > ;;; Copyright © 2014 John Darrington > ;;; Copyright © 2015 Andreas Enge > ;;; Copyright © 2016 Efraim Flashner > +;;; Copyright © 2016 ng0 > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -828,7 +829,15 @@ and to return information on pronunciations, meanings and synonyms.") > (symlink > (string-append out "/lib/libreoffice/program/soffice") > (string-append bin "/soffice"))) > - #t))) > + #t)) > + (add-after 'bin-install 'symlink-libreoffice > + ;; Create a symlink bin/libreoffice to the executable script. > + (lambda* (#:key outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out"))) This 'let*' is not needed (since you don't use 'out' variable), however I've just noticed that there is 'bin-install' phase right before it, so I think an additional phase is not needed at all, the required symlinking can be done in that 'bin-install' phase. > + (with-directory-excursion > + (string-append (assoc-ref outputs "out") "/bin") > + (symlink "soffice" "libreoffice")) > + #t))) > #:configure-flags > (list > "--enable-release-build" Previously I thought that libreoffice provides "bin/soffice" binary, so I "voted" for a symlink (as it would simply be "libreoffice -> soffice"). But now I see that "soffice" is a symlink created by 'bin-install' phase. So now I would just modify that phase like this: