[PATCH 0/2] Fix build for astyle

  • Done
  • quality assurance status badge
Details
One participant
  • Hartmut Goebel
Owner
unassigned
Submitted by
Hartmut Goebel
Severity
normal
H
H
Hartmut Goebel wrote on 7 Nov 2019 11:16
(address . guix-patches@gnu.org)
20191107101604.3211-1-h.goebel@crazy-compilers.com
- header files have been not been installed
- The Makefile only creates files with a versioned extension (".so.3.1.0").
To make cmake's `find_libarary()` and phase `verify-runpath` happy,
add symlinks for ".so" and ".so.3".

Thus is a revised patchset for http://issues.guix.gnu.org/issue/38090.

Hartmut Goebel (2):
gnu: astyle: Create symlinks for .so files, too.
gnu: astyle: Install header file, too.

gnu/packages/code.scm | 32 +++++++++++++++++++++++++-------
1 file changed, 25 insertions(+), 7 deletions(-)

--
2.21.0
H
H
Hartmut Goebel wrote on 7 Nov 2019 11:18
[PATCH 1/2] gnu: astyle: Create symlinks for .so files, too.
(address . 38098@debbugs.gnu.org)
20191107101810.3284-1-h.goebel@crazy-compilers.com
The Makefile only creates files with a versioned extension (.so.3.1.0),
which are not picked up be cmake's `find_libarary()`. (Instead cmake
picks up the static .a library.)

Symlinks for .so.3 are required to avoid phase `verify-runpath` fails.

* gnu/packages/code.scm(astyle)[argumements]<modules>: New element.
<phases>{install-libs}: Add creating symlinks.
---
gnu/packages/code.scm | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)

Toggle diff (53 lines)
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 512ca5d365..a277434b36 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -599,6 +600,9 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
#: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
@@ -608,12 +612,22 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
;; Libraries are not installed by default
(let* ((output (assoc-ref outputs "out"))
(libdir (string-append output "/lib")))
- (begin
- (mkdir-p libdir)
- (for-each (lambda (l)
- (copy-file
- l (string-append libdir "/" (basename l))))
- (find-files "bin" "lib*"))))
+ (define (make-so-link sofile strip-pattern)
+ (symlink
+ (basename sofile)
+ (regexp-substitute #f
+ (string-match strip-pattern sofile)
+ 'pre)))
+ (mkdir-p libdir)
+ (for-each (lambda (l)
+ (copy-file
+ l (string-append libdir "/" (basename l))))
+ (find-files "bin" "lib*"))
+ (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\\..*")))
#t)))))
(home-page "http://astyle.sourceforge.net/")
(synopsis "Source code indenter, formatter, and beautifier")
--
2.21.0
H
H
Hartmut Goebel wrote on 7 Nov 2019 11:18
[PATCH 2/2] gnu: astyle: Install header file, too.
(address . 38098@debbugs.gnu.org)
20191107101810.3284-2-h.goebel@crazy-compilers.com
* gnu/packages/code.scm(astyle)[arguments]<phases>{install-libs}: Also
install header file.
---
gnu/packages/code.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index a277434b36..ba350b98e5 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -609,8 +609,9 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
(lambda _ (chdir "build/gcc") #t))
(add-after 'install 'install-libs
(lambda* (#:key outputs #:allow-other-keys)
- ;; Libraries are not installed by default
+ ;; 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
@@ -618,6 +619,9 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
(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
--
2.21.0
H
H
Hartmut Goebel wrote on 21 Nov 2019 19:00
Re: bug#38098: Acknowledgement ([PATCH 0/2] Fix build for astyle)
(address . 38098-close@debbugs.gnu.org)
a9555379-8925-c8be-d9bb-e5d3dd719e03@crazy-compilers.com
Pushed as 0c6ab52243353e3417e5a9733bb089e4771cc86e
?