Re: ublock extension for ungoogled-chromium

2022-02-03 Thread Marius Bakke
Hi Reza,

Reza Housseini  skriver:

> Hello Guixers
>
> I installed ungoogled-chromium and ublock-origin-chromium and just assumed
> it will work. But it seems that the extension does not get registered in
> chromium. Does anybody know what I have to do to achieve this?

It should definitively "just work", however there are caveats:

* It relies on the $CHROMIUM_EXTENSION_DIRECTORY variable, which is
  automatically configured by Guix when you install both packages; but
  you may need to log out and in again for it to take effect.
* If you have a previous ~/.config/chromium directory from the (googled)
  Chromium laying around, there may be strange interactions.

You can avoid both caveats by running:

  guix shell {ungoogled,ublock-origin}-chromium -- \
chromium --user-data-dir=/tmp/chromium-profile

Does the extension show up then?

> Marius Bakke mentioned in his patch [1] that updating does not work, is
> this the reason why?

Updating has since been fixed.  :-)

Thanks,
Marius


signature.asc
Description: PGP signature


Re: Ganeti with Guix tutorial from the Guix blog post

2020-10-10 Thread Marius Bakke
Hello!

I worked with David off-list on this, and it eventually turned out that
the problems were hardware-related.

The cluster consisted of two Librebooted x200 machines.  One that
happened to support KVM, and one that did not.  The Libreboot wiki entry
on the x200 states that there is only one known microcode revision that
works with KVM:

  https://libreboot.org/docs/hardware/x200.html#compatibility_noblobs

Interestingly, the failing machine did have the mentioned 1067a
microcode version, whereas the other (functioning) node had 10676.

The problem with 1067a manifests with QEMU starting, but not loading the
guest OS.  Live migrating a running VM to the 1067a node *did* work,
adding to the confusion.  Just "offline migration" and starting new VMs
did not.

I'm happy to report that the cluster works fine after replacing the
dysfunctional node.  :-)


signature.asc
Description: PGP signature


Re: Ganeti with Guix tutorial from the Guix blog post

2020-09-26 Thread Marius Bakke
david larsson  writes:

> Hi!
>
> First of all - thanks for a great post about using Ganeti with Guix!

Thanks.  :-)

> I need some help with the networking setup part since I am stuck at the 
> end stages of the blog post tutorial - I am unable to run "gnt-instance 
> console ". So, I have things setup enough to create these VM's 
> successfully but I can't ping the hosts or connect to them using 
> gnt-instance console . Any ideas what the issue might be?

If the serial console is not responding (i.e. pressing RET does not make
a login screen appear), it is likely the instance has failed to boot.  A
typical cause is lack of bootloader.  In that case the instance will use
100% of a core reading the same virtual disk sector over and over...

You can configure a SPICE server with "gnt-instance modify -H
kvm:spice_bind=0.0.0.0" and connect remotely with 'spicy' (from
spice-gtk) to the host IP and the allocated instance port (gnt-instance
info foo | grep port).  Then you should be able to see what QEMU is up
to.

Clues may also be found in
/var/log/ganeti/os/add_$provider_$instance_$date.

> One thing I noticed was that the arp -n output are giving me 
> "(incomplete)" listings in the "HWaddress" column (arp from the 
> net-tools package), which IMU means that ethernet/layer2 frames are not 
> passed around correctly - usually meaning that bridges aren't setup 
> properly, right? This applies to the 192.168.1.200 lan address and the 
> ip address assigned to the VM hosts which I manually set to 
> 192.168.1.210 instead of ip=pool as in the example. My local network is 
> setup to use 192.168.1.0/24 addresses.

It could be useful to see the relevant system configuration, as well as
output of 'ovs-vsctl show' and 'gnt-instance info the-instance' (and
maybe also 'gnt-network info').

> I think it would be great if blog posts like these had comments enabled, 
> so that people trying to follow a tutorial would be able to discuss and 
> help eachother directly on the blog post page.

That is an interesting suggestion.  The blog is entirely static, but
perhaps we could link in a mailing list or something (no joke!).  :-)


signature.asc
Description: PGP signature


Re: Local definitions and Virtual machine image

2020-07-25 Thread Marius Bakke
Emmanuel Medernach  writes:

>> I pulled  the same commit  on the  VM that the  one obtained
>> with  "guix  describe"  but  it still  recompiles  my  local
>> packages with "guix build". Did I forget something ?
>>
>
>
> I mean it does not download from my substitute server.

Did you authorize the substitute server signing key?

Perhaps the substitute server lacks some of the package outputs?

> I have another question: How to query the output paths given an installed
> package name ? guix build does it but I would like to avoid recompiling.

I don't know an easy way short of 'guix build -d the-package' and
inspect the derivation :-/


signature.asc
Description: PGP signature


Re: Repair / reinstall Guix package manager (foreign distro)

2020-06-28 Thread Marius Bakke
Zelphir Kaltstahl  writes:

> Hi Guix Users!
>
> I would like to repair or reinstall my Guix package manager
> installation, because it seems broken and nothing I tried fixes the problem.
>
> The problem:
>
> 
> xiaolong@xlx200:~/Downloads$ guix pull
> Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'...
> guix pull: error: symlink: File exists: 
> "/var/guix/profiles/per-user/xiaolong/current-guix"
> 
>
> It started appearing, when I once ran `guix pull` and `guix package -u`
> as `root` user, to update my locales in the root profile.

This can happen if you become root by any other method than 'sudo -i' or
'su -', because the root shell will otherwise inherit variables such as
$HOME, leading to this problem.

[...]

> 
> xiaolong@xlx200:~/Downloads$ guix pull
> Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'...
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> guix pull: error: Git error: failed open - 
> '/home/xiaolong/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/FETCH_HEAD'
>  is locked: Permission denied
> 

You can fix this by either deleting the directory, or

   sudo chown -R xiaolong:xiaolong 
/home/xiaolong/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq

Similarly, chowning or deleting /var/guix-profiles/per-user/xiaolong is
the only way to fix the permissions issue on the profile.

[...]

> So I a basically giving up now and want to reinstall. I downloaded the
> install script `guix-install.sh` from the website and ran it:
>
> 
> xiaolong@xlx200:~/Downloads$ sudo bash guix-install.sh 
>
> (... big GUIX logo here ...)
>
> This script installs GNU Guix on your system
>
> https://www.gnu.org/software/guix/
> Press return to continue...
> [1593338927.330]: Starting installation (So 28. Jun 12:08:47 CEST 2020)
> [1593338927.333]: [ PASS ] verification of required commands completed
> [1593338927.364]: [ INFO ] init system is: systemd
> [1593338927.368]: [ INFO ] system is x86_64-linux
> [1593338928.075]: [ PASS ] Release for your system: 
> guix-binary-1.1.0.x86_64-linux
> [1593338928.077]: [ INFO ] Downloading Guix release archive
> guix-binary-1.1.0.x86_64 100%[==>]  70,14M  
> 4,27MB/sin 21s 
> guix-binary-1.1.0.x86_64 100%[==>] 833  
> --.-KB/sin 0s  
> [1593338949.457]: [ PASS ] download completed.
> [1593338950.341]: [ PASS ] Signature is valid.
> [1593338959.807]: [ PASS ] unpacked archive
> [1593338959.808]: [ FAIL ] A previous Guix installation was found.  Refusing 
> to overwrite.
> 
>
> "OK OK! I'll uninstall the previous one!"
>
> But how do I do it exactly? Or is there a flag or anything I can give to
> make it overwrite the previous installation?

Reinstalling still won't fix the permissions on your
~/.cache/guix/checkouts.  But to eradicate Guix and let the script do
its thing you should 'sudo rm -rf /var/guix /gnu'.

Hope this helps!


signature.asc
Description: PGP signature


Re: installing buildutils-gold

2020-06-26 Thread Marius Bakke
Hello Anthony,

Anthony Quizon  writes:

