~ruther/guix-local

cf6bbf185de5d025e6d07b8e9b5a2dbbf0386c6b — Tobias Geerinckx-Rice 2 years ago 4658173
gnu: astyle: Use G-expressions.

* gnu/packages/code.scm (astyle)[arguments]:
Rewrite as G-expressions.
1 files changed, 36 insertions(+), 34 deletions(-)

M gnu/packages/code.scm
M gnu/packages/code.scm => gnu/packages/code.scm +36 -34
@@ 845,42 845,44 @@ Objective@tie{}C, D, Java, Pawn, and Vala).  Features:
        (base32 "1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f                      ;no tests
       #:make-flags (list (string-append "prefix=" %output)
                          "INSTALL=install"
                          "all")
       #:modules ((guix build gnu-build-system) ;; FIXME use %default-modules
     (list
      #:tests? #f                       ;no tests
      #:make-flags
      #~(list (string-append "prefix=" #$output)
              "INSTALL=install"
              "all")
      #:modules '((guix build gnu-build-system) ;FIXME use %default-modules
                  (guix build utils)
                  (ice-9 regex))
       #:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda _ (chdir "build/gcc")))
         (add-after 'install 'install-libs
           (lambda* (#:key outputs #:allow-other-keys)
             ;; Libraries and includes are not installed by default
             (let* ((output (assoc-ref outputs "out"))
                    (incdir (string-append output "/include"))
                    (libdir (string-append output "/lib")))
               (define (make-so-link sofile strip-pattern)
                 (symlink
                  (basename sofile)
                  (regexp-substitute #f
                                     (string-match strip-pattern sofile)
                                     'pre)))
               (mkdir-p incdir)
               (copy-file "../../src/astyle.h"
                          (string-append incdir "/astyle.h"))
               (mkdir-p libdir)
               (for-each (lambda (l)
                           (copy-file
                            l (string-append libdir "/" (basename l))))
                         (find-files "bin" "^lib.*\\.so"))
               (for-each
                (lambda (sofile)
                  (make-so-link sofile "(\\.[0-9]){3}$")  ;; link .so
                  (make-so-link sofile "(\\.[0-9]){2}$")) ;; link .so.3
                (find-files libdir "lib.*\\.so\\..*"))))))))
      #:phases
      #~(modify-phases %standard-phases
          (replace 'configure
            (lambda _
              (chdir "build/gcc")))
          (add-after 'install 'install-more
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Libraries and headers aren't installed by default.
              (let ((include (string-append #$output "/include"))
                    (lib     (string-append #$output "/lib")))
                (define (link.so file strip-pattern)
                  (symlink
                   (basename file)
                   (regexp-substitute #f
                                      (string-match strip-pattern file)
                                      'pre)))
                (mkdir-p include)
                (copy-file "../../src/astyle.h"
                           (string-append include "/astyle.h"))
                (mkdir-p lib)
                (for-each (lambda (l)
                            (copy-file
                             l (string-append lib "/" (basename l))))
                          (find-files "bin" "^lib.*\\.so"))
                (for-each
                 (lambda (file)
                   (link.so file "(\\.[0-9]+){3}$")  ;.so
                   (link.so file "(\\.[0-9]+){2}$")) ;.so.3
                 (find-files lib "lib.*\\.so\\..*"))))))))
    (home-page "https://astyle.sourceforge.net/")
    (synopsis "Source code indenter, formatter, and beautifier")
    (description