Barlow awards

2019-05-31 Thread Todor Kondić
The Electronic Frontier Foundation has recently established Barlow awards for 
people, or groups who "contributed substantially to the health, growth, 
accessibility, or freedom of computer-based communications. The contribution 
may be technical, social, economic, or cultural."

I think, at the very least, Guix distro frees admins from users and users from 
admins :), so maybe the Guix project could self-nominate . Just to raise the 
awareness a bit.

Here's the link,

https://www.eff.org/nominate-2019-pioneer

Cheers,

Todor

Integrating many packages in Guix at once

2019-07-07 Thread Todor Kondić
Hi,

Our work at LCSB-ECI 
https://wwwen.uni.lu/lcsb/research/environmental_cheminformatics depends on few 
top-level R packages such as RMassBank, ReSOLUTION and RChemMass. These pull in 
many massspec related dependencies that I noticed (last time i checked) are not 
yet in the official Guix.

What is the best strategy to integrate all those packages and the dependencies 
in Guix? A single commit? A package per commit (this sounds like i won't have 
time for that)? Suggestions are appreciated.

The packages in question are available as a public Guix channel from:
https://git-r3lab.uni.lu/eci/eci-pkg-menu

Thanks!

Todor

Re: Icecat doesn't display any text

2019-07-09 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Tuesday, 9 July 2019 18:19, Raghav Gururajan  wrote:

>
>
> > It substitutes anything textual on a page with boxes.
>
> Custom fonts have been disabled my default I persume. Usually in
> IceCat, if you create new tab, it would show list of options. Try
> enabling the custom fonts. ☺
>
> Regards,
> RG.

I solved it by either,

* installing bunch of new fonts
* running fc-cache -f
* re-sourcing .guix-profile/etc/profile
* hash guix

or some combination of the above.

Now gotta kill and reload all those VNC connections to the server in case 
sourcing the profile somehow did it (not likely)...





Re: Icecat doesn't display any text

2019-07-10 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Wednesday, 10 July 2019 03:20, Mike Gerwitz  wrote:

> On Tue, Jul 09, 2019 at 16:32:45 +0000, Todor Kondić wrote:
>
> > I solved it by either,
> >
> > -   installing bunch of new fonts
> > -   running fc-cache -f
> > -   re-sourcing .guix-profile/etc/profile
> > -   hash guix
> >
> > or some combination of the above.
>
> Sourcing the profile would define XDG_DATA_DIRS, which is required for
> font display. Installing fonts and running fc-cache may have provided
> fonts in ~/.guix-profile/share/fonts, which is part of XDG_DATA_DIRS.
>
> This is a known issue (which I experience when running Icecat in a
> container) that hopefully can be addressed by someone who knows a bit
> more than me about the proper way to fix the problem. :) It's a problem
> for people on foreign distros.
>
> --
>
> Mike Gerwitz
> Free Software Hacker+Activist | GNU Maintainer & Volunteer
> GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05
> https://mikegerwitz.com

... for some reasong XDG_DATA_DIRS does not exist anymore in my profile; you 
were right, the fact that this env var is not defined causes icecat garbage; do 
you by any chance know what package to install in order to set the variable?



Re: Icecat doesn't display any text

2019-07-10 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Wednesday, 10 July 2019 09:18, Todor Kondić  wrote:

> ‐‐‐ Original Message ‐‐‐
> On Wednesday, 10 July 2019 03:20, Mike Gerwitz m...@gnu.org wrote:
>
> > On Tue, Jul 09, 2019 at 16:32:45 +0000, Todor Kondić wrote:
> >
> > > I solved it by either,
> > >
> > > -   installing bunch of new fonts
> > > -   running fc-cache -f
> > > -   re-sourcing .guix-profile/etc/profile
> > > -   hash guix
> > >
> > > or some combination of the above.
> >
> > Sourcing the profile would define XDG_DATA_DIRS, which is required for
> > font display. Installing fonts and running fc-cache may have provided
> > fonts in ~/.guix-profile/share/fonts, which is part of XDG_DATA_DIRS.
> > This is a known issue (which I experience when running Icecat in a
> > container) that hopefully can be addressed by someone who knows a bit
> > more than me about the proper way to fix the problem. :) It's a problem
> > for people on foreign distros.
> >
> > Mike Gerwitz
> > Free Software Hacker+Activist | GNU Maintainer & Volunteer
> > GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05
> > https://mikegerwitz.com
>
> ... for some reasong XDG_DATA_DIRS does not exist anymore in my profile; you 
> were right, the fact that this env var is not defined causes icecat garbage; 
> do you by any chance know what package to install in order to set the 
> variable?



My workaround at the moment is to create a bash script,
#!/bin/bash
XDG_DATA_DIRS="$HOME/.guix-profile/share" icecat "$@"

called icecat and residing earlier in the path than the real icecat.




Re: VNC

2019-08-14 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Wednesday, 14 August 2019 11:44, Julien Lepiller  wrote:

> Le 14 août 2019 10:04:19 GMT+02:00, "Todor Kondić via help-guix@gnu.org" 
>  a écrit :
>
> > Is there a VNC service in guix? Doing a brief package search, I found a
> > few clients, but no server.
>
> Nobody seems to have worked on one yet, so no luck for you :/. Maybe others 
> here have a workaround, or can provide more detailed guidance on how to 
> define such a service if you're interested. I have never used VNC myself, so 
> I'm not sure what work is still needed to get a working service definition.

As it looks like virtualbox guest additions are even more difficult to get 
working on Guix, I would be happy to try and come up with service definition 
for a VNC server. TigerVNC comes to mind.

If anyone can come up with some helpful pointers (I did define a few Guix 
packages, but no services so far), it would be appreciated.

Cheers,

Todor



Re: guix repl and ice-9 modules

2019-09-09 Thread Todor Kondić
Oops, my bad. After a closer inspection of %load-path, I noticed that guile 
modules are indeed there, however the one module that I tried to load (ice-9 
readline) seems not to be in the distro anymore.




‐‐‐ Original Message ‐‐‐
On Monday, 9 September 2019 09:47, Todor Kondić via  wrote:

> Is it normal that I can't load ice-9 modules from within guix repl ? Because, 
> this is the default behaviour on my hybrid system (guix on top of pop-os 
> (ubuntu) ).





Re: guix repl and ice-9 modules

2019-09-09 Thread Todor Kondić
... which leads to a question, why is there no readline anymore? I notice it is 
a separate package in guix. Is this a guix decision, or a new development in 
guile?




‐‐‐ Original Message ‐‐‐
On Monday, 9 September 2019 09:55, Todor Kondić  wrote:

> Oops, my bad. After a closer inspection of %load-path, I noticed that guile 
> modules are indeed there, however the one module that I tried to load (ice-9 
> readline) seems not to be in the distro anymore.
>
> ‐‐‐ Original Message ‐‐‐
> On Monday, 9 September 2019 09:47, Todor Kondić via help-guix@gnu.org wrote:
>
> > Is it normal that I can't load ice-9 modules from within guix repl ? 
> > Because, this is the default behaviour on my hybrid system (guix on top of 
> > pop-os (ubuntu) ).





Non-standard builds, autoconf and gcc

2019-10-02 Thread Todor Kondić
I am trying to define a package that builds a source which has

a non-standard build procedure. It's a mix of autotools packages and something 
else. My first attempt was to use the trivial builder, pull in the 
gcc-toolchain along with autotools and use

this mixture for the parts where they can be used. The usual auto(re)conf et 
cetera method.

This unfortunately is one huge mess: even when i patch the  resulting configure 
script not to use hardwired /bin/sh /lib/cpp and such, gcc checks always fail. 
The glibc, gcc-toolchain-X.Y.Z and gcc-X.Y.Z(-lib), as well as binutils, all 
have overlapping, but not entirely same libraries, includes and gcc programs.

My first question,  if I am unable to simply use the gnu build system, but need 
autotools functionality, which packages should I pull in as native inputs for a 
regular C program? Is it the gcc-toolchain, or the hidden package gcc? 
Additionally, should I pull in binutils and glibc? The second question is, how 
to set the build environment? I realised that just installing the gcc-related 
packages does not necessarily mean that gcc knows about where the heck its 
brains and guts are. How to set COMPILER_PATH, LIBRARY_PATH and any other 
relevant environment variables?

Finally, can I work around these problems by calling some of the functionality 
of gnu-build-system from the builder?
Something like,

; trivial system on top-level
.
.
.
#:builder (... do preparatory stuff ...
   (with-directory-excursion "subpackage"
(gnu-build-system-build-only ...)))
.
.
.

Cheers,

Todor









Re: [Blog/Cookbook?] On multiple Guix profiles and manifests

2019-10-07 Thread Todor Kondić
On Saturday, 5 October 2019 12:55, Pierre Neidhardt  wrote:

