all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#32670] [PATCH] gnu: Add libabigail.
@ 2018-09-09 12:09 Marius Bakke
  2018-09-10 13:31 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2018-09-09 12:09 UTC (permalink / raw)
  To: 32670

* 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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#32670] [PATCH] gnu: Add libabigail.
  2018-09-09 12:09 [bug#32670] [PATCH] gnu: Add libabigail Marius Bakke
@ 2018-09-10 13:31 ` Ludovic Courtès
  2018-09-10 18:33   ` bug#32670: " Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2018-09-10 13:31 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 32670

Hi Marius,

Marius Bakke <mbakke@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’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#32670: [PATCH] gnu: Add libabigail.
  2018-09-10 13:31 ` Ludovic Courtès
@ 2018-09-10 18:33   ` Marius Bakke
  0 siblings, 0 replies; 3+ messages in thread
From: Marius Bakke @ 2018-09-10 18:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 32670-done

[-- Attachment #1: Type: text/plain, Size: 556 bytes --]

ludo@gnu.org (Ludovic Courtès) writes:

> Marius Bakke <mbakke@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.  :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-09-10 18:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-09 12:09 [bug#32670] [PATCH] gnu: Add libabigail Marius Bakke
2018-09-10 13:31 ` Ludovic Courtès
2018-09-10 18:33   ` bug#32670: " Marius Bakke

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.