From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: [PATCH] envstore-2.1 Date: Sat, 14 May 2016 20:14:17 -0400 Message-ID: <87d1oomb3a.fsf@netris.org> References: <87zirssmjz.fsf@mailerver.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41159) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1jhS-0000Yb-7I for guix-devel@gnu.org; Sat, 14 May 2016 20:14:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b1jhM-0004xl-Ub for guix-devel@gnu.org; Sat, 14 May 2016 20:14:25 -0400 Received: from world.peace.net ([50.252.239.5]:36514) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1jhM-0004xg-Qo for guix-devel@gnu.org; Sat, 14 May 2016 20:14:20 -0400 In-Reply-To: <87zirssmjz.fsf@mailerver.i-did-not-set--mail-host-address--so-tickle-me> (Matthew Jordan's message of "Sat, 14 May 2016 11:10:08 -0400") 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" To: Matthew Jordan Cc: Guix-devel Hi, Matthew Jordan writes: > From 8de06b6e26d9e1eb7bb7ef6df163f54a46db3d89 Mon Sep 17 00:00:00 2001 > From: Matthew Jordan > Date: Thu, 12 May 2016 14:57:34 -0400 > Subject: [PATCH] gnu: Added envstore package. The summary line should be "gnu: Add envstore." > > * gnu/package/enstore.scm: New file. You misspelled "envstore.scm", but it would be better to find an existing file in gnu/package/*.scm that would be appropriate for this. > diff --git a/gnu/packages/envstore.scm b/gnu/packages/envstore.scm > new file mode 100644 > index 0000000..e3ec99d > --- /dev/null > +++ b/gnu/packages/envstore.scm > @@ -0,0 +1,42 @@ > +(define-module (gnu packages envstore) When adding a new *.scm file, it needs to contain a copyright notice and header at the top, as with our other source files. > + #:use-module (guix) > + #:use-module (guix packages) > + #:use-module (guix build-system gnu) > + #:use-module (gnu packages) > + #:use-module (guix download) > + #:use-module (guix utils) > + #:use-module (guix licenses)) > + > +(define-public envstore > + (package > + (name "envstore") > + (version "2.1") > + (source > + (origin > + (method url-fetch) > + (uri (string-append "https://github.com/derf/" name "/archive/" > + version ".tar.gz")) How about using https://finalrewind.org/projects/envstore/envstore-2.1.tar.bz2 instead? That's the tarball linked from the project's home page, and unlike the github tarball, it's digitally signed. > + (sha256 > + (base32 "097yd6w0fql8a3xh0gmz8bf40w61j4893rp8c28rngrrk80bk9a8")))) > + (build-system gnu-build-system) > + (arguments > + `(#:test-target "test" > + #:phases > + (modify-phases %standard-phases > + (delete 'configure) > + (replace 'build > + (lambda _ > + (setenv "CC" (which "gcc")) > + (system* "make"))) Instead of replacing the 'build' phase, it would be better to add this to the 'arguments': #:make-flags (list "CC=gcc") See 'dvtm' in dvtm.scm for an example. > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (setenv "PREFIX" "/") > + (setenv "DESTDIR" out) > + (system* "make" "install"))))))) These are incorrect settings for PREFIX and DESTDIR. In general, PREFIX tells where the installed files will be located when the program is run, and DESTDIR names a temporary staging directory where "make install" will put the files, on the assumption that they will later be moved to PREFIX before they are run. So, PREFIX should be set to (assoc-ref outputs "out"), and DESTDIR should be left alone. Also, as with the 'build' phase, it would be better to simply add these to make-flags, like this: #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) > + (home-page "https://finalrewind.org/projects/envstore/") > + (synopsis "Save and restore environment variables") > + (description "Envstore is a program for sharing environment variables > +between various shells or commands.") > + (license > + (non-copyleft "http://www.wtfpl.net/txt/copying/")))) Can you send an updated patch? Thanks, Mark