bug#25415: MySQL "server has gone away" when reloading database dump due to "max_allowed_packet" default

2017-01-10 Thread Ben Sturmfels
Hi there!

I'm using GuixSD 0.12.0 and ran `guix package --install=mysql` (which
I gather gave me MariaDB 10.1.19), then created a database and tried to
reload a database dump of a decent sized existing database:

  zcat dump.sql.gz | mysql DBNAME

which failed with:

  ERROR 2006 (HY000) at line 2266: MySQL server has gone away

Reloading the same dump works for me on default MySQL in Trisquel 7.
The database dump was created on Debian with `mysqldump --no-create-db
DBNAME`.

On Guix, I was able to reload the dump by running mysqld with a custom
config file with max_allowed_packet=16M under [mysqld].

It appears that the default value for `max_allowed_packet` under
Debian/Trisquel is "16M", where under Guix it is "4M". The mysqldump
defaults bunche a whole lot of records into a single insert statement
for performance, which is why I'm getting a value > 4M.

Could it be worth setting max_allowed_packet to 16M in Guix's
`mysql-configuration-file` function for consistency with Debian?

Regards,
Ben





bug#25415: MySQL "server has gone away" when reloading database dump due to "max_allowed_packet" default

2017-01-12 Thread Ben Sturmfels
On 13/01/17 01:22, Ludovic Courtès wrote:

>> Could it be worth setting max_allowed_packet to 16M in Guix's
>> `mysql-configuration-file` function for consistency with Debian?
> 
> Definitely.  I would add a ‘max-allowed-packet’ field in
>  in (gnu services databases) and make sure it’s
> honored.
> 
> Would you like to give it a try?

Sure, I'll give it a shot!

It looks as though the MariaDB source comes with a settings file for
Debian that includes max-allowed-packet=16M:

  mariadb-XX.XX.XX/debian/additions/my.cnf

Would you recommend adding just max-allowed-packet, or would it be worth
applying all these settings in this file?

Ben



signature.asc
Description: OpenPGP digital signature


bug#25775: Can't install packages after guix pull

2017-02-20 Thread Ben Sturmfels
On Sat, 18 Feb 2017 16:30:34 +
Pjotr Prins  wrote:

> Yes, using the latest guix-daemon and guix client fixed it:
> 
> /gnu/store/175nlv448nk5kagwwl3zyy2w4726qfz6-guix-0.12.0-4.d9da/bin/guix-daemon

Could I trouble you to walk through the steps for manually installing a
different version of guix-daemon? I'm stuck in the same situation where
I can't `guix package --install`.

Regards,
Ben





bug#25775: Can't install packages after guix pull

2017-02-20 Thread Ben Sturmfels
On Tue, 21 Feb 2017 09:44:03 +1100
Ben Sturmfels  wrote:

> On Sat, 18 Feb 2017 16:30:34 +
> Pjotr Prins  wrote:
> 
> > Yes, using the latest guix-daemon and guix client fixed it:
> > 
> > /gnu/store/175nlv448nk5kagwwl3zyy2w4726qfz6-guix-0.12.0-4.d9da/bin/guix-daemon
> >   
> 
> Could I trouble you to walk through the steps for manually installing
> a different version of guix-daemon? I'm stuck in the same situation
> where I can't `guix package --install`.

(Also can't `guix pull` without an error)





bug#25775: Can't install packages after guix pull

2017-02-20 Thread Ben Sturmfels
On Tue, 21 Feb 2017 09:52:11 +1100
Ben Sturmfels  wrote:

> > Could I trouble you to walk through the steps for manually
> > installing a different version of guix-daemon? I'm stuck in the
> > same situation where I can't `guix package --install`.  
> 
> (Also can't `guix pull` without an error)

I'm attempting to fix my GuixSD system by downloading Guix
0.12.0 Binary, extracting and running guix-daemon, then running `guix
pull` against that. The daemon runs ok, but `guix pull` is expecting
its dependencies to be at /gnu, when they're actually at
~/Downloads/gnu. Any suggestions?

$ sudo
Downloads/gnu/store/gj2i5xs7nm80mwrb139pa8iqfccw08zz-guix-0.12.0/bin/guix-daemon
--build-users-group guixbuild --substitute-urls
https://mirror.hydra.gnu.org

$
~/Downloads/gnu/store/gj2i5xs7nm80mwrb139pa8iqfccw08zz-guix-0.12.0/bin/guix
pull
--url=http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-0.12.0.tar.gz 
/home/ben/Downloads/gnu/store/gj2i5xs7nm80mwrb139pa8iqfccw08zz-guix-0.12.0/bin/guix:
line
4: /gnu/store/gj2i5xs7nm80mwrb139pa8iqfccw08zz-guix-0.12.0/bin/.guix-real:
No such file or directory





bug#25775: Can't install packages after guix pull

2017-04-10 Thread Ben Sturmfels
On 22/02/17 09:36, Ricardo Wurmus wrote:
> 
> Ben Sturmfels  writes:
> 
>> On Tue, 21 Feb 2017 09:52:11 +1100
>> Ben Sturmfels  wrote:
>>
>>>> Could I trouble you to walk through the steps for manually
>>>> installing a different version of guix-daemon? I'm stuck in the
>>>> same situation where I can't `guix package --install`.  
>>>
>>> (Also can't `guix pull` without an error)
>>
>> I'm attempting to fix my GuixSD system by downloading Guix
>> 0.12.0 Binary, extracting and running guix-daemon, then running `guix
>> pull` against that. The daemon runs ok, but `guix pull` is expecting
>> its dependencies to be at /gnu, when they're actually at
>> ~/Downloads/gnu. Any suggestions?
> 
> How did you end up having dependencies outside of /gnu?  All Guix
> packages depend only on things inside the store.  If you want to use
> substitutes you cannot avoid /gnu.

Sorry for the late reply. I had dependencies outside of /gnu
because I was attempting to upgrade guix-daemon without messing with the
nice clean read-only mounted /gnu/store filesystem. Turns out I didn't
use that approach in the end and used "rollback" instead.

I realised that the recovery steps in
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25775#35 were more for
Guix on a foreign distro.

For anyone else on GuixSD who can't `guix pull` or `guix package
--install` due to older guix-daemon mismatched with newer guix installed
for root, here's how I fixed my system:

1. I had a number of system generations available so I rolled back to
one before I ran the problematic "sudo guix pull", with `guix system
list-generations` and `guix system switch-generations`.

2. Ran `sudo guix pull
--url=http://git.savannah.gnu.org/cgit/guix.git/snapshot/afd532337.tar.gz`
to get the last version of guix compatible with older daemons.

3. Ran `sudo guix system reconfigure myconfig.scm`, which upgrades
guix-daemon. Note that `guix package --upgrade` as root doesn't upgrade
guix-daemon on GuixSD. Note also that I ended up reducing the services
in this config to just "%base-services" to avoid hours of unnecessary
compiling, when I really just needed guix-daemon. Ended up having to do
it in a virtual terminal.

4. Reboot and verify that I had an 0.12 version of guix-daemon running.

5. Ran `sudo guix pull` and `sudo guix system reconfigure myconfig2.scm`
to restore my full desktop services and upgrade system infrastructure to
latest version.

6. For good measure, ran `sudo guix pull` and `sudo guix package
--upgrade` to bring root's guix tools up to date (actually had zero
packages installed for root).

7. Ran `guix pull` and `guix package --upgrade` as my normal user to
update that too.

My actual path took a lot more than 7 steps, so I hope I got those
instructions right. ;)

Reinstalling probably would have been faster, but I've learnt a lot more
about how GuixSD works, and it's satisfying and reassuring to be able to
fix things by rolling back!

Regards,
Ben







signature.asc
Description: OpenPGP digital signature


bug#26558: Opening URLs with xdg-open fails (eg. Gajim, Pumpa)

2017-04-18 Thread Ben Sturmfels
Hi Folks,

When I click an embedded URL within Gajim or Pumpa, I'm expecting a
browser window to pop up, but nothing happens and I get an error on the
command line:

  /home/ben/.guix-profile/bin/xdg-open: line 341: gnome-open: command
  not found

The same error shows up if you attempt try the URL with xdg-open
directly:

  $ xdg-open https://www.gnu.org/software/guix/
  /home/ben/.guix-profile/bin/xdg-open: line 341: gnome-open: command not
  found

As this message suggests, "gnome-open" is hard-coded into the "xdg-open"
script on line 341.

In Trisquel 7 and Debian Unstable the "gnome-open" executable is
included in the "libgnome2-bin" package, which I gather is deprecated.
Some quick searching around suggests that "gvfs-open" might be the the
appropriate replacement for "gnome-open":

  
https://askubuntu.com/questions/101965/what-is-the-replacement-for-gnome-open-in-gnome
  
https://wiki.gnome.org/Initiatives/GnomeGoals/RemoveGnomeOpenGnomeHelp?highlight=%28gnome-open%29
  https://wiki.gnome.org/Attic/LibgnomeMustDie?highlight=%28gnome-open%29

I assume that means either:

  a. packaging the deprecated gnome-open,
  b. modifying xdg-open to use gvfs-open instead of gnome-open, or
  c. in Gajim's case, possibly using "gtk_show_uri"?

Cheers,
Ben





bug#26558: Opening URLs with xdg-open fails (eg. Gajim, Pumpa)

2017-04-23 Thread Ben Sturmfels
On 22/04/17 20:31, Marius Bakke wrote:

> Ben: Can you confirm whether the latest xdg-utils work for you? It's in
> 'master' now so you should get it after a `guix pull` and update.

Thanks Marius, working beautifully now!

Regards,
Ben




signature.asc
Description: OpenPGP digital signature


bug#27264: gnome-shell-3.24.2 consistently dies during initialization

2017-06-08 Thread Ben Sturmfels
On 08/06/17 16:03, Marius Bakke wrote:
> Mark H Weaver  writes:
>>
>> I have a question: Does GNOME 3 work for *anyone* in Guix now?  If so,
>> that would be useful information.  If not, I wonder why this got merged
>> into master.
> 
> I'm sorry, I don't actually use GNOME and should have tested it before
> pushing. I have been busy lately and didn't want to hold up the branch.
> 
> It would be good to have a system test for GNOME and other DEs so we can
> catch these problems earlier.
> 
> I'll try to help fixing this later today, but feel free to revert the
> updates meanwhile.

That aside, thanks for your all your great packaging work Marius! I
really appreciate it! :D



signature.asc
Description: OpenPGP digital signature


bug#28522: Cannot upgrade due to "guix pull" errors

2017-09-19 Thread Ben Sturmfels
Hi Adam,

On 20/09/17 13:08, Adam Bolte wrote:
> Hi there,
> 
> I'm running Guix 0.10.0 on a Debian stretch box, and I'd like to
> upgrade. The box had not been booted for quite some time, hence the
> version is somewhat old.
> 
> Running `guix pull`, I get the following:
> 
> 
> Starting download of /tmp/guix-file.k6X14m
> From http://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz...
>  master.tar.gz  628KiB/s 00:22 | 13.6MiB 
> transferred
> unpacking '/gnu/store/i17ynp73h182q1n72a6nqsyxk32fkhhr-guix-latest.tar.gz'...
> Your installation is too old and lacks a 'guile2.0-git' package.
> Please upgrade to an intermediate version first, for instance with:
> 
>   guix pull 
> --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.13.0.tar.gz

It looks as though your system is attempting to download and build boost
1.60.0, but both Guix's binary substitute and the original source for
the version are no longer available. Given v0.13.0 is the latest
release, it's a shame if that binary substitute of boost is no longer
available. Not sure why the source would have disappeared.

There is nearly always a way to work around for issues like this, but
given how old your install is, I think you'll save a lot of time by just
reinstalling. There have been quite few breaking changes in the last
year that may catch you even if you do resolve the above issue
(guix-daemon upgrade, Guile upgrade).

> Some places I have found mention the `--fallback` argument, but this
> feature isn't included in the version I am upgrading from.
> 
> $ guix pull --fallback
> warning: failed to install locale: Invalid argument
> guix pull: error: fallback: unrecognized option

For what it's worth, guix is already falling back to fetching the source
from Sourceforge, so I don't think this flag would help you anyway.

Cheers,
Ben



signature.asc
Description: OpenPGP digital signature


bug#29255: "Profile contains conflicting entries" could be more helpful

2017-11-10 Thread Ben Sturmfels
Hi Folks,

When trying to install "python-twine", installation failed with the
following error:

$ guix package --install python-twine
The following package will be installed:
   python-twine 1.9.1   
/gnu/store/fh72qswc2gpj1c1xb2gm23hfs1vx4lk2-python-twine-1.9.1

guix package: error: profile contains conflicting entries for 
python-requests:out
guix package: error:   first entry: python-requests@2.13.0:out 
/gnu/store/4paqanwmdw2d7ss9hdq7d34b43ycjgsv-python-requests-2.13.0
guix package: error:... propagated from python-twine@1.9.1
guix package: error:   second entry: python-requests@2.13.0:out 
/gnu/store/z4jqf8p2z73dscrjmbpwamdvyfdaqkgx-python-requests-2.13.0


This was quite baffling - it wasn’t clear to me why there was a
conflict, whether it was related to something I'd done and what I could
do to fix it.

If I understand correctly, the cause is that I had manually installed
"python-requests" at some stage and that only one version can be
available in my profile, and that "python-twine" depended on a different
version.

I believe the action I need to take to resolve the conflict is:

  guix package --install python-twine --upgrade python-requests


So I think the bug is that the user interface could be more helpful here.
It should probably either tell you what happened and what you can do to
fix it, or offer to resolve the conflict/perform the upgrade for you.

Regards,
Ben





bug#29255: "Profile contains conflicting entries" could be more helpful

2017-12-10 Thread Ben Sturmfels
On 11/12/17 09:47, Ludovic Courtès wrote:

>> When the version numbers are the same, we cannot tell whether a variant
>> is “older”, we can just tell that it’s different.  Also, I find it
>> useful to see the propagation stack as is currently the case.
>>
>> With the patch below, I get:
>>
>> $ ./pre-inst-env guix package -p foo -i python@2 python
>> The following packages will be installed:
>>python2.7.13  
>> /gnu/store/vysfxizaddh1q8s5qjgbdkzxx0585dzi-python-2.7.13
>>python3.5.3   /gnu/store/m4rdgmvdqcxs2zhv42idnz1s1w391i8j-python-3.5.3
>>
>> guix package: error: profile contains conflicting entries for python:out
>> guix package: error:   first entry: python@2.7.13 
>> /gnu/store/vysfxizaddh1q8s5qjgbdkzxx0585dzi-python-2.7.13
>> guix package: error:   second entry: python@3.5.3 
>> /gnu/store/m4rdgmvdqcxs2zhv42idnz1s1w391i8j-python-3.5.3
>> hint: You cannot have two different versions or variants of `python' in the 
>> same profile.
>>
>>
>> and:
>>
>> $ ./pre-inst-env guix package -i guile-cairo -p foo --no-grafts
>> The following package will be installed:
>>guile-cairo   1.4.1   
>> /gnu/store/dsdbp9sqla6zz2skljlcr5zfjyzvargf-guile-cairo-1.4.1
>>
>> guix package: error: profile contains conflicting entries for cairo:out
>> guix package: error:   first entry: cairo@1.14.10 
>> /gnu/store/c4vl4hw5jccg0b23sfvs0kdnfdbxdlgm-cairo-1.14.10
>> guix package: error:... propagated from guile-cairo@1.4.1
>> guix package: error:   second entry: cairo@1.14.10 
>> /gnu/store/nwxv9s2q8pi0m6gn6fyidpj8442dwp6f-cairo-1.14.10
>> guix package: error:... propagated from cairomm@1.12.2
>> hint: Try upgrading both `guile-cairo' and `cairomm', or remove one of them 
>> from the profile.
> 
> I’ve pushed the patch as commit
> 3b80b81358b3861ca3794105c8eb4395df97846b.  Hopefully these hints help
> users get on the right track, and we can always adjust them.

That's Ludo, that's great!



signature.asc
Description: OpenPGP digital signature


bug#30189: Retux game halts after preloading levels (missing ucd.sqlite uniseg database)

2018-01-20 Thread Ben Sturmfels
Hi Folks,

I'd like to play the Retux game, but while the game starts up it crashes
on me after the "preloading levels" screen.

There's no useful console output, but when running in the debugger, I
see that the python-uniseg package is looking for a file called
ucd.sqlite3 that doesn't exist, some kind of Unicode letter spacing
database that's not present in the BitBucket repository.

  python3 -m pdb -c continue \
  "/gnu/store/57psnlgdyri8phkxzasaf6q0gb8nskpz-retux-1.3.5/bin/.retux-real"

See uniseg/db.py:107 and 21. Since it's also looking in the current
directory, I tried downloading ucd.sqlite3 from the PyPI zip package -
that fixes the issue.

The python-uniseg package downloads the source from BitBucket, so I
tried changing that to PyPI:

  (uri (pypi-uri "uniseg" version ".zip"))

which downloads ok, but fails but the fails at the unpack phase without
any details. Should Guix know how to unpack a .zip? Or maybe I should
coerce the maintainer to publish a .tar.gz?

Currently Retux is the only program that uses python-uniseg (via
python-sge-pygame dependency).

Regards,
Ben


signature.asc
Description: PGP signature


bug#30189: Retux game halts after preloading levels (missing ucd.sqlite uniseg database)

2018-01-20 Thread Ben Sturmfels
Thanks Gábor, adding zipfile fixes the build and Retux now runs.

Patch attached and CC'd to guix-patches.

Regards,
Ben

On Sun, 21 Jan 2018, Gábor Boskovits wrote:

> I think unzip should be added to native-inputs. Can you try that?
>
> 2018-01-21 4:46 GMT+01:00 Ben Sturmfels :
>
>  Hi Folks,
>
>  I'd like to play the Retux game, but while the game starts up it
>  crashes
>  on me after the "preloading levels" screen.
>
>  There's no useful console output, but when running in the debugger, I
>  see that the python-uniseg package is looking for a file called
>  ucd.sqlite3 that doesn't exist, some kind of Unicode letter spacing
>  database that's not present in the BitBucket repository.
>
>  python3 -m pdb -c continue \
>  "/gnu/store/57psnlgdyri8phkxzasaf6q0gb8nskpz-retux-1.3.5/bin/.retux-real"
>  
>
>  See uniseg/db.py:107 and 21. Since it's also looking in the current
>  directory, I tried downloading ucd.sqlite3 from the PyPI zip package -
>  that fixes the issue.
>
>  The python-uniseg package downloads the source from BitBucket, so
>  I
>  tried changing that to PyPI:
>
>  (uri (pypi-uri "uniseg" version ".zip"))
>
>  which downloads ok, but fails but the fails at the unpack phase
>  without
>  any details. Should Guix know how to unpack a .zip? Or maybe I
>  should
>  coerce the maintainer to publish a .tar.gz?
>
>  Currently Retux is the only program that uses python-uniseg (via
>  python-sge-pygame dependency).
>
>  Regards,
>  Ben
From 42c1e69526ec9781e3f7290fb74e2a561131e3be Mon Sep 17 00:00:00 2001
From: Ben Sturmfels 
Date: Sun, 21 Jan 2018 18:43:07 +1100
Subject: [PATCH] gnu: python-uniseg: Switch to PyPi source to get missing
 ucd.sqlite3.

* gnu/packages/python.scm (python-uniseg): Use PyPI, add zipfile dependency to
  unpack.
---
 gnu/packages/python.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0b582e6b7..2f1c20e31 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -773,15 +773,15 @@ Python 3 support.")
 (source
  (origin
(method url-fetch)
-   (uri (string-append "https://bitbucket.org/emptypage/uniseg-python/";
-   "get/rel-" version ".tar.gz"))
-   (file-name (string-append name "-" version ".tar.gz"))
+   (uri (pypi-uri "uniseg" version ".zip"))
(sha256
 (base32
- "1df4gddnj2a0v8z35wb2ra5vvh1f1qyxs8fgd25c8g64031mna6x"
+ "05jsazvz6nbmh6l3v1rph5ydkqn1hzx1pyggdyvgp2qgmgrnmiz2"
 (build-system python-build-system)
 (arguments
  '(#:tests? #f)) ; The test suite requires network access.
+(native-inputs
+ `(("unzip" ,unzip)))
 (home-page
  "https://bitbucket.org/emptypage/uniseg-python";)
 (synopsis
-- 
2.15.1



signature.asc
Description: PGP signature


bug#30189: Retux game halts after preloading levels (missing ucd.sqlite uniseg database)

2018-01-21 Thread Ben Sturmfels
Whoops, forgot to include guix-patches.

On Sun, 21 Jan 2018, Ben Sturmfels wrote:

> Thanks Gábor, adding zipfile fixes the build and Retux now runs.
>
> Patch attached and CC'd to guix-patches.
>
> Regards,
> Ben
>
> On Sun, 21 Jan 2018, Gábor Boskovits wrote:
>
>> I think unzip should be added to native-inputs. Can you try that?
>>
>> 2018-01-21 4:46 GMT+01:00 Ben Sturmfels :
>>
>>  Hi Folks,
>>
>>  I'd like to play the Retux game, but while the game starts up it
>>  crashes
>>  on me after the "preloading levels" screen.
>>
>>  There's no useful console output, but when running in the debugger, I
>>  see that the python-uniseg package is looking for a file called
>>  ucd.sqlite3 that doesn't exist, some kind of Unicode letter spacing
>>  database that's not present in the BitBucket repository.
>>
>>  python3 -m pdb -c continue \
>>  "/gnu/store/57psnlgdyri8phkxzasaf6q0gb8nskpz-retux-1.3.5/bin/.retux-real"
>>  
>>
>>  See uniseg/db.py:107 and 21. Since it's also looking in the current
>>  directory, I tried downloading ucd.sqlite3 from the PyPI zip package -
>>  that fixes the issue.
>>
>>  The python-uniseg package downloads the source from BitBucket, so
>>  I
>>  tried changing that to PyPI:
>>
>>  (uri (pypi-uri "uniseg" version ".zip"))
>>
>>  which downloads ok, but fails but the fails at the unpack phase
>>  without
>>  any details. Should Guix know how to unpack a .zip? Or maybe I
>>  should
>>  coerce the maintainer to publish a .tar.gz?
>>
>>  Currently Retux is the only program that uses python-uniseg (via
>>  python-sge-pygame dependency).
>>
>>  Regards,
>>  Ben
From 42c1e69526ec9781e3f7290fb74e2a561131e3be Mon Sep 17 00:00:00 2001
From: Ben Sturmfels 
Date: Sun, 21 Jan 2018 18:43:07 +1100
Subject: [PATCH] gnu: python-uniseg: Switch to PyPi source to get missing
 ucd.sqlite3.

* gnu/packages/python.scm (python-uniseg): Use PyPI, add zipfile dependency to
  unpack.
---
 gnu/packages/python.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0b582e6b7..2f1c20e31 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -773,15 +773,15 @@ Python 3 support.")
 (source
  (origin
(method url-fetch)
-   (uri (string-append "https://bitbucket.org/emptypage/uniseg-python/";
-   "get/rel-" version ".tar.gz"))
-   (file-name (string-append name "-" version ".tar.gz"))
+   (uri (pypi-uri "uniseg" version ".zip"))
(sha256
 (base32
- "1df4gddnj2a0v8z35wb2ra5vvh1f1qyxs8fgd25c8g64031mna6x"
+ "05jsazvz6nbmh6l3v1rph5ydkqn1hzx1pyggdyvgp2qgmgrnmiz2"
 (build-system python-build-system)
 (arguments
  '(#:tests? #f)) ; The test suite requires network access.
+(native-inputs
+ `(("unzip" ,unzip)))
 (home-page
  "https://bitbucket.org/emptypage/uniseg-python";)
 (synopsis
-- 
2.15.1



signature.asc
Description: PGP signature


bug#30189: [PATCH] Re: bug#30189: Retux game halts after preloading levels (missing ucd.sqlite uniseg database)

2018-01-21 Thread Ben Sturmfels
Patch for python-uniseg attached that fixes bug#30189.

Sorry if this is a duplicate, but I can't seem my previous email in the
guix-patches archives. Maybe because I missed the [PATCH] in the subject?

On Sun, 21 Jan 2018, Ben Sturmfels wrote:

> Thanks Gábor, adding zipfile fixes the build and Retux now runs.
>
> Patch attached and CC'd to guix-patches.
>
> Regards,
> Ben
>
> On Sun, 21 Jan 2018, Gábor Boskovits wrote:
>
>> I think unzip should be added to native-inputs. Can you try that?
>>
>> 2018-01-21 4:46 GMT+01:00 Ben Sturmfels :
>>
>>  Hi Folks,
>>
>>  I'd like to play the Retux game, but while the game starts up it
>>  crashes
>>  on me after the "preloading levels" screen.
>>
>>  There's no useful console output, but when running in the debugger, I
>>  see that the python-uniseg package is looking for a file called
>>  ucd.sqlite3 that doesn't exist, some kind of Unicode letter spacing
>>  database that's not present in the BitBucket repository.
>>
>>  python3 -m pdb -c continue \
>>  "/gnu/store/57psnlgdyri8phkxzasaf6q0gb8nskpz-retux-1.3.5/bin/.retux-real"
>>
>>
>>  See uniseg/db.py:107 and 21. Since it's also looking in the current
>>  directory, I tried downloading ucd.sqlite3 from the PyPI zip package -
>>  that fixes the issue.
>>
>>  The python-uniseg package downloads the source from BitBucket, so
>>  I
>>  tried changing that to PyPI:
>>
>>  (uri (pypi-uri "uniseg" version ".zip"))
>>
>>  which downloads ok, but fails but the fails at the unpack phase
>>  without
>>  any details. Should Guix know how to unpack a .zip? Or maybe I
>>  should
>>  coerce the maintainer to publish a .tar.gz?
>>
>>  Currently Retux is the only program that uses python-uniseg (via
>>  python-sge-pygame dependency).
>>
>>  Regards,
>>  Ben
From 42c1e69526ec9781e3f7290fb74e2a561131e3be Mon Sep 17 00:00:00 2001
From: Ben Sturmfels 
Date: Sun, 21 Jan 2018 18:43:07 +1100
Subject: [PATCH] gnu: python-uniseg: Switch to PyPi source to get missing
 ucd.sqlite3.

* gnu/packages/python.scm (python-uniseg): Use PyPI, add zipfile dependency to
  unpack.
---
 gnu/packages/python.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0b582e6b7..2f1c20e31 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -773,15 +773,15 @@ Python 3 support.")
 (source
  (origin
(method url-fetch)
-   (uri (string-append "https://bitbucket.org/emptypage/uniseg-python/";
-   "get/rel-" version ".tar.gz"))
-   (file-name (string-append name "-" version ".tar.gz"))
+   (uri (pypi-uri "uniseg" version ".zip"))
(sha256
 (base32
- "1df4gddnj2a0v8z35wb2ra5vvh1f1qyxs8fgd25c8g64031mna6x"
+ "05jsazvz6nbmh6l3v1rph5ydkqn1hzx1pyggdyvgp2qgmgrnmiz2"
 (build-system python-build-system)
 (arguments
  '(#:tests? #f)) ; The test suite requires network access.
+(native-inputs
+ `(("unzip" ,unzip)))
 (home-page
  "https://bitbucket.org/emptypage/uniseg-python";)
 (synopsis
-- 
2.15.1



signature.asc
Description: PGP signature


bug#31827: "guix pull" fails

2018-06-14 Thread Ben Sturmfels
On 15/06/18 01:13, Alex Kost wrote:
> Hello, sorry for bothering.  I tried to run "guix pull" from the guix
> git checkout (using pre-inst-env) and it failed for me with the
> following backtrace.  Do I miss anything obvious?

> guix/git-download.scm:86:17: In procedure allocate-struct: Wrong type 
> argument in position 2: 3

Hi Alex,

See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28265#16

I'm no expert on this, but the cause is recent breaking changes in the
binary interfaces.  The command you need is "make clean-go && make”.

If "make clean-go" is also fails, as it did for me, you'll need to
remove the .go files manually. You can use something like "find . -name
'*.go'" and if you're happy with those files, add a "-delete" argument
on the end.

Once cleaned, up do a full rebuild with "./bootstrap && make".

Regards,
Ben





signature.asc
Description: OpenPGP digital signature


bug#31838: "make" error on guix master

2018-06-14 Thread Ben Sturmfels
Hi folks,

I'm on the current head of Guix master,
b494bbe466419dcac9f415c1152131f012b9555e, and I'm getting an error
building guix. I've just run a "make clean" and "./bootstrap" prior to
the below.

Regards,
Ben

ben@Marseille ~/work/ws/guix [env][master*]$ make
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure --localstatedir=/var 
PKG_CONFIG_PATH=/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/lib/pkgconfig
 --no-create --no-recursion
checking for a BSD-compatible install... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/grep
checking for egrep... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether NLS is requested... yes
checking for msgfmt... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/msgfmt
checking for gmsgfmt... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/msgfmt
checking for xgettext... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/xgettext
checking for msgmerge... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for ld used by GCC... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/ld
checking if the linker 
(/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for sed... /gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/sed
checking for the Guix system type... x86_64-linux
checking for the store directory... /gnu/store
checking the length of the installed socket file name... 30
checking for unit test root directory... /home/ben/work/ws/guix/test-tmp
checking the length of the socket file name used in tests... 63
checking the length of a typical hash bang line... 73
checking the length of a hash bang line used in tests... 100
checking for pkg-config... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: checking for guile 2.2
configure: found guile 2.2
checking for guile-2.2... no
checking for guile2.2... no
checking for guile-2... no
checking for guile2... no
checking for guile... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guile
checking for Guile version >= 2.2... 2.2.3
checking for guild... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guild
checking for guile-config... 
/gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guile-config
checking if (gnutls) is available... yes
checking if (git) is available... yes
checking if (json) is available... yes
checking whether Guile-Sqlite3 is available and recent enough... yes
checking whether /gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guile 
provides feature 'regex'... yes
checking whether /gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guile 
provides feature 'posix'... yes
checking whether /gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guile 
provides feature 'socket'... yes
checking whether /gnu/store/53zl5kgyvk1w0bbq61k9xxx5hr8hq0c4-profile/bin/guile 
provides feature 'net-db'... yes
checking whether /gnu/store/53zl5kgyvk1w0bbq61

bug#31838: "make" error on guix master

2018-06-27 Thread Ben Sturmfels
On 17/06/18 07:08, Ricardo Wurmus wrote:

>> I'm on the current head of Guix master,
>> b494bbe466419dcac9f415c1152131f012b9555e, and I'm getting an error
>> building guix. I've just run a "make clean" and "./bootstrap" prior to
>> the below.
> […]
>>   CXXLDguix-daemon
>> /gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libpthread.so.0: 
>> undefined reference to `__sigtimedwait@GLIBC_PRIVATE'
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [Makefile:3366: guix-daemon] Error 1
>> make[2]: Leaving directory '/home/ben/work/ws/guix'
>> make[1]: *** [Makefile:4493: all-recursive] Error 1
>> make[1]: Leaving directory '/home/ben/work/ws/guix'
>> make: *** [Makefile:3144: all] Error 2
> 
> I haven’t seen this error before.  Are you doing this inside of a *pure*
> environment?

Thanks Ricardo, I tried "--pure" which didn't do the trick on its own,
but then tried disabling my .bashrc, which made the issue go away.

Regards,
Ben



signature.asc
Description: OpenPGP digital signature


bug#32170: python-cairocffi error "dlopen() failed to load a library: cairo / cairo-2"

2018-07-16 Thread Ben Sturmfels
Hi Folks,

I'm having problems running Python code that depends on the
"python-cairocffi" package. Running "from cairocffi._ffi import ffi" on
Trisquel 8 works fine, but on GuixSD I get:

$ guix environment --container --ad-hoc python cairo python-cairocffi
$ python3.6 -c "from cairocffi._ffi import ffi"
Traceback (most recent call last):
  File "", line 1, in 
  File 
"/home/ben/.guix-profile/lib/python3.6/site-packages/cairocffi/__init__.py", 
line 41, in 
cairo = dlopen(ffi, 'cairo', 'cairo-2')
  File 
"/home/ben/.guix-profile/lib/python3.6/site-packages/cairocffi/__init__.py", 
line 38, in dlopen
raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
OSError: dlopen() failed to load a library: cairo / cairo-2

The background on this is that I use the Weasyprint PDF library from
PyPI and Weasyprint issues the above "from cairocffi._ffi import ffi".

I'm running GuixSD up-to-date with the latest master branch.

Regards,
Ben


signature.asc
Description: PGP signature


bug#32170: python-cairocffi error "dlopen() failed to load a library: cairo / cairo-2"

2018-07-16 Thread Ben Sturmfels
On 17/07/18 07:54, Danny Milosavljevic wrote:
> Hi Ben,
> 
> thanks for the report.
> 
> I've fixed it in a545090ce5e6b9da1f473f558dabda69f317e461 on guix master
> by allowing absolute paths as python-cairocffi's dlopen's parameter
> and also substituting the sonames by the absolute paths in the callers.
> 
> python-cairocffi's dlopen is re-exported.  That means that users that
> use it also have to use the absolute paths.

Thanks Danny, I appreciate you squashing this one so quickly!

Regards,
Ben



signature.asc
Description: OpenPGP digital signature


bug#32702: Can't install Java-related packages

2018-09-11 Thread Ben Sturmfels
Hi Folks,

When I try to install a Java-related package, like "icedtea", "clojure",
"ant" or "groovy" on my up-to-date GuixSD, it fails with an error like
this:

$ guix package --install=icedtea
guix package: error: build failed: opening file 
`/gnu/store/jm8abx8z95axza19alr0rkwkkv0x4ljr-langtools.tar.bz2.drv': No such 
file or directory

This has been happening for a couple of months, but I hadn't gotten
around to raising it.

Regards,
Ben


signature.asc
Description: PGP signature


bug#32702: Can't install Java-related packages

2018-09-11 Thread Ben Sturmfels
On 12/09/18 01:42, Ricardo Wurmus wrote:

>> When I try to install a Java-related package, like "icedtea", "clojure",
>> "ant" or "groovy" on my up-to-date GuixSD, it fails with an error like
>> this:
>>
>> $ guix package --install=icedtea
>> guix package: error: build failed: opening file 
>> `/gnu/store/jm8abx8z95axza19alr0rkwkkv0x4ljr-langtools.tar.bz2.drv': No such 
>> file or directory
> 
> This sounds like you have a corrupted file system / store.
> 
> Try as root “guix gc --verify=repair,contents” to attempt to repair the
> store contents.  Do this after running fsck on the file system.

Brillint, thanks Ricardo. Running `gc` solved my install issue.

Regards,
Ben



signature.asc
Description: OpenPGP digital signature


bug#32709: Clojure doesn't provide "clojure" executable

2018-09-11 Thread Ben Sturmfels
Hi Folks,

When I install the "clojure" package, I can't seem to just run `clojure`
and get an interpreter like I would on Debian.

My Java is a bit rusty, but I found I could get it going by installing the 
"icedtea" package and running:

  java -cp ~/.guix-profile/share/java/clojure-1.9.0.jar clojure.main

or

  java -jar ~/.guix-profile/share/java/clojure-1.9.0.jar

which is a bit of a mouthful.

Regards,
Ben


signature.asc
Description: PGP signature


bug#32712: Error running "create extension postgis"

2018-09-11 Thread Ben Sturmfels
Hi Folks,

When I attempt to create a database with PostGIS extensions, I get an
error "could not open extension control file":

  $ createdb -O ben testdb
  $ psql testdb --command="create extension postgis"
  ERROR:  could not open extension control file 
"/gnu/store/6238qjlc6cl7wld3gykcfj83ajlsrmjd-postgresql-10.5/share/extension/postgis.control":
 No such file or directory

My GuixSD system configuration includes the PostgreSQL service and the
PostGIS package, something like this:

  (packages (cons*
...
postgis
%base-packages))

  (services (cons*
...
(postgresql-service)
%desktop-services))

If I look in the store, I see "postgis.control" in a number of places,
but definitely not in the "postgresql-10.5" directory:

  $ find /gnu/store -name postgis.control
  
/gnu/store/a9bnyqpxbhskf4vz6p84k4m42li4zqc8-postgis-2.4.4/share/extension/postgis.control
  
/gnu/store/8jimyykpydhppbdbp72zr4z7l0z2fblr-profile/share/extension/postgis.control

Regards,
Ben


signature.asc
Description: PGP signature


bug#32709: Clojure doesn't provide "clojure" executable

2020-12-07 Thread Ben Sturmfels
Jesse Gibbons has recently added the "clojure" executable wrapper. This
makes the Guix `clojure` behave similarly to the Debian `clojure`.
Closing this issue.

(Note that this behaviour is still a little different to the bundle
provided by the upstream Clojure project which include custom `clj` and
`clojure` scripts from https://github.com/clojure/brew-install, which
include auto-downloading of dependencies and such.)





bug#32709: Clojure doesn't provide "clojure" executable

2018-12-12 Thread Ben Sturmfels
Thanks Ricardo,

On 14/09/18 06:15, Ricardo Wurmus wrote:
> 
> Hi Ben,
> 
>> When I install the "clojure" package, I can't seem to just run `clojure`
>> and get an interpreter like I would on Debian.
>>
>> My Java is a bit rusty, but I found I could get it going by installing the 
>> "icedtea" package and running:
>>
>>   java -cp ~/.guix-profile/share/java/clojure-1.9.0.jar clojure.main
>>
>> or
>>
>>   java -jar ~/.guix-profile/share/java/clojure-1.9.0.jar
>>
>> which is a bit of a mouthful.
> 
> It is, but this is what upstream tells us to run after building the
> package.  Neither pom.xml (for Maven) nor build.xml (for Ant) contain
> targets that generate a shell wrapper.
> 
> It looks like adding a shell wrapper is a decision that was taken by
> Debian and is not what upstream does.  So this is not due to a defect in
> the ant-build-system.
> 
> To address this we may want to add a wrapper in a custom build phase.

I see what you mean about Debian's approach with the wrapper.

After some investigating I see that Clojure project's current approach
is different again to Debian. Their releases eg.
https://download.clojure.org/install/clojure-tools-1.9.0.XXX.tar.gz
include scripts `clj` and `clojure` which come from
https://github.com/clojure/brew-install. These scripts use functionality
from https://github.com/clojure/tools.deps.alpha/ to automatically
download any libraries you've declared a dependency on at runtime.

There will surely be a script that does this multi-repository build, but
I haven't found it yet.

Regards,
Ben



signature.asc
Description: OpenPGP digital signature


bug#32709: Clojure doesn't provide "clojure" executable

2018-12-12 Thread Ben Sturmfels
On 13/12/18 14:08, Ben Sturmfels wrote:

> After some investigating I see that Clojure project's current approach
> is different again to Debian. Their releases eg.
> https://download.clojure.org/install/clojure-tools-1.9.0.XXX.tar.gz
> include scripts `clj` and `clojure` which come from
> https://github.com/clojure/brew-install. These scripts use functionality
> from https://github.com/clojure/tools.deps.alpha/ to automatically
> download any libraries you've declared a dependency on at runtime.
> 
> There will surely be a script that does this multi-repository build, but
> I haven't found it yet.

Alex Miller advised that the build is run by the scripts in the
clojure/brew-install repo. It runs "script/package.sh".

Regards,
Ben



signature.asc
Description: OpenPGP digital signature


bug#35048: Evolution Mail Client - Unable to add account

2019-04-22 Thread Ben Sturmfels
On Sat, 30 Mar 2019, Raghav Gururajan wrote:

> Hello Guix!
>
> When I click "Apply" at the last step of "Add Account Wizard", I am getting 
> the error "The name org.gnome.evolution.dataserver.Sources5 was not provided 
> by any .service files".

This issue has been discussed further in #35267:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=35267

If you're running Guix System and GDM, the solution for now is to
install evolution-data-server into your system packages with something
like this in your operating system config:

  (packages (append
(list evolution-data-server)
%base-packages))

Regards,
Ben


signature.asc
Description: PGP signature


bug#35267: Evolution

2019-04-22 Thread Ben Sturmfels
On Tue, 16 Apr 2019, Timothy Sample wrote:

> It looks like Evolution is asking D-Bus about Evolution Data Server
> (specifically its “Sources5” service).  Unfortunately, D-Bus can’t find
> this service.
>
> It could be that you need to install “evolution-data-server” in your
> profile.
>
> However, if you are using GDM, that may not be enough.  GDM starts D-Bus
> in a way that makes it ignorant of services in your user profile.  For
> now, if you include “evolution-data-server” in the “packages” field of
> your system configuration file, it should work.

That matches what I'm seeing - evolution was working properly for
me with evolution-data-server installed in my user profile, but stopped
working in the last week or two which is about when I switched my system
to GDM. Now on GDM, adding "evolution-data-server" to my system profile
fixes evolution.

Regards,
Ben


signature.asc
Description: PGP signature


bug#35048: Evolution Mail Client - Unable to add account

2019-04-23 Thread Ben Sturmfels
Great, glad it's resolved for you Raghav Gururajan.

Closing this report given the issue is covered in more detail in #35267:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=35267.

On Tue, 23 Apr 2019, Raghav Gururajan wrote:

> Hello Ben!
>
> Thank you! It works now ☺
>
> On Tue, 2019-04-23 at 14:59 +1000, Ben Sturmfels wrote:
>
>*  Error verifying signature: Failed to execute  
> gpg.  
>  *
> On Sat, 30 Mar 2019, Raghav Gururajan wrote:
>
> Hello Guix!
>
> When I click "Apply" at the last step of "Add Account Wizard", I am getting 
> the error "The name org.gnome.evolution.dataserver.Sources5 was not provided 
> by any .service files".
>
> This issue has been discussed further in #35267:
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=35267
>
> If you're running Guix System and GDM, the solution for now is to
> install evolution-data-server into your system packages with something
> like this in your operating system config:
>
>   (packages (append
> (list evolution-data-server)
> %base-packages))
>
> Regards,
> Ben



signature.asc
Description: PGP signature


bug#34124: gnome-shell crash when opening the activities overview

2019-04-23 Thread Ben Sturmfels
On Fri, 18 Jan 2019, Christopher Baines wrote:

> On one system running GuixSD, Gnome Shell crashes when opening the
> activities overview (super key, or clicking on the activities button in
> the top left).

This crashing been occurring for me too for several months. I don't know if
it's helpful, but it the activities overview *was* working fine for a
long time, but I could only guess when that was - perhaps 6-12 months
ago?

Regards,
Ben


signature.asc
Description: PGP signature


bug#35303:

2019-04-23 Thread Ben Sturmfels
On Wed, 17 Apr 2019, Luther Thompson wrote:

> unsubscribe

Hi Luther,

You'll probably want to unsubscribe from the mailing list here:
https://lists.gnu.org/mailman/options/bug-guix

Regards,
Ben


signature.asc
Description: PGP signature


bug#32712: Error running "create extension postgis"

2019-04-23 Thread Ben Sturmfels
On Wed, 12 Sep 2018, Gábor Boskovits wrote:

> Julien Lepiller  ezt írta (időpont: 2018. szept. 12., 
> Sze, 9:15):
>
>  Hi, this is a known issue. I have sent a patch for that but it wasn't
>  reviewed yet. Ideally I could also patch the postgresql service to
>  allow specifying extensions. I will try to do something about it.
>
> Hello Julien,
>
> I believe this is the patch: https://issues.guix.info/issue/32297. I
> will try to review that, this functionality is also important for me.

Thanks Julien and Gábor, I see that this patch has now been merged into
Guix and the documentation for configuring postgis is available in the
info manual under System Configuration, Services, Database Services.
I'll close this bug report now.

After modifying my service configuration, reconfiguring and running
`herd restart postgres`, I was able to create a new database and use the
`create extension postgis` command.

Folks can see the manual for details, but the configuration change is
essentially:

  (postgresql-service #:extension-packages (list postgis))

Thanks for all your work, I really appreciate this change!

Regards,
Ben


signature.asc
Description: PGP signature


bug#34124: gnome-shell crash when opening the activities overview

2019-04-23 Thread Ben Sturmfels
On Tue, 2019-04-23 at 21:33 +0100, Christopher Baines wrote:
> Ricardo Wurmus  writes:
> 
> > Christopher Baines  writes:
> > 
> > > On one system running GuixSD, Gnome Shell crashes when opening
> > > the
> > > activities overview (super key, or clicking on the activities
> > > button in
> > > the top left).
> > > 
> > > 
> > > (.gnome-shell-real:2471): GLib-GIO-CRITICAL **: 10:36:30.639:
> > > g_file_new_for_path: assertion 'path != NULL' failed
> > > 
> > > (.gnome-shell-real:2471): GLib-GIO-CRITICAL **: 10:36:30.639:
> > > g_loadable_icon_load: assertion 'G_IS_LOADABLE_ICON (icon)'
> > > failed
> > > 
> > > (.gnome-shell-real:2471): Gtk-WARNING **: 10:36:30.639: Could not
> > > load a pixbuf from icon theme.
> > > This may indicate that pixbuf loaders or the mime database could
> > > not be found.
> > > **
> > > Gtk:ERROR:gtkicontheme.c:4261:gtk_icon_info_load_icon_finish:
> > > assertion failed: (icon_info_get_pixbuf_ready (icon_info))
> > 
> > Could you try to see if setting LD_LIBRARY_PATH in the environment
> > where
> > GNOME Shell is launched to the lib directory of the “gdk-
> > pixbuf+svg” (or
> > “gdk-pixbuf”) package makes any difference?
> > 
> > You may need to do this in ~/.xsession and launch the gnome-session
> > manually.
> 
> It's been a while since I've experienced this issue, and I don't
> think I
> have the generation that was affected around anymore.
> 
> If I remember, I think I may have worked around this by removing a
> package, although I'm not sure which.

Christopher, can you tell me how you found these error messages? I'm
interested in troubleshooting to see if I'm having the same issue.

All I can find is the following in /var/log/messages after I click
"Activities", "Show Applications":

Apr 24 13:56:34 localhost gnome-session-binary[857]: WARNING:
Application 'org.gnome.Shell.desktop' killed by signal 6

Regards,
Ben


signature.asc
Description: This is a digitally signed message part


bug#35408: External monitor not working with GDM

2019-04-23 Thread Ben Sturmfels
Hi Folks,

I was previously using a 24" Samsung external monitor with my X200 Guix
System via VGA. Since the switch to GDM, I no longer seem to be able
connect this monitor. When I do, the laptop screen just keeps flashing.

Any suggestions on how to troubleshoot this?

Regards,
Ben


signature.asc
Description: PGP signature


bug#34124: gnome-shell crash when opening the activities overview

2019-04-24 Thread Ben Sturmfels
On Wed, 24 Apr 2019, Christopher Baines wrote:

> Ben Sturmfels  writes:
>
>> On Tue, 2019-04-23 at 21:33 +0100, Christopher Baines wrote:
>>> Ricardo Wurmus  writes:
>>>
>>> > Christopher Baines  writes:
>>> >
>>> > > On one system running GuixSD, Gnome Shell crashes when opening
>>> > > the
>>> > > activities overview (super key, or clicking on the activities
>>> > > button in
>>> > > the top left).
>>> > >
>>> > >
>>> > > (.gnome-shell-real:2471): GLib-GIO-CRITICAL **: 10:36:30.639:
>>> > > g_file_new_for_path: assertion 'path != NULL' failed
>>> > >
>>> > > (.gnome-shell-real:2471): GLib-GIO-CRITICAL **: 10:36:30.639:
>>> > > g_loadable_icon_load: assertion 'G_IS_LOADABLE_ICON (icon)'
>>> > > failed
>>> > >
>>> > > (.gnome-shell-real:2471): Gtk-WARNING **: 10:36:30.639: Could not
>>> > > load a pixbuf from icon theme.
>>> > > This may indicate that pixbuf loaders or the mime database could
>>> > > not be found.
>>> > > **
>>> > > Gtk:ERROR:gtkicontheme.c:4261:gtk_icon_info_load_icon_finish:
>>> > > assertion failed: (icon_info_get_pixbuf_ready (icon_info))
>>> >
>>> > Could you try to see if setting LD_LIBRARY_PATH in the environment
>>> > where
>>> > GNOME Shell is launched to the lib directory of the “gdk-
>>> > pixbuf+svg” (or
>>> > “gdk-pixbuf”) package makes any difference?
>>> >
>>> > You may need to do this in ~/.xsession and launch the gnome-session
>>> > manually.
>>>
>>> It's been a while since I've experienced this issue, and I don't
>>> think I
>>> have the generation that was affected around anymore.
>>>
>>> If I remember, I think I may have worked around this by removing a
>>> package, although I'm not sure which.
>>
>> Christopher, can you tell me how you found these error messages? I'm
>> interested in troubleshooting to see if I'm having the same issue.
>>
>> All I can find is the following in /var/log/messages after I click
>> "Activities", "Show Applications":
>>
>> Apr 24 13:56:34 localhost gnome-session-binary[857]: WARNING:
>> Application 'org.gnome.Shell.desktop' killed by signal 6
>
> I think I ran `gnome-shell --replace` from a terminal, and watched the
> output. You might also have some success writing to a log file,
> e.g. `gnome-shell --replace 1>&2 | tee gnome-shell.log`.

Great, thanks Christopher. Wow, nice going Ricardo, that fixes the
issue!

I ran:

  $ find ~/.guix-profile/ -type d -wholename '*lib/gdk-pixbuf*'
  /home/ben/.guix-profile/lib/gdk-pixbuf-2.0
  /home/ben/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0
  /home/ben/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders

and then:

  LD_LIBRARY_PATH=/home/ben/.guix-profile/lib gnome-shell

after which I could then select "Activities" and "Show Applications"
without any problems.

As you suggested was able to make the workaround persistent with:

  $ echo "LD_LIBRARY_PATH=/home/ben/.guix-profile/lib gnome-session" > 
~/.xsession
  $ chmod a+x ~/.xsession

Is there a way to fix this more permanently in Gnome?

Regards,
Ben


signature.asc
Description: PGP signature


bug#35422: LibreOffice builds for me, but not on CI server

2019-04-24 Thread Ben Sturmfels
Hi Folks,

When I `guix pull` and `guix package --manifest` the system will usually
need build LibreOffice. The build succeeds, but it takes several hours.
It would be great to resolve whatever is preventing it building on the
CI server.

Hydra currently shows that the LibreOffice cannot be build due to failed
dependencies:

 - libcmis
 - libepubgen

For example: http://hydra.gnu.org/build/3443570

Both these packages build successfully for me, but on Hydra they fail at the
testing phase, with exceptions mentioning "entropy_error" and
"getrandom".

The Boost docs say:

  The exception boost::uuids::entropy_error is thrown if there is an
  error getting entropy from the operating system.

  https://www.boost.org/doc/libs/1_69_0/libs/uuid/doc/uuid.html

I can see though that providing entropy does work against the goal of
reproducible builds though. Is this a case where the tests should be
modified or disabled?

Regards,
Ben





bug#35424: Gnome terminal doesn't keep current working directory in new tab

2019-04-24 Thread Ben Sturmfels
Hi Folks,

Just minor thing, but on other systems I use, when you open subsequent
Gnome Terminal tabs, the current working directory is maintained in the
new tab. On my Guix System, new tabs start up back at /home/ben.

Very low priority of course.

Regards,
Ben





bug#35425: owncloud-client not saving password

2019-04-24 Thread Ben Sturmfels
Hi Folks,

I have owncloud-client installed on my Guix System. It successfully
stores my account and username, but prompts for a password each time it
starts up, saying "Reading from keychain failed with error: 'Unknown
error'". It's been this way since I started using the package some
months ago.

It would be really convenient if it could save the password too.

I'm running a Gnome/Slim based Guix System. I suspect it's not related,
but I do also have the account set up in Gnome Online Accounts under
"NextCloud".

Regards,
Ben





bug#35408: External monitor not working with GDM

2019-04-25 Thread Ben Sturmfels
Hi Ludovic,

On Thu, 2019-04-25 at 11:08 +0200, Ludovic Courtès wrote:
> 
> Ben Sturmfels  skribis:
> 
> > I was previously using a 24" Samsung external monitor with my X200
> > Guix
> > System via VGA. Since the switch to GDM, I no longer seem to be
> > able
> > connect this monitor. When I do, the laptop screen just keeps
> > flashing.
> 
> So the GDM login screen never shows up, right?

I'm thoroughly confused now. GDM definitely *was* working with the
laptop screen only, but now when I reconfigure it or choose an old Grub
entry, I can't get to the login screen with either external monitor or
the laptop. In both cases the console loops showing a message something
like:

New session c1 of user gdm.
Removed session c1.
.
.
.
New session c506 of user gdm.
Removed session c506.

I was able to choose an older system from the Grub menu with Slim
though.

> > Any suggestions on how to troubleshoot this?

> Could you share /var/lib/gdm/.local/share/xorg/Xorg.0.log?

I had a look at this file, but was suspicious that it wasn't fresh, so
I tried deleting it and it didn't come back. I found the following in
/var/log/messages:

Apr 25 20:30:54 localhost gdm: GLib: g_variant_new_string: assertion
'string != NULL' failed 
Apr 25 20:30:54 localhost gdm: Child process -15047 was already dead. 
Apr 25 20:30:54 localhost gdm: Child process 15044 was already dead. 
Apr 25 20:30:54 localhost gdm: Unable to kill session worker process 
Apr 25 20:30:54 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:54 localhost gdm: Child process -15054 was already dead. 
Apr 25 20:30:54 localhost gdm: Child process 15051 was already dead. 
Apr 25 20:30:54 localhost gdm: Unable to kill session worker process 
Apr 25 20:30:54 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:54 localhost gdm: Child process -15061 was already dead. 
Apr 25 20:30:54 localhost gdm: Child process -15061 was already dead. 
Apr 25 20:30:54 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:54 localhost gdm: Child process -15068 was already dead. 
Apr 25 20:30:54 localhost gdm: Child process -15068 was already dead. 
Apr 25 20:30:54 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:54 localhost gdm: Child process -15075 was already dead. 
Apr 25 20:30:54 localhost gdm: Child process -15075 was already dead. 
Apr 25 20:30:54 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:54 localhost gdm: GLib: g_variant_new_string: assertion
'string != NULL' failed 
Apr 25 20:30:54 localhost gdm: Child process -15082 was already dead. 
Apr 25 20:30:54 localhost gdm: Child process 15079 was already dead. 
Apr 25 20:30:54 localhost gdm: Unable to kill session worker process 
Apr 25 20:30:55 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:55 localhost gdm: Child process -15089 was already dead. 
Apr 25 20:30:55 localhost gdm: Child process -15089 was already dead. 
Apr 25 20:30:55 localhost gdm: gdm_session_set_environment_variable:
assertion 'value != NULL' failed 
Apr 25 20:30:55 localhost gdm: GLib: g_variant_new_string: assertion
'string != NULL' failed 
Apr 25 20:30:55 localhost gdm: Could not start command
'/gnu/store/072cd7r7zx2fgp1v16bv2si5s435lwkj-gdm-3.26.2.1/libexec/gdm-
session-worker': Too many open files 
Apr 25 20:30:55 localhost gdm: GLib: g_child_watch_add_full: assertion
'pid > 0' failed 
Apr 25 20:30:55 localhost gdm: Child process -15096 was already dead. 
Apr 25 20:30:55 localhost gdm: Child process 15093 was already dead. 
Apr 25 20:30:55 localhost gdm: Unable to kill session worker process 

> FWIW I have been using GDM with an external monitor just fine: the
GDM user selection box appears on the laptop screen and the other
screen just displays the background image.

That's good, sounds like it can't be anything major then. I'll keep
testing.

Regards,
Ben





bug#35408: External monitor not working with GDM

2019-04-25 Thread Ben Sturmfels
On Thu, 2019-04-25 at 14:16 +0200, Danny Milosavljevic wrote:
> On Thu, 25 Apr 2019 21:41:27 +1000
> Ben Sturmfels  wrote:
> 
> > Apr 25 20:30:54 localhost gdm:
> > gdm_session_set_environment_variable:
> > assertion 'value != NULL' failed 
> 
> Yeah, that one again.  It might make sense to patch that so the
> assertion actually prints name and value passed.
> 
> You can also set "debug"'s "Enable=true" in gnu/services/xorg.scm ,
> in gdm-configuration-file , but it will only help in a limited way
> here.

Thanks Danny, I'll try enabling debugging in a second and see if I can
get some more info.

For what it's worth, I've attached my minimal system config that won't
start GDM on either internal or external monitor. It's very close to
what's in the manual. This is on an X200 with Libreboot running Guix
System 33023baac8ec548fe64ce8e4eb48840b5411ee4c.

Regards,
Ben(use-modules (gnu) (gnu system nss))
(use-service-modules desktop xorg)
(use-package-modules certs gnome)

(operating-system
 (host-name "Mars")
 (timezone "Australia/Melbourne")
 (locale "en_AU.utf8")

 ;; Choose US English keyboard layout.  The "altgr-intl"
 ;; variant provides dead keys for accented characters.
 (keyboard-layout (keyboard-layout "us" "altgr-intl"))

 ;; Assuming /dev/sdX is the target hard disk, and "my-root" is
 ;; the label of the target root file system.
 ;;
 ;; Using "target" here, rather than "device" suppresses a deprecation warning
 ;; from `guix reconfigure`.
 (bootloader (bootloader-configuration
  (bootloader grub-bootloader)
  (target "/dev/sda")))

 ;; Specify a mapped device for the encrypted root partition.
 ;; The UUID is that returned by 'cryptsetup luksUUID'.
 (mapped-devices
  (list (mapped-device
 (source (uuid "7c901f8e-c9fe-4e4d-989b-25a966e27df0"))
 (target "myroot")
 (type luks-device-mapping))
(mapped-device
 (source (uuid "a63a607b-4fd8-4093-be93-c6265744e8b8"))
 (target "myhome")
 (type luks-device-mapping

 (file-systems (append
(list (file-system
   (device (file-system-label "mars-root"))
   (mount-point "/")
   (type "ext4")
   (dependencies mapped-devices))
  (file-system
   (device (file-system-label "mars-home"))
   (mount-point "/home")
   (type "ext4")
   (dependencies mapped-devices)))
%base-file-systems))

 ;; This is where user accounts are specified.  The "root"
 ;; account is implicit, and is initially created with the
 ;; empty password.
 (users (cons (user-account
   (name "ben")
   (comment "Ben Sturmfels")
   (group "users")
   ;; Adding the account to the "wheel" group
   ;; makes it a sudoer.  Adding it to "audio"
   ;; and "video" allows the user to play sound
   ;; and access the webcam.
   (supplementary-groups '("wheel" "netdev"
   "audio" "video"
   "kvm" ; Needed for guix system vm
   ;; "docker"
   ))
   (home-directory "/home/ben"))
  %base-user-accounts))

 ;; Globally-installed packages.
 (packages (append
(list gvfs ; for user mounts
  nss-certs ; for HTTPS access
  )
%base-packages))

 ;; Add GNOME and/or Xfce---we can choose at the log-in
 ;; screen with F1.  Use the "desktop" services, which
 ;; include the X11 log-in service, networking with Wicd,
 ;; and more.
 (services (append
(list (service gnome-desktop-service-type)
  (service xfce-desktop-service-type)
  (set-xorg-configuration
   (xorg-configuration
(keyboard-layout keyboard-layout
%desktop-services))

 ;; Allow resolution of '.local' host names with mDNS.
 (name-service-switch %mdns-host-lookup-nss))


bug#34124: gnome-shell crash when opening the activities overview

2019-04-25 Thread Ben Sturmfels
On Thu, 2019-04-25 at 15:20 +0200, Ricardo Wurmus wrote:

> > Is there a way to fix this more permanently in Gnome?
> 
> Yes, I’ve fixed this on the staging branch for the gnome-shell
> package.
>
> This also fixes another crash we saw when displaying notifications.

Thanks Ricardo, you're awesome. :)





bug#35408: External monitor not working with GDM

2019-04-25 Thread Ben Sturmfels
On Fri, 2019-04-26 at 00:13 +0200, Diego Nicola Barbato wrote:
> Hi Ben,
> 
> Ben Sturmfels  writes:
> 
> > Hi Ludovic,
> > 
> > On Thu, 2019-04-25 at 11:08 +0200, Ludovic Courtès wrote:
> > > 
> > > Ben Sturmfels  skribis:
> > > 
> > > > I was previously using a 24" Samsung external monitor with my
> > > > X200 Guix System via VGA. Since the switch to GDM, I no longer
> > > > seem to be able connect this monitor. When I do, the laptop
> > > > screen just keeps flashing.
> > > 
> > > So the GDM login screen never shows up, right?
> > 
> > I'm thoroughly confused now. GDM definitely *was* working with the
> > laptop screen only, but now when I reconfigure it or choose an old
> > Grub entry, I can't get to the login screen with either external
> > monitor or the laptop. In both cases the console loops showing a
> > message
> > something
> > like:
> > 
> > New session c1 of user gdm.
> > Removed session c1.
> > .
> > .
> > .
> > New session c506 of user gdm.
> > Removed session c506.
> 
> This sounds familiar.  Can you check if /var/lib/gdm is owned by gdm.
> If it isn't, chowning it back to gdm:gdm should fix it.

Thanks Diego. After booting up the system and waiting for the GDM to
stop restarting:

$ sudo ls -la /var/lib/gdm/
total 32
drwx--  5  gdm  gdm 4096 Apr 24 20:12 ./
drwxr-xr-x 13 root root 4096 Apr 10 12:13 ../
drwxr-xr-x  5  983  gdm 4096 Apr 14 22:02 .cache/
drwxr-xr-x  5  983  gdm 4096 Apr 14 22:02 .config/
-rw---  1  983  gdm   16 Apr 14 22:02 .esd_auth
-rw---  1  983  gdm 5216 Apr 24 20:12 .ICEauthority
drwxr-xr-x  3  983  gdm 4096 Apr 10 14:49 .local/

For good measure I ran the following anyway, but it didn't seem to fix
it:

$ sudo chmod -R gdm:gdm /var/lib/gdm
$ sudo herd restart xorg-server


Ludovic, the Xorg.0.log file does seem to be fresh now and showing an
error so I've attached that.


Danny, I'm struggling with reconfiguring using the
gnu/services/xorg.scm with "debug"'s "Enable=true" - haven't run from
source for a while. Will take another look at that when I get some
clear time this weekend.[   448.617] _XSERVTransmkdir: Mode of /tmp/.X11-unix should be set to 1777
[   448.617] (--) Log file renamed from "/var/lib/gdm/.local/share/xorg/Xorg.pid-11277.log" to "/var/lib/gdm/.local/share/xorg/Xorg.0.log"
[   448.617] 
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[   448.618] Build Operating System: GNU GuixSD
[   448.618] Current Operating System: Linux Marseille 5.0.8-gnu #1 SMP 1 x86_64
[   448.618] Kernel command line: BOOT_IMAGE=/gnu/store/1hqypbgabjiqdgw1xlva6gxw0npgqq27-linux-libre-5.0.8/bzImage --root=marseille-root --system=/gnu/store/1sf8j34xfvcy83r0c4lpcnnzc740q79i-system --load=/gnu/store/1sf8j34xfvcy83r0c4lpcnnzc740q79i-system/boot
[   448.618] Build Date: 01 January 1970  12:00:01AM
[   448.618]  
[   448.618] Current version of pixman: 0.36.0
[   448.618] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[   448.618] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   448.618] (==) Log file: "/var/lib/gdm/.local/share/xorg/Xorg.0.log", Time: Fri Apr 26 10:16:22 2019
[   448.618] (++) Using config file: "/gnu/store/bh1np26ziamspfh4c2x8r2gigk973fvj-xserver.conf"
[   448.618] (++) Using config directory: "/gnu/store/ri804h9v5wphhy067znhagdslp999yln-xorg.conf.d"
[   448.618] (==) Using system config directory "/gnu/store/xxpf6xz7prlwrvvl7sviaxmahsyavx1c-xorg-server-1.20.4/share/X11/xorg.conf.d"
[   448.618] (==) No Layout section.  Using the first Screen section.
[   448.618] (==) No screen section available. Using defaults.
[   448.618] (**) |-->Screen "Default Screen Section" (0)
[   448.618] (**) |   |-->Monitor ""
[   448.618] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[   448.618] (**) Option "AllowMouseOpenFail" "on"
[   448.618] (==) Automatically adding devices
[   448.618] (==) Automatically enabling devices
[   448.618] (==) Automatically adding GPU devices
[   448.618] (==) Max clients allowed: 256, resource mask: 0x1f
[   448.618] (**) FontPath set to:
	/gnu/store/cn966w06mgzsbprs5cdzmv3ll8if3gr5-font-alias-1.0.3/share/fonts/X11/75dpi,
	/gnu/store/cn966w06mgzsbprs5cdzmv3ll8if3gr5-font-alias-1.0.3/share/fonts/X11/100dpi,
	/gnu/store/cn966w06mgzsbprs5cdzmv3ll8if3gr5-font-alias-1.0.3/share/fonts/X11/misc,
	/gnu/store/cn966w06mgzsbprs5cdzmv3ll8if3gr5-font-alias-1.0.3/share/fonts/X11/cyrillic

bug#35408: External monitor not working with GDM

2019-04-25 Thread Ben Sturmfels
Hi Danny,

On Thu, 25 Apr 2019, Danny Milosavljevic wrote:

>> Apr 25 20:30:54 localhost gdm: gdm_session_set_environment_variable:
>> assertion 'value != NULL' failed
>
> Yeah, that one again.  It might make sense to patch that so the assertion
> actually prints name and value passed.
>
> You can also set "debug"'s "Enable=true" in gnu/services/xorg.scm , in
> gdm-configuration-file , but it will only help in a limited way here.

I might need your help with applying the modified xorg.scm - here's what
I tried and the error I got when reconfiguring:

$ cd ws/guix
$ git pull
$ git checkout 33023baac8ec548fe64ce8e4eb48840b5411ee4c

[modify gnu/services/xorg.scm]

$ guix environment guix
$ make clean-go
$ ./bootstrap
$ ./configure --localstatedir=/var
$ make
$ sudo herd stop guix-daemon
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild

And in a separate terminal:

$ sudo su
$ ./pre-inst-env guix system reconfigure ~ben/guix-config/test.scm
Backtrace:
In ice-9/threads.scm:
390:8 19 (_ _)
In ice-9/boot-9.scm:
  2994:20 18 (_)
   2312:4 17 (save-module-excursion _)
  3014:26 16 (_)
In unknown file:
  15 (primitive-load-path "guix/store" #)
In guix/store.scm:
 20:0 14 (_)
In ice-9/boot-9.scm:
   2874:4 13 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
  2887:24 12 (_)
   222:29 11 (map1 (((guix utils)) ((guix config)) ((guix #)) ((…)) …))
   222:29 10 (map1 (((guix config)) ((guix deprecation)) ((guix …)) …))
   222:29  9 (map1 (((guix deprecation)) ((guix memoization)) ((…)) …))
   222:29  8 (map1 (((guix memoization)) ((guix serialization)) (#) …))
   222:29  7 (map1 (((guix serialization)) ((guix monads)) ((# #)) …))
   222:29  6 (map1 (((guix monads)) ((guix records)) ((guix #)) (#) …))
   222:29  5 (map1 (((guix records)) ((guix base16)) ((guix #)) (#) …))
   222:29  4 (map1 (((guix base16)) ((guix base32)) ((gcrypt #)) # …))
   222:29  3 (map1 (((guix base32)) ((gcrypt hash)) ((guix #)) (#) …))
   222:17  2 (map1 (((gcrypt hash)) ((guix profiling)) ((rnrs #)) # …))
   2803:6  1 (resolve-interface _ #:select _ #:hide _ #:prefix _ # _ …)
In unknown file:
   0 (scm-error misc-error #f "~A ~S" ("no code for modu…" …) …)

ERROR: In procedure scm-error:
no code for module (gcrypt hash)


signature.asc
Description: PGP signature


bug#35408: External monitor not working with GDM

2019-05-01 Thread Ben Sturmfels
Hi Ludovic,



Ben Sturmfels

Sturm Software Engineering
www.sturm.com.au
+61 3 9024 2467

On Fri, 26 Apr 2019, Ludovic Courtès wrote:

> Hi Ben,
>
> Ben Sturmfels  skribis:
>
>> [   448.627] (II) RADEON: Driver for ATI/AMD Radeon chipsets:
>
> [...]
>
>> [   448.630] (II) [KMS] drm report modesetting isn't supported.
>> [   448.630] (EE) open /dev/dri/card0: No such file or directory
>> [   448.630] (WW) Falling back to old probe method for modesetting
>> [   448.630] (EE) open /dev/dri/card0: No such file or directory
>> [   448.630] (II) Loading sub module "fbdevhw"
>> [   448.630] (II) LoadModule: "fbdevhw"
>> [   448.631] (II) Loading 
>> /gnu/store/xxpf6xz7prlwrvvl7sviaxmahsyavx1c-xorg-server-1.20.4/lib/xorg/modules/libfbdevhw.so
>> [   448.631] (II) Module fbdevhw: vendor="X.Org Foundation"
>> [   448.631] compiled for 1.20.4, module version = 0.0.2
>> [   448.631] ABI class: X.Org Video Driver, version 24.0
>> [   448.631] (EE) Unable to find a valid framebuffer device
>> [   448.631] (WW) Falling back to old probe method for fbdev
>> [   448.631] (II) Loading sub module "fbdevhw"
>> [   448.631] (II) LoadModule: "fbdevhw"
>> [   448.631] (II) Loading 
>> /gnu/store/xxpf6xz7prlwrvvl7sviaxmahsyavx1c-xorg-server-1.20.4/lib/xorg/modules/libfbdevhw.so
>> [   448.631] (II) Module fbdevhw: vendor="X.Org Foundation"
>> [   448.631] compiled for 1.20.4, module version = 0.0.2
>> [   448.631] ABI class: X.Org Video Driver, version 24.0
>> [   448.631] (EE) open /dev/fb0: No such file or directory
>> [   448.631] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card 
>> support
>> [   448.631] (EE) Screen 0 deleted because of no matching config section.
>> [   448.631] (II) UnloadModule: "radeon"
>> [   448.631] (EE) Screen 0 deleted because of no matching config section.
>> [   448.631] (II) UnloadModule: "modesetting"
>> [   448.631] (EE) Screen 0 deleted because of no matching config section.
>> [   448.631] (II) UnloadModule: "fbdev"
>> [   448.631] (II) UnloadSubModule: "fbdevhw"
>> [   448.631] (II) Loading sub module "vbe"
>> [   448.631] (II) LoadModule: "vbe"
>> [   448.632] (II) Loading 
>> /gnu/store/xxpf6xz7prlwrvvl7sviaxmahsyavx1c-xorg-server-1.20.4/lib/xorg/modules/libvbe.so
>> [   448.632] (II) Module vbe: vendor="X.Org Foundation"
>> [   448.632] compiled for 1.20.4, module version = 1.1.0
>> [   448.632] ABI class: X.Org Video Driver, version 24.0
>> [   448.632] (II) Loading sub module "int10"
>> [   448.632] (II) LoadModule: "int10"
>> [   448.632] (II) Loading 
>> /gnu/store/xxpf6xz7prlwrvvl7sviaxmahsyavx1c-xorg-server-1.20.4/lib/xorg/modules/libint10.so
>> [   448.632] (II) Module int10: vendor="X.Org Foundation"
>> [   448.632] compiled for 1.20.4, module version = 1.0.0
>> [   448.632] ABI class: X.Org Video Driver, version 24.0
>> [   448.632] (II) VESA(0): initializing int10
>> [   448.633] (EE) VESA(0): Cannot read int vect
>> [   448.633] (II) UnloadModule: "vesa"
>> [   448.633] (II) UnloadSubModule: "int10"
>> [   448.633] (II) Unloading int10
>> [   448.633] (II) UnloadSubModule: "vbe"
>> [   448.633] (II) Unloading vbe
>> [   448.633] (EE) Screen(s) found, but none have a usable configuration.
>> [   448.633] (EE)
>> Fatal server error:
>> [   448.633] (EE) no screens found(EE)
>> [   448.633] (EE)
>> Please consult the The X.Org Foundation support
>>   at http://wiki.x.org
>>  for help.
>> [   448.633] (EE) Please also check the log file at 
>> "/var/lib/gdm/.local/share/xorg/Xorg.0.log" for additional information.
>
> It looks like you have an AMD Radeon graphics card, is that right?  Did
> you pass “modprobe.blacklist=radeon” on the kernel command line, or
> something similar?
>
> Apparently some of these AMD graphics cards are not quite supported by
> free software, so that might be the issue here.

Whoops, sorry I'm being unintentionally misleading - I shuttle my hard
drive across from my X200 into an F2A85-M motherboard at work, which has
Radeon HD 8470D. It's always just worked with Slim on Guix and Trisquel
7/8.

I'll try the modprobe.blacklist though.

This is a bit of a stab in the dark, but I have been having issues with
PostgreSQL and OpenSMTPD changing swapping UID/GIDs after reconfiguring
or booting back into an old Guix System profile. This has required me to
manually correct the permissions in /var/lib with `chown`. I'm
suspicious that the same might be happening to GDM. I'll do some testing
on this.

Regards,
Ben


signature.asc
Description: PGP signature


bug#35408: External monitor not working with GDM

2019-05-02 Thread Ben Sturmfels
> On Fri, 26 Apr 2019, Ludovic Courtès wrote:
>> Ben Sturmfels  skribis:

>>> [   448.627] (II) RADEON: Driver for ATI/AMD Radeon chipsets:

>> It looks like you have an AMD Radeon graphics card, is that right?  Did
>> you pass “modprobe.blacklist=radeon” on the kernel command line, or
>> something similar?
>>
>> Apparently some of these AMD graphics cards are not quite supported by
>> free software, so that might be the issue here.
>
> Whoops, sorry I'm being unintentionally misleading - I shuttle my hard
> drive across from my X200 into an F2A85-M motherboard at work, which has
> Radeon HD 8470D. It's always just worked with Slim on Guix and Trisquel
> 7/8.
>
> I'll try the modprobe.blacklist though.

I tried the modprobe.blacklist=radeon in the kernel line, but GDM still
did it's looping thing.

> This is a bit of a stab in the dark, but I have been having issues with
> PostgreSQL and OpenSMTPD changing swapping UID/GIDs after reconfiguring
> or booting back into an old Guix System profile. This has required me to
> manually correct the permissions in /var/lib with `chown`. I'm
> suspicious that the same might be happening to GDM. I'll do some testing
> on this.

I also tried removing /var/lib/gdm and reconfiguring, but that didn't
seem to help, so I guess it's not a permissions issue.

Regards,
Ben


signature.asc
Description: PGP signature


bug#35408: External monitor not working with GDM

2019-05-07 Thread Ben Sturmfels
On 03/05/19 01:20, Ludovic Courtès wrote:
> Ben Sturmfels  skribis:
> 
>>> On Fri, 26 Apr 2019, Ludovic Courtès wrote:
>>>> Ben Sturmfels  skribis:
>>
>>>>> [   448.627] (II) RADEON: Driver for ATI/AMD Radeon chipsets:
>>
>>>> It looks like you have an AMD Radeon graphics card, is that right?  Did
>>>> you pass “modprobe.blacklist=radeon” on the kernel command line, or
>>>> something similar?
>>>>
>>>> Apparently some of these AMD graphics cards are not quite supported by
>>>> free software, so that might be the issue here.
>>>
>>> Whoops, sorry I'm being unintentionally misleading - I shuttle my hard
>>> drive across from my X200 into an F2A85-M motherboard at work, which has
>>> Radeon HD 8470D. It's always just worked with Slim on Guix and Trisquel
>>> 7/8.
>>>
>>> I'll try the modprobe.blacklist though.
>>
>> I tried the modprobe.blacklist=radeon in the kernel line, but GDM still
>> did it's looping thing.
> 
> What .desktop files to you have under /run/current-system/profile?
> 
> There was a bug whereby GDM would enter an infinite loop when no
> .desktop files were provided: <https://issues.guix.info/issue/35068>.

The outcome if this is that I now have GDM working on my X200 + external
monitor, but not on the F2A85-M motherboard + external. For now I'm just
using Slim on the radeon-based system, so I suppose this can be closed.

I think this was two separate issues:

1. I think GDM stopped working on the X200 due to renumbered uid/gids
that caused permission problems on /var/lib/gdm. Not 100% sure - was a
day or two between when I removed /var/lib/gdm and reconfired and when I
tried the external monitor on X200 again.

2. Starting GDM on the F2A85-M gives the following in
/var/log/debug:

May  2 12:19:12 localhost vmunix: [   24.301185] [drm] radeon: 768M of
VRAM memory ready
May  2 12:19:12 localhost vmunix: [   24.301237] [drm] radeon: 1024M of
GTT memory ready.
May  2 12:19:12 localhost vmunix: [   24.301287] [drm] Loading ARUBA
Microcode
May  2 12:19:12 localhost vmunix: [   24.301325] :00:01.0: Missing
Free firmware (non-Free firmware loading is disabled)
May  2 12:19:12 localhost vmunix: [   24.304342] ni_cp: Failed to load
firmware "/*(DEBLOBBED)*/"
May  2 12:19:12 localhost vmunix: [   24.304420] [drm:cayman_init
[radeon]] *ERROR* Failed to load firmware!
May  2 12:19:12 localhost vmunix: [   24.304467] radeon :00:01.0:
Fatal error during GPU init
May  2 12:19:12 localhost vmunix: [   24.304499] [drm] radeon: finishing
device.

And the following in Xorg.0.log:

[   642.963] (II) Module fbdevhw: vendor="X.Org Foundation"
[   642.963]compiled for 1.20.4, module version = 0.0.2
[   642.963]ABI class: X.Org Video Driver, version 24.0
[   642.963] (EE) open /dev/fb0: No such file or directory
[   642.963] (EE) Screen 0 deleted because of no matching config section.
[   642.963] (II) UnloadModule: "radeon"
[   642.963] (EE) Screen 0 deleted because of no matching config section.
[   642.963] (II) UnloadModule: "modesetting"
[   642.963] (EE) Screen 0 deleted because of no matching config section.
[   642.963] (II) UnloadModule: "fbdev"
[   642.963] (II) UnloadSubModule: "fbdevhw"

Regarding the .desktop issue - I wasn't quite clear on where these files
are supposed to be. I don't seem to have a /run/current-system/profile.
I suppose it doesn't matter now since I've since done a `pull` and
`system reconfigure`.

Thanks!
Ben






signature.asc
Description: OpenPGP digital signature


bug#35746: Evolution calendar gets the timezone wrong

2019-05-15 Thread Ben Sturmfels
Hi Folks,

My Guix System is configured with (timezone "Australia/Melbourne") which
is reflected by the `date` command as well as the Gnome clock.

$ date
Wed May 15 23:03:34 AEST 2019

In Evolution though, all my calendar events show up in UTC time, so I
have appointments showing up at eg. 1am.

When I go to Edit, Preferences, Calendar and Task, General, under
timezone it says:

[x] Use system time (UTC)

The timezone can be overridden manually by unchecking the box and selecting at
timezone, which fixes the problem but shouldn't be necessary.

For what it's worth, the Gnome 3 notifications that show when you click on the
Gnome clock are in the correct timezone.

Regards,
Ben


signature.asc
Description: PGP signature


bug#35746: Evolution calendar gets the timezone wrong

2019-05-16 Thread Ben Sturmfels
Hi Ludo,

On Thu, 16 May 2019, Ludovic Courtès wrote:
> Ben Sturmfels  skribis:
>
>> In Evolution though, all my calendar events show up in UTC time, so I
>> have appointments showing up at eg. 1am.
>>
>> When I go to Edit, Preferences, Calendar and Task, General, under
>> timezone it says:
>>
>> [x] Use system time (UTC)
>
> Could you figure out how Evolution determines what the current time zone
> is?
>
> Guix provides /etc/localtime, which is what libc functions use, but I’m
> guessing Evolution uses a custom framework, possibly involving a
> hard-to-believe network of D-Bus services.

One clue is that when I run `evolution` in a terminal it logs the
following error:

(evolution:4359): libecal-CRITICAL **: 17:22:46.073: 
e_cal_util_get_system_timezone: assertion 'location != NULL' failed

So my C troubleshooting skills are very rusty, but this is a learning
opportunity!

`strace evolution 2>&1 | grep /etc/localtime` indicates /etc/localtime
is being opened at least.

I've downloaded the source with `guix build --source
evolution-data-server`, extracted and found the the function
"e_cal_util_get_system_timezone()" at src/calendar/libecal/e-cal-util.c:1507
which calls down to "system_timezone_find()" in e-cal-system-timezone.c:522
where it looks up the timezone and compares it to a list of valid zones.

So I run `gdb evolution`, but don't seem to have the debugging symbols.
How does one get/build the debugging symbols? Can `guix build` help with
this?

Possibly completely unrelated, but noting that both icecat and chromium
do this - which is wrong:

> new Date().getTimezoneOffset()
0

Where node does this - which is correct:

> new Date().getTimezoneOffset()
-600

Cheers,
Ben


signature.asc
Description: PGP signature


bug#35746: Evolution calendar gets the timezone wrong

2019-05-16 Thread Ben Sturmfels
On Thu, 16 May 2019, Ben Sturmfels wrote:

> So I run `gdb evolution`, but don't seem to have the debugging symbols.
> How does one get/build the debugging symbols? Can `guix build` help with
> this?

I mean, I know from long ago university projects that I need "-g -O0".
Does guix have any secret weapons to help with this?

Ben


signature.asc
Description: PGP signature


bug#35746: Evolution calendar gets the timezone wrong

2019-05-16 Thread Ben Sturmfels
On Thu, 16 May 2019, Ben Sturmfels wrote:

> Possibly completely unrelated, but noting that both icecat and chromium
> do this - which is wrong:
>
>> new Date().getTimezoneOffset()
> 0
>
> Where node does this - which is correct:
>
>> new Date().getTimezoneOffset()
> -600

I also tested epiphany which shows the correct offset of "-600".

Ben


signature.asc
Description: PGP signature


bug#35424: Gnome terminal doesn't keep current working directory in new tab/window

2019-07-22 Thread Ben Sturmfels
On Thu, 25 Apr 2019, Ben Sturmfels wrote:

> Hi Folks,
>
> Just minor thing, but on other systems I use, when you open subsequent
> Gnome Terminal tabs, the current working directory is maintained in the
> new tab. On my Guix System, new tabs start up back at /home/ben.

I've found that sourcing vte.sh fixes the issue, and the working
directory is retained:

`source /gnu/store/...-vte-0.52.2/etc/profile.d/vte.sh`

I've tested in a `guix system vm` to make sure it wasn't related to
my .bashrc and it's not. It's exactly the same aside from that the Gnome
details open a new terminal window, not a tab.


signature.asc
Description: PGP signature


bug#35424: Gnome terminal doesn't keep current working directory in new tab/window

2019-07-22 Thread Ben Sturmfels
On 23/07/19 16:35, Efraim Flashner wrote:

>> Interesting.  Is this file installed to /etc/profile.d/vte.sh on other
>> systems?  Or is it otherwise sourced?
>>
> 
> I can only speak for my own system. I don't have gnome-terminal
> installed, but I do have tilda which uses vte. My
> ~/.guix-profile/etc/profile.d/ only has bash_completion.sh.

I wonder if it's just a matter of moving vte to the propagated-inputs of
gnome-terminal (and other packages like tilda)? I'll try now and report
back.

Regards,
Ben





bug#35424: Gnome terminal doesn't keep current working directory in new tab/window

2019-07-22 Thread Ben Sturmfels
On 23/07/19 16:40, Ben Sturmfels wrote:

>>> Interesting.  Is this file installed to /etc/profile.d/vte.sh on other
>>> systems?  Or is it otherwise sourced?
>>>
>>
>> I can only speak for my own system. I don't have gnome-terminal
>> installed, but I do have tilda which uses vte. My
>> ~/.guix-profile/etc/profile.d/ only has bash_completion.sh.
> 
> I wonder if it's just a matter of moving vte to the propagated-inputs of
> gnome-terminal (and other packages like tilda)? I'll try now and report
> back.

Ok, moving vte to propagated-inputs for gnome-terminal makes
~/.guix-profile/etc/profile.d/vte.sh show up if installed with `guix
package` and /etc/profile.d/vte.sh show up if installed with `guix system`.

Neither ~/.guix-profile/etc/profile or /etc/profile source their
respective profile.d files though like Trisquel does. Can someone give
me a lead on how these profiles are generated?

Regards,
Ben





bug#35424: Gnome terminal doesn't keep current working directory in new tab/window

2019-07-23 Thread Ben Sturmfels
On 23/07/19 16:54, Ben Sturmfels wrote:
> On 23/07/19 16:40, Ben Sturmfels wrote:
> 
>>>> Interesting.  Is this file installed to /etc/profile.d/vte.sh on other
>>>> systems?  Or is it otherwise sourced?
>>>>
>>>
>>> I can only speak for my own system. I don't have gnome-terminal
>>> installed, but I do have tilda which uses vte. My
>>> ~/.guix-profile/etc/profile.d/ only has bash_completion.sh.
>>
>> I wonder if it's just a matter of moving vte to the propagated-inputs of
>> gnome-terminal (and other packages like tilda)? I'll try now and report
>> back.
> 
> Ok, moving vte to propagated-inputs for gnome-terminal makes
> ~/.guix-profile/etc/profile.d/vte.sh show up if installed with `guix
> package` and /etc/profile.d/vte.sh show up if installed with `guix system`.

Whoops, I got that mixed up - `guix system` does NOT create
/etc/profile.d/vte.sh after the move to propagated-inputs.





bug#35746: Evolution calendar gets the timezone wrong

2019-09-12 Thread Ben Sturmfels
On Thu, 12 Sep 2019, Ludovic Courtès wrote:

> Ludovic Courtès  skribis:
>
>> Ben Sturmfels  skribis:
>>
>>> I've downloaded the source with `guix build --source
>>> evolution-data-server`, extracted and found the the function
>>> "e_cal_util_get_system_timezone()" at src/calendar/libecal/e-cal-util.c:1507
>>> which calls down to "system_timezone_find()" in e-cal-system-timezone.c:522
>>> where it looks up the timezone and compares it to a list of valid zones.
>>
>> Looking more closely, ‘system_timezone_find’ first tries to see if
>> /etc/localtime is a symlink and if yes reads its target (but it’s never
>> a symlink, AFAIK), and later on tries to compare /etc/localtime to files
>> found under ‘SYSTEM_ZONEINFODIR’.
>>
>> Problem is:
>>
>>   #define SYSTEM_ZONEINFODIR "/usr/share/zoneinfo"
>>
>> So probably, if you substitute “/usr/” with the prefix of the ‘tzdata’
>> package, it’ll work much better.  :-)
>
> Did you have a chance to look into it?

Sorry Ludo, no, not yet. It's still on my list to take a look at some
time though.

Regards,
Ben


signature.asc
Description: PGP signature


bug#37662: substitution failure of nss-certs

2019-10-16 Thread Ben Sturmfels
On 16/10/19 06:50, Arun Isaac wrote:
> 
> Josh Holland  writes:
> 
>> Ludovic Courtès  writes:
>>> I suppose the error here is because you’re daemon is missing its UTF-8
>>> locales.
>>>
>>> This could be because you upgraded the daemon but did not upgrade the
>>> ‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?
>>
>> It's possible - I rarely do anything with the root profile, and wasn't
>> even aware that I had to keep it up to date.  Should I have to `guix
>> pull` and `guix upgrade` it regularly, as well as my user profile?
> 
> I install glibc-locales as a system-wide package in my operating-system
> configuration. Perhaps that's what Ludo meant to say.

Hi Ludo, is it best to install glibc-locales or glibc-utf8-locales in
the operating system configuration as Arun suggests?

I hit the same issue doing a reconfigure on Guix System after not having
these locales either in user, root or system profiles (though I'm unsure
whether root and system are the same thing).

I had been ignoring the recent hints "Consider installing the
`glibc-utf8-locales' or `glibc-locales'..." because it wasn't clear why
this was useful to do.

Should these locales just be installed by default on Guix System? Or
maybe this is one of those issues that I hit because I hadn't upgraded
within a certain window of changes.

(For other non Guix experts like myself, I fixed my system by `guix
pull` as root, followed by `guix package --install glibc-utf8-locales
glibc-locales`, restarted guix daemon with `herd stop guix-daemon`,
checked to see if it was really stopped with `ps aux | grep
guix-daemon`, it wasn't so used `kill [the-process-id]`, started with
`herd start guix-daemon` and then the reconfigure worked.)

Cheers,
Ben



signature.asc
Description: OpenPGP digital signature


bug#35422: LibreOffice builds for me, but not on CI server

2019-10-20 Thread Ben Sturmfels
On Thu, 25 Apr 2019, Ben Sturmfels wrote:

> When I `guix pull` and `guix package --manifest` the system will usually
> need build LibreOffice. The build succeeds, but it takes several hours.
> It would be great to resolve whatever is preventing it building on the
> CI server.

Closing this bug report as LibreOffice has been building successfully
for many months now. In fact there seems to be less local building and
less build failures in general over the last six months or so. Thank you
to everyone involved!

Regards,
Ben


signature.asc
Description: PGP signature


bug#35591: Segfault on flatpak remote-add

2019-10-31 Thread Ben Sturmfels
On Sun, 05 May 2019, Jonathan Frederickson wrote:

> I'm attempting to use Flatpak on my Guix system, and I'm experiencing
> segfaults when attempting to add a remote repo. Provided below are the
> output of the command I'm attempting to run, as well as some info
> about my system.

I learnt on #guix IRC that flatpak works when run with the --user flag:

$ flatpak --user remote-add --if-not-exists flathub 
https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub org.gnome.Builder
$ flatpak run org.gnome.Builder

The segfaulting behaviour is still a bug in my opinion, because it's
extremely user un-friendly, and the requirement for --user is not
obvious.

Regards,
Ben


signature.asc
Description: PGP signature


bug#32166: GNOME Settings panel for Bluetooth dysfunctional

2019-11-03 Thread Ben Sturmfels
On Mon, 23 Jul 2018, Ludovic Courtès wrote:

> Taylan Kammer  skribis:
>
>> I've got Bluetooth running by adding (bluetooth-service) to my list of
>> services and connecting my devices via 'bluetoothctl', which are now
>> fully functional, yet the GNOME Settings panel for Bluetooth still says
>> it couldn't find Bluetooth and asks me to insert a Bluetooth dongle.
>
> Wild guess: could it be that we’re missing a .service D-Bus file or a
> polkit file for whatever deals with Bluetooth in GNOME?  Does the
> Settings panel or D-Bus or polkit leave any messages?

When I install bluetooth-service and click the "Bluetooth" item in GNOME
settings, the following lines are added to /var/log/messages:

Nov  4 13:39:29 localhost dbus-daemon[471]: [system] Rejected send message, 2 
matched rules; type="method_call", sender=":1.126" (uid=1000 pid=1976 
comm="/gnu/store/9imb9ffn8rkrp0bijlcxnvx496wl510n-gnome-") 
interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error 
name="(unset)" requested_reply="0" destination=":1.139" (uid=0 pid=2886 
comm="/gnu/store/052b2lxw9d4qypr8gsv71f0zn8qljvax-bluez-")
Nov  4 13:39:29 localhost dbus-daemon[471]: [system] Rejected send message, 2 
matched rules; type="method_call", sender=":1.126" (uid=1000 pid=1976 
comm="/gnu/store/9imb9ffn8rkrp0bijlcxnvx496wl510n-gnome-") 
interface="org.bluez.AgentManager1" member="RegisterAgent" error name="(unset)" 
requested_reply="0" destination=":1.139" (uid=0 pid=2886 
comm="/gnu/store/052b2lxw9d4qypr8gsv71f0zn8qljvax-bluez-")

On a side note, given that Bluetooth is listed in GNOME settings, perhaps
bluetooth-service should also be added to %desktop-services? It's
included by default in Trisquel.

Regards,
Ben


signature.asc
Description: PGP signature


bug#32166: GNOME Settings panel for Bluetooth dysfunctional

2019-11-03 Thread Ben Sturmfels
On Mon, 04 Nov 2019, Ben Sturmfels wrote:

> On a side note, given that Bluetooth is listed in GNOME settings, perhaps
> bluetooth-service should also be added to %desktop-services? It's
> included by default in Trisquel.

The other non-obvious thing about installing bluetooth-service is that
bluetoothd fails to run until dbus-system has been restarted, though
there's no error that explains this. I ended up restarting the machine
as running `herd restart dbus-system` crashed GNOME.

Regards,
Ben


signature.asc
Description: PGP signature


bug#32247: HandBrake shows no icons

2020-01-08 Thread Ben Sturmfels
On Mon, 23 Jul 2018, Andreas Enge wrote:

Hi Andreas,

> On Mon, Jul 23, 2018 at 08:17:35AM -0500, Eric Bavier wrote:
>> I think there's a version upgrade available. Might be a good time to visit 
>> that
>> and these issues together.
>
> I had a look before, wondering whether this would be an option to make the
> package compile again, but upgrading is more complicated than just changing
> the source. So in the end I took the path of least resistance and downgraded
> the ffmpeg input...

I just ran the current version of Handbrake in Guix and can see icons,
so it may be that this has been fixed elsewhere or through upgrades.
Would you mind testing again please to see if this is fixed for you?

Regards,
Ben

-- 
Ben Sturmfels

Sturm Software Engineering
www.sturm.com.au
+61 3 9024 2467


signature.asc
Description: PGP signature


bug#35712: No sound in alex4

2020-02-03 Thread Ben Sturmfels
On Mon, 13 May 2019, sirgazil wrote:

> When I run the game alex4, it has no sound. Running the game from a terminal 
> I see no errors.

I'm also not getting any sound. I've found that alex4 writes a log to
$HOME/.alex4/log.txt. My log below seems to imply that sound is being
successfully initialised though.

Alex 4 (v1.2.1) - log file
---
Game started with the following commands:
   alex4

Init routines:
 initializing allegro
 installing timers
 setting color depth (8)
 allocating memory for off screen buffers
 allocating memory for high score table 1
 allocating memory for high score table 2
 entering gfx mode set in alex4.ini (640x480 win)
 setting window title
 registering dumb
 loading data
 loading options
 loading hiscores
 loading original maps
 loaded 12 maps
 installing keyboard
 installing mouse
 initializing controls
 initializing joystick/gamepad
 installing sound
  DIGI_AUTODETECT selected (-1)
 loading sound datafile
  sfx_44.dat not found
  sfx_22.dat will be used
 initializing scroller
 vsync set to OFF
 init OK!
 getting map 0 from datafile

Running main menu:
 play selected

Starting new game:
 starting level <0>
 getting map 0 from map-datafile
 player quit

Running main menu:
 quit selected

Exit routines:
 unloading datafile
 unloading original maps
 destroying temporary map
 freeing level names
 saving options
 saving highscores
 unloading sound data
 exiting dumb
 exiting allegro

Done...



signature.asc
Description: PGP signature


bug#35712: No sound in alex4

2020-02-03 Thread Ben Sturmfels
On Mon, 03 Feb 2020, Ben Sturmfels wrote:

> On Mon, 13 May 2019, sirgazil wrote:
>
>> When I run the game alex4, it has no sound. Running the game from a terminal 
>> I see no errors.
>
> I'm also not getting any sound. I've found that alex4 writes a log to
> $HOME/.alex4/log.txt. My log below seems to imply that sound is being
> successfully initialised though.

I just tried building allegro 4 from upstream source to try the
"addons/logg/play_ogg" program. Similarly when I run this with an ogg
file, I get no errors, but no sound. I don't see any application show up
in pavucontrol. I wonder whether this has anything to do with
PulseAudio?

Regards,
Ben


signature.asc
Description: PGP signature


bug#35746: Evolution calendar gets the timezone wrong

2020-02-06 Thread Ben Sturmfels
Marius B. advised that the Evolution timezone issue was addressed in
2a80d9e55299214a3f0b4f585767b4c81c9d5c7d. I hadn't noticed, but can
confirm that my times are now showing up perfectly in Evolution and
Gnome Calendar, yay thanks! Epiphany is also showing the correct
timezone now for me with `new Date().getTimezoneOffset()`.

On Thu, 12 Sep 2019, Ludovic Courtès wrote:
> sirmacik  skribis:
>
>> This problem seems to be also present also for other programs such as
>> GNU IceCat which reads UTC timezone every time, despite Europe/Warsaw
>> being set in my config.scm.
>
> I can confirm this (it’s not clear that it relates to the
> evolution-data-server issue.)
>
> I vaguely remember that we once had an explanation to the IceCat
> timezone issue but I can no longer find it…  Does it ring a bell to
> anyone reading this?

IceCat and Chromium are still showing UTC for me, so that issue is
clearly not directly related to the now fixed Evolution issue. Will
close this bug report since it's about Evolution.

Regards,
Ben


signature.asc
Description: PGP signature


bug#35746: IceCat/Chromium timezone is wrong

2020-04-22 Thread Ben Sturmfels
On Fri, 17 May 2019, Ludovic Courtès wrote:

> Hi Ben,
>
> Ben Sturmfels  skribis:
>
>> Possibly completely unrelated, but noting that both icecat and chromium
>> do this - which is wrong:
>>
>>> new Date().getTimezoneOffset()
>> 0
>>
>> Where node does this - which is correct:
>>
>>> new Date().getTimezoneOffset()
>> -600
>
> I noticed it in IceCat and thought it might be a privacy feature.
> But maybe it’s a genuine bug?
>
> Ludo’.

This does appear to be a privacy feature. To report the correct timezone 
offset, go to  "about:config" and disable "privacy.resistFingerprinting" then 
restart IceCat.

Note that toggling "privacy.resistFingerprinting" immediately changed the 
result of `new Date().toString()` on all tabs, but `new 
Date().getTimezoneOffset()` was changed
only on the about:config tab. After a restart all tabs showed the correct 
offset.

See this IceCat bug report discussion:
https://lists.gnu.org/archive/html/bug-gnuzilla/2019-06/msg00010.html

Regards,
Ben





bug#35746: IceCat/Chromium timezone is wrong

2020-04-22 Thread Ben Sturmfels




On Fri, May 17, 2019 at 11:02, Ludovic Courtès  wrote:

Hi Ben,

Ben Sturmfels  skribis:

 Possibly completely unrelated, but noting that both icecat and 
chromium

 do this - which is wrong:


 new Date().getTimezoneOffset()

 0

 Where node does this - which is correct:


 new Date().getTimezoneOffset()

 -600


I noticed it in IceCat and thought it might be a privacy feature.
But maybe it’s a genuine bug?

Ludo’.


This does appear to be a privacy feature. To report the correct 
timezone offset, go to  "about:config" and disable 
"privacy.resistFingerprinting" then restart IceCat.


Note that toggling "privacy.resistFingerprinting" immediately changed 
the result of `new Date().toString()` on all tabs, but `new 
Date().getTimezoneOffset()` was changed
only on the about:config tab. After a restart all tabs showed the 
correct offset.


See this IceCat bug report discussion:
https://lists.gnu.org/archive/html/bug-gnuzilla/2019-06/msg00010.html

Regards,
Ben







bug#41483: Linphone won't connect to SIP account

2020-05-23 Thread Ben Sturmfels
Thanks for packaging Linphone!

I'm having trouble connecting to a SIP account. When I set up an
account, a red warning triangle remains shown next the account and
outgoing calls don't work. I'm running and up-to-date Guix System.

I've tried with both a third-party SIP account, an existing Linphone
account and a new Linphone account created through the wizard. The logs
from startup with the new Linphone account are attached.

I'm able to register with these accounts in other apps such as Twinkle,
so I don't think it's an issue with my credentials.

Thanks again - I'm excited to see Linphone added to Guix!

Regards,
Ben
2020-05-23 23:05:51:355 MESSAGE QT: 
/tmp/guix-build-linphoneqt-4.1.1.drv-0/linphoneqt-4.1.1/src/app/App.cpp:110: 
"Destroying app..."
2020-05-23 23:05:51:357 WARNING QT: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51:3: QML Rectangle: Detected 
anchors on an item that is managed by a layout. This is undefined behavior; use 
Layout.alignment instead.
2020-05-23 23:05:51:358 WARNING QT: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51:3: QML Rectangle: Detected 
anchors on an item that is managed by a layout. This is undefined behavior; use 
Layout.alignment instead.
2020-05-23 23:05:51:358 WARNING QT: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51:3: QML Rectangle: Detected 
anchors on an item that is managed by a layout. This is undefined behavior; use 
Layout.alignment instead.
2020-05-23 23:05:51:358 WARNING QT: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51: 
qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51:3: QML Rectangle: Detected 
anchors on an item that is managed by a layout. This is undefined behavior; use 
Layout.alignment instead.
2020-05-23 23:05:51:371 MESSAGE Callbacks [0x7f52700ea9a0] unregistered on core 
[0x7f527000bdd0]
2020-05-23 23:05:51:371 MESSAGE Destroying friends.
2020-05-23 23:05:51:371 MESSAGE Destroying friends done.
2020-05-23 23:05:51:371 MESSAGE Unregistration started.
2020-05-23 23:05:51:472 MESSAGE Destroying op [0x236b1c0] of type 
[SalOpRegister]
2020-05-23 23:05:51:472 MESSAGE Transaction [0x23591d0] deleted
2020-05-23 23:05:51:472 MESSAGE Reseting transports
2020-05-23 23:05:51:472 MESSAGE Listening point [0x7f52700890f0] on 
[sip:[::0]:36409;transport=UDP] destroyed
2020-05-23 23:05:51:472 MESSAGE sal_unlisten_ports done
2020-05-23 23:05:51:472 MESSAGE http provider destroyed.
2020-05-23 23:05:51:472 MESSAGE stack [0x7f5270003240] destroyed.
2020-05-23 23:05:51:473 MESSAGE New PulseAudio context state: 
PA_CONTEXT_TERMINATED
2020-05-23 23:05:54:115 MESSAGE Using (r/w) config information from 
/home/ben/.config/linphone/linphonerc
2020-05-23 23:05:54:116 MESSAGE Using (r/w) config information from 
/home/ben/.config/linphone/linphonerc
2020-05-23 23:05:54:117 MESSAGE Reading config information from 
/gnu/store/s6zkib8fgdjyb9bcnz7bg0b6qizxi5hi-linphoneqt-4.1.1/share/linphone/linphonerc-factory
2020-05-23 23:05:54:117 MESSAGE Initializing LinphoneCore 3.12.0
2020-05-23 23:05:54:117 MESSAGE Core callbacks [0x7f57c8004eb0] registered on 
core [0x7f57c800bdf0]
2020-05-23 23:05:54:117 MESSAGE Core callbacks [0x7f57c8005010] registered on 
core [0x7f57c800bdf0]
2020-05-23 23:05:54:117 MESSAGE Core callbacks [0x7f57c8004790] registered on 
core [0x7f57c800bdf0]
2020-05-23 23:05:54:117 MESSAGE Callbacks [0x7f57c8004790] unregistered on core 
[0x7f57c800bdf0]
2020-05-23 23:05:54:117 MESSAGE Linphone core [0x7f57c800bdf0] notified 
[global_state_changed]
2020-05-23 23:05:54:117 MESSAGE oRTP-1.0.2 initialized.
2020-05-23 23:05:54:117 MESSAGE Mediastreamer2 factory 2.16.1 (git: unknown) 
initialized.
2020-05-23 23:05:54:117 MESSAGE CPU count set to 4
2020-05-23 23:05:54:117 MESSAGE ms_factory_init() done: 
platform_tags=linux,x86,desktop
2020-05-23 23:05:54:117 MESSAGE srtp init
2020-05-23 23:05:54:120 MESSAGE Registering all soundcard handlers
2020-05-23 23:05:54:121 MESSAGE New PulseAudio context state: 
PA_CONTEXT_CONNECTING
2020-05-23 23:05:54:122 MESSAGE New PulseAudio context state: 
PA_CONTEXT_AUTHORIZING
2020-05-23 23:05:54:122 MESSAGE New PulseAudio context state: 
PA_CONTEXT_SETTING_NAME
2020-05-23 23:05:54:123 MESSAGE New PulseAudio context state: PA_CONTEXT_READY
2020-05-23 23:05:54:123 MESSAGE Card 'PulseAudio: Built-in Audio Analog Stereo' 
added with capabilities [playback]
2020-05-23 23:05:54:144 MESSAGE Card 'ALSA: default device' added with 
capabilities [capture, playback]
2020-05-23 23:05:54:144 MESSAGE Registering all webcam handlers
2020-05-23 23:05:54:214 MESSAGE Webcam V4L2: /dev/video0 added
2020-05-23 23:05:54:217 MESSAGE Webcam StaticImage: Static picture added
2020-05-23 23:05:54:217 MESSAGE ms_factory_init_voip() done
2020-05-23 23:05:54:217 MESSAGE Loading ms plugins from 
[/gnu/store/s6zkib8fgdjyb9bcnz7bg0b6qizxi5hi-linphoneqt-4.1.1]
2020-05-23 23:05:54:217 MESSAGE C

bug#41356: closed (Re: bug#41356: Install script fails on Ubuntu 18.04 x86_64: Workaround)

2020-05-25 Thread Ben Sturmfels
unarchive 41356

On Sun, 17 May 2020, GNU bug Tracking System wrote:

>> ```bash
>> cp: cannot stat '/root/.config/guix/current
>> /lib/systemd/system/gnu-store.mount': No such file or directory
>> chmod: cannot access '/etc/systemd/system/gnu-store.mount': No such file or
>> directory
>> ```
>
> This happens because [0] links to guix-install.sh on (git) master, which
> contains new code to install gnu-store.mount, but then downloads an older
> (release) archive that doesn't contain that file yet.
>
> The above error is harmless, in that there's no regression from 1.1.0.  New
> installations just won't benefit from Guix Advanced System Protection(ZOMG™)
> just yet. ebbf91542269fcb36d64928d4a4992e6afbf2acf avoids the error.

The manual install has a similar issue where in 2.1 Binary Installation
step 5, it asks you to run:

# cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \
 ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
 /etc/systemd/system/

Which confused me during an install with the same "No such file" error
as above. I see that guix-install.sh now includes a conditional around
this `cp`. Perhaps it would be worth a small note in the documentation
to advise that this will issue a harmless error on Guix <= 1.1.1?

Regards,
Ben





bug#41483: Linphone won't connect to SIP account

2020-08-27 Thread Ben Sturmfels
Hi Maxim,

> [...]
>
>> 2020-05-23 23:05:54:365 MESSAGE New local ip address is 192.168.1.134
>> 2020-05-23 23:05:54:365 MESSAGE SIP network reachability state is now [UP]
>> 2020-05-23 23:05:54:365 MESSAGE Media network reachability state is now [UP]
>> 2020-05-23 23:05:54:366 MESSAGE LinphoneProxyConfig [0x7f57c800d030] about 
>> to register (LinphoneCore version: 3.12.0)
>> 2020-05-23 23:05:54:367 ERROR No listening point matching for 
>> [tls://sip.linphone.org:5061]
>> 2020-05-23 23:05:54:367 ERROR belle_sip_client_transaction_send_request(): 
>> no channel available
>
> Have you used the account assistant to create that SIP account? I found
> configuring an account manually confusing without it (the input text
> fields expect some protocol prefix I wasn't sure about).  Perhaps that
> protocol line is wrong. With my voip.ms service, it works fine (using
> TLS):
>
> [...]

Thanks for the suggestion, after some more testing I figured out that
the issue was that while I had closed Twinkle (another SIP program), it
was still running in the background and Linphone was silently failing to
access the port it needed. After killing Twinkle it worked fine.

Both Twinkle and Linphone seem to behave this way in Gnome 3 - I click
close but they stay running in the background - perhaps they're not
integrated properly with Gnome 3?

Anyhow at least it's clear that Linphone is working properly. Thanks!

Regards,
Ben





bug#35746: (no subject)

2020-05-04 Thread Ben Sturmfels via web
This does appear to be a privacy feature in IceCat. To report the correct 
timezone offset, go to about:config" and disable "privacy.resistFingerprinting" 
then restart IceCat.

Note that toggling "privacy.resistFingerprinting" immediately changed the 
result of `new ate().toString()` on all tabs, but `new 
Date().getTimezoneOffset()` was changed only on the about:config tab. After a 
restart all tabs showed the correct offset.

See this IceCat bug report discussion:
https://lists.gnu.org/archive/html/bug-gnuzilla/2019-06/msg00010.html

Regards,
Ben






bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-19 Thread Ben Sturmfels via Bug reports for GNU Guix
This is a "meta" bug to keep track of the progress of packaging GNU
MediaGoblin, a platform for publishing images/audio/video etc. See
https://mediagoblin.org/

We have a guix-env.scm in the upstream source which should always have
the latest copy of our packaging progress and instructions to run it:

https://git.savannah.gnu.org/cgit/mediagoblin.git/tree/guix-env.scm

Current plan is:

1. Add OGG support to libsndfile which is needed to package
python-soundfile [patch 47210]

2. Package python-soundfile (see above). After this the test suite
should pass 100% with pytest installed from PyPI [patch 47181]

3. Work out why python-pytest-6/python-pytest-xdist/python-pytest-forked
in Guix seem to be incompatible. After this our test suite should run
100% with only dependencies from Guix!

4. Package MediaGoblin itself. The build process is ./configure/make
which is a bit weird for a Python project.

5. Get a basic Guix service working, with sqlite3 and without the
offloaded media transcoding currently using Celery/RabbitMQ.

6. Rewrite MediaGoblin's JavaScript code not to use jQuery. Maybe
improve the no-bundled-JavaScript video/audio playing experience.

7. Work out why H264 support is missing.

8. Either package RabbitMQ (probably hard) or rewrite MediaGoblin's
processing backend from Celery/RabbitMQ to RQ/Redis. Celery has been
implicated in many bugs anyway, so there may benefits to the project to
doing this anyway.

9. Figure out how to deal with translations.

10. Add a PostgreSQL database to the Guix service instead of sqlite3.

11. We win. Maybe :)


signature.asc
Description: PGP signature


bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-21 Thread Ben Sturmfels via Bug reports for GNU Guix
On Fri, 19 Mar 2021, jgart wrote:

> This sounds like a great project. I would love MediaGoblin to be in Guix also.
>
>> 6. Rewrite MediaGoblin's JavaScript code not to use jQuery. Maybe
>> improve the no-bundled-JavaScript video/audio playing experience.
>
> What are your thoughts on rewriting the jquery? 
>
> Should MediaGoblin be using vanilla javascript instead?
>
> Some other possibilities could be purescript (https://www.purescript.org) or
> mint (http://mint-lang.com), although mint and crystal are not in guix yet and
> mint uses preact (http://preactjs.com) as its' runtime since 0.8.0
> (https://www.mint-lang.com/blog/mint-0.8.0).

Many of the functions we used to use jQuery for are now built into most
browsers from the last 10 years.

By far the most common are element selectors like:

  var panel = $('#header-panel')
  var arrow = $('.arrow')

which we just change to:

  var panel = document.querySelector('#header-panel')
  var arrow = document.querySelector('.arrow')

This is all vanilla JavaScript in individual files imported via 

bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-29 Thread Ben Sturmfels via Bug reports for GNU Guix
On Mon, 22 Mar 2021, Dr. Arne Babenhauserheide wrote:

> If you need support for m3u-playlists, you can use the player I wrote
> here: https://www.draketo.de/software/m3u-player
> → https://www.draketo.de/software/m3u-player.js (save as utf-8)
> (that m3u-playlists aren’t supported out of the box in most players is a
> strange oversight, the code adds it for video- and audio-tags, License:
> GPLv2 or later — just ask me if you need something else)
>
> There’s also an enhanced version for Freenet, but that has lots of
> performance-changes to work over high-latency networks and with paranoid
> CSP-settings:
> https://github.com/freenet/fred/pull/721/files#diff-33cbf95723ae7b33eb205cf9adc3411b2098e27ba757e553406f689a4fafb802

Thanks Arne! I've forwarded this on to mediagoblin-de...@gnu.org so we
don't lose track of it.

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-29 Thread Ben Sturmfels via Bug reports for GNU Guix
Just an update:

On Fri, 19 Mar 2021, Ben Sturmfels wrote:

> 1. Add OGG support to libsndfile which is needed to package
> python-soundfile [patch 47210]

lfam pointed out that this has already been done in 46067, which is now
in core-updates awaiting merging into master:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46067

For the time being, we've also copied the updated libsndfile into
MediaGoblin's guix-env.scm.

> 2. Package python-soundfile (see above). After this the test suite
> should pass 100% with pytest installed from PyPI [patch 47181]

We now have a local copy of python-soundfile in MediaGoblin's
guix-env.scm which is passing all audio tests. Yay!

> 3. Work out why python-pytest-6/python-pytest-xdist/python-pytest-forked
> in Guix seem to be incompatible. After this our test suite should run
> 100% with only dependencies from Guix!

Discovered we'll also need to upgrade Guix's python-wtforms, but in the
mean time, installing only wtforms, pytest, pytest-xdist, pytest-forked
from PyPI allows us to pass the test suite 100% Getting closer!

> ...
> 8. Either package RabbitMQ (probably hard) or rewrite MediaGoblin's
> processing backend from Celery/RabbitMQ to RQ/Redis. Celery has been
> implicated in many bugs anyway, so there may benefits to the project to
> doing this anyway.

I learnt that Celery has a Redis backend, so maybe we don't need to
rewrite just yet.

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-30 Thread Ben Sturmfels via Bug reports for GNU Guix
On Tue, 30 Mar 2021, Ben Sturmfels wrote:

>> 3. Work out why python-pytest-6/python-pytest-xdist/python-pytest-forked
>> in Guix seem to be incompatible. After this our test suite should run
>> 100% with only dependencies from Guix!
>
> Discovered we'll also need to upgrade Guix's python-wtforms, but in the
> mean time, installing only wtforms, pytest, pytest-xdist, pytest-forked
> from PyPI allows us to pass the test suite 100% Getting closer!

Pytest issues have now been resolved. We now need ZERO packages from
PyPI for a basic install and full test suite run. :)

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-31 Thread Ben Sturmfels via Bug reports for GNU Guix
On Tue, 30 Mar 2021, Ben Sturmfels wrote:

> On Fri, 19 Mar 2021, Ben Sturmfels wrote:

>> 8. Either package RabbitMQ (probably hard) or rewrite MediaGoblin's
>> processing backend from Celery/RabbitMQ to RQ/Redis. Celery has been
>> implicated in many bugs anyway, so there may benefits to the project to
>> doing this anyway.
>
> I learnt that Celery has a Redis backend, so maybe we don't need to
> rewrite just yet.

It turns out that MediaGoblin's Celery-based media processing backend
work out of the box by simply configuring:

  [celery]
  BROKER_URL = "redis://"

(There seems to be an unrelated bug where media is marked as failed after
restarting Celery, possibly tied to sqlite. We've had reports of this
with a RabbitMQ broker too though.)


This means our shorter to-do list is now:

1. Upstream our new python-soundfile Guix package from guix-env.scm when
core-updates is merged.

2. Upstream our upgraded python-wtforms package.

6. Convert MediaGoblin's jQuery-based JavaScript to use vanilla JS.
Video and audio are essentially functional without the NPM installed
players. Some later refinements perhaps.

4. Package MediaGoblin itself. The build process is ./configure/make
which is a bit weird for a Python project.

5. Get a basic Guix service working, with sqlite3 and without the
offloaded media transcoding currently using Celery task queue with a
Redis broker.

7. Work out why H264 support is missing.

8. Figure out how to deal with translations.

9. Add a PostgreSQL database to the Guix service instead of sqlite3.

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-04-05 Thread Ben Sturmfels via Bug reports for GNU Guix
On Thu, 01 Apr 2021, Ben Sturmfels wrote:

> 7. Work out why H264 support is missing.

This is now fixed MediaGoblin's master branch guix-env.scm by adding
gst-libav to propagated inputs.





bug#47260: Package GNU MediaGoblin as a Guix service

2021-04-06 Thread Ben Sturmfels via Bug reports for GNU Guix
On Thu, 01 Apr 2021, Ben Sturmfels wrote:

> 5. Get a basic Guix service working, with sqlite3 and without the
> offloaded media transcoding currently using Celery task queue with a
> Redis broker.

Woo! After a lot of trial and error, I finally have a basic MediaGoblin
running entirely under Guix with no virtualenv trickery!

After applying the attached patch to my guix repo, I grab a copy of the
basic config files and enable audio and video:

  curl 
https://git.savannah.gnu.org/cgit/mediagoblin.git/plain/mediagoblin.example.ini 
> mediagoblin.ini
  curl https://git.savannah.gnu.org/cgit/mediagoblin.git/plain/paste.ini > 
paste.ini
  echo "[[mediagoblin.media_types.audio]]" >> mediagoblin.ini
  echo "[[mediagoblin.media_types.video]]" >> mediagoblin.ini

Build MediaGoblin, which downloads from our master branch and runs the
full test suite successfully:

  ~/ws/guix/pre-inst-env guix build mediagoblin

Then install MediaGoblin in a container (not working in a non-container
guix environment or without explicit "python"):

  ~/ws/guix/pre-inst-env guix environment --container --network 
--share=$HOME/.bash_history --ad-hoc mediagoblin python

Create an sqlite3 database and add a user:

  gmg dbupdate
  gmg adduser --username admin --password a --email ad...@example.com
  gmg changepw admin a

Upload an image, audio and video via CLI:

  gmg addmedia admin image.jpg
  gmg addmedia admin audio.wav
  gmg addmedia admin video.mp4

Start the web interface:

  CELERY_ALWAYS_EAGER=true paster serve paste.ini

The web interface is working. Looks like we're missing some CSS
(probably due to files not being included in the setuptools package),
but that's a minor issue.

Getting there!

Regards,
Ben
>From 704cd6aa56f17d4f705d33f1f58ff03e2581a2da Mon Sep 17 00:00:00 2001
From: Ben Sturmfels 
Date: Tue, 6 Apr 2021 12:48:47 +1000
Subject: [PATCH] Add MediaGoblin package.

---
 gnu/local.mk |   1 +
 gnu/packages/mediagoblin.scm | 266 +++
 2 files changed, 267 insertions(+)
 create mode 100644 gnu/packages/mediagoblin.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index f2d595f2cc..b2daa3cfe6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -467,6 +467,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/python-science.scm		\
   %D%/packages/python-web.scm			\
   %D%/packages/python-xyz.scm			\
+  %D%/packages/mediagoblin.scm			\
   %D%/packages/toys.scm\
   %D%/packages/tryton.scm			\
   %D%/packages/qt.scm\
diff --git a/gnu/packages/mediagoblin.scm b/gnu/packages/mediagoblin.scm
new file mode 100644
index 00..87649c965a
--- /dev/null
+++ b/gnu/packages/mediagoblin.scm
@@ -0,0 +1,266 @@
+;; Install with:
+;;
+;; ~/ws/guix/pre-inst-env guix environment --container --network --share=$HOME/.bash_history --ad-hoc mediagoblin
+;;
+;; Doesn't currently work when not in a container:
+;;
+;; ~/ws/guix/pre-inst-env guix environment --ad-hoc mediagoblin
+
+(define-module (gnu packages mediagoblin)
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
+  #:use-module (guix packages)
+  #:use-module (guix licenses)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages xiph)  ; flac for embedded libsndfile
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages certs)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)  ; unzip for embedded python-wtforms
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages libffi)  ; cffi for embedded python-soundfile
+  #:use-module (gnu packages openldap)
+  #:use-module (gnu packages pdf)
+  #:use-module (gnu packages pkg-config)  ; embedded libsndfile
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages rsync)
+  #:use-module (gnu packages ssh)
+  #:use-module (gnu packages time)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages xml)
+  #:use-module ((guix licenses) #:select (bsd-3 gpl2+) #:prefix license:))
+
+(define python-wtforms
+  (package
+(name "python-wtforms")
+(version "2.3.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "WTForms" version))
+   (sha256
+(base32
+ ;; Interesting, if this has is that of a lower version, it blindly
+ ;; ignores the version number above and you silently get the older
+ ;; version.
+ "174

bug#47260: Package GNU MediaGoblin as a Guix service

2021-04-06 Thread Ben Sturmfels via Bug reports for GNU Guix
On Mon, 05 Apr 2021, Léo Le Bouter wrote:

> On Tue, 2021-04-06 at 00:17 +1000, Ben Sturmfels wrote:
>> On Thu, 01 Apr 2021, Ben Sturmfels wrote:
>> 
>> > 7. Work out why H264 support is missing.
>> 
>> This is now fixed MediaGoblin's master branch guix-env.scm by adding
>> gst-libav to propagated inputs.
>
> Hello!
>
> I suggest not using propagated-inputs because they are likely to cause
> conflicts in profiles when used. I suggest intead creating wrapper
> scripts that append to the PATH variable.
>
> Examples of such wrapper scripts can be found:
>
> - 
> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=373e5fc96724fd38bb1263e4af90932ea36f596b
> (PYTHONPATH more so)
> - 
> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=00c1793ce8e2210e48b18422ea3e76da10541874
> (Append xdg-utils to PATH)
>
> Let me know if there's any questions about creating such wrappers.

Thanks Léo, I'll look into this!

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-04-07 Thread Ben Sturmfels via Bug reports for GNU Guix
On Tue, 06 Apr 2021, Ben Sturmfels wrote:

> On Thu, 01 Apr 2021, Ben Sturmfels wrote:
>
>> 5. Get a basic Guix service working, with sqlite3 and without the
>> offloaded media transcoding currently using Celery task queue with a
>> Redis broker.
>
> Woo! After a lot of trial and error, I finally have a basic MediaGoblin
> running entirely under Guix with no virtualenv trickery!
>
> After applying the attached patch to my guix repo...

Even simpler, I've now created a Guix channel for our work-in-progress
MediaGoblin package/service. See the README for instructions on enabling
the channel and installing MediaGoblin:

https://gitlab.com/BenSturmfels/mediagoblin-guix/-/blob/master/README.md

Once the channel is enabled, you can `guix install mediagoblin` and run
`gmg` commands and the web interface. All documented in the above README.

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-05-05 Thread Ben Sturmfels via Bug reports for GNU Guix
Thanks for the update Arne. This issue is specifically about Guix
packaging, so to save us losing track of your update, please post it to
the dedicated mediagoblin-de...@gnu.org thread we started a couple of
months back:

https://lists.gnu.org/archive/html/mediagoblin-devel/2021-03/msg00026.html

Thanks again,
Ben

On Wed, 05 May 2021, Arne Babenhauserheide wrote:

> Hi,
>
> I just added non-flickering video-change to the m3u-player. Attaching
> the file. I thought that could be useful for MediaGoblin. The file is
> attached.
>
>
> Best wishes,
> Arne
>
>
> Ben Sturmfels via Bug reports for GNU Guix  writes:
>
>> On Tue, 30 Mar 2021, Ben Sturmfels wrote:
>>
>>> On Fri, 19 Mar 2021, Ben Sturmfels wrote:
>>
>>>> 8. Either package RabbitMQ (probably hard) or rewrite MediaGoblin's
>>>> processing backend from Celery/RabbitMQ to RQ/Redis. Celery has been
>>>> implicated in many bugs anyway, so there may benefits to the project to
>>>> doing this anyway.
>>>
>>> I learnt that Celery has a Redis backend, so maybe we don't need to
>>> rewrite just yet.
>>
>> It turns out that MediaGoblin's Celery-based media processing backend
>> work out of the box by simply configuring:
>>
>>   [celery]
>>   BROKER_URL = "redis://"
>>
>> (There seems to be an unrelated bug where media is marked as failed after
>> restarting Celery, possibly tied to sqlite. We've had reports of this
>> with a RabbitMQ broker too though.)
>>
>>
>> This means our shorter to-do list is now:
>>
>> 1. Upstream our new python-soundfile Guix package from guix-env.scm when
>> core-updates is merged.
>>
>> 2. Upstream our upgraded python-wtforms package.
>>
>> 6. Convert MediaGoblin's jQuery-based JavaScript to use vanilla JS.
>> Video and audio are essentially functional without the NPM installed
>> players. Some later refinements perhaps.
>>
>> 4. Package MediaGoblin itself. The build process is ./configure/make
>> which is a bit weird for a Python project.
>>
>> 5. Get a basic Guix service working, with sqlite3 and without the
>> offloaded media transcoding currently using Celery task queue with a
>> Redis broker.
>>
>> 7. Work out why H264 support is missing.
>>
>> 8. Figure out how to deal with translations.
>>
>> 9. Add a PostgreSQL database to the Guix service instead of sqlite3.
>>
>> Regards,
>> Ben






bug#50267: Python PYTHONASYNCIODEBUG=1 not triggering debug tracebacks

2021-08-30 Thread Ben Sturmfels via Bug reports for GNU Guix
Hi Folks,

When I run a Python program with PYTHONASYNCIODEBUG=1, I'm not seeing
the debugging traceback I expect.

Here's the test program, asynctest.py containing an async bug:

import asyncio

async def test():
print("never scheduled")

async def main():
# Should be "async test()"
test()

asyncio.run(main())

Run this with `python3 asynctest.py` I get as expected:

asynctest.py:7: RuntimeWarning: coroutine 'test' was never awaited
  test()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Running with `PYTHONASYNCIODEBUG=1 python3 asynctest.py`, I don't see
any additional debugging output:

asynctest.py:7: RuntimeWarning: coroutine 'test' was never awaited
  test()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

I tried running it inside a `guix environment --container` just in case
it was my setup, but no difference.

But on Ubuntu 20.04 (also Python 3.8), I get the expected debugging output:

asynctest.py:7: RuntimeWarning: coroutine 'test' was never awaited
Coroutine created at (most recent call last)
  File "asynctest.py", line 9, in 
asyncio.run(main())
  File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
  File "/usr/lib/python3.8/asyncio/base_events.py", line 603, in 
run_until_complete
self.run_forever()
  File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
self._run_once()
  File "/usr/lib/python3.8/asyncio/base_events.py", line 1851, in _run_once
handle._run()
  File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
self._context.run(self._callback, *self._args)
  File "t.py", line 7, in main
test()
  test()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

See also:
https://docs.python.org/3.8/library/asyncio-dev.html#asyncio-debug-mode

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-09-11 Thread Ben Sturmfels via Bug reports for GNU Guix
Just a progress update - Raghav and Jgart have now packaged and updated
python-wtforms, thank you both!

All that remains now for a passing test suite (and OGG Vorbis support)
is the modified libsndfile that's waiting in Guix's core-updates branch.
Very close now.

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-09-12 Thread Ben Sturmfels via Bug reports for GNU Guix
I've now written up all the progress in our MediaGoblin Guix channel README:

https://git.sr.ht/~mediagoblin/mediagoblin-guix/tree/master/item/README.md

In short MediaGoblin can be installed as a Guix package with no external
dependencies or Python virtualenvs. After some slightly clumsy static
files configuration the web interface runs successfully based on an
SQLite database. The Celery backend run successfully. Images and video
can be uploaded and viewed successfully. Video plays via the stock
browser player but doesn't allow selection of video quality. Audio is
broken pending merge of updated libsndfile from Guix's "core-updates"
branch.

To try it out, follow the instructions in "Install via load-path",
followed by "Run MediaGoblin" from the README mentioned above.

Regards,
Ben





bug#47260: Package GNU MediaGoblin as a Guix service

2021-09-17 Thread Ben Sturmfels via Bug reports for GNU Guix
On Mon, 13 Sep 2021, Ben Sturmfels wrote:

I've now updated MediaGoblin to find static assets relative to the code,
and hacked in two new entrypoints `gmg serve` and `gmg celery`. Together
these changes mean that we can now mostly use `inputs` rather than
`propagated-inputs` and that the CSS and images are showing up when
installed as a user package (not service)

Here's the updated channel:

https://git.sr.ht/~mediagoblin/mediagoblin-guix/tree/master/item/README.md

I think we're close to being able to propose a patch for a MediaGoblin
package that can be run standalone. Haven't yet worked on a service.





bug#27447: pelican-quickstart produces files with store path shebangs

2021-10-04 Thread Ben Sturmfels via Bug reports for GNU Guix
> ng0 wrote on 22 Jun 2017 14:35:
>
> In a pelican directory after running pelican-quickstart:
> egrep -nr "store"
> …
> pelicanconf.py:1:#!/gnu/store/bf54hnwd8mb63zmssc23fwslf5zvxpxs-python-wrapper-3.5.3/bin/python
> develop_server.sh:1:#!/gnu/store/k7029k5va68lkapbzcycdzj7m5bjb4b8-bash-4.4.12/bin/bash
> publishconf.py:1:#!/gnu/store/bf54hnwd8mb63zmssc23fwslf5zvxpxs-python-wrapper-3.5.3/bin/python

This is a technically a bug, but it's in upstream and has no effect in
practise, so I'll close this bug report. Details below.

As of Pelican 4.7.0 which I've just submitted an update patch for,
develop_server.sh is no longer created:

$ egrep -nr "store"
pelicanconf.py:1:#!/gnu/store/nckjv3ccwdi6096j478gvns43ssbls2p-python-wrapper-3.8.2/bin/python
publishconf.py:1:#!/gnu/store/nckjv3ccwdi6096j478gvns43ssbls2p-python-wrapper-3.8.2/bin/python

This is *technically* a bug because these configuration files are
created once when the user is setting up their blog and will be used
forever after. In practise though, there's no issue since these files
are not executable - they are configuration only.

This also isn't a packaging bug in Guix, it's upstream as zimoun
suggests. Here's the first line of those files as generated by upstream
pelican-quickstart:

$ head -n1 pelicanconf.py publishconf.py 
==> pelicanconf.py <==
#!/usr/bin/env python

==> publishconf.py <==
#!/usr/bin/env python

These upstream files should not contain shebangs since they are not
executable or ever intended to be executed directly - they're config
only and have no functionality.

Regards,
Ben





bug#27447: pelican-quickstart produces files with store path shebangs

2021-10-04 Thread Ben Sturmfels via Bug reports for GNU Guix
On Tue, 05 Oct 2021, Ben Sturmfels wrote:

>> ng0 wrote on 22 Jun 2017 14:35:
>>
>> In a pelican directory after running pelican-quickstart:
>> egrep -nr "store"
>> …
>> pelicanconf.py:1:#!/gnu/store/bf54hnwd8mb63zmssc23fwslf5zvxpxs-python-wrapper-3.5.3/bin/python
>> develop_server.sh:1:#!/gnu/store/k7029k5va68lkapbzcycdzj7m5bjb4b8-bash-4.4.12/bin/bash
>> publishconf.py:1:#!/gnu/store/bf54hnwd8mb63zmssc23fwslf5zvxpxs-python-wrapper-3.5.3/bin/python
>
> This is a technically a bug, but it's in upstream and has no effect in
> practise, so I'll close this bug report. Details below.
>
> As of Pelican 4.7.0 which I've just submitted an update patch for,
> develop_server.sh is no longer created:
>
> $ egrep -nr "store"
> pelicanconf.py:1:#!/gnu/store/nckjv3ccwdi6096j478gvns43ssbls2p-python-wrapper-3.8.2/bin/python
> publishconf.py:1:#!/gnu/store/nckjv3ccwdi6096j478gvns43ssbls2p-python-wrapper-3.8.2/bin/python
>
> This is *technically* a bug because these configuration files are
> created once when the user is setting up their blog and will be used
> forever after. In practise though, there's no issue since these files
> are not executable - they are configuration only.
>
> This also isn't a packaging bug in Guix, it's upstream as zimoun
> suggests. Here's the first line of those files as generated by upstream
> pelican-quickstart:
>
> $ head -n1 pelicanconf.py publishconf.py 
> ==> pelicanconf.py <==
> #!/usr/bin/env python
>
> ==> publishconf.py <==
> #!/usr/bin/env python
>
> These upstream files should not contain shebangs since they are not
> executable or ever intended to be executed directly - they're config
> only and have no functionality.

I've now submitted a patch upstream:

https://github.com/getpelican/pelican/pull/2932

Closing.





bug#47260: Wrapping binaries in MediaGoblin Guix Package

2021-10-04 Thread Ben Sturmfels via Bug reports for GNU Guix
On Tue, 05 Oct 2021, jgart wrote:

> Just a note that we'll probably have to wrap the binaries that are in this 
> module when we finish making the guix package:
>
> mediagoblin/media_types/pdf/processing.py
>
> I see that pdftocairo, pdfinfo, and unoconv probably need to be wrapped to 
> point
> to the executable that is in /gnu/store.
>
> See this issue for a similar discussion about wrapping binaries with guix:
>
> https://issues.guix.gnu.org/50833

Thanks, I've made a note in guix-env.scm to remind me when we look at
PDF support in Guix.