unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35086] [PATCH] New package file for BOINC client & server
@ 2019-04-02 16:24 Brant Gardner
  2019-04-10 15:06 ` Ludovic Courtès
  2019-08-06 20:14 ` [bug#35086] BOINC Brian Leung
  0 siblings, 2 replies; 7+ messages in thread
From: Brant Gardner @ 2019-04-02 16:24 UTC (permalink / raw)
  To: 35086


[-- Attachment #1.1: Type: text/plain, Size: 125 bytes --]

This is my first submission for contributing to Guix, so any feedback or advice is welcomed!

Thank you,

--
Brant Gardner



[-- Attachment #1.2: Type: text/html, Size: 494 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Added-distributed.scm.patch --]
[-- Type: text/x-patch; name="0001-Added-distributed.scm.patch", Size: 5937 bytes --]

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.
---
 gnu/packages/distributed.scm | 119 +++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)
 create mode 100644 gnu/packages/distributed.scm

diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm
new file mode 100644
index 0000000000..a126738a52
--- /dev/null
+++ 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>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages distributed)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #: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))
+
+(define-public boinc-client
+  (package
+    (name "boinc-client")
+    (version "7.14.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/BOINC/boinc/archive/master/client-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0kpk78vz6qnjx80rws4vnf2l79yyh3gp786sql7whm95mp2dpssf"))))
+    (build-system gnu-build-system)
+    (arguments '(#:configure-flags '("--disable-server")))
+    (inputs `(("openssl" ,openssl)
+              ("curl" ,curl)
+              ("wxwidgets" ,wxwidgets)
+              ("gtk+" ,gtk+)
+              ("gdk-pixbuf" ,gdk-pixbuf)
+              ("libnotify" ,libnotify)
+              ("sqlite" ,sqlite)
+              ("python" ,python)
+              ("python-pyserial" ,python-pyserial)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (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.
+
+BOINC is distributed under the LGPL open source license.  It can be used for
+commercial purposes, and applications need not be open source.")
+    (home-page "https://boinc.berkeley.edu/")
+    (license license:gpl3+)))
+
+(define-public boinc-server
+  (package
+    (name "boinc-server")
+    (version "7.14.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/BOINC/boinc/archive/master/client-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0kpk78vz6qnjx80rws4vnf2l79yyh3gp786sql7whm95mp2dpssf"))))
+    (build-system gnu-build-system)
+    (arguments '(#:configure-flags '("--disable-client" "--disable-manager")
+                 #:parallel-build? #f
+                 #:tests? #f)) ; FIXME: Looks like bad test syntax in the
+                               ; source package, 2 tests fail.  Disable for
+                               ; now.
+    (inputs `(("openssl" ,openssl)
+              ("curl" ,curl)
+              ("mariadb" ,mariadb)
+              ("zlib" ,zlib)))
+    (propagated-inputs `(("python" ,python-wrapper)
+                         ("perl" ,perl)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (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.
+
+BOINC is distributed under the LGPL open source license.  It can be used for
+commercial purposes, and applications need not be open source.")
+    (home-page "https://boinc.berkeley.edu/")
+    (license license:gpl3+)))
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#35086] [PATCH] New package file for BOINC client & server
  2019-04-02 16:24 [bug#35086] [PATCH] New package file for BOINC client & server Brant Gardner
@ 2019-04-10 15:06 ` Ludovic Courtès
  2019-04-10 20:39   ` Brant Gardner
  2019-08-06 20:14 ` [bug#35086] BOINC Brian Leung
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-04-10 15:06 UTC (permalink / raw)
  To: Brant Gardner; +Cc: 35086

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 it\x19s 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 \x1cChangeLog format\x1d, as
described at:

  https://www.gnu.org/prep/standards/html_node/Change-Logs.html

But you can simply look at \x18git log\x19 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 haven\x19t already.)

As for the module name, what about boinc.scm instead?  \x1cDistributed\x1d
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 <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.  :-)

> +  #: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 \x1cContribute computing power to research projects\x1d?

> +    (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 \x18guix lint\x19 is
happy and send an updated patch?

Thank you!

Ludo\x19.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#35086] [PATCH] New package file for BOINC client & server
  2019-04-10 15:06 ` Ludovic Courtès
@ 2019-04-10 20:39   ` Brant Gardner
  2019-04-10 21:27     ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 7+ messages in thread
From: Brant Gardner @ 2019-04-10 20:39 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35086

Good afternoon;

On Wed, Apr 10, 2019, at 10:06, Ludovic Courtès wrote:
> 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 it\x19s 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 \x1cChangeLog format\x1d, as
> described at:
> 
>   https://www.gnu.org/prep/standards/html_node/Change-Logs.html
> 
> But you can simply look at \x18git log\x19 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 haven\x19t 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?  \x1cDistributed\x1d
> 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 <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.

> > +  #: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 \x1cContribute computing power to research projects\x1d?
> 

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 \x18guix lint\x19 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?

> Thank you!
> 
> Ludo\x19.
>

--
Brant Gardner

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#35086] [PATCH] New package file for BOINC client & server
  2019-04-10 20:39   ` Brant Gardner
@ 2019-04-10 21:27     ` Tobias Geerinckx-Rice
  0 siblings, 0 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-04-10 21:27 UTC (permalink / raw)
  To: 35086

[-- Attachment #1: Type: text/plain, Size: 1016 bytes --]

Brant,

Brant Gardner wrote:
> 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
            (url "https://github.com/BOINC/boinc.git")
            (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


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#35086] BOINC
  2019-04-02 16:24 [bug#35086] [PATCH] New package file for BOINC client & server Brant Gardner
  2019-04-10 15:06 ` Ludovic Courtès
@ 2019-08-06 20:14 ` Brian Leung
  2019-09-24  6:56   ` bug#35086: BOINC Brian Leung
  1 sibling, 1 reply; 7+ messages in thread
From: Brian Leung @ 2019-08-06 20:14 UTC (permalink / raw)
  To: 35086

[-- Attachment #1: Type: text/plain, Size: 134 bytes --]

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 #2: Type: text/html, Size: 163 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35086: BOINC
  2019-08-06 20:14 ` [bug#35086] BOINC Brian Leung
@ 2019-09-24  6:56   ` Brian Leung
  2019-09-24 12:21     ` [bug#35086] BOINC Brant Gardner
  0 siblings, 1 reply; 7+ messages in thread
From: Brian Leung @ 2019-09-24  6:56 UTC (permalink / raw)
  To: 35086-done, brantcgardner

[-- Attachment #1: Type: text/plain, Size: 303 bytes --]

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 #2: Type: text/html, Size: 606 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#35086] BOINC
  2019-09-24  6:56   ` bug#35086: BOINC Brian Leung
@ 2019-09-24 12:21     ` Brant Gardner
  0 siblings, 0 replies; 7+ messages in thread
From: Brant Gardner @ 2019-09-24 12:21 UTC (permalink / raw)
  To: Brian Leung, 35086-done, Brant Gardner

[-- Attachment #1: Type: text/plain, Size: 447 bytes --]

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:
> 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 #2: Type: text/html, Size: 1228 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-09-24 12:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-02 16:24 [bug#35086] [PATCH] New package file for BOINC client & server Brant Gardner
2019-04-10 15:06 ` Ludovic Courtès
2019-04-10 20:39   ` Brant Gardner
2019-04-10 21:27     ` Tobias Geerinckx-Rice
2019-08-06 20:14 ` [bug#35086] BOINC Brian Leung
2019-09-24  6:56   ` bug#35086: BOINC Brian Leung
2019-09-24 12:21     ` [bug#35086] BOINC Brant Gardner

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