* Re: bug#22970: guix edit mutt -- not working
[not found] <20160309232220.GA13286@protected.rcdrun.com>
@ 2016-03-09 23:44 ` Andreas Enge
2016-03-10 19:34 ` Jean Louis
[not found] ` <20160310193442.GA5630__27937.5219288797$1457638581$gmane$org@protected.rcdrun.com>
2016-03-09 23:45 ` bug#22970: closed (guix edit mutt -- not working) GNU bug Tracking System
1 sibling, 2 replies; 10+ messages in thread
From: Andreas Enge @ 2016-03-09 23:44 UTC (permalink / raw)
To: Jean Louis; +Cc: 22970-done, help-guix
On Thu, Mar 10, 2016 at 12:22:20AM +0100, Jean Louis wrote:
> And I could not save the file in my home directory, and do:
> guix package -i mutt -f mail.scm
As mentioned on IRC, modify the file mail.scm by adding a line
mutt
at the end. Then
guix package -f mail.scm
does "install the package that the code within FILE evaluates to" as
explained by "guix package --help". mail.scm itself does not evaluate
to anything, it just contains a number of variable definitions. By adding
the line, it "returns" the value of the variable mutt, which is your
package definition.
Better yet, use GUIX_PACKAGE_PATH, for instance as follows:
export GUIX_PACKAGE_PATH=$HOME/guix
Then create the same file layout in that directory as in the source code:
mkdir -p $HOME/guix/gnu/packages
Copy mail.scm there, modify mutt, then
guix package -i mutt
will first look for your modified package.
As this is not a bug, it would have been better to post to help-guix@gnu.org;
let us continue the discussion there (if you are not yet subscribed, please
do so), and I am closing this bug.
Andreas
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#22970: closed (guix edit mutt -- not working)
[not found] <20160309232220.GA13286@protected.rcdrun.com>
2016-03-09 23:44 ` bug#22970: guix edit mutt -- not working Andreas Enge
@ 2016-03-09 23:45 ` GNU bug Tracking System
1 sibling, 0 replies; 10+ messages in thread
From: GNU bug Tracking System @ 2016-03-09 23:45 UTC (permalink / raw)
To: help-guix; +Cc: tracker
[-- Attachment #1: Type: text/plain, Size: 511 bytes --]
Your message dated Thu, 10 Mar 2016 00:44:33 +0100
with message-id <20160309234433.GA28823@solar>
and subject line Re: bug#22970: guix edit mutt -- not working
has caused the debbugs.gnu.org bug report #22970,
regarding guix edit mutt -- not working
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)
--
22970: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22970
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
[-- Attachment #2: Type: message/rfc822, Size: 4211 bytes --]
From: Jean Louis <guix@rcdrun.com>
To: bug-guix@gnu.org
Subject: guix edit mutt -- not working
Date: Thu, 10 Mar 2016 00:22:20 +0100
Message-ID: <20160309232220.GA13286@protected.rcdrun.com>
Hello,
My understanding is that each user, shall be able to:
guix edit mutt
as example, change the options, and get such package, as I wanted to
add: --enable-hcache here:
`(#:configure-flags '("--enable-smtp"
"--enable-imap"
"--enable-pop"
"--enable-gpgme"
"--with-ssl"
"--with-sasl"
but I cannot "save" the file, as it is read only:
/gnu/store/632msbms2yaldfnlrb5lbnlnmn9yjisw-guix-0.9.0/share/guile/site/2.0/gnu/packages/mail.scm:
unmodified,
UNLOCKED, readonly: line 206 of 1007 [20%]
And I could not save the file in my home directory, and do:
guix package -i mutt -f mail.scm
I need help in understanding, rather than using mutt, as I want to
urgently run the GNU.
Jean Louis
[-- Attachment #3: Type: message/rfc822, Size: 3662 bytes --]
From: Andreas Enge <andreas@enge.fr>
To: Jean Louis <guix@rcdrun.com>
Cc: 22970-done@debbugs.gnu.org, help-guix@gnu.org
Subject: Re: bug#22970: guix edit mutt -- not working
Date: Thu, 10 Mar 2016 00:44:33 +0100
Message-ID: <20160309234433.GA28823@solar>
On Thu, Mar 10, 2016 at 12:22:20AM +0100, Jean Louis wrote:
> And I could not save the file in my home directory, and do:
> guix package -i mutt -f mail.scm
As mentioned on IRC, modify the file mail.scm by adding a line
mutt
at the end. Then
guix package -f mail.scm
does "install the package that the code within FILE evaluates to" as
explained by "guix package --help". mail.scm itself does not evaluate
to anything, it just contains a number of variable definitions. By adding
the line, it "returns" the value of the variable mutt, which is your
package definition.
Better yet, use GUIX_PACKAGE_PATH, for instance as follows:
export GUIX_PACKAGE_PATH=$HOME/guix
Then create the same file layout in that directory as in the source code:
mkdir -p $HOME/guix/gnu/packages
Copy mail.scm there, modify mutt, then
guix package -i mutt
will first look for your modified package.
As this is not a bug, it would have been better to post to help-guix@gnu.org;
let us continue the discussion there (if you are not yet subscribed, please
do so), and I am closing this bug.
Andreas
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-09 23:44 ` bug#22970: guix edit mutt -- not working Andreas Enge
@ 2016-03-10 19:34 ` Jean Louis
[not found] ` <20160310193442.GA5630__27937.5219288797$1457638581$gmane$org@protected.rcdrun.com>
1 sibling, 0 replies; 10+ messages in thread
From: Jean Louis @ 2016-03-10 19:34 UTC (permalink / raw)
To: help-guix; +Cc: 22970-done
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.
On Thu, Mar 10, 2016 at 12:44:33AM +0100, Andreas Enge wrote:
> On Thu, Mar 10, 2016 at 12:22:20AM +0100, Jean Louis wrote:
> > And I could not save the file in my home directory, and do:
> > guix package -i mutt -f mail.scm
>
> As mentioned on IRC, modify the file mail.scm by adding a line
> mutt
> at the end. Then
> guix package -f mail.scm
> does "install the package that the code within FILE evaluates to" as
> explained by "guix package --help". mail.scm itself does not evaluate
> to anything, it just contains a number of variable definitions. By adding
> the line, it "returns" the value of the variable mutt, which is your
> package definition.
>
> Better yet, use GUIX_PACKAGE_PATH, for instance as follows:
> export GUIX_PACKAGE_PATH=$HOME/guix
> Then create the same file layout in that directory as in the source code:
> mkdir -p $HOME/guix/gnu/packages
> Copy mail.scm there, modify mutt, then
> guix package -i mutt
> will first look for your modified package.
>
> As this is not a bug, it would have been better to post to help-guix@gnu.org;
> let us continue the discussion there (if you are not yet subscribed, please
> do so), and I am closing this bug.
>
> Andreas
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
[not found] ` <20160310193442.GA5630__27937.5219288797$1457638581$gmane$org@protected.rcdrun.com>
@ 2016-03-11 10:48 ` Alex Kost
2016-03-11 11:21 ` Jean Louis
2016-03-13 10:47 ` Jean Louis
0 siblings, 2 replies; 10+ messages in thread
From: Alex Kost @ 2016-03-11 10:48 UTC (permalink / raw)
To: Jean Louis; +Cc: 22970-done, help-guix
[-- Attachment #1: Type: text/plain, Size: 1919 bytes --]
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
"<some-dir>/my-guix-packages.scm", add <some-dir> to GUIX_PACKAGE_PATH,
and that's it! This "my-guix-packages.scm" file will look like this:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: my-guix-packages.scm --]
[-- Type: text/x-scheme, Size: 505 bytes --]
(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)"))))
[-- Attachment #3: Type: text/plain, Size: 205 bytes --]
And all guix commands will find packages in this file, for example you
can do: "guix package -i my-mutt". Try it!
¹ http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00419.html
--
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-11 10:48 ` Alex Kost
@ 2016-03-11 11:21 ` Jean Louis
2016-03-11 18:48 ` Jean Louis
2016-03-13 10:47 ` Jean Louis
1 sibling, 1 reply; 10+ messages in thread
From: Jean Louis @ 2016-03-11 11:21 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel, 22970-done, help-guix
Hello Alex,
Thank you much. That looks like a solution that is valuable, and I would
like to see that in future documentation.
The info documentation and guix package --help now provide the option to
read the file and evaluate from file, and I guess that this solution you
provided is better for future:
- people can learn Guile, scheme and programming
- every user can modify the package.scm according to the needs
I will copy this to guix-devel
Louis
On Fri, Mar 11, 2016 at 01:48:39PM +0300, Alex Kost 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
> "<some-dir>/my-guix-packages.scm", add <some-dir> 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!
>
> ¹ http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00419.html
>
> --
> Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-11 11:21 ` Jean Louis
@ 2016-03-11 18:48 ` Jean Louis
2016-03-12 8:13 ` Alex Kost
0 siblings, 1 reply; 10+ messages in thread
From: Jean Louis @ 2016-03-11 18:48 UTC (permalink / raw)
To: Alex Kost, guix-devel, help-guix
Hello Alex,
I got your mutt file, for my-guix-packages, but now I see I
need to learn Guile commands, I will do this somewhat later
when I have working system. Please help me until then, as
your style to make a modified package is excellent for me.
I guess you forgot the dependency gdbm, where to put it?
(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)"))))
On Fri, Mar 11, 2016 at 12:21:09PM +0100, Jean Louis wrote:
> Hello Alex,
>
> Thank you much. That looks like a solution that is valuable, and I would
> like to see that in future documentation.
>
> The info documentation and guix package --help now provide the option to
> read the file and evaluate from file, and I guess that this solution you
> provided is better for future:
>
> - people can learn Guile, scheme and programming
> - every user can modify the package.scm according to the needs
>
> I will copy this to guix-devel
>
> Louis
>
> On Fri, Mar 11, 2016 at 01:48:39PM +0300, Alex Kost 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
> > "<some-dir>/my-guix-packages.scm", add <some-dir> 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!
> >
> > ¹ http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00419.html
> >
> > --
> > Alex
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-11 18:48 ` Jean Louis
@ 2016-03-12 8:13 ` Alex Kost
2016-03-12 9:35 ` Jean Louis
0 siblings, 1 reply; 10+ messages in thread
From: Alex Kost @ 2016-03-12 8:13 UTC (permalink / raw)
To: Jean Louis; +Cc: help-guix
Jean Louis (2016-03-11 21:48 +0300) wrote:
> Hello Alex,
>
> I got your mutt file, for my-guix-packages, but now I see I
> need to learn Guile commands, I will do this somewhat later
> when I have working system. Please help me until then, as
> your style to make a modified package is excellent for me.
It is not my style :-) Package inheriting is a great feature of Guix,
it's just not documented (though "inherit" word can be met in the
manual several times).
> I guess you forgot the dependency gdbm, where to put it?
Sorry about that, but actually I didn't forget about it because I didn't
know it is needed (I've never used mutt, and I know nothing about it or
gdbm). Do you mean this dependency is needed because of --enable-hcache
option?
If so, then it can be added by adding gdbm to the inputs of my-mutt
package (see below). Also (my-guix-packages) module need to use (gnu
packages databases), because gdbm package comes from this module.
I hope the following comments clarify how my-mutt package is made:
> (define-module (my-guix-packages)
> #:use-module (guix packages)
> #:use-module (guix download)
> #:use-module (guix utils)
Don't forget to add this line here:
#:use-module (gnu packages databases)
> #:use-module (gnu packages mail))
>
> (define-public my-mutt
> (package
> (inherit mutt)
Inheriting means: those package fields that are not specified, will be
taken from mutt package. For example, the package name is changed (to
"my-mutt"), but the version is not, so it will be inherited. This means
when the version of mutt package will be updated, the version of my-mutt
package will automatically be updated too.
> (name "my-mutt")
> (arguments
> (substitute-keyword-arguments (package-arguments mutt)
> ((#:configure-flags cf)
> `(cons "--enable-hcache" ,cf))))
This means: take mutt's arguments and do some substitutions there. In
particular, we modify configure-flags by adding "--enable-hcache" to
them.
To add gdbm dependency, add the following line to the package
definition:
(inputs (cons `("gdbm" ,gdbm) (package-inputs mutt)))
> (synopsis (string-append (package-synopsis mutt)
> " (configured with --enable-hcache)"))))
Modifying synopsis is not needed, it is just what you see in the output
of "guix package --show=my-mutt" command.
--
Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-12 8:13 ` Alex Kost
@ 2016-03-12 9:35 ` Jean Louis
0 siblings, 0 replies; 10+ messages in thread
From: Jean Louis @ 2016-03-12 9:35 UTC (permalink / raw)
To: Alex Kost; +Cc: help-guix
Hello Alex,
Thank you much, it is working like this very good:
guix package -i my-mutt
by using this file: my-guix-packages.scm in ~/gnu/guix/packages:
(define-module (my-guix-packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (gnu packages mail)
#:use-module (gnu packages databases))
(define-public my-mutt
(package
(inherit mutt)
(name "my-mutt")
(inputs (cons `("gdbm" ,gdbm) (package-inputs 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)"))))
On Sat, Mar 12, 2016 at 11:13:06AM +0300, Alex Kost wrote:
> Jean Louis (2016-03-11 21:48 +0300) wrote:
>
> > Hello Alex,
> >
> > I got your mutt file, for my-guix-packages, but now I see I
> > need to learn Guile commands, I will do this somewhat later
> > when I have working system. Please help me until then, as
> > your style to make a modified package is excellent for me.
>
> It is not my style :-) Package inheriting is a great feature of Guix,
> it's just not documented (though "inherit" word can be met in the
> manual several times).
>
> > I guess you forgot the dependency gdbm, where to put it?
>
> Sorry about that, but actually I didn't forget about it because I didn't
> know it is needed (I've never used mutt, and I know nothing about it or
> gdbm). Do you mean this dependency is needed because of --enable-hcache
> option?
>
> If so, then it can be added by adding gdbm to the inputs of my-mutt
> package (see below). Also (my-guix-packages) module need to use (gnu
> packages databases), because gdbm package comes from this module.
>
> I hope the following comments clarify how my-mutt package is made:
>
> > (define-module (my-guix-packages)
> > #:use-module (guix packages)
> > #:use-module (guix download)
> > #:use-module (guix utils)
>
> Don't forget to add this line here:
>
> #:use-module (gnu packages databases)
>
> > #:use-module (gnu packages mail))
> >
> > (define-public my-mutt
> > (package
> > (inherit mutt)
>
> Inheriting means: those package fields that are not specified, will be
> taken from mutt package. For example, the package name is changed (to
> "my-mutt"), but the version is not, so it will be inherited. This means
> when the version of mutt package will be updated, the version of my-mutt
> package will automatically be updated too.
>
> > (name "my-mutt")
> > (arguments
> > (substitute-keyword-arguments (package-arguments mutt)
> > ((#:configure-flags cf)
> > `(cons "--enable-hcache" ,cf))))
>
> This means: take mutt's arguments and do some substitutions there. In
> particular, we modify configure-flags by adding "--enable-hcache" to
> them.
>
> To add gdbm dependency, add the following line to the package
> definition:
>
> (inputs (cons `("gdbm" ,gdbm) (package-inputs mutt)))
>
> > (synopsis (string-append (package-synopsis mutt)
> > " (configured with --enable-hcache)"))))
>
> Modifying synopsis is not needed, it is just what you see in the output
> of "guix package --show=my-mutt" command.
>
> --
> Alex
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-11 10:48 ` Alex Kost
2016-03-11 11:21 ` Jean Louis
@ 2016-03-13 10:47 ` Jean Louis
2016-03-13 11:01 ` Efraim Flashner
1 sibling, 1 reply; 10+ messages in thread
From: Jean Louis @ 2016-03-13 10:47 UTC (permalink / raw)
To: Alex Kost; +Cc: 22970-done, help-guix
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
> "<some-dir>/my-guix-packages.scm", add <some-dir> 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!
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: bug#22970: guix edit mutt -- not working
2016-03-13 10:47 ` Jean Louis
@ 2016-03-13 11:01 ` Efraim Flashner
0 siblings, 0 replies; 10+ messages in thread
From: Efraim Flashner @ 2016-03-13 11:01 UTC (permalink / raw)
To: Jean Louis; +Cc: 22970-done, Alex Kost, help-guix
[-- Attachment #1: Type: text/plain, Size: 771 bytes --]
On Sun, 13 Mar 2016 11:47:04 +0100
Jean Louis <guix@rcdrun.com> wrote:
> 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/bin/mutt
> /gnu/store/vh7ghk1xlrn4crshqrdygp5573aipk44-mutt-1.5.24/bin/mutt
>
Now that you have my-mutt installed you can remove mutt
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-03-13 11:02 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20160309232220.GA13286@protected.rcdrun.com>
2016-03-09 23:44 ` bug#22970: guix edit mutt -- not working Andreas Enge
2016-03-10 19:34 ` Jean Louis
[not found] ` <20160310193442.GA5630__27937.5219288797$1457638581$gmane$org@protected.rcdrun.com>
2016-03-11 10:48 ` Alex Kost
2016-03-11 11:21 ` Jean Louis
2016-03-11 18:48 ` Jean Louis
2016-03-12 8:13 ` Alex Kost
2016-03-12 9:35 ` Jean Louis
2016-03-13 10:47 ` Jean Louis
2016-03-13 11:01 ` Efraim Flashner
2016-03-09 23:45 ` bug#22970: closed (guix edit mutt -- not working) GNU bug Tracking System
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).