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

From: Ludovic Courtès <[email-masked]>
Date: Wed, 10 Apr 2019 17:06:06 +0200

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.)

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

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

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

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

What about something like Contribute computing power to research projects?

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

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