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 > ;;; Copyright © 2020 Vincent Legoll > ;;; Copyright © 2021 LibreMiami > +;;; Copyright © 2021 Antero Mejr > ;;; > ;;; 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}.