GNU bug report logs - #56642
[PATCH] gnu: Make libphonenumber reproducible.

Previous Next

Package: guix-patches;

Reported by: Antero Mejr <antero <at> mailbox.org>

Date: Tue, 19 Jul 2022 15:29:01 UTC

Severity: normal

Tags: patch

Done: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#56642: closed ([PATCH] gnu: Make libphonenumber reproducible.)
Date: Wed, 27 Jul 2022 14:59:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 27 Jul 2022 16:57:51 +0200
with message-id <79c9fe14-3bc2-1f21-e3d7-7b26678b49f6 <at> web.de>
and subject line Re: [PATCH v2] gnu: libphonenumber: Build reproducibly.
has caused the debbugs.gnu.org bug report #56642,
regarding [PATCH] gnu: Make libphonenumber reproducible.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
56642: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56642
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Antero Mejr <antero <at> mailbox.org>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Make libphonenumber reproducible.
Date: Tue, 19 Jul 2022 11:27:50 -0400
* gnu/packages/telephony.scm (libphonenumber): New variable.
* gnu/packages/messaging.scm (libphonenumber): Delete variable (moved).
---
Moved libphonenumber because it's a telephony package, plus it will avoid
circular deps for other telephony packages than depend on it (like pn).
Used substitute* instead of a patch to make libphonenumber reproducible
because it's a 2-line change, I can do it using a patch if preferred.

 gnu/packages/messaging.scm | 32 -----------------------------
 gnu/packages/telephony.scm | 42 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b68a798715..f08df1a5e4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2772,38 +2772,6 @@ (define-public purple-lurch
     (home-page "https://github.com/gkdr/lurch")
     (license license:gpl3+)))
 
-(define-public libphonenumber
-  (package
-   (name "libphonenumber")
-   (version "8.11.3")
-   (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/google/libphonenumber")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "06y3mh1d1mks6d0ynxp3980g712nkf8l5nyljpybsk326b246hg9"))))
-   (arguments
-    `(#:test-target "tests"
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'change-directory
-          (lambda _ (chdir "cpp"))))))
-   (build-system cmake-build-system)
-   (native-inputs
-    (list googletest pkg-config))
-   (inputs
-    (list boost protobuf icu4c))
-   (synopsis "Library for parsing and using phone numbers")
-   (description
-    "This package provides a C++ library for parsing, formatting, and
-validating international phone numbers.")
-   (home-page "https://github.com/google/libphonenumber")
-   (license license:asl2.0)))
-
-
 (define-public chatty
  (package
    (name "chatty")
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index e3071d9b75..410d3d8591 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2021 LibreMiami <packaging-guix <at> libremiami.org>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian <at> mgsn.dev>
 ;;; Copyright © 2021 Demis Balbach <db <at> minikn.xyz>
+;;; Copyright © 2022 Antero Mejr <antero <at> mailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,6 +64,7 @@ (define-module (gnu packages telephony)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linphone)
@@ -893,3 +895,43 @@ (define-public libtgvoip
 telephony functionality into custom Telegram clients.")
     (home-page "https://github.com/zevlg/libtgvoip")
     (license license:unlicense)))
+
+(define-public libphonenumber
+  (package
+    (name "libphonenumber")
+    (version "8.11.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/google/libphonenumber")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "06y3mh1d1mks6d0ynxp3980g712nkf8l5nyljpybsk326b246hg9"))))
+    (arguments
+     (list #:test-target "tests"
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'make-reproducible
+                 (lambda _
+                   (substitute*
+                       "tools/cpp/src/cpp-build/generate_geocoding_data.cc"
+                     (("return errno == 0;") "
+std::sort(entries->begin(), entries->end());
+      return errno == 0;")
+                     (("DirEntryKinds kind\\(\\) const \\{ return kind_; \\}") "
+DirEntryKinds kind() const { return kind_; }
+bool operator<(const DirEntry& d) { return name_ < d.name(); }"))))
+               (add-after 'make-reproducible 'change-directory
+                 (lambda _
+                   (chdir "cpp"))))))
+    (build-system cmake-build-system)
+    (native-inputs (list googletest pkg-config))
+    (inputs (list boost protobuf icu4c))
+    (synopsis "Library for parsing and using phone numbers")
+    (description
+     "This package provides a C++ library for parsing, formatting, and
+validating international phone numbers.")
+    (home-page "https://github.com/google/libphonenumber")
+    (license license:asl2.0)))
-- 
2.36.1



[Message part 3 (message/rfc822, inline)]
From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: Antero Mejr <antero <at> mailbox.org>, 56642-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2] gnu: libphonenumber: Build reproducibly.
Date: Wed, 27 Jul 2022 16:57:51 +0200
On 20.07.22 02:36, Antero Mejr wrote:
> * gnu/packages/messaging.scm (libphonenumber): Add patch.
> * gnu/packages/patches/libphonenumber-reproducible-build.patch: New
> file.
> ---
> I didn't report upstream because they don't have an issue tracker and
> PRs require signing the Google CLA. If someone willing to sign the CLA
> wants to submit the patch, please go ahead. However, updating libphonenumber
> to 8.12.X breaks evolution-data-server.

Hi Antero,

I pushed the change now as ecb91c993dcce7e6c3faa0d156013dac42380cc6. I
registered the patch at gnu/local.mk and added your comment ontop of the
patch. As that's what our linter makes happy :)

~Jonathan


This bug report was last modified 2 years and 300 days ago.

Previous Next


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