bug#21214: symlinks cc -> gcc, lex -> flex etcetc

2015-08-07 Thread Danny Milosavljevic
Hello,

I tried to build coreboot earlier and by default it seems to use "cc"
in some places (for example util/cbfstool) and thus fails if one
doesn't manually select an explicit compiler via a make (or environment)
variable.

Guix doesn't have "cc" (it does have "gcc"). It would be convenient if
the former were available as a link.

With kind regards,
Danny





bug#21217: Only one icons shown in panel GuixSD installation with Xfce4 desktop

2015-08-07 Thread Danny Milosavljevic
Hi,

after instlaling GuixSD and starting the Xfce4 desktop, only the folder
icon is shown in the panel. The other launchers are there, but the
buttons are empty (without icon but the size is right). For example,
"File Manager" (Thunar) has no icon shown.

With kind regards,
   Danny





bug#21215: icecat can't be started by basename only

2015-08-07 Thread Danny Milosavljevic
Hello,

right now on the GuixSD from the website I have about 12 copies of
icecat installed in /gnu/store but I can start none of them by typing

  $ icecat

Why not?

Also, it isn't in Xfce4's Application Finder either (while for example
HexChat is).

With kind regards,
   Danny





bug#21216: glibc and linux-libre-headers

2015-08-07 Thread Danny Milosavljevic
Hello,

I installed GuixSD recently and ran into the same problem as there:

https://lists.gnu.org/archive/html/bug-guix/2013-02/msg00032.html

Installing linux-libre-headers manually did help, but shouldn't it
happen automatically?

With kind regards,
   Danny





bug#21214: symlinks cc -> gcc, lex -> flex etcetc

2015-08-19 Thread Danny Milosavljevic
Hello,

On Tue, 18 Aug 2015 21:19:43 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic  skribis:
> In practice most software build systems will look for both ‘cc’ and
> ‘gcc’.  For those who don’t, it’s usually easy to specify an alternate
> compiler name, for instance via ‘make’ flags (there are several
> examples of that in the packages.)

Yes it is. 

I'm just slowly documenting all the problems I encountered while
trying GuixSD on a X200. 

This was one of the first: I checked out
cbfstool from coreboot in order to swap Fn and Ctrl and tried to make
it, but it didn't find "cc" and then got stuck in an endless loop
(which is a problem in coreboot, also reported there as
http://comments.gmane.org/gmane.linux.bios/81588 ).

> If that’s fine with you, I’ll close this bug.

That's okay. If it already was discussed that's fine. 

With kind regards,
   Danny





bug#22612: guix make check failure for syscalls: "FAIL network-interfaces returns one or more interfaces"

2016-02-09 Thread Danny Milosavljevic
Package: guix
Version: git from an hour ago

When I bootstrap guix using
  git clone, `guix environment guix`, ./bootstrap && ./configure 
--localstatedir=/var && make check
starting from GuixSD, then I get at the make check:

...
FAIL: tests/syscalls.scm
...
# TOTAL: 59
# PASS:  58
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

File "tests/syscalls.log" contains:

 Starting test syscalls  (Writing full log to "syscalls.log")
;;; note: source file ./srfi/srfi-64.scm
;;;   newer than compiled 
/gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
 Starting test syscalls  (Writing full log to "syscalls.log")
;;; note: source file ./srfi/srfi-64.scm
;;;   newer than compiled 
/gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
 Starting test syscalls  (Writing full log to "syscalls.log")
;;; note: source file ./srfi/srfi-64.scm
;;;   newer than compiled 
/gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
 Starting test syscalls  (Writing full log to "syscalls.log")
;;; note: source file ./srfi/srfi-64.scm
;;;   newer than compiled 
/gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
 Starting test syscalls  (Writing full log to "syscalls.log")
tests/syscalls.scm:220: FAIL network-interfaces returns one or more interfaces
# of expected passes  17
# of unexpected failures  1
;;; note: source file ./srfi/srfi-64.scm
;;;   newer than compiled 
/gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
./test-env: line 1:  4319 Terminated  
"/home/dannym/src/guix/pre-inst-env" "/home/dannym/src/guix/guix-daemon" 
--disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
FAIL tests/syscalls.scm (exit status: 1)





bug#22618: syntax error in postgresql default config

2016-02-10 Thread Danny Milosavljevic
Package: guix
Version: git from an hour ago

The default postgresql config file contains:
  hba_file = '/gnu/store/2pnrdnasjxjr8zmnvhk9ypw2vdl00cks-pg_hba.conf'
  ident_file = '/gnu/store/b4cm2bk8kz8brjcgpwrafxfvxcy35vz9-pg_ident.conf

Note missing end-quote.

The reason is: gnu/services/databases.scm contains:

(define %default-postgres-config
  (mixed-text-file "postgresql.conf"
   "hba_file = '" %default-postgres-hba "'\n"
   "ident_file = '" %default-postgres-ident "\n"))

Note missing end-quote.





bug#22619: postgresql-service error checking wtf

2016-02-12 Thread Danny Milosavljevic
Hi,

I've found out some more details. The message 
 
> > initdb: directory "/var/lib/postgresql/data" exists but is not empty
> > If you want to create a new database system, either remove or empty
> > the directory "/var/lib/postgresql/data" or run initdb
> > with an argument other than "/var/lib/postgresql/data".

is not an error for the entire service. It's initdb refusing to clobber the 
existing database (which has been created by the postgresql-service instance 
with no #:config-file argument) and helpful in preventing data loss.

The actual problem only arises because guix reconfigure doesn't deem a change 
in service arguments as reason to restart (or reconfigure) a service.

I.e. before, my config was:

(postgresql-service )

Then I did guix reconfigure ...

Afterwards, I changed the config to:

(postgresql-service #:config-file ...)

Then I did giux reconfigure   # this erroneously doesn't reload the postgres 
service!!

> > and the error message still references the default config file.  
> 
> I don’t see any references to a config file in what you pasted.

In the postgres-service definition in guix/gnu/services/databases.scm , there's 
a %default-postgres-config . That's what I meant.
At all times, the default config file was printed in the log - which was 
because the postgres service never actually was reconfigured.

>I’ve tested ‘postgresql-service’ in a pristine system with ‘guix system vm’ 
>and it starts without any such message.  So I guess there’s stale data in 
>/var/lib/postgresql/data on your system?

It was left over from the first unsuccessful launch because bug# 22618 hadn't 
been fixed at the time.

Thanks,
   Danny





bug#22676: (git) guix build failure "broken-tarball-fetch"

2016-02-15 Thread Danny Milosavljevic
Package: guix

In git guix (commit b042bdc8fdc2a89e51da852339c0ee86b7bedaf1) and recent GuixSD 
(that means I did guix pull after booting the tarball from the guix website 
about 5 days ago), I get a build failure when I do

$ ./pre-inst-env guix environment guix
$ make
$ touch gnu/packages/engineering.scm # note: file existed before.
$ make # will fail.
.

The error message is:

--
LOAD (gnu packages engineering)
;;; note: source file ./gnu/packages/engineering.scm
;;;   newer than compiled /home/dannym/src/guix/gnu/packages/engineering.go
Backtrace:
In unknown file:
   ?: 19 [primitive-load-path "gnu/packages/version-control" ...]
In gnu/packages/version-control.scm:
  28: 18 [#]
In ice-9/boot-9.scm:
2951: 17 [define-module* (gnu packages version-control) #:filename ...]
2926: 16 [resolve-imports ((# # #) (#) (#) (#) ...)]
2864: 15 [resolve-interface (gnu packages emacs) #:select ...]
2789: 14 [# # ...]
3065: 13 [try-module-autoload (gnu packages emacs) #f]
2401: 12 [save-module-excursion #]
3085: 11 [#]
In unknown file:
   ?: 10 [primitive-load-path "gnu/packages/emacs" ...]
In gnu/packages/emacs.scm:
  24: 9 [#]
In ice-9/boot-9.scm:
2951: 8 [define-module* (gnu packages emacs) #:filename ...]
2926: 7 [resolve-imports ((# # license:) (#) (#) (#) ...)]
2864: 6 [resolve-interface (gnu packages scheme) #:select ...]
2789: 5 [# # ...]
3065: 4 [try-module-autoload (gnu packages scheme) #f]
2401: 3 [save-module-excursion #]
3085: 2 [#]
In unknown file:
   ?: 1 [primitive-load-path "gnu/packages/scheme" ...]
In gnu/packages/scheme.scm:
 493: 0 [#]

gnu/packages/scheme.scm:493:0: In procedure #:
gnu/packages/scheme.scm:493:0: In procedure module-lookup: Unbound variable: 
broken-tarball-fetch
--

Leo also reproduced the problem using the steps above.





bug#21216: glibc and linux-libre-headers

2016-02-16 Thread Danny Milosavljevic
Hi,

On Tue, 18 Aug 2015 21:23:40 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> However, instead of installing the ‘glibc’ package, you may want to
> install the ‘gcc-toolchain’ package, which provides all the tools needed
> to do software development (GCC, libc, Binutils, the ‘ld wrapper’, etc.)

I tried that now - that works fine. 

Why can I install glibc (when it doesn't work anyway)? What's the difference?
Is it documented?

Thanks.

Regards,
   Danny





bug#21215: icecat can't be started by basename only

2016-02-16 Thread Danny Milosavljevic
Hi,

On Wed, 10 Feb 2016 22:03:21 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> l...@gnu.org (Ludovic Courtès) skribis:
> 
> > Danny Milosavljevic  skribis:
> >  
> >> right now on the GuixSD from the website I have about 12 copies of
> >> icecat installed in /gnu/store but I can start none of them by typing
> >>
> >>   $ icecat
> >>
> >> Why not?  
> >
> > See Taylan’s explanation from last month.
> >  
> >> Also, it isn't in Xfce4's Application Finder either (while for example
> >> HexChat is).  
> >
> > Is IceCat installed in the global profile, i.e., specified in the
> > ‘packages’ field of the ‘operating-system’ declaration, or is it
> > installed in your user profile?  
> 
> Ping!  :-)
> 
> Any update on this issue?  (<http://bugs.gnu.org/21215>)

I have a backup HDD with a copy of the installation from back then. 
I can connect it via USB enclosure. What should I check?

For the record, on the new GuixSD installation (including guix pull) which I'm 
using now, I can start icecat by typing "icecat". However, there's still no 
entry in the start menu - which is pretty annoying.

Also, icecat is in "gnu/packages/gnuzilla.scm". Weird. But ok...

Regards,
  Danny





bug#22713: guix prints stray ^M characters

2016-02-16 Thread Danny Milosavljevic
There are some stray ^M characters in the (git) guix output:

accepted connection from pid 2640, user dannym
looking for the latest release of GNU gcc...^M  
  ^Mguix package: warning: ambiguous package specification `guile'
looking for the latest release of GNU guile...^M
  ^MThe following packages would be installed:

-

Easiest to see using "less test-suite.log" after there was a test failure.





bug#22738: Build failure in vigra

2016-02-18 Thread Danny Milosavljevic
/tmp/guix-build-vigra-1.10.0.drv-0/build
...
==
ERROR: test_arraytypes.testMethods
--
Traceback (most recent call last):
  File 
"/gnu/store/m71dy36xl5jcp1qgw9dkyab3yv9gpibx-python2-nose-1.3.7/lib/python2.7/site-packages/nose-1.3.7-py2.7.egg/nose/case.py",
 line 197, in runTest
self.test(*self.arg)
  File 
"/tmp/guix-build-vigra-1.10.0.drv-0/build/vigranumpy/test/test_arraytypes.py", 
line 1331, in testMethods
nz = n.nonzero()
  File 
"/tmp/guix-build-vigra-1.10.0.drv-0/build/vigranumpy/vigra/arraytypes.py", line 
1285, in nonzero
res[k].axistags = AxisTags(AxisInfo(self.axistags[k]))
AttributeError: 'numpy.ndarray' object has no attribute 'axistags'

--





bug#22745: guix http downloads don't resume

2016-02-20 Thread Danny Milosavljevic
Package: guix

By now, guix reconfigure has tried to download the same texlive binary from 
hydra at least 5 times to the same machine, unsuccessfully breaking after about 
1 GB each, for a total of 5 GB, always starting from the beginning.

Would it be possible to just resume?

Additionally, it doesn't seem like it checks the Content-Length in order to 
find out whether the connection broke before the file was done. Why doesn't it?

The http-client seems to handle chunked encoding - so not sure whether it's a 
problem with hydra or with guix.





bug#22745: error messages

2016-02-20 Thread Danny Milosavljevic

Found valid signature for 
/gnu/store/36wqhbch45x055wj6gfsng00zkwfqg6n-texlive-20150523-texmf.tar.xz
From 
http://hydra.gnu.org/nar/36wqhbch45x055wj6gfsng00zkwfqg6n-texlive-20150523-texmf.tar.xz
Downloading 36wqhb...-texlive-20150523-texmf.tar.xz (1.76GiB installed)...
 
http://hydra.gnu.org/nar/36wqhbch45x055wj6gfsng00zkwfqg6n-texlive-20150523-texmf.tar.xz
 1.1MiB/s 13:24 | 893.9MiB transferred
bzip2: Data integrity error when decompressing.
 http://Input file = (stdin), output file = 
(stdout)wfqg6n-texlive-20150523-texmf.tar.xz 1.1MiB/s 13:24 | 893.9MiB 
transferred

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

guix substitute: error: corrupt input while restoring 
'/gnu/store/36wqhbch45x055wj6gfsng00zkwfqg6n-texlive-20150523-texmf.tar.xz' 
from #{read pipe}#
killing process 
3867g/nar/36wqhbch45x055wj6gfsng00zkwfqg6n-texlive-20150523-texmf.tar.xz 
1.1MiB/s 13:24 | 893.9MiB transferred
guix system: error: build failed: some substitutes for the outputs of 
derivation 
`/gnu/store/83nkdyp9wl6zwflcm416xf1imppp7v9f-texlive-20150523-texmf.tar.xz.drv' 
failed (usually happens due to networking issues); try `--fallback' to build 
derivation from source 
---

Also, downloading it by wget right afterwards, it works just fine, all 1.77 GB 
of it. Wtf?





bug#22755: xdg-screensaver missing xprop, xset

2016-02-21 Thread Danny Milosavljevic
xdg-screensaver is missing xprop and xset as dependencies. 

I get the following error messages:

/home/dannym/.guix-profile/bin/xdg-screensaver: line 336: xprop: command not 
found
/home/dannym/.guix-profile/bin/xdg-screensaver: line 410: xset: command not 
found





bug#22755: Reproduction of the Problem

2016-02-21 Thread Danny Milosavljevic
To reproduce, 

- call xwininfo
- click on window
- first line contains window id.
- call /home/dannym/.guix-profile/bin/xdg-screensaver suspend 0x161 <--- 
substitute window id from above





bug#22826: gnupg test failure

2016-02-27 Thread Danny Milosavljevic
gnupg fails its tests:

...
note: keeping build directory `/tmp/guix-build-gnupg-2.1.11.drv-0'
builder for `/gnu/store/p91ba6zl4d8gr5ixfqxn8ixhrv13kdv9-gnupg-2.1.11.drv' 
failed with exit code 1
cannot build derivation 
`/gnu/store/ixcbdqm2xvclfnz4d25nv53wnp6x7alh-profile.drv': 1 dependencies 
couldn't be built
cannot build derivation 
`/gnu/store/904rahmy35wrhsfdb26pcfxyirhbmlnk-system.drv': 1 dependencies 
couldn't be built
note: keeping build directory 
`/tmp/guix-build-linux-libre-4.4.3-gnu.tar.xz.drv-0'
guix system: error: build failed: build of 
`/gnu/store/904rahmy35wrhsfdb26pcfxyirhbmlnk-system.drv' failed

More details:

FAIL: gpgtar.test
Test: gpgtar.test
GNUPGHOME=/tmp/guix-build-gnupg-2.1.11.drv-0/gnupg-2.1.11/tests/openpgp
gpgtar: gpg2: gpg: encrypted with 1024-bit ELG key, ID B27907AA, created 
2003-12-31
gpgtar: gpg2:   "Test two (no pp) "
gpgtar: gpg2: gpg: encrypted with 1024-bit ELG key, ID B27907AA, created 
2003-12-31
gpgtar: gpg2:   "Test two (no pp) "
gpgtar: gpg2: gpg: encrypted with 1024-bit ELG key, ID B27907AA, created 
2003-12-31
gpgtar: gpg2:   "Test two (no pp) "
gpgtar: gpg2: gpg: block_filter 0x006edd10: read error 
(size=12276,a->size=12276)
gpgtar: gpg2: gpg: block_filter 0x006ee2e0: read error 
(size=13882,a->size=13882)
gpgtar: gpg2: gpg: WARNING: encrypted message has been manipulated!
gpgtar: gpg2: gpg: block_filter: pending bytes!
gpgtar: gpg2: gpg: block_filter: pending bytes!
gpgtar: error running '../../g10/gpg2': exit status 2





bug#22962: Something keeps overwriting /etc/hosts

2016-03-09 Thread Danny Milosavljevic





bug#22965: git guix build error in ./pre-inst-env guix environment guix

2016-03-09 Thread Danny Milosavljevic
Note: after make distclean, it works again.

Was weird.





bug#22962: Something keeps overwriting /etc/hosts

2016-03-09 Thread Danny Milosavljevic
If I make it immutable, I get the following message on guix system reconfigure 
... :

  guix system: error: copy-file: Permission denied: "/etc/hosts"

Aha!





bug#23062: "guix package -i" sometimes can't use what "guix import pypi" generated

2016-03-19 Thread Danny Milosavljevic
I tried to create a package for uwsgi (in git guix) by

$ guix import pypi uwsgi

...From https://pypi.python.org/packages/source/u/uWSGI/uwsgi-2.0.12.tar.gz...
...
(package
  (name "python-uwsgi")
  (version "2.0.12")
  (source
(origin
  (method url-fetch)
  (uri (pypi-uri "uWSGI" version))
  (sha256
(base32
  "02g46dnw5j1iw8fsq392bxbk8d21b9pdgb3ypcinv3b4jzdm2srh"
  (build-system python-build-system)
  (inputs
`(("python-setuptools" ,python-setuptools)))
  (home-page "UNKNOWN")
  (synopsis "The uWSGI server")
  (description "The uWSGI server")
  (license #f))

Then I put that (and define-public python-uwsgi ...) into python.scm and did

  $ guix package -i python-uwsgi

I get the following error message:

Starting download of 
/gnu/store/d16s3cw2arg89pm7djh6xrdkf0dnckyy-uWSGI-2.0.12.tar.gz
From https://pypi.python.org/packages/source/u/uWSGI/uWSGI-2.0.12.tar.gz...
ERROR: download failed 
"https://pypi.python.org/packages/source/u/uWSGI/uWSGI-2.0.12.tar.gz"; 404 "Not 
Found"
failed to download 
"/gnu/store/d16s3cw2arg89pm7djh6xrdkf0dnckyy-uWSGI-2.0.12.tar.gz" from 
"https://pypi.python.org/packages/source/u/uWSGI/uWSGI-2.0.12.tar.gz";
builder for 
`/gnu/store/d5jfk4l2yvxfd3pw0fndwx2bxjwg1gpl-uWSGI-2.0.12.tar.gz.drv' failed to 
produce output path 
`/gnu/store/d16s3cw2arg89pm7djh6xrdkf0dnckyy-uWSGI-2.0.12.tar.gz'
cannot build derivation 
`/gnu/store/xqwnqx8yw63i864z0c3vd3vr9c8xcflr-python-uwsgi-2.0.12.drv': 1 
dependencies couldn't be built
guix package: error: build failed: build of 
`/gnu/store/xqwnqx8yw63i864z0c3vd3vr9c8xcflr-python-uwsgi-2.0.12.drv' failed

(Note the wrong basename)

guix/build-system/python.scm says:

(define* (pypi-uri name version #:optional (extension ".tar.gz"))
  "Return a URI string for the Python package hosted on the Python Package
Index (PyPI) corresponding to NAME and VERSION.  EXTENSION is the file name
extension, such as '.tar.gz'."
  (string-append "https://pypi.python.org/packages/source/";
 (string-take name 1) "/" name "/"
 name "-" version extension))

So it's currently impossible for pypi-uri to work correctly in the uwsgi case.





bug#23064: herd has incomplete status reporting, not so helpful

2016-03-19 Thread Danny Milosavljevic
So there was a postgresql update where the data format was incompatible.

That happens regularily and is ... acceptable, I guess (even more acceptable in 
guix because I can easily switch back to the old release).

However, in order to find that out, I had to:

$ psql
... something about a socket not being reachable

$ sudo herd status postgres
Status of postgres:
  It is started.
  Running value is 18438.
  It is enabled.
  Provides (postgres).
  Requires (user-processes loopback).
  Conflicts with ().
  Will be respawned.

So it claimed that everything was just peachy.

$ sudo herd stop postgres
$ sudo herd start postgres

... which reported nothing out of the ordinary either.

$ ps -ef |grep postgres
[] 

Aha! finally an indication that something is amiss.

So I tried to find the log entries, to no avail so far.
(I found: 
/gnu/store/b073csgl56g2wnq7azj4wrswb6azsvc0-postgresql-9.5.1/bin/pg_ctl -D 
/var/lib/postgresql/data -l logfile start, not sure how that helps)
$ man pg_ctl
No manual entry for pg_ctl

In the mean time, I decided I can just start up the postgres server process 
manually and it will tell me.

$ postgres --config-file=/etc/postgresql.conf -D /var/lib/postgresql/data
FATAL:  data directory "/var/lib/postgresql/data" has wrong ownership
HINT:  The server must be started by the user that owns the data directory.

$ sudo -i
# su - postgres
Password:

errr... what password? 

# passwd postgres
...
# su - postgres
Password:
su: Authentication failure

# passwd -u postgres
# su - postgres
Password:
This account is currently not available.

Hmmm...

$ sudo -u postgres postgres --config-file=/etc/postgresql.conf -D 
/var/lib/postgresql/data
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.3, which is 
not compatible with this version 9.5.1.
$ 

Aha! It says so right there in the standard output (or error?). Where did that 
message go in the shepherd case?

$ cd /var/log
$ grep -r incompatible .
$ 

???

Anyway, it works again now but we shouldn't have to do this kind of digging.





bug#23064: herd has incomplete status reporting, not so helpful

2016-03-19 Thread Danny Milosavljevic
> Aha! It says so right there in the standard output (or error?). Where did 
> that message go in the shepherd case?

It's on standard error. The exit code is 1.





bug#23066: "guix package -i transmission" doesn't install transmission-gtk into profile

2016-03-19 Thread Danny Milosavljevic
However, it installs share/applications/transmission-gtk.desktop into the 
profile, containing

Exec=transmission-gtk %U

i.e. it won't find it.

transmission-cli works.

I checked gnu/packages/bittorrent.scm , it seems to do some weird special-case 
for the gui (it puts the gui into a "gui" output and the rest into an "out" 
output).

But

$ guix package -i transmission:gui

works. If that's supposed to be the official way, that's not discoverable. 

Also, the desktop file should also be in there, then it's at more consistent.





bug#23064: herd has incomplete status reporting, not so helpful

2016-03-19 Thread Danny Milosavljevic
> Sounds like postgresql died and shepherd did not notice?  Or maybe it
> keeps trying to respawn it?  What did /var/log/shepherd.log say?

2016-03-19 10:34:48 Service postgres has been started.
2016-03-19 10:34:49 Respawning postgres.
2016-03-19 10:34:49 Service postgres has been started.
2016-03-19 10:34:50 Respawning postgres.
2016-03-19 10:34:50 Service postgres has been started.
2016-03-19 10:34:51 Respawning postgres.
2016-03-19 10:34:51 Service postgres has been started.
2016-03-19 10:34:52 Respawning postgres.
2016-03-19 10:34:52 Service postgres has been started.
2016-03-19 10:34:53 Respawning postgres.
2016-03-19 10:34:53 Service postgres has been started.
2016-03-19 10:34:54 Respawning postgres.
2016-03-19 10:34:54 Service postgres has been started.

> Currently the Shepherd does not do log stdout/stderr of its child
> processes, which sucks somewhat.

Yeah, that's not good.

> However, daemons can usually be told to write to syslog, which is more
> appropriate than writing things to stdout/stderr anyway.  

It can always be unable to open syslog for some reason. 

If shepherd can't/doesn't redirect stderr on its own, it would be nice to have 
init write it somewhere and everyone else inherit it as default. Just throwing 
it away is not nice. 

But I agree, the chance of being able to write it to syslog is high. Btw: How 
does guixsd know to start the syslog service before the postgres service?

>What’s the right command-line/configuration option to have postgresql use 
>syslog?

The option is

   log_destination = 'syslog'

in postgresql.conf

which is generated in gnu/services/databases.scm (%default-postgres-config).

Does shepherd back off from respawing it eventually (if it respawns too fast) 
or will it log the same messages into syslog once every 0.1 s until my disk is 
full? :->





bug#23094: icecat is missing a desktop file

2016-03-22 Thread Danny Milosavljevic
icecat is missing a desktop file and thus it doesn't show up in any application 
menus. Comparison with hexchat (which does have it) below:

$ find /gnu/store/vwbw8070vy7ikaxbgs6pmi0isw3yzxvm-icecat-38.6.0-gnu1 -name 
"*.desktop"
$ find /gnu/store/vz1cs171wyj9bq48r4kz8s56hpk6gayy-hexchat-2.10.1 -name 
"hexchat.desktop"
/gnu/store/vz1cs171wyj9bq48r4kz8s56hpk6gayy-hexchat-2.10.1/share/applications/hexchat.desktop
$ cat 
/gnu/store/vz1cs171wyj9bq48r4kz8s56hpk6gayy-hexchat-2.10.1/share/applications/hexchat.desktop

[Desktop Entry]
Name=HexChat
Name[de]=HexChat
Name[en_GB]=HexChat
Name[es]=HexChat
Name[fr]=HexChat
Name[it]=HexChat
Name[ja_JP]=HexChat
Name[ko]=헥스채트
Name[pl]=HexChat
Name[sq]=HexChat
Name[zh_CN]=HexChat
GenericName=IRC Client
GenericName[de]=IRC-Client
GenericName[en_GB]=IRC Client
GenericName[es]=Cliente de IRC
GenericName[fi]=IRC Client
GenericName[fr]=Client IRC
GenericName[it]=Client IRC
GenericName[ja_JP]=IRCクライアント
GenericName[ko]=IRC 클라이언트
GenericName[pl]=Klient IRC
GenericName[sq]=Klient IRC
GenericName[zh_CN]=IRC 客户端
Comment=Chat with other people online
Comment[de]=Chatte online mit anderen Leuten
Comment[en_GB]=Chat with other people online
Comment[es]=Chatea con otras personas en línea
Comment[fr]=Parlez avec d'autres personnes en ligne
Comment[it]=Chiacchiera con altri utenti online
Comment[ja_JP]=他の人とオンラインチャットをします
Comment[ko]=온라인에 있는 사람들과 대화합니다
Comment[pl]=Rozmawiaj z innymi ludźmi przez internet
Comment[sq]=Bisedoni në linjë me persona të tjerë
Comment[zh_CN]=与其他人在线聊天
Keywords=IM;Chat;
Keywords[de]=IM;Chat;
Keywords[en_GB]=IM;Chat;
Keywords[es]=IM;Chat;
Keywords[fr]=IM;Chat;
Keywords[it]=IM;Chat;Messaggistica Istantanea;IRC;
Keywords[ko]=IM;인스턴트 메신저;Chat;대화;
Keywords[pl]=IM;Chat;
Keywords[sq]=IM;Fjalosje;
Keywords[zh_CN]=IM;聊天;
Exec=hexchat %U
Icon=hexchat
Terminal=false
Type=Application
Categories=GTK;Network;IRCClient;
StartupNotify=true
X-GNOME-UsesNotifications=true
MimeType=x-scheme-handler/irc;x-scheme-handler/ircs;
Actions=SafeMode;

[Desktop Action SafeMode]
Name=Open Safe Mode
Name[de]=Im sicheren Modus öffnen
Name[en_GB]=Open Safe Mode
Name[es]=Abrir en modo seguro
Name[fr]=Ouvrir le mode sans échec
Name[it]=Apri modalità sicura
Name[ja_JP]=セーフモードで開く
Name[ko]=공개 안전 모드
Name[pl]=Otwórz tryb bezpieczny
Name[sq]=Hap Mënyrën e Sigurt
Name[zh_CN]=打开安全模式
Exec=hexchat --no-auto --no-plugins





bug#23064: herd has incomplete status reporting, not so helpful

2016-03-22 Thread Danny Milosavljevic
Hi Ludo,

> Could you try this and report back?

$ patch -p1 < ...
$ sudo ./pre-inst-env guix system reconfigure /etc/config.scm
$ sudo herd stop postgres
$ sudo herd start postgres
Service postgres has been started.
$ tail -f /var/log/messages 
Mar 22 20:15:51 localhost nscd: 213 monitored file `/etc/services` was created, 
adding watch
Mar 22 20:15:51 localhost nscd: 213 monitored file `/etc/services` was written 
to
Mar 22 20:20:40 localhost postgres[2115]: [1-1] FATAL:  database files are 
incompatible with server
Mar 22 20:20:40 localhost postgres[2115]: [1-2] DETAIL:  The data directory was 
initialized by PostgreSQL version 9.3, which is not compatible with this 
version 9.5.1.
...

Nice :-)

Thanks!

Although it would be nice to have shepherd have a field in "herd status" which 
tells you when it respawned the service in < 1 s intervals (or maybe if it 
respawned it < 1 s after the initial start) - or maybe just how long ago it was 
(last) started and when the actual herd start command was :-)





bug#22612: guix make check failure for syscalls: "FAIL network-interfaces returns one or more interfaces"

2016-03-25 Thread Danny Milosavljevic
On Fri, 25 Mar 2016 09:46:23 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> l...@gnu.org (Ludovic Courtès) skribis:
> 
> > Danny Milosavljevic  skribis:
> >  
> >>   git clone, `guix environment guix`, ./bootstrap && ./configure 
> >> --localstatedir=/var && make check  
> >
> > When running the tests, were you using the --container option of ‘guix
> > environment guix’?
> >  
> >> tests/syscalls.scm:220: FAIL network-interfaces returns one or more 
> >> interfaces  
> >
> > Could you send the output of:
> >
> >   ./pre-inst-env guile -c '(use-modules (guix build syscalls)) (write 
> > (network-interfaces))'  
> 
> Ping!  :)
> 
> http://bugs.gnu.org/22612
> 
> Ludo'.

dannym@dayas ~/src/guix$ ./pre-inst-env guile -c '(use-modules (guix build 
syscalls)) (write (network-interfaces))'  
(# # # # ...]
In unknown file:
   ?: 8 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 7 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 6 [eval # #]
In unknown file:
   ?: 5 [call-with-input-string "(use-modules (guix build syscalls)) (write 
(network-interfaces))" ...]
In ice-9/command-line.scm:
 180: 4 [# #]
In unknown file:
   ?: 3 [eval (write (network-interfaces)) #]
   ?: 2 Exception thrown while printing backtrace:
ERROR: In procedure vector-ref: Wrong type argument in position 1 (expecting 
vector): #f

ice-9/networking.scm:82:27: In procedure sockaddr:fam:
ice-9/networking.scm:82:27: In procedure vector-ref: Wrong type argument in 
position 1 (expecting vector): #f
dannym@dayas ~/src/guix$ ./pre-inst-env guile -c '(use-modules (guix build 
syscalls)) (write (network-interfaces))'  

dannym@dayas /etc$ cat config.scm
;; This is an operating system configuration template for a "desktop" setup 
with X11.

(use-modules (ice-9 match)
 (gnu)
 (gnu services)
 (gnu services shepherd)
 (gnu services networking)
 (gnu services printing)
 ;(gnu services syslog)
 (gnu services xorg)
 (gnu services web)
 (guix records)
 (gnu system nss))
(use-service-modules desktop databases)
(use-package-modules xfce ratpoison certs wm enlightenment databases bdw-gc 
java lua gprolog vpn scheme freedesktop suckless djvu mail cdrom ocr lsof ntp 
gnome libreoffice admin emacs gcc gnupg guile haskell hugs linux pulseaudio 
video version-control qemu texlive ssh gnuzilla curl messaging screen ldc 
guile-wm stalonetray xorg fonts webkit autotools gdb web syslog cups)

(define-record-type* 
  vpn-tunnel make-vpn-tunnel
  vpn-tunnel?
  (interface-name vpn-tunnel-interface-name)
  (user-name vpn-tunnel-user-name))

;(define nginx-config
;(nginx-configuration (nginx nginx)
; ;(log-directory "/var/log/nginx")
; ;(run-directory "/var/run/nginx")
; (file "/etc/nginx.conf")))

;(define cups-service-type
;  (shepherd-service-type
; 'cups-service (match-lambda (($ <
; ))

;(define (cups-service a-listening-port b-listening-port c-bind-address

(define vpn-tunnel-service-type
  (shepherd-service-type
 'vpn-tunnel (match-lambda (($  interface user)
   (let ((ip #~(string-append #$iproute "/sbin/ip")))
 (shepherd-service
 (documentation "Create tunnel interface.")
 (provision '(vpn-tunnel))
 (requirement '(networking))
 (start
   #~(lambda _
  ;; Return #t if successfully started.
 (zero? (system* #$ip "tuntap" "add" 
#$interface "mode" "tun" "user" #$user
 (respawn? #f)))

(define (vpn-tunnel-service interface-name user-name)
  "Return a service that ..."
  (service vpn-tunnel-service-type
   (vpn-tunnel (interface-name interface-name)
   (user-name user-name
(operating-system
  ; TODO GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda2:main"
  (kernel-arguments '("crashkernel=256M" "modprobe.blacklist=pcspkr,snd_pcsp" 
"intel_iommu=off" "intremap=off" "quiet" "acpi_sleep=s3_bios" "acpi_osi=Linux" 
"clocksource=acpi_pm"))
  (host-name "dayas")
  (timezone "Europe/Vienna")
  (locale "en_US.UTF-8")

  (bootloader (grub-configuration (device "/dev/sda")))
  ;(mapped-devices (list (mapped-device
  ;   (source "/dev/sda5")
  ;   

bug#23115: avr-libc fails to compile (on x86_64)

2016-03-25 Thread Danny Milosavljevic
guix package -i avr-libc
...
In file included from 
/gnu/store/8k32s1nv8qg2i8600gfzp6alz4a7s5vb-glibc-2.22/include/features.h:389:0,
 from 
/gnu/store/8k32s1nv8qg2i8600gfzp6alz4a7s5vb-glibc-2.22/include/limits.h:25,
 from ../../../../avr-libc-1.8.1/libc/stdlib/strtol.c:33:
/gnu/store/8k32s1nv8qg2i8600gfzp6alz4a7s5vb-glibc-2.22/include/gnu/stubs.h:7:27:
 fatal error: gnu/stubs-32.h: No such file or directory
 # include 
   ^
compilation terminated.
Makefile:1871: recipe for target 'strtol.o' failed
make[5]: *** [strtol.o] Error 1
make[5]: *** Waiting for unfinished jobs
In file included from 
/gnu/store/8k32s1nv8qg2i8600gfzp6alz4a7s5vb-glibc-2.22/include/features.h:389:0,
 from 
/gnu/store/8k32s1nv8qg2i8600gfzp6alz4a7s5vb-glibc-2.22/include/limits.h:25,
 from ../../../../avr-libc-1.8.1/libc/stdlib/strtod.c:40:
/gnu/store/8k32s1nv8qg2i8600gfzp6alz4a7s5vb-glibc-2.22/include/gnu/stubs.h:7:27:
 fatal error: gnu/stubs-32.h: No such file or directory
 # include 
   ^
compilation terminated.
Makefile:1871: recipe for target 'strtod.o' failed
make[5]: *** [strtod.o] Error 1
Makefile:1891: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
Makefile:361: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
Makefile:361: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
Makefile:423: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:361: recipe for target 'all' failed
make: *** [all] Error 2
phase `build' failed after 3.7 seconds
builder for `/gnu/store/rwj2b28w5vfwn87zrc3fs81gdbbq2h2j-avr-libc-1.8.1.drv' 
failed with exit code 1
guix package: error: build failed: build of 
`/gnu/store/rwj2b28w5vfwn87zrc3fs81gdbbq2h2j-avr-libc-1.8.1.drv' failed





bug#22536: guix lint

2016-04-08 Thread Danny Milosavljevic
> There may other places to fix, see .

Yeah, there's one at guix/build/download.scm in function "progress-proc". 

I checked what "string-pad-middle" - which is used by the function 
"progress-proc" - does and I... object to it in priciple. 

What it does is add padding (in the middle) in order to make a string at least 
a certain length (sometimes more!).

So we have:

>>> (string-pad-middle "http://foo"; "bar 34 B/s" 80)
"http://foobar 34 B/s"

Arguments against it are (o: questionable mitigation, leaning heavily against; 
*: against it with OK mitigation; X: definitely against it):
o The terminal width is not passed to it correctly (can be fixed, although I 
have to read up on what the currently recommeded way is. tcgetattr ?).
o The terminal width can change while the script is running (can this be fixed? 
It would need a SIGWINCH handler and some kind of notification to 
scripts/download so it reprints the progress text). Now you can have a race 
between (1) and (2), fun.
* The terminal width can be changed after the script is done and has printed 
its thing (nobody can fix the output up anymore). In our present case, the text 
is supposedly ephemeral, so it shouldn't be there anymore, so it's fine.
o Since it uses string-length it doesn't actually count how many glyphs would 
be printed on the terminal, while it should do so (this can be fixed - but at 
large complexity increase and as long as the terminal doesn't use 
variable-width fonts; arguably if it's documented to be only used for ASCII 
strings it's simple. We should probably do the latter - and never translate it 
into another human language).
o The resulting string can be longer than what it was told to (can be fixed - 
although what should it cut off first then? The first or the second string? the 
first string is the (abbreviate file) and the second string contains 
transferred amount, speed etc).
* Overengineering helps no one. If the terminal is not wide enough, let the 
user resize it or the terminal handler virtual-word-wrap it or whatever instead 
of this abbreviation business. Anything but every program guessing how wide the 
tty is at some random point in time. Many GNU tools do the latter and I wish 
they would stop it and just print the entire thing. Because the progress is 
ephemeral (it's replaced by a new paragraph every time), this argument is not 
so strong here.
o Having this maximal padding in-between means that if we misjudge the glyph 
width, it will certainly mess up the display. While if we didn't have this 
padding, the error would often not manifest as failure (if there's enough free 
space left anyway). Why do it?

Any more arguments for or against it?

I can also fix up string-pad-middle while maintaining its way, but just for the 
record, this is a bad way of doing it.

If we are concerned about all emphemeral "transferred" lines lining up, just 
print the speed first (with fixed width, if possible) and the URL afterwards, 
with one space in-between.

We could abbreviate it if we have to - but should the download fail, the error 
message then has to contain the unabbreviated URL for usability (note: it 
does). At that point, why have the URL in the download progress at all? Total 
percentage done (over all the downloads) would be a lot more useful.

If we do print a table, I would suggest setting a tab stop (using ESC H or 
similar) and using the tab character to print tables - that's what they are 
for. Note: there's a standalone "column -t" tool which also does the right 
thing, apparently.

Also, is there a control character which returns to the beginning of the 
paragraph? Double-clicking on a paragraph in gnome-terminal selects the entire 
paragraph - so it does know what extent the paragraph has. However, printing CR 
returns me to the beginning of the row, not the beginning of the paragraph.

The terminal could be such a nice universal text interface - if programs don't 
have to know presentation details like how wide the terminal is currently. Why 
should a program have to care? *shakes head*





bug#22536: Progress on the guix download progress display

2016-04-08 Thread Danny Milosavljevic
A quick try to get a prefer-the-tail string concatenator to work - still has 
some limitations:

(define (abbreviate text len)
  (string-take text (min len (string-length text
(define (abbreviate-texts-prefer-to-take-tail texts len)
  "Given a list of strings TEXTS, returns a string, containing at most LEN 
codepoints.
   If possible, prefers to still keep the last text. If this text is too long, 
takes as many heading codepoints as possible of it.
   If there's still space, also keeps the second-to-last text. If this text is 
too long, takes as many heading codepoints as possible of it.
   ...
   If there's still space, also keeps the first text. If this text is too long, 
takes as many heading codepoints as possible of it.
   We have no idea how wide it will actually be when displayed, so:
   - make sure to only use it with ASCII text, or
   - at least only use it with half-width characters."
  (if (null? texts)
  ""
  (let* ((remainder (abbreviate-texts-prefer-to-take-tail (cdr texts) len))
 (len (- len (string-length remainder)))
 (text (abbreviate (car texts) len)))
 (string-append text remainder
(display (abbreviate-texts-prefer-to-take-tail '("hello world" " " "this i") 
10))
(newline)





bug#23094: [PATCH] Re: bug#23094: icecat is missing a desktop file

2016-04-10 Thread Danny Milosavljevic
Here's a patch which adds a desktop file to icecat:

Note that there's still a maintenance problem with the icon - version "38.6.0" 
is currently hard-coded, so if icecat updates, it won't be able to find its 
icon. What is the usual way to fix this?

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index b4892d7..2c38458 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -519,7 +519,40 @@ standards.")
   (format #t "configure flags: ~s~%" flags)
   (zero? (apply system* bash
 (string-append srcdir "/configure")
-flags
+flags)
+ (add-after
+  'install
+  'install-desktop-entry
+  (lambda* (#:key outputs #:allow-other-keys)
+(let ((applications (string-append (assoc-ref outputs "out") 
"/share/applications")))
+  (mkdir-p applications)
+  (call-with-output-file (string-append applications 
"/icecat.desktop")
+(lambda (port)
+  (format port "~
+[Desktop Entry]~@
+Version=1.0~@
+Name=GNU IceCat~@
+GenericName=Web Browser~@
+Comment=Browse the World Wide Web~@
+Keywords=Internet;WWW;Browser;Web~@
+Exec=~a/bin/icecat %u~@
+Terminal=false~@
+X-MultipleArgs=false~@
+Type=Application~@
+Icon=~a/lib/icecat-38.6.0/browser/icons/mozicon128.png~@
+Categories=GNOME;GTK;Network;WebBrowser;~@
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;~@
+StartupNotify=true~@
+Actions=NewWindow;NewPrivateWindow~@
+~@
+[Desktop Action NewWindow]~@
+Name=Open a New Window~@
+Exec=~a/bin/icecat --new-window~@
+~@
+[Desktop Action NewPrivateWindow]~@
+Name=Open a New Private Window~@
+Exec=~a/bin/icecat -private-window~@
+" (assoc-ref outputs "out") (assoc-ref outputs "out") (assoc-ref outputs 
"out") (assoc-ref outputs "out")) ; FIXME version
 (home-page "http://www.gnu.org/software/gnuzilla/";)
 (synopsis "Entirely free browser derived from Mozilla Firefox")
 (description





bug#23260: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed

2016-04-10 Thread Danny Milosavljevic
When I start wxmaxima and go to "Save As", it crashes, printing this message 
beforehand:

(wxmaxima:24842): GLib-GIO-ERROR **: Settings schema 
'org.gtk.Settings.FileChooser' is not installed

Trace/breakpoint trap





bug#23094: [PATCHv2] Re: bug#23094: icecat is missing a desktop file

2016-04-16 Thread Danny Milosavljevic
Any news on this? I just got a merge conflict so I was reminded of it again...

The current version of the patch that I'm successfully using is below - 
although I still can't get the version number into the installation lambda.

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 1ae97b2..96d32a1 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -501,7 +501,46 @@ standards.")
   (format #t "configure flags: ~s~%" flags)
   (zero? (apply system* bash
 (string-append srcdir "/configure")
-flags
+flags)
+ (add-after
+  'install
+  'install-desktop-entry
+  (lambda* (#:key outputs #:allow-other-keys)
+(let* ((out (assoc-ref outputs "out"))
+   (applications (string-append out "/share/applications")))
+  (mkdir-p applications)
+  (call-with-output-file (string-append applications 
"/icecat.desktop")
+(lambda (port)
+  (format port "~
+[Desktop Entry]~@
+Version=1.0~@
+Name=GNU IceCat~@
+GenericName=Web Browser~@
+Comment=Browse the World Wide Web~@
+Keywords=Internet;WWW;Browser;Web~@
+Exec=~a/bin/icecat %u~@
+Terminal=false~@
+X-MultipleArgs=false~@
+Type=Application~@
+Icon=~a/lib/icecat-~a/browser/icons/mozicon128.png~@
+Categories=GNOME;GTK;Network;WebBrowser;~@
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;~@
+StartupNotify=true~@
+Actions=NewWindow;NewPrivateWindow~@
+~@
+[Desktop Action NewWindow]~@
+Name=Open a New Window~@
+Exec=~a/bin/icecat --new-window~@
+~@
+[Desktop Action NewPrivateWindow]~@
+Name=Open a New Private Window~@
+Exec=~a/bin/icecat -private-window~@
+"
+  out
+  out
+  (string-drop-right "38.7.1-gnu1" (string-length 
"-gnu1")) ; FIXME do not hardcode
+  out
+  out)
 (home-page "http://www.gnu.org/software/gnuzilla/";)
 (synopsis "Entirely free browser derived from Mozilla Firefox")
 (description





bug#23317: openssh: ssh client: xauth path is invalid - "/usr/X11R6/bin/xauth"

2016-04-19 Thread Danny Milosavljevic
$ ssh -X daya20
Warning: untrusted X11 forwarding setup failed: xauth key data not generated

Because:

$ strings $(which ssh) |grep  /xauth
/usr/X11R6/bin/xauth
%s/xauthfile

However,

$ which xauth
/home/dannym/.guix-profile/bin/xauth

Adding the following and rebuilding doesn't help either (for some reason):
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index b8f107b..d85124b 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -35,6 +35,7 @@
   #:autoload   (gnu packages boost) (boost)
   #:use-module (gnu packages base)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -131,7 +132,8 @@ a server that supports the SSH-2 protocol.")
(build-system gnu-build-system)
(inputs `(("groff" ,groff)
  ("openssl" ,openssl)
- ("zlib" ,zlib)))
+ ("zlib" ,zlib)
+ ("xauth" ,xauth)))
(arguments
 `(#:test-target "tests"
   #:phases

But
  $ ssh -o XAuthLocation=$(which xauth) daya20
works.





bug#23286: Unable to unlock xscreensaver in Xfce

2016-04-23 Thread Danny Milosavljevic
On Thu, 14 Apr 2016 18:50:32 +0200
l...@gnu.org (Ludovic Courtès) wrote:
> As Chris Webber mentioned on the mailing list (IIRC), you’ll also have
> to enable xscreensaver in the OS config:
> 
>   (use-modules (gnu services xorg))
> 
>   (operating-system
> ;; …
> (services (cons (screen-locker-service "xscreensaver")
> %desktop-services)))

guix system: error: failed to load '/etc/config.scm':
gnu/services/xorg.scm:442:41: In procedure screen-locker-service:
gnu/services/xorg.scm:442:41: In procedure struct_vtable: Wrong type argument 
in position 1 (expecting struct): "xscreensaver"

To fix, use

   (use-modules (gnu services xorg))
   (use-package-modules  xdisorg)

   (operating-system
 ;; …
 (services (cons (screen-locker-service xscreensaver)
 %desktop-services)))

(i.e. without the doublequotes)





bug#23286: Unable to unlock xscreensaver in Xfce

2016-04-23 Thread Danny Milosavljevic
Hi,

weird. It works for me here. I did the same as you did. (although I'm using 
fluxbox)

What happens when you run 

   xlock 

manually?

Can you unlock the screen there?





bug#23286: Unable to unlock xscreensaver in Xfce

2016-04-23 Thread Danny Milosavljevic
On Sat, 23 Apr 2016 20:22:52 +0200
Danny Milosavljevic  wrote:

> Hi,
> 
> weird. It works for me here. I did the same as you did. (although I'm using 
> fluxbox)
> 
> What happens when you run 
> 
>xlock 
> 
> manually?

(just to clarify: as your normal user)

Also, what does

   which xlock

say?

How about

ls -l $(which xlock)

?





bug#23286: Unable to unlock xscreensaver in Xfce

2016-04-23 Thread Danny Milosavljevic
On Sat, 23 Apr 2016 22:15:23 +0200
Albin  wrote:

>This starts the screensaver and I'm now able to enter my password to unlock. 
>The unlock screen looks a bit different though.

Just to be sure, are you saying that the unlocking works fine with that?

> > ls -l $(which xlock)
> -r-sr-sr-x 3 root root 1684296 1 jan  1970 /run/setuid-programs/xlock

> works

And what does

 ls -l /run/setuid-programs/xscreensaver

say?

And 

  ps -ef |grep xscreensaver

?





bug#23286: Unable to unlock xscreensaver in Xfce

2016-04-26 Thread Danny Milosavljevic
Hi,

On Sun, 24 Apr 2016 16:03:38 +0200
Albin  wrote:

> > Just to be sure, are you saying that the unlocking works fine with that?  
> 
> Yes, but it doesn't work with Xfce's native screen locking program xflock4.

Ah, then what does 

   ls -l $(which xflock4)

say?





bug#23317: openssh: ssh client: xauth path is invalid - "/usr/X11R6/bin/xauth"

2016-04-27 Thread Danny Milosavljevic
But

  $ ssh -Y -o XAuthLocation=$(which xauth) daya20

works without the patch.

And

  $ ssh -Y daya20

works with the patch.

But

  $ ssh -X daya20

never works, with or without the patch. Huh.





bug#23260: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed

2016-05-05 Thread Danny Milosavljevic
I finally got to the bottom of it.

It says:

  (wxmaxima:27910): GLib-GIO-ERROR **: Settings schema 
'org.gtk.Settings.FileChooser' is not installed

and it's right. I'm not sure how it's supposed to find them.

On this GuixSD installation I only have a minimal number of packages in the 
operating-system definition of the system profile (and gtk is not in it). I 
have installed gtk into my user's profile but I really shouldn't have to, 
right? (and it still doesn't work)

However, lots of programs use gtk. If they do, they'll sooner or later need the 
filechooser. However, gtk-3 filechooser needs its settings schema. 

Environment variables with "GTK" in the name are:

GTK_DATA_PREFIX=/run/current-system/profile
GTK_PATH=/gnu/store/mjjkx5fq0gn5bg89pz2gsipjs975m2im-gtk+-3.18.2/lib/gtk-3.0
GUIX_GTK3_PATH=/home/dannym/.guix-profile/lib/gtk-3.0:/home/dannym/.guix-profile/lib/gtk-3.0

But the schema 'org.gtk.Settings.FileChooser' is not found since it's in:

  /gnu/store/mjjkx5fq0gn5bg89pz2gsipjs975m2im-gtk+-3.18.2/share/glib-2.0/schemas

which is installed nowhere. I know I can easily workaround this by manually 
installing it in the system profile - but shouldn't it be solved in some better 
manner? 

The package which manages the schemas is glib. The package which has the schema 
'org.gtk.Settings.FileChooser' is Gtk. The directory specified (twice) in 
GUIX_GTK3_PATH contains only:

./3.0.0/immodules.cache
./3.0.0/immodules/im-viqr.la
./3.0.0/immodules/im-am-et.la
./3.0.0/immodules/im-thai.so
./3.0.0/immodules/im-am-et.so
./3.0.0/immodules/im-xim.la
./3.0.0/immodules/im-thai.la
./3.0.0/immodules/im-inuktitut.la
./3.0.0/immodules/im-cyrillic-translit.la
./3.0.0/immodules/im-multipress.la
./3.0.0/immodules/im-ti-et.so
./3.0.0/immodules/im-ti-er.so
./3.0.0/immodules/im-cedilla.la
./3.0.0/immodules/im-viqr.so
./3.0.0/immodules/im-ipa.la
./3.0.0/immodules/im-multipress.so
./3.0.0/immodules/im-ti-et.la
./3.0.0/immodules/im-xim.so
./3.0.0/immodules/im-ti-er.la
./3.0.0/immodules/im-ipa.so
./3.0.0/immodules/im-cedilla.so
./3.0.0/immodules/im-inuktitut.so
./3.0.0/immodules/im-cyrillic-translit.so
./3.0.0/printbackends/libprintbackend-cups.so
./3.0.0/printbackends/libprintbackend-cups.la
./3.0.0/printbackends/libprintbackend-lpr.so
./3.0.0/printbackends/libprintbackend-file.so
./3.0.0/printbackends/libprintbackend-file.la
./3.0.0/printbackends/libprintbackend-lpr.la

So it can't find it there either.

How is this supposed to work?





bug#23260: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed

2016-05-05 Thread Danny Milosavljevic
In glib-2.46.1/gio/gsettingsschema.c there's a function 
"initialize_schema_sources" which is responsible for initializing the schema 
sources.

It uses g_get_system_data_dirs() and traverses the result (which are supposed 
to be names of directories), and it checks an environment variable 
GSETTINGS_SCHEMA_DIR for the name of ONE directory; the basename of the regular 
file searched for is called "gschemas.compiled".

Using

$ export 
GSETTINGS_SCHEMA_DIR=/gnu/store/xz2vmk68f5jpscvpqqz1zqa7xr2ydarn-gtk+-3.20.1/share/glib-2.0/schemas

makes it work. However, that can't be the right fix. Among other things, one 
can only specify a single directory that way. Also, the average user probably 
doesn't even know what glib schemas are.

If that is fine anyway (why?), there seems to be already an environment 
variable "GTK_PATH" set by guix, so auto-setting

$ export GSETTINGS_SCHEMA_DIR="${GTK_PATH}/../../share/glib-2.0/schemas"

should make it work for the time being.

I don't think this bug is specific to wxmaxima. I suggest to retitle it "Gtk3 
FileChooser doesn't work - it doesn't find its settings" or something.





bug#23286: Unable to unlock xscreensaver in Xfce

2016-05-18 Thread Danny Milosavljevic
> >ls -l $(which xflock4)
> 
> It says:
> 
> lrwxrwxrwx 4 root guixbuild 76 1 jan  1970
> /run/current-system/profile/bin/xflock4 ->
> /gnu/store/[...]-xfce-session-4.12.0/bin/xflock4
> 
> Albin


And

  ls -lL $(which xflock4)

?





bug#23286: Unable to unlock xscreensaver in Xfce

2016-05-20 Thread Danny Milosavljevic
On Fri, 20 May 2016 19:15:06 +0200
Albin  wrote:

> >   ls -lL $(which xflock4)
> The output from that is:
> 
> -r-xr-xr-x 10 root root 1536  1 jan 1970
> /run/current-system/profile/bin/xflock4
> 
> 
> Albin

Aha!

Add (screen-locker-service xfce4-session "xflock4") to your services in your 
guix config file.

This means:

(operating-system
 ..
 (services (cons* (screen-locker-service xfce4-session "xflock4") 
%desktop-services)))

Or add it to an existing "services" entry.





bug#23286: Unable to unlock xscreensaver in Xfce

2016-05-20 Thread Danny Milosavljevic
On Fri, 20 May 2016 22:22:01 +0200
Albin  wrote:

> Den Fri, 20 May 2016 19:48:49 +0200
> skrev Re: bug#23286: Unable to unlock xscreensaver in Xfce:
> 
> > On Fri, 20 May 2016 19:15:06 +0200
> > Albin  wrote:
> >   
> > > >   ls -lL $(which xflock4)
> > > The output from that is:
> > > 
> > > -r-xr-xr-x 10 root root 1536  1 jan 1970
> > > /run/current-system/profile/bin/xflock4
> > 
> > Add (screen-locker-service xfce4-session "xflock4") to your services
> > in your guix config file.
> > 
> > This means:
> > 
> > (operating-system
> >  ..
> >  (services (cons* (screen-locker-service xfce4-session "xflock4")
> > %desktop-services)))
> > 
> > Or add it to an existing "services" entry.  
> 
> When I try to reconfigure with this I get:
> 
> guix system: error: failed to load '/etc/config.scm':
> /etc/config.scm:56:19: In procedure #:
> /etc/config.scm:56:19: In procedure module-lookup: Unbound variable:
> xfce4-session

Extend use-package-modules so that it contains xfce:

(use-package-modules xfce .)

If you have no "use-package-modules" form, it's supposed to go at the toplevel.

>Do you mean as a replacement for "screen-locker-service xscreensaver" or an 
>additional service?

I don't think it makes a difference. It should support multiple instances just 
fine.






bug#23286: Unable to unlock xscreensaver in Xfce

2016-05-20 Thread Danny Milosavljevic
Errr. Oops. Better not do what I said previously (at least not permanently).

Danny said:
> services (cons* (screen-locker-service xfce4-session "xflock4")

Because of [1], that is maybe not the right fix (however, it should work).

Can you do

 $ cat $(which xflock4)

please?

It seems to be a wrapper that just uses other tools to do the actual locking. 
Which ones?

It might be that it doesn't find xscreensaver-common but does find 
gnome-screensaver-command in your profile. Either way it's using something to 
lock the screen which then won't be able to unlock.

[1] 
https://unix.stackexchange.com/questions/101806/why-doesnt-my-screen-lock-in-xfce





bug#23286: Unable to unlock xscreensaver in Xfce

2016-05-20 Thread Danny Milosavljevic
On Sat, 21 May 2016 00:36:29 +0200
Albin  wrote:

Ok, then let's try to find out which locker xflock4 actually uses (from the 
file you attached).

To recap, when you call

  $ xflock4

manually it locks but doesn't allow you to unlock, right?

Please try to call these manually (in that order) and stop at the first one 
that doesn't throw an error:

$ xscreensaver-command -lock
$ gnome-screensaver-command --lock
$ xlock -mode blank
$ slock

Which one was it?

(It will probably still be unable to unlock)





bug#23094: [PATCHv2] Re: bug#23094: icecat is missing a desktop file

2016-05-30 Thread Danny Milosavljevic
Hi Ludo,

On Sat, 28 May 2016 17:22:41 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> I figured there’s already a desktop entry template in the source, and
> it’s more complete (it includes translations), hence this patch:

I tried your patch and I get:

make[1]: Leaving directory 
'/tmp/guix-build-icecat-38.8.0-gnu1.drv-0/build/browser/installer'
phase `install' succeeded after 51.4 seconds
starting phase `install-desktop-entry'
Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t # ...]
In unknown file:
   ?: 12 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 10 [eval # #]
In ice-9/boot-9.scm:
2401: 9 [save-module-excursion #]
4050: 8 [#]
1724: 7 [%start-stack load-stack #]
1729: 6 [#]
In unknown file:
   ?: 5 [primitive-load 
"/gnu/store/x6a3mbrpqdjqmw7jaj30hvicind0ysas-icecat-38.8.0-gnu1-guile-builder"]
In ice-9/eval.scm:
 387: 4 [eval # ()]
In srfi/srfi-1.scm:
 830: 3 [every1 # ...]
In 
/gnu/store/vs75q74qsfr3h45vkbr559p5w6fn4mw2-module-import/guix/build/gnu-build-system.scm:
 593: 2 [# #]
In ice-9/eval.scm:
 432: 1 [eval # #]
In unknown file:
   ?: 0 [copy-file "debian/icecat.desktop.in" "debian/icecat.desktop"]

ERROR: In procedure copy-file:
ERROR: In procedure copy-file: No such file or directory
builder for 
`/gnu/store/dkg2y9dn89knaxvn8vd10si4nvdp5glh-icecat-38.8.0-gnu1.drv' failed 
with exit code 1





bug#23094: icecat is missing a desktop file

2016-06-01 Thread Danny Milosavljevic
Hi Ludo,

On Tue, 31 May 2016 15:47:35 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> I tested the attached one.  It works as expected, but there remain
> “%%ifdef” things in it (see attached file), and I’m guessing GNOME &
> co. will barf upon them, though I don’t know how to test.

I think the easiest way to test (with few dependencies too) is:

$ guix package -i rofi
$ rofi -show drun

Then check whether icecat shows up in the list of applications (it doesn't).

But on the other hand

$ mkdir -p ${HOME}/dd/applications
$ cp ~/.guix-profile/share/applications/icecat.desktop ${HOME}/dd/applications/
$ export XDG_DATA_DIRS="${HOME}/dd:${XDG_DATA_DIRS}"
$ emacs ${HOME}/dd/applications/icecat.desktop
(remove just the %% lines)
$ rofi -show drun

shows icecat.

(Just today I had the same problem (with iceweasel) in Debian in LXDE while I 
was showing GNU Linux to someone else. Apparently the LXDE desktop environment 
doesn't let you add applications it doesn't know (i.e. ones without desktop 
file) to the panel. That... didn't give a good impression)





bug#23723: patch-shebang phase breaks symlinks

2016-06-15 Thread Danny Milosavljevic
Hi Ludo,

are you sure that's correct?

Compare:

On Sun, 12 Jun 2016 12:29:52 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> +(filter (lambda (file)
> +  (eq? 'regular (lstat file)))
 ^
to

> -(let ((s (stat (string-append dir "/" f
> +(let ((s (lstat (string-append dir "/" f
>(eq? 'regular (stat:type s)
^
.

I think the first is missing a call to stat:type .





bug#23780: guix import pypi jedi: weird backtrace, no proper error message

2016-06-16 Thread Danny Milosavljevic
$ guix import pypi jedi

Starting download of /tmp/guix-file.n01KoB
From 
https://pypi.python.org/packages/3a/37/629080b92b87bc65e3b1b4f5d539e22aa5dc45637eab0dd4b0cd8cf236c2/jedi-0.9.0.tar.gz...
 ….0.tar.gz  326KiB 402KiB/s 00:01 [] 100.0%

Starting download of /tmp/guix-file.CbhRLk
From 
https://pypi.python.org/packages/c4/59/e48a369168a84c8aef9127c227fc3b9f53bc9c528b24c2cda20487bc2deb/jedi-0.9.0-py2.py3-none-any.whl...
 …py3-none-any.whl  154KiB  291KiB/s 00:01 [] 100.0%
Backtrace:
In ice-9/boot-9.scm:
 157: 19 [catch srfi-34 # ...]
In ice-9/r4rs.scm:
  90: 18 [dynamic-wind # ...]
In ice-9/eval.scm:
 387: 17 [eval # #]
 387: 16 [eval # #]
 387: 15 [eval # #]
 387: 14 [eval # #]
 387: 13 [eval # #]
 387: 12 [eval # #]
 387: 11 [eval # #]
 387: 10 [eval # #]
 387: 9 [eval # #]
 387: 8 [eval # #]
 387: 7 [eval # #]
 411: 6 [eval # #]
In ice-9/r4rs.scm:
  90: 5 [dynamic-wind # ...]
  90: 4 [dynamic-wind # ...]
In ice-9/boot-9.scm:
 867: 3 [call-with-input-file "jedi-0.9.0.dist-info/metadata.json" ...]
In ice-9/eval.scm:
 411: 2 [eval # #]
 387: 1 [eval # #]
In unknown file:
   ?: 0 [list-ref #f 0]

This stacktrace is ... unhelpful. I think there was a post somewhere where it 
detailed how to debug that but I can't find it again :(

$ cat metadata.json 
{"classifiers": ["Development Status :: 4 - Beta", "Environment :: Plugins", 
"Intended Audience :: Developers", "License :: OSI Approved :: MIT License", 
"Operating System :: OS Independent", "Programming Language :: Python :: 2", 
"Programming Language :: Python :: 2.6", "Programming Language :: Python :: 
2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 
3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python 
:: 3.4", "Topic :: Software Development :: Libraries :: Python Modules", "Topic 
:: Text Editors :: Integrated Development Environments (IDE)", "Topic :: 
Utilities"], "summary": "An autocompletion tool for Python that can be used for 
text editors.", "platform": "any", "generator": "bdist_wheel (0.24.0)", 
"metadata_version": "2.0", "version": "0.9.0", "extensions": {"python.details": 
{"contacts": [{"role": "author", "email": "davidhalte...@gmail.com", "name": 
"David Halter"}], "project_urls": {"Home": 
"https://github.com/davidhalter/jedi"}, "document_names": {"description": 
"DESCRIPTION.rst"}}}, "license": "MIT", "keywords": ["python", "completion", 
"refactoring", "vim"], "name": "jedi"}





bug#23780: guix import pypi jedi: weird backtrace, no proper error message

2016-06-17 Thread Danny Milosavljevic
Thanks!

I've asked the jedi maintainers, see 







bug#23961: guix import hackage gtk3 fails

2016-07-12 Thread Danny Milosavljevic
$ guix import hackage gtk3
;;; note: source file /x/home/dannym/src/guix/gnu/packages/haskell.scm
;;;   newer than compiled /x/home/dannym/src/guix/gnu/packages/haskell.go
Syntax error: unexpected token : custom-setup (at line 131, column 0)
Syntax error: unexpected end of input
guix import: error: failed to download cabal file for package 'gtk3'





bug#24066: icecat "mailto" handler does not work - and cannot be reconfigured by user

2016-07-25 Thread Danny Milosavljevic
> Unless I misunderstood what you mean: this already exists.  On the page
> you linked to above look for “reply via email to”.  It’s followed by a
> button.  When you click on it you get a “mailto”-Link.

Whoops. I should have read the page better.

However, clicking on that button in icecat does not send E-Mail for me. 

Monitoring the network interface I can see that it redirects to a mailto: URL. 
So that's nice.

Checking the application preferences of icecat, it only gives "always ask" 
(note: it doesn't ask) and not an application for "mailto". (in GuixSD)

Creating my own HTML page with a mailto link doesn't work either.

Therefore, I reported a bug to Guix too.

Bug report follows:

"mailto:"; links don't work in icecat.

Checking the icecat source code, there are several ways to handle E-Mail. One 
of them is as "external helper app". One of those (not sure whether it's the 
correct one) uses gio's g_app_info_launch_default_for_uri in order to launch 
helper applications.

There is a test 
icecat-38.8.0/uriloader/exthandler/tests/unit/test_handlerService.js that does:

  let isLinux = ("@mozilla.org/gio-service;1" in Components.classes);
  if (isLinux) {
// Check mailto handler from GIO
// If there isn't one, then we have no mailto handler
let gIOSvc = Cc["@mozilla.org/gio-service;1"].
 createInstance(Ci.nsIGIOService);
try {
  gIOSvc.getAppForURIScheme("mailto");
  noMailto = false;
} catch (ex) {
  noMailto = true;
}
  }

And this ./toolkit/system/gnome/nsGIOService.cpp uses 
g_app_info_launch_default_for_uri .

Therefore, I tried it out:

#include 
#include 
#include 

int main() {
GError* error;
g_app_info_launch_default_for_uri("mailto:f...@example.com";, NULL, 
&error);
// g_app_info_launch_default_for_uri("http://www.google.at/";, NULL, 
&error);
if (error) {
g_warning("err %s", error->message);
g_error_free(error);
return 1;
} else
return 0;
}

I get:

** (process:12464): WARNING **: err Operation not supported

If I debug it some more I get:

$ strace -f ./g 2>&1 |grep open |grep -v ENOENT

open("/home/dannym/.local/share//mime/mime.cache", O_RDONLY) = 3
open("/home/dannym/.guix-profile/share/mime/mime.cache", O_RDONLY) = 3
open("/run/current-system/profile/share/mime/mime.cache", O_RDONLY) = 3
open("/home/dannym/.guix-profile/share/mime/mime.cache", O_RDONLY) = 3
open("/run/current-system/profile/share/mime/mime.cache", O_RDONLY) = 3
open("/home/dannym/.guix-profile/lib/gio/modules", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/home/dannym/.guix-profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/home/dannym/.guix-profile/lib/gio/modules/libdconfsettings.so", 
O_RDONLY|O_CLOEXEC) = 4
open("/run/current-system/profile/lib/gio/modules", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/run/current-system/profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 
4
open("/gnu/store/6qrijb6cfyvs8svacr0l9a75vcpypr5f-glib-2.48.0/lib/gio/modules", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/gnu/store/4lbgxvsk8xl75hlkjqgrqvmpq74app73-dconf-0.26.0/lib/gio/modules",
 O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/gnu/store/4lbgxvsk8xl75hlkjqgrqvmpq74app73-dconf-0.26.0/lib/gio/modules/giomodule.cache",
 O_RDONLY) = 4
open("/home/dannym/.guix-profile/lib/gio/modules", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/home/dannym/.guix-profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 4
open("/run/current-system/profile/lib/gio/modules", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/run/current-system/profile/lib/gio/modules/giomodule.cache", O_RDONLY) = 
4
open("/gnu/store/m3py3rk71ihlfgvj2kss7054hwfqwkpq-glib-2.48.0/lib/gio/modules", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
[pid 12632] open("/usr/share/locale/locale.alias", O_RDONLY 
[pid 12632] open("/home/dannym/.config/mimeapps.list", O_RDONLY) = 5
[pid 12632] 
open("/gnu/store/8m00x5x8ykmar27s9248cmhnkdb2n54a-glibc-2.22/lib/gconv/gconv-modules",
 O_RDONLY|O_CLOEXEC) = 5
[pid 12632] open("/home/dannym/.local/share/applications", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/home/dannym/.local/share/applications/mimeapps.list", 
O_RDONLY) = 5
[pid 12632] open("/home/dannym/.local/share/applications/mimeinfo.cache", 
O_RDONLY) = 5
[pid 12632] open("/home/dannym/.guix-profile/share/applications", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/run/current-system/profile/share/applications", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] 
open("/run/current-system/profile/share/applications/mimeinfo.cache", O_RDONLY) 
= 5
[pid 12632] open("/home/dannym/.guix-profile/share/applications", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] open("/run/current-system/profile/share/applications", 
O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
[pid 12632] 
open("/run/current-sy

bug#24069: gcc man page is broken

2016-07-25 Thread Danny Milosavljevic
$ man gcc

timestamp

 Manual page gcc(1) line 1/2 (END) (press h for help or q to quit)

$ ls -l /home/dannym/.guix-profile/share/man/man1/gcc.1.gz
lrwxrwxrwx 106 root guixbuild 79  1. Jan 1970  
/home/dannym/.guix-profile/share/man/man1/gcc.1.gz -> 
/gnu/store/1xsd8qd6i0zkzwxa53rp5palcfxb7xqb-gccgo-4.9.3/share/man/man1/gcc.1.gz


Err what?

That's also the case for the normal gcc package (for example 4.9.3).

But

$ info gcc

works fine.





bug#24076: gnupg [-agent]: when signing [commits], it claims that there is no pinentry - but there is

2016-07-26 Thread Danny Milosavljevic
dannym@dayas ~/src/guix$ strace -f  git commit -S -m "x" 
gnu/packages/databases.scm 2>&1 |grep pinentry
[pid 32548] write(4, "OPTION allow-pinentry-notify", 28) = 28
[pid 32548] read(4, "ERR 67108949 No pinentry 
pinentry pinentry-curses  pinentry-gtk-2   pinentry-tty
dannym@dayas ~$ pinentry
OK Pleased to meet you






bug#24083: guix lint doesn't actually fail on some errors

2016-07-26 Thread Danny Milosavljevic
guix lint doesn't actually fail on some errors.

$ guix lint perl-io-socket-inet6 ; echo $?
;;; note: source file /x/home/dannym/src/guix/gnu/packages/networking.scm
;;;   newer than compiled /x/home/dannym/src/guix/gnu/packages/networking.go
;;; note: source file /x/home/dannym/src/guix/gnu/packages/mail.scm
;;;   newer than compiled /x/home/dannym/src/guix/gnu/packages/mail.go
;;; note: source file /x/home/dannym/src/guix/gnu/packages/ldc.scm
;;;   newer than compiled /x/home/dannym/src/guix/gnu/packages/ldc.go
gnu/packages/networking.scm:437:1: perl-io-socket-inet6-2.72: line 464 is way 
too long (96 characters)
gnu/packages/networking.scm:437:1: perl-io-socket-inet6-2.72: line 483 is way 
too long (92 characters)
0
^--- ooops





bug#24076: gnupg [-agent]: when signing [commits], it claims that there is no pinentry - but there is

2016-07-27 Thread Danny Milosavljevic
Hi Ludo,

> My ~/.gnupg/gpg-agent.conf file reads this:
> 
> --8<---cut here---start->8---
> pinentry-program /home/ludo/.guix-profile/bin/pinentry-gtk-2
> --8<---cut here---end--->8---

Yes, the file didn't exist. I created it and it works now.

I did install the pinentry package, though.

Do you think it would make sense to put this in the skeleton for new user 
accounts?

It wouldn't matter if it's were not installed then - then the user will get an 
error message and would install it (hopefully). But then it would work.





bug#24083: guix lint doesn't actually fail on some errors

2016-07-27 Thread Danny Milosavljevic
On Wed, 27 Jul 2016 22:57:15 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic  skribis:
> 
> > guix lint doesn't actually fail on some errors.  
> 
> It never pretended to exit with non-zero when warnings are emitted.  :-)
> (These are warnings, not errors.)

Too bad :)

I wrote a little helper script which was supposed to prevent me from posting 
packages that don't build or lint. Then I found out that the lint actually 
doesn't fail on warnings. So now my script is only half as useful (the builder 
does fail on build error).

It would be nice to have a way to also check the lint status.





bug#24076: gnupg [-agent]: when signing [commits], it claims that there is no pinentry - but there is

2016-07-28 Thread Danny Milosavljevic
> Another option would be to change ‘gnupg_module_name’, in homedir.c, from:
> 
> --8<---cut here---start->8---
> case GNUPG_MODULE_NAME_PINENTRY:
> #ifdef GNUPG_DEFAULT_PINENTRY
>   return GNUPG_DEFAULT_PINENTRY;
> #else
>   X(bindir, "pinentry");
> #endif
> --8<---cut here---end--->8---
> 
> to something like:
> 
> --8<---cut here---start->8---
> case GNUPG_MODULE_NAME_PINENTRY:
>   X(homedir, ".guix-profile/bin/pinentry);
> --8<---cut here---end--->8---
> 
> … in which case GnuPG would default to the user-installed pinentry, if
> available.  Not perfect either, but closer to what other distros do.

I would like that, yes. It's not like the X(bindir, "pinentry") would ever work 
in GuixSD anyway - so no loss.





bug#24087: recovery from suspend is broken with recent libreboot + linux-libre 4.7

2016-07-28 Thread Danny Milosavljevic
Hi,

> I know more people than just me are using libreboot here, do you have
> any problems with suspend and recovery?

I have a X200 and some time after waking up from suspend on the first larger 
disk access it hangs, losing all the dirty sector payload in the process. This 
is Guix-specific, the same machine works just fine on Ubuntu.

> Following this[0] thread you can see the problems I have with libreboot
> latest (latest at the time of flashing) experimental release.

> Can you test (if your system is already libreboot testing, if not wait
> for either the next release candidate which should happen soon or be
> ready to unbrick it) and provide logs so that we can fix it in our
> system?

I don't update the BIOS (I disabled the ability to do so in the chip settings).

Given the ability for an update to brick, I only flashed it once before there 
was any data on the machine - and I don't plan on doing it again on this 
machine.

I do actual work on this machine and were it not booting it would be much worse 
than wakeup not working.

I sometimes non-thinkingly close the laptop lid so it crashes from time to 
time. So if logs help I can provide those.

Also, dmidecode stopped working some time ago so I can't check which libreboot 
version I have.

$ sudo dmidecode 
Password: 
# dmidecode 2.12
SMBIOS 2.7 present.
8 structures occupying 382 bytes.
Table at 0xBDAB4020.

/dev/mem: Operation not permitted
Table is unreachable, sorry.

$ uname -a
Linux dayas 4.6.4-gnu #1 SMP 1 x86_64 GNU/Linux





bug#24087: recovery from suspend is broken with recent libreboot + linux-libre 4.7

2016-07-30 Thread Danny Milosavljevic
My machine just crashed with a Linux oops (with blinking caps lock and 
everything) - the second time it did that, ever.

I have crashkernel enabled - but unfortunately the kernel that Guix installed 
didn't have all the flags enabled that I need to be able to generate the 
crashdump.

See http://dedoimedo.com/computers/kdump.html#mozTocId967714

Also, I have 2 CPUs and kdump only supports 1 CPU :(

What's the standard way to recover just the oops text? I didn't see any text.





bug#24087: recovery from suspend is broken with recent libreboot + linux-libre 4.7

2016-08-08 Thread Danny Milosavljevic
Thanks to Kei I could now check the libreboot version:

--
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
8 structures occupying 382 bytes.
Table at 0xBDAB4020.

Handle 0x, DMI type 0, 24 bytes
BIOS Information
Vendor: coreboot
Version: CBET4000 4.0
Release Date: 05/18/2015
ROM Size: 8192 kB
Characteristics:
PCI is supported
PC Card (PCMCIA) is supported
BIOS is upgradeable
Selectable boot is supported
ACPI is supported
Targeted content distribution is supported
BIOS Revision: 4.0
Firmware Revision: 0.0

Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: LENOVO
Product Name: 74553XG
Version: ThinkPad X200
Serial Number: 
UUID: 
Wake-up Type: Reserved
SKU Number: Not Specified
Family: Not Specified

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: LENOVO
Product Name: 74553XG
Version: ThinkPad X200
Serial Number: 

Handle 0x0003, DMI type 3, 21 bytes
Chassis Information
Manufacturer: LENOVO
Type: Laptop
Lock: Not Present
Version: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x
Height: Unspecified
Number Of Power Cords: Unspecified
Contained Elements: 0

Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: Not Specified
Type: Central Processor
Family: Pentium Pro
Manufacturer: GenuineIntel
ID: 
Signature: Type 0, Family 6, Model 23, Stepping 10
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM)2 CPU P8600  @ 2.40GHz
Voltage: Unknown
External Clock: Unknown
Max Speed: Unknown
Current Speed: Unknown
Status: Unpopulated
Upgrade: Other
L1 Cache Handle: Not Provided
L2 Cache Handle: Not Provided
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 2
Characteristics: None

Handle 0x0005, DMI type 11, 5 bytes
OEM Strings
String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-3.6 ]-

Handle 0x0006, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected

Handle 0x0007, DMI type 127, 4 bytes
End Of Table
--





bug#24192: Gajim fails with locale.Error

2016-08-09 Thread Danny Milosavljevic
>   File 
> "/gnu/store/6bk1n2g7i34b4yi0rdindk1f49wps5g6-gajim-0.16.5/share/gajim/src/common/i18n.py",
>  line 54, in 
> locale.setlocale(locale.LC_ALL, '')
>   File 
> "/gnu/store/vcx1n5nj4gr52xx5m6gvi7zrwngy06s3-python-2.7.11/lib/python2.7/locale.py",
>  line 579, in setlocale
> return _setlocale(category, locale)
> locale.Error: unsupported locale setting
> 
> I have set my locale in my operating system configuration as shown in
> the example configuration in the manual. Is there anything else to be
> done that I am missing? 

>Could this be a bug in the gajim package?

I don't think so. It's probably glibc configuration. Try

$ locale -a

to get a list of supported locales.

Which locale is it?





bug#24416: avr-gcc@5 is broken

2016-09-12 Thread Danny Milosavljevic
As a workaround,

CPPFLAGS += -I${HOME}/.guix-profile/avr/include
LDFLAGS += -L${HOME}/.guix-profile/avr/lib/avr5 -L${HOME}/.guix-profile/avr/lib 
-B${HOME}/.guix-profile/avr/lib

works with avr-gcc 5.3.0. Unfortunately I don't know enough about avr-gcc to be 
able to permanently fix it.

I fixed part of it (I made it so that atmega32u4 exists in the first place) in 
master - but no idea what to do with the search path.

I'm pretty sure that if it uses CROSS_CPATH it's incorrect because cross-base 
has been changed from CROSS_CPATH to CROSS_C_INCLUDE_PATH, 
CROSS_CPLUS_INCLUDE_PATH etc in order to suppress warnings. If 
CROSS_C_INCLUDE_PATH overrides CROSS_CPATH (does it?) then setting CROSS_CPATH 
like avr.scm does does no good.

I propose to change it to the following:

diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 9873477..1e5fd73 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -59,9 +59,18 @@
  #t
  ((#:configure-flags flags)
   `(delete "--disable-multilib" ,flags
-  (native-search-paths
+  (native-search-paths
(list (search-path-specification
-  (variable "CROSS_CPATH")
+  (variable "CROSS_C_INCLUDE_PATH")
+  (files '("avr/include")))
+ (search-path-specification
+  (variable "CROSS_CPLUS_INCLUDE_PATH")
+  (files '("avr/include")))
+ (search-path-specification
+  (variable "CROSS_OBJC_INCLUDE_PATH")
+  (files '("avr/include")))
+ (search-path-specification
+  (variable "CROSS_OBJCPLUS_INCLUDE_PATH")
   (files '("avr/include")))
  (search-path-specification
   (variable "CROSS_LIBRARY_PATH")





bug#24416: avr-gcc@5 is broken

2016-09-13 Thread Danny Milosavljevic
On Mon, 12 Sep 2016 11:29:11 -0400
"Thompson, David"  wrote:

> On Mon, Sep 12, 2016 at 2:49 AM, Danny Milosavljevic
>  wrote:
> > As a workaround,
> >
> > CPPFLAGS += -I${HOME}/.guix-profile/avr/include
> > LDFLAGS += -L${HOME}/.guix-profile/avr/lib/avr5 
> > -L${HOME}/.guix-profile/avr/lib -B${HOME}/.guix-profile/avr/lib
> >
> > works with avr-gcc 5.3.0. Unfortunately I don't know enough about avr-gcc 
> > to be able to permanently fix it.
> >
> > I fixed part of it (I made it so that atmega32u4 exists in the first place) 
> > in master - but no idea what to do with the search path.
> >
> > I'm pretty sure that if it uses CROSS_CPATH it's incorrect because 
> > cross-base has been changed from CROSS_CPATH to CROSS_C_INCLUDE_PATH, 
> > CROSS_CPLUS_INCLUDE_PATH etc in order to suppress warnings. If 
> > CROSS_C_INCLUDE_PATH overrides CROSS_CPATH (does it?) then setting 
> > CROSS_CPATH like avr.scm does does no good.
> >
> > I propose to change it to the following:
> >
> > diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
> > index 9873477..1e5fd73 100644
> > --- a/gnu/packages/avr.scm
> > +++ b/gnu/packages/avr.scm
> > @@ -59,9 +59,18 @@
> >   #t
> >   ((#:configure-flags flags)
> >`(delete "--disable-multilib" ,flags
> > -  (native-search-paths
> > +  (native-search-paths
> > (list (search-path-specification
> > -  (variable "CROSS_CPATH")
> > +  (variable "CROSS_C_INCLUDE_PATH")
> > +  (files '("avr/include")))
> > + (search-path-specification
> > +  (variable "CROSS_CPLUS_INCLUDE_PATH")
> > +  (files '("avr/include")))
> > + (search-path-specification
> > +  (variable "CROSS_OBJC_INCLUDE_PATH")
> > +  (files '("avr/include")))
> > + (search-path-specification
> > +  (variable "CROSS_OBJCPLUS_INCLUDE_PATH")
> >(files '("avr/include")))
> >   (search-path-specification
> >(variable "CROSS_LIBRARY_PATH")  
> 
> I don't know if this will have the intended effect and I cannot
> experiment with it right now.  Could you test?  

(The patch: ) Can't test it right now (out of disk space; updating 2 GB texmf 
is really annoying) - but I tested it in the past and it wasn't sufficient. On 
the other hand, before the patch is applied, cross-gcc and avr.scm set 
*different* variables and that's probably incorrect.

> The LDFLAGS above
> include the path to the device-specific object files (/avr5), but
> avr-gcc is supposed to be able to figure that out on its own using a
> "normal" library path, so I'm skeptical that simply changing the
> search paths for the package is enough.

I've used these LDFLAGS (actually used them as global flags for all gcc 
invocations) for some weeks with daily success. Also, the "-B" is necessary.

I think that the "native-search-paths" only affect the build system.

As far as I understand, avr-gcc is a "native" compiler in the sense of 
it-shouldn't-try-to-build-all-Guix-packages-for-it. And it's certainly set up 
as a "native" compiler. But that means that the avr-gcc port has to hack the 
search path that gcc usually uses for native compilers to make it search 
something else - not sure where they do and why it doesn't work for us. It 
would be good to locate this part.

The atmega32u4 comes from avr-libc (!) - that's why I changed avr-libc to use 
the same compiler (already in master for some months). That made it work much 
better.

I hope someone can shed a light on this.





bug#24557: python importer: extend requirements import

2016-09-29 Thread Danny Milosavljevic
On Wed, 28 Sep 2016 16:35:26 +
ng0  wrote:

> One example:
> 
> ng0@shadowwalker ~$ guix import pypi hyperkitty
> 
> Starting download of /tmp/guix-file.yrqmcv
> >From 
> >https://pypi.python.org/packages/47/2d/cc2adf4bc0ed7bb4189b3146dde921c9a6ecc33f0f87c96c744d89bab154/HyperKitty-1.0.3.tar.gz...
> >  
>  …1.0.3.tar.gz  1.5MiB  1.1MiB/s 00:01 [] 
> 100.0%
> tar: HyperKitty-1.0.3/requirements.txt: Not found in archive
> tar: Exiting with failure status due to previous errors
> guix import: warning: 'tar xf' failed with exit code 512
> (package
>   (name "python-hyperkitty")
>   (version "1.0.3")
> 
> 
> When you look at the contained setup.py of hyperkitty, it has this
> defined in setup.py.
> 
> # Requirements REQUIRES = [
> etc etc
> 
> I've seen this in some variations.
> 
> The python importer should be extended to include these not very unusual
> cases.

This could be done by making the Python importer do something like

  hk/HyperKitty-1.0.3 $ python3 setup.py egg_info
  hk/HyperKitty-1.0.3 $ cat HyperKitty.egg-info/requires.txt 

if (!) the project uses setuptools.

(Unfortunately there seems to be no command line option to directly read the 
keyword argument "install_requires" by setup.py - although there are command 
line options for all the other keyword arguments - weird... That's why it's 
necessary to make it write them egg_info files)





bug#24735: netpbm pstopnm tries to invoke /usr/bin/gs - it should depend on ghostscript and invoke that

2016-10-18 Thread Danny Milosavljevic
Probably should be substituted out.

It already depends on ghostscript.





bug#25101: simple-scan can't use hpaio

2016-12-03 Thread Danny Milosavljevic
simple-scan can't use hpaio as scanner. That means that HP scanners don't work 
at all.

That's because:

(1) sane-backends installs a hard-coded dll.conf . In itself, that's not so 
bad. However, this file doesn't contain a line "hpaio". 
To workaround this, I set environment variable SANE_CONFIG_DIR to point to 
a directory which contains a dll.conf which contains (only) a line "hpaio".
(2) sane-backends tries to load 
/gnu/store/f4kmkdf8s0kpwia9wgiw5a35xljh4a77-sane-backends-1.0.25/lib/sane/libsane-hpaio.so.1
 - which won't work. 
I checked the source code of sane-backends - and it searches many locations 
for loadable dynamic libraries, for example the ones specified in environment 
variables LD_LIBRARY_PATH, SHLIB_PATH LIBPATH (see backend/dll.c load()). 
(3) dll.conf has no support for absolute paths. Whatever you put there it will 
just blindly put after a hard-coded directory prefix.

This is on GuixSD.

How to proceed? Add support for absolute paths and a service which merges 
multiple dll.conf into one file ?

Or just add hplip as a hard dependency of sane-backends and make it link 
libsane-hpaio (that's possible in sane)?

Also, should we also amend simple-scan to propagate-input hplip? Otherwise it 
will come up with a "Install Driver" dialog which won't work either.





bug#25311: guile with details

2017-01-01 Thread Danny Milosavljevic
Hi,

On Sat, 31 Dec 2016 17:41:16 +0100
Gnu Röoty  wrote:

>After installation of guiXSD 0.12.0
> and the started of guixSD the guile display a message :
> 
> the message : Entering a new prompt 'bt' or 'q' to continue
> GNU Guile 2.0.12
> sheme@(guile-user).
> And I do CTRL+D a kernel panic appears.And when I use q or bt nothing
> working.

What does it say right before that?





bug#25414: gdk-pixbuf@2.34.0 does not build deterministically

2017-01-10 Thread Danny Milosavljevic
On Wed, 11 Jan 2017 00:06:42 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> Presumably ‘gdk-pixbuf-query-loaders’, which generates ‘loaders.cache’,
> does not sort the entries returned by readdir(2).

Yep.

gdk-pixbuf/queryloaders.c line 355 uses g_dir_open.

Docs: 
https://developer.gnome.org/glib/stable/glib-File-Utilities.html#g-dir-open 
"Note that the ordering is not defined."

One could use g_list_append to append it to a list and then g_list_sort and 
then g_list_free. Like below (untested! Seriously!):

--- gdk-pixbuf/queryloaders.c.orig  2017-01-11 00:17:32.865843062 +0100
+++ gdk-pixbuf/queryloaders.c   2017-01-11 00:31:29.428372177 +0100
@@ -354,16 +354,25 @@
 
 dir = g_dir_open (path, 0, NULL);
 if (dir) {
+GList *entries = NULL;
 const char *dent;
 
 while ((dent = g_dir_read_name (dir))) {
 gint len = strlen (dent);
 if (len > SOEXT_LEN &&
 strcmp (dent + len - SOEXT_LEN, SOEXT) == 
0) {
-query_module (contents, path, dent);
+entries = g_list_append (entries, 
g_strdup (dent));
 }
 }
 g_dir_close (dir);
+entries = g_list_sort (entries, strcmp);
+GList *xentries;
+for (xentries = entries; xentries; xentries = 
g_list_next(xentries)) {
+dent = xentries->data;
+query_module (contents, path, dent);
+g_free (xentries->data);
+}
+g_list_free(entries);
 }
 #else
 g_string_append_printf (contents, "# dynamic loading of 
modules not supported\n");






bug#25414: gdk-pixbuf@2.34.0 does not build deterministically

2017-01-11 Thread Danny Milosavljevic
Hi Ludo,

> Sounds like the right approach, would you like to test it?  :-)

In principle yes, but even without the patch I get (using current master):

$ ./pre-inst-env  guix challenge gdk-pixbuf 
--substitute-urls="https://mirror.hydra.gnu.org https://bayfront.guixsd.org";
...

Backtrace:
In unknown file:
   ?: 19 [apply-smob/1 #]
In ice-9/boot-9.scm:
  66: 18 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 17 [eval # #]
In ice-9/boot-9.scm:
2404: 16 [save-module-excursion #]
4056: 15 [#]
1727: 14 [%start-stack load-stack ...]
1732: 13 [#]
In unknown file:
   ?: 12 [primitive-load "/x/home/dannym/src/guix-master/guix/scripts/guix"]
In guix/ui.scm:
1228: 11 [run-guix-command challenge "gdk-pixbuf" ...]
In ice-9/boot-9.scm:
 160: 10 [catch srfi-34 # ...]
 160: 9 [catch system-error ...]
 160: 8 [catch system-error ...]
In guix/scripts/challenge.scm:
 238: 7 [#]
In guix/store.scm:
1223: 6 [run-with-store # ...]
In guix/scripts/challenge.scm:
 239: 5 [# #]
 123: 4 [# #]
In srfi/srfi-1.scm:
 643: 3 [append-map # ...]
 575: 2 [map # ...]
In guix/scripts/substitute.scm:
 687: 1 [lookup-narinfos "\"https://mirror.hydra.gnu.org"; #]
 659: 0 [fetch-narinfos "\"https://mirror.hydra.gnu.org"; #]

guix/scripts/substitute.scm:659:16: In procedure fetch-narinfos:
guix/scripts/substitute.scm:659:16: In procedure struct_vtable: Wrong type 
argument in position 1 (expecting struct): #f






bug#25177: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.

2017-01-13 Thread Danny Milosavljevic
Hi,

> Danny: I cannot apply the sphinx update patch for some reason. Did you
> use git-send-email? 

Yes. I also pulled from guix master and did "git am" with my patch-E-Mail from 
back then a moment ago - it applied fine.

>In any case, since you will have commit access soon,
> can you please push it to the 'python-tests' branch once this merge is
> resolved. Then we can start a new evaluation and hopefully do the last
> round of fixes :-)

Sure.





bug#25177: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.

2017-01-13 Thread Danny Milosavljevic
Done on the python-tests branch as commit 
9a8acd00da3ad44ac6ef423f3d9cba87645cc022.

Matplotlib will fail now.





bug#25414: gdk-pixbuf@2.34.0 does not build deterministically

2017-01-14 Thread Danny Milosavljevic
Hi Ludo,

On Thu, 12 Jan 2017 14:14:59 +0100
l...@gnu.org (Ludovic Courtès) wrote:

>   guix build gdk-pixbuf --rounds=2 -K

I added the patch and now I get:

$ ./pre-inst-env guix build gdk-pixbuf --rounds=2 -K
/gnu/store/m06fjrx641hbs786m5ysr3j41siqh8bn-gdk-pixbuf-2.36.3

> > guix/scripts/substitute.scm:659:16: In procedure fetch-narinfos:
> > guix/scripts/substitute.scm:659:16: In procedure struct_vtable: Wrong type 
> > argument in position 1 (expecting struct): #f  
> 
> Hmm hmm!  Is it reproducible (it works for me)?  If so, could you try to
> see where the problem comes from by adding ‘pk’ calls like this:

I'll try again with latest master (building...). If it still happens I'll try 
"pk". Thanks!





bug#25177: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.

2017-01-14 Thread Danny Milosavljevic
Hi,

I've fixed python-matplotlib locally. It builds fine now.

The fix itself would be:

+ (substitute* "users/intro.rst"
+   ;; Fix reST markup error (see 
)
+   (("[[][*][]]") "[#]"))

However, I've also changed alist-cons* phase construction to modify-phases. 
That would make the patch look real scary.

So here is a weird patch created via "git diff -b" where you can actually see 
what's happening without all the noise caused by indentation changes:

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c540d7b5a..a5220e05e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3723,8 +3723,8 @@ transcendental functions).")
("texinfo" ,texinfo)))
 (arguments
  `(#:phases
-   (alist-cons-before
-'build 'configure-environment
+   (modify-phases %standard-phases
+ (add-before 'build 'configure-environment
(lambda* (#:key outputs inputs #:allow-other-keys)
  (let ((cairo (assoc-ref inputs "cairo"))
(gtk+ (assoc-ref inputs "gtk+")))
@@ -3740,9 +3740,8 @@ basedirlist = ~a,~a~%
  [rc_options]~%
 backend = TkAgg~%"
(assoc-ref inputs "tcl")
-(assoc-ref inputs "tk"))
-(alist-cons-after
- 'install 'install-doc
+   (assoc-ref inputs "tk")))
+ (add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
  (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
 (doc (string-append data "/doc/" ,name "-" ,version))
@@ -3756,6 +3755,9 @@ backend = TkAgg~%"
  (substitute* (find-files "." "conf\\.py")
(("latex_paper_size = 'letter'")
 "latex_paper_size = 'a4'"))
+ (substitute* "users/intro.rst"
+   ;; Fix reST markup error (see 
)
+   (("[[][*][]]") "[#]"))
  (mkdir-p html)
  (mkdir-p info)
  ;; The doc recommends to run the 'html' target twice.
@@ -3777,8 +3779,7 @@ backend = TkAgg~%"
  (copy-file "build/texinfo/matplotlib.info"
 (string-append info "/matplotlib.info"))
  (copy-file "build/latex/Matplotlib.pdf"
-  (string-append doc "/Matplotlib.pdf")
-%standard-phases
+(string-append doc "/Matplotlib.pdf")
 (home-page "http://matplotlib.org";)
 (synopsis "2D plotting library for Python")
 (description

Should I split this into two commits - one for modify-phases and one for the 
actual change? Should I post them to the list? If so, should I mark that it's 
for python-tests somehow?





bug#25177: [PATCH v6] gnu: python-sphinx: Update to 1.4.8.

2017-01-14 Thread Danny Milosavljevic
Pushed it as 2 commits to python-tests.





bug#25414: [PATCH] gnu: gdk-pixbuf: Make it reproducible.

2017-01-14 Thread Danny Milosavljevic
* gnu/packages/gtk.scm (gdk-pixbuf): Make it reproducible.
---
 gnu/local.mk   |  1 +
 gnu/packages/gtk.scm   |  3 ++-
 gnu/packages/patches/gdk-pixbuf-list-dir.patch | 29 ++
 3 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gdk-pixbuf-list-dir.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d37887237..05e6d653f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -567,6 +567,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch  \
   %D%/packages/patches/gcc-6-cross-environment-variables.patch \
   %D%/packages/patches/gcj-arm-mode.patch  \
+  %D%/packages/patches/gdk-pixbuf-list-dir.patch   \
   %D%/packages/patches/gd-CVE-2016-7568.patch  \
   %D%/packages/patches/gd-CVE-2016-8670.patch  \
   %D%/packages/patches/gd-fix-chunk-size-on-boundaries.patch   \
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b2882b5e9..c4c441f4c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -434,7 +434,8 @@ highlighting and other features typical of a source code 
editor.")
 name "-" version ".tar.xz"))
 (sha256
  (base32
-  "0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm"
+  "0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm"))
+(patches (search-patches "gdk-pixbuf-list-dir.patch"
(build-system gnu-build-system)
(arguments
 '(#:configure-flags '("--with-x11")
diff --git a/gnu/packages/patches/gdk-pixbuf-list-dir.patch 
b/gnu/packages/patches/gdk-pixbuf-list-dir.patch
new file mode 100644
index 0..d1427cc38
--- /dev/null
+++ b/gnu/packages/patches/gdk-pixbuf-list-dir.patch
@@ -0,0 +1,29 @@
+--- gdk-pixbuf-2.34.0/gdk-pixbuf/queryloaders.c.orig  2017-01-11 
00:17:32.865843062 +0100
 gdk-pixbuf-2.34.0/gdk-pixbuf/queryloaders.c   2017-01-11 
00:31:29.428372177 +0100
+@@ -354,16 +354,25 @@
+ 
+ dir = g_dir_open (path, 0, NULL);
+ if (dir) {
++GList *entries = NULL;
+ const char *dent;
+ 
+ while ((dent = g_dir_read_name (dir))) {
+ gint len = strlen (dent);
+ if (len > SOEXT_LEN &&
+ strcmp (dent + len - SOEXT_LEN, SOEXT) == 
0) {
+-query_module (contents, path, dent);
++entries = g_list_append (entries, 
g_strdup (dent));
+ }
+ }
+ g_dir_close (dir);
++entries = g_list_sort (entries, strcmp);
++GList *xentries;
++for (xentries = entries; xentries; xentries = 
g_list_next (xentries)) {
++dent = xentries->data;
++query_module (contents, path, dent);
++g_free (xentries->data);
++}
++g_list_free (entries);
+ }
+ #else
+ g_string_append_printf (contents, "# dynamic loading of 
modules not supported\n");





bug#25414: [PATCH] gnu: gdk-pixbuf: Make it reproducible.

2017-01-16 Thread Danny Milosavljevic
> OK with these changes for a new ‘staging’ branch!

Done.

> Also, it would be nice if you could report it upstream and add the
> reference in the .patch file.

Also done.





bug#25537: gtksourceview-2 has xorg-server and shared-mime-info as inputs rather than native-inputs (they are just required for tests)

2017-01-25 Thread Danny Milosavljevic
(define-public gtksourceview-2
  (package
(name "gtksourceview")
(version "2.10.5") ; This is the last version which builds against gtk+2
(source (origin
  (method url-fetch)
  (uri (string-append "mirror://gnome/sources/" name "/"
  (version-major+minor version)  "/"
  name "-" version ".tar.bz2"))
  (sha256
   (base32
"07hrabhpl6n8ajz10s0d960jdwndxs87szxyn428mpxi8cvpg1f5"
(build-system gnu-build-system)
(inputs
 `(("gtk" ,gtk+-2)
   ;; These two are needed only to allow the tests to run successfully.
   ("xorg-server" ,xorg-server) ;  <== ?!
   ("shared-mime-info" ,shared-mime-info))) ;  <== ?!
(native-inputs
 `(("intltool" ,intltool)
   ("glib" ,glib "bin") ; for glib-genmarshal, etc.
   ("pkg-config" ,pkg-config)))

Why?

Also, gtksourceview (without -2) doesn't. Weird...





bug#25719: "guix package -i" exception should be a normal error message

2017-02-14 Thread Danny Milosavljevic
When I have network problems sometimes I get a backtrace like this:

...
substitute: 1727: 3 [%start-stack load-stack #]
substitute: 1732: 2 [#]
substitute: In unknown file:
substitute:?: 1 [primitive-load 
"/gnu/store/175nlv448nk5kagwwl3zyy2w4726qfz6-guix-0.12.0-4.d9da/bin/.guix-real"]
substitute: In guix/ui.scm:
substitute: 1228: 0 [run-guix-command substitute "--query"]
substitute: 
substitute: guix/ui.scm:1228:8: In procedure run-guix-command:
substitute: guix/ui.scm:1228:8: Throw to key `bad-response' with args `("Bad 
Response-Line: ~s" (""))'.

It might make sense to

(a) convert that into a normal runtime error message and
(b) Fallback to substituteless building (maybe only for this thing).





bug#25917: operating-system file-system with (check? #t) but (needed-for-boot #f) pauses boot until user interaction

2017-03-01 Thread Danny Milosavljevic
If one has a operating-system file-system with (check? #t) but (needed-for-boot 
#f), the next boot after reconfiguring will boot into a Guile REPL because the 
initrd doesn't contain the fsck tool for that file system (because all the 
file-systems with (needed-for-boot #f) have been filtered out). Therefore, the 
normal boot process breaks.

Possible fixes:
- If (check? #t) but (needed-for-boot? #f), include the tool anyway, XOR
- If (check? #t) but (needed-for-boot? #f), don't check anyway

This can be reproduced for example by connecting an USB flash storage stick 
with a filesystem with a type on it that's not used in any other file-system 
declaration.

NB: If (check? #t) and (needed-for-boot? #t), everything works fine.

For all these, (mount? #t) (the default).

This is on Guix master from a few minutes ago.





bug#25957: Acknowledgement (gitolite broken: created repositories keep references to /usr/bin for hooks)

2017-03-04 Thread Danny Milosavljevic
Hi ng0,

> I think there should be a reference to /gnu/store/ reddis and not
> "/usr/sbin/redis-server". Different problem, related bug.. This can be
> solved in a commit after this bug.

Yeah.

I would question why a normal application needs to start a redis *server* in 
the first place. Sounds strange to me. But I agree that if it wants to do that 
it should use a store reference.

 says "Redis is designed to be a very long 
running process in your server" so that definitely reads to me that a normal 
program shouldn't just start redis-server when it feels like it (and I hope it 
stops it again later? After reading the source code it doesn't appear that 
way...).

 says "WARNING: this has not been 
tested in a while. YMMV". U. Not confidence-inspiring.





bug#25953: [PATCH] gnu: mesa: Build LLVM Gallium drivers.

2017-03-06 Thread Danny Milosavljevic
Also, there's a newer Mesa version available (and the Mesa version numbers are 
now year-based). So if we change it anyway we might want to update it.





bug#25917: [PATCH] services: Don't check filesystem even if #:check? if not #:needed-for-boot.

2017-03-12 Thread Danny Milosavljevic
* gnu/services/base.scm (file-system-shepherd-service): If
not #:needed-for-boot, don't check filesystem even if #:check? .
---
 gnu/services/base.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 5298a11f6..2628b718f 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -274,6 +274,7 @@ FILE-SYSTEM."
 (options (file-system-options file-system))
 (check?  (file-system-check? file-system))
 (create? (file-system-create-mount-point? file-system))
+(needed-for-boot? (file-system-needed-for-boot? file-system))
 (dependencies (file-system-dependencies file-system)))
 (and (file-system-mount? file-system)
  (with-imported-modules '((gnu build file-systems)
@@ -300,7 +301,7 @@ FILE-SYSTEM."
(lambda ()
  (mount-file-system
   `(#$device #$title #$target #$type #$flags
- #$options #$check?)
+ #$options #$(and check? 
needed-for-boot?))
   #:root "/"))
(lambda ()
  (setenv "PATH" $PATH)))





bug#25917: [PATCH v2] services: If a filesystem is not marked as needed for boot, don't check it even if told to check it.

2017-03-12 Thread Danny Milosavljevic
* gnu/services/base.scm (file-system-shepherd-service): If
not #:needed-for-boot, don't check filesystem even if #:check? .
---
 gnu/services/base.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 5298a11f6..2628b718f 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -274,6 +274,7 @@ FILE-SYSTEM."
 (options (file-system-options file-system))
 (check?  (file-system-check? file-system))
 (create? (file-system-create-mount-point? file-system))
+(needed-for-boot? (file-system-needed-for-boot? file-system))
 (dependencies (file-system-dependencies file-system)))
 (and (file-system-mount? file-system)
  (with-imported-modules '((gnu build file-systems)
@@ -300,7 +301,7 @@ FILE-SYSTEM."
(lambda ()
  (mount-file-system
   `(#$device #$title #$target #$type #$flags
- #$options #$check?)
+ #$options #$(and check? 
needed-for-boot?))
   #:root "/"))
(lambda ()
  (setenv "PATH" $PATH)))





bug#25917: [PATCH] services: Don't check filesystem even if #:check? if not #:needed-for-boot.

2017-03-13 Thread Danny Milosavljevic
> One thing I don’t get is that, if the file system is not
> needed-for-boot?, then it doesn’t get a Shepherd service in the first
> place.

But what is supposed to happen to filesystems where mount? but not 
needed-for-boot? if Shepherd doesn't mount it?  Does some other part mount it ? 
 Is it just put into fstab or something ?

> In your original message, you wrote that the problem is that “the initrd
> doesn't contain the fsck tool”, so it’s a problem in linux-initrd.scm,
> no?

I don't know where we should fix it.  If you want to reproduce it, I tested it 
with this config

  (file-systems (cons* ...
   (file-system
(device "NO NAME")
(title 'label)
(mount-point "/mnt/tmp")
(type "vfat")
(needed-for-boot? #f)
(mount? #t)
(check? #t))
   %base-file-systems))

and an USB flash memory stick with name "NO NAME" (the default of the stick :) 
).

The effect is if not needed-for-boot? but check? , the boot breaks because it 
can't find fsck.vfat .

vfat is good for testing this since it's usually the only filesystem of that 
type on the system and so it can't be required by another filesystem entry and 
mask the problem.





bug#25917: [PATCH] services: Don't check filesystem even if #:check? if not #:needed-for-boot.

2017-03-14 Thread Danny Milosavljevic
Hi Ludo,

On Tue, 14 Mar 2017 09:41:32 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic  skribis:
> 
> >> One thing I don’t get is that, if the file system is not
> >> needed-for-boot?, then it doesn’t get a Shepherd service in the first
> >> place.  
> >
> > But what is supposed to happen to filesystems where mount? but not 
> > needed-for-boot? if Shepherd doesn't mount it?  Does some other part mount 
> > it ?  Is it just put into fstab or something ?  
> 
> Yes, it’s just put in fstab.  The use case for this is that then you can
> type just “mount /mnt/foo” and ‘mount’ looks it up in /etc/fstab and
> does the right thing.
> 
> >> In your original message, you wrote that the problem is that “the initrd
> >> doesn't contain the fsck tool”, so it’s a problem in linux-initrd.scm,
> >> no?  
> >
> > I don't know where we should fix it.  If you want to reproduce it, I tested 
> > it with this config
> >
> >   (file-systems (cons* ...
> >(file-system
> > (device "NO NAME")
> > (title 'label)
> > (mount-point "/mnt/tmp")
> > (type "vfat")
> > (needed-for-boot? #f)
> > (mount? #t)
> > (check? #t))
> >%base-file-systems))
> >
> > and an USB flash memory stick with name "NO NAME" (the default of the stick 
> > :) ).
> >
> > The effect is if not needed-for-boot? but check? , the boot breaks because 
> > it can't find fsck.vfat .  
> 
> Ooh, I think that’s another problem, then.  :-)
> 
> ‘file-system-shepherd-service’ is bogus: it only handles ext2:
> 
>  (setenv "PATH"
>  (string-append
>   #$e2fsprogs "/sbin:"
>   "/run/current-system/profile/sbin:"
>   $PATH)))

Oops...

> We should fix that to handle vfat, btrfs, etc., just like ‘base-initrd’
> does.  In fact, we should extract the ‘helper-packages’ thing from
> there and factorize it between linux-initrd.scm and services/base.scm.

Sounds good!

However, the above has (needed-for-boot? #f) and Guix still tries to check / 
mount it. Why?





bug#25917: [PATCH] file-systems: Factorize file-system-packages.

2017-03-16 Thread Danny Milosavljevic
* gnu/system/linux-initrd.scm (base-initrd): Move helper-packages body to ...
* gnu/system/file-systems.scm (file-system-packages): ... here.
Also export it.
* gnu/services/base.scm (file-system-shepherd-service): Set PATH by using
file-system-packages.
---
 gnu/services/base.scm   | 12 ++--
 gnu/system/file-systems.scm | 26 ++
 gnu/system/linux-initrd.scm | 18 +-
 3 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 5298a11f6..f3224aae1 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -274,7 +274,9 @@ FILE-SYSTEM."
 (options (file-system-options file-system))
 (check?  (file-system-check? file-system))
 (create? (file-system-create-mount-point? file-system))
-(dependencies (file-system-dependencies file-system)))
+(needed-for-boot? (file-system-needed-for-boot? file-system))
+(dependencies (file-system-dependencies file-system))
+(packages (file-system-packages (list file-system
 (and (file-system-mount? file-system)
  (with-imported-modules '((gnu build file-systems)
   (guix build bournish))
@@ -292,11 +294,9 @@ FILE-SYSTEM."
  ;; Make sure fsck.ext2 & co. can be found.
  (dynamic-wind
(lambda ()
- (setenv "PATH"
- (string-append
-  #$e2fsprogs "/sbin:"
-  "/run/current-system/profile/sbin:"
-  $PATH)))
+ (set-path-environment-variable "PATH"
+'("bin" "sbin")
+'#$packages))
(lambda ()
  (mount-file-system
   `(#$device #$title #$target #$type #$flags
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 7011a279d..8107722c7 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -22,6 +22,8 @@
   #:use-module (guix records)
   #:use-module ((gnu build file-systems)
 #:select (string->uuid uuid->string))
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages disk)
   #:re-export (string->uuid
uuid->string)
   #:export (
@@ -65,6 +67,8 @@
 
 file-system-mapping->bind-mount
 
+file-system-packages
+
 %store-mapping
 %network-configuration-files
 %network-file-mappings))
@@ -411,4 +415,26 @@ a bind mount."
  (writable? (string=? file "/etc/resolv.conf"
   %network-configuration-files))
 
+(define (file-system-type-predicate type)
+  (lambda (fs)
+(string=? (file-system-type fs) type)))
+
+(define* (file-system-packages file-systems #:key (volatile-root? #f))
+ `(,@(if (find (lambda (fs)
+ (string-prefix? "ext" (file-system-type fs)))
+   file-systems)
+ (list e2fsck/static)
+ '())
+   ,@(if (find (lambda (fs)
+ (string-suffix? "fat" (file-system-type fs)))
+   file-systems)
+ (list fatfsck/static)
+ '())
+   ,@(if (find (file-system-type-predicate "btrfs") file-systems)
+ (list btrfs-progs/static)
+ '())
+   ,@(if volatile-root?
+ (list unionfs-fuse/static)
+ '(
+
 ;;; file-systems.scm ends here
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 81c1278c0..1f1c30682 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -272,23 +272,7 @@ loaded at boot time in the order in which they appear."
   ,@extra-modules))
 
   (define helper-packages
-;; Packages to be copied on the initrd.
-`(,@(if (find (lambda (fs)
-(string-prefix? "ext" (file-system-type fs)))
-  file-systems)
-(list e2fsck/static)
-'())
-  ,@(if (find (lambda (fs)
-(string-suffix? "fat" (file-system-type fs)))
-  file-systems)
-(list fatfsck/static)
-'())
-  ,@(if (find (file-system-type-predicate "btrfs") file-systems)
-(list btrfs-progs/static)
-'())
-  ,@(if volatile-root?
-(list unionfs-fuse/static)
-'(
+(file-system-packages file-systems #:volatile-root? volatile-root?))
 
   (raw-initrd file-systems
   #:linux linux





bug#25917: [PATCH] file-systems: Factorize file-system-packages.

2017-03-17 Thread Danny Milosavljevic
Hi Ludo,

On Fri, 17 Mar 2017 10:03:52 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> You can also remove the now-unused ‘file-system-type-predicate’
> procedure that is in ‘base-initrd’.

It's still used there (in order to determine the Linux modules).  Should I also 
export 'file-system-type-predicate` from file-systems.scm and use that in 
'base-initrd` ?  I thought it was too special-case to be a public function.

Also, it seems that the new version (which now uses 
`set-path-environment-variable') clears the old PATH whereas the previous 
version prepended to it.

The previous version has:

 (setenv "PATH"
 (string-append
  #$e2fsprogs "/sbin:"
  "/run/current-system/profile/sbin:"
  $PATH)))

(What does "$" without "#" do?)

The new version would have:

   (lambda ()
 (set-path-environment-variable "PATH"
'("bin" "sbin")
'#$packages))

It works fine - however, I get a warning that PATH has been unset at bootup.

Should we replicate the previous behaviour?

What's up with the hard-coded "/run/current-system/profile/sbin" ?





bug#26136: core-updates: python-minimal@2.7.13 fails due to missing zlib

2017-03-17 Thread Danny Milosavljevic
Hmmm... Python 2.7.13 seems to bundle libffi-3.1. Do we want that?

Also, I checked libffi/configure: If CONFIG_SHELL was set, it would have picked 
it up.

Also, why does Python 2.7.13 try to configure things in the *install* phase ?





bug#25917: [PATCH] file-systems: Factorize file-system-packages.

2017-03-18 Thread Danny Milosavljevic
> > * gnu/system/linux-initrd.scm (base-initrd): Move helper-packages body to 
> > ...
> > * gnu/system/file-systems.scm (file-system-packages): ... here.
> > Also export it.

Pushed those to master as 7208995426714c9fc3ad59cadc3cc0f52df0f018.

> > * gnu/services/base.scm (file-system-shepherd-service): Set PATH by using
> > file-system-packages.  

Will post these to the bugreport first.  It also requires a change in 
guix/build/utils.scm in order for it not to drop the existing search path.





bug#25917: [PATCH v2] services: file-system-shepherd-service: Make it find the fsck programs.

2017-03-18 Thread Danny Milosavljevic
* gnu/services/base.scm (file-system-shepherd-service): Use
file-system-packages.
---
 gnu/services/base.scm | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 5298a11f6..ab5030146 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -274,7 +274,8 @@ FILE-SYSTEM."
 (options (file-system-options file-system))
 (check?  (file-system-check? file-system))
 (create? (file-system-create-mount-point? file-system))
-(dependencies (file-system-dependencies file-system)))
+(dependencies (file-system-dependencies file-system))
+(packages (file-system-packages (list file-system
 (and (file-system-mount? file-system)
  (with-imported-modules '((gnu build file-systems)
   (guix build bournish))
@@ -292,11 +293,12 @@ FILE-SYSTEM."
  ;; Make sure fsck.ext2 & co. can be found.
  (dynamic-wind
(lambda ()
- (setenv "PATH"
- (string-append
-  #$e2fsprogs "/sbin:"
-  "/run/current-system/profile/sbin:"
-  $PATH)))
+ ;; Don’t display the PATH settings.
+ (with-output-to-port (%make-void-port "w")
+   (lambda ()
+ (set-path-environment-variable "PATH"
+'("bin" "sbin")
+'#$packages
(lambda ()
  (mount-file-system
   `(#$device #$title #$target #$type #$flags





bug#26136: core-updates: python-minimal@2.7.13 fails due to missing zlib

2017-03-18 Thread Danny Milosavljevic
Hi Leo,

>The python-minimal package *should* use that libffi. I'm not sure why it's 
>failing now.

Yeah, sorry.  I checked the package definition now and it explicitly disables 
the system libffi.

>Do you mean if CONFIG_SHELL is not set, so the build process can't find libffi?

Yes, a workaround for the first problem is:

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index be452f062..978aeca47 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -192,7 +192,8 @@
   '("Lib/subprocess.py"
 "Lib/popen2.py"
 "Lib/distutils/tests/test_spawn.py"
-"Lib/test/test_subprocess.py"))
+"Lib/test/test_subprocess.py"
+"Modules/_ctypes/libffi/configure"))
(("/bin/sh") (which "sh")))
 
  ;; Use zero as the timestamp in .pyc files so that builds are

The reason why that helps is because the configure script contains embedded 
HERE scripts with their own shebangs which patch-shebang doesn't patch.

An alternative workaround is to use this instead:

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index be452f062..04c944d84 100644
--- a/gnu/packages/python.scm12/bin/shore-updates/guix$ 
/gnu/store/k7029k5va68lka
+++ b/gnu/packages/python.scm
@@ -229,6 +229,8 @@
;; before 1980".  Work around this by setting the file times in the
;; source tree to sometime in early 1980.
(lambda _
+ (setenv "CONFIG_SHELL" (which "bash"))
+
  (let ((circa-1980 (* 10 366 24 60 60)))
(ftw "." (lambda (file stat flag)
   (utime file circa-1980 circa-1980)

>There is also the question about zlib and the bundled pip: why is it failing 
>now?

The above doesn't fix the pip zlib problem.  It's very strange: The value of 
the environment variable C_INCLUDE_PATH includes bzip2 but not zlib.  Might 
make python unable to find zlib.

setup.py does some strange stuff with reading the zlib.h header file manually - 
maybe that broke.  Then it tries to find the library file for libz.  The value 
of the environment variable LIBRARY_PATH doesn't contain zlib either.





bug#26136: core-updates: python-minimal@2.7.13 fails due to missing zlib

2017-03-18 Thread Danny Milosavljevic
Setting the environment variables

  CPPFLAGS="-I/gnu/store/y8c62fyb2x4g4qnl54pmlmid1fn8k3mx-zlib-1.2.8/include"
  LDFLAGS="-L/gnu/store/y8c62fyb2x4g4qnl54pmlmid1fn8k3mx-zlib-1.2.8/lib"

before running configure makes it work.

(I've also printed inc_dirs in setup.py without that - and zlib didn't appear)

So I guess the general question is how does Python set up inc_dirs ?

And is it normal that C_INCLUDE_PATH and LIBRARY_PATH doesn't contain zlib ? 
Apparently, since guix-master python2-minimal 2.7.12 doesn't contain it either 
-  and that one works...

So where would it get the other entries?





bug#26286: python-pexpect 4.2.1 test failure in test_async_utf8

2017-03-28 Thread Danny Milosavljevic
python-pexpect 4.2.1 has a test failure on both master and core-updates:

.E/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which:
 no g77 in (/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)
/gnu/store/cn670s29lsf2nr5axd8gmhl8sb9qpyiq-which-2.21/bin/which: no g77 in 
(/tmp/guix-build-python-pexpect-4.2.1.drv-0/tmpywfead93)

..
==
ERROR: test_async_utf8 (tests.test_async.AsyncTests)
--
Traceback (most recent call last):
  File 
"/tmp/guix-build-python-pexpect-4.2.1.drv-0/pexpect-4.2.1/tests/test_async.py", 
line 57, in test_async_utf8
assert run(p.expect_exact([u'foo', pexpect.EOF], async=True)) == 1
  File 
"/tmp/guix-build-python-pexpect-4.2.1.drv-0/pexpect-4.2.1/tests/test_async.py", 
line 13, in run
return asyncio.get_event_loop().run_until_complete(coro)
  File 
"/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/base_events.py",
 line 387, in run_until_complete
return future.result()
  File 
"/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/futures.py",
 line 274, in result
raise self._exception
  File 
"/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/tasks.py",
 line 239, in _step
result = coro.send(None)
  File 
"/tmp/guix-build-python-pexpect-4.2.1.drv-0/pexpect-4.2.1/pexpect/async.py", 
line 17, in expect_async
.connect_read_pipe(lambda: PatternWaiter(expecter), expecter.spawn)
  File 
"/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/base_events.py",
 line 986, in connect_read_pipe
transport = self._make_read_pipe_transport(pipe, protocol, waiter)
  File 
"/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/unix_events.py",
 line 169, in _make_read_pipe_transport
return _UnixReadPipeTransport(self, pipe, protocol, waiter, extr

bug#26353: GuixSD /tmp cleaner fails to clean when Umlauts like "ä" are used in filenames

2017-04-03 Thread Danny Milosavljevic
Hi,

the GuixSD /tmp cleaner fails to clean when Umlauts like "ä" are used in 
filenames.  It will just leave them there.

For example I have an immortal file 
"/tmp/!x!home!dannym!scratchpost.org!www!mirror!science!physics!03._Relativitätstheorie!.webseealso~".





bug#26353: GuixSD /tmp cleaner fails to clean when Umlauts like "ä" are used in filenames

2017-04-22 Thread Danny Milosavljevic
Hi Ludo,

I've applied it, but the system update is still running.  Because of the 
massive number of patches I write I don't track master daily. I'm always behind 
2 weeks (because that's the time until I can merge a patch).  It seems lately a 
huge update got merged :)

Right now it's compiling qtbase from source locally (not Hydra - no idea why).

70 GiB non-home root partition seems also be too small for it all. I have to do 
guix gc quite often - I'll have to repartition somewhen.

texlive finally downloaded correctly *shrugs*.  Texlive is really getting on my 
nerves - isn't it possible to modularize it more?  Also, one shouldn't require 
2 GiB for a word processor and DTP. *mumble mumble*

But I will test the tmp cleaner, it will just take some time.





  1   2   3   4   5   6   7   8   >