> Hi!
>
> While the documentation refers to profiles and manifests, it does not tell 
> much
> of the use cases and the practical benefits.
>
> For users coming from non-functional package managers, it's not really obvious
> why we would need profiles.
>
> Regarding manifest, I suppose some people might find them annoying to use
> because updating/adding just 1 program means rebuilding the whole profile, 
> which
> after a Guix pull can be somewhat lengthy.
>
> So what about writing a blog article / cookbook chapter to explain why
> profiles and manifests are truly awesome indeed? (Unless this has
> already been done and I missed it?)
>
> A quick 'n' dirty outline:
>
> A manifest can be slow to install if it's too big. But Guix supports profile,
> which are perfect to break down manifests into multiple sets of semantically
> connected packages.
>
> Example profiles:
>
> -   Emacs.
> -   TeXlive (this one can be really useful when you need to install just one
> package for the next document you've received over email).
>
> -   Your favourite programming language libraries.
> -   The dependencies of a project you are working on
> -   Games :p
>
> We can create a manifest per profile and install them this way:
>
> guix package --manifest=/path/to/guix-dev-manifest.scm 
> --profile=$HOME/.guix-extra-profiles/dev/dev
>
> Placing all your profiles in a single folder, with each profile getting 
> its own
> subfolder is somewhat cleaner, plus it's obvious to "loop over profiles" 
> from
> any programming language (e.g. a shell script) by
> simply looping over the sub-directories of .guix-extra-profiles.
>
> Note that it's also possible to loop over the output of `guix package 
> --list-profiles` although you'll probably have to filter out
> `~/.config/guix/current`.
>
> To "enable" all profiles on login, add this to your .bash_profile (or 
> .profile
> if you don't use bash):
>
> #+begin_src sh
> for i in ~/.guix-extra-profiles/*; do
> profile=$i/$(basename "$i")
> if [ -f "$profile"/etc/profile ]; then
> GUIX_PROFILE="$profile" ; . "$profile"/etc/profile
> fi
> unset profile
> done
> #+end_src
>
> I like to keep the default ~/.guix-profile manifest-less for trash-away 
> packages
> that I would just use for a couple of days.
> This way it's easy to just run
>
> guix install FOO
> guix upgrade BAR
>
> and I don't have to specify the profile.
>
> Other benefits of manifests:
>
> -   No need to generate or maintain a manifest from an ad-hoc profile.
> -   "guix package -u" will always suggest to update some packages of those 
> have
> propagated inputs. Guix manifests avoid this problem.
>
> -   "guix package -u [packages...]" may report conflicts which are annoying to
> resolve manually. Manifests avoid this problem altogether.
>
> Other benefits of multiple profiles
>
> -   It's easy to toggle a specific profile on/off.
> -   When a profile is off, it's easy to enable it for an individual shell 
> without
> "polluting" the rest of the user session:
>
> #+begin_src sh
> GUIX_PROFILE="$profile" ; . "$profile"/etc/profile
> #+end_src
>
> Happy to hear about your feedback!
>
> Cheers!
>
> --
> Pierre Neidhardt
> https://ambrevar.xyz/
>


What is the advantage of having different profiles to just defining different 
top-level packages propagating all programs and libraries one needs and placing 
them in a custom channel? My feeling is, defining a package is cleaner than 
manifests+profiles, because it does not involve creating yet another shell 
program that needs to be sourced.





Re: [Blog/Cookbook?] On multiple Guix profiles and manifests

2019-10-07 Thread Todor Kondić
On Monday, 7 October 2019 17:37, Konrad Hinsen  
wrote:

> Pierre Neidhardt m...@ambrevar.xyz writes:
>
> > Konrad Hinsen konrad.hin...@fastmail.net writes:
> >
> > > Sounds good in principle. I just wonder how many authors (and thus
> > > different preferences and use cases) it takes to make this really
> > > useful. I note for example that my own use of profiles is rather
> > > different from yours: I have per-project profiles for long-term projects
> > > whose software I don't want to update regularly to avoid breaking stuff.
> >
> > Hmmm, this sounds like what I do too! :)
>
> The main difference is that I don't have all my profiles activated
> in normal use, only my main profile plus one project profile. Different
> project profiles can contain different versions of the same software,
> so activating them together is not a good idea.
>
> What got me started with this strategy was the need to use
> Python 2 and Python 3 in different projects. But then it turned out to
> be useful for other software as well.

Persistent environments anyone? :)



> > Anyways, I'm all for discussing multiple strategies, the more the better!
>
> Sounds like a good plan!
>
> Cheers,
> Konrad





Re: Joint statement on the GNU Project

2019-10-11 Thread Todor Kondić
On Friday, 11 October 2019 01:27, Quiliro Ordóñez  wrote:

> * Ricardo Wurmus rek...@elephly.net [2019-10-10 07:09]:
>
> > I have previously asked you privately to stop spamming our mailing
> > lists. I am asking you a second time publicly. If you keep disrupting
> > our mailing lists your posts will be moderated.
>
> Censorship is the suppression of speech, public communication, or other
> information, on the basis that such material is considered
> objectionable, harmful, sensitive, or "inconvenient".


Great to see some fire on otherwise pretty toned down lists, HOWEVER, if we 
could keep it to just one list (help-guix@gnu.org being the least 
INappropriate) that would be great.

My few eurocents: keep calm, submit code (yeah, me too, Mr Remorker!), defend 
core values of GNU. The rest is unavoidable appendage of changing times, minds, 
(mis)understandings and herd mentality.

GNU Guix is an awesome project. However I personally feel about the RMS 
maelstrom, I want to see GNU Guix grow and wish all the best to its maintainers 
(oh, and lets not forget about GNU Guile).



Pull errors with git error 502

2019-12-06 Thread Todor Kondić
A simple `guix pull'

outputs the following,

Updating channel 'eci-pkg-menu' from Git repository at 
'https://git-r3lab.uni.lu/eci/eci-pkg-menu.git'...
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
guix pull: error: Git error: unexpected HTTP status code: 502


and dies.

I tried going back to default channels and still the same error. I also tried 
restarting the guix-daemon, no success.

The guix repository on savannah seems to be alright.

Also note that my installation is about 40 days out of date (no guix pull in 
that amount of time).





Lazy users and updates

2019-12-27 Thread Todor Kondić
Given the user-centric approach of Guix, it feels like it should be up to 
individual users of a shared system to deal with installations and the system 
updates. But, what to do when they are lazy, or too novice for fiddling with 
the command line?

Do I use the admin's prerogative and set their own crontabs to pull and 
"package -u" once in a while? I feel like this is overriding their free will 
for their own good.

Note that the question is ethical, as much as technical :)








Icecat displays mahjong characters instead of alphabet

2020-01-15 Thread Todor Kondić
I know similar questions have been asked here and the problem came and went 
time and again for me personally, but here I am, a new Guix/PopOs installation 
and icecat throwing fits.

The icecat GUI (including the input text boxes), as well as some websites 
display blocks instead of characters. Some other websites do show fonts 
correctly.

Possibly relevant errors:
...
Gtk-Message: 10:48:16.732: Failed to load module "canberra-gtk-module"
Gtk-Message: 10:48:16.734: Failed to load module "canberra-gtk-module"
Gtk-Message: 10:48:16.815: Failed to load module "appmenu-gtk-module"

(/gnu/store/73j8fcmalx3asc5gy0rd2rcij0wqgn9v-icecat-68.4.1-guix0-preview1/lib/icecat/.icecat-real:4621):
 Pango-WARNING **: 10:48:16.816: failed to create cairo scaled font, expect 
ugly output. the offending font is 'Nimbus Sans L 9.9990234375'
...

The abovementioned Nimbus Sans does show up in my fc-list:
fc-list|grep "Nimbus Sans"
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019003l.pfb:
 Nimbus Sans L:style=Regular
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019044l.pfb:
 Nimbus Sans L:style=Bold Condensed
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019023l.pfb:
 Nimbus Sans L:style=Regular Italic
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019063l.pfb:
 Nimbus Sans L:style=Regular Condensed Italic
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019004l.pfb:
 Nimbus Sans L:style=Bold
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019043l.pfb:
 Nimbus Sans L:style=Regular Condensed
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019024l.pfb:
 Nimbus Sans L:style=Bold Italic
/gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019064l.pfb:
 Nimbus Sans L:style=Bold Condensed Italic




I have installed font-dejavu and font-liberation (as well as some other fonts) 
and I also installed fontconfig from guix. That fc-cache has been run in '-f' 
and '-r' forms. I have also tried with the system's /usr/bin/fc-cache. Both 
XDG_DATA_DIRS and XDG_CONFIG_DIRS have been set.