> Hello,
> I'm trying to install gold linker using guix.
> I noticed there is a package in `(gnu packages base)` called
> "binutils-gold". However, it doesn't come up on the search via `guix search
> binutils-gold` and I'm unable to install it.
>
> Why is this?

This is because the regular binutils package was recently 'hidden' due
to an upstream bug, and 'binutils-gold' accidentally inherited the
'hidden?' property.

> How can I install gold linker using guix?

I fixed the inheritance in 4a13050b877f9058414f4b7633e423726e9bbb32, so
you should be able to install it (again) after a 'guix pull'.

Thanks for reporting the issue!  :-)


signature.asc
Description: PGP signature


Re: failing to package attrs-strict for swh.model

2020-06-25 Thread Marius Bakke
zimoun  writes:

>> Can you paste the full package definition?
>
> Well, I have tried with and without the 'arguments'.
>
> --8<---cut here---start->8---
> (define-public python-attrs-strict
>   (package
> (name "python-attrs-strict")
> (version "0.1.0")
> (source
>   (origin
> (method url-fetch)
> (uri (pypi-uri "attrs_strict" version))
> (sha256
>   (base32
> "0nldyv053xiv9aaysjszgisi9d9d87f5l2jf3rhl3xm9c9spar96"
> (build-system python-build-system)
> (native-inputs
>  `(("python-pytest" ,python-pytest)
>("python-pluggy" ,python-pluggy)))
> (propagated-inputs
>   `(("python-attrs" ,python-attrs)
> ("python-typing" ,python-typing)))

Does it make a difference if you remove python-typing?  That
functionality was merged into Python 3.5, perhaps it expects an older
version of 'collections.abc'.


signature.asc
Description: PGP signature


Re: failing to package attrs-strict for swh.model

2020-06-24 Thread Marius Bakke
zimoun  writes:

> Dear,
>
> I am trying to package "swh.model" which is a CLI tool developed by
> Software Heritage.  It allows to compute SWHID which is their internal
> hash tag.  This package is on PyPI, so I did:
>
>guix import pypi -r swh.model
>
> which returns 2 packages: "python-attrs-srtict" and "swh.model".
>
>
> Aside some minor tweaks about the license, synopsis and description I
> added them to "gnu/packages/python-xyz.scm" and then I simply have tried
> to build:
>
>   ./pre-inst-env guix build python-attrs-strict
>
> Well, the first unexpected thing is an 404 error:
>
> --8<---cut here---start->8---
> building 
> /gnu/store/r6dgvrq486d8hdii9szz2filq85nbwjx-attrs-strict-0.1.0.tar.gz.drv...
>
> Starting download of 
> /gnu/store/9p0baqs1386gv5hhzrv5yrcj35klxpfi-attrs-strict-0.1.0.tar.gz
>>From 
>>https://files.pythonhosted.org/packages/source/a/attrs-strict/attrs-strict-0.1.0.tar.gz...
> download failed 
> "https://files.pythonhosted.org/packages/source/a/attrs-strict/attrs-strict-0.1.0.tar.gz;
>  404 "Not Found"

[...]

> What do I miss?
>
> Then, from the PyPI webpage, I download the tarball by hand (wget) and
> then I run:
>
> /pre-inst-env guix build python-attrs-strict \
>   --with-source=python-attrs-strict=attrs_strict-0.1.0.tar.gz

I notice the file name in this command is "attrs_strict".  Probably the
importer picked the wrong file name and you need to change it to
(pypi-uri "attrs_strict" version).

> which fails at the check phase.  Well, I have added as 'native-inputs'
> the packages "python-pytest" and "python-pluggy".  And I add these
> lines:
>
> --8<---cut here---start->8---
> (arguments
>  `(#:phases (modify-phases %standard-phases
>   (replace 'check
> (lambda _
>   (invoke "pytest")
>   #t)
> --8<---cut here---end--->8---
>
> But the tests is still failing with the same message at this end:
>
> --8<---cut here---start->8---
> AttributeError: type object 'Callable' has no attribute '_abc_registry'
> --8<---cut here---end--->8---

Can you paste the full package definition?


signature.asc
Description: PGP signature


Re: Dependencies between service extensions

2020-06-23 Thread Marius Bakke
conjaroy  writes:

> Greetings help-guix,
>
> I've been a casual user of Nix for a couple of years and have decided to
> test the waters with Guix. While I'm looking forward to spending time with
> Lisp after many years away, my biggest impression is that Guix seems to
> have well-documented interfaces in cases where Nix relies more on loose
> conventions.
>
> After reviewing the manual and some of the service definitions, I'd like a
> better understanding of how to implement a common pattern. Let's say that I
> have some application Foo that uses an external system for persistence,
> like a SQL database. Before starting up service Foo I need to ensure both
> that the database service is running and that the database instance for Foo
> has been initialized, because Foo doesn't know how to initialize the
> database on its own.
>
> The first issue (how to ensure that the database service is up) seems to be
> solved by adding a shepherd-root-service-type service extension that
> declares a set of "requirements". And the second issue (performing
> pre-startup initialization) seems to be handled by the
> activation-service-type extension. So far so good.
>
> But I couldn't find documentation on whether service activation scripts can
> safely rely on other services that happen to be declared as requirements in
> the shepherd-root-service-type extension. And while I found many activation
> scripts that do simple things like modifying the filesystem, I couldn't see
> any that interact directly with other services. However, I did see some
> evidence of service extensions relying on the side effects of other service
> extensions: a number of activation scripts call "getpwnam" for info on
> system accounts that could exist only if the corresponding
> account-service-type extension has already been executed.
>
> So my questions are: could someone clarify best practices for initializing
> state in Service A before Service B starts up? And is there anything about
> the ordering/dependencies of a service's extensions that could be better
> documented in the manual?

To encode requirements for an activation script, I think you need to
declare a service type for it with appropriate requirements, and make
the start and stop actions "noop".  Then you can have other services
depend on the "activation service".

I did something similar in a service I'm working on that consists of
many different daemons.  To avoid having to run essentially the same
activation script on each, I created a "common" service that all daemons
depend upon.  It's fairly verbose (you don't need a record type), but
looks like this:

--8<---cut here---start->8---
;; This is a dummy service that all Ganeti daemons depend upon, mainly to
;; avoid having the same activation snippet on each.
(define-record-type* 
  ganeti-common-configuration make-ganeti-common-configuration
  ganeti-common-configuration?
  (ganeti ganeti-common-configuration-ganeti;
  (default ganeti))
  (directories ganeti-common-configuration-directories  ;list of strings
   (default '("/var/log/ganeti"
  "/var/log/ganeti/kvm"
  "/var/log/ganeti/os"
  "/var/lib/ganeti/rapi"
  "/var/lib/ganeti/queue"
  "/var/run/ganeti/bdev-cache"
  "/var/run/ganeti/socket"
  "/var/run/ganeti/instance-disks"
  "/var/run/ganeti/instance-reason"
  "/var/run/ganeti/livelocks"

(define (ganeti-common-activation config)
  (let ((directories (ganeti-common-configuration-directories config)))
  #~(begin
  (use-modules (guix build utils))
  (for-each mkdir-p '#$directories

(define ganeti-common-service
  (lambda _
(list (shepherd-service
   (documentation "Create the directories required by Ganeti.")
   (provision '(ganeti-common))
   (requirement '(file-systems))
   ;; Do nothing but the activation snippet, at least for now.
   (start #~(const #t))

(define ganeti-common-service-type
  (service-type (name 'ganeti-common)
(extensions
 (list (service-extension activation-service-type
  ganeti-common-activation)
   ;; This service also installs Ganeti to the profile
   ;; to make gnt-cluster, etc readily available.
   (service-extension profile-service-type
  (compose list
   
ganeti-common-configuration-ganeti))
   (service-extension shepherd-root-service-type
  ganeti-common-service)))
(default-value (ganeti-common-configuration))
(description
 "This 

Re: Profiles for Python projects

2020-06-18 Thread Marius Bakke
Hi Zelphir,

Zelphir Kaltstahl  writes:

> I create a profile with that and it works fine:
>
> guix package --manifest="manifest.scm" 
> --profile="${GUIX_EXTRA_PROFILES}"/my-env/my-env
>
> Then I do the sourcing:
>
> GUIX_PROFILE="${GUIX_EXTRA_PROFILES}/my-env/my-env"; source 
> "${GUIX_PROFILE}/etc/profile"

[...]

> I also get a path in the profile I created. So far all seems to just
> work. However, then I hit a snag when trying to run the tests of the
> project:
>
> LOG_LEVEL="DEBUG" PYTHONPATH="$(pwd)/my_project" python3 -m pytest -m 
> "my_test_marker" -s -vvv
>
> I now get the error:
>
> No module named pytest

This is because you are overriding PYTHONPATH.  If you run it as ...

  LOG_LEVEL="DEBUG" PYTHONPATH="$(pwd)/my_project:$PYTHONPATH" python3 -m 
pytest -m "my_test_marker" -s -vvv

... you might have better luck.  Guix relies on PYTHONPATH to make
Python modules available because there is no single site-packages
directory like in some other distributions.

HTH!
Marius


signature.asc
Description: PGP signature


Re: curl server certificate verification failed for a few sites

2020-06-06 Thread Marius Bakke
Giovanni Biscuolo  writes:

> Hi Tobias,
>
> thank you for your clear explanation and patience
>
> ...and sorry again to all other Guix users for the "noise": this is not
> strictly related to Guix but just to the most recent version of
> curl/wget
>
> I still I don't understand the differences between curl (and wget)
> behaviour and the last Guix available ungoogled-chromium (see below).

The problem is with GnuTLS, which failed if one of the trust roots were
using an expired certificate:

  https://gitlab.com/gnutls/gnutls/-/issues/1008

It has been fixed in the latest GnuTLS, which is in Guix as of commit
8951b9496b5c390adb3b3292d234bb8ab9936c40.  Thanks for reporting it!


signature.asc
Description: PGP signature


Re: Local definitions and Virtual machine image

2020-06-03 Thread Marius Bakke
Emmanuel Medernach  writes:

> Hello Guixers !
>
> I  created an  image with  'guix system  vm-image'
> which  contains  local  defined  packages.   These
> packages  are  present   on  the  Virtual  Machine
> however  they are  not listed  with 'guix  package
> --list-installed'.

'guix package -I' only lists packages that are installed to the user
profile.  Use 'guix package -p /run/current-system/profile -I' to see
system-installed packages.

> As  I   need  to   customize
> LD_LIBRARY_PATH, I use "guix  build" to list store
> directories  from  package   names  but  it  tries
> instead to  recompile them  even though  they  are
> already installed.

The reason 'guix build foo' gives a different result is because you have
not run 'guix pull', so you are using the "guix snapshot" from
gnu/packages/package-management.scm, which is on a fixed commit.

Whereas when you built the VM, you were likely using a newer version of
Guix.

> How to  properly export  local definitions  in the
> virtual machine image ?

There are a couple of ways around this.  One is to run 'make
update-guix-package' in the Guix source tree to update the Guix
snapshot, and use './pre-inst-env' when generating the VM.  It requires
a Guix development setup though.

Another is to look at the commit that was used to generate the VM in
/run/current-system/provenance and run 'guix pull --commit=that-commit'.

Perhaps 'guix system vm-image' could learn a '--update-guix-snapshot' to
automatically update the "system guix".  Someone would have to implement
it first though.  :-)

HTH,
Marius


signature.asc
Description: PGP signature


Re: Guix Docker image inflation

2020-05-29 Thread Marius Bakke
Leo Famulari  writes:

>> How else would you suggest that it be done? It would be nice if `guix
>> system docker-image`
>> took `--branch` and `--commit` options to build a container from a
>> well-defined Guix check-in
>> state, but that doesn't seem to be the case. And in any case - too slow.
>> The point here is to
>> leverage daily incremental pulls to keep data transfer and build times down.
>
> --branch and --commit would be passed to `guix pull`, and then you'd run
> `guix system docker-image` based on that.

There is also 'guix time-machine --commit=abc123 -- system docker-image'.


signature.asc
Description: PGP signature


Re: Appropriate way to use Guix API from a Guile program

2020-05-21 Thread Marius Bakke
sirgazil  writes:

> Hmm, and is there any way for a Guile program installed as a Guix package to 
> use the modules of the Guix obtained by the user with "guix pull" and also 
> being able to take advantage of user-defined channels? Or is this just not 
> possible at all?

You need to add $HOME/.config/guix/current/share/guile/site/3.0 on
GUILE_LOAD_PATH to access channel code from Guile programs.


signature.asc
Description: PGP signature


Re: Appropriate way to use Guix API from a Guile program

2020-05-21 Thread Marius Bakke
sirgazil  writes:

> Hi,
>
> I use Guix's GNU system. 
>
> I had written a Guile script that called Guix procedures to manipulate 
> profiles. I put it in a Guix package in a custom channel and installed it. It 
> used to work, but now it fails with an error I can also reproduce when trying 
> to do something similar from a Guile REPL. For instance:
>
> 
> $ mkdir profile-x
> $ guile
> GNU Guile 3.0.2
> [...]
> scheme@(guile-user)> (use-modules (guix scripts package))
> scheme@(guile-user)> (guix-package "-m" "manifest.scm" "-p" 
> "profile-x/profile-x")
> error: glibc-bootstrap-system-2.2.5.patch: patch not found
> 

There are a couple of things going on here.  Calling the Guix APIs from
Guile will use the 'system-installed' Guix, unless you have fiddled with
GUILE_LOAD_PATH.

You can use 'guix repl' to use the _current_ Guix instead (the one
obtained with 'guix pull'), where this problem has been fixed.

The system-installed Guix in turn fails because of a bug that was fixed
in 179e6c524ae4957e6ace83f72a5651767f786ca4, and ultimately
977f478090fd96e73463efb67c56fb32f28828bd which updates the 'guix'
package to include the fix.  If you reconfigure on a recent Guix, the
missing patch error should go away.

Hope this helps!


signature.asc
Description: PGP signature


Re: Guix closure size of a system?

2020-05-19 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> Is there a way to calculate the closure size of a system (as generated
> by guix system reconfigure config.scm)?

Try: 'guix size $(guix system build config.scm)'.

Or for the currently running generation:

'guix size $(readlink -f /run/current-system)'


signature.asc
Description: PGP signature


Re: How to configure a printer on Guix System

2020-05-16 Thread Marius Bakke
Christophe Pisteur  writes:

> Le vendredi 15 mai 2020 à 17:33 +0200, Tobias Geerinckx-Rice a écrit :
>> Christophe,
>> 
>> Christophe Pisteur 写道:
>> > Since now, I installed the following packages: cups, 
>> > cups-filters,
>> > fomatics-filters.
>> > When I launch http: // localhost: 631 / in my browser
>> 
>> So the important thing to (un)learn here is that installing Guix 
>> packages will never start random software in the background.  This 
>> is by design.
>> 
>> (Guix) System software is started by services that are part of 
>> your OPERATING-SYSTEM.  Here's part of my laptop's CUPS 
>> configuration:
>> 
>>   (use-service-modules ···
>>cups
>>···)
>>   (operating-system
>> (services
>>  (cons* ···
>>(service cups-service-type
>> (cups-configuration
>>  (extensions
>>   (list hplip-minimal
>> ;; Required to display printer options,
>> ;; even with IPP Everywhere everywhere.
>> cups-filters
>> ;; Other possible legacy drivers:
>> ;; escpr foo2zjs foomatic-filters
>> ;; hplip-minimal splix
>> ))
>>  (server-name host-name)
>>  (host-name-lookups #t)
>>  (web-interface? #t)
>>  (default-paper-size "A4")
>>  ;; You get the idea.
>>  ···))
>>···
>>%base-services-or-whatever)))
>
> Thank you for the explanation and for sharing this configuration. My
> problem is that I still don't understand guix well enough: I don't know
> in which file to write this configuration of cups (name and path), nor
> with what tool to define it (nano, terminal, etc.).

Guix is deceptively simple.  This goes in your /etc/config.scm, like any
other system-level change.  You probably already have a (services ...)
in there: the challenge is to sew in the stanza provided by Tobias with
your existing configuration.

Afterwards you need to run 'guix system reconfigure /etc/config.scm'.

> Perhaps I do not have enough computer background to use guix to date.
> It does not matter, I will eventually learn over time, not to mention
> that some functions will be automated with the evolution of the
> project, as is the case for the graphic installation.

You should not need a computer background to use Guix.  In fact _no_
background may be better, as Guix is radically different from any other
operating system you may have used (unless you come from NixOS).

The only thing required is patience to read the manual, and the courage
to ask on IRC or mailing lists if you get stuck.  :-)


signature.asc
Description: PGP signature


core-updates merged!

2020-05-08 Thread Marius Bakke
Guix,

The mythical 'core-updates' branch was just merged to 'master'!

You will notice newer versions of many "core" packages such as glibc,
findutils, make, etc; see 'guix pull --news' for the scoop.  The mailing
list has a (non-exhaustive) overview of the big changes this round:

  https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00412.html

Please report any problems you find to bug-g...@gnu.org.

Enjoy!


signature.asc
Description: PGP signature


Re: whishlist: guix build -d /gnu/store/hash-pkg-version?

2020-05-08 Thread Marius Bakke
zimoun  writes:

> Dear,
>
> When debugging, I find really useful the command: "guix build -d package".
>
> Is it possible to do the same on the resulting '/gnu/store/'?
>
> For example,
>
> $ guix build hello
> /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10
>
> $ guix build -d hello
> /gnu/store/gknm68l0q893bpvyhcd4ccih1bmh0j87-hello-2.10.drv
>
> Well, I would like to do something like that?
>
> $ guix build -d /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10
> /gnu/store/gknm68l0q893bpvyhcd4ccih1bmh0j87-hello-2.10.drv
>
> Does it make sense?

That does make sense and is already supported with 'guix gc --derivers':

$ guix gc --derivers /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
/gnu/store/8s63hyw4f2ivf1zxkx65awlx5jackvbz-hello-2.10.drv

:-)


signature.asc
Description: PGP signature


Re: What LVM support is missing?

2020-05-04 Thread Marius Bakke
Simon Josefsson  writes:

> The manual is quite clear that LVM support is missing:
>
>   https://guix.gnu.org/manual/en/html_node/Limitations.html
>
> This held me back from using guix as the OS for my virtualization
> servers since I use LVM for virtual machines.  However, one evening I
> was curious how difficult it would be to fix the above limitation, so I
> started with a simple 'guix package -i lvm2' and that allowed me to get
> LVM to work and I can't really notice anything missing.
>
> Before producing a patch to correct the manual, could someone explain
> what LVM support was intended that was missing?  Does a reference to LVM
> as a limitation of Guix still make sense?

What's missing is support in the configuration system: the ability to
declare a LVM mapped device in the OS configuration and expect 'guix
system init', 'guix system reconfigure' etc to work.

LVM 2.03 simplifies things a bit, but I don't know of any recent
attempts to add LVM support to the configuration system.


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-05-04 Thread Marius Bakke
Timothy Sample  writes:

> Hi Marius,
>
> Marius Bakke  writes:
>
>> The "core-updates" branch is ready for testing!  [...]
>>
>> Please try upgrading your profiles and systems and file bugs for
>> anything that does not work for you.  GNOME users in particular are
>> encouraged to try the new GNOME 3.34 and report any regressions.
>
> Just so you know, GNOME 3.34 is working swimmingly for me.  So far I am
> a very happy core-updates user.  Thank you very much for all your hard
> work!

Great to know, thanks!  Credits to Kei for the GNOME 3.34 upgrade.  :-)

I think the only remaining blocker is fixing the WebKitGTK+ sandbox
issue in Epiphany: <https://issues.guix.gnu.org/issue/40837>.

Chris also reported an issue with FlighGear.  Presumably updating to the
latest version would make it work with the newer Boost.  Any takers?

@everyone, please speak up if you find any of your packages failing on
the core-updates branch!  The substitute coverage is currently ~90%,
which is better than on 'master'.


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-28 Thread Marius Bakke
Leo Famulari  writes:

> I reconfigured my Guix System based on core-updates, and afterwards I
> was unable to login, either remotely over SSH, or on the Linux console.

Do you still have the logs from this attempt?  Curious what caused login
to fail.


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-28 Thread Marius Bakke
Efraim Flashner  writes:

> I have a package which currently depends on gfortran-5, although
> gfortran-5 doesn't build on core-updates.
>
> efraimf@penguin2:~/workspace/guix-core-updates$ ./pre-inst-env guix build 
> --no-grafts -e '(@@ (gnu packages gcc) gfortran-5)'
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> The following derivation will be built:
>/gnu/store/frqb5p2vdk8qcjwbny1s6mlak344a0gx-gfortran-5.5.0.drv
> building /gnu/store/frqb5p2vdk8qcjwbny1s6mlak344a0gx-gfortran-5.5.0.drv...
> Backtrace:
> In ice-9/eval.scm:
>217:50 19 (lp (# ?))
>217:50 18 (lp (# ?))
>217:50 17 (lp (# ?))
>217:50 16 (lp (# ?))
>217:50 15 (lp (# ?))
>217:50 14 (lp (# ?))
>217:50 13 (lp (# ?))
>217:50 12 (lp (# ?))
>217:50 11 (lp (# ?))
>217:50 10 (lp (# ?))
>217:50  9 (lp (# ?))
>217:50  8 (lp (# ?))
>217:50  7 (lp (# ?))
>217:50  6 (lp (# ?))
>217:33  5 (lp (# ?))
>196:43  4 (_ #f)
>196:35  3 (_ #f)
>202:27  2 (_ #f)
>223:20  1 (proc #)
>In unknown file:
>0 (%resolve-variable (7 . cut) #)
>
> ERROR: In procedure %resolve-variable:
> Unbound variable: cut

Fixed in 587398d2a82e0b5966a6827d36a1f1d115181b11, thanks!


signature.asc
Description: PGP signature


Re: Thunar does not launch: Failed to execute child process 'gio-launch-desktop'

2020-04-27 Thread Marius Bakke
zna...@disroot.org writes:

> Hello! I use pcmanfm and everything works fine.
> But when I open Downloads folder from IceCat it is opening in Thunar that has 
> ugly behavior.
> When I click on any file it cannot run an Application with this error:
>
> Failed to open filename.csv
> Failed to execute child process 'gio-launch-desktop' (No such file or 
> directory).
>
> Screen:
> http://0x0.st/iezi.png (http://0x0.st/iezi.png)
>
> I use Xfce4 desktop.
> How can I fix it?

This problem has been fixed on the soon-to-be-merged 'core-updates'
branch.  Pulling that branch should be safe as no big rebuilds are
scheduled at this point, and you get to help out Guix development by
testing it!

To get it, use 'guix pull --branch=core-updates' or adjust your
channels.scm.

If using "core-updates" is impractical, you can work around this issue
in the meantime by adding (list glib "bin") in the 'packages' field of
your operating-system declaration.

HTH!
Marius


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-24 Thread Marius Bakke
sirgazil  writes:

> This time, one of my packages in a custom channel failed with "no code for 
> (term ansi-color)" (the package definition: 
> https://gitlab.com/sirgazil/guix-channel-x/-/blob/master/sirgazil-x/packages/guile.scm#L13).
>  This is not a new package in my profile, I've been using it for a long time. 
> Since both error seemed to be related to Guile, I removed all Guile-related 
> packages from my profile and tried upgrading again. This time, the upgrade 
> succeeded.

The reason your custom package failed is because it is using guile-2.2,
but the dependencies are built with Guile 3.0.

Changing the native-input to 'guile-3.0' should do the trick.  Otherwise
you can change the dependencies to 'guile2.2-json' and similar.

Thanks for testing!


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-24 Thread Marius Bakke
sirgazil  writes:

>   On Fri, 24 Apr 2020 03:20:41 + sirgazil  wrote 
> 
>  >   On Thu, 23 Apr 2020 23:24:23 + Marius Bakke 
>  wrote 
>  >  > Hello Guix!
>  >  > 
>  >  > The "core-updates" branch is ready for testing!  According to 'guix
>  >  > weather', the substitute coverage is slightly better than on "master"
>  >  > for x86_64.  You can get it by running:
>  >  > 
>  >  >   guix pull --branch=core-updates
>  >  > 
>  >  > Please try upgrading your profiles and systems and file bugs for
>  >  > anything that does not work for you.  GNOME users in particular are
>  >  > encouraged to try the new GNOME 3.34 and report any regressions.
>  > 
>  > I pulled from core-updates without problems, but "guix upgrade" failed.
>  > 
>  > First, when running "guix upgrade", I got the following message, which I 
> think is confusing because I use GNU, not Guix on a foreign distro:
>  > 
>  > $ guix upgrade
>  > guile: warning: failed to install locale
>  > hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' 
> package and defining `GUIX_LOCPATH', along these lines:
>  > 
>  >  guix package -i glibc-utf8-locales
>  >  export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
>  > 
>  > See the "Application Setup" section in the manual, for more info.
>  > 
>  > Then, everything was going alright, until building emacs-guix derivation 
> failed:
>  > 
>  > building 
> /gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv...
>  > \ 'configure' phasebuilder for 
> `/gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv' failed 
> with exit code 1
>  > build of 
> /gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv failed
>  > View build log at 
> '/var/log/guix/drvs/6k/dl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv.bz2'.
>  > guix upgrade: error: build of 
> `/gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv' failed
>  > 
>  > 
>  > The build log said:
>  > 
>  > starting phase `configure'
>  > source directory: 
> "/tmp/guix-build-emacs-guix-0.5.2.drv-0/emacs-guix-0.5.2" (relative from 
> build: ".")
>  > build directory: 
> "/tmp/guix-build-emacs-guix-0.5.2.drv-0/emacs-guix-0.5.2"
>  > configure flags: 
> ("CONFIG_SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  
> "SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  "--prefix=/gnu/store/bqplgazij77awh62579p56wbnxdb1c2l-emacs-guix-0.5.2" 
> "--enable-fast-install" "--build=x86_64-unknown-linux-gnu")
>  > configure: WARNING: unrecognized options: --enable-fast-install
>  > checking for a BSD-compatible install... 
> /gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin/install -c
>  > checking whether build environment is sane... yes
>  > checking for a thread-safe mkdir -p... 
> /gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin/mkdir -p
>  > checking for gawk... gawk
>  > checking whether make sets $(MAKE)... no
>  > checking whether make supports nested variables... yes
>  > checking whether make supports nested variables... (cached) yes
>  > checking for pkg-config... 
> /gnu/store/krpyb0zi700dcrg9cc8932w4v0qivdg9-pkg-config-0.29.2/bin/pkg-config
>  > checking pkg-config is at least version 0.9.0... yes
>  > configure: checking for guile 2.2
>  > configure: checking for guile 2.0
>  > configure: error: 
>  > No Guile development packages were found.
>  > 
>  > Please verify that you have Guile installed.  If you installed Guile
>  > from a binary distribution, please verify that you have also installed
>  > the development packages.  If you installed it yourself, you might need
>  > to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more.
>  > 
>  > command 
> "/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash" 
> "./configure" 
> "CONFIG_SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  
> "SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  "--prefix=/gnu/store/bqplgazij77awh62579p56wbnxdb1c2l-emacs-guix-0.5.2" 
> "--enable-fast-install" "--build=x86_64-unk

core-updates call for testing

2020-04-23 Thread Marius Bakke
Hello Guix!

The "core-updates" branch is ready for testing!  According to 'guix
weather', the substitute coverage is slightly better than on "master"
for x86_64.  You can get it by running:

  guix pull --branch=core-updates

Please try upgrading your profiles and systems and file bugs for
anything that does not work for you.  GNOME users in particular are
encouraged to try the new GNOME 3.34 and report any regressions.

If you don't feel like jumping into the deep end, you can pull it to a
temporary location instead of the default ~/.config/guix/current:

  guix pull -p /tmp/core-updates --branch=core-updates
  /tmp/core-updates/bin/guix package -u

That way you don't have to 'guix pull --roll-back' to get at your
previous Guix (from the "master" branch).

Enjoy!


signature.asc
Description: PGP signature


Re: How to temporarily disable Pulseaudio?

2020-04-19 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> I've got a couple of sound issues which I suspect might be linked to
> Pulseaudio.
>
> I'd like to temporarily disable Pulseaudio and see if I experience those
> issues with ALSA alone.
>
> It seems that Pulseaudio is part of the %desktop-services.
> However it's not listed in
>
> --8<---cut here---start->8---
> sudo herd status
> --8<---cut here---end--->8---
>
> for me.  Any idea why?
>
> Killing the pulseaudio process manually results in it being
> automatically started.  I suspect that's expected from shepherd.
>
> Any clue how to kill it for real?

Pulseaudio is designed to be started on demand by any application
attempting to use it, so it cannot really be disabled AFAIK...

You could try to build the application you want to test without
Pulseaudio support, and run it after killing the pulseaudio daemon.


signature.asc
Description: PGP signature


Re: about basic operation of guix sd

2020-04-07 Thread Marius Bakke
Hi Satoru, and welcome to Guix!  I hope you will enjoy your stay.  :-)

Satoru KURASHIKI  writes:

> hi,
>
> I happen to know Guix SD recently, and trying to tinkering it.

FYI the 'SD' name has been deprecated in favor of 'Guix System'.

> I've just managed to "guix init" on my new box, and have questions
> about its operations.
> # excuse: I looked over the guix manual, but may be overlooking clues...
>
> Please tell me any of FAQ, Howto, list thread, blog, sample code, or
> gist, which would answer:
>
> - How to unify personal substitutes?
>   - "guix publish" will serve the substitutes built on that host, and
> I want to add substitutes
> of another host's
>   - Is this work as expected? : rsync /gnu/store to repository host to
> merge substitutes

Syncing /gnu/store will not work without also syncing /var/guix/db.  I
think what you want to do is on host1 run 'guix publish' as you already
found, and on host2 you can then use 'guix install foo
--substitute-urls="https://host1 https://ci.guix.gnu.org;' to get
substitutes from both host1 and the Guix CI infrastructure.

See https://guix.gnu.org/manual/en/guix.html#Invoking-guix-publish for a
more complete explanation.

To do this through the configuration system, you need
'guix-publish-service-type' and adjusting the 'substitute-urls' field of
'guix-service-type'.

> - The right way of treating guix code (or guile code structure?)
>   - I have to clone guix repo into my home directory?
> - Though "guix pull" should have source tree anywhere (in
> /gnu/store?), so are there any interfaces
>   to access them through guix-daemon?
>   - I want to tweak existing code (package definition)
> - I should copy target file to somewhere working directory to edit
>   or edit target file in the project tree?

After cloning the Guix repository, you can run Guix directly from the
checkout using the "./pre-inst-env" script: see the Contributing
section of the manual for how to configure a development environment:

https://guix.gnu.org/manual/en/guix.html#Contributing 

Another alternative is to use 'guix pull --url=/your/cloned/repository'.

> - Emacs setup (to edit guix configuration)
>   - I want something like:
> - i.e. M-x guix-describe-variables to view document of guix
> keywords and jump to its definition
> - C-x C-e to evaluate variables (to confirm its values)
> - guix keyword completion
> - Some linter (flymake/flycheck thing)
>   - emacs-guix seems to be "guix" command wrapper, so I guess
> configuring geiser will make it?

You can get completion and jumping through Geiser, but I don't have
instructions at hand.  Hopefully some of the Emacs gurus can chime in
here.  :-)


signature.asc
Description: PGP signature


Re: Guix and clamav, freshclam doesn't dowload

2020-04-04 Thread Marius Bakke
Hi 白い熊,

白い熊  writes:

> Unfortunately, this fails to install with:
>
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 1.2 MB will be downloaded:
> /gnu/store/p5qdvijyl3vmq2phzmbgcka6jk7pbmmm-module-import
> /gnu/store/adkz4x95qy12z7d0s4146prx2hcz46y4-module-import-compiled
> /gnu/store/y2q7305gyh01nmngkfkq9gdz8zs3zfi1-compute-guix-derivation
> Backtrace:
> 1 (primitive-load "/home/shiroikuma/.config/guix/current/bin/guix")
> In guix/ui.scm:
> 1936:12 0 (run-guix-command _ . _)
>
> guix/ui.scm:1936:12: In procedure run-guix-command:
> In procedure put-bytevector: Wrong type argument in position 1 (expecting 
> open output port): #

This was actually a bug in Guix that was fixed just now:
.  Please try again after a 'guix pull', it
should work better now!  :-)


signature.asc
Description: PGP signature


Re: Guix and clamav, freshclam doesn't dowload

2020-04-04 Thread Marius Bakke
白い熊  writes:

> Apr 3, 2020 18:53:25 Marius Bakke :
>
>
>> ClamAV can be pulled from that branch through an inferior or with
>> 'guix time-machine --branch=core-updates -- install clamav'.
>> 
>> 
>
> I have clamav installed in its own profile using a manifest file. How can I 
> specify the above in the manifest?

You will have to use an "inferior"[0].  Here is an untested manifest
that should create a profile where HTTPS is working (note that you need
to source the /etc/profile script).

(use-modules (guix inferior)
 (guix channels))

(define channels
  ;; A channel with the "core-updates" branch.
  (list (channel
 (name 'guix)
 (url "https://git.savannah.gnu.org/git/guix.git;)
 (branch "core-updates"

(define inferior
  ;; An inferior representing the above channel.
  (inferior-for-channels channels))

;; Create a manifest with ClamAV from the 'core-updates' branch, and
;; cURL + nss-certs to access HTTPS URLs.
(packages->manifest
 (append (lookup-inferior-packages inferior "clamav")
 (map specification->package
  '("curl"   ;to get the SSL_CERT_DIR variable
"nss-certs"  ;to verify TLS certificates


0: https://guix.gnu.org/manual/en/guix.html#Inferiors


signature.asc
Description: PGP signature


Re: Guix and clamav, freshclam doesn't dowload

2020-04-03 Thread Marius Bakke
Tobias Geerinckx-Rice  writes:

> Let's see how we can patch freshclam to point libcurl in the right 
> direction…

FWIW this problem has been fixed on the 'core-updates' branch with
commit a76a343082d61d5303b61a9e4cbde4ab8515a1e7.  Now all libcurl users
will respect the same search paths.

ClamAV can be pulled from that branch through an inferior or with
'guix time-machine --branch=core-updates -- install clamav'.


signature.asc
Description: PGP signature


Re: [dxvk] How to set RPATH with Meson?

2020-03-25 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> I'm trying to update DXVK to 1.6 and it now ships a new d3d10core.dll.so
> on which its other libraries depend.
> Thus RUNPATH verification fails:
>
> --8<---cut here---start->8---
> validating RUNPATH of 6 binaries in 
> "/gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib"...
> /gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib/d3d10.dll.so: 
> error: depends on 'd3d10core.dll.so', which cannot be found in RUNPATH 
> ("/gnu/store/f2xz8fhfsb559xnpqxqik5y121svnhdg-glibc-2.29/lib" 
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib" 
> "/gnu/store/8239jfnnszqgsvyqansvwwwqzryw9zhb-wine-staging-5.3/bin/../lib/wine32"
>  
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib/gcc/i686-unknown-linux-gnu/9.3.0/../../..")
> /gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib/d3d10_1.dll.so: 
> error: depends on 'd3d10core.dll.so', which cannot be found in RUNPATH 
> ("/gnu/store/f2xz8fhfsb559xnpqxqik5y121svnhdg-glibc-2.29/lib" 
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib" 
> "/gnu/store/8239jfnnszqgsvyqansvwwwqzryw9zhb-wine-staging-5.3/bin/../lib/wine32"
>  
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib/gcc/i686-unknown-linux-gnu/9.3.0/../../..")
> --8<---cut here---end--->8---
>
> I tried passing the following arguments:
>
> --8<---cut here---start->8---
> (string-append "-Dc_link_args=-Wl,-rpath="
>(assoc-ref %outputs "out")
>"/lib")
> (string-append "-Dcpp_link_args=-Wl,-rpath="
>(assoc-ref %outputs "out")
>"/lib")
> --8<---cut here---end--->8---
>
> Didn't work.
>
> Any idea where to go from here?

meson-build-system already passes those arguments unconditionally.
Perhaps meson.build does something weird and ignores those flags?


signature.asc
Description: PGP signature


Re: ungoogled-chromium

2020-03-22 Thread Marius Bakke
Vagrant Cascadian  writes:

> I'm curious if you can get audio or microphone access using
> ungoogled-chromium on meet.jit.si... video worked fine for me, but
> neither audio output nor microphone input worked.  Are there optional
> plugins needed to make audio work with ungoogled-chromium?

Early revisions of ungoogled-chromium had a bug where websites were
prevented from accessing your microphone.

Check if ~/.config/chromium/Default/Preferences has an entry like

  "audio_capture_enabled": false

Removing or inverting that setting should fix the problem in that case.

HTH,
Marius


signature.asc
Description: PGP signature


Re: ungoogled-chromium

2020-03-22 Thread Marius Bakke
Marco van Hulten  writes:

> I installed ungoogled-chromium.  When it starts and I browse to the
> main Jitsi instance [1], it wants to install the extension for Google
> Calendar and Office 365 integration.  I don't know if those are
> non-free softwares, but they at least provide non-free web services.

Are you suggesting that ungoogled-chromium inserts the ad[0] into the
meet.jit.si web page?  I have never seen that banner before, and can not
find any references to meet.jit.si in the ungoogled-chromium source code.

[0] Search for  in the HTML.


signature.asc
Description: PGP signature


Re: Problem with guix offload

2020-03-20 Thread Marius Bakke
Mikael Djurfeldt  writes:

> Hi,
>
> I just installed guix on top of Debian Buster using the installation script
> at guix.gnu.org. I did this on two machines, hat and wand, with the hope
> that I could offload compilation to wand.
>
> This is what I get:
>
> root@hat:~# guix offload test
> guile: warning: failed to install locale
> hint: Consider installing the `glibc-utf8-locales' or `glibc-locales'
> package and
> defining `GUIX_LOCPATH', along these lines:
>
>  guix package -i glibc-utf8-locales
>  export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
>
> See the "Application Setup" section in the manual, for more info.
>
> guix offload: testing 1 build machines defined in
> '/etc/guix/machines.scm'...
> guix offload: Guix is usable on 'wand.pdc.kth.se' (test returned
> "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
> guix offload: 'wand.pdc.kth.se' is running GNU Guile 3.0.1
> sending 1 store item (0 MiB) to 'wand.pdc.kth.se'...
> exporting path `/gnu/store/sd0wqvaffi1cbpvf0dq37mab34rmlnav-export-test'
> ;;; [2020/03/17 12:45:48.671038, 0] write_to_channel_port: [GSSH ERROR]
> Remote channel is closed: #
> Backtrace:
>1 (primitive-load "/root/.config/guix/current/bin/guix")
> In guix/ui.scm:
>   1833:12  0 (run-guix-command _ . _)
>
> guix/ui.scm:1833:12: In procedure run-guix-command:
> Throw to key `guile-ssh-error' with args `("write_to_channel_port" "Remote
> channel is closed" # #f)'.
>
> Any hints about what could be wrong?

'guix' must be available on GUILE_LOAD_PATH on the remote machine,
e.g. by installing the 'guile3.0-guix' package into the user profile.

IOW, for offloading to work, this command should succeed:

$ ssh wand guile -c "'(use-modules (guix config))'"

It can be useful to add a dedicated user account on the remote for
offloading to avoid clobbering your regular profile.

Hope this helps,
Marius


signature.asc
Description: PGP signature


Re: Installing guix on nixos system

2020-03-19 Thread Marius Bakke
Roy Lemmon  writes:

> Hi All,
>
> I have followed the instructions in that link and successfully installed
> the build users and guix daemon on my nixos system. As root, I can run
>
> guix package -i hello
>
> and the hello package is installed and I can run it.
>
> However I am having trouble setting up the environment for running guix as
> a user (I am on my laptop, so there is only one user). guix is of course
> not recognised as a command when I am the user. I can run it as
> /usr/local/bin/guix so that is ok and I could put that in my PATH. But is
> that all I need to do ? I am not sure where the guix packages are installed
> as a user rather than root.

I haven't read the linked blog post, but I think the next step is to use
the Guix in /usr/local/bin to run 'guix pull' as your user.  That will
install the latest version of Guix in ~/.config/guix/current.

Afterwards, make sure ~/.config/guix/current/bin comes first in PATH,
then you should be able to use Guix normally.


signature.asc
Description: PGP signature


Re: guix browsers timezones are set to GMT

2020-02-05 Thread Marius Bakke
Ben Sturmfels  writes:

> For what it's worth, there's a bug report here matching the issue you
> describe. The issue appears to affect quite a number of programs.
>
> https://issues.guix.gnu.org/issue/35746

Hmm, I thought we had fixed that particular bug with commit
2a80d9e55299214a3f0b4f585767b4c81c9d5c7d.

Are you still experiencing this problem with the Evolution calendar?


signature.asc
Description: PGP signature


Re: ungoogled-chromium aborts on foreign distro via LTSP (Linux Terminal Server Project)

2020-01-13 Thread Marius Bakke
Giovanni Biscuolo  writes:

>>> The chromium binary from Debian 10 on the same LTSP environment does not
>>> have the same problem, it works
>
> so the Debian binary is working without user namespaces?

Chromium has another sandboxing method that relies on a setuid binary,
which is what Debian uses.


signature.asc
Description: PGP signature


Re: protect generations

2020-01-11 Thread Marius Bakke
Marco van Hulten  writes:

> Hello—
>
> One of the great features of Guix is that one can roll back his
> profile.  But I did a garbage collection (gc) that was too aggressive
> such that a relevant old profile disappeared.  I presume this is gone
> forever.
>
> Is it possible to lock certain generations (of certain users) such that
> 'guix gc' would not touch it?

There are AFAIK two ways in which 'guix gc' can delete "live" profiles:

1. you used the '-d' option, which deletes old profile generations,
   optionally filtering on age
2. the profile was inaccessible/invisible to gc (e.g. on a mounted drive
   that was unavailable)

Do either of these scenarios ring a bell?


signature.asc
Description: PGP signature


Re: ungoogled-chromium aborts on foreign distro via LTSP (Linux Terminal Server Project)

2020-01-11 Thread Marius Bakke
Giovanni Biscuolo  writes:

> if I run the last ungoogled-chromium Guix version in my terminal session
> [1] on a Debian 10 server, I get SIGABRT:
>
> --8<---cut here---start->8---
> [14913:14913:0110/113833.689067:FATAL:zygote_host_impl_linux.cc(116)] No 
> usable sandbox! Update your kernel or see 
> https://chromium.9oo91esource.qjz9zk/chromium/src/+/master/docs/linux_suid_sandbox_development.md
>  for more information on developing with the SUID sandbox. If you want to 
> live dangerously and need an immediate workaround, you can try using 
> --no-sandbox.
> #0 0x561fb4b09f09 base::debug::CollectStackTrace()
>
> Received signal 6
> #0 0x561fb4b09f09 base::debug::CollectStackTrace()
>   r8:   r9: 7ffc91ca6500 r10: 0008 r11: 
> 0246
>  r12: 7ffc91ca7750 r13: 0170 r14: 7ffc91ca7910 r15: 
> 7ffc91ca6780
>   di: 0002  si: 7ffc91ca6500  bp: 7ffc91ca6740  bx: 
> 0006
>   dx:   ax:   cx: 7fee29c227fa  sp: 
> 7ffc91ca6578
>   ip: 7fee29c227fa efl: 0246 cgf: 002b0033 erf: 
> 
>  trp:  msk:  cr2: 
> [end of stack trace]
> Calling _exit(1). Core file will not be generated.
> --8<---cut here---end--->8---
>
> If I run ungoogled-chromium with --no-sandbox it works, but I'd like not
> to browse with the sandbox off (I'm going to study how to run my
> browsers in a guix container, but it't not the solution AFAIU)
>
> The same updated version of ungoogled-chromium from Guix on a Debian 10
> laptop does not have this problem, so it's specific to the LTSP
> environment I guess
>
> The chromium binary from Debian 10 on the same LTSP environment does not
> have the same problem, it works
>
> Any suggestion on where to look for problems here, please?

The (ungoogled-) Chromium sandbox relies on user namespaces support in
the kernel.  I guess `guix environment -C` does not work either?

Debian disables user namespaces by default, try this command to enable
it:

 sudo sysctl -w kernel.unprivileged_userns_clone=1


signature.asc
Description: PGP signature


Re: Creating local variation of match-theme

2019-12-26 Thread Marius Bakke
Jack Hill  writes:

> Thanks Marius!
>
> On Wed, 18 Dec 2019, Marius Bakke wrote:
>
>> It's not pretty, but you could create a package that takes "match-theme"
>> as an input and makes the necessary adjustments.
>>
>> See the 'mariadb/fixed-install-db' variant added in
>> 9077cf68ec57c0303ef7746e203c3fe5ed041add for an example.
>
> I tried this approach first, and find the results acceptable for this 
> purpose. This technique seems most applicable when what needs to modified 
> is a text file. I ended up with this package definition:
>
> ```
> (package
>   (inherit matcha-theme)
>   (native-inputs '())
>   (inputs `(("matcha-theme" ,matcha-theme)))
>   (outputs '("out"))
>   (build-system trivial-build-system)
>   (arguments
>`(#:modules ((guix build utils))
>   #:builder
>   (begin
> (use-modules ((guix build utils)))
> (let ((upstream-theme (assoc-ref %build-inputs "matcha-theme"))
>   (out (assoc-ref %outputs "out")))
>   (copy-recursively upstream-theme out)
>   (substitute* (find-files out "\\.css$")
> (("abb9b6") "859900"))
>   (synopsis "jackhill's version of the matcha-theme"))
> ```
>> Another "cleaner" approach could be to use 'computed-file' to create a
>> patched source tarball, and pass that as the source in your local
>> variant.
>
> I have not yet tried this. I should because, as you point out, this is 
> "cleaner", and would work in situations where what needs to be modified in 
> compiled into an opaque object in the output.
>
> However, without trying this, I don't see how it would work better than 
> using a snippet in the origin definition. Or perhaps you meant to created 
> the patched source tarball from the output of the upstream matcha-theme 
> package?
>
> Either way, I think I'm still left with the question of how can we make 
> modifying packages easier without the need to resort to kludges.

'substitute-keyword-arguments' and 'snippets' do make it pretty easy,
but as you found it does not work with 'trivial-build-system'.

Perhaps we should just discourage the latter entirely: "matcha-theme"
can easily be rewritten to use 'gnu-build-system' instead by deleting or
overriding the unnecessary phases.

Feel free to submit a patch that does just that!  :-)


signature.asc
Description: PGP signature


Re: Cannot build libdbi-drivers: "dbd_mysql.c:54:10: fatal error: mysql.h: No such file or directory"

2019-12-18 Thread Marius Bakke
jorge+l...@disroot.org (Jorge P. de Morais Neto) writes:

> For more than a week I have been unable to update Gnucash.  One of its
> dependencies, libdbi-drivers, fails to build.  I have attached the build
> log.

Hello Jorge,

This is fixed with commit 9077cf68ec57c0303ef7746e203c3fe5ed041add.
Thanks for reporting the issue!


signature.asc
Description: PGP signature


Re: Fwd: Packaging a cmake C++ header only library requiring C++17

2019-11-29 Thread Marius Bakke
Hi Josh,

Josh Marshall  writes:

> Hello,
>
> nckd and I have gone back and forth over a few days in IRC trying to
> help me out here.  I am trying to package magic-enum (
> https://github.com/Neargye/magic_enum ) which is a C++ header only
> library requiring at least C++ 17, and uses the cmake build system.
> The problem which we can't figure out is why the compiler being used
> is the default for `gcc` at 7.4 while there is explicit use and
> dependency on `gcc` 9.2 via `gcc-9`.  We're stumped.
>
> Attached are the latest package definitions, build log, and cli
> invocation and output.

If you change 'inputs' to 'native-inputs', then CMake will pick up the
correct GCC, and you can remove the (arguments ...) block.

(you probably wanted -std=gnu++17 instead of -std=gnu17 too, but no need
when using GCC 9)

Pro tip: use 'guix build -f magic-enum.scm' to get the build output
right in your terminal.  :-)

HTH,
Marius


signature.asc
Description: PGP signature


Re: Tutorial: Running XFCE from Guix on a foreign distribution

2019-11-24 Thread Marius Bakke
zimoun  writes:

> On Thu, 21 Nov 2019 at 20:09, Marius Bakke  wrote:
>
>> Did you use a different user account?
>
> No, same user account.

Right.  For those trying this tutorial at home, I recommend a dedicated
user account to prevent conflicts with the other desktop session.

Cheers,
Marius


signature.asc
Description: PGP signature


Re: how to connect usb gamepad?

2019-11-24 Thread Marius Bakke
Try adding your user to the 'input' group:

(user-account
 ...
 (supplementary-groups '("input" ...)))

...then reconfigure and reboot your system.

If that does not work, please mention which controller you are using and
paste the last lines from the `dmesg` command after plugging it in.


signature.asc
Description: PGP signature


Re: Tutorial: Running XFCE from Guix on a foreign distribution

2019-11-21 Thread Marius Bakke
zimoun  writes:

> Hi Marius,
>
> I have tried on the top of Debian.
>
> Instead of "/etc/X11/xinit/xinitrc-common" in the .xinitrc file, it is
> just "/etc/X11/xinit/xinitrc". Then it works. \o/

Cool, thanks for testing!

> However, after a couple of minutes, my normal X session (C-M-F7) using
> AwesomeWM crashes and log out. The XFCE remains. Maybe I am doing
> something wrong.

Did you use a different user account?

Do the system logs contain any information about why it crashed?  In
particular /var/log/Xorg.0.log if it exists.

> Otherwise, even if I am not sure to understand how I can use it, thank
> you for the blog post; I have learnt some interesting stuff! :-)

Great, thanks for the feedback.  :-)


signature.asc
Description: PGP signature


Re: Installing Guix System on an external hard drive

2019-11-19 Thread Marius Bakke
Jan  writes:

> On Fri, 15 Nov 2019 15:49:23 +0100
> Marius Bakke  wrote:
>
>> Did you get the same error when you mounted at /boot/efi?
> Yes.
>
>> If you want the USB drive to be 'portable', i.e. not tied to a single
>> system, you can not use 'grub-efi-bootloader'.  The reason is that
>> grub-efi relies on updating UEFI firmware variables *on the running
>> system*, to make the newly installed bootloader show up in the UEFI
>> boot menu.
>> 
>> For the same reason, it is not possible to use it on a non-UEFI
>> system.
>> 
>> It would be good to have a 'grub-standalone-bootloader' procedure that
>> would write a self-contained UEFI firmware executable to a standard
>> location, similar to what Guix does for disk images:
>> 
>> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/vm.scm?id=4dcf32b56b824efcdb181c9f4cc7ee6c8a0ba125#n399
>> 
>> Would you like to try implementing it?
>
> Well, I could try as a Scheme learning exercise, but it would take me
> some time, because I'm a fresh Guile coder and the only thing I know
> about UEFI is that it has a buggy implementation on my motherboard and
> GRUB goes to hell :)
> Any hint where could I start?

I would start by copying an existing bootloader from
gnu/bootloader/grub.scm and make it run 'grub-mkstandalone' as in the
above URL.

Hope this helps!
Marius


signature.asc
Description: PGP signature


Re: gfortran seems to require gcc-toolchain

2019-11-19 Thread Marius Bakke
Konrad Hinsen  writes:

> Hi Simon,
>
>> Maybe a "gfortran-toolchain" package with all the battery included?
>
> That sounds like a very good idea! And I even volunteer to
> implement it. Except if someone comes up with a better
> solution of course.

Sounds great to me.  :-)


signature.asc
Description: PGP signature


Tutorial: Running XFCE from Guix on a foreign distribution

2019-11-17 Thread Marius Bakke
Hello Guixers,

Here is an end-to-end tutorial for running Guix XFCE on CentOS 7:

https://guix.gnu.org/blog/2019/running-a-guix-xfce-desktop-on-centos-7/

It has only been tested on a special CentOS "appliance", but should be
easily adaptable to other systemd-based distributions.

Please share your experience trying it with other operating systems or
desktop environments for an eventual cookbook entry.

Enjoy!


signature.asc
Description: PGP signature


Re: `guix install protobuf:static` headers?

2019-11-15 Thread Marius Bakke
zimoun  writes:

> However, is it expected that LIBRARY_PATH is not set?
>
> --8<---cut here---start->8---
>  $ cat /tmp/proto/etc/profile
> # Source this file to define all the relevant environment variables in Bash
> # for this profile.  You may want to define the 'GUIX_PROFILE' environment
> # variable to point to the "visible" name of the profile, like this:
> #
> #  GUIX_PROFILE=/path/to/profile ; \
> #  source /path/to/profile/etc/profile
> #
> # When GUIX_PROFILE is undefined, the various environment variables refer
> # to this specific profile generation.
>
> export 
> PATH="${GUIX_PROFILE:-/gnu/store/m26p44mxy4k79gzy18nq2nivygrdmkm5-profile}/bin${PATH:+:}$PATH"
> --8<---cut here---end--->8---

LIBRARY_PATH is only set if you include 'gcc' or 'gcc-toolchain' in the
profile, and is generally only needed if you want to compile something.

>> I think there were proposals to start using a 'dev' output for headers
>> and such, but don't know if it got anywhere.
>
> Moreover, the static libraries are also installed with simply
> "protobuf@2.6.0:out".

I can't find a protobuf@2.6.0 package, but at least for 2.6.1 there are
no .a files in the default output.

> I have tried to adapt the definition of protobuf adding a "lib" flag.
> But it fails with "cycle detected in the references of". Roptat
> explained on IRC how to track the issue and before investigating some
> time, I would like to be sure to well understand. :-)

The cyclic reference means something in the lib output references "out".
To find out which, try grepping for the store hash of the "out" output.

HTH,
Marius


signature.asc
Description: PGP signature


Re: gfortran seems to require gcc-toolchain

2019-11-15 Thread Marius Bakke
Konrad Hinsen  writes:

> Hi Marius,
>
>> 'as' is part of Binutils, you don't need the entire toolchain.
>>
>> That said, there are various other workarounds in Guix due to GCC
>> (and apparently gfortran) lacking an absolute reference to 'as'.
>>
>> Can you try the following patch and see if it works for your case?
>
> Thanks for looking into this!
>
> With your patch, I can compile Fortran programs in an environment
> containing nothing but "gfortran", so I'd say it works!

On second though, the patch increases the size of 'gcc' from 238.0 MiB
to 291.5 MiB.  It may also make it difficult to use a different 'as'
executable.

So I'm not sure whether the added convenience is worth it.

Thoughts?


signature.asc
Description: PGP signature


Re: Installing Guix System on an external hard drive

2019-11-15 Thread Marius Bakke
Jan  writes:

> Tried this, but didn't work, also tried mounting the partition at
> "/boot/efi" and installing bootloader at "/boot". I'm installing Guix
> form a not-UEFI machine, could this cause the problem?

Did you get the same error when you mounted at /boot/efi?

If you want the USB drive to be 'portable', i.e. not tied to a single
system, you can not use 'grub-efi-bootloader'.  The reason is that
grub-efi relies on updating UEFI firmware variables *on the running
system*, to make the newly installed bootloader show up in the UEFI boot
menu.

For the same reason, it is not possible to use it on a non-UEFI system.

It would be good to have a 'grub-standalone-bootloader' procedure that
would write a self-contained UEFI firmware executable to a standard
location, similar to what Guix does for disk images:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/vm.scm?id=4dcf32b56b824efcdb181c9f4cc7ee6c8a0ba125#n399

Would you like to try implementing it?


signature.asc
Description: PGP signature


Re: gfortran seems to require gcc-toolchain

2019-11-10 Thread Marius Bakke
Efraim Flashner  writes:

> On Sun, Nov 10, 2019 at 12:03:37AM +0100, Marius Bakke wrote:
>> Konrad Hinsen  writes:
>> 
>> > Hi Guix,
>> >
>> > I am trying to recompile old Fortran code under Guix. I made an (pure)
>> > environment containing "gfortran" plus a few required tools (make etc.),
>> > but found that every Fortran compilation stops with an error message
>> > complaining about "as" missing. Installing gcc-toolchain fixes the
>> > problem.
>> 
>> 'as' is part of Binutils, you don't need the entire toolchain.
>> 
>> That said, there are various other workarounds in Guix due to GCC
>> (and apparently gfortran) lacking an absolute reference to 'as'.
>> 
>> Can you try the following patch and see if it works for your case?
>> 
>
> Unfortunately the diff is empty. Unless you were implying Guix is
> perfect ;D

Lol, whoops.  Let me try this again:

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index bda6a2b48a..e01beaca86 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -623,10 +623,14 @@ as the 'native-search-paths' field."
 (srfi srfi-26))
,@(package-arguments gcc))
((#:configure-flags flags)
-`(cons (string-append "--enable-languages="
-  ,(string-join languages ","))
-   (remove (cut string-match "--enable-languages.*" <>)
-   ,flags)))
+`(append (list (string-append "--enable-languages="
+  ,(string-join languages ","))
+   ;; TODO: Move to 'gcc' in the next rebuild cycle.
+   (string-append "--with-as="
+  (assoc-ref %build-inputs "binutils")
+  "/bin/as"))
+ (remove (cut string-match "--enable-languages.*" <>)
+ ,flags)))
((#:phases phases)
 `(modify-phases ,phases
(add-after 'install 'remove-broken-or-conflicting-files


signature.asc
Description: PGP signature


Re: gfortran seems to require gcc-toolchain

2019-11-09 Thread Marius Bakke
Konrad Hinsen  writes:

> Hi Guix,
>
> I am trying to recompile old Fortran code under Guix. I made an (pure)
> environment containing "gfortran" plus a few required tools (make etc.),
> but found that every Fortran compilation stops with an error message
> complaining about "as" missing. Installing gcc-toolchain fixes the
> problem.

'as' is part of Binutils, you don't need the entire toolchain.

That said, there are various other workarounds in Guix due to GCC
(and apparently gfortran) lacking an absolute reference to 'as'.

Can you try the following patch and see if it works for your case?



signature.asc
Description: PGP signature


Re: `guix install protobuf:static` headers?

2019-11-03 Thread Marius Bakke
zimoun  writes:

> Dear,
>
> When I run `guix install protobuf:static -p path/to/profile` then I
> expect that the headers are in "path/to/profile" but they are not.
> However, they appear without the ":static" flag.
>
> I am confused.
>
> Moreover, the static libraries are even copied without the flag ":static".
>
> --8<---cut here---start->8---
>  (add-after 'install 'move-static-libraries
>(lambda* (#:key outputs #:allow-other-keys)
>  ;; Move static libraries to the "static" output.
>  (let* ((out(assoc-ref outputs "out"))
> (lib(string-append out "/lib"))
> (static (assoc-ref outputs "static"))
> (slib   (string-append static "/lib")))
>(mkdir-p slib)
>(for-each (lambda (file)
>(install-file file slib)
>(delete-file file))
>  (find-files lib "\\.a$"))
> --8<---cut here---end--->8---
>
>
> What should be the correct behaviour of "out" vs "static"?

'static' outputs typically contain *only* the .a libraries, as you
found.  If you want the headers, you need to add protobuf:out too.

I think there were proposals to start using a 'dev' output for headers
and such, but don't know if it got anywhere.


signature.asc
Description: PGP signature


Re: upgrading systems with <= 2 GiB RAM

2019-11-03 Thread Marius Bakke
Marco van Hulten  writes:

> Marius—
>
> Je 31 okt 23:49 skribis Marius:
>> Marco van Hulten  writes:
>> 
>> > I have an oldish amd64 system with 2 GiB of memory, but it is fast
>> > enough to use as a media center.  Guix was last updated early this
>> > year.  Upgrading it now takes many days.  It keeps on swapping (using
>> > quite consistently 2 of 4 GiB of swap available).
>> >
>> > Do you think the swapping is the reason that it takes so long?
>> >
>> > Would it be a general strong advice to use more than 2 GiB, or is it
>> > likely useful to give details like which program is compiling (as in a
>> > proper bug report)?  
>> 
>> Ideally you should not have to compile anything.  Have you authorized
>> the ci.guix.gnu.org signing key?
>
> I did not authorize that signing key.  Now that I have, upgrading the
> system and installing packages goes much faster.

Glad it worked!

It would be ideal if Guix printed a warning when using a substitute
server whose signing key is not authorized.  Any volunteers?  :-)


signature.asc
Description: PGP signature


Re: upgrading systems with <= 2 GiB RAM

2019-10-31 Thread Marius Bakke
Marco van Hulten  writes:

> Hello—
>
> I have an oldish amd64 system with 2 GiB of memory, but it is fast
> enough to use as a media center.  Guix was last updated early this
> year.  Upgrading it now takes many days.  It keeps on swapping (using
> quite consistently 2 of 4 GiB of swap available).
>
> Do you think the swapping is the reason that it takes so long?
>
> Would it be a general strong advice to use more than 2 GiB, or is it
> likely useful to give details like which program is compiling (as in a
> proper bug report)?

Ideally you should not have to compile anything.  Have you authorized
the ci.guix.gnu.org signing key?


signature.asc
Description: PGP signature


Re: reconfigure in failure

2019-10-24 Thread Marius Bakke
Jack Hill  writes:

> On Thu, 24 Oct 2019, Marius Bakke wrote:
>
>> Hello Pierre,
>>
>> pirboazo  writes:
>>
>>> for several days I can no longer update my system.
>>>
>>> with the last guix : 4c46356
>>> The update fails during the check phase of the jimtcl-0.77 package.
>>
>> Where is this package from?  I can not find it in Guix.
>
> I believe this is 
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/embedded.scm?id=4c463569b7af3ee064d323691bc0284155f9a85d#n331
>  

Whoops, indeed.

There does not seem to be any problems on the CI:

https://ci.guix.gnu.org/search?query=jimtcl

Pierre: can you run `guix build jimtcl` and paste the last lines of the
output?  Also, did you purposefully disable substitutes?  Normally Guix
would transparently download a pre-built package from the CI system.


signature.asc
Description: PGP signature


Re: reconfigure in failure

2019-10-24 Thread Marius Bakke
Hello Pierre,

pirboazo  writes:

> for several days I can no longer update my system.
>
> with the last guix : 4c46356
> The update fails during the check phase of the jimtcl-0.77 package.

Where is this package from?  I can not find it in Guix.


signature.asc
Description: PGP signature


Re: Kernel Panic

2019-10-24 Thread Marius Bakke
Raghav Gururajan  writes:

> Whenever I shutdown my system, I end up with kernel panic, 50% of the
> time.

Can you post a picture or transcript of the kernel panic?  Please also
include your system configuration and some information about the
hardware you are using (i.e. laptop model).

> I was wondering whether guix uses LTS releases of linux-libre or not?

The default kernel in Guix is the latest and greatest, but you can
choose to use one of the LTS releases that are available (4.4, 4.9, 4.14
or 4.19) by adjusting the 'kernel' field of your system configuration.

> Or is there any other way to prevent these kernel panic?

Try pulling the power instead of shutting down...  :-P

(on a more serious note, it could be interesting to see if holding
AltGr+SysRq and typing 'reisub' also triggers this problem, and at which
letter).


signature.asc
Description: PGP signature


Re: Tons of packages get rebuild

2019-10-23 Thread Marius Bakke
Hartmut Goebel  writes:

> Am 22.10.19 um 05:27 schrieb Maxim Cournoyer:
>> I can only think that one of the packages you updated as part of your
>> work on the KDE Framework must be a dependency of many others (such as
>> Python, or another core tool)?
>
> Of course the updated package have many dependencies. But I would expect
> all these packages to be build at ci.guix.gnu.org and be fetched from there.

Does your /etc/guix/acl contain an entry such as

(public-key 
 (ecc 
  (curve Ed25519)
  (q #8D156F295D24B0D9A86FA5741A840FF2D24F60F7B6C4134814AD55625971B394#)
  )
 )

?

Does 'guix weather' give any clues?


signature.asc
Description: PGP signature


Re: core-updates unbound variable

2019-10-23 Thread Marius Bakke
Hello Rene,

Rene  writes:

> ice-9/eval.scm:293:34: ice-9/eval.scm:293:34: error: 
> repository-working-directory: unbound variable
> hint: Did you forget `(use-modules (git repository))'?

This means your installed version of Guile-Git is too old: you need
version 0.2 or later.

Typically `guix environment guix` takes care of that, provided you ran
'guix pull' in the last 10 months.


signature.asc
Description: PGP signature


Re: PKG_CONFIG_PATH missing from guix-profile/etc/profile

2019-09-27 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> I've installed webkitgtk+ to a custom profile, and the etc/profile file
> does not contain any "export PKG_CONFIG_PATH...".
> Because of this,
>
> --8<---cut here---start->8---
> $ pkg-config --cflags webkit2gtk-4.0
> --8<---cut here---end--->8---
>
> fails to find anything.
>
> Is this a bug?

Search paths are properties of the packages that consume them.  Adding
"pkg-config" to the profile will populate PKG_CONFIG_PATH for that
profile.


signature.asc
Description: PGP signature


Re: guix pull behind proxy not working

2019-08-15 Thread Marius Bakke
Jorge P. de Morais Neto  writes:

> Em 2019-07-04T11:05:35+0200, mar...@famic.de escreveu:
>
>> However, calling `guix pull` and `guix system reconfigure` still fails
>> due to unreachable network.  Does it need different proxy settings?
>> What can I do?
>
> I have the same problem on a Debian buster foreign distro.  I have
> configured the proxy in
> /etc/systemd/system/guix-daemon.service.d/override.conf
>
> It contains the following lines:
>
> Environment="http_proxy=http://localhost:3128;
> Environment="https_proxy=http://localhost:3128;
>
> And I confirmed with ~systemctl show~ that both variables are correct in
> the environment of Guix daemon.

I think you also need these variables in the environment that invokes
the 'guix' command.  Does it work if you export these variables before
running guix, in addition to having them in the daemon environment?


signature.asc
Description: PGP signature


Re: guix copy connection problems

2019-07-27 Thread Marius Bakke
Jack Hill  writes:

> Hello Guix,
>
> I'm trying to use `guix copy` to copy some store items from a more 
> powerful computer to my laptop. I've tried to set everything up correctly 
> with ssh-agent, and I can ssh without being prompted for credentials, but 
> guix-initiated connections are timing out, so clearly I'm missing 
> something, but I don't know what. Perhaps the following session transcript 
> with show what I'm missing:
>
> ```
> $ env|grep -i ssh
> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
> jackhill@alperton ~$ ssh-add -l
> 256 SHA256:g7qjlV99AHx3R2/ZlkeMGPqnYGzwPJjhVY5y7WX1a/E jackhill@alperton 
> (ED25519)
> jackhill@alperton ~$ ssh jackhill@remote
> Last login: Fri Jul 26 21:38:23 2019 from 107.15.18.231
> jackhill@remote ~$ logout
> Connection to remote closed.
> jackhill@alperton ~$ guix copy --from="jackhill@remote" icecat
> guix copy: error: SSH connection to 'remote' failed: Timeout connecting to 
> remote
> ```

'guix copy' does not currently support the 'user@host' style.  Instead
you have to configure your ~/.ssh/config such that 'ssh hostname' works,
then you can use guix copy --to=hostname-or-ip.

I suspect adding support for 'user@host' should not be too difficult,
without having looked at the code ;-)


signature.asc
Description: PGP signature


Re: /homeless-shelter workaround

2019-07-17 Thread Marius Bakke
Jesse Gibbons  writes:

> A package I am building fails multiple tests with the following error:
> OSError: [Errno 13] Permission denied: '/homeless-shelter'
>
> It is trying to make subdirectories to the builder's $HOME directory,
> which does not exist. Is there a standard workaround for this?

You can use (setenv "HOME" "/tmp").

Try `git grep -w setenv | grep -w HOME` for examples :-)


signature.asc
Description: PGP signature


Re: Installing Guix from source

2019-07-14 Thread Marius Bakke
"Reza Alizadeh Majd"  writes:

> Hi Guix, 
>
> I tried to build Guix from source on an existing version of GuixSD.  so I 
> followed 
> the instructions provided in official documents: 
>
> https://guix.info/manual/en/html_node/Requirements.html
> https://www.gnu.org/software/guix/manual/en/html_node/Building-from-Git.html
>
> after build finished, I had two versions of Guix on my machine, the old one 
> which
> is located in store, and the new one  which is installed in `/usr/local/bin`. 
>
> the problem is that the old instance of guix is detected as default on my 
> machine. 
> since I performed a series of  modifications on this new version, like 
> changing the 
> default channels and substitute servers, I need to replace old instance of 
> Guix 
> completely with this new one. 
>
> Does anyone knows how can I perform this replacement? 

If you have made git commits out of your changes, you can do `guix pull
 --url=/your/guix/checkout`.  Otherwise you can use the './pre-inst-env'
 script, as described in the link above.

"./pre-inst-env guix system reconfigure my-config.scm" will create a new
system generation using only code from the git repository.


signature.asc
Description: PGP signature


Re: Why are these derivations different?

2019-06-10 Thread Marius Bakke
Jack Hill  writes:

> On Sat, 8 Jun 2019, Marius Bakke wrote:
>
>> Jack Hill  writes:
>>
>>> Hi Guix,
>>>
>>> I'm trying to copy the store items for ungoogled-chromium from one of my
>>> hosts that has many computational resources to another one that does not,
>>> so that I do not have to build ungoogled-chromium on the less powerful
>>> host.
>>>
>>> However, even after copying the store items using guix archive --export |
>>> guix archive --import, the less powerful host wants to build
>>> ungoogled-chromium because the derivations differ (see attachments).
>>
>> I suspect this has to do with grafts.  Guix is missing a substitute for
>> the 'ungrafted' package and fails to realize the grafted derivation.
>>
>> Exporting with --no-grafts should do the trick.
>
> Marius,
>
> Thanks! That was it.
>
> If you don't mind, I have a few follow up question to help me understand 
> how everything works:
>
> How is guix archive --no-grafts different from guix build --no-grafts? Oh, 
> or after reading the manual for --no-grafts again, maybe I used the wrong 
> incantation (guix build --no-grafts package-name instead of guix build 
> package-name --no-grafts)?
>
> What's really going on with --no-grafts. Is it that guix on my less 
> powerful host has never seen the the ungoogled-chromium version build 
> against the older dependencies, so doesn't accept the older version that 
> could be grafted? I guess, I'm not sure exactly what you mean by "fails to 
> realize the grafted derivation". Is that a bug?

Sorry, just a lazy and poor attempt at explaining what's going on...  :-)

> Sorry, I don't think that question was very clear. It probably means that 
> while I think I know what grafts are, I don't know enough about what's 
> going on to ask the question properly. I think this all could be summarized 
> as, "please explain more."

Grafts are are ignored in some parts of Guix.  In this case, if you
inspect the profile derivation when doing 'guix install -n
ungoogled-chromium', you can see that the computed profile.drv needs to
produce the ungrafted ungoogled-chromium-x.y.z.drv, because the
profile-builder references the _ungrafted_ package. 

I'm not sure of the exact mechanics that follow, but I guess grafts are
only computed afterwards, recursively, for the generated profile.

HTH,
Marius


signature.asc
Description: PGP signature


Re: Why are these derivations different?

2019-06-08 Thread Marius Bakke
Jack Hill  writes:

> Hi Guix,
>
> I'm trying to copy the store items for ungoogled-chromium from one of my 
> hosts that has many computational resources to another one that does not, 
> so that I do not have to build ungoogled-chromium on the less powerful 
> host.
>
> However, even after copying the store items using guix archive --export | 
> guix archive --import, the less powerful host wants to build 
> ungoogled-chromium because the derivations differ (see attachments).

I suspect this has to do with grafts.  Guix is missing a substitute for
the 'ungrafted' package and fails to realize the grafted derivation.

Exporting with --no-grafts should do the trick.


signature.asc
Description: PGP signature


Re: Tor Service

2019-05-31 Thread Marius Bakke
Raghav Gururajan  writes:

>> > The Tor daemon received SIGTERM 10 minutes (or even 5 hours?) after it
>> > had been started, so something must have happened. Is there anything
>> > else in the log that could be useful in that interval?
>> > 
>> 
>> Nope! There was nothing related to tor in that interval. :-(
>
> I figured out why the Tor Service got TERM Signal out of no where. It is 
> because
> of "tlp-service-type". I made a fresh re-install of guix system few days ago. 
> I
> was enabling services one-by-one and was checking tor service with herd 
> status.
> As soon as I enable "tlp-service-type", tor stopped working. How to prevent
> "tlp" from messing with "tor" or any other services???

Can you share a system configuration that reproduces this failure?


signature.asc
Description: PGP signature


Re: Can't install gcc

2019-05-27 Thread Marius Bakke
Hi 白い熊,

白い熊  skriver:

> Why does “guix package -i gcc” give me:
>  guix package: error: gcc: unknown package
>
> I realize about installing gcc-toolchain, but if I just want to install a 
> single arbitrary package?

The 'gcc' package was recently "hidden" so that users don't accidentally
install it when they probably want 'gcc-toolchain'.

If you really want to install it, you can refer to it by the variable
name, like so:

  guix package -e '(@ (gnu packages gcc) gcc-9)'

HTH!
Marius



Re: Outdated Qutebrowser and missing qtwebengine?

2019-03-11 Thread Marius Bakke
Florian Thevissen  writes:

> Hi,
>
> I'd very much like to see a recent qtwebengine-based qutebrowser 
> packaged in guix myself. I understand that in the past there were 
> concerns about the chromium dependency, as Marius wrote:
>
>  > As for the status of the Chromium patch, following the recent Pale 
> Moon discussion I no longer think it satisfies FSDG[1] requirements and 
> will have to take some further steps to properly hide the "Web Store".
>
> Chromium has now been integrated in guix proper about two weeks ago.
>
> Is there still anything that might speak against packaging qtwebengine, 
> and thus let us enjoy an up-to-date qutebrowser?

Hello!

I don't think there is anything preventing us from packaging
QtWebEngine.  In fact I have attached a patch that does just that.

I haven't fully audited the source yet, but they seem to be doing the
Right Thing (scrubbing non-free and otherwise unneeded stuff).

Can you try this patch and ideally get something else (Qutebrowser) to
use it?

Thanks!

From cd873b4b9f22371ef4fcb3990a927d529c81c614 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 19 Aug 2018 18:36:55 +0200
Subject: [PATCH] gnu: Add qtwebengine.

* gnu/packages/qt.scm (qtwebengine): New public variable.
---
 gnu/packages/qt.scm | 95 +
 1 file changed, 95 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 8179911539..1260465e78 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2018 Nicolas Goaziou 
 ;;; Copyright © 2018 Hartmut Goebel 
 ;;; Copyright © 2018 Eric Bavier 
+;;; Copyright © 2019 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,7 @@
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages build-tools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages databases)
@@ -46,6 +48,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnuzilla)
@@ -54,21 +57,29 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages ninja)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages regex)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages telephony)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages vulkan)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
@@ -953,6 +964,90 @@ with JavaScript and C++.")))
 (description "The Qt Connectivity modules provides modules for interacting
 with Bluetooth and NFC.")))
 
+(define-public qtwebengine
+  (package (inherit qtsvg)
+(name "qtwebengine")
+(version "5.11.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://download.qt.io/official_releases/qt/;
+  (version-major+minor version) "/" version
+  "/submodules/" name "-everywhere-src-"
+  version ".tar.xz"))
+  (sha256
+   (base32
+"1zmqsdais85cdfh2jh8h4a5jcamp1mzdk3vgqm6xnldqf6nrxd2v"
+(arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+   ((#:phases phases)
+`(modify-phases ,phases
+   (add-after 'unpack 'delete-unneeded-stuff
+ ;; FIXME: Move to source snippet.
+ (lambda _
+   (delete-file-recursively "src/3rdparty/ninja")
+   #t))
+   (add-before 'configure 'set-CC
+ (lambda _
+   (setenv "CC" "gcc")
+   #t))
+   (replace 'configure
+ (lambda _
+   (invoke "qmake" "--"
+   "-alsa"
+   "-ffmpeg"
+

Re: Need help porting eDuke32

2019-02-16 Thread Marius Bakke
Hello,

HiPhish  writes:

> Then it fails at this step:
>
> In file included from source/build/include/mutex.h:10:0,
>  from source/build/include/osd.h:12,
>  from source/build/include/baselayer.h:11,
>  from source/duke3d/src/duke3d.h:28,
>  from source/duke3d/src/sdlmusic.cpp:35:
> source/build/include/sdl_inc.h:63:25: fatal error: SDL_mixer.h: No such 
> file or directory
> compilation terminated.
> Failed building obj/duke3d/sdlmusic.o from source/duke3d/src/sdlmusic.cpp!
> make: *** [GNUmakefile:982: obj/duke3d/sdlmusic.o] Error 1
>
> Looking into the offending file shows the following code:
>
> #if defined NEED_SDL_MIXER
>
> # if defined SDL_USEFOLDER
> #  if SDL_TARGET == 2
> #   include 
> #  else
> #   include 
> #  endif
> # else
> #  include "SDL_mixer.h"
> # endif
>
> The second-to-last line is line 63; the compiler looks for the header file in 
> the same directory as the source file, which is obviously wrong. So it seems 
> like my environment specification did not set up SDL properly. Can someone 
> who 
> has experience with SDL please help me out to understand what is going wrong 
> here?

The 'include' keyword makes the compiler look for header files in
$C_INCLUDE_PATH and a few other locations.  The Guix daemon will populate
that variable with all inputs that have an "include" directory.  Running
`guix build sdl2-mixer` shows that it has ".../include/SDL2/SDL_mixer.h".

What's needed here is to make sure SDL_USEFOLDER is set such that it
searches for  as on line 58.  Alternatively, you could
substitute the code on line 63 to read 'include "SDL2/SDL_mixer.h"' as a
probably dirty workaround.

HTH!


signature.asc
Description: PGP signature


Re: ethernet not loading

2019-01-31 Thread Marius Bakke
nightowl  writes:

> I just got back to looking at this.  I was able to add the 
> linux-libre-4.4 to my system, the ethernet is visible now, but the 
> connection is erratic.  I am using gnome, but it doesn't automatically 
> detect the ethernet.  Sometimes I can execute the 'ifconfig eth0' up 
> command in the terminal and connect.  Other times it gives me an out of 
> memory message.

That sounds really strange.  Does running 'dmesg' give any clues as to
what is going on?


signature.asc
Description: PGP signature


Re: Does not halt after Menu - Logout - Shut down and closing notebook hood

2018-10-15 Thread Marius Bakke
Chris Marusich  writes:

>  writes:
>
>> [...]  And may be I will need
>> any other configurations in other services that were not mentioned in
>> Guix cgit.
>> So how to get their exact names?
>
> Some (perhaps most) services assume that you are somewhat familiar with
> the software in question.  For example, the explanation of the
> openssh-configuration in the Guix manual explains what the configuration
> items do, but if you don't know what OpenSSH is, then it probably
> doesn't help you very much.  When you encounter situations like this,
> you might sometimes need to read more about the software in question
> before you will understand how to use it in GuixSD.  This is generally
> true for any GNU/Linux distribution.

Perhaps it would be useful with an appendix to the manual explaining
some of the concepts in play.  Not only Scheme and the configuration
system, but also things like bootloaders, partitioning, LUKS, etc.

I think it could be good resource for many new and intermediate
GNU/Linux users, sort of like the Arch wiki for GuixSD.


signature.asc
Description: PGP signature


Re: EFI entry got removed after system reconfigure

2018-07-10 Thread Marius Bakke
Roel Janssen  writes:

> Oleg Pykhalov  writes:
>
>> Hello Roel,
>>
>> Roel Janssen  writes:
>>
>> […]
>>
>>> So I created a new entry from a LiveUSB using “efibootmgr” to boot into
>>> GuixSD again.  Is this a known problem […]?
>>
>> I had this issue a long time ago. [1]
>>
>> I didn't take an attention on output as I remember.  Did you?  :-)
>>
>> [1]  https://lists.gnu.org/archive/html/help-guix/2017-10/msg00035.html
>>
>> Oleg.
>
> This looks like the same issue.  And that “efibootmgr” command looks
> awfully familiar :).
>
> I didn't pay enough attention to the output of 'guix system reconfigure'
> to notice anything strange, so I don't know if a problem had been
> indicated.

I came across this too recently, because of a bug in the efivar package
that affects some platforms:

https://github.com/rhboot/efivar/issues/111

So I downgraded it in 887fe1fbde7d72788ec348ab4665e1df3d0d704f.  Which
commit did you run the reconfigure command on?

A bigger problem is that GRUB will happily wipe the bootloader entry,
proceed to try to make a new one which fails, and then exit with status
code 0.  I wonder if this has been reported upstream.


signature.asc
Description: PGP signature


Re: MTP & Guix

2018-06-24 Thread Marius Bakke
Ricardo Wurmus  writes:

> Ricardo Wurmus  writes:
>
>> Pierre Neidhardt  writes:
>>
>>> Both Gentoo and Guix packages are outdated.
>>> 1.37 is out.
>>> GVFS has switched to Meson in the mean time.
>>> Arch is a little bit more up to date:
>>>
>>> https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/gvfs
>>>
>>> I guess the above definition could help.
>>> Anyone giving the update a shot?
>>
>> I’m already working on the upgrades to all of GNOME, including the gvfs
>> upgrade to 1.36.2.
>
> This happens on the “core-updates” branch.

Could you create a 'gnome-updates' branch for this?  That makes it
easier to track the changes, and allows for building it without
rebuilding the entire world.

We might want to merge it to core-updates rather than build it on its
own regardless, but at least we have the option.  What do you think?


signature.asc
Description: PGP signature


Re: What is GUIX_PROFILE for?

2018-06-23 Thread Marius Bakke
George Clemmer  writes:

> What is GUIX_PROFILE is for?
>
>
> First question:
>
> If I log into a GuixSD vm-image w/ 1 package installed ...
>
> nemo:~ $ ssh g1@sysi34.local
> Last login: Fri Jun 22 08:24:11 2018 from fe80::1c82:5c21:6372:5970%eth0
> g1@sysi34 ~$ guix package -I
> znc   1.7.0   out
> /gnu/store/giv77vd376nkwpgl08fjfkq87b9mm8xj-znc-1.7.0
>
> ... GUIX_PROFILE is not in env ...
>
> env | grep GUIX GUIX_LOCPATH=/run/current-system/locale
>
> ... but echo reports it ...
>
> g1@sysi34 ~$ echo $GUIX_PROFILE
> /home/g1/.guix-profile
>
> That seems odd to me. What does it mean?
>
>
> Second question:
>
> If I set GUIX_PROFILE to something else, does it have any effect on what
> Guix does for me?

If GUIX_PROFILE is unset when sourcing the profile, the resulting
environment will refer to the generated profile (in the store) rather
than the "normal" location of the profile.

E.g.:

GUIX_PROFILE=/tmp/p1; source /tmp/p1/etc/profile
echo $PATH
/tmp/p1/bin

vs

unset GUIX_PROFILE; source /tmp/p1/etc/profile
echo $PATH
/gnu/store/...-profile/bin

In the first case, the resulting environment will always refer to the
latest generation of the profile; in the latter, the environment refers
to one particular profile generation.

This is explained in the top of the generated /etc/profile
script, but could perhaps use a mention in the manual.

Hope this clears things up :-)


signature.asc
Description: PGP signature


Re: gst-plugins-base: Test suite failed: FAIL: elements/opus

2018-06-20 Thread Marius Bakke
Ricardo Wurmus  writes:

> Leo Famulari  writes:
>
>> On Wed, Jun 20, 2018 at 06:15:19PM +0200, Pierre Neidhardt wrote:
>>> I'm till seeing this problem.
>>>
>>> > guix --version
>>> guix (GNU Guix) d39c9efa11168f5a441ac60b3ed486f2ac0b4c73
>>>
>>> > guix pull -l
>>> # ...
>>> Generation 2Jun 19 2018 14:10:01(current)
>>>   guix d39c9ef
>>> repository URL: https://git.savannah.gnu.org/git/guix.git
>>> branch: origin/master
>>> commit: d39c9efa11168f5a441ac60b3ed486f2ac0b4c73
>>>
>>>
>>> I'm on a x86_64 machine with kernel 4.14.33.
>>
>> Okay, are you able to send a patch to disable the test and report this
>> issue upstream?
>
> On i686 the test fails with a segfault.  I would be uncomfortable with
> disabling the test before we understand the cause of the segfault.  It
> may be better to remove libopus complete if it turns out that one could
> trigger the segfault at runtime, outside of the test context.

Note that there is a release candidate available for Opus 1.3.  I wonder
if that might make a difference?

https://archive.mozilla.org/pub/opus/


signature.asc
Description: PGP signature


Re: Conflict resolution (gtk, wayland)

2018-05-22 Thread Marius Bakke
Rutger Helling  writes:

> I've created a patch to update Mesa on staging, along with removing
> wayland-egl from it. I can confirm I can still start GNOME on Wayland
> manually after rebuilding with this patch.

Excellent, thanks!

> Should I apply this to staging now? It's been two weeks since the last
> commit to staging, and a merge doesn't seem to be happening anytime
> soon.

Hydra is currently busy with 'core-updates'.  In the mean time, please
queue up patches on 'staging' so we can start it as soon as core-updates
is merged.  The patch LGTM!

> On an unpleasant side-note, certain things are completely broken on
> GNOME on Wayland with staging. Menus and buttons don't work anymore. I
> suspect this is because our mutter and gnome-shell packages are too old
> (3.24.x instead of 3.28.x).

Does GNOME on Wayland work on current 'master'?  The only real
difference on staging (apart from this patch) is GTK+ 3.22.30, which is
fairly uneventful:

https://ftp.acc.umu.se/pub/gnome/sources/gtk+/3.22/gtk+-3.22.30.news

But perhaps they removed some other interfaces when adding xdg-shell
support?


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-22 Thread Marius Bakke
Pierre Neidhardt  writes:

> I'm trying to use my nitrokey on GuixSD.
>
> --8<---cut here---start->8---
>> gpg --card-status
> gpg: selecting openpgp failed: No such device
> gpg: OpenPGP card not available: No such device
> --8<---cut here---end--->8---
>
> It turns out that the nitrokey needs some udev rules to be driven by
> gpg:
>
>   
> https://www.nitrokey.com/documentation/installation#p:nitrokey-start:linux
>
> Thus I tried to configure the following rule:
>
> --8<---cut here---start->8---
> (define %nitrokey-udev-rule
>   (udev-rule
>"41-nitrokey.rules"
>(string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
>   "ATTR{idVendor}==\"20a0\", ATTR{idProduct}==\"4211\", "
>   "ENV{ID_SMARTCARD_READER}=\"1\", 
> ENV{ID_SMARTCARD_READER_DRIVER}=\"gnupg\", GROUP+=\"users\", 
> TAG+=\"uaccess\"")))

The 'uaccess' builtin is not currently supported by eudev and elogind.

As a workaround you can try e.g. 'GROUP+="gpg", MODE=”0660″'.

I suspect you may also need 'pcscd' which we currently don't have a
service for.


signature.asc
Description: PGP signature


Re: Multilib support: running 32-bit binaries on 64-bit systems

2018-04-19 Thread Marius Bakke
Pierre Neidhardt  writes:

>> Does that make sense?
>
> Absolutely, but it gets trickier when trying to run a 32-bit executable
> which was not compiled on Guix.
>
> Any idea how to achieve that easily?
>
> The way I can think of for now is to run patchelf against the binary to
> change the dynamic linker path as well as the RPATH.

This is the best approach right now.  I've done this for a couple
of...unsavory programs and it works okay.

One alternative would be to create a 32-bit profile, and set up
FHS-style symlinks for it (or a chroot).  I've been thinking about
adding a "--fhs" argument to `guix environment --container`, but it's
still very much in the "dreaming" phase.


signature.asc
Description: PGP signature


Re: Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock

2018-04-12 Thread Marius Bakke
Pierre Neidhardt  writes:

> Clément Lassieur  writes:
>
>> Pierre Neidhardt  writes:
>>
>>> vsftp:  Very Secure FTP daemon
>>> Upstream URL:   https://security.appspot.com/vsftpd.html
>>> (It seems that there is not a single FTP server on Guix.  Strange... Can 
>>> anyone
>>> recommend anything better than vsftp for file sharing?  Not necessarily
>>> FTP.)
>>
>> There is SFTP, which is secure, and supported by GuixSD.  It's not FTP,
>> and it runs over SSH.
>
> My use-case is the following: share files with random people with
> zero-configuration on their end.  Because FTP is supported by most web
> browsers it is one of the most available options I think.
>
> Any other suggestion?  There is Samba, but I'm not sure I'd like to dive
> into that...

I often start a HTTP server with `guix environment` for quick and dirty
network sharing of the current directory:

$ guix environment -C -N --ad-hoc python -- python3 -m http.server

I suppose "wget" would be able to mass-download.


signature.asc
Description: PGP signature


Re: Custom kernel module woes

2018-04-08 Thread Marius Bakke
Thorsten Wilms  writes:

> Now if anyone knows or can figure out how *exactly* to turn XTS's -*- 
> into a {M}, that would still be good to know. A script that turns any 
> kernel configuration into a guix-sd-safe one, or changes to make these 
> gymnastics unnecessary would be great!

I recently revamped my kernel configuration and hit this issue too.  In
my case I had to disable ext4 encryption to build xts.ko as a module.

Perhaps we should build ext4 as a module in Guix?  Or make XTS a builtin?


signature.asc
Description: PGP signature


Re: Locale error: Falling back to C locale

2018-03-29 Thread Marius Bakke
Pierre Neidhardt <ambre...@gmail.com> writes:

> Marius Bakke <mba...@fastmail.com> writes:
>
>> Can you post the output of these commands in a terminal:
>>
>> $ locale
>
> locale: command not found

Try: "$(guix build glibc)/bin/locale" instead.

And then `ls -l /run/current-system/locale/2.26/`.


signature.asc
Description: PGP signature


Re: Locale error: Falling back to C locale

2018-03-29 Thread Marius Bakke
Pierre Neidhardt <ambre...@gmail.com> writes:

> Marius Bakke <mba...@fastmail.com> writes:
>
>> Pierre Neidhardt <ambre...@gmail.com> writes:
>>
>>>> guix package -I local
>>> glibc-utf8-locales  2.26.105-g0890d5379cout 
>>> /gnu/store/3k6hl20c3b7big8ngrsl6mj9k8xav99d-glibc-utf8-locales-2.26.105-g0890d5379c
>>>
>>>> guix package -I emacs
>>> emacs   25.3out 
>>> /gnu/store/y335nx4r08m6kg0yrna7spfwr4s05n36-emacs-25.3
>>>
>>> How do I check which glibc Emacs is using?
>>> I can think of `ldd emacs` but... Where is ldd? :p
>>
>> "ldd" is in "glibc" :-)
>>
>> You can also use `guix gc -R /gnu/store/...-emacs-25.3 | grep glibc`.
>
> Here:
>
>   > guix gc -R ${guix build emacs} | grep glibc
>   /gnu/store/4sqaib7c2dfjv62ivrg9b8wa7bh226la-glibc-2.26.105-g0890d5379c

This looks good.  Let's rewind for a bit.  The original error message
was:


> stow .
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.utf8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

> emacs
(process:7796): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.

Can you post the output of these commands in a terminal:

$ locale
$ env | grep LOCPATH
$ ls -l /run/current-system/locale/


signature.asc
Description: PGP signature


Re: Locale error: Falling back to C locale

2018-03-28 Thread Marius Bakke
Pierre Neidhardt  writes:

>> guix package -I local
> glibc-utf8-locales2.26.105-g0890d5379cout 
> /gnu/store/3k6hl20c3b7big8ngrsl6mj9k8xav99d-glibc-utf8-locales-2.26.105-g0890d5379c
>
>> guix package -I emacs
> emacs 25.3out /gnu/store/y335nx4r08m6kg0yrna7spfwr4s05n36-emacs-25.3
>
> How do I check which glibc Emacs is using?
> I can think of `ldd emacs` but... Where is ldd? :p

"ldd" is in "glibc" :-)

You can also use `guix gc -R /gnu/store/...-emacs-25.3 | grep glibc`.

> A more general question: How do I find to which non-installed package a
> filename belongs?

Guix does not currently know anything about the files inside each
package, I typically do a web search...

> If Emacs happens to be using glibc 2.25, how could such a sitution occur
> in the first place?  Why is glibc 2.25 needed at all?

This situation can occur when you've installed emacs built against glibc
2.25 (which was the glibc in Guix until ~February), and then later
updated "glibc-utf8-locales" to 2.26 which has incompatible locale data.

Updating emacs would fix it in that case, since it would be built
against the new glibc.

On GuixSD, you can use the 'locale-libc' operating-system parameter to
install locale data for multiple glibc versions to ease transition
between glibc updates.


signature.asc
Description: PGP signature


Re: Outdated Qutebrowser and missing qtwebengine?

2018-03-27 Thread Marius Bakke
Pierre Neidhardt  writes:

> Qutebrowser is out of date: 0.11.0 in GuixSD, upstream is 1.2.1.
>
> https://github.com/qutebrowser/qutebrowser/releases
>
> Newer versions support qtwebengine, which is not packaged on GuixSD
> either.
> I was wondering if this has anything to do with non-free software.
> If not, I'd be happy to package it.

IIRC the problem with QtWebEngine is that it bundles a copy of
Chromium.  However, it seems they strip away binary blobs and Google
integrations[0], so as long as DRM (called "Widevine" in Chromium lingo)
is disabled I think it will be okay for Guix.

FWIW I've been working on Chromium over at .
Maybe you'll find it useful for QtWebEngine.  It would be great if we
could use the same source for both since Chromium has very frequent
security updates, but I'm not sure how patched QtWebEngine is.

As for the status of the Chromium patch, following the recent Pale Moon
discussion I no longer think it satisfies FSDG[1] requirements and will
have to take some further steps to properly hide the "Web Store".

[0] https://wiki.qt.io/QtWebEngine
[1] https://www.gnu.org/distros/free-system-distribution-guidelines.html


signature.asc
Description: PGP signature


Re: How to install prerelease package versions (particularly Emacs)

2018-03-27 Thread Marius Bakke
Oleg Pykhalov  writes:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Pierre Neidhardt  skribis:
>>
>>> Considering the importance of Emacs in this community, I think it would
>>> make sense to provide a cutting-edge version.
>>
>> Do you mean a snapshot of the ‘master’ branch?
>>
>> We don’t do that usually, and I would instead suggest using
>> ‘--with-source’ for people who would like that.
>>
>> What do people think?
>
> In case of ‘emacs’ package recipe, ‘--with-source’ doesn't work for a
> snapshot of the ‘master’ branch.
>
> To build the ‘master’ branch you need to write a new package recipe.  I
> think it's not acceptable for a non-contributor in Guix.  WDYT?

This sounds like a job for the mythical "channel" facility.  In the mean
time, sharing package recipes for sticking in GUIX_PACKAGE_PATH like you
did upthread seems like a reasonable workaround.


signature.asc
Description: PGP signature


Re: Installation: Load non-free wifi firmware (iwlwifi)

2018-03-25 Thread Marius Bakke
Chris Marusich  writes:

> Hi Pierre,
>
> Pierre Neidhardt  writes:
>
>> linux-libre turns off the ability to load non-free firmware.  Why is
>> it so?
>
> I did a little bit of searching on the Internet, and it seems to me like
> the reason why Linux-libre turns off the ability to load non-free
> firmware is because the project does not want to induce you to use
> non-free software.

This is not true.  After all, you may wish to load a firmware that you
have developed yourself, but that is not possible either.  The problem
is a limitation of the kernel interface and/or the deblobbing script:

From an interview with Alexandre Oliva[0]:

"Indeed, I became aware that some users have got the idea that blocking
the loading of blobs is a feature. It's not; it's just a bug that's
quite difficult to fix. The decision on whether or not to use a piece of
software, be it Free or not, should belong to the users, and it's not
our intent to make that difficult."

[0] 
https://www.fsfla.org/ikiwiki/blogs/lxo/2013-11-08-linux-libre-interview-by-bruce-byfield.en.html


signature.asc
Description: PGP signature


Re: Custom kernel module woes

2018-03-22 Thread Marius Bakke
Thorsten Wilms  writes:

> Things were going well until I got to XTS support. With either my custom 
> configuration, or a default one, XTS is stuck on -*-, i.e. mandatory 
> built-in. The after-build phase will fail if there's no xts.ko module!
>
> I tried to figure out the dependencies and failed. Finally, I took the 
> guix kernel configuration, replaced the entire segment device-drivers up 
> to file-systems with one from my custom version and did the few other 
> changes. It works!
>
> Now if anyone knows or can figure out how *exactly* to turn XTS's -*- 
> into a {M}, that would still be good to know. A script that turns any 
> kernel configuration into a guix-sd-safe one, or changes to make these 
> gymnastics unnecessary would be great!

Can you post the .config that requires CONFIG_CRYPTO_XTS=y?

I remember having to turn on "expert" configuration in order to change
some of the default builtins.  If this is the case, perhaps we should
make it a built-in on GuixSD too.


signature.asc
Description: PGP signature


Re: system vm fails (reprise)

2018-03-16 Thread Marius Bakke
Catonano  writes:

> ~$ guix system vm ~/configs/vm-config-desktop.scm \
>>--image-size=10GB \
>>--share=$HOME/transit=/transit
> guix system: error: build failed: error parsing derivation
> `/gnu/store/dp8ywhh22n8ixikqdvsb6w6qbn4iw899-environment.drv': expected
> string `Derive(['

This is very odd.  Can you paste the output of:

cat /gnu/store/dp8ywhh22n8ixikqdvsb6w6qbn4iw899-environment.drv ?

Does it make any difference if you drop --image-size (which is now
autodetected) and/or --share?


signature.asc
Description: PGP signature


Re: system vm fails (reprise)

2018-03-16 Thread Marius Bakke
Catonano  writes:

> Ok, so in running
>
> sudo -E guix ...
>
> I had messed up my installation, so guix pull didn't work anymore
>
> I think I fixed it now
>
> guix pull ust worked, I reconfigured my system
>
> but this still happens
>
> $ ./pre-inst-env guix system vm ~/configs/vm-config-desktop.scm \
>>--image-size=10GB \
>>--share=$HOME/transit=/transit
> guix system: error: build failed: error parsing derivation
> `/gnu/store/dp8ywhh22n8ixikqdvsb6w6qbn4iw899-environment.drv': expected
> string `Derive(['

Do you get the same error if you don't use "./pre-inst-env"?

What does 'git describe' output in your repository?


signature.asc
Description: PGP signature


Re: Wayland setup

2018-03-14 Thread Marius Bakke
Hi Thorsten,

Thorsten Wilms  writes:

> Hi!
>
> I finally got Weston to ... fill my screen with a blocky mess and flood 
> STDERR with failure.
>
> To recap:
> - use-modules freedesktop and xorg
> - global packages: xorg-server-xwayland wayland weston %base-packages
> - add "weston-launch" group
> - add user to weston-launch
> - add user to "input" group
> - take care of XDG_RUNTIME_DIR:
>
>export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir;
>mkdir "${XDG_RUNTIME_DIR}"
>chmod 0700 "${XDG_RUNTIME_DIR}
>
> I might just add that to .bash_profile or try to put both that and 
> "weston-launch" in a script; rekado suggested this should be a service, 
> but the documentation and examples (mainly looking at 
> gnu/services/base.scm) leave me puzzled.

Thanks a lot for sharing these forays into Guix' uncharted waters :-)

> The running Weston fills the log with repetitions of:
>
> ---
> radeon: Failed to allocate a buffer:
> radeon:size  : 1048576 bytes
> radeon:alignment : 4096 bytes
> radeon:domains   : 2
> radeon:flags : 4
> ---
>
> with a few interspersed:
>[17:53:53.145] queueing pageflip failed: Invalid argument
> and
>EE r600_texture.c:1419 r600_texture_transfer_map - failed to create 
> temporary texture to hold untiled copy
>
> Meanwhile, weston-launch brings up a functional session on my Ubuntu 
> 17.04; it doesn't seem to be a general problem with my graphics card.

This looks like a driver problem.  Can you post the output of
"dmesg | grep -w 'drm|r600|radeon'" ?

I seem to recall that hardware acceleration on radeon/amdgpu requires
proprietary microcode, even when using the free driver.  Maybe that is
related?


signature.asc
Description: PGP signature


Re: Posts in languages other than English on help-guix?

2018-03-03 Thread Marius Bakke
Marco van Hulten  writes:

>  ("nb"
>   "Abonner på diskusjonlisten «Help» for å få hjelp om GuixSD og
> GNU Guix via e-post.  Du kan legge inn meldinger på norsk.")

Takk!  I think "diskusjonliste" should be "diskusjonsliste" as
"diskusjon" is used in a passive infinite form (though good resources
regarding this online was surprisingly difficult to come by).

"om" is also not the best preposition here, but I wonder if it's better
to avoid "hjelp" altogether:

  ("nb"
   "Meld deg på diskusjonslisten «Help» for å få råd og tips fra
andre GuixSD- og GNU Guix-brukere via e-post.  Du kan legge inn
meldinger på norsk.")

"Råd" here is used as a kind of advice that is "sought for", implying
support.  Tips is..well, general advice.  WDYT?


signature.asc
Description: PGP signature


Re: guixbuild does not exist???

2018-02-27 Thread Marius Bakke
Konrad Hinsen  writes:

> Hi Guixers,
>
> Today guix greeted me with a strange error message when I tried to 
> install a package:
>
>guix package: error: build failed: the group `guixbuild' specified in 
> `build-users-group' does not exist
>
> I call this strange because
>   1) The group exists, as do the users guixbuilder01 to guixbuilder10.
>   2) Guix has been working for quite a while on this machine, and 
> nothing spectacular happened since the last use.
>   3) I cannot find any trace of this error message in the Guix source code.
>   4) The guix daemon is running without any sign of trouble.
>
> Any idea of what could be going wrong here?

This has to do with the recent update to glibc 2.26.  It no longer
builds the "nss_compat" library, which causes problems on distributions
that only has 'compat' in /etc/nsswitch.conf.

There is some discussion about it here: .

The workaround is to either install 'nscd', or update nsswitch.conf to
include 'files' (or similar) as a fallback (for "group" in this case).


signature.asc
Description: PGP signature


Re: using guix for ruby development

2018-02-16 Thread Marius Bakke
Divan Santana  writes:

> Divan Santana  writes:
>
>> Hi all,
>>
>> So I'm *trying* to use guix on Parabola Linux to provide the rubies and
>> replace some other functionality of like chruby for instance.
>>
>> I'm a bit of a noob with guix and even ruby, so it's a bit of a
>> challenge.
>>
>> I've read through these nice notes[1] by Pjotr. The answers I'm looking
>> for, may well be in there but I might have missed it.
>>
>>   [1]:
>> - https://gitlab.com/pjotrp/guix-notes/blob/master/RUBY.org
>> - https://gitlab.com/pjotrp/guix-notes/blob/master/RUBYGEMS-Nokogiri.org
>>
>> I've also used the linked in script[2] which helps.
>>
>> [2]: https://gitlab.com/pjotrp/guix-notes/blob/master/scripts/ruby-guix-env
>>
>> Anyway the issue:
>>
>>   $ gem env
>>   RubyGems Environment:
>> - RUBYGEMS VERSION: 2.6.14
>> - RUBY VERSION: 2.4.3 (2017-12-14 patchlevel 205) [x86_64-linux]
>> - INSTALLATION DIRECTORY: 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0
>> - USER INSTALLATION DIRECTORY: /home/admin/.gem/ruby/2.4.0
>> - RUBY EXECUTABLE: 
>> /gnu/store/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/bin/ruby
>> - EXECUTABLE DIRECTORY: 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/bin
>> - SPEC CACHE DIRECTORY: 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/specs
>> - SYSTEM CONFIGURATION DIRECTORY: 
>> /gnu/store/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/etc
>> - RUBYGEMS PLATFORMS:
>>   - ruby
>>   - x86_64-linux
>> - GEM PATHS:
>>- /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0
>>- /home/admin/.guix-profile/lib/ruby/vendor_ruby
>>- /home/admin/.guix-profile/lib/ruby/gems/2.4.0/
>> - GEM CONFIGURATION:
>>- :update_sources => true
>>- :verbose => true
>>- :backtrace => false
>>- :bulk_threshold => 1000
>>- "gem" => "--no-rdoc"
>> - REMOTE SOURCES:
>>- https://rubygems.org/
>> - SHELL PATH:
>>- 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/bin
>>- /home/admin/src/ds-config/guile/scripts
>>- /home/admin/src/ds-config/bin
>>- /home/admin/.node_modules/node_modules/.bin
>>- /home/admin/.guix-profile/bin
>>- /home/admin/src/ds-config/guile/scripts
>>- /home/admin/src/ds-config/bin
>>- /home/admin/.node_modules/node_modules/.bin
>>- /home/admin/.guix-profile/bin
>>- /usr/local/sbin
>>- /usr/local/bin
>>- /usr/bin
>>- /usr/lib/jvm/default/bin
>>- /usr/bin/site_perl
>>- /usr/bin/vendor_perl
>>- /usr/bin/core_perl
>>
>> So I'm in a ruby project. I type `bundle install` to install the gems.
>>
>> It goes and fetches the missing gems and installs them in 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/
>>
>> That's great. I fire up the project[3] with:
>>
>>   [3]: https://gitlab.com/gitlab-com/gitlab-docs (using an older commit
>>   because ruby25 is not yet in guix repos.
>>
>>   $ bundle exec nanoc live
>>
>>   Captain! We’ve been hit!
>>
>>   LoadError: liblzma.so.5: cannot open shared object file: No such file or 
>> directory - 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/nokogiri-1.7.2/lib/nokogiri/nokogiri.so
>>
>>   $ ldd 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/nokogiri-1.7.2/lib/nokogiri/nokogiri.so
>>   linux-vdso.so.1 (0x76b1)
>>   libm.so.6 => /usr/lib/libm.so.6 (0x7f469080f000)
>>   libdl.so.2 => /usr/lib/libdl.so.2 (0x7f469060b000)
>>   liblzma.so.5 => /usr/lib/liblzma.so.5 (0x7f46903e5000)
>>   libz.so.1 => /usr/lib/libz.so.1 (0x7f46901ce000)
>>   libpthread.so.0 => /usr/lib/libpthread.so.0 (0x7f468ffb)
>>   libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x7f468fd78000)
>>   libc.so.6 => /usr/lib/libc.so.6 (0x7f468f9c1000)
>>   /usr/lib64/ld-linux-x86-64.so.2 (0x7f4690f97000)
>>
>> Guessing the reason is because it seems to compile against the OS system
>> and not the "guix system". And that could cause problems?
>>
>> Other gems also are like this.
>>
>>   $ ldd 
>> /home/admin/.gem/sx7ih0vgp7q8zj7k58xjvnp3yghig0ll-ruby-2.4.3/2.4.0/gems/ffi-1.9.18/lib/ffi_c.so
>>   linux-vdso.so.1 (0x7ffd1bdf1000)
>>   libffi.so.6 => /usr/lib/libffi.so.6 (0x7f6af531e000)
>>   libpthread.so.0 => /usr/lib/libpthread.so.0 (0x7f6af510)
>>   libdl.so.2 => /usr/lib/libdl.so.2 (0x7f6af4efc000)
>>   libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x7f6af4cc4000)
>>   libm.so.6 => /usr/lib/libm.so.6 (0x7f6af4978000)
>>   libc.so.6 => /usr/lib/libc.so.6 (0x7f6af45c1000)
>>   /usr/lib64/ld-linux-x86-64.so.2 (0x7f6af574c000)
>>

Re: best way to reach QEMU VM desktop on headless GuixSD server

2018-01-27 Thread Marius Bakke
George myglc2 Clemmer  writes:

> It appears that there are 3 ways to reach a QEMU VM desktop on headless
> GuixSD servers: X11, spice, and maybe VNC. Is that right?
>
> Can anyone comment on which has the best performance.

Spice was designed to be a better protocol than VNC for accessing
virtual machine consoles.  I haven't done any benchmarks though.

It requires a rather involved QEMU command line[0]:

 [qemu] -spice addr=127.0.0.1,port=3001,disable-ticketing -soundhw hda \
-device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent 
\
-device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \

Then you can use virt-viewer or "spicy" from spice-gtk along with SSH
forwarding to access 127.0.0.1:3001 on the remote machine.  Setting up
encryption or authentication requires a few more arguments if you want
to expose this on a network-facing interface directly.

[0] https://www.spice-space.org/spice-user-manual.html


signature.asc
Description: PGP signature


Re: Seeking best-practice for managing guix-defined VMs

2018-01-14 Thread Marius Bakke
Hartmut Goebel  writes:

> I wonder about the best-practice for managing VMs built using `guix
> system vm`.

This is fairly tangential and probably overkill, but I use Ganeti[0]
with "ganeti-instance-guix"[1].  That will copy each `guix system vm` to
the configured storage backend, so store items can be garbage collected.
Updating can be done with `gnt-instance reinstall vm-name`.

Ganeti is a distributed virtual machine management system à la Openstack
(though much simpler, and less buggy), but works great on a single host.

[0] http://www.ganeti.org/
[1] https://github.com/mbakke/ganeti-instance-guix


signature.asc
Description: PGP signature


  1   2   >