Gnome hanging and exiting at login.

2024-01-10 Thread Mortimer Cladwell
This is the same behavior I find on Ubuntu. I was fortunate to correlate it
with the installation of guile-g-golf using guix. If I uninstall g-golf, it
restores normal login behavior. Reinstall g-golf, can't login. Maybe try
uninstalling a guix package related to GTK? gdm?

Mortimer


guile-g-golf installation prevents Ubuntu login

2023-12-14 Thread Mortimer Cladwell
Ubuntu 23.10
guile-g-golf 0.8.0-a.1

Hi,
I guix package -i guile-g-golf then from the examples directory try:

guix shell --pure --no-grafts guile guile-g-golf gtk@4 -- ./hello-world.scm

Compiles without errors but nothing happens - no error messages, no gui.

Furthermore I shut down for the day, next day I can't login to Ubuntu. I
enter login password, screen freezes for about a minute then returns me to
the login prompt. I go to a terminal, futz around for a couple of days and
end up doing a full reinstall of Ubuntu as I did not make the connection
with the installation of g-golf (through guix).

Second time I make the connection, uninstall g-golf at a terminal - can
login.
It's repeatable - install g-golf - can't login, uninstall can login.

Anyone know what is going on?
Thanks
Mortimer


Re: guile-hoot install reproducibly crashes at 41% build

2023-10-27 Thread Mortimer Cladwell
Thanks Dave. That did the trick.


mbc@ins3910:~$ guix shell --container guile-next guile-hoot
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
1.6 MB will be downloaded
 bash-5.1.16-doc  301KiB
  365KiB/s 00:01 ▕██▏ 100.0%
 bash-5.1.16-include  67KiB
 3.1MiB/s 00:00 ▕██▏ 100.0%
applying 4 grafts for bash-5.1.16 ...
mbc@ins3910 ~ [env]$ guile
GNU Guile 3.0.9-0.79e836b
Copyright (C) 1995-2023 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use (hoot compile)
scheme@(guile-user)> (define the-answer (compile 42))
WARNING: (guile-user): `compile' imported from both (system base compile)
and (hoot compile)
WARNING: (guile-user): `compile' imported from both (system base compile)
and (hoot compile)
scheme@(guile-user)> ,use (wasm parse)
scheme@(guile-user)> (define reflector
(call-with-input-file
"/gnu/store/57g1w197sgyk7z8fpr4051j0qrr2m29s-guile-hoot-0.1.0/share/guile-hoot/js/js-runtime/reflect.wasm"
   parse-wasm))
scheme@(guile-user)> ,use (hoot reflect)
scheme@(guile-user)>  (define instance (hoot-instantiate reflector
the-answer))
scheme@(guile-user)> (hoot-load instance)
$1 = 42
scheme@(guile-user)>

On Fri, Oct 27, 2023 at 4:34 PM Thompson, David 
wrote:

