diff mbox series

[bug#50796] gnu: Add pn.

Message ID 20210925032815.68194-1-antero@mailbox.org
State Accepted
Headers show
Series [bug#50796] gnu: Add pn. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Antero Mejr Sept. 25, 2021, 3:28 a.m. UTC
* gnu/packages/telephony.scm (pn): New variable.
---
Add pn and its dependencies.
It's a phone number CLI tool used by Linux phone GUIs like SXMO.

 gnu/packages/telephony.scm | 72 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

Comments

Xinglu Chen Sept. 28, 2021, 6:59 p.m. UTC | #1
On Fri, Sep 24 2021, Antero Mejr via Guix-patches via wrote:

> * gnu/packages/telephony.scm (pn): New variable.

The ‘libphonenumber’ package is also added; this should be split into
patches, each adding one new package.

> ---
> Add pn and its dependencies.
> It's a phone number CLI tool used by Linux phone GUIs like SXMO.
>
>  gnu/packages/telephony.scm | 72 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 72 insertions(+)
>
> diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
> index 48bbe12920..9015cf536a 100644
> --- a/gnu/packages/telephony.scm
> +++ b/gnu/packages/telephony.scm
> @@ -20,6 +20,7 @@
>  ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
>  ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
>  ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
> +;;; Copyright © 2021 Antero Mejr <antero@mailbox.org>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -54,12 +55,14 @@
>    #:use-module (gnu packages documentation)
>    #:use-module (gnu packages file)
>    #:use-module (gnu packages protobuf)
> +  #:use-module (gnu packages gawk)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages gl)
>    #:use-module (gnu packages glib)
>    #: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)
> @@ -907,3 +910,72 @@ Initiation Protocol (SIP) and a multimedia framework.")
>  telephony functionality into custom Telegram clients.")
>      (home-page "https://github.com/zevlg/libtgvoip")
>      (license license:unlicense)))
> +
> +(define-public libphonenumber
> +  (package
> +    (name "libphonenumber")
> +    (version "8.12.33")
> +    (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
> +          "0r12icyig6jy0v87j9n3w14acfa2yfckzzfbmnjx1hww6qc9ih25"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:tests? #f

There should be a comment explaining why tests are disabled.

> +       #:phases
> +        (modify-phases %standard-phases
> +          (add-after 'unpack 'enter-dir
> +            (lambda _ (chdir "cpp") #t)))))

Phases don’t have to return #t.

> +    (inputs
> +     `(("boost" ,boost)
> +       ("googletest" ,googletest)
> +       ("protobuf" ,protobuf)
> +       ("icu4c" ,icu4c)))
> +    (home-page "https://github.com/google/libphonenumber")
> +    (synopsis "C++ library for phone number parsing")
> +    (description
> +     "libphonenumber is Google's common Java, C++ and JavaScript library for
> +parsing, formatting, and validating international phone numbers.")

I would use @code{libphonenumber}.

The package doesn’t seem to be reproducible; ‘guix build libphonenumber
--rounds=2’ fails with

--8<---------------cut here---------------start------------->8---
guix build: error: derivation `/gnu/store/a0vycg9ic70bziygn098bbvw4hy39zzb-libphonenumber-8.12.33.drv' may not be deterministic: output `/gnu/store/1ifj4ndpf3mv8nwbjp0gzrx5jpjvghgb-libphonenumber-8.12.33' differs
--8<---------------cut here---------------end--------------->8---

Could you look into this?

> +    (license license:asl2.0)))
> +
> +(define-public pn
> +  (package
> +    (name "pn")
> +    (version "0.9.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/Orange-OpenSource/pn")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> +         "1lvzb0yixj7wmmqzsri20k9nn3gf06j0yjvmg2mi1zihywq7s4dx"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:tests? #f

Why are tests disabled?

> +       #:phases
> +        (modify-phases %standard-phases
> +         (add-after 'unpack 'sub-bin-path
> +           (lambda _
> +             (substitute* "CMakeLists.txt" (("DESTINATION \\$\\{AWKLIBPATH\\}")
> +                                             "DESTINATION bin")))))))
> +    (inputs
> +     `(("libphonenumber" ,libphonenumber)
> +       ("icu4c" ,icu4c)
> +       ("protobuf" ,protobuf)
> +       ("gawk" ,gawk)))
> +    (home-page "https://github.com/Orange-OpenSource/pn")
> +    (synopsis "Command-line validation tool for phone numbers")
> +    (description
> +     "pn is a tool that allows command line user/programmers to operate on
> +phone numbers (get validity information, reformat them, or extract numbers
> +from a text snippet), using libphonenumber.")

I suggest

  @code{pn} provides a command line tools that allows on to operate on
  phone numbers (get validity information, reformat them, or extract
  numbers from a text snippet), using @code{libphonenumber}.
Antero Mejr Sept. 28, 2021, 8:56 p.m. UTC | #2
Thanks for the suggestions Xinglu, I updated with the changes.

> The package doesn’t seem to be reproducible; ‘guix build libphonenumber
> --rounds=2’ fails

libphonenumber reproduces on my main computer, I can try again with a different one later:
successfully built /gnu/store/dyf2a70slkvfxf4qcims3q69a51ydb0x-libphonenumber-8.12.33.drv
successfully built /gnu/store/dyf2a70slkvfxf4qcims3q69a51ydb0x-libphonenumber-8.12.33.drv
diff mbox series

Patch

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48bbe12920..9015cf536a 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -20,6 +20,7 @@ 
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
+;;; Copyright © 2021 Antero Mejr <antero@mailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -54,12 +55,14 @@ 
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages file)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #: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)
@@ -907,3 +910,72 @@  Initiation Protocol (SIP) and a multimedia framework.")
 telephony functionality into custom Telegram clients.")
     (home-page "https://github.com/zevlg/libtgvoip")
     (license license:unlicense)))
+
+(define-public libphonenumber
+  (package
+    (name "libphonenumber")
+    (version "8.12.33")
+    (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
+          "0r12icyig6jy0v87j9n3w14acfa2yfckzzfbmnjx1hww6qc9ih25"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'enter-dir
+            (lambda _ (chdir "cpp") #t)))))
+    (inputs
+     `(("boost" ,boost)
+       ("googletest" ,googletest)
+       ("protobuf" ,protobuf)
+       ("icu4c" ,icu4c)))
+    (home-page "https://github.com/google/libphonenumber")
+    (synopsis "C++ library for phone number parsing")
+    (description
+     "libphonenumber is Google's common Java, C++ and JavaScript library for
+parsing, formatting, and validating international phone numbers.")
+    (license license:asl2.0)))
+
+(define-public pn
+  (package
+    (name "pn")
+    (version "0.9.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Orange-OpenSource/pn")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1lvzb0yixj7wmmqzsri20k9nn3gf06j0yjvmg2mi1zihywq7s4dx"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+        (modify-phases %standard-phases
+         (add-after 'unpack 'sub-bin-path
+           (lambda _
+             (substitute* "CMakeLists.txt" (("DESTINATION \\$\\{AWKLIBPATH\\}")
+                                             "DESTINATION bin")))))))
+    (inputs
+     `(("libphonenumber" ,libphonenumber)
+       ("icu4c" ,icu4c)
+       ("protobuf" ,protobuf)
+       ("gawk" ,gawk)))
+    (home-page "https://github.com/Orange-OpenSource/pn")
+    (synopsis "Command-line validation tool for phone numbers")
+    (description
+     "pn is a tool that allows command line user/programmers to operate on
+phone numbers (get validity information, reformat them, or extract numbers
+from a text snippet), using libphonenumber.")
+    (license license:asl2.0)))