[PATCH] New package file for BOINC client & server

  • Done
  • quality assurance status badge
Details
4 participants
  • Brian Leung
  • Brant Gardner
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Brant Gardner
Severity
normal
B
B
Brant Gardner wrote on 2 Apr 2019 18:24
(address . guix-patches@gnu.org)
17ee4c77-7bf9-4a4c-b856-f9ca4ff3c7db@www.fastmail.com
This is my first submission for contributing to Guix, so any feedback or advice is welcomed!

Thank you,

--
Brant Gardner
Attachment: file
L
L
Ludovic Courtès wrote on 10 Apr 2019 17:06
(name . Brant Gardner)(address . brantcgardner@brantware.com)(address . 35086@debbugs.gnu.org)
87zhoxc335.fsf@gnu.org
Hello Brant,

"Brant Gardner" <brantcgardner@brantware.com> skribis:

Toggle quote (2 lines)
> This is my first submission for contributing to Guix, so any feedback or advice is welcomed!

Thanks for joining!

I have some suggestions below, but overall its a great start!

Toggle quote (9 lines)
> From 2946bd1c83a2ea224841d22463992be599dfc385 Mon Sep 17 00:00:00 2001
> From: Brant Gardner <brantcgardner@brantware.com>
> Date: Tue, 2 Apr 2019 11:09:45 -0500
> Subject: [PATCH] Added distributed.scm
>
> New package file for BOINC and other distributed-computing projects. This
> initial file just includes boinc-client and boinc-server, both at version
> 7.14.2.

The convention is to write commit logs in ChangeLog format, as
described at:


But you can simply look at git log and mimic what you see. (You might
also want to take a look at
if you havent already.)

As for the module name, what about boinc.scm instead? Distributed
sounds a bit too generic to me.

Toggle quote (8 lines)
> +++ b/gnu/packages/distributed.scm
> @@ -0,0 +1,119 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright .? 2014, 2015 Ludovic Court.?s <ludo@gnu.org>
> +;;; Copyright .? 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
> +;;; Copyright .? 2018 Tobias Geerinckx-Rice <me@tobias.gr>
> +;;; Copyright .? 2018 Mathieu Othacehe <m.othacehe@gmail.com>

It should be just you here. :-)

Toggle quote (15 lines)
> + #:use-module (gnu packages autotools)
> + #:use-module (gnu packages base)
> + #:use-module (gnu packages compression)
> + #:use-module (gnu packages databases)
> + #:use-module (gnu packages pkg-config)
> + #:use-module (gnu packages tls)
> + #:use-module (gnu packages curl)
> + #:use-module (gnu packages wxwidgets)
> + #:use-module (gnu packages gnome)
> + #:use-module (gnu packages gtk)
> + #:use-module (gnu packages perl)
> + #:use-module (gnu packages sqlite)
> + #:use-module (gnu packages python)
> + #:use-module (gnu packages python-xyz))

I think you can trim this list.

Toggle quote (2 lines)
> + (synopsis "BOINC lets you help cutting-edge science research using your computer")

What about something like Contribute computing power to research projects?

Toggle quote (8 lines)
> + (description "BOINC is a platform for high-throughput computing on a large
> +scale (thousands or millions of computers). It can be used for volunteer
> +computing (using consumer devices) or grid computing (using organizational
> +resources). It supports virtualized, parallel, and GPU-based applications.
> +
> +BOINC is distributed under the LGPL open source license. It can be used for
> +commercial purposes, and applications need not be open source.")

This last paragraph is unnecessary: everything in Guix is free software,
so we never mention it in descriptions.

Toggle quote (6 lines)
> + (synopsis "BOINC lets you help cutting-edge science research using your computer")
> + (description "BOINC is a platform for high-throughput computing on a large
> +scale (thousands or millions of computers). It can be used for volunteer
> +computing (using consumer devices) or grid computing (using organizational
> +resources). It supports virtualized, parallel, and GPU-based applications.

It would be nice to have a slightly different synopsis and description
for the server and for the client.

Apart from that it LGTM! Could you double check that guix lint is
happy and send an updated patch?

Thank you!

Ludo.
B
B
Brant Gardner wrote on 10 Apr 2019 22:39
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 35086@debbugs.gnu.org)
47063553-553c-461d-abce-0f6732bc84ac@www.fastmail.com
Good afternoon;

On Wed, Apr 10, 2019, at 10:06, Ludovic Courtès wrote:
Toggle quote (30 lines)
> Hello Brant,
>
> "Brant Gardner" <brantcgardner@brantware.com> skribis:
>
> > This is my first submission for contributing to Guix, so any feedback or advice is welcomed!
>
> Thanks for joining!
>
> I have some suggestions below, but overall its a great start!
>
> > From 2946bd1c83a2ea224841d22463992be599dfc385 Mon Sep 17 00:00:00 2001
> > From: Brant Gardner <brantcgardner@brantware.com>
> > Date: Tue, 2 Apr 2019 11:09:45 -0500
> > Subject: [PATCH] Added distributed.scm
> >
> > New package file for BOINC and other distributed-computing projects. This
> > initial file just includes boinc-client and boinc-server, both at version
> > 7.14.2.
>
> The convention is to write commit logs in ChangeLog format, as
> described at:
>
> https://www.gnu.org/prep/standards/html_node/Change-Logs.html
>
> But you can simply look at git log and mimic what you see. (You might
> also want to take a look at
> <https://gnu.org/software/guix/manual/en/html_node/Submitting-Patches.html>
> if you havent already.)
>

Yeah, I was following the guide but I had accidentally already committed before I read the part on commit log format. I'll make a new one that follows the pattern this time.

Toggle quote (4 lines)
> As for the module name, what about boinc.scm instead? Distributed
> sounds a bit too generic to me.
>

Done :)
Toggle quote (11 lines)
> > +++ b/gnu/packages/distributed.scm
> > @@ -0,0 +1,119 @@
> > +;;; GNU Guix --- Functional package management for GNU
> > +;;; Copyright .© 2014, 2015 Ludovic Court.¨s <ludo@gnu.org>
> > +;;; Copyright .© 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
> > +;;; Copyright .© 2018 Tobias Geerinckx-Rice <me@tobias.gr>
> > +;;; Copyright .© 2018 Mathieu Othacehe <m.othacehe@gmail.com>
>
> It should be just you here. :-)
>

Got it, done.

Toggle quote (18 lines)
> > + #:use-module (gnu packages autotools)
> > + #:use-module (gnu packages base)
> > + #:use-module (gnu packages compression)
> > + #:use-module (gnu packages databases)
> > + #:use-module (gnu packages pkg-config)
> > + #:use-module (gnu packages tls)
> > + #:use-module (gnu packages curl)
> > + #:use-module (gnu packages wxwidgets)
> > + #:use-module (gnu packages gnome)
> > + #:use-module (gnu packages gtk)
> > + #:use-module (gnu packages perl)
> > + #:use-module (gnu packages sqlite)
> > + #:use-module (gnu packages python)
> > + #:use-module (gnu packages python-xyz))
>
> I think you can trim this list.
>

I don't believe so, I arrived at that list via 'build, fail on missing dependency, find it, add it, repeat'. This was the result - I know it's long and varied but it appears to be correct unless I misunderstand how to properly do dependencies.

Toggle quote (5 lines)
> > + (synopsis "BOINC lets you help cutting-edge science research using your computer")
>
> What about something like Contribute computing power to research projects?
>

Sure thing - but to be clear, these aren't my words. I copied/pasted from the project homepage 'About' section. I figured they wrote it, they knew how to describe it.

Toggle quote (11 lines)
> > + (description "BOINC is a platform for high-throughput computing on a large
> > +scale (thousands or millions of computers). It can be used for volunteer
> > +computing (using consumer devices) or grid computing (using organizational
> > +resources). It supports virtualized, parallel, and GPU-based applications.
> > +
> > +BOINC is distributed under the LGPL open source license. It can be used for
> > +commercial purposes, and applications need not be open source.")
>
> This last paragraph is unnecessary: everything in Guix is free software,
> so we never mention it in descriptions.

Got it, done.

Toggle quote (11 lines)
>
> > + (synopsis "BOINC lets you help cutting-edge science research using your computer")
> > + (description "BOINC is a platform for high-throughput computing on a large
> > +scale (thousands or millions of computers). It can be used for volunteer
> > +computing (using consumer devices) or grid computing (using organizational
> > +resources). It supports virtualized, parallel, and GPU-based applications.
>
> It would be nice to have a slightly different synopsis and description
> for the server and for the client.
>

Understood, I'll go over it and try to differentiate them a bit.

Toggle quote (4 lines)
> Apart from that it LGTM! Could you double check that guix lint is
> happy and send an updated patch?
>

Hmm. I already ran 'guix lint' and did everything it advised except for these:

gnu/packages/boinc.scm:45:12: boinc-client@7.14.2: the source URI should not be an autogenerated tarball
gnu/packages/boinc.scm:80:12: boinc-server@7.14.2: the source URI should not be an autogenerated tarball

I understand what it doesn't like, but not what it wanted me to do instead. Could you advise?

Toggle quote (5 lines)
> Thank you!
>
> Ludo.
>

--
Brant Gardner
T
T
Tobias Geerinckx-Rice wrote on 10 Apr 2019 23:27
(address . guix-patches@gnu.org)(address . 35086@debbugs.gnu.org)
87pnptsg92.fsf@nckx
Brant,

Brant Gardner wrote:
Toggle quote (11 lines)
> Hmm. I already ran 'guix lint' and did everything it advised
> except for these:
>
> gnu/packages/boinc.scm:45:12: boinc-client@7.14.2: the source
> URI should not be an autogenerated tarball
> gnu/packages/boinc.scm:80:12: boinc-server@7.14.2: the source
> URI should not be an autogenerated tarball
>
> I understand what it doesn't like, but not what it wanted me to
> do instead. Could you advise?

The linter would be tickled downright pink if you'd replace the
current SOURCE field with something very similar to:

(source
(origin
(method git-fetch)
(uri (git-reference
(commit (string-append "client-" version))))
(sha256
(base32
"0blahblahqnjxblaaaaahf2l79ybeepityboop7wh9yayhashies"))))

And so for the server as well. You'll have to replace (guix
download) with (guix git-download) and update the hash once more.

Thanks for your first of many patches!

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXK5fugAKCRANsP+IT1Vt
eb4QAP9N5TGb3o7Dg7WP3f8N2728R2n7e1UekyKIYZPMTeZjIgEA8nH1xEIaakyn
zHqERSbNNmgeoX8x0ZOQ2sojh13PHgI=
=8oQT
-----END PGP SIGNATURE-----

B
B
Brian Leung wrote on 6 Aug 2019 22:14
BOINC
(address . 35086@debbugs.gnu.org)
CAAc=MEyM6ji=hJd22kEv_9DyBToR-Azb097ic0_M2SkBqpY+xw@mail.gmail.com
What's the status on this? I've been using a Nix-managed installation of
BOINC; it would be nice if it were easily available on Guix.
Attachment: file
B
B
Brian Leung wrote on 24 Sep 2019 08:56
CAAc=MEwjzYHB1Su2uyJrRYC5sQSLD8McY2_DHkC2BdsUjt+ubg@mail.gmail.com
I modified the recipe to use git-fetch and git-reference. Thanks for your
contribution!

On Tue, Aug 6, 2019 at 10:14 PM Brian Leung <bkleung89@gmail.com> wrote:

Toggle quote (3 lines)
> What's the status on this? I've been using a Nix-managed installation of
> BOINC; it would be nice if it were easily available on Guix.
>
Attachment: file
Closed
B
B
Brant Gardner wrote on 24 Sep 2019 14:21
ad55363d-5bda-4e8b-af7c-90e992636c02@www.fastmail.com
My pleasure, thanks for closing the loop on this since I was not able!

--
Brant Gardner


On Tue, Sep 24, 2019, at 01:56, Brian Leung wrote:
Toggle quote (4 lines)
> I modified the recipe to use git-fetch and git-reference. Thanks for your contribution!
>
> On Tue, Aug 6, 2019 at 10:14 PM Brian Leung <bkleung89@gmail.com> wrote:
>> What's the status on this? I've been using a Nix-managed installation of BOINC; it would be nice if it were easily available on Guix.
Attachment: file
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 35086@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 35086
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch