From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Louis Subject: bug#22970: guix edit mutt -- not working Date: Sun, 13 Mar 2016 11:47:04 +0100 Message-ID: <20160313104703.GE3319__7278.92847867242$1457866161$gmane$org@protected.rcdrun.com> References: <20160309232220.GA13286@protected.rcdrun.com> <20160309234433.GA28823@solar> <20160310193442.GA5630__27937.5219288797$1457638581$gmane$org@protected.rcdrun.com> <87mvq5nvco.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60937) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1af3a6-0003XA-Es for bug-guix@gnu.org; Sun, 13 Mar 2016 06:49:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1af3a2-0000nL-9E for bug-guix@gnu.org; Sun, 13 Mar 2016 06:49:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:49513) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1af3a2-0000nH-5x for bug-guix@gnu.org; Sun, 13 Mar 2016 06:49:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1af3a1-0006Zz-Rt for bug-guix@gnu.org; Sun, 13 Mar 2016 06:49:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Content-Disposition: inline In-Reply-To: <87mvq5nvco.fsf@gmail.com> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Alex Kost Cc: 22970-done@debbugs.gnu.org, help-guix@gnu.org, Jean Louis Hello Alex, I have followed your recommendation, and mutt is working modified. However, now I get useless error messages. And I can imagine, if I have modified 10 packages, that I would get 10x that much of error messages. warning: collision encountered: /gnu/store/xxzgai9khdfhk70p06vs6akrarzph9r2-my-mutt-1.5.24/share/man/man1/mutt.1.gz /gnu/store/vh7ghk1xlrn4crshqrdygp5573aipk44-mutt-1.5.24/share/man/man1/mutt.1.gz warning: arbitrarily choosing /gnu/store/xxzgai9khdfhk70p06vs6akrarzph9r2-my-mutt-1.5.24/share/man/man5/muttrc.5.gz warning: collision encountered: /gnu/store/xxzgai9khdfhk70p06vs6akrarzph9r2-my-mutt-1.5.24/bin/mutt /gnu/store/vh7ghk1xlrn4crshqrdygp5573aipk44-mutt-1.5.24/bin/mutt warning: arbitrarily choosing /gnu/store/xxzgai9khdfhk70p06vs6akrarzph9r2-my-mutt-1.5.24/bin/mutt warning: collision encountered: /gnu/store/xxzgai9khdfhk70p06vs6akrarzph9r2-my-mutt-1.5.24/bin/flea /gnu/store/vh7ghk1xlrn4crshqrdygp5573aipk44-mutt-1.5.24/bin/flea Let me stop with copy and paste, because there are many more lines like that. Maybe it is design of guix package manager, maybe it is my fault. I understood that I can change definitions for guix packages, and such would be installed. There shall be no warnings like this. I do intend to make about 5-10 packages for system I use, and I worry about future warning messages, it will be like 3-4 screens, making guix package manager not user-friendly. I would not see real errors. On Fri, Mar 11, 2016 at 01:48:39PM +0300, Alex Kost wrote: > Jean Louis (2016-03-10 22:34 +0300) wrote: > > > Hello Andreas, > > > > I have now 2 files in gnu/guix/packages/*.scm, for mutt and postgresql: > > and now I get each time on running guix, following: > > > > guix package: warning: failed to load '(databases)': > > ERROR: no code for module (databases) > > guix package: warning: failed to load '(mutt)': > > ERROR: no code for module (mutt) > > > > because 2 files are: databases.scm and mutt.scm > > > > I have already installed mutt, with changes, and it works. On the end of > > file there is word "mutt". Similar for PostgreSQL, only it did not yet > > compile. > > > > Now I get a feeling, if I have 20 files to change or adapt to my system, > > I will get 20 warnings by each run of guix package manager. > > > > Somehow it does not feel right. > > > > It would be more logical to have GUIX_PACKAGE_PATH plus one separate > > file where some modified or user related packages are listed, instead of > > having the package name on the end of *.scm file. > > I agree, using GUIX_PACKAGE_PATH is such a nice way to keep your own > packages. I don't understand why Andreas recommended to use "guix > package -f". I think it is suitable to build some development > "guix.scm" file (not related, but see ยน). But for user packages, I > think keeping them in GUIX_PACKAGE_PATH directories is a much better > solution. > > I also don't recommend to use the same /gnu/packages/*.scm structure, as > there may be problems with this. For example, you copied > /gnu/packages/databases.scm to your GUIX_PACKAGE_PATH dir and modified > some package in it. Then you have to follow the changes in this file > made in Guix, and update your local databases.scm accordingly all the > time. > > So if you want to keep all your packages in a single file, you can make > "/my-guix-packages.scm", add to GUIX_PACKAGE_PATH, > and that's it! This "my-guix-packages.scm" file will look like this: > > (define-module (my-guix-packages) > #:use-module (guix packages) > #:use-module (guix download) > #:use-module (guix utils) > #:use-module (gnu packages mail)) > > (define-public my-mutt > (package > (inherit mutt) > (name "my-mutt") > (arguments > (substitute-keyword-arguments (package-arguments mutt) > ((#:configure-flags cf) > `(cons "--enable-hcache" ,cf)))) > (synopsis (string-append (package-synopsis mutt) > " (configured with --enable-hcache)")))) > > And all guix commands will find packages in this file, for example you > can do: "guix package -i my-mutt". Try it!