GNU bug report logs - #32670
[PATCH] gnu: Add libabigail.

Previous Next

Package: guix-patches;

Reported by: Marius Bakke <mbakke <at> fastmail.com>

Date: Sun, 9 Sep 2018 12:10:01 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32670 in the body.
You can then email your comments to 32670 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#32670; Package guix-patches. (Sun, 09 Sep 2018 12:10:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Marius Bakke <mbakke <at> fastmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 09 Sep 2018 12:10:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add libabigail.
Date: Sun,  9 Sep 2018 14:09:00 +0200
* gnu/packages/linux.scm (libabigail): New public variable.
---

Notes:
    Guix,
    
    Look at this tool I found:
    
    $ abidiff /gnu/store/qx0hmn4scjd31w1nj4dr7hzr566gcls4-ghostscript-9.23/lib/libgs.so /gnu/store/l60v1b0xs8h9blzzf7b2m4ry55k76bhb-ghostscript-9.24/lib/libgs.so
    
    Functions changes summary: 0 Removed, 0 Changed, 0 Added function
    Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
    Function symbols changes summary: 2 Removed, 20 Added function symbols not referenced by debug info
    Variable symbols changes summary: 0 Removed, 2 Added variable symbols not referenced by debug info
    
    2 Removed function symbols not referenced by debug info:
    
      cmsChangeBuffersFormat
      gsicc_profile_reference
    
    20 Added function symbols not referenced by debug info:
    
      _cmsAdjustReferenceCount
      cmsCloneTransformChangingFormats
      default_subclass_finalize
      dorestore
      epo_check_and_install
      epo_disable
      gsicc_adjust_profile_rc
      gsicc_getprofilevers
      gx_change_color_model
      gx_get_cmapper
      opj_j2k_set_decoded_components
      opj_jp2_set_decoded_components
      opj_sparse_array_int32_create
      opj_sparse_array_int32_free
      opj_sparse_array_int32_read
      opj_sparse_array_int32_write
      opj_sparse_array_is_region_valid
      opj_tcd_is_subband_area_of_interest
      restore_check_save
      tiff_open_s
    
    2 Added variable symbols not referenced by debug info:
    
      gs_epo_device
      st_epo_device

 gnu/packages/linux.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 02d723316..f7aa2eb65 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1439,6 +1439,51 @@ a router).  Since forwarding is done at Layer 2, all protocols can go
 transparently through a bridge.")
     (license license:gpl2+)))
 
+(define-public libabigail
+  (package
+    (name "libabigail")
+    (home-page "https://sourceware.org/libabigail/")
+    (version "1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://sourceware.org/pub/" name
+                                  "/" name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "17r8i60lxykvdd9pdidmnvkzgf9k8zman0c1czl3zbx0znhlx497"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--disable-static")
+       #:make-flags '("V=1")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-source
+                    (lambda _
+                      (substitute* "build-aux/ltmain.sh"
+                        ;; Don't add -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
+                        ;; to the GCC command line.
+                        (("compiler_flags=\"-specs=.*")
+                         "compiler-flags=\n"))
+                      #t))
+                  (add-before 'check 'set-test-environment
+                    (lambda _
+                      ;; Some tests need a writeable $HOME.
+                      (setenv "HOME" "/tmp")
+                      #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python)))             ;for tests
+    (propagated-inputs
+     `(("elfutils" ,elfutils)           ;libabigail.la says -lelf
+       ("libxml2" ,libxml2)))           ;in Requires.private of libabigail.pc
+    (synopsis "Analyze Application Binary Interfaces")
+    (description
+     "@dfn{ABIGAIL} stands for the Application Binary Interface Generic
+Analysis and Instrumentation Library.  It is a framework which aims at
+helping developers and software distributors to spot ABI-related issues
+like interface incompatibility in ELF shared libraries by performing a
+static analysis of the ELF binaries at hand.")
+    (license license:lgpl3+)))
+
 (define-public libnl
   (package
     (name "libnl")
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#32670; Package guix-patches. (Mon, 10 Sep 2018 13:32:01 GMT) Full text and rfc822 format available.

Message #8 received at 32670 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 32670 <at> debbugs.gnu.org
Subject: Re: [bug#32670] [PATCH] gnu: Add libabigail.
Date: Mon, 10 Sep 2018 15:31:47 +0200
Hi Marius,

Marius Bakke <mbakke <at> fastmail.com> skribis:

> * gnu/packages/linux.scm (libabigail): New public variable.

I think this shouldn’t go in linux.scm because it’s unrelated to Linux.
What about elf.scm instead?

>     Look at this tool I found:
>     
>     $ abidiff /gnu/store/qx0hmn4scjd31w1nj4dr7hzr566gcls4-ghostscript-9.23/lib/libgs.so /gnu/store/l60v1b0xs8h9blzzf7b2m4ry55k76bhb-ghostscript-9.24/lib/libgs.so

Yeah it’s basically awesome.  :-)

> +    (synopsis "Analyze Application Binary Interfaces")

What about “Analyze application binary interfaces (ABIs)”?

Other than that LGTM, thank you!

Ludo’.




Reply sent to Marius Bakke <mbakke <at> fastmail.com>:
You have taken responsibility. (Mon, 10 Sep 2018 18:34:01 GMT) Full text and rfc822 format available.

Notification sent to Marius Bakke <mbakke <at> fastmail.com>:
bug acknowledged by developer. (Mon, 10 Sep 2018 18:34:02 GMT) Full text and rfc822 format available.

Message #13 received at 32670-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 32670-done <at> debbugs.gnu.org
Subject: Re: [bug#32670] [PATCH] gnu: Add libabigail.
Date: Mon, 10 Sep 2018 20:33:47 +0200
[Message part 1 (text/plain, inline)]
ludo <at> gnu.org (Ludovic Courtès) writes:

> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> * gnu/packages/linux.scm (libabigail): New public variable.
>
> I think this shouldn’t go in linux.scm because it’s unrelated to Linux.
> What about elf.scm instead?

That makes sense.

>> +    (synopsis "Analyze Application Binary Interfaces")
>
> What about “Analyze application binary interfaces (ABIs)”?

Yes, that's better.  Pushed with these changes, plus documentation and
bash completions!

Thanks for reviewing, as always.  :-)
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 09 Oct 2018 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 198 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.