From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] Port Arrayfire to GNU Guix Date: Mon, 04 Apr 2016 23:18:52 +0200 Message-ID: <87a8l9ax8j.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44725) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1anBtj-0006Mz-52 for guix-devel@gnu.org; Mon, 04 Apr 2016 17:19:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1anBtf-0005c4-UB for guix-devel@gnu.org; Mon, 04 Apr 2016 17:18:59 -0400 In-Reply-To: (Dennis Mungai's message of "Sun, 20 Mar 2016 05:28:11 +0300") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Dennis Mungai Cc: guix-devel@gnu.org Hi, Dennis Mungai skribis: > The patch attached adds Arrayfire, a software library for GPU computing. > For compliance with the GPL licenses, I've configured the package not > to build with CUDA support, and the OpenCL backend builds with the > open source OpenCL ICD and the standard Khronos OpenCL headers for > vendor neutrality. Sorry for the late reply, and thanks for your work! > From c25732b9beb99a0788349c086f460d45f228dd74 Mon Sep 17 00:00:00 2001 > From: Dennis Mungai > Date: Sun, 20 Mar 2016 04:51:15 +0300 > Subject: [PATCH] Ported ArrayFire to GNU Guix > > --- > arrayfire.scm | 362 ++++++++++++++++++++++++++++++++++++++++++++++++++++= ++++++ Could you: 1. Send a patch against Guix =E2=80=98master=E2=80=99, where this file sh= ould be called gnu/packages/opencl.scm? (I think =E2=80=98opencl=E2=80=99 is = more appropriate than =E2=80=98arrayfire=E2=80=99.) 2. Send one patch per package, to simply the review workflow? 3. Run =E2=80=98guix lint=E2=80=99 for each package and address any probl= ems it raises (hopefully simple to do, but feel free to ask for help on #guix). 4. Provide ChangeLog-style commit logs, as noted at ? That=E2=80=99s a bit of extra work, but it will really help us! Some more specific comments: > +(define-module (gn packages arrayfire) s/gn/gnu/ > +(define-public arrayfire > +(package > + (name "arrayfire") Please try to indent as in the other files. > + ("cmake" ,cmake))) > + (build-system cmake-build-system) CMake is not needed in =E2=80=98inputs=E2=80=99 when using =E2=80=98cmake-b= uild-system=E2=80=99. > + (arguments=20 > + `(#:configure-flags '("-DBUILD_OPENCL=3DON" "-DBUILD_CUDA=3DOFF" "-= DBUILD_GRAPHICS=3DOFF" "-DUSE_SYSTEM_BOOST_COMPUTE=3DON" "-DUSE_SYSTEM_CLBL= AS=3DON" "-DUSE_SYSTEM_CLFFT=3DON")=20 > + #:tests? #f))=20=20=20=20=20 Please add a comment above #:tests? #f to justify why tests are skipped. > + (synopsis "ArrayFire: a general purpose GPU library. https://arrayfi= re.com") > + (description "ArrayFire is a high performance software library for p= arallel computing with an easy-to-use API. Its array based function set mak= es parallel programming simple.Now on Guix") =E2=80=98guix lint=E2=80=99 will suggest some changes here. :-) > + (home-page "http://arrayfire.com/") > + (license (list license:gpl2=20 > + license:gpl2+=20 > + license:gpl3=20 > + license:gpl3+)))) What does it mean? Please add a comment above explaining what the license list is about. > + (synopsis "glfw is an Open Source, multi-platform library for creati= ng windows with OpenGL contexts and receiving input and events.") > + (description "glfw is an Open Source, multi-platform library for cre= ating windows with OpenGL contexts and receiving input and events.") s/Open Source//g The GNU project focuses on free software, not =E2=80=9Copen source=E2=80=9D= (see ), and since every package in Guix is free, we don=E2=80=99t mention it in synopse= s. Also, please see on the kind of synopses/descriptions we try to provide to our users. > +(define-public clBLAS > + (package > + (name "clBLAS") Variable and package names should be lower-case. > + (version "v2.10") No =E2=80=9Cv=E2=80=9D. > + (native-inputs `(("autoconf" ,autoconf) > + ("automake" ,automake) Indentation. > +(define-public opencl-headers > +(let ((commit "c1770dc")) > + (package Indentation. Could you send updated patches, preferably using =E2=80=98git send-email=E2= =80=99? Thank you! Ludo=E2=80=99.