unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: maxim.cournoyer@gmail.com
To: Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
Cc: 42229@debbugs.gnu.org
Subject: [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
Date: Tue, 04 Aug 2020 00:40:25 -0400	[thread overview]
Message-ID: <87zh7bdnwm.fsf@hurd.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <20200706155030.1938-8-tona_kosmicznego_smiecia@interia.pl> (Jan Wielkiewicz's message of "Mon, 6 Jul 2020 17:50:29 +0200")

Hello Jan!

Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (define-module): Add copy-build-system.
> (libringclient)[source]: Delete chatview files.
> [arguments]: Remove chatview files from CMakeLists.txt.
> (jami-chatview): New variable.
> (jami)[source]: Delete chatview directory.
> [inputs]: Add jami-chatview.
> [arguments]: Copu chatview files to destination.
> ---
>  gnu/packages/jami.scm | 80 ++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 79 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index ea94efb2f9..58e10ae6d8 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -56,6 +56,7 @@
>    #:use-module (gnu packages xorg)
>    #:use-module (gnu packages)
>    #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system copy)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
> @@ -526,6 +527,16 @@ functionality.")
>                        (url "https://review.jami.net/ring-lrc")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> +                (modules '((guix build utils)))
> +                ;; The chatview is a common code among Jami clients.
> +                ;; Since Guix likes functional design, I'm removing
> +                ;; the directory containing it and making it a new
> +                ;; package. The other reason is that there is no
> +                ;; any rule in the build system to check if it is
> +                ;; included.
> +                (snippet
> +                 '(begin
> +                    (delete-file-recursively "src/web-chatview")))
>                  (sha256
>                   (base32
>                    "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
> @@ -542,6 +553,21 @@ functionality.")
>                                (assoc-ref %build-inputs "libring") "/include"))
>           #:phases
>           (modify-phases %standard-phases
> +           (add-after 'unpack 'do-not-install-chatview
> +             (lambda _
> +               (substitute* "CMakeLists.txt"
> +                 (("src/web-chatview/.eslintrc.json") "")
> +                 (("src/web-chatview/chatview-gnome.css") "")
> +                 (("src/web-chatview/chatview.css") "")
> +                 (("src/web-chatview/chatview.html") "")
> +                 (("src/web-chatview/chatview.js") "")
> +                 (("src/web-chatview/jed.js") "")
> +                 (("src/web-chatview/linkify-html.js") "")
> +                 (("src/web-chatview/linkify-string.js") "")
> +                 (("src/web-chatview/linkify.js") "")
> +                 (("src/web-chatview/qwebchannel.js") "")
> +                 (("src/web-chatview/web.gresource.xml") ""))
> +               #t))
>             (add-before 'configure 'fix-dbus-interfaces-path
>               (lambda* (#:key inputs #:allow-other-keys)
>                 (substitute* "CMakeLists.txt"
> @@ -558,6 +584,40 @@ This package provides a library common to all Jami clients.")
>        (home-page "https://jami.net")
>        (license license:gpl3+))))
>  
> +(define-public jami-chatview
> +  (let ((commit "0a790d86a20ae80e5d2ee0d35452fa77cfb8cc40")
> +        (revision "0"))
> +    (package
> +      (name "jami-chatview")
> +      (version (git-version %jami-version revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://review.jami.net/jami-chatview")
> +                      (commit commit)))

This doesn't seem to be the canonical place to get the latest chatview.
Rather, it lives in the LRC repo [0]. It was copied there sometime in 2019,
and no new commit were made to the repo you used above since.

[0]  https://git.jami.net/savoirfairelinux/ring-lrc/commits/master/src/web-chatview

> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1zb3qa1x37kclbgk4wdg6qp4ivr6513ypj8s4k0qjps7h2clgna8"))))
> +      (build-system copy-build-system)
> +      (arguments
> +       '(#:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'allow-copying
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               ;; Permissions of this file are not right.
> +               ;; Let's change this to allow installing it properly.
> +               (chmod ".eslintrc.json" #o644)
> +               #t)))
> +         #:install-plan '(("." "include/libringclient/web-chatview")
> +                          (".eslintrc.json"
> +                           "include/libringclient/web-chatview/.eslintrc.json"))))
> +      (synopsis "Chatview for Jami")
> +      (description "Web chatview for Jami - html, css, js files.
> +It provides some common code for Jami clients.")
> +      (home-page "https://jami.net")
> +      (license license:gpl3+))))
> +
>  (define-public jami
>    (let ((commit "85cda2e1fde84230f6b9f5419f9ec1e23867c2a1")
>          (revision "0"))
> @@ -570,6 +630,11 @@ This package provides a library common to all Jami clients.")
>                        (url "https://review.jami.net/ring-client-gnome")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> +                (modules '((guix build utils)))
> +                ;; The web directory contains links to nowhere
> +                (snippet
> +                 '(begin
> +                    (delete-file-recursively "web")))
>                  (sha256
>                   (base32
>                    "0xzcx8x04yc8m8b2vf7sxfgw79idbm0hifzaw4s2vh26hyy9sp2g"))))
> @@ -584,6 +649,8 @@ This package provides a library common to all Jami clients.")
>           ("clutter-gtk" ,clutter-gtk)
>           ("libcanberra" ,libcanberra)
>           ("libnm" ,network-manager)
> +         ("jami-chatview" ,jami-chatview)
> +         ("qtbase" ,qtbase)
>           ("webkitgtk" ,webkitgtk)
>           ("sqlite" ,sqlite)))
>        (native-inputs
> @@ -596,7 +663,18 @@ This package provides a library common to all Jami clients.")
>           ("adwaita-icon-theme" ,adwaita-icon-theme)
>           ("evolution-data-server" ,evolution-data-server)))
>        (arguments
> -       `(#:tests? #f)) ; There is no testsuite.
> +       `(#:tests? #f ; There is no testsuite.
> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'copy-chatview-files
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (let ((chatview
> +                      (string-append
> +                       (assoc-ref inputs "jami-chatview")
> +                       "/include/libringclient/web-chatview"))
> +                     (destination-dir "web"))
> +                 (copy-recursively chatview destination-dir))
> +               #t)))))
>        (synopsis "Distributed, privacy-respecting communication program")
>        (description "Jami (formerly GNU Ring) is a secure and distributed voice,
>  video and chat communication platform that requires no centralized server and

As I understand it, jami-chatview is *not* maintained as a distinct
component upstream, hence it makes little sense to maintain it as one in
Guix: it'd burden us with maintaining it, with little to no gain.  IIUC,
all we need is to symlink the web-chatview from the lrc package, which
every Jami clients will already depend on.

The suggestion I'd make to upstream is to *install* those files as part
of a LRC installation (somewhere under share/), and then have the build
system check for their presence at configure time and use them directly.

Does that make sense?

Maxim




  parent reply	other threads:[~2020-08-04  4:41 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-06 15:34 [bug#42229] [PATCH 0/9] Jami update and refactor Jan Wielkiewicz
2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 2/9] gnu: libringclient: " Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 3/9] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 4/9] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
2020-08-04  4:20     ` maxim.cournoyer
2020-08-04 13:05       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input Jan Wielkiewicz
2020-07-06 21:24     ` Christopher Baines
2020-07-10 18:03       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient Jan Wielkiewicz
2020-07-06 20:56     ` Christopher Baines
2020-07-07 23:13       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
2020-07-06 21:19     ` Christopher Baines
2020-07-07 21:22       ` Jan Wielkiewicz
2020-07-08 19:14         ` Christopher Baines
2020-07-07 23:07       ` Jan Wielkiewicz
2020-08-04  4:40     ` maxim.cournoyer [this message]
2020-08-04 13:02       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 9/9] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 02/10] gnu: libringclient: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
2020-07-11 19:52     ` Christopher Baines
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 04/10] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
2020-07-11 19:57     ` Christopher Baines
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 06/10] gnu: jami: Add libnm as input Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 07/10] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 08/10] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation Jan Wielkiewicz
2020-07-11 20:12     ` Christopher Baines
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 10/10] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
2020-07-11 19:51   ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Christopher Baines
2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 2/4] gnu: opendht: Fix compilation of software using this package Jan Wielkiewicz
2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 3/4] gnu: jami: Bump to 20200710.1.6bd18d2 Jan Wielkiewicz
2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 4/4] gnu: pjproject-jami: Fix assertion bug Jan Wielkiewicz
2020-07-12 19:36   ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Christopher Baines
2021-03-31  5:27 ` bug#42229: [PATCH 0/9] Jami update and refactor Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zh7bdnwm.fsf@hurd.i-did-not-set--mail-host-address--so-tickle-me \
    --to=maxim.cournoyer@gmail.com \
    --cc=42229@debbugs.gnu.org \
    --cc=tona_kosmicznego_smiecia@interia.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).