> Hi again,
>
> I see a couple more issues...
>
> On Fri, Oct 27, 2023 at 3:27 PM Mortimer Cladwell 
> wrote:
> >
> > Thanks Dave.
> > I gave 'guix shell guile-next guile-hoot' a try.
> > Please see the error below: In procedure resolve-interface: no binding
> `define-custom-primcall-conver
> ter' in module (language tree-il compile-cps) and note that the
> reflect.wasm file was not generated.
> > Thanks
> > Mortimer
> >
> > mbc@ins3910:~/projects/guile-hoot$ guix shell guile-next guile-hoot
> > 45.4 MB will be downloaded
> >  glibc-2.35  8.5MiB
>   5.5MiB/s 00:02
> ▕██▏ 100.0%
> >  guile-next-3.0.9-0.79e836b  7.2MiB
>   1.5MiB/s 00:05
> ▕██▏ 100.0%
> >  glibc-2.35-static  1.4MiB
>3.8MiB/s 00:00
> ▕██▏ 100.0%
> >  guile-next-3.0.9-0.79e836b-debug  6.9MiB
>   3.6MiB/s 00:02
> ▕██▏ 100.0%
> >  glibc-2.35-debug  19.3MiB
>6.2MiB/s 00:03
> ▕██▏ 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'...
> 100.0%
> > The following derivation will be built:
> >   /gnu/store/0vyk4cd0y1zj8bkrifmg73hd3jbgjffd-profile.drv
> >
> > 3.4 MB will be downloaded
> >  module-import-compiled  107KiB
>   440KiB/s 00:00
> ▕██▏ 100.0%
> >  guile-2.0.14  3.0MiB
>   1.6MiB/s 00:02
> ▕██▏ 100.0%
> >  module-import-compiled  47KiB
>8.3MiB/s 00:00
> ▕██▏ 100.0%
> >  module-import-compiled  57KiB
>8.4MiB/s 00:00
> ▕██▏ 100.0%
> >  module-import-compiled  72KiB
>   10.8MiB/s 00:00
> ▕██▏ 100.0%
> > applying 8 grafts for guile-next-3.0.9-0.79e836b ...
> > applying 2 grafts for libffi-3.4.4 ...
> > applying 3 grafts for libfontenc-1.1.4 ...
> > applying 2 grafts for libgc-8.2.2 ...
> > applying 2 grafts for libunistring-1.0 ...
> > applying 8 grafts for mkfontscale-1.2.2 ...
> > applying 2 grafts for pkg-config-0.29.2 ...
> > applying 2 grafts for mkfontdir-1.0.7 ...
> > applying 7 grafts for guile-3.0.9 ...
> > applying 6 grafts for texinfo-6.8 ...
> > building CA certificate bundle...
> > listing Emacs sub-directories...
> > building fonts directory...
> > building directory of Info manuals...
> > building profile with 2 packages...
> > mbc@ins3910:~/projects/guile-hoot [env]$ guile
> > GNU Guile 3.0.9
>
> Looks like your shell environment is clobbering the Guix environment.
> This is Guile 3.0.9 stable, not the Guile provided by Guile next.  The
> version string should look like this:
>
> guile (GNU Guile) 3.0.9-0.c2cba86
>
> You can try using the --pure or --container flag to isolate guix shell
> from the rest of your system more.
>
> > Cop

Re: guile-hoot install reproducibly crashes at 41% build

2023-10-27 Thread Mortimer Cladwell
Thanks Dave.
I gave 'guix shell guile-next guile-hoot' a try.
Please see the error below: In procedure resolve-interface: no binding
`define-custom-primcall-converter' in module (language tree-il compile-cps)
and note that the reflect.wasm file was not generated.
Thanks
Mortimer

mbc@ins3910:~/projects/guile-hoot$ guix shell guile-next guile-hoot
45.4 MB will be downloaded
 glibc-2.35  8.5MiB
   5.5MiB/s 00:02 ▕██▏
100.0%
 guile-next-3.0.9-0.79e836b  7.2MiB
   1.5MiB/s 00:05 ▕██▏
100.0%
 glibc-2.35-static  1.4MiB
3.8MiB/s 00:00 ▕██▏
100.0%
 guile-next-3.0.9-0.79e836b-debug  6.9MiB
   3.6MiB/s 00:02 ▕██▏
100.0%
 glibc-2.35-debug  19.3MiB
6.2MiB/s 00:03 ▕██▏
100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivation will be built:
  /gnu/store/0vyk4cd0y1zj8bkrifmg73hd3jbgjffd-profile.drv

3.4 MB will be downloaded
 module-import-compiled  107KiB
   440KiB/s 00:00 ▕██▏
100.0%
 guile-2.0.14  3.0MiB
   1.6MiB/s 00:02 ▕██▏
100.0%
 module-import-compiled  47KiB
8.3MiB/s 00:00 ▕██▏
100.0%
 module-import-compiled  57KiB
8.4MiB/s 00:00 ▕██▏
100.0%
 module-import-compiled  72KiB
   10.8MiB/s 00:00 ▕██▏
100.0%
applying 8 grafts for guile-next-3.0.9-0.79e836b ...
applying 2 grafts for libffi-3.4.4 ...
applying 3 grafts for libfontenc-1.1.4 ...
applying 2 grafts for libgc-8.2.2 ...
applying 2 grafts for libunistring-1.0 ...
applying 8 grafts for mkfontscale-1.2.2 ...
applying 2 grafts for pkg-config-0.29.2 ...
applying 2 grafts for mkfontdir-1.0.7 ...
applying 7 grafts for guile-3.0.9 ...
applying 6 grafts for texinfo-6.8 ...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 2 packages...
mbc@ins3910:~/projects/guile-hoot [env]$ guile
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use (hoot compile)
While executing meta-command:
In procedure resolve-interface: no binding
`define-custom-primcall-converter' in module (language tree-il compile-cps)
scheme@(guile-user)>  (define the-answer (compile 42))
scheme@(guile-user)> ,use (wasm parse)
scheme@(guile-user)> (define reflector
   (call-with-input-file
"/home/mbc/projects/guile-hoot/js-runtime/reflect.wasm"
 parse-wasm))
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure open-file: No such file or directory:
"/home/mbc/projects/guile-hoot/js-runtime/reflect.wasm"

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]>

On Fri, Oct 27, 2023 at 9:22 AM Thompson, David 
wrote:

> Hi Mortimer,
>
> On Fri, Oct 27, 2023 at 7:01 AM Mortimer Cladwell 
> wrote:
> >
> > Hi,
> >
> > I did a git pull https://gitlab.com/spritely/guile-hoot.git
> > I am following installation instructions at
> > https://spritely.institute/files/docs/guile-hoot/0.1.0/Installation.html
> > I am using guix
> > The first attempt installs lots of stuff but at the build stage crashes
> at
> > 41%. I need to reboot and retry:
> >
> > mbc@ins3910:~/projects/guile-hoot$ guix shell
> > guix shell: loading environment from
> > '/home/mbc/projects/guile-hoot/guix.scm'...
> > The following derivation will be built:
> >   /gnu/store/lfx6a7a16jydk0zzlppwgv9ajsa92wia-v8-11.7-1.155ea5c.drv
> >
> > building
> > /gnu/store/lfx6a7a16jydk0zzlppwgv9ajsa92wia-v8-11.7-1.155ea5c.drv...
> >  41% ▕█▋
> > ▏guix shell: error: corrupt input while restoring archive from
> > #
> >
> > To recover I must reboot and do a 'guix pull' but I get the same results:
> > crash at ~41%
> >
> > I tried:
> > guix package --delete-generations
> > guix gc
> > cd ./projects/guile-hoot
> > guix shell
> >
> > Seems to re-initiate the entire build process but same results -crash at
> > 41% build
> > I am using Ubuntu on an Intel i5-12400 processor with 8GB RAM
> >
> > Has anyone had success with this install process? Sug

guile-hoot install reproducibly crashes at 41% build

2023-10-27 Thread Mortimer Cladwell
Hi,

I did a git pull https://gitlab.com/spritely/guile-hoot.git
I am following installation instructions at
https://spritely.institute/files/docs/guile-hoot/0.1.0/Installation.html
I am using guix
The first attempt installs lots of stuff but at the build stage crashes at
41%. I need to reboot and retry:

mbc@ins3910:~/projects/guile-hoot$ guix shell
guix shell: loading environment from
'/home/mbc/projects/guile-hoot/guix.scm'...
The following derivation will be built:
  /gnu/store/lfx6a7a16jydk0zzlppwgv9ajsa92wia-v8-11.7-1.155ea5c.drv

building
/gnu/store/lfx6a7a16jydk0zzlppwgv9ajsa92wia-v8-11.7-1.155ea5c.drv...
 41% ▕█▋
▏guix shell: error: corrupt input while restoring archive from
#

To recover I must reboot and do a 'guix pull' but I get the same results:
crash at ~41%

I tried:
guix package --delete-generations
guix gc
cd ./projects/guile-hoot
guix shell

Seems to re-initiate the entire build process but same results -crash at
41% build
I am using Ubuntu on an Intel i5-12400 processor with 8GB RAM

Has anyone had success with this install process? Suggestions?
Thanks
Mortimer


Reduce (use-module... to minimally required set

2022-02-17 Thread Mortimer Cladwell
Hi,
I have taken the Artanis packaging recipe from guile-xyz.scm and modified
it to suit my needs.  For the (use-module... section I simply copied all
the modules required by guile-xyz.scm.  I suspect Artanis requires a much
smaller subset. Is there a way to report modules actually used so I can
reduce the (use-module... statement to the bare minimum?
Thanks
Mortimer


Re: Help needed with substitute* command

2022-01-06 Thread Mortimer Cladwell
Thanks for the detailed explanation Tobias.  Guess I need to brush up on
regular expressions.
Mortimer

On Thu, Jan 6, 2022 at 9:43 AM Tobias Geerinckx-Rice  wrote:

> Hullo Mortimer,
>
> I hope this answer isn't too basic for you.  This input:
>
> Mortimer Cladwell 写道:
> >   ---input.txt(2)---
> >   foo(abc)bar(def)
>
> does not match the extended regular expression:
>
> > "foo([a-z]+)bar(.*)$"
>
> This would:
>
>   ---input.txt(3)---
>   foolishbarista
>
> result: bazlishista
>
> I'm not the one to either write or recommend a tutorial on
> extended regular expressions, but you'll find plenty on the 'net.
> There's also ‘info (grep)Regular Expressions’ which might be good.
> These things aren't specific to Guile, although a few dialects
> exist, and I think Guile uses the POSIX one.  The differences are
> quite small.
>
> In this specific example
>
> > ("foo([a-z]+)bar(.*)$" all letters end)
>
> the first string is an extended regular expression.
>
> It will match a literal ‘foo’ anywhere on a line, followed by 1 or
> more lowercase letters, followed by a literal ‘bar’, followed by
> anything until the end of the line.
>
> It will NOT match anything with ‘()’ brackets in it, like your
> original input.txt(2).  The brackets are regexp syntax used for
> grouping and capturing.
>
> If an optional variable name follows the regexp, it will be set to
> the complete match.  Here, that is ‘all’, which in our example
> will contain "foolishbarista".  It's not used here.
>
> In practice, this variable would be named ‘_’ to indicate that
> it's unimportant:
>
>   (("foo([a-z]+)bar(.*)$" _ letters end)
>(string-append "baz" letters end))
>
> but the author of the manual example thought that ‘all’ would be
> more clear.
>
> Each subsequent optional variable will be set to the content
> matched by () groups.  Here, ‘letters’ will be set to whatever
> matched ‘[a-z]+’, and ‘end’ to whatever matched ‘.*’.
>
> In our example ‘letters’ is "lish" and ‘end’ is "ista".
>
> This is powerful, because we can construct arbitrary strings at
> run time based that can differ significantly for each line that
> matches the same regexp:
>
> > (string-append "baz" letter end)
>
> is just Scheme code that uses the captured variables above,
> without hard-coding assumptions about what was matched.
>
>   footbarnacles → baztnacles
>   foodiebarmaid → bazdiemaid
>   …
>
> Minutes of fun.
>
> This special meaning of ‘()’ in extended rexeps means that if you
> would want to match:
>
>   ---input.txt(4)---
>   fo(bizzle)
>
> you'd write:
>
>   "fo\\(bizzle\\)"
>
> Because "\" in a string *also* has special meaning to Guile
> itself, we have to write "\\(" if we want the regexp engine to see
> "\(".
>
> >   Is the letters/letter in the manual a typo?  If I use letter I
> >   get
> > "...unbound variable..."
>
> Yes, that was a typo, both names should match.  I've fixed it.
> Thanks for apparently being the first to test this snippet!
>
> Kind regards,
>
> T G-R
>


Help needed with substitute* command

2022-01-06 Thread Mortimer Cladwell
Hi,
I do not understand the second substitute* example in the Guix Manual.
I have the executable mysubs.scm:

--mysubs.scm-
(add-to-load-path
"/gnu/store/rjzj1z89jqcb60nhg5gknkibcl84b3jb-guix-29745d23b-modules/share/guile/site/3.0")
(add-to-load-path ".")

(use-modules
(guix build utils)
(ice-9 rdelim)
(ice-9 popen)
(ice-9 regex) ;;list-matches
(ice-9 pretty-print))

(define (main args)
  (begin
(substitute* "./input.txt"
(("hello")
 "good morning\n")
(("foo([a-z]+)bar(.*)$" all letters end)
 (string-append "baz" letters end
  (pretty-print "done"))

  -end

  I run this on 2 different inputs representing the two examples in the
manual:


  ---input.txt(1)--
  hello

  -

  result: good morning


  ---input.txt(2)---
  foo(abc)bar(def)

  ---

  result:  foo(abc)bar(def)

  Why no substitution with the second example?
  Is the letters/letter in the manual a typo?  If I use letter I get
"...unbound variable..."

  Thanks
  Mortimer


Re: How to use guix hash --serializer?

2022-01-04 Thread Mortimer Cladwell
Thanks Tobias.
I guess my thinking is that if you have a command line switch like -x that
"excludes version control system directories" it could also exclude empty
directories.
Mortimer

On Tue, Jan 4, 2022 at 4:07 PM zimoun  wrote:

> Hi,
>
> On Tue, 04 Jan 2022 at 15:44, Mortimer Cladwell 
> wrote:
>
> > looks like the difference, other than make/git related files are four
> empty
> > directories doc, scripts, shinyln and tests, so appears empty directories
> > are not allowed?
>
> “guix hash” hashes all the bytes, not only the bytes tracked by Git.
>
>
> > mbc@HP8300:~/projects/shinyln$  git --no-pager log -1 --oneline
> >   git status
> > 9f06568 (HEAD -> master, origin/master) removed chmod statement
> > On branch master
> > Your branch is up to date with 'origin/master'.
> >
> > nothing to commit, working tree clean
>
> Oh, empty directories is not shown by “git status” and no option to
> display them, if I read correctly.  Ah, I did not known.
>
> Cheers,
> simon
>


Re: How to use guix hash --serializer?

2022-01-04 Thread Mortimer Cladwell
Thanks Tobias you are correct.

My project is ~/projects/shinyln

I repeat your suggestion of cloning a second copy into ~temp/shinyln, cd,
git reset etc.

I then compare the contents of the two 'clone' directories, see below

looks like the difference, other than make/git related files are four empty
directories doc, scripts, shinyln and tests, so appears empty directories
are not allowed?


Hi Simon,

mbc@HP8300:~/projects/shinyln$  git --no-pager log -1 --oneline
  git status
9f06568 (HEAD -> master, origin/master) removed chmod statement
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
-

Thanks!


=
output of
find /home/mbc/projects/shinyln -type d -printf "%P\n" | sort > file1
find /home/mbc/temp/shinyln -type d -printf "%P\n" | sort | diff - file1

mbc@HP8300:~/temp$ cat file1

autom4te.cache
build-aux
doc
.git
.git/branches
.git/hooks
.git/info
.git/logs
.git/logs/refs
.git/logs/refs/heads
.git/logs/refs/remotes
.git/logs/refs/remotes/origin
.git/objects
.git/objects/02
.git/objects/07
.git/objects/09
.git/objects/0a
.git/objects/0c
.git/objects/0d
.git/objects/10
.git/objects/12
.git/objects/15
.git/objects/17
.git/objects/18
.git/objects/1a
.git/objects/1e
.git/objects/20
.git/objects/23
.git/objects/26
.git/objects/29
.git/objects/2e
.git/objects/31
.git/objects/32
.git/objects/36
.git/objects/3e
.git/objects/40
.git/objects/48
.git/objects/4c
.git/objects/66
.git/objects/68
.git/objects/69
.git/objects/6d
.git/objects/72
.git/objects/75
.git/objects/76
.git/objects/7f
.git/objects/81
.git/objects/82
.git/objects/84
.git/objects/85
.git/objects/89
.git/objects/8b
.git/objects/8d
.git/objects/9b
.git/objects/9e
.git/objects/9f
.git/objects/a1
.git/objects/a3
.git/objects/a4
.git/objects/aa
.git/objects/b0
.git/objects/b5
.git/objects/b7
.git/objects/ba
.git/objects/bc
.git/objects/c8
.git/objects/ce
.git/objects/d3
.git/objects/d4
.git/objects/d6
.git/objects/d8
.git/objects/d9
.git/objects/df
.git/objects/e6
.git/objects/e9
.git/objects/ea
.git/objects/f2
.git/objects/ff
.git/objects/info
.git/objects/pack
.git/refs
.git/refs/heads
.git/refs/remotes
.git/refs/remotes/origin
.git/refs/tags
scripts
shinyln
tests

On Tue, Jan 4, 2022 at 3:21 PM zimoun  wrote:

> Hi Mortimer,
>
> On Tue, 04 Jan 2022 at 14:48, Mortimer Cladwell 
> wrote:
>
> > mbc@HP8300:~/projects$ cd shinyln/
> > mbc@HP8300:~/projects/shinyln$ guix hash -S nar -x .
> > 1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj
>
> Could you report:
>
>   git --no-pager log -1 --oneline
>   git status
>
> ?
>
> > FYI from
> https://guix.gnu.org/manual/en/html_node/Invoking-guix-hash.html
> > at the bottom explaining --exclude-vcs:
> >
> > $ git clone http://example.org/foo.git
> > $ cd foo
> > $ guix hash -rx .
> >
> > Suggests (to me) that you go inside the directory to calculate hash,
> > though as above seems not to matter.
>
> Yes, indeed.  I tried outside without fulling checking. :-)
>
>
> Cheers,
> simon
>


Re: How to use guix hash --serializer?

2022-01-04 Thread Mortimer Cladwell
So I am seeing the result for guix hash -S . which is wrong, but when the
bug is fixed I will get the results for
guix hash -S -x .

Is that what you are implying?
Thanks
Mortimer

On Tue, Jan 4, 2022 at 2:48 PM Mortimer Cladwell 
wrote:

> Thanks Tim, Simon, but that does not work for me.
>
> nar==
> mbc@HP8300:~/projects$ guix hash -S nar -x ./shinyln
> 1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj
> mbc@HP8300:~/projects$ cd shinyln/
> mbc@HP8300:~/projects/shinyln$ guix hash -S nar -x .
> 1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj
>
> git==
> mbc@HP8300:~/projects/shinyln$ guix hash -S git -x .
> 0lai57r0p11q041b3flriv56j6n8lizwb69yv7j396yiivkspv3x
> mbc@HP8300:~/projects/shinyln$ cd ..
> mbc@HP8300:~/projects$ guix hash -S git -x ./shinyln
> 0lai57r0p11q041b3flriv56j6n8lizwb69yv7j396yiivkspv3x
>
> error during packaging=
> building /gnu/store/2a2016wffiy0cwvayvsz64r1f88k05mg-git-checkout.drv...
> \r:sha256 hash mismatch for
> /gnu/store/w2sl6n4jnbhzs8qp1k4lff35h1yml2c4-git-checkout:
>   expected hash: 1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj
>   actual hash:   10nfjllq28jrzxd4dfqm6xzx8f2g1m6p2vivzihxc7d3ac1imnk2
>
> So seems like it doesn't matter whether I am inside or outside the
> directory I get the same hash (reasonable).
> Neither git nor nar provide the correct hash
>
> FYI from https://guix.gnu.org/manual/en/html_node/Invoking-guix-hash.html
> at the bottom explaining --exclude-vcs:
>
> $ git clone http://example.org/foo.git
> $ cd foo
> $ guix hash -rx .
>
> Suggests (to me) that you go inside the directory to calculate hash, though 
> as above seems not to matter.
>
> Thanks
>
> Mortimer
>
>
>
>
>
>
>
> On Tue, Jan 4, 2022 at 2:09 PM Timothy Sample  wrote:
>
>> Hi zimoun,
>>
>> zimoun  writes:
>>
>> > Indeed,
>> >
>> > $ guix hash -S git foo -x
>> > 0czq9304mdv9f2j6a8cdi9855sl8w595p06c1m8bn9pg391lhcal
>> > $ guix hash -S git foo
>> > 0czq9304mdv9f2j6a8cdi9855sl8w595p06c1m8bn9pg391lhcal
>> >
>> > Hum, I will check if it is expected.
>>
>> I’m pretty sure it’s a bug.  Fortunately, with Disarchive 0.4.0, the
>> following (untested) patch should fix it:
>>
>>
>> Hope that helps!
>>
>>
>> -- Tim
>>
>


Re: How to use guix hash --serializer?

2022-01-04 Thread Mortimer Cladwell
Thanks Tim, Simon, but that does not work for me.

nar==
mbc@HP8300:~/projects$ guix hash -S nar -x ./shinyln
1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj
mbc@HP8300:~/projects$ cd shinyln/
mbc@HP8300:~/projects/shinyln$ guix hash -S nar -x .
1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj

git==
mbc@HP8300:~/projects/shinyln$ guix hash -S git -x .
0lai57r0p11q041b3flriv56j6n8lizwb69yv7j396yiivkspv3x
mbc@HP8300:~/projects/shinyln$ cd ..
mbc@HP8300:~/projects$ guix hash -S git -x ./shinyln
0lai57r0p11q041b3flriv56j6n8lizwb69yv7j396yiivkspv3x

error during packaging=
building /gnu/store/2a2016wffiy0cwvayvsz64r1f88k05mg-git-checkout.drv...
\r:sha256 hash mismatch for
/gnu/store/w2sl6n4jnbhzs8qp1k4lff35h1yml2c4-git-checkout:
  expected hash: 1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj
  actual hash:   10nfjllq28jrzxd4dfqm6xzx8f2g1m6p2vivzihxc7d3ac1imnk2

So seems like it doesn't matter whether I am inside or outside the
directory I get the same hash (reasonable).
Neither git nor nar provide the correct hash

FYI from https://guix.gnu.org/manual/en/html_node/Invoking-guix-hash.html
at the bottom explaining --exclude-vcs:

$ git clone http://example.org/foo.git
$ cd foo
$ guix hash -rx .

Suggests (to me) that you go inside the directory to calculate hash,
though as above seems not to matter.

Thanks

Mortimer







On Tue, Jan 4, 2022 at 2:09 PM Timothy Sample  wrote:

> Hi zimoun,
>
> zimoun  writes:
>
> > Indeed,
> >
> > $ guix hash -S git foo -x
> > 0czq9304mdv9f2j6a8cdi9855sl8w595p06c1m8bn9pg391lhcal
> > $ guix hash -S git foo
> > 0czq9304mdv9f2j6a8cdi9855sl8w595p06c1m8bn9pg391lhcal
> >
> > Hum, I will check if it is expected.
>
> I’m pretty sure it’s a bug.  Fortunately, with Disarchive 0.4.0, the
> following (untested) patch should fix it:
>
>
> Hope that helps!
>
>
> -- Tim
>


How to use guix hash --serializer?

2022-01-04 Thread Mortimer Cladwell
Hi,
Using guix package --install-from-file=guix.scm I determined the commit
hash from the error message. The git-reference that works is:

 (uri (git-reference
  (url "git://github.com/mbcladwell/shinyln.git")
  (commit "9f06568ffa61953ab48c93e1623d88b4e672af42")))
(sha256 (base32
"10nfjllq28jrzxd4dfqm6xzx8f2g1m6p2vivzihxc7d3ac1imnk2"))

 In the local directory from where I issued git commit -am "my message" I
try the following:

 
$git log -n 1

commit 9f06568ffa61953ab48c93e1623d88b4e672af42 (HEAD -> master,
origin/master)
Author: mbcladwell 
Date:   Tue Jan 4 09:08:09 2022 -0500

removed chmod statement

$guix hash -rx .
1ykbpz6pqx0bkvfp3c60qfb9r0xvpmrs0ldlxm2qw0zd8f67lmaj

$guix hash --serializer=git -x .
0lai57r0p11q041b3flriv56j6n8lizwb69yv7j396yiivkspv3x

$guix hash --serializer=git .
0lai57r0p11q041b3flriv56j6n8lizwb69yv7j396yiivkspv3x



Appears that the -x switch has no effect.
-r and --serializer give different results.
Neither result matches the (valid) error message hash.
Where did I go wrong?
Thanks
Mortimer



the .gitignore---
*.eps
*.go
*.log
*.pdf
*.png
*.tar.xz
*.tar.gz
*.tmp
*~
.#*
\#*\#
,*
/ABOUT-NLS
/INSTALL
/aclocal.m4
/autom4te.cache
/build-aux/ar-lib
/build-aux/compile
/build-aux/config.guess
/build-aux/config.rpath
/build-aux/config.sub
/build-aux/depcomp
/build-aux/install-sh
/build-aux/mdate-sh
/build-aux/missing
/build-aux/test-driver
/build-aux/texinfo.tex
/config.status
/configure
/doc/*.1
/doc/.dirstamp
/doc/contributing.*.texi
/doc/*.aux
/doc/*.cp
/doc/*.cps
/doc/*.fn
/doc/*.fns
/doc/*.html
/doc/*.info
/doc/*.info-[0-9]
/doc/*.ky
/doc/*.pg
/doc/*.toc
/doc/*.t2p
/doc/*.tp
/doc/*.vr
/doc/*.vrs
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/m4/*
/pre-inst-env
/test-env
/test-tmp
/tests/*.trs
GPATH
GRTAGS
GTAGS
Makefile
Makefile.in
config.cache
stamp-h[0-9]
tmp
/.version
/doc/stamp-[0-9]


Re: postgresql client packaging recipe

2021-12-11 Thread Mortimer Cladwell
Thanks Tobias

You have updated my thinking about postgresql.

On Debian, apt-get install postgresql installs the postgres database/user
and starts the service.  If you are distributing a client app (I am) and
you only want to provide the user with the psql executable (I do), then you
have the client install postgresql-client.

With guix, it looks like guix package -i postgresql does not by default
create a database/user and start the service, but does provide the psql
executable. Maybe I can provide the postgresql package without having to
worry about polluting the users desktop with db/user/service. That would
make postgresql-client redundant.

That is my current thinking. Correct me if I am wrong.
Thanks
Mortimer

On Fri, Dec 10, 2021 at 6:42 PM Tobias Geerinckx-Rice  wrote:

> Tobias Geerinckx-Rice 写道:
> >> Is there a protocol for submitting packaging recipes?
> >
> > There's no difference! :-)
>
> I might've been missing the spirit of the question here.  Patches
> are the norm because they are easiest to review and commit.
>
> Stand-alone packages/recipes mean busywork for committers, who
> will be less likely to commit your package, or like you.
>
> But in practice, submitting your first package as stand-alone file
> to guix-patches@ or help-guix@ with a descriptive title is
> certainly not taboo.  Someone will surely help you get both your
> package and your git set-up up to snuff.
>
> Kind regards,
>
> T G-R
>


postgresql client packaging recipe

2021-12-10 Thread Mortimer Cladwell
Hi,
Postgresql-client is not available in the main repository (server is!). I
assumed it was due to the complicated license:
https://metadata.ftp-master.debian.org/changelogs//main/p/postgresql-13/postgresql-13_13.4-0+deb11u1_copyright

So I wrote a packaging recipe (below) and submitted to nonfree.  Was told
it might be that no one has gotten around to packaging for main yet.  I see
the documentation for submitting patches, but not recipe files. Is there a
protocol for submitting packaging recipes?

guix build succeeds:

...[many successes]...
phase `delete-info-dir-file' succeeded after 0.0 seconds
starting phase `patch-dot-desktop-files'
phase `patch-dot-desktop-files' succeeded after 0.0 seconds
starting phase `install-license-files'
installing 0 license files from '.'
phase `install-license-files' succeeded after 0.0 seconds
starting phase `reset-gzip-timestamps'
phase `reset-gzip-timestamps' succeeded after 0.0 seconds
starting phase `compress-documentation'
phase `compress-documentation' succeeded after 0.0 seconds
successfully built
/gnu/store/fqmsg116ycbxyvns6wd09cwk2a6nyqis-postgresql-client-13.4.drv
/gnu/store/w9gswswv5qxc84nyq5n7zkicygsb0rrq-postgresql-client-13.4

Tested and functional on Debian.

Thanks
Mortimer


(define-module (gnu packages postgresql-client)
  #:use-module (guix packages)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages base)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages readline)
  #:use-module (gnu packages texinfo))


(define-public postgresql-client
(package
  (name "postgresql-client")
  (version "13.4")
  (source
 (origin
   (method url-fetch)
   (uri "
http://deb.debian.org/debian/pool/main/p/postgresql-13/postgresql-13_13.4.orig.tar.bz2
")
   (sha256
(base32 "1kf0gcsrl5n25rjlvkh87aywmn28kbwvakm5c7j1qpr4j01y34za"
  (build-system gnu-build-system)
  (arguments `())
  (native-inputs
`(("autoconf" ,autoconf)
  ("automake" ,automake)
  ("pkg-config" ,pkg-config)
  ("texinfo" ,texinfo)))
  (inputs `(("readline" ,readline)
   ("zlib" ,(@ (gnu packages compression) zlib
  (propagated-inputs `())
  (synopsis "Front-end programs for PostgreSQL 13")
  (description "This package contains client and administrative programs
for PostgreSQL: these are the interactive terminal client psql and programs
for creating and removing users and databases.")
  (home-page "https://www.postgresql.org/docs/13/reference-client.html;)
  (license license:gpl3+)))