Re: patch question: any tool to download patches from guix patch mailing list?

2023-06-18 Thread Jelle Licht
Hi Andy,

Andy Tai  writes:

> Hi, this is more a developer question:
>
> Guix patches are posted to guix-patches mailing list.   Is there any
> tool that makes it easy to download a particular patch series from the
> mailing list archive or the Guix issue web site so it is easy to apply
> a patch series to a local checkout of the guix git repo?
>
> This is to mainly easily test guix package definition patches.
>
> (There seems to be tool like b4 or patchworks for Linux kernel
> developers and their mailing lists but not sure if similar tools exist
> for GNU (or Guix specific) development mailing lists)

I know it was already mentioned, but some features were recently added
to piem (patch waiting over at https://issues.guix.gnu.org/64155) to
integrate it with debbugs.el, the Emacs debbugs interface. This makes it
(IMHO) a fairly easy to apply some patches locally.

I have this set up with (something similar to) the following:
--8<---cut here---start->8---
(setq piem-inboxes
  (("guix-patches"
:coderepo ("/home/jlicht/Documents/guix")
:url "https://yhetil.org/guix-patches;
:listid "guix-patches.gnu.org"
:address "guix-patc...@gnu.org"
:gnu-package "guix-patches")))

(require 'piem)
(piem-gnus-mode 1)
(piem-debbugs-mode 1)

(require 'debbugs)
(defun debbugs-gnu-guix ()
  "List Guix issues."
  (interactive)
  (debbugs-gnu '("serious" "important" "normal") '("guix-patches") nil t))
--8<---cut here---end--->8---

With the configuration taken care of, just `M-x debbugs-gnu-guix',
navigate to any issue (just put point on an issue you are interested in)
and run `M-x piem-b4-am'. It should pull down all needed messages (from
yhetil's public inbox mirror), and use some heuristics to apply the most
recent patch revision, taking into account either 'git send-email' or
attachment-based patch series.

Hope this additional data point is useful.

- Jelle



Re: Minimal working examples of packages for experimentation?

2023-02-27 Thread Jelle Licht
Hello Rodrigo!

Rodrigo Morales  writes:

> [snip]

>   The following is the package that I wrote.
>
>   ,
>   | (define-module (my-simple)
>   |   #:use-module (guix licenses)
>   |   #:use-module (guix packages)
>   |   #:use-module (guix gexp)
>   |   #:use-module (guix build-system trivial)
>   |   #:use-module (guix download))
>   |
>   | (define-public my-simple-1
>   |   (package
>   |(name "my-simple-1")
>   |(version "2.10")
>   |(source (origin
>   | (method url-fetch)
>   | (uri "
> https://www.gnu.org/graphics/heckert_gnu.transp.small.png;)
>   | (sha256 (base32
> "1686w7x3qk85i5693nrj7lbdh64232fdsqd5rgxgijv1y39rldbr"
>   |(build-system trivial-build-system)
>   |(synopsis "My synopsis")
>   |(description "My description")
>   |(home-page "https://example.org/;)
>   |(license gpl3+)))
>   `

> [snip]

> 3 What I'm looking for
> ==
>
>   1. Why the package that I wrote failing? How could I fix it?

Looking at `info "(guix) Build Systems"'[0], in the blurb about the
trivial-build-system:

--8<---cut here---start->8---
 This build system requires a ‘#:builder’ argument.  This argument
 must be a Scheme expression that builds the package output(s)—as
 with ‘build-expression->derivation’ (*note
 ‘build-expression->derivation’: Derivations.).
--8<---cut here---end--->8---

The reason your package fails to build, is that it doesn't provide such
a #:builder argument. This argument is also responsible for creating the
actual output, which can be a file or directory.

The simplest snippet I can think of for making your package "work":

--8<---cut here---start->8---
(define-public my-simple-1
  (package
; .. existing stuff
(arguments (list #:builder #~(mkdir #$output)
--8<---cut here---end--->8---

Note that this simply creates the output directory, and does nothing
else.

What may seem a bit misleading here is that "build expressions" have
mostly been ported to this hip thing called G-Expressions (see `info
"(guix) G-Expressions"' [1]).

>   2. Do you know simpler package definitions (aka minimal working
>  examples) that I could use for experimenting?

Simple does not always imply easy. If we're talking about an easy to use
build system, I think the `copy-build-system' could work, as does the
gnu-build-system as it allows you to play with the moving parts without
having to supply all of these moving parts yourself :).

A package that uses the trivial-build-system that does slightly more is
`inxi-minimal', which you can find by issuing a `guix edit inxi-minimal'.

HTH!
 - Jelle

[0]: 
https://guix.gnu.org/manual/devel/en/html_node/Build-Systems.html#index-trivial_002dbuild_002dsystem
[1]: https://guix.gnu.org/manual/devel/en/html_node/G_002dExpressions.html



Re: Running a shell command with home-run-on-change-service-type

2022-12-20 Thread Jelle Licht
Elias Kueny  writes:

Hello Elias!

Buyer beware; I am not a G-expression guru. Having said that...

> Hello,
>
> I'm trying to extend the home-run-on-change-service-type service to run the 
> fish command "fisher update" when the file ~/.config/fish/fish_plugins 
> changed, so that fisher plugins are installed or removed by guix home 
> reconfigure.
>
> My service definitions are:
>
>> (define-module (modules shells)
>>   #:use-module (guix gexp)
>>   #:use-module (gnu packages)
>>   #:use-module (gnu services)
>>   #:use-module (gnu home services)
>>   #:use-module (gnu home services shells))
>>
>> (define-public fish-services
>> (list
>>  (simple-service 'fisher-update-on-change
>>  home-run-on-change-service-type
>>  `(("files/.config/fish/fish_plugins"
>> #~(system* #$(file-append fish "/bin/fish") 
>> "-c" "fisher update"

... here you quasi-quote the service extension configuration with
"`". To make use of a gexp in the expression, we need to unquote the gexp
expression, so replace "#~" by ",#~".

HTH and gets you unstuck!
- Jelle




Re: Web development on Guix: nodejs, npm and all that

2022-01-10 Thread Jelle Licht


t...@fullmeta.me writes:

>> I haven't encountered any npm package which doesn't work when not
>> installed globally yet and it seems to me that would be a bug in said
>> package.
>
> this is certainly great to hear! Thank you
>
> I've been trying to do all setup via `guix shell --container`. Is there an 
> easy (obvious) way to extend environment inside the container? I can 
> --preserve etc, but doesn't look like I can easily change e.g. PATH to ensure 
> it includes local node_modules/bin. Maybe the better way would be to have the 
> ability to set GUIX_ENVIRONMENT to a profile that you tweak which sets env 
> vars apprpiately. I feel like maybe I'm already asking too much of the guix 
> shell CLI front end and maybe I'm better of reversing what relevant .scm 
> script does setting up container's environment and just drop my modified .scm 
> script to a project dir. I hate mucking with BASH and such - never ends well 
> and never goes smoothly.

Would prefixing your commands with 'npx' work? I can't recall any major
issues running some tools that were installed in node_modules/bin via
guix's node/npm.

>
> Anyone has suggestions? Basically at this point we are trying to go slightly 
> above what `guix shell --container` or even `guix shell` can do. Something 
> that I feel amounts to (in non-guix world) to running a sort of .loginrc 
> script when you enter the environment or container.
I don't believe there is a clean solution for doing these things, but
you can probably cobble something together with bash and the --expose
flag of 'guix shell'

As other folks mentioned, this does seem more easily solved using
direnv, so that's probably what I would go for.

 - Jelle



Re: i18n guix module error when opening shell after guix home reconfigure

2022-01-07 Thread Jelle Licht


Hello Roland,

Sad prefix: I don't have a solution for you, nor am I a guix home
expert, but I can confirm that I also run into the issue. 

On my VM, I actually used an almost-default bash configuration, but run
into the very same issue.

Roland Everaert via  writes:

> Hello,
>
> First, happy new year and best wishes for this year.
>
> I have updated my guix home configuration to use my zsh config instead of a 
> blank bash configuration.
>
> Unfortunatelly, when I logout and login again, I face the following errors:
> -
> Backtrace:
> 9 (primitive-load "/home/roland/.guix-home/on-first-login")
> In ice-9/eval.scm:
> 721:20 8 (primitive-eval (begin (use-modules (guix i18n)) (# …) …))
> In ice-9/psyntax.scm:
> 1230:36 7 (expand-top-sequence ((begin (use-modules (guix …)) …)) …)
> 1090:25 6 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
> 1222:19 5 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
> 259:10 4 (parse _ (("placeholder" placeholder)) (()) _ c (eval) …)
> In ice-9/boot-9.scm:
> 3927:20 3 (process-use-modules _)
> 222:17 2 (map1 (((guix i18n
> 3928:31 1 (_ ((guix i18n)))
> 3329:6 0 (resolve-interface (guix i18n) #:select _ #:hide _ # _ # …)
>
> ice-9/boot-9.scm:3329:6: In procedure resolve-interface:
> no code for module (guix i18n)

It seems that my $HOME/.guix-home/on-first-login assumes that guix's
guile modules are available to the guile interpreter that is listed in
the shebang;

> -
>
> However, the command guix home reconfigure home-config.scm does not generate 
> any error, so I don't understand why guix complain about a missing module 
> related to internationalization.

>
> I am using guix, the package manager, on a Fedora 34 distribution.
>
> Below is my home-config.scm file content:
>
> -
> (use-modules (gnu home)
> (gnu home services)
> (gnu home services shells)
> (gnu services)
> (gnu packages admin)
> (gnu packages python-xyz)
> (gnu packages password-utils)
> (gnu packages dunst)
> (gnu packages disk)
> (gnu packages backup)
> (gnu packages libreoffice)
> (gnu packages guile)
> (gnu packages xdisorg)
> (gnu packages tls)
> (gnu packages vpn)
> (gnu packages terminals)
> (guix gexp))
>
> (home-environment
> (packages (list htop glances password-store dunst ranger restic hunspell
> ;; hunspell-dict-fr hunspell-dict-en
> ;; guile
> neofetch xdotool openssl openvpn xscreensaver alacritty))
> (services
> (list
> (service home-zsh-service-type
> (home-zsh-configuration
> (xdg-flavor? #t)
> (zshrc (list (local-file "zshrc"
> -
>
> Any idea what might cause such trouble?


If you are not worried about temporarily running some older software,
could you try and see if running:

--8<---cut here---start->8---
guix time-machine --commit=2719dfa631 -- home reconfigure your-home-config.scm
--8<---cut here---end--->8---

works for you? This will get guix to use an older copy of itself to
build and 'install' your home environment.

Thanks!
 - Jelle



Re: openvpn ERROR: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1

2021-10-13 Thread Jelle Licht
Hello Jovany,

"Jovany Leandro G.C"  writes:

> hi, 
> when i run **openvpn myfile.ovpn**, throws:
>
> ~~~
> 2021-10-12 21:20:26 OpenVPN 2.5.4 x86_64-unknown-linux-gnu [SSL
> (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Jan  1 1970
> ...
> 2021-10-12 21:25:13 ERROR: Cannot ioctl TUNSETIFF tun: Operation not
> permitted (errno=1)
> 2021-10-12 21:25:13 Exiting due to fatal error
> ~~~
Note that I am by no means an OpenVPN expert, I have just used it a few
times.

For its normal operations, OpenVPN clients need a TUN/TAP device; AFAIK
creating such devices require running with root permissions.

You have several options here.

The easiest 'fix' is to simply run `sudo openvpn myfile.ovpn`;
everything should work, with always-on root privileges though.

Run `sudo openvpn --user  --group  myfile.ovpn',
which uses root privileges to set up things and then drops these
privileges. If your connection gets interrupted, you might need to
manually restart the command to set things up properly again.

If you use Network Manager; there is a plugin for managing OpenVPN
connections. In Guix this has been packaged as
`network-manager-openvpn', and can be added to your operating system
declaration if you run Guix System [1]

> thanks any help
> -- 
> Jovany Leandro G.C

HTH!
 - Jelle

[1] 
http://guix.gnu.org/manual/en/html_node/Networking-Services.html#index-network_002dmanager_002dservice_002dtype



Re: python to support SQLite extensions

2021-05-31 Thread Jelle Licht
Hey Felix,

Felix Gruber  writes:

> Hi Jelle,
>
> On 5/10/21 11:31 PM, Jelle Licht wrote:
>> Does anybody perhaps know why my python is correctly receiving (and
>> subsequently ignoring) this configure flag? It seems that *something*
>> happens between the 'configure' script receiving the flag, and the file
>> in `Modules/_sqlite/connection.c' being built, it seems
>> SQLITE_OMIT_LOAD_EXTENSION is set to "1".
>> 
>> This (seemingly) happens in setup.py, lines 1432 and on:
>> --8<---cut here---start->8---
>>  if '--enable-loadable-sqlite-extensions' not in 
>> sysconfig.get_config_var("CONFIG_ARGS"):
>>  sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1"))
>> --8<---cut here---end--->8---
>> 
>> Indeed, in *any* python3 I can find on my Guix System, I see:
>> 
>> --8<---cut here---start->8---
>> #> import sysconfig
>> #> sysconfig.get_config_var("CONFIG_ARGS")
>> '--with-system-ffi'
>> --8<---cut here---end--->8---
>> 
>> Something weird is going on!
>> 
>> I have no clue how to continue finding why this happens, but for my
>> personal problem I can just patch python's setup.py file.
>
> You're onto something with `sysconfig.get_config_var("CONFIG_ARGS")`:
> In the definition of the python-2.7 package from which the python
> package eventually derives from, a phase
> `'do-not-record-configure-flags` is added before `'configure`. This
> phase removes everything but '--with-system-ffi' from `CONFIG_ARGS`.
>
> I've successfully enabled loadable sqlite extensions with the following
> package definition.
> ---8<8<8<8<---
> (define python-with-loadable-sqlite-modules
>   (package (inherit python)
> (arguments
>  (substitute-keyword-arguments (package-arguments python)
>((#:configure-flags cf)
> `(cons* "--enable-loadable-sqlite-extensions" ,cf))
>((#:phases phases)
> `(modify-phases ,phases
>(delete 'do-not-record-configure-flags)))
> --->8>8>8>8---

This works well-enough for me atm, thanks for getting me to understand
the missing part here :).

> While this works, it might be better to modify the
> `'do-not-record-configure-flags` phase to keep the
> `--enable-loadable-sqlite-extensions` option instead of completely
> removing this phase.
>
> I think it might be a good idea to enable loadable sqlite extensions by
> default in the python package. As you've already pointed out, other
> distros have this option enabled which leads to surprises when trying to
> load sqlite extensions in guix's python.

Makes sense, but I am no python guru. I'll open a separate ticket for
this discussion, because there might be more flags that have similar
issues that we might want to support.

Thanks again,
 Jelle



python to support SQLite extensions

2021-05-10 Thread Jelle Licht


Hello folks,

I want to enable support for loadable extensions in python's sqlite3
module. This should be enabled by passing
`--enable-loadable-sqlite-extensions' to `./configure'.

I've spend an embarassing amount of time on this, so perhaps someone out
there understands python better than I do and can elucidate me.

This does depend on our SQLite package needing support for loadable
extensions, but it seems it does.

I've tried the following custom package definition:

--8<---cut here---start->8---
(define-public python/sqlite-extensions
  (package
(inherit python)
(arguments
 (substitute-keyword-arguments (package-arguments python)
   ((#:configure-flags flags '())
`(cons "--enable-loadable-sqlite-extensions" ,flags))
--8<---cut here---end--->8---

... which seems to 'work', according to the build log:
--8<---cut here---start->8---
[snip]
checking for --enable-loadable-sqlite-extensions... yes
[snip]
--8<---cut here---end--->8---

Sadly, even with my freshly built python3, I get the following:

--8<---cut here---start->8---
#> import sqlite3
#> conn=sqlite3.connect("/tmp/some-db.sqlite")
#> conn.enable_load_extension(True)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'sqlite3.Connection' object has no attribute 
'enable_load_extension'
--8<---cut here---end--->8---

Does anybody perhaps know why my python is correctly receiving (and
subsequently ignoring) this configure flag? It seems that *something*
happens between the 'configure' script receiving the flag, and the file
in `Modules/_sqlite/connection.c' being built, it seems
SQLITE_OMIT_LOAD_EXTENSION is set to "1".

This (seemingly) happens in setup.py, lines 1432 and on:
--8<---cut here---start->8---
 if '--enable-loadable-sqlite-extensions' not in 
sysconfig.get_config_var("CONFIG_ARGS"):
 sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1"))
--8<---cut here---end--->8---

Indeed, in *any* python3 I can find on my Guix System, I see:

--8<---cut here---start->8---
#> import sysconfig
#> sysconfig.get_config_var("CONFIG_ARGS")
'--with-system-ffi'
--8<---cut here---end--->8---

Something weird is going on!

I have no clue how to continue finding why this happens, but for my
personal problem I can just patch python's setup.py file.

Thanks for any pointers,
 - Jelle

NB, this configure option happens to be enabled by default in many other
distro's (among which Nix [1]), so it might actually make sense to also
set things up in such a way on our next core-updates cycle, once the
flag actually does something.

[1] https://github.com/NixOS/nixpkgs/pull/67472/files



Re: Guix System definition with a .emacs.d filled

2021-04-16 Thread Jelle Licht


Hello,

Jérémy Korwin-Zmijowski  writes:

> Dear Guixters,
>
> Maybe I am asking too much to Guix haha. Maybe I don't.
>
> So. Here is what I intend to do : 
>
> I want to write a Guix System definition that puts a .emacs.d directory
> inside /root which is "usable". I don't feel the need to create a
> regular user (I don't fear too much damages inside a disposable VM
> context).


> So I tried two options :
>
> First, using an extra-special-file
>
>(extra-special-file "/root/.emacs.d"
>(local-file "emacs.d" #:recursive? #t))
>
> But the resulting .emacs.d is put into the store and is not writable.

I ran into a similar issue some time ago, with the same dillema.

The 'solution' that works well enough for me:
the `emacs-no-littering' package, with 
(setq no-littering-etc-directory "/tmp/emacs/etc")
  no-littering-var-directory "/tmp/emacs/var"))

HTH!
 - Jelle



Re: Scanner is only detected with root user, printer cannot be added through GNOME

2021-03-05 Thread Jelle Licht
divoplade  writes:
> I am currently in the following supplementary-groups:
>
> '("wheel" "netdev" "audio" "video" "lpadmin" "scanner")
>
> Is it not enough?

I would not consider myself a master of the arcane arts (that is,
scanning/printing), but I recall needing to add myself to the "lp" group
for only those scanners that happened to also be printers.

HTH!
 - Jelle



Re: How to use pip3 libs abcent in guix repo?

2021-02-18 Thread Jelle Licht
Vincent Legoll  writes:

> Hello,
>
> On Thu, Feb 18, 2021 at 4:45 PM Jelle Licht  wrote:
>> `guix environment --ad-hoc python-pip python-virtualenv python-numpy 
>> python-websocket-client python'
>>
>> Note that it is important that the "python" package comes last in this
>> invocation!
>
> Can you elaborate a bit on why this is required ?

Not so much required, but rather a way to work around a bug I ran into:

https://issues.guix.gnu.org/issue/46569

> Or maybe I should just RTFM... ;-)

We all should, but it wouldn't have helped you in this case I think :-)
 




Re: How to use pip3 libs abcent in guix repo?

2021-02-18 Thread Jelle Licht
Hey Znavko,

znavko--- via  writes:

> Hello, developers and users!
> I wish to use python-binance, ta-lib, python-websocket-client, python-numpy 
> as in this video https://youtu.be/GdlFhF6gjKo?t=713 
> (https://youtu.be/GdlFhF6gjKo?t=713)
> Guix repository already has python-numpy, python-websocket-client packages, 
> but others abcent.
>
> How can I use python libs downloading them from web without installation by 
> guix pm?
> Is there proper way to setup python libraries in my system, where to place it 
> and how to link it?

As a python 'noob' who started seriously playing around with it about a
week ago, I might save you some hassle:

It is really, really much easier to work with guix-managed dependencies;
check out the guix pypi importer to see how this can work.

If you do not want do that, for whichever reason, I can recommend using
a virtualenv. Open a guix environment by issuing:

`guix environment --ad-hoc python-pip python-virtualenv python-numpy 
python-websocket-client python'

Note that it is important that the "python" package comes last in this
invocation!

In the spawned shell, run:

--8<---cut here---start->8---
virtualenv -p python3 my-amazing-venv
source my-amazing-venv/bin/activate
pip3 install python-binance
--8<---cut here---end--->8---

After that, but still in your `guix environment' + `source
my-amazing-venv/bin/activate' shell, you should be able to verify that
you can load up binance:
`python3 -m binance'

It won't complain about not finding the binance module, so in this case,
no output = good news.

Because all of this is a kind of terrible user experience, it might make
sense to string all of this stuff together in a shell script. Again, I'd
like to state that simply getting all of the packages you need packaged
for guix (locally or in guix proper) makes all of this complexity go away.

HTH,
 - Jelle



Re: Packaging (simple) tools in Golang

2021-01-29 Thread Jelle Licht
Leo Famulari  writes:

> On Thu, Jan 28, 2021 at 02:33:08PM +0100, Jelle Licht wrote:
>> Hello Guix!
>> 
>> How would one package a tool written in Go(lang) using guix? I am
>> looking at https://github.com/guitmz/n26, but all of my efforts using
>> the go-build-system end up having only some documentation and (if I set
>> `#:install-source?' to #f) the sources in the resultant output. Ideally,
>> I would end up with a /bin/n26 in addition to the documentation I
>> get now.
>
> Can you share your package definition?

I figured it out, it was a problem with the `#:unpack-path' being
"github.com/guitmz/n26", yet the `#:import-path' needing to be
"github.com/guitmz/n26/cmd/n26". Cargo-culting saves the day yet again.

I'm not sure whether it works, as I don't have an account with this bank
to test it with, but it seems to at least build reproducibly on two of
my machines.

I'll clean it up and verify that it actually works before pushing it.
 - Jelle

--8<---cut here---start->8---
(define-public go-n26
  (package
(name "go-n26")
(version "1.5.2")
(source (origin
  (method git-fetch)
  (uri (git-reference
(url "https://github.com/guitmz/n26;)
(commit version)))
  (file-name (git-file-name name version))
  (sha256
   (base32
"0fdmfmg9cwycaaghgyax0qkqc6pzsghis05y2kdmddbjvkrg09fg"
(build-system go-build-system)
(arguments
 `(#:import-path "github.com/guitmz/n26/cmd/n26"
   #:unpack-path "github.com/guitmz/n26"
   #:install-source? #f))
(native-inputs
 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
   ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
   ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
   ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)
   ("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
   ("go-github-com-olekukonko-tablewriter" 
,go-github-com-olekukonko-tablewriter)
   ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)))
(home-page "https://github.com/guitmz/n26;)
(synopsis "API and CLI to get information of your N26 account")
(description "API and CLI to get information of your N26 account")
(license license:expat)))
--8<---cut here---end--->8---



Re: Packaging (simple) tools in Golang

2021-01-29 Thread Jelle Licht
Leo Famulari  writes:

> On Thu, Jan 28, 2021 at 02:33:08PM +0100, Jelle Licht wrote:
>> Hello Guix!
>> 
>> How would one package a tool written in Go(lang) using guix? I am
>> looking at https://github.com/guitmz/n26, but all of my efforts using
>> the go-build-system end up having only some documentation and (if I set
>> `#:install-source?' to #f) the sources in the resultant output. Ideally,
>> I would end up with a /bin/n26 in addition to the documentation I
>> get now.
>
> To clarify, when you tell it not to install the source code, it installs
> the source code anyways?

Yeah, I fumbled that up summarising it here; `#:install-source?' does
exactly what it says on the tin.



Packaging (simple) tools in Golang

2021-01-28 Thread Jelle Licht
Hello Guix!

How would one package a tool written in Go(lang) using guix? I am
looking at https://github.com/guitmz/n26, but all of my efforts using
the go-build-system end up having only some documentation and (if I set
`#:install-source?' to #f) the sources in the resultant output. Ideally,
I would end up with a /bin/n26 in addition to the documentation I
get now.

Thanks for pointers or clarifications!
 - Jelle



Re: guix pull: error: Git error: invalid content-type: 'text/plain'

2020-09-15 Thread Jelle Licht
divoplade  writes:

> Hello guix,
>
> I have set up a few packages of mine at 
> https://divoplade.fr/divoplade-site.git
>
> If you clone it, it works:
>
> git clone https://divoplade.fr/divoplade-site.git
>
> But if I add this URL as a guix channel, I get:
>
> guix pull: error: Git error: invalid content-type: 'text/plain'

I know this error! I had it happen to me way back when libgit tries to
work with a remote that exposes the older http-based git protocol. AFAIK
(but this was some time ago) libgit does not support this.

See [0] for a explanation on which protocols are supported. Perhaps you
can try to use of the other protocols to see if that helps you? YMMV, of
course :-).

- Jelle

[0] 
https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#_the_protocols



Re: How should I be running `npm install …`?

2020-04-30 Thread Jelle Licht
Hey Josh,


Josh Marshall  writes:

> Hello all,
>
> The is my work email, I’m usually on IRC as “anadon”.  My laptop broke, so 
> please humor the account change.
>
> Following the guide at 
> https://medium.com/jeremy-keeshin/hello-world-for-javascript-with-npm-modules-in-the-browser-6020f82d1072
>  , I’m trying to run `npm install -g browserify` with the output below.  This 
> is something others have certainly run into, but a quick google search does 
> not turn up any useful results.  How should I be doing this?

By default, guix' npm wants to install to some location in the store,
which is mounted read-only. If you want to use npm to manage package
installations on guix, one workaround is to add something like the
following to your `$HOME/.npmrc':

--8<---cut here---start->8---
prefix=/home/anadon/opt
--8<---cut here---end--->8---

You also need to make sure that `$HOME/opt/bin' is in your path
afterwards.

HTH,
 - Jelle



Re: How to timeout herd's network services start for not to stop boot process ?

2020-03-23 Thread Jelle Licht


Hey znavko,

zna...@disroot.org writes:

> Hello, Guix developers! I'm so happy that OS Guix works on a new PC, cause 
> I've tried to buy 2 laptops where wifi or even graphics did not work!
> On Dell Vostro 3670, Core i5 9400, Nvidia Geforce 710 Guix works and even 
> wifi works (but I use usb wifi adapter for better connection power).
>
> I have inconvenience: during boot guix stops and wait for about 30 seconds on 
> wifi connection, as on images and dmesg:
>
> http://0x0.st/ialz.jpg
> http://0x0.st/ial-.jpg
>
> # dmesg |grep wlp
> [ 2.715775] ath9k :05:00.0 wlp5s0: renamed from wlan0
> [ 3.383086] ath9k_htc 1-1:1.0 wlp0s20f0u1: renamed from wlan0
> [ 174.055212] wlp0s20f0u1: authenticate with xx:pp:xx:pp:xx:pp
> [ 174.313915] wlp0s20f0u1: send auth to xx:pp:xx:pp:xx:pp (try 1/3)
> [ 174.315645] wlp0s20f0u1: authenticated
> [ 174.318674] wlp0s20f0u1: associate with xx:pp:xx:pp:xx:pp (try 1/3)
> [ 174.323907] wlp0s20f0u1: RX AssocResp from xx:pp:xx:pp:xx:pp (capab=0xc11 
> status=0 aid=3)
> [ 174.332535] wlp0s20f0u1: associated
> [ 174.528137] IPv6: ADDRCONF(NETDEV_CHANGE): wlp0s20f0u1: link becomes ready

Perhaps totally unrelated and unhelpful, but are you using Guix System
with a hard drive? I ask because I had similar issues in the past that
magically went away (=were hidden) after moving to an SSD.

- Jelle



Re: Guix repl load-path confusion

2020-03-21 Thread Jelle Licht
Pierre Neidhardt  writes:

> No clue but for what it's worth, I can't reproduce on Guix
> ce226e9d8d52d2530f057f2000d36c0d55380ade :p

Tldr: Loading the modules in $HOME/.config/guix/current in a guile repl
breaks building packages when there are overlapping directories between
your configured guix channels.

Thanks! I finally figured it out. This has to do with overlapping
directory trees in guix channels. If you have a channel which has either
an overlapping `gnu/packages/...'  (my channel) or for example the guix
home manager channel (with `guix/scripts/...'), you run into these
obscure issues.

As I can simply use my own prefixed directory structure for my own
channel, and AFAICS there has already been gwl related discussions on
how to package guix extensions such as home manager, this issue is
easily prevented.

The reason why I ran into this problem is that that
building/installing/doing anything cool with emacs-guix consistently
triggered this bug for me, as they used a repl in the background with
the appropriate load-path set up.

Should we consider this behavior a bug in guix, or simply a caveat that
we should document in the manual section on channels?

 - Jelle, who is extremely psyched about finally finding the cause
   of an issue that has been bothering me for 4 years :D




Guix repl load-path confusion

2020-03-19 Thread Jelle Licht
Simple question:
When I run the following in `guix repl':

--8<---cut here---start->8---
~ $ guix repl
GNU Guile 3.0.1
Copyright (C) 1995-2020 Free Software Foundation, Inc.

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

Enter `,help' for help.
scheme@(guix-user)> ,m (guix ui)
scheme@(guix ui)> (run-guix "build" "ed")
0.1 MB will be downloaded:
   /gnu/store/c2vas7isbs7iwjsr7wr09iwdsw9vvy25-ed-1.15
substituting /gnu/store/c2vas7isbs7iwjsr7wr09iwdsw9vvy25-ed-1.15...
downloading from 
https://ci.guix.gnu.org/nar/lzip/c2vas7isbs7iwjsr7wr09iwdsw9vvy25-ed-1.15...
 ed-1.15  56KiB1.0MiB/s 00:00 
[##] 100.0%

/gnu/store/c2vas7isbs7iwjsr7wr09iwdsw9vvy25-ed-1.15
scheme@(guix ui)> 
--8<---cut here---end--->8---
.. everything seems to work as intended.

When I run: `guix repl -L
/home/jelle/.config/guix/current/share/guile/site/3.0', everything goes
really wrong:

--8<---cut here---start->8---
guix repl -L /home/jelle/.config/guix/current/share/guile/site/3.0
GNU Guile 3.0.1
Copyright (C) 1995-2020 Free Software Foundation, Inc.

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

Enter `,help' for help.
scheme@(guix-user)> ,m (guix ui)
scheme@(guix ui)> (run-guix "build" "ed")
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
[snip] many packages [/snip]
   /gnu/store/xh1fy30irfhh9hwvd3ghw8ylxs8bdmyw-xz-5.2.4.drv
   /gnu/store/z8hdiqhpfa5d78k9si93rpf8lb15w6r5-lzip-1.21.drv
building /gnu/store/yqx8r9ifvzzl9rjpfmaywi6glqklxmc8-ld-wrapper-boot0-0.drv...
building 
"/gnu/store/w8fw0vzvai0yw5akfq3gd94avb7jvd4h-binutils-cross-boot0-2.32"/bin/ld 
wrapper in "/gnu/store/8xyx4dr7db18rs0w8mf1xdd63ywvl2bg-ld-wrapper-boot0-0"
Backtrace:
In ice-9/boot-9.scm:
 157: 11 [catch #t # ...]
In unknown file:
   ?: 10 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 9 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 8 [eval # #]
In ice-9/boot-9.scm:
2320: 7 [save-module-excursion #]
3966: 6 [#]
1645: 5 [%start-stack load-stack #]
1650: 4 [#]
In unknown file:
   ?: 3 [primitive-load 
"/gnu/store/rj0sfjn8hnznw9yi1670isfxf4wdiv6y-ld-wrapper-boot0-0-guile-builder"]
In ice-9/eval.scm:
 387: 2 [eval # ()]
 432: 1 [eval # #]
In unknown file:
   ?: 0 [copy-file "/gnu/store/6f15hjcvf8a2xhwgf33xkfq3winks17f-ld-wrapper.in" 
...]

ERROR: In procedure copy-file:
ERROR: In procedure copy-file: No such file or directory
builder for 
`/gnu/store/yqx8r9ifvzzl9rjpfmaywi6glqklxmc8-ld-wrapper-boot0-0.drv' failed 
with exit code 1
build of /gnu/store/yqx8r9ifvzzl9rjpfmaywi6glqklxmc8-ld-wrapper-boot0-0.drv 
failed
View build log at 
'/var/log/guix/drvs/yq/x8r9ifvzzl9rjpfmaywi6glqklxmc8-ld-wrapper-boot0-0.drv.bz2'.
[snip] many packages [/snip]
cannot build derivation 
`/gnu/store/241aiwcpir0bigydsp4sn5ji9rd52i2d-ed-1.15.drv': 1 dependencies 
couldn't be built
guix build: error: build of 
`/gnu/store/241aiwcpir0bigydsp4sn5ji9rd52i2d-ed-1.15.drv' failed
--8<---cut here---end--->8---

Does anyone know why things go so wrong?

Thanks for any helping hands here,
 - Jelle



Re: Random domain name resolution errors

2020-02-07 Thread Jelle Licht
Pierre Neidhardt  writes:

> Hi!
>
> A strange thing just happened to me: ever since I went to Belgium last
> week (don't know if it's relevant) I keep getting domain name resolution
> errors.

>
> For instance right now duckduckgo.com fails but guix.gnu.org works.
>
> I'm back home now and the issue persists.
>
> Any clue how to investigate?

When I have *some* domain name resolution issues, it usually has
something to do with my nscd being a bit too eager caching negative
results. Assuming you are using Guix System, does `herd invalidate nscd
hosts' help?

  - Jelle




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

2020-02-05 Thread Jelle Licht
Ricardo Wurmus  writes:

>
> The guix.d directory has been removed.  What version of Guix are you using?

`guix build emacs-ess' still seems to result in a guix.d
directory. Perhaps this is because it uses a different build system?

- Jelle




Re: SYSTEM STUTTERING

2019-12-06 Thread Jelle Licht
Dear Raghav,

Raghav Gururajan  writes:

> Hello Folks!
> [...snip...]
> 50% of the time, when I am playing videos in mpv or icecat or
> ungoogled-chromium, after 5-10min, the whole system starts to stutter.
> I can see stutter in/while video, switching windows, changing
> volume+brigness on the panel etc.
> [...snip...]
> Could anyone help me with further digging this issue and fixing it
> please?
>
> DEVICE MODEL: X200-Tablet

AFAIK, that device has an Intel iGPU. Are you running the latest version
of linux-libre? I believe and have experienced quite some regressions
using Linux-libre kernel since ~5.3 on my T400. If you are not running
the latest linux-libre, it might still make sense to see whether `dmesg'
tells you something relevant.

Regards,
Jelle



Re: “Guix Profiles in Practice”

2019-10-27 Thread Jelle Licht
Konrad Hinsen  writes:

> Maybe we should start a Guix CLI nursery. A project/repository separate
> from Guix itself that contains a copy of the "guix" script under a
> different name ("guixx" for guix-extras?) and with the same interface
> for scripting modules. We could then use this to play collectively with
> ideas, and if something turns out to work well, migrate it to the
> official Guix CLI.
>
> Does this sound like a good idea? Would anyone else participate in such
> an experiment?

This could even work as a proper guix channel, once
http://issues.guix.info/issue/37399 is fixed!



Volatile? argument seems to be ignored for system disk images

2019-10-21 Thread Jelle Licht
I am trying to dive into some of the code that goes into generating
system disk images for guix, and I ran into the following:

It seems that commit 932e1f92404d917a91af28737d6631ec45b56875 did more
than what the commit log said:

> vm: Make sure disk image initrds load 'usb-storage.ko'.
> 
> Reported by David Thompson .
> 
> * gnu/system/vm.scm (system-disk-image): Add usb-storage.ko to the
>   initrd.

This commit effectively made the `#:volatile?' kwarg to
`system-disk-image' redundant. Should we remove `#:volatile?', or should
it be passed along instead of #t?

Or am I misunderstanding something subtle here, and is everything as it
should be?

Regards,

Jelle



Re: network-manager-openconnect setup

2019-08-10 Thread Jelle Licht
Hi!

"Santana, Divan"  writes:

> Hi Guix,
>
> I'm glad to see network-manager-openconnect is now packaged! :) Thank
> you to who ever did that.
>
> Trying to use it, after I installed it system wide and rebooted I get
> this;
>
> ~ ᐅ sudo nmcli con up vpn-fnb --ask
> Error: Connection activation failed: The VPN service 
> 'org.freedesktop.NetworkManager.openconnect' was not installed.
>
> I read the manual which says:
>
>  ‘vpn-plugins’ (default: ‘'()’)
>   This is the list of available plugins for virtual private
>   networks (VPNs).  An example of this is the
>   ‘network-manager-openvpn’ package, which allows NetworkManager
>   to manage VPNs via OpenVPN.
>
> I therefore tried this in my config
>
> (network-manager-service-type
>  config => (network-manager-configuration
> (inherit config)
> (dns "dnsmasq")
> (vpn-plugins '("network-manager-openconnect"))
> ))

If nothing else, you should go with the `network-manager-openconnect'
package object here. In your snippet, you are referring to the string
"network-manager-openconnect" instead.

Something like the following should solve your immediate issue:
  (vpn-plugins (list network-manager-openconnect))

>
> But I get this error:
>
> --8<---cut here---start->8---
> ~ ᐅ sudo -E guix system reconfigure  ~/.config/guix/system-config/swift.scm
> Password:
> Backtrace:
> In srfi/srfi-1.scm:
>592:29 19 (map1 (# …))
>592:29 18 (map1 (# …))
>592:29 17 (map1 (# …))
>592:29 16 (map1 (# …))
>592:29 15 (map1 (# …))
>592:29 14 (map1 (# …))
>592:29 13 (map1 (# …))
>592:29 12 (map1 (# …))
>592:29 11 (map1 (# …))
>592:29 10 (map1 (# …))
>592:29  9 (map1 (# …))
>592:29  8 (map1 (# …))
>592:29  7 (map1 (# …))
>592:29  6 (map1 (# …))
>592:29  5 (map1 (# …))
>592:29  4 (map1 (# …))
>592:17  3 (map1 ("network-manager-openconnect" #))
> In guix/inferior.scm:
>588:24  2 (inferior-package->manifest-entry "network-manager-ope…" …)
> 363:4  1 (inferior-package-input-field "network-manager-opencon…" …)
>307:18  0 (inferior-package-field _ _)
>
> guix/inferior.scm:307:18: In procedure inferior-package-field:
> In procedure struct_vtable: Wrong type argument in position 1 (expecting
> struct): "network-manager-openconnect"
> --8<---cut here---end--->8---
>
>
> What am I doing wrong?
>
> Seperate topic:
>
> Bonus points for anyone who knows why when I copy and paste into Emacs I
> get these weird characters.
>
>588:24  2 (inferior-package->manifest-entry "network-manager-ope…" …)
No clue, sorry :/
>  
>
> This email is subject to a disclaimer.
>
> Visit the FNB website and view the email disclaimer by clicking the "About 
> FNB + Legal" and "Legal Matters" links.
> If you are unable to access our website, please contact us to send you a copy 
> of the email disclaimer.

You might want to reconsider adding this disclaimer, as this is a
mailing list with publicly available archive at
https://lists.gnu.org/archive/html/help-guix/





Re: IceWeasel-UXP and IceDove-UXP

2019-07-19 Thread Jelle Licht


Hey guixuser,

guixuser  writes:

> [use this thread]
>
> Budget? Are you serious? Any distro has to focus on their basic things like 
> email and browser for new user; at least if project wants to grow and 
> accommodate new users.

For at least your browsing needs, I know of two options.

Guix currently has IceCat, which is as close to FireFox as you can get
while still being a FSDG-distro. I assume that if one is used to
IceWeasel, using IceCat should feel very familiar. The only iffy part is
working with extensions that are not yet available in the IceCat
upstream list of supported web extensions.

There is also an `ungoogled-chromium' package, but be aware that this
can take quite some time to build on your local machine if no binary
substitutes are available.

Getting used to the guix way of doing things can take some time and
effort, but it is IMHO definitely worth the investment. Guix empowers
users to exert control over their computing in a way that few other
software does.

If you run into any unclear steps in the documentation or are missing
packages, there are usually people available on the mailing list or on
#guix on the Freenode IRC network to help you figure out how to get
something working.




Re: tls woes with importers

2018-07-27 Thread Jelle Licht
As you said, my $SSL_CERT_DIR was messed up:
"/home/jelle/.guix-profile/etc/ssl/certs:/etc/ssl/certs".

It seems that several tools dislike having :-delimited directories in
SSL_CERT_DIR, I guess?
Either way, uninstalling nss-certs from my user profile, and leaving it in
my system definition as before, fixed the issue.
Kind of a bummer actually, as I really like sharing my user manifest files
between Guix and GuixSD machines.

Thanks Ludo!


2018-07-27 1:23 GMT+02:00 Ludovic Courtès :

> Hello Jelle,
>
> Jelle Licht  skribis:
>
> > $ guix import elpa org
> > Backtrace:
> >   13 (primitive-load "/home/jelle/.config/guix/current/bin/g…")
> > In guix/ui.scm:
> >   1579:12 12 (run-guix-command _ . _)
> > In guix/scripts/import.scm:
> >115:11 11 (guix-import . _)
> > In guix/scripts/import/elpa.scm:
> >108:23 10 (guix-import-elpa . _)
> > In guix/import/elpa.scm:
> > 249:2  9 (elpa->guix-package "org" _)
> >182:13  8 (fetch-elpa-package "org" _)
> >113:18  7 (elpa-package-info "org" _)
> > 85:21  6 (elpa-fetch-archive _)
> > In ice-9/boot-9.scm:
> > 829:9  5 (catch system-error # …)
> > 829:9  4 (catch srfi-34 # …)
> > In guix/http-client.scm:
> >182:20  3 (_)
> > 88:25  2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # …)
> > In guix/build/download.scm:
> > 398:4  1 (open-connection-for-uri _ #:timeout _ # _)
> > 296:6  0 (tls-wrap # _ # _)
> >
> > guix/build/download.scm:296:6: In procedure tls-wrap:
> > X.509 certificate of 'elpa.gnu.org' could not be verified:
> >   signer-not-found
> >   invalid
>
> This means that the certificate could not be validated, probably due to
> missing certificates.
>
> Could you make sure to install ‘nss-cert’ and to define ‘SSL_CERT_DIR’
> accordingly?  See
> <https://www.gnu.org/software/guix/manual/en/html_node/X_
> 002e509-Certificates.html>.
>
> HTH,
> Ludo’.
>


tls woes with importers

2018-07-24 Thread Jelle Licht
Hi all,

Recently, I have been running into some gnutls-issues again.  The
biggest issue for me right now is the lack of a working importer, as
follows:

--8<---cut here---start->8---
$ guix import elpa org
Backtrace:
  13 (primitive-load "/home/jelle/.config/guix/current/bin/g…")
In guix/ui.scm:
  1579:12 12 (run-guix-command _ . _)
In guix/scripts/import.scm:
   115:11 11 (guix-import . _)
In guix/scripts/import/elpa.scm:
   108:23 10 (guix-import-elpa . _)
In guix/import/elpa.scm:
249:2  9 (elpa->guix-package "org" _)
   182:13  8 (fetch-elpa-package "org" _)
   113:18  7 (elpa-package-info "org" _)
85:21  6 (elpa-fetch-archive _)
In ice-9/boot-9.scm:
829:9  5 (catch system-error # …)
829:9  4 (catch srfi-34 # …)
In guix/http-client.scm:
   182:20  3 (_)
88:25  2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # …)
In guix/build/download.scm:
398:4  1 (open-connection-for-uri _ #:timeout _ # _)
296:6  0 (tls-wrap # _ # _)

guix/build/download.scm:296:6: In procedure tls-wrap:
X.509 certificate of 'elpa.gnu.org' could not be verified:
  signer-not-found
  invalid
--8<---cut here---end--->8---

I am running GuixSD, with

--8<---cut here---start->8---
$ guix --version
guix (GNU Guix) 19f2a52644ffabf4902d0506329aa29d835dda4f
Copyright (C) 2018 the Guix authors
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
--8<---cut here---end--->8---

I have verified that I have nss-certs installed in my system profile.
Other programs using TLS connections seem to not have this issue
(e.g. Emacs and Icecat).

I have already tried:
- installing nss-certs to my user profile as well.
- installing gnutls to my user profile.

... but none of this changed anything for me sadly. Does anyone know
what I can do to remedy this situation?

Regards,
Jelle



Re: ghost command: suspend

2018-01-13 Thread Jelle Licht
2018-01-13 22:50 GMT+01:00 Martin Castillo :

> hey,
>
>
Hi Martin,


> when I run `suspend` on my guixsd installation in qemu, bash
> freezes/sleeps and the system does not suspend. `whereis suspend` does
> not find any path, but bash completes `susp[Tab]` to suspend.
>
> can some people test this on their machines? and can someone maybe
> explain, what's going on here?
>
> Martin
> --
> GPG: 7FDE 7190 2F73 2C50 236E  403D CC13 48F1 E644 08EC
>
>
AFAIK, `suspend' is a bash builtin for suspending shell execution. I
sometimes use this when dealing with subshells. See `suspend --help'
for some more information.

To the best of my knowledge, it has nothing to do with system suspend.

- Jelle


Re: Suspend of GuixSD system every ~30 seconds

2017-07-27 Thread Jelle Licht
Of course I meant /sys/power/state, not /sys/state/power...

Also: Using , the screen blackout (and subsequent logging of
"Failed to open /sys/power/state: Permission denied" in tty1
no longer show up after using gnome-tweak-tool to set "Don't suspend on lid
close" to "ON" in "Power > When Laptop Lid is Closed".

NB, this does not solve the 30-second suspend thing; I still need to do a
chmod 444 on every boot to make sure I can use my laptop for more than 30
seconds at a time.

2017-07-28 1:41 GMT+02:00 Jelle Licht <jli...@fsfe.org>:

> Hello help-guix,
>
> I recently acquired a Lenovo T400 laptop with libreboot installed from
> minifree.org.
> Of course,  I wanted to get GuixSD on there as quickly as possible and got
> to work.
>
> I am using GuixSD by installing with the --no-bootload flag, and copying
> the generated grub.cfg to /boot/grub/libreboot_grub.cfg (which allows the
> grub-in-libreboot to find my grub config and subsquently boot into GuixSD).
>
> I started out with the bare-bones OS config, which worked perfectly.
> Then I started playing around with a very straight-forward gnome config
> (see attached config.scm).
>
> About every 30 seconds (could be 29~32), my laptop goes into suspend mode!
> This means that the screen turns black, the backlight is turned off and as
> far as I can tell, the fan is also not making any noise. I have to press
> the physical power button to get the system to do anything afterwards.
> I am prepared to sacrifice *some* convenience for running only libre
> software, but this might be a bit much ;-).
>
> Within one of these 30 second windows, I quickly issued a `sudo chmod 444
> /sys/state/power', and this actually made the laptop slightly usable
> because it stopped suspending every 30 seconds.
>
> Yet, anytime I use any  command, the screen shuts off for about
> 2 seconds.
>
> Looking at tty1, for each of these  instances I can indeed see
> that *something* tried to write to /sys/state/power, but my earlier chmod
> prevented that from happening.
>
> I am currently quite out of my depth, but my gut is telling me this has
> something to do with elogind. Because gut feelings are not worth much, I
> also attached a compressed copy of the output of the `dmesg' command.
>
> I currently do not know how to solve this, but would love to run GuixSD on
> my minifree T400.
>
> Thanks,
> - Jelle
>
> p.s. Apologies for the big attachments, I did not know of any other way of
> getting this information to the ML.
>


Suspend of GuixSD system every ~30 seconds

2017-07-27 Thread Jelle Licht
Hello help-guix,

I recently acquired a Lenovo T400 laptop with libreboot installed from
minifree.org.
Of course,  I wanted to get GuixSD on there as quickly as possible and got
to work.

I am using GuixSD by installing with the --no-bootload flag, and copying
the generated grub.cfg to /boot/grub/libreboot_grub.cfg (which allows the
grub-in-libreboot to find my grub config and subsquently boot into GuixSD).

I started out with the bare-bones OS config, which worked perfectly.
Then I started playing around with a very straight-forward gnome config
(see attached config.scm).

About every 30 seconds (could be 29~32), my laptop goes into suspend mode!
This means that the screen turns black, the backlight is turned off and as
far as I can tell, the fan is also not making any noise. I have to press
the physical power button to get the system to do anything afterwards.
I am prepared to sacrifice *some* convenience for running only libre
software, but this might be a bit much ;-).

Within one of these 30 second windows, I quickly issued a `sudo chmod 444
/sys/state/power', and this actually made the laptop slightly usable
because it stopped suspending every 30 seconds.

Yet, anytime I use any  command, the screen shuts off for about 2
seconds.

Looking at tty1, for each of these  instances I can indeed see
that *something* tried to write to /sys/state/power, but my earlier chmod
prevented that from happening.

I am currently quite out of my depth, but my gut is telling me this has
something to do with elogind. Because gut feelings are not worth much, I
also attached a compressed copy of the output of the `dmesg' command.

I currently do not know how to solve this, but would love to run GuixSD on
my minifree T400.

Thanks,
- Jelle

p.s. Apologies for the big attachments, I did not know of any other way of
getting this information to the ML.


dmesg.log.xz
Description: Binary data


config.scm
Description: Binary data


Re: wrapping freexl in guile

2017-06-03 Thread Jelle Licht

Catonano  writes:

> I copied guile-gcrypt
>
> I changed all the occurrrences of "gcrypt" in "freexl" in all the relevant
> files
>
> I created an env with
>
> ~/projects/guile-freexl$ guix environment -l ./guix.scm --ad-hoc guile
> freexl
>
> I run configure and I got
>
> checking for libfreexl-config... no
> checking libfreexl's library directory...
> checking for libfreexl shared library name... libfreexl
> checking whether libfreexl can be dynamically loaded... no
> configure: error: GNU libfreexl does not appear to be usable; see
> `--with-libfreexl-prefix' and `README'.
>
The following command seemed to run to completion for me:
[env]$ ./configure --with-freexl-prefix=$GUIX_ENVIRONMENT

Maybe check out the following link, by coincidence about gcrypt as well ;-).
https://lists.gnu.org/archive/html/bug-guix/2013-02/msg00062.html

> If I do the same in guile-gcrypt it builds successfully
>
> Why ?
>
> P.S. it's here https://gitlab.com/humanitiesNerd/guile-freexl
> P.P.S I tried with both "libfreexl" AND "freexl"




Re: wrapping freexl in guile

2017-06-03 Thread Jelle Licht

Catonano  writes:

> I copied guile-gcrypt
>
> I changed all the occurrrences of "gcrypt" in "freexl" in all the relevant
> files
>
> I created an env with
>
> ~/projects/guile-freexl$ guix environment -l ./guix.scm --ad-hoc guile
> freexl
>
> I run configure and I got
>
> checking for libfreexl-config... no
> checking libfreexl's library directory...
> checking for libfreexl shared library name... libfreexl
> checking whether libfreexl can be dynamically loaded... no
> configure: error: GNU libfreexl does not appear to be usable; see
> `--with-libfreexl-prefix' and `README'.

I quickly tried:
`./configure --with-freexl-prefix=$GUIX_ENVIRONMENT'
and that seems to complete (a `make' invocation afterwards
understandably fails).

Maybe the following link might help you? It was actually about gcrypt ;-).
https://lists.gnu.org/archive/html/bug-guix/2013-02/msg00062.html

>
> If I do the same in guile-gcrypt it builds successfully
>
> Why ?
>
> P.S. it's here https://gitlab.com/humanitiesNerd/guile-freexl
> P.P.S I tried with both "libfreexl" AND "freexl"

Thanks for working on this!




packaging ancient node issues

2016-08-05 Thread Jelle Licht
Hello

Currenly I am having some difficulties trying to get an old version of Node
to build /w guix.
The package definition I am working on can be found at [0], and the tail of
the ouput
I get at [1].

The reported error is:
ld: cannot find crt1.o: No such file or directory
ld: cannot find crti.o: No such file or directory

It is a bit hard for me to find out what is happening, although it might
have something
to do with the fact that the build system is gnu-like, but actually
delegates work to a
bundled copy of waf.

Does anyone have a clue on what might be going on?
I am using guix-on-ubuntu@12.04, 64 bit, if that is relevant.

Thanks
- Jelle

[0] http://paste.lisp.org/display/322257 is the package definition that I
am tweaking
[1] http://paste.lisp.org/display/322256  for the tail of the failing build