Subject: [bug#35086] [PATCH] New package file for BOINC client & server

From: "Brant Gardner" <[email-masked]>
Date: Wed, 10 Apr 2019 16:39:22 -0400

Good afternoon;

On Wed, Apr 10, 2019, at 10:06, Ludovic Courtès wrote:
> Hello Brant,
> 
> "Brant Gardner" <[email-masked]> 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 <[email-masked]>
> > 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.

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

Done :)
 
> > +++ b/gnu/packages/distributed.scm
> > @@ -0,0 +1,119 @@
> > +;;; GNU Guix --- Functional package management for GNU
> > +;;; Copyright .© 2014, 2015 Ludovic Court.¨s <[email-masked]>
> > +;;; Copyright .© 2016, 2017, 2018, 2019 Efraim Flashner <[email-masked]>
> > +;;; Copyright .© 2018 Tobias Geerinckx-Rice <[email-masked]>
> > +;;; Copyright .© 2018 Mathieu Othacehe <[email-masked]>
> 
> It should be just you here.  :-)
> 

Got it, done.

> > +  #: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.

> > +    (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.

> > +    (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.

> 
> > +    (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.

> 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: [email-masked]: the source URI should not be an autogenerated tarball
gnu/packages/boinc.scm:80:12: [email-masked]: 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?

> Thank you!
> Ludo.

--
Brant Gardner