I am running a multiprofile setup, similar to the one described in the cookbook 
(https://guix.gnu.org/cookbook/en/guix-cookbook.html#Advanced-package-management)

icecat version: GNU IceCat 68.4.1esr
guix version: 09bad3cd42ca51974f3697f04ce841bf2fe6786c






Re: Icecat displays mahjong characters instead of alphabet

2020-01-15 Thread Todor Kondić
On Wednesday, 15 January 2020 11:53, Todor Kondić  
wrote:

> I know similar questions have been asked here and the problem came and went 
> time and again for me personally, but here I am, a new Guix/PopOs 
> installation and icecat throwing fits.
>
> The icecat GUI (including the input text boxes), as well as some websites 
> display blocks instead of characters. Some other websites do show fonts 
> correctly.
>
> Possibly relevant errors:
> ...
> Gtk-Message: 10:48:16.732: Failed to load module "canberra-gtk-module"
> Gtk-Message: 10:48:16.734: Failed to load module "canberra-gtk-module"
> Gtk-Message: 10:48:16.815: Failed to load module "appmenu-gtk-module"
>
> (/gnu/store/73j8fcmalx3asc5gy0rd2rcij0wqgn9v-icecat-68.4.1-guix0-preview1/lib/icecat/.icecat-real:4621):
>  Pango-WARNING **: 10:48:16.816: failed to create cairo scaled font, expect 
> ugly output. the offending font is 'Nimbus Sans L 9.9990234375'
> ...
>
> The abovementioned Nimbus Sans does show up in my fc-list:
> fc-list|grep "Nimbus Sans"
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019003l.pfb:
>  Nimbus Sans L:style=Regular
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019044l.pfb:
>  Nimbus Sans L:style=Bold Condensed
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019023l.pfb:
>  Nimbus Sans L:style=Regular Italic
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019063l.pfb:
>  Nimbus Sans L:style=Regular Condensed Italic
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019004l.pfb:
>  Nimbus Sans L:style=Bold
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019043l.pfb:
>  Nimbus Sans L:style=Regular Condensed
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019024l.pfb:
>  Nimbus Sans L:style=Bold Italic
> /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019064l.pfb:
>  Nimbus Sans L:style=Bold Condensed Italic
>
> I have installed font-dejavu and font-liberation (as well as some other 
> fonts) and I also installed fontconfig from guix. That fc-cache has been run 
> in '-f' and '-r' forms. I have also tried with the system's 
> /usr/bin/fc-cache. Both XDG_DATA_DIRS and XDG_CONFIG_DIRS have been set.
>
> I am running a multiprofile setup, similar to the one described in the 
> cookbook 
> (https://guix.gnu.org/cookbook/en/guix-cookbook.html#Advanced-package-management)
>
> icecat version: GNU IceCat 68.4.1esr
> guix version: 09bad3cd42ca51974f3697f04ce841bf2fe6786c

... now is see that the mentioned "Nimbus Sans" is part of the ghostscript 
collection of fonts. Is this GUI compatible?



Re: Icecat displays mahjong characters instead of alphabet

2020-01-15 Thread Todor Kondić
On Wednesday, January 15, 2020 10:55 AM, Todor Kondić  
wrote:

> On Wednesday, 15 January 2020 11:53, Todor Kondić tk.c...@protonmail.com 
> wrote:
>
> > I know similar questions have been asked here and the problem came and went 
> > time and again for me personally, but here I am, a new Guix/PopOs 
> > installation and icecat throwing fits.
> > The icecat GUI (including the input text boxes), as well as some websites 
> > display blocks instead of characters. Some other websites do show fonts 
> > correctly.
> > Possibly relevant errors:
> > ...
> > Gtk-Message: 10:48:16.732: Failed to load module "canberra-gtk-module"
> > Gtk-Message: 10:48:16.734: Failed to load module "canberra-gtk-module"
> > Gtk-Message: 10:48:16.815: Failed to load module "appmenu-gtk-module"
> > (/gnu/store/73j8fcmalx3asc5gy0rd2rcij0wqgn9v-icecat-68.4.1-guix0-preview1/lib/icecat/.icecat-real:4621):
> >  Pango-WARNING **: 10:48:16.816: failed to create cairo scaled font, expect 
> > ugly output. the offending font is 'Nimbus Sans L 9.9990234375'
> > ...
> > The abovementioned Nimbus Sans does show up in my fc-list:
> > fc-list|grep "Nimbus Sans"
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019003l.pfb:
> >  Nimbus Sans L:style=Regular
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019044l.pfb:
> >  Nimbus Sans L:style=Bold Condensed
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019023l.pfb:
> >  Nimbus Sans L:style=Regular Italic
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019063l.pfb:
> >  Nimbus Sans L:style=Regular Condensed Italic
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019004l.pfb:
> >  Nimbus Sans L:style=Bold
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019043l.pfb:
> >  Nimbus Sans L:style=Regular Condensed
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019024l.pfb:
> >  Nimbus Sans L:style=Bold Italic
> > /gnu/store/8ppj83wc1mmrdydh9cy7vqvg0bym8l0q-gs-fonts-8.11/share/fonts/type1/ghostscript/n019064l.pfb:
> >  Nimbus Sans L:style=Bold Condensed Italic
> > I have installed font-dejavu and font-liberation (as well as some other 
> > fonts) and I also installed fontconfig from guix. That fc-cache has been 
> > run in '-f' and '-r' forms. I have also tried with the system's 
> > /usr/bin/fc-cache. Both XDG_DATA_DIRS and XDG_CONFIG_DIRS have been set.
> > I am running a multiprofile setup, similar to the one described in the 
> > cookbook 
> > (https://guix.gnu.org/cookbook/en/guix-cookbook.html#Advanced-package-management)
> > icecat version: GNU IceCat 68.4.1esr
> > guix version: 09bad3cd42ca51974f3697f04ce841bf2fe6786c
>
> ... now is see that the mentioned "Nimbus Sans" is part of the ghostscript 
> collection of fonts. Is this GUI compatible?


Unsurprisingly, the problem was the non-standard setup. The fonts and the 
fontconfig packages were all in a separate sub-profile. After I moved them into 
the standard .guix-profile profile (followed by fc-cache -r) icecat started 
displaying characters correctly.

A word of caution about situations such as this one could be added to the 
"Advanced Package Management" section of the "Guix Cookbook" ... though in the 
case of the CentOS/Guix blog 
(https://guix.gnu.org/blog/2019/running-a-guix-xfce-desktop-on-centos-7) -- 
also a multi-profile setup -- things seemed to work correctly.

But, my setup is different in at least two aspects: 1) fontconfig and the fonts 
were in a profile different from icecat, 2) I am still running the host 
graphical environment. Also, I am not sure, but I think the author of the 
mentioned blog used the system's fc-cache.





Guix and openmpi in a container environment

2020-01-19 Thread Todor Kondić
I am getting mpirun errors when trying to execute a simple

mpirun -np 1 program

(where program is e.g. 'ls') command in a container environment.

The error is usually:

All nodes which are allocated for this job are already filled.

which makes no sense, as I am trying this on my workstation (single socket, 
four cores -- your off-the-shelf i5 cpu) and no scheduling system enabled.


I set up the container with this command:

guix environment -C -N --ad-hoc -m default.scm

where default.scm:

(use-modules (guix packages))
(specifications->manifest
 `(;; Utilities
   "less"
   "bash"
   "make"
   "openssh"
   "guile"
   "nano"
   "glibc-locales"
   "gcc-toolchain@7.4.0"
   "gfortran-toolchain@7.4.0"
   "python"
   "openmpi"
   "fftw"
   "fftw-openmpi"
   ,@(map (lambda (x) (package-name x)) %base-packages)))



Simply installing openmpi (guix package -i openmpi) in my usual Guix profile 
just works out of the box. So, there has to be some quirk where the openmpi 
container installation is blind to some settings within the usual environment.






Re: How to present Guix to a wider audience

2020-01-19 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Wednesday, 15 January 2020 18:44, sirgazil  wrote:

> Hi, Pierre
>
>  On Wed, 15 Jan 2020 03:59:00 -0500 Pierre Neidhardt m...@ambrevar.xyz 
> wrote 
>
> > Thank you all for the reviews and the kind feedback!
>
> >
>
> > It seems that the draft was met with success for now.
>
> > So what about including it on Guix' website, maybe with a big link to it
>
> > on the front page?
>
> I think the problem of "What is Guix?" should be solved before doing that 
> (seehttps://lists.gnu.org/archive/html/help-guix/2020-01/msg2.html).
>
> Personally, I think GNU Guix and its related operating system should be 
> presented separately.
>
> I think that GNU Guix is not a software that needs to be explained to the 
> average computer user. GNU Guix, in my opinion, is a software for system 
> administrators and developers in any field, and it would be good to present 
> it clearly to them in general and provide explanations for particular fields 
> whenever necessary (that's what the section "GNU Guix in your field" in the 
> home page was designed for).
>
> Even though one of GNU Guix goals is to empower users, average users are more 
> into installing and removing application, and that's about it. Ideally, not 
> using a command-line interface directly but a graphical user interface (e.g. 
> an app store).
>
> The operating system, on the other hand, should be presented to average 
> users, and it should be called simply GNU. With this I mean that the GNU 
> project should use GNU Guix to generate downloadable installers of what they 
> call the GNU Operating System in their home page and distribute these 
> installers through the GNU.org website. The pages of GNU.org should be 
> updated accordingly and focus on presenting the GNU operating system to the 
> general public. This would include adding high-level information of the 
> features GNU Guix brings with it (reproducibility, bootstrappability, etc.) 
> which would differentiate GNU from other systems. For advanced uses of the 
> system that require deeper understanding of GNU Guix, advanced users should 
> be directed to the GNU Guix subdomain. The rest of the current Free Software 
> Distributions (Trisquel, PureOS, Parabola, etc.) would still be listed in 
> GNU.org as alternative distributions of the GNU Operating System. I know that 
> RMS opposed to this idea a couple of years ago 
> (https://lists.gnu.org/archive/html/gnu-system-discuss/2014-11/msg2.html),
>  but I think this should be done.
>
> I think this separation could make it easier to outreach to potential users 
> of both artifacts, the OS and the "software environment manager". Calling the 
> OS just GNU would also help differentiate this system from what the general 
> public call "linux".
>
>
>


I am sorry, but Guix should most definitively be presented to average *nix 
based users (the admins of their own/family workstations). It's like: "Look, 
now your grandmother, her cat and your dog can all install packages without 
knowing your sudo password!". This feature alone is highly appealing to some 
circles ;) .

As for more "advanced" users, from the experience I had when talking about Guix 
to the unconverted hackers, they struggle to accept why is it so much better 
than the already hyped technologies that Just Work, such as Chef/Puppet and 
other CI/CD for automating installations (*), Docker/Singularity on their own 
for building containers etc, especially because it is based on an 'exotic' 
language  as Scheme (exotic was the exact word that has been used in a certain 
conversation with an experienced professional developer). Disclaimer: I started 
using Guix because it was based on Guile.

Of course, different target groups should be, well, targeted with different 
aspects of Guix -- those that may appeal to them. And, there is more to Guix 
than just the pkg manager and the OS.

Also, to be fair, Guix is the first complex program of the GNU system I am 
aware of that started making waves in modern times, so on the presentation 
front some things have already been done well.


* I am not an expert on this, so I am not sure whether Guix can fit in the same 
workflow with the mentioned tools, or is in a parallel, or an orthogonal 
universe.



Re: Guix and openmpi in a container environment

2020-01-27 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Sunday, 19 January 2020 11:25, Todor Kondić  wrote:

> I am getting mpirun errors when trying to execute a simple
>
> mpirun -np 1 program
>
> (where program is e.g. 'ls') command in a container environment.
>
> The error is usually:
>
> All nodes which are allocated for this job are already filled.
>
> which makes no sense, as I am trying this on my workstation (single socket, 
> four cores -- your off-the-shelf i5 cpu) and no scheduling system enabled.
>
> I set up the container with this command:
>
> guix environment -C -N --ad-hoc -m default.scm
>
> where default.scm:
>
> (use-modules (guix packages))
> (specifications->manifest
> `(;; Utilities
> "less"
> "bash"
> "make"
> "openssh"
> "guile"
> "nano"
> "glibc-locales"
> "gcc-toolchain@7.4.0"
> "gfortran-toolchain@7.4.0"
> "python"
> "openmpi"
> "fftw"
> "fftw-openmpi"
> ,@(map (lambda (x) (package-name x)) %base-packages)))
>
> Simply installing openmpi (guix package -i openmpi) in my usual Guix profile 
> just works out of the box. So, there has to be some quirk where the openmpi 
> container installation is blind to some settings within the usual environment.

For the environment above,

if the mpirun invocation is changed to provide the hostname

mpirun --host $HOSTNAME:4 -np 4 ls

ls is executed in four processes and the output is four times the contents of 
the current directory as expected.

Of course, ls is not an MPI program. However, testing this elementary fortran 
MPI code,

---
program testrun2
  use mpi
  implicit none
  integer :: ierr

  call mpi_init(ierr)
  call mpi_finalize(ierr)

end program testrun2
---

fails with runtime errors on any number of processes.


The compilation line was:
mpif90 test2.f90 -o testrun2

The mpirun command:
mpirun --host $HOSTNAME:4 -np 4


Let me reiterate, there is no need to declare the host and its maximal number 
of slots in the normal user environment. Also, the runtime errors are gone.

Could it be that the openmpi package needs a few other basic dependencies not 
present in the package declaration for the particular case of a single node 
(normal PC) machine?

Also, I noted that gfortran/mpif90 ignores "CPATH" and "LIBRARY_PATH" env 
variables. I had to specify this explicitly via -I and -L flags to the compiler.





Re: Guix and openmpi in a container environment

2020-01-27 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Monday, 27 January 2020 11:54, Todor Kondić  wrote:

> ‐‐‐ Original Message ‐‐‐
> On Sunday, 19 January 2020 11:25, Todor Kondić tk.c...@protonmail.com wrote:
>
> > I am getting mpirun errors when trying to execute a simple
> > mpirun -np 1 program
> > (where program is e.g. 'ls') command in a container environment.
> > The error is usually:
> > All nodes which are allocated for this job are already filled.
> > which makes no sense, as I am trying this on my workstation (single socket, 
> > four cores -- your off-the-shelf i5 cpu) and no scheduling system enabled.
> > I set up the container with this command:
> > guix environment -C -N --ad-hoc -m default.scm
> > where default.scm:
> > (use-modules (guix packages))
> > (specifications->manifest
> > `(;; Utilities
> > "less"
> > "bash"
> > "make"
> > "openssh"
> > "guile"
> > "nano"
> > "glibc-locales"
> > "gcc-toolchain@7.4.0"
> > "gfortran-toolchain@7.4.0"
> > "python"
> > "openmpi"
> > "fftw"
> > "fftw-openmpi"
> > ,@(map (lambda (x) (package-name x)) %base-packages)))
> > Simply installing openmpi (guix package -i openmpi) in my usual Guix 
> > profile just works out of the box. So, there has to be some quirk where the 
> > openmpi container installation is blind to some settings within the usual 
> > environment.
>
> For the environment above,
>
> if the mpirun invocation is changed to provide the hostname
>
> mpirun --host $HOSTNAME:4 -np 4 ls
>
> ls is executed in four processes and the output is four times the contents of 
> the current directory as expected.
>
> Of course, ls is not an MPI program. However, testing this elementary fortran 
> MPI code,
>
> -
>
> program testrun2
> use mpi
> implicit none
> integer :: ierr
>
> call mpi_init(ierr)
> call mpi_finalize(ierr)
>
> end program testrun2
>
> --
>
> fails with runtime errors on any number of processes.
>
> The compilation line was:
> mpif90 test2.f90 -o testrun2
>
> The mpirun command:
> mpirun --host $HOSTNAME:4 -np 4
>
> Let me reiterate, there is no need to declare the host and its maximal number 
> of slots in the normal user environment. Also, the runtime errors are gone.
>
> Could it be that the openmpi package needs a few other basic dependencies not 
> present in the package declaration for the particular case of a single node 
> (normal PC) machine?
>
> Also, I noted that gfortran/mpif90 ignores "CPATH" and "LIBRARY_PATH" env 
> variables. I had to specify this explicitly via -I and -L flags to the 
> compiler.



After playing around a bit more, I can confirm that pure guix environment does 
works. Therefore, my solution is to get rid of -C flag and use --pure when 
developing and testing the MPI code on my workstation. Of course, it would be 
interesting to find out why OpenMPI stops working inside the "-C" environment. 
The closest problem solved on the net that I could find was about the friction 
between the new vader shared memory module of the OpenMPI and Docker containers 
(https://github.com/open-mpi/ompi/issues/4948). The recommended circumvention 
technique did not work, but it feels related.




Emacs, distro with guix as package manager and guix.d

2020-02-05 Thread Todor Kondić
Hi,

The documentation claims that emacs installed by guix "knows" where the site 
packages, including the guix.d installed packages are found. But, this seems 
not to be the case, at least for one of my setups.

I have multiple profiles, one of them reserved for emacs. Among the packages in 
that profile, there is only a single one in site-lisp/guix.d . This is the 
*ess* package. This is also a single package that does not load properly.

The EMACSLOADPATH variable contains .../share/emacs/site-lisp and 
.../share/emacs/26.3/lisp paths, where ... is the profile path. I do not see 
any mention of guix.d there, but then, maybe it is not supposed to be there.

On another computer, also with hybrid distro, I have exactly the same profile 
setup, but ess works. The EMACSLOADPATH seems to have been built up in an 
analogous fashion, again no mention of guix.d.

Does anyone have any hints as to why ess might not get properly loaded, or what 
should I look for? The only difference I can currently think of is that in the 
former case (the setup that does not work), I start emacs from the command 
line, and in the latter as a deamon, so there might be something wrong with the 
environment.

Cheers,

Todor


PS Great talks last Sunday ;-). Sorry I did not say hello to more of you, but 
had to catch the train back home.








Re: Emacs, distro with guix as package manager and guix.d

2020-02-05 Thread Todor Kondić
 wrote:

>
>
> Hi Todor,
>
> > The documentation claims that emacs installed by guix "knows" where
> > the site packages, including the guix.d installed packages are
> > found. But, this seems not to be the case, at least for one of my
> > setups.
>
> […]
>
> > The EMACSLOADPATH variable contains .../share/emacs/site-lisp and
> > .../share/emacs/26.3/lisp paths, where ... is the profile path. I do
> > not see any mention of guix.d there, but then, maybe it is not
> > supposed to be there.
>
> The guix.d directory has been removed. What version of Guix are you using?
>
> -
>
> Ricardo

guix --version:

d441a6455051d70d7ff0d951c7e68318499b1739



Conflict with duplicate dependencies after removing and attempting to reinstall gnucash package

2020-07-05 Thread Todor Kondić
Hi,

So, I installed gnucash package, then removed it. Now I tried to install it 
again (after a pull and upgrade) and I have this:

The following package will be installed:
   gnucash 3.8

guix package: error: profile contains conflicting entries for dconf
guix package: error:   first entry: dconf@0.34.0 
/gnu/store/y0m48gd4hasgbjgwwy4q1c7jn7j7db4z-dconf-0.34.0
guix package: error:... propagated from gnucash@3.8
guix package: error:   second entry: dconf@0.34.0 
/gnu/store/sb4f1xyfzlk189lnr56sv6mj1mwcclb9-dconf-0.34.0
guix package: error:... propagated from gnucash@3.8
hint: You cannot have two different versions or variants of `gnucash' in the 
same profile.


I wonder what went wrong and how to fix this?




Re: Conflict with duplicate dependencies after removing and attempting to reinstall gnucash package

2020-07-05 Thread Todor Kondić
Thanks zimoun.

What baffles me is that both dconf entries come from gnucash, even the same 
version of it. I did experiment with multiple profiles, but I am pretty sure I 
don't have the program in any of them any more.





‐‐‐ Original Message ‐‐‐
On Sunday, 5 July 2020 13:06, zimoun  wrote:

> Dear,
>
> On Sun, 05 Jul 2020 at 09:57, Todor Kondić tk.c...@protonmail.com wrote:
>
> > So, I installed gnucash package, then removed it. Now I tried to install it 
> > again (after a pull and upgrade) and I have this:
> > The following package will be installed:
> > gnucash 3.8
> > guix package: error: profile contains conflicting entries for dconf
> > guix package: error: first entry: dconf@0.34.0 
> > /gnu/store/y0m48gd4hasgbjgwwy4q1c7jn7j7db4z-dconf-0.34.0
> > guix package: error: ... propagated from gnucash@3.8
> > guix package: error: second entry: dconf@0.34.0 
> > /gnu/store/sb4f1xyfzlk189lnr56sv6mj1mwcclb9-dconf-0.34.0
> > guix package: error: ... propagated from gnucash@3.8
> > hint: You cannot have two different versions or variants of `gnucash' in 
> > the same profile.
> > I wonder what went wrong and how to fix this?
>
> It depends on the packages you have in your profile. Well, you can:
>
> -   update all the packages of the profile to your latest pull,
> -   install gnucash in another profile if you do not want touch the
> packages of this profile,
>
> -   use the option "--allow-collisions" of "guix package"
>
> Hope that helps,
> simon
>





Re: Certificate problem with curl, though icecat works

2020-08-13 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Thursday, 13 August 2020 08:55, Giovanni Biscuolo  wrote:

> Giovanni Biscuolo g...@xelera.eu writes:
>
> [...]
>
> > > $ curl 
> > > https://actorws.epa.gov/actorws/chemIdentifier/v01/resolve.json?identifier=MKXZASYAUGDDCJ-NJAFHUGGSA-N
> > > curl: (60) server certificate verification failed. CAfile: 
> > > /home/user/.guix-profiles/profile/etc/ssl/certs/ca-certificates.crt 
> > > CRLfile: none
> > > More details here: https://curl.haxx.se/docs/sslcerts.html
> > > ca-certificates.crt exists at the CAfile location and CURL_CA_BUNDLE is 
> > > set properly.
> >
> > This is similar to
> > https://lists.gnu.org/archive/html/help-guix/2020-06/msg00025.html
>
> No, this is a different issue:
>
> --8<---cut here---start->8---
>
> gnutls-cliactorws.epa.gov
>
> Processed 128 CA certificate(s).
> Resolving 'actorws.epa.gov:443'...
> Connecting to '134.67.99.60:443'...
>
> -   Certificate type: X.509
>
> -   Got a certificate list of 2 certificates.
>
> -   Certificate[0] info:
>
> -   subject `CN=*.epa.gov,OU=OMS/OITO/EHD,O=Environmental Protection 
> Agency,L=Durham,ST=North Carolina,C=US', issuer`CN=DigiCert SHA2 Secure 
> Server CA,O=DigiCert Inc,C=US', serial 0x0caca7602da89b50c3820b33518c827a, 
> RSA key 2048 bits, signed using RSA-SHA256, activated `2019-04-25 00:00:00 
> UTC', expires`2021-04-19 12:00:00 UTC', 
> pin-sha256="o5d2tkYzGNEoALzaPpAd5q+Sima2MnbbItE64CpyDCk="
> Public Key ID:
> sha1:884a27ada33cc533411036cde08f7c83bee2580e
> sha256:a39776b6463318d12800bcda3e901de6af928a66b63276db22d13ae02a720c29
> Public Key PIN:
> pin-sha256:o5d2tkYzGNEoALzaPpAd5q+Sima2MnbbItE64CpyDCk=
>
> -   Certificate[1] info:
>
> -   subject `CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US', 
> issuer`CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US', 
> serial 0x01fda3eb6eca75c888438b724bcfbc91, RSA key 2048 bits, signed using 
> RSA-SHA256, activated `2013-03-08 12:00:00 UTC', expires`2023-03-08 12:00:00 
> UTC', pin-sha256="5kJvNEMw0KjrCAu7eXY5HZdvyCS13BbA0VJG1RSP91w="
> |<1>| Got OCSP response with an unrelated certificate.
>
> -   Status: The certificate is NOT trusted. The received OCSP status response 
> is invalid.
> *** PKI verification of server certificate failed...
> *** Fatal error: Error in the certificate.
> [~]-
>
> --8<---cut here---end--->8---
>
>
> I'm going to open a bug report upstream (gnutls), thanks for your
> report.
>
> Best regards, Gio'
>
> 
>
> Giovanni Biscuolo
>
> Xelera IT Infrastructures


Thanks for confirming this! I pulled the newest Guix and updated gnutls and 
that did not solve the issue. Please let me know when you post the issue, so I 
can track it.



Re: Guix in nature.com

2020-08-25 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Monday, 24 August 2020 15:37, Jérémy Korwin-Zmijowski 
 wrote:

> Haha, nice shot !
>
> https://www.nature.com/articles/d41586-020-02462-7
>
> Jérémy


>From the article:

Python 2.7 puts “at our disposal an advanced programming language that is 
guaranteed not to evolve anymore”, Rougier writes.

That's kind of an inverse of: Après nous, le déluge

:)


Great to have more visibility for Guix. Now when "They" blank-stare me while 
I'm talking about Guix (which I stubbornly refuse to pronouns Geeks) I can 
point them to this piece.



Problem with guix pull (error when generating cashe for a package)

2020-09-21 Thread Todor Kondić
Hi,

Doing a pull this morning (guix pull -c4) results in this error:
(repl-version 0 1 1)
Generating package cache for 
'/gnu/store/9h588g8m8rz57yy465gi32m0822s1nsd-profile'...
(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value 
(r-preprocesscore)) (value #f))

I thought this is odd, because no R programs are in my default profile. I also 
do not think those listed below depend on r-preprocesscore:

guix package -I:
markdown
pigz
whois
recordmydesktop
git
angband
gnucash
crawl
crawl-tiles
w3m
gimp
stellarium
celestia
tuxpaint
adb

*** end list of installed packages ***




Another interesting thing is that when,

guix package -r gnucash

I get,

guix package: warning: Your Guix installation is 26 days old.
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

guix package: error: package 'gnucash' not found in profile

*** end of remove gnucash output ***


I do have other profiles laying around, but they should not matter in this 
case, should they?




Re: Problem with guix pull (error when generating cashe for a package)

2020-09-21 Thread Todor Kondić
‐‐‐ Original Message ‐‐‐
On Monday, 21 September 2020 09:18, Todor Kondić  wrote:

> Hi,
>
> Doing a pull this morning (guix pull -c4) results in this error:
> (repl-version 0 1 1)
> Generating package cache for 
> '/gnu/store/9h588g8m8rz57yy465gi32m0822s1nsd-profile'...
> (exception unbound-variable (value #f) (value "Unbound variable: ~S") (value 
> (r-preprocesscore)) (value #f))
>
> I thought this is odd, because no R programs are in my default profile. I 
> also do not think those listed below depend on r-preprocesscore:
>
> guix package -I:
> markdown
> pigz
> whois
> recordmydesktop
> git
> angband
> gnucash
> crawl
> crawl-tiles
> w3m
> gimp
> stellarium
> celestia
> tuxpaint
> adb
>
> *** end list of installed packages ***
>
> Another interesting thing is that when,
>
> guix package -r gnucash
>
> I get,
>
> guix package: warning: Your Guix installation is 26 days old.
> guix package: warning: Consider running 'guix pull' followed by
> 'guix package -u' to get up-to-date packages and security updates.
>
> guix package: error: package 'gnucash' not found in profile
>
> *** end of remove gnucash output ***
>
> I do have other profiles laying around, but they should not matter in this 
> case, should they?

About the second issue (gnucash), just to be more precise, guix lists gnucash 
as installed in the default .guix-profile profile, but when trying to remove it 
"guix package -r gnucash" returns the error (gnucash not found in profile).





Setting GI_TYPELIB_PATH breaks Gnome @ Pop-OS

2020-09-29 Thread Todor Kondić


Hi all,

A $GUIX_PROFILE/etc/profile script sets GI_TYPELIB_PATH to something. On a 
hybrid (Guix+PopOS) system this prevents logging in (the "Uh Oh! ..." Gnome 
crash message).

cat /etc/os-release
---
NAME="Pop!_OS"
VERSION="20.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://pop.system76.com";
SUPPORT_URL="https://support.system76.com";
BUG_REPORT_URL="https://github.com/pop-os/pop/issues";
PRIVACY_POLICY_URL="https://system76.com/privacy";
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
LOGO=distributor-logo-pop-os
-

Gnome version is 3.36.3



Is it fine if I unset this variable? Or, can it hold more than one paths (so if 
I figure out what is the default path on my system I can add).




Fonts do not work with multiple profiles (fontconfig) and a proposed workaround

2020-09-29 Thread Todor Kondić
Here's my experience with guix-as-a-package-manager, fontconfig and multiple 
profiles.


If fonts are installed in a profile different than the default one, 
applications do not pick them up out of the box. I.e. icecat shows characters 
as squares and you cannot select a cool non standard font in your GTK Emacs.

After digging into this matter, I concluded that the culprit is the main config 
file situated in some-nondefault-guix-profile/etc/fonts/fonts.conf

Here's a snippet:
-



/gnu/store/7y3lvk3xf4im8n44337mc6y0ccysvfia-font-dejavu-2.37/share/fonts
~/.guix-profile/share/fonts 
/run/current-system/profile/share/fonts
fonts

~/.fonts
---

Clearly, some-nondefault-guix-profile/share/fonts is not among the list of dirs 
that are searched for font definitions. I'd call this a bug, but maybe it's by 
design. Still, shouldn't guix package definitions respect the -p flag to 
package command?


Anyway, the workaround is the following. See this snippet of the same config 
file,


conf.d


-

This means it includes the conf files in ...profile/etc/conf.d. The README file 
reveals that 5?-*.conf files are used for additional customisation. This makes 
50-user.conf particularly interesting. And, here it is ...

-
fontconfig/conf.d
fontconfig/fonts.conf

~/.fonts.conf.d
~/.fonts.conf
-

Apparently , ~/.config/fontconfig/fonts.conf (xdg prefix being ~/.config) is 
the place to add some more config

After creating ~/.config/fontconfig/fonts.conf with the following content

-




http://www.w3.org/2005/11/its"; version="1.0">



Default configuration file



~/.guix-pillars/pillar/share/fonts



--

and running fc-cache -rvf the fontconfig-aware programs were able to select 
fonts from the non-default guix profile.


Hope this helps (me again in six monts from now)!

T







Re: Problem with guix pull (error when generating cashe for a package)

2020-09-29 Thread Todor Kondić
On Tuesday, 29 September 2020 19:04, zimoun  wrote:

> Hi,
>
> On Mon, 21 Sep 2020 at 07:18, Todor Kondić tk.c...@protonmail.com wrote:
>
> > Hi,
> > Doing a pull this morning (guix pull -c4) results in this error:
> > (repl-version 0 1 1)
> > Generating package cache for 
> > '/gnu/store/9h588g8m8rz57yy465gi32m0822s1nsd-profile'...
> > (exception unbound-variable (value #f) (value "Unbound variable: ~S") 
> > (value (r-preprocesscore)) (value #f))
>
> What is your output of “guix describe”?
>
> > Another interesting thing is that when,
> > guix package -r gnucash
> > I get,
> > guix package: warning: Your Guix installation is 26 days old.
> > guix package: warning: Consider running 'guix pull' followed by
> > 'guix package -u' to get up-to-date packages and security updates.
> > guix package: error: package 'gnucash' not found in profile
>
> What is your output of “guix package -l”?
>
> All the best,
> simon

Hello,

I solved the first issue. The r-preprocessorcore package has probably been 
moved to a different module (bioconductor) and one of the packages in my custom 
channel depending on it just needed to be updated with an additional use-module 
entry.

As for the second problem, I wiped the entire system recently, so I cannot 
comment any further on this :)




Re: Fonts do not work with multiple profiles (fontconfig) and a proposed workaround

2020-09-30 Thread Todor Kondić
> Hi Todor,
>
> Indeed, this workaround does the trick.
> Here is my ~/.config/fontconfig/fonts.conf:
>
> --8<---cut here---start->8---
> 
> 
> 
> 
> ~/.guix-extra-profiles/emacs/emacs/share/fonts
> 
> --8<---cut here---end--->8---
>
> Packages' content is static, it is not modifier upon install, which is
> why the default etc/fonts/fonts.conf is pointing to constant locations.
>
> The solution to this bug, I believe, would be to add a post-install
> hook that generates the fonts.conf file with the right entries.
>
> Cheers!
>
> ---
>
> Pierre Neidhardt
> https://ambrevar.xyz/

Hi Pierre,

Yes, of course you are right. Packages are installed once and then reused in 
different profiles (AFAIK). I just did not give much thought to it at the 
moment. Supporting multiple profiles in a package can be a real pain, right? I 
mean, there is no magic bullet. In the case of fontconfig, we have the ability 
to modify the fonts.conf in order to add more font paths. As for other 
programs, there is usually a way, but it is not universal.

Of course, the hammer solution would be to shove a package going into a 
different profile into a different store entry (under assumption that at the 
build-time the package takes -p option as the default). Perhaps something like 
that could be offered as an option to users? Maybe this is even possible now? I 
have not done any research on it.

On the other hand, I have not seen any real "official" endorsement of 
multi-profile setups by Guix as a project :) .

Cheers,

T




R, knitr and texlive on Guix (as a package manager)

2020-10-15 Thread Todor Kondić
Hello Guix,

I am trying to generate a pdf report using R and knitr and PDF LaTeX. More 
specifically, I was trying out a sample document that comes with knitr package. 
This is the code to generate the output:

```r
require(knitr)
s = system.file("misc", "stitch-test.R", package = "knitr")
stitch(s)
```

Now, tangling this into a pdf revealed several missing LaTeX packages (which I 
installed), but then it finally died with this error,

*
output file: stitch-test.tex

! Math formula deleted: Insufficient symbol fonts.
 \setbox \z@ \vbox {\hbox {$($
 }\kern \z@ }\global \big@size 
1.2\ht \z@
l.87 T
  he results below are generated from an R script.

Error: LaTeX failed to compile stitch-test.tex. See 
https://yihui.org/tinytex/r/#debugging for debugging tips. See stitch-test.log 
for more info.
**

The full tangled tex file is all the way at the bottom;


Looking through the log file, I noticed


LaTeX Font Info:Try loading font information for T1+pplx on input line 76.
LaTeX Font Info:No file T1pplx.fd. on input line 76.

LaTeX Font Warning: Font shape `T1/pplx/m/n' undefined
(Font)  using `T1/cmr/m/n' instead on input line 76.



and also, a couple of additional font warnings just before the error,


LaTeX Font Info:Try loading font information for OT1+pplx on input line 87.
LaTeX Font Info:No file OT1pplx.fd. on input line 87.

LaTeX Font Warning: Font shape `OT1/pplx/m/n' undefined
(Font)  using `OT1/cmr/m/n' instead on input line 87.

LaTeX Font Info:Try loading font information for OML+zplm on input line 87.
LaTeX Font Info:No file OMLzplm.fd. on input line 87.

LaTeX Font Warning: Font shape `OML/zplm/m/it' undefined
(Font)  using `OML/cmm/m/it' instead on input line 87.

LaTeX Font Info:Try loading font information for OMS+zplm on input line 87.
LaTeX Font Info:No file OMSzplm.fd. on input line 87.

LaTeX Font Warning: Font shape `OMS/zplm/m/n' undefined
(Font)  using `OMS/cmsy/m/n' instead on input line 87.

LaTeX Font Info:Try loading font information for OMX+zplm on input line 87.
LaTeX Font Info:No file OMXzplm.fd. on input line 87.

LaTeX Font Warning: Font shape `OMX/zplm/m/n' undefined
(Font)  using `OMX/cmex/m/n' instead on input line 87.

LaTeX Font Info:External font `cmex10' loaded for size
(Font)  <12> on input line 87.
LaTeX Font Info:External font `cmex10' loaded for size
(Font)  <9> on input line 87.
LaTeX Font Info:External font `cmex10' loaded for size
(Font)  <7> on input line 87.
LaTeX Font Info:Try loading font information for OT1+zplm on input line 87.
LaTeX Font Info:No file OT1zplm.fd. on input line 87.

LaTeX Font Warning: Font shape `OT1/zplm/m/n' undefined
(Font)  using `OT1/cmr/m/n' instead on input line 87.

*

The tangled tex file itself uses T1 fonts,
```tex
\usepackage[T1]{fontenc}
```


I guess this is a question of installing the right texlive package, or font, so 
I am wondering if any of you would have an idea which (texlive) package to 
install. I found mention of those "*.fd" files in the psnfss package, but 
installing it (texlive-latex-psnfss) did not change a thing.

The entire tex file follows (try pdflatex stitch-test.tex):
 stitch-test.tex ***
\documentclass{article}\usepackage[]{graphicx}\usepackage[]{color}
% maxwidth is the original width if it is less than linewidth
% otherwise use linewidth (to make sure the graphics do not exceed the margin)
\makeatletter
\def\maxwidth{ %
  \ifdim\Gin@nat@width>\linewidth
\linewidth
  \else
\Gin@nat@width
  \fi
}
\makeatother

\definecolor{fgcolor}{rgb}{0.345, 0.345, 0.345}
\newcommand{\hlnum}[1]{\textcolor[rgb]{0.686,0.059,0.569}{#1}}%
\newcommand{\hlstr}[1]{\textcolor[rgb]{0.192,0.494,0.8}{#1}}%
\newcommand{\hlcom}[1]{\textcolor[rgb]{0.678,0.584,0.686}{\textit{#1}}}%
\newcommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{#1}}%
\newcommand{\hlstd}[1]{\textcolor[rgb]{0.345,0.345,0.345}{#1}}%
\newcommand{\hlkwa}[1]{\textcolor[rgb]{0.161,0.373,0.58}{\textbf{#1}}}%
\newcommand{\hlkwb}[1]{\textcolor[rgb]{0.69,0.353,0.396}{#1}}%
\newcommand{\hlkwc}[1]{\textcolor[rgb]{0.333,0.667,0.333}{#1}}%
\newcommand{\hlkwd}[1]{\textcolor[rgb]{0.737,0.353,0.396}{\textbf{#1}}}%
\let\hlipl\hlkwb

\usepackage{framed}
\makeatletter
\newenvironment{kframe}{%
 \def\at@end@of@kframe{}%
 \ifinner\ifhmode%
  \def\at@end@of@kframe{\end{minipage}}%
  \begin{minipage}{\columnwidth}%
 \fi\fi%
 \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep
 \colorbox{shadecolor}{##1}\hskip-\fboxsep
 % There is no \\@totalrightmargin, so:
 \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
 \MakeFramed {\advance\hsize-\width
   \@totalleftmargin\z@ \linewi

Re: R, knitr and texlive on Guix (as a package manager)

2020-10-15 Thread Todor Kondić
 wrote:

> Hello Guix,
>
> I am trying to generate a pdf report using R and knitr and PDF LaTeX. More 
> specifically, I was trying out a sample document that comes with knitr 
> package. This is the code to generate the output:
>
> require(knitr)
> s = system.file("misc", "stitch-test.R", package = "knitr")
> stitch(s)
>
>
> Now, tangling this into a pdf revealed several missing LaTeX packages (which 
> I installed), but then it finally died with this error,
>
> output file: stitch-test.tex
>
> ! Math formula deleted: Insufficient symbol fonts.
>  \setbox \z@ \vbox {\hbox {$($
>
>  }\\kern \\z@ }\\global 
> \\big@size 1.2\\ht \\z@
>
>
> l.87 T
> he results below are generated from an R script.
>
> Error: LaTeX failed to compile stitch-test.tex. See 
> https://yihui.org/tinytex/r/#debugging for debugging tips. See 
> stitch-test.log for more info.
>
> The full tangled tex file is all the way at the bottom;
>
> Looking through the log file, I noticed
>
> LaTeX Font Info: Try loading font information for T1+pplx on input line 76.
> LaTeX Font Info: No file T1pplx.fd. on input line 76.
>
> LaTeX Font Warning: Font shape `T1/pplx/m/n' undefined (Font) 
> using`T1/cmr/m/n' instead on input line 76.
>
> and also, a couple of additional font warnings just before the error,
>
> LaTeX Font Info: Try loading font information for OT1+pplx on input line 87.
> LaTeX Font Info: No file OT1pplx.fd. on input line 87.
>
> LaTeX Font Warning: Font shape `OT1/pplx/m/n' undefined (Font) 
> using`OT1/cmr/m/n' instead on input line 87.
>
> LaTeX Font Info: Try loading font information for OML+zplm on input line 87.
> LaTeX Font Info: No file OMLzplm.fd. on input line 87.
>
> LaTeX Font Warning: Font shape `OML/zplm/m/it' undefined (Font) 
> using`OML/cmm/m/it' instead on input line 87.
>
> LaTeX Font Info: Try loading font information for OMS+zplm on input line 87.
> LaTeX Font Info: No file OMSzplm.fd. on input line 87.
>
> LaTeX Font Warning: Font shape `OMS/zplm/m/n' undefined (Font) 
> using`OMS/cmsy/m/n' instead on input line 87.
>
> LaTeX Font Info: Try loading font information for OMX+zplm on input line 87.
> LaTeX Font Info: No file OMXzplm.fd. on input line 87.
>
> LaTeX Font Warning: Font shape `OMX/zplm/m/n' undefined (Font) 
> using`OMX/cmex/m/n' instead on input line 87.
>
> LaTeX Font Info: External font `cmex10' loaded for size
> (Font) <12> on input line 87.
> LaTeX Font Info: External font `cmex10' loaded for size
> (Font) <9> on input line 87.
> LaTeX Font Info: External font `cmex10' loaded for size
> (Font) <7> on input line 87.
> LaTeX Font Info: Try loading font information for OT1+zplm on input line 87.
> LaTeX Font Info: No file OT1zplm.fd. on input line 87.
>
> LaTeX Font Warning: Font shape `OT1/zplm/m/n' undefined (Font) 
> using`OT1/cmr/m/n' instead on input line 87.
>
> The tangled tex file itself uses T1 fonts,
>
> \\usepackage[T1]{fontenc}
>
>
> I guess this is a question of installing the right texlive package, or font, 
> so I am wondering if any of you would have an idea which (texlive) package to 
> install. I found mention of those "*.fd" files in the psnfss package, but 
> installing it (texlive-latex-psnfss) did not change a thing.
>
> The entire tex file follows (try pdflatex stitch-test.tex):
>  stitch-test.tex ***
> \documentclass{article}\usepackage[]{graphicx}\usepackage[]{color}
> % maxwidth is the original width if it is less than linewidth
> % otherwise use linewidth (to make sure the graphics do not exceed the margin)
> \makeatletter
> \def\maxwidth{ %
> \ifdim\Gin@nat@width>\linewidth
>
> \\linewidth
>
>
> \else
> \Gin@nat@width
> \fi
> }
> \makeatother
>
> \definecolor{fgcolor}{rgb}{0.345, 0.345, 0.345}
> \newcommand{\hlnum}[1]{\textcolor[rgb]{0.686,0.059,0.569}{#1}}%
> \newcommand{\hlstr}[1]{\textcolor[rgb]{0.192,0.494,0.8}{#1}}%
> \newcommand{\hlcom}[1]{\textcolor[rgb]{0.678,0.584,0.686}{\textit{#1}}}%
> \newcommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{#1}}%
> \newcommand{\hlstd}[1]{\textcolor[rgb]{0.345,0.345,0.345}{#1}}%
> \newcommand{\hlkwa}[1]{\textcolor[rgb]{0.161,0.373,0.58}{\textbf{#1}}}%
> \newcommand{\hlkwb}[1]{\textcolor[rgb]{0.69,0.353,0.396}{#1}}%
> \newcommand{\hlkwc}[1]{\textcolor[rgb]{0.333,0.667,0.333}{#1}}%
> \newcommand{\hlkwd}[1]{\textcolor[rgb]{0.737,0.353,0.396}{\textbf{#1}}}%
> \let\hlipl\hlkwb
>
> \usepackage{framed}
> \makeatletter
> \newenvironment{kframe}{%
> \def\at@end@of@kframe{}%
> \ifinner\ifhmode%
> \def\at@end@of@kframe{\end{minipage}}%
> \begin{minipage}{\columnwidth}%
> \fi\fi%
> \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep
> \colorbox{shadecolor}{##1}\hskip-\fboxsep
> % There is no \\@totalrightmargin, so:
> \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
> \MakeFramed {\advance\hsize-\width
> \@totalleftmargin\z@ \linewidth\hsize
> \@setminipage}}%
> {\par\unskip\endMakeFramed%
> \at@end@of@kframe}
> \makeatother
>
> \

rust: where is cargo?

2020-12-26 Thread Todor Kondić
Hello,

I have been playing with rust and the first thing I noticed with the guix 
installation is that there is no cargo. More accurately, there is indeed an 
output of the rust package called "cargo" and there are entries for cargo with 
bin paths in the store, but nothing that ends up in the PATH variable 
(etc/profile).

So, what's the deal here? I know that guix approach is to replace package 
managers, but cargo is more than that and, at least, a tool needed to follow 
the rust book while learning.










inferiors and services

2021-02-15 Thread Todor Kondić
Dear guixians,

During the operating system instantiation -- either through `reconfigure`, or 
various `image` procedures) -- is the only possible way of controlling which 
version of services and the packages installable by those services to specify a 
particular commit in the channel config?

Inferiors help isolate a package manifest together with an user-controlled guix 
commit, so I was wondering if anything such is possible with the system itself 
(for example, during building of an image). In pseudocode:

(define inferior (inferior-from-channels ...))
(with-inferior inferior (reconfigure (operating-system ...)))

I am almost certain there is some gexp 
mumbo-jumbo-derivation-of-the-whole-system one can use, but not yet entirely 
comfortable with them.

T








Updating substitute error: TLS error in the push function

2021-02-15 Thread Todor Kondić


I keep getting this error,

---
substitute: updating substitutes from 'https://ci.guix.gnu.org'...   0.0%guix 
substitute: error: TLS error in procedure 'write_to_session_record_port': Error 
in the push function.
---

while `sudo guix system reconfigure ...`.

Then I get into the whole compilation cycle.


Guix version:
61361ef2646cc59f18fd1d33d9d13348930255b7






Re: Updating substitute error: TLS error in the push function

2021-02-18 Thread Todor Kondić
[I know some people are going to grumble because of top posting: sorry!]

Yes, I did. I pulled a few times during last and this week.

The recompilation hit because of an unrelated matter. I did a very evil thing: 
evaluated my own version of the net-base package inside the module where 
net-base resides.

This dirty technique does  work for services tho ;)






‐‐‐ Original Message ‐‐‐
On Wednesday, 17 February 2021 20:36,  wrote:

> H, Have you tried updating guix recently?
>
> February 16, 2021 2:47 AM, "Todor Kondić" tk.c...@protonmail.com wrote:
>
> > I keep getting this error,
> >
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 0.0%guix 
> > substitute: error: TLS
> > error in procedure 'write_to_session_record_port': Error in the push 
> > function.
> >
> > --
> >
> > while `sudo guix system reconfigure ...`.
> > Then I get into the whole compilation cycle.
> > Guix version:
> > 61361ef2646cc59f18fd1d33d9d13348930255b7





Why is gfortran at 7.5.0?

2021-05-18 Thread Todor Kondić
Is there any particular reason gfortran toolchain is on v7.5.0 ? I see that gcc 
advanced to v11.








Re: Why is gfortran at 7.5.0?

2021-05-19 Thread Todor Kondić
On Tuesday, May 18, 2021 5:58 PM, Efraim Flashner  wrote:

> On Tue, May 18, 2021 at 03:01:49PM +0000, Todor Kondić wrote:
>
> > Is there any particular reason gfortran toolchain is on v7.5.0 ? I see that 
> > gcc advanced to v11.
>
> We used to provide a number of gfortran packages but we discovered that
> they don't play nicely with packages built with other versions. We
> decided to keep gfortran at the same version as the default gcc version,
> although I don't remember why exactly.
>
> -
>
> Efraim Flashner efr...@flashner.co.il אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

---

Hi Efraim,

Thanks for clarification.

Well, it is a shame new versions of GFortran are not supported. This probably 
means that new hardware is not that well supported (not to mention tracking 
Fortran standards development).


Based on the practices Guix follows for other gcc versions, I came up with a 
package definition for fortran v9. Pasting it below in case someone needs it in 
future. It builds and installs fine, though I get warnings that collisions are 
detected for ld. Is this something to be concerned about? Normally, I'd make a 
guix environment or a profile which I'd populate with the same version of gcc 
and fortran toolchain, so I guess that would fix the warnings.

I won't post the package definition to patches mailing list because,
a) the package is trivial (thanks to previous work)
b) which compilers you decide to have included is probably a system level 
decision





### Fortran v9.3.0

```fortran
(use-modules (guix packages)
 (guix inferior)
 (guix channels)
 (guix profiles)
 (guix utils)
 (guix build-system gnu)
 (gnu packages commencement)
 (gnu packages)
 (gnu packages gcc)

 (srfi srfi-1))

(define %generic-search-paths
  ;; This is the language-neutral search path for GCC.  Entries in $CPATH are
  ;; not considered "system headers", which means GCC can raise warnings for
  ;; issues in those headers.  'CPATH' is the only one that works for
  ;; front-ends not in the C family.
  (list (search-path-specification
 (variable "CPATH")
 (files '("include")))
(search-path-specification
 (variable "LIBRARY_PATH")
 (files '("lib" "lib64")
(define* (custom-gcc gcc name languages
 #:optional
 (search-paths (package-native-search-paths gcc))
 #:key (separate-lib-output? #t))
  "Return a custom version of GCC that supports LANGUAGES.  Use SEARCH-PATHS
as the 'native-search-paths' field."
  (package (inherit gcc)
(name name)
(outputs (if separate-lib-output?
 (package-outputs gcc)
 (delete "lib" (package-outputs gcc
(native-search-paths search-paths)
(properties (alist-delete 'hidden? (package-properties gcc)))
(arguments
 (substitute-keyword-arguments (package-arguments gcc)
   ((#:modules modules %gnu-build-system-modules)
`(,@modules
  (srfi srfi-1)
  (srfi srfi-26)
  (ice-9 regex)))
   ((#:configure-flags flags)
`(cons (string-append "--enable-languages="
  ,(string-join languages ","))
   (remove (cut string-match "--enable-languages.*" <>)
   ,flags)))
   ((#:phases phases)
`(modify-phases ,phases
   (add-after 'install 'remove-broken-or-conflicting-files
 (lambda* (#:key outputs #:allow-other-keys)
   (for-each delete-file
 (find-files (string-append (assoc-ref outputs "out") 
"/bin")
 ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
   #t

(define-public gfortran-9
  (hidden-package
   (custom-gcc (package
 (inherit gcc-9)
 ;; XXX: Remove LIBSTDC++-HEADERS from the inputs just to
 ;; avoid a rebuild of all the GFORTRAN dependents.
 ;; TODO: Remove this hack on the next rebuild cycle.
 (inputs (alist-delete "libstdc++" (package-inputs gcc-9
   "gfortran" '("fortran")
   %generic-search-paths)))


;;; Try to make a more up-to-date gfortran package.
(define-publ

guix pack and exposing ports

2021-08-18 Thread Todor Kondić
Hello,

Please bear with me since I am not that very docker savvy. As far as I 
understand, normally, one can expose certain ports in a docker description 
file. But, how to do that when using `guix pack -f docker` command where the 
docker recipe is hidden from the user?

Also, I note I'm getting ~10 GiG image for a flimsy program depending on R and 
shiny. Somehow that doesn't feel right. :)







Re: guix pack and exposing ports

2021-08-19 Thread Todor Kondić
Thanks Edouard!

So far I'm trying to follow the route where additional things are built on top 
of the existing image. Also managed to trim the image to a very bearable ~150Mb 
once I trimmed the manifest to bare necessities.

‐‐‐ Original Message ‐‐‐

On Thursday, August 19th, 2021 at 11:40 AM, Edouard Klein  
wrote:

> Hi !
>
> From what I know, with guix pack you can only have the dependencies in
>
> the docker image, but you won't have anything to start or manage your
>
> software automatically. You need to invoke the correct command (with
>
> docker run, I believe).
>
> What you can do is create an operating-system declaration and use the
>
> guix system docker-image subcommand. Note that this is way more
>
> involved, as you need to create a shepherd service for your software.
>
> I quickly ran into docker limitations following this route, but
>
> depending on what you want to do this may be the way to go.
>
> The alternative is to use the guix pack image as the base image in a
>
> standard dockerfile.
>
> As for the size of the image, see this thread
>
> https://lists.gnu.org/archive/html/help-guix/2021-07/msg00064.html
>
> Good luck
>
> Todor Kondić writes:
>
> > Hello,
> >
> > Please bear with me since I am not that very docker savvy. As far as I 
> > understand, normally, one can expose certain ports in a docker description 
> > file. But, how to do that when using `guix pack -f docker` command where 
> > the docker recipe is hidden from the user?
> >
> > Also, I note I'm getting ~10 GiG image for a flimsy program depending on R 
> > and shiny. Somehow that doesn't feel right. :)



Re: GNU Guix maintainer rotation

2022-01-09 Thread Todor Kondić
> Thank you Ludovic and Marius :)
>
> And good luck to Efraim !
>
> Maxim Cournoyer maxim.courno...@gmail.com writes:
>
> > Hello Guix!
> >
> > I'd like to bring your attention to a change to the current Guix
> >
> > maintainers collective; in a nutshell, Ludovic and Marius are stepping
> >
> > down from maintainer-ship while Efraim is joining.
> >
> > I won't write more as you can find all the details in this blog post:
> >
> > https://guix.gnu.org/en/blog/2022/gnu-guix-maintainer-rotation/.
> >
> > Many thanks to Ludovic and Marius for their past roles as Guix
> >
> > co-maintainers, and a warm welcome to Efraim!
> >
> > Happy hacking!
> >
> > Maxim


Wow, what news!

I am one of those perpetual users and very occasional (package) contributors 
[so, mostly useless ;) ]. First heard about Guix on the Guile mailing list 
around the time of its beginnings before what now what feels ages ago (just 
checked ... nine years), but only started actually using it cca 0.1 version 
thanks to a blog post by Andy Wingo. These days it's reproducibly powering 
virtually every compute platform I use as, at least, a package (and 
"container") manager. What a road must have it been for Ludovic and the early 
crew. Many thanks to them and of course good luck to the new maintainers.



Re: Missing LaTeX font (R related)

2022-03-29 Thread Todor Kondić
> On Wednesday, March 23rd, 2022 at 9:58 AM, Ricardo Wurmus rek...@elephly.net 
> wrote:
>
> > TK tkp...@protonmail.com writes:
> >
> > > `!pdfTeX error: pdflatex (file t1-zi4r-0): Font t1-zi4r-0 at 540 not 
> > > found`
> > >
> > > A web search reveals that t1-zi4r-0 is an inconsolata font, but 
> > > installing "texlive-inconsolata" package does not sort this issue out.
> >
> > The texlive-inconsolata package does indeed include that font:
> >
> > /gnu/store/…-texlive-inconsolata-59745/share/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
> >
> > > Is granular texlive install even possible on Guix? :)
> >
> > Yes, it is.
> >
> > --
> >
> > Ricardo
>
> Hi Ricardo,
>
> Thanks for the reply.
>
> Since texlive-inconsolata is part of my manifest specification, there might 
> be an issue in how I create the environment.
>
> For my work in R, I use the following bash script:
>
> `#!/bin/sh theme_dir=$HOME/.local/share/guix-themes guix shell --pure -c4 -m 
> "$theme_dir/foundation.scm" \\ -m "$theme_dir/eci.scm" -m 
> "$theme_dir/texpack.scm"`
>
> I am creating an environment from several manifests. They are shown below, 
> together with the channels file, for the sake of reproducibility and the 
> mailing list. Also, for anyone's convenience, should they actually want to 
> reproduce the problem,
>
> those files have been attached.
>
> Issuing `R CMD check somepackage` within the shell of the environment will 
> die with the message outlined above.
>
> The package in the command line is just a skeleton created by 
> `Rcpp.package.skeleton`.
>
> Thanks,
>
> T
>
> # Appendix
>
> ## channels.scm
>
> `(use-modules (guix packages) (guix inferior) (guix channels) (guix profiles) 
> (gnu packages) (srfi srfi-1)) (define channels ;; This is custom 
> Environmental Cheminformatics LCSB channel. (list (channel (name 'eci-addons) 
> (url "https://git.sr.ht/~condor/eci-guix";) (branch "master") (introduction 
> (make-channel-introduction "e7ccb0c185133e23a9a75867e0deef5881ab2d49" 
> (openpgp-fingerprint "EDC3 9790 A06D 5F72 41D9 70F9 BBEF E71B 7A28 3C6F" 
> (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix";) 
> (introduction (make-channel-introduction 
> "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 
> 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5" (channel (name 'guix) (url 
> "https://git.savannah.gnu.org/git/guix.git";) ;; (commit 
> "c852d897551f514de95c224fa79e748f48808068") )))`
>
> ## foundation.scm
>
> ```
>
> (use-modules (guix packages)
>
> (gnu packages autotools)
>
> (gnu packages gcc)
>
> (gnu packages perl)
>
> (gnu packages mpi)
>
> (gnu packages ssh)
>
> (gnu packages gawk)
>
> (gnu packages base))
>
> (define specs '("bash"
>
> "make"
>
> "sbc"
>
> "openssh"
>
> "git:send-email"
>
> "git"
>
> "grep"
>
> "sed"
>
> "gawk"
>
> "procps"
>
> "coreutils-minimal"
>
> "glibc-locales"
>
> "make"
>
> "emacs"
>
> "lesspipe"
>
> "glibc-locales"
>
> "guile"
>
> "pkg-config"
>
> "nss-certs"
>
> "wget"
>
> "xz"
>
> "tar"
>
> "gzip"
>
> "bzip2"))
>
> (define misc-specs '("ispell"
>
> "sshpass"
>
> "the-silver-searcher"
>
> "xdg-utils"
>
> "xdg-user-dirs"
>
> "pango"
>
> "gnupg"
>
> "openssl"
>
> "gtk+"
>
> "man-db"
>
> "texinfo"))
>
> (define font-specs '("unicode-emoji"
>
> "fontconfig"
>
> "font-dejavu"
>
> "font-gnu-freefont"
>
> ;"font-ubuntu"
>
> "font-terminus"
>
> "font-liberation"
>
> "font-inconsolata"
>
> "font-gnu-unifont"
>
> "font-public-sans"
>
> "font-misc-misc"
>
> "font-awesome"
>
> "font-hack"
>
> "font-iosevka"
>
> "font-iosevka-term"
>
> "font-iosevka-term-slab"
>
> ;"font-iosevka-sparkle"
>
> "font-iosevka-slab"
>
> "font-iosevka-etoile"
>
> "font-iosevka-aile"
>
> "font-google-noto"))
>
> (define emacs-specs `("emacs-guix" "emacs-circe" "emacs-geiser" 
> "emacs-paredit" "emacs-bbdb" "emacs-circe" "emacs-use-package" "emacs-ag" 
> "emacs-magit" "emacs-org" "emacs-paredit" ;; "emacs-ess" "emacs-company" 
> "emacs-ivy" "emacs-counsel" "emacs-zenburn-theme" "emacs-solarized-theme" 
> "emacs-cyberpunk-theme" "emacs-atom-one-dark-theme" "emacs-polymode" 
> "emacs-polymode-org" "emacs-polymode-ansible" "emacs-csv" "emacs-smartparens" 
> ;"emacs-elpy" "emacs-wgrep" "emacs-emojify" "emacs-rust-mode" 
> "emacs-flycheck-rust" "emacs-spacemacs-theme" "emacs-punpun-theme" 
> "emacs-org-beautify-theme" "emacs-dream-theme" "emacs-base16-theme" 
> "emacs-ample-theme" "emacs-doom-themes" "emacs-alect-themes" 
> "emacs-almost-mono-themes" ;; "emacs-bluetooth" "emacs-csv" "emacs-csv-mode" 
> "emacs-org-reveal")) (specifications->manifest` (,@specs
>
> ,@emacs-specs
>
> ,@misc-specs
>
> ,@font-specs))
>
> `## eci.scm`
>
> (use-modules (eci packages bioinformatics)
>
> (eci packages cran)
>
> (guix packages)
>
> (gnu packages chemistry)
>
> (gnu packages bioinformatics)
>
> (gnu packages bioconductor)
>
> (gnu packages statistics)
>
> (gnu packages web)
>
> (gnu packages image)
>
> (gnu packages cran)
>
> (gnu packages)
>
> (srfi srfi-1))
>
> (define misc-spec '("open

VNC

2019-08-14 Thread Todor Kondić via
Is there a VNC service in guix? Doing a brief package search, I found a few 
clients, but no server.

guix repl and ice-9 modules

2019-09-09 Thread Todor Kondić via
Is it normal that I can't load ice-9 modules from within guix repl ? Because, 
this is the default behaviour on my hybrid system (guix on top of pop-os 
(ubuntu) ).

guix repl in emacs and shell

2019-09-09 Thread Todor Kondić via
Continuing with my experiments with guix/guile REPL, I tried loading a module 
into guix REPL instance in Emacs:
,use (gnu packages xorg)
This failed with "no code for module (git)" error.

The same code works from the command line REPL.

Comparing the %load-path variables between the instances, it looks like 
guix-module-union path  is missing in Emacs case. Is this normal? Have I been 
misusing guix-switch-to-repl functionality in Emacs?