bug#33993: Missing Texinfo documentation for Guix itself

2019-01-06 Thread Ricardo Wurmus


Adonay Felipe Nogueira  writes:

> This copy of Guix (in Trisquel 8.0 Flidas amd64) was installed using the
> shell script installer (for which I became root for that, that is, used
> `sudo -i'). The binary version downloaded was 0.16.0.
>
> At least after pulling and upgrading the recipes based on commit
> "5a7899fd88c1c463d3b75ac9077ccd183ddec914" (I didn't test this before
> pulling, sorry), the Texinfo documentation for Guix itself seems to be
> mising, even from root's profile.

The installer script creates links from
/var/guix/profiles/per-user/root/current-guix/share/info to
/usr/local/share/info.  Is the former directory populated as you would
expect?

> Interestingly, despite "$GUIX_PROFILE/share/info" not having the Texinfo
> documentation as described, "/usr/local/share/info" has at least some
> "dir."* files that seem to come from Guix. While "guix"{,"."*}".info.gz"
> are present in the form of broken symbolic links, each of which pointing
> to their counterparts in
> "/var/guix/profiles/per-user/root/current-guix/share/info".

This is odd.  Do the files exist in
/var/guix/profiles/per-user/root/current-guix/share/info?  Can you
please show us the output of “ls -la /usr/local/share/info” and “ls -la
/var/guix/profiles/per-user/root/current-guix/share/info”?

--
Ricardo






bug#33996: Icecat is missing fonts

2019-01-06 Thread swedebugia
Hi

After installing Icecat on guixsd v0.16 and starting it it shows only
squares instead of text and pango warns "missing font nimbus ..."

I think we should add font-gnu-freefont-ttf to the input of icecat to
fix this to make it work out of the box.

If on a foreign distribution guix should of course also notice if the
correct XDG-env variables are missing when installing icecat and hint.

-- 
Cheers 
Swedebugia





bug#33841: Building x86-64 on i686 not possible it seems - activation-service-error

2019-01-06 Thread swedebugia
On 2019-01-05 19:46, Ricardo Wurmus wrote:
> Hi swedebugia,
> 
>>>An i686 machine cannot run and build software for x86_64.  You would
>>>need to set up offloading to do that, or use
>>>‘qemu-binfmt-service-type’.
> […]
>> OK. Would it be OK to state this somewhere in the manual or am I the
>> only on trying to upgrade from 32->64 bit?
> 
> I'd prefer not to add this to the manual as it is not particular to
> Guix.  x86_64 is the outlier here, as it has a i686 persona.  Generally,
> you cannot build software for a different architecture without a cross
> toolchain (not applicable for Guix) or emulation (e.g. via
> qemu-binfmt-service-type).

Ok, thanks, closing this.

-- 
Cheers 
Swedebugia





bug#33911: SWH fallback is never reached due to an uncaught exception

2019-01-06 Thread Ludovic Courtès
Hi Björn,

Good catch!  I believe the bug was introduced by
329dabe13bf98b899b907b45565434c5140804f5.  I suppose I didn’t see it
when hacking on SWH support because I commented out the ‘git-fetch’ call
to test the other path.

Björn Höfling  skribis:

> The code is in git-download.scm, line 133:
>
> (or (git-fetch (getenv "git url") (getenv "git commit")
>#$output
>#:recursive? recursive?
>#:git-command (string-append #+git "/bin/git"))
> (download-nar #$output)
>
> ;; As a last resort, attempt to download from Software 
> Heritage.
> ;; XXX: Currently recursive checkouts are not supported.
> (and (not recursive?)
>  (swh-download (getenv "git url") (getenv "git commit")
>#$output)))

Fixed in commit 18524466bb25a1926277bd15fb378ff7941e.  Now I get:

--8<---cut here---start->8---
$ ./pre-inst-env guix build -S guile-bash --check
building 
/gnu/store/7w2xsqy12lyfshgpz61z8cg3s5zjsscs-guile-bash-0.1.6-0.1eabc56-checkout.drv...
environment variable `PATH' set to 
`/gnu/store/q09sy224qnxrp982z4xfaxi19721mjx8-gzip-1.9/bin:/gnu/store/ipx79bfj2mrc8npj7s3qi3zri11jfhaw-tar-1.30/bin'
Initialized empty Git repository in 
/gnu/store/7p7mkiqv9ah6x0x20qzpas44sdf7jqkl-guile-bash-0.1.6-0.1eabc56-checkout/.git/
fatal: repository 
'https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git/'
 not found
Failed to do a shallow fetch; retrying a full fetch...
fatal: repository 
'https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git/'
 not found
git-fetch: 
'/gnu/store/26s82xpawy0z13lfhkd7iprr2ahcbl5f-git-minimal-2.20.1/bin/git fetch 
origin' failed with exit code 128
Trying content-addressed mirror at mirror.hydra.gnu.org...
Downloading from 
http://mirror.hydra.gnu.org/guix/nar/gzip/7p7mkiqv9ah6x0x20qzpas44sdf7jqkl-guile-bash-0.1.6-0.1eabc56-checkout
 (0.04 MiB)...
 7p7mki...-guile-bash-0.1.6-0.1eabc56-checkout  37KiB 730KiB/s 00:00 
[##] 100.0%
/gnu/store/7p7mkiqv9ah6x0x20qzpas44sdf7jqkl-guile-bash-0.1.6-0.1eabc56-checkout
--8<---cut here---end--->8---

Thanks for the heads-up!

Ludo’.





bug#33608: bug#33882: Blender is not loading menu scripts

2019-01-06 Thread Thorsten Wilms

On 06/01/2019 01.27, Leo Famulari wrote:

But since our Blender package is currently broken, I guess it's the
right thing to do.

I will test one more possible fix to our current Blender package, and if
that fails,I will push the patch to update to "2.80-beta".


Sounds reasonable. However, Blender is a case where it might be 
worthwhile to keep a 2.79 around even after the final release of 2.8, 
because the graphics card requirements have been increased to  OpenGL 
core 3.3 *


* https://www.blender.org/2-8/


--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/





bug#33993: Missing Texinfo documentation for Guix itself

2019-01-06 Thread Adonay Felipe Nogueira
Note: Replying only to the list as it makes it easy for others and their
email clients to filter/split this message according to List-id header
field.

Em 06/01/2019 07:10, Ricardo Wurmus escreveu:
> The installer script creates links from
> /var/guix/profiles/per-user/root/current-guix/share/info to
> /usr/local/share/info.  Is the former directory populated as you would
> expect?

As I said, "/usr/local/share/info" has the symbolic links. Additionally,
now that you mention it, searching for
"/var/guix/profiles/per-user/root/current-guix/share/info/guix"{,".*"}".info"*
returns the Texinfo files, but not in .GZ format.

That said, they do exist and are readable there. I'll get a foreign
distribution image to test using QEMU and observe the behavior from
there when my other tasks allow me to.

> This is odd.  Do the files exist in
> /var/guix/profiles/per-user/root/current-guix/share/info?  Can you
> please show us the output of “ls -la /usr/local/share/info” and “ls -la
> /var/guix/profiles/per-user/root/current-guix/share/info”?

total 84
dr-xr-xr-x 2 root root 4096 Dez 31  1969 .
dr-xr-xr-x 3 root root 4096 Dez 31  1969 ..
lrwxrwxrwx 2 root root   67 Dez 31  1969 dir -> 
/gnu/store/4b19fn53k8jdqqbqy39rx27z76hydm6k-info-dir/share/info/dir
lrwxrwxrwx 2 root root   70 Dez 31  1969 dir.de -> 
/gnu/store/4b19fn53k8jdqqbqy39rx27z76hydm6k-info-dir/share/info/dir.de
lrwxrwxrwx 2 root root   70 Dez 31  1969 dir.fr -> 
/gnu/store/4b19fn53k8jdqqbqy39rx27z76hydm6k-info-dir/share/info/dir.fr
lrwxrwxrwx 3 root root   82 Dez 31  1969 guix.de.info -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.de.info-1 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-1
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.de.info-2 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-2
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.de.info-3 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-3
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.de.info-4 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-4
lrwxrwxrwx 3 root root   82 Dez 31  1969 guix.fr.info -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.fr.info-1 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-1
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.fr.info-2 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-2
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.fr.info-3 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-3
lrwxrwxrwx 3 root root   84 Dez 31  1969 guix.fr.info-4 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-4
lrwxrwxrwx 3 root root   79 Dez 31  1969 guix.info -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info
lrwxrwxrwx 3 root root   81 Dez 31  1969 guix.info-1 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-1
lrwxrwxrwx 3 root root   81 Dez 31  1969 guix.info-2 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-2
lrwxrwxrwx 3 root root   81 Dez 31  1969 guix.info-3 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-3
lrwxrwxrwx 3 root root   81 Dez 31  1969 guix.info-4 -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-4
lrwxrwxrwx 3 root root   76 Dez 31  1969 images -> 
/gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/images


signature.asc
Description: OpenPGP digital signature


bug#33996: Icecat is missing fonts

2019-01-06 Thread Adonay Felipe Nogueira
Em 06/01/2019 08:31, swedebu...@riseup.net escreveu:
> After installing Icecat on guixsd v0.16 and starting it it shows only
> squares instead of text and pango warns "missing font nimbus ..."

This behavior seems similar to what I experience while using Guix in
Trisquel 8.0
Flidas. The problem doesn't cause squares to appear, it actually causes
the last text font that fontconfig advertises to IceCat, to be selected.

I don't know how fontconfig selects these fonts, but I noticed that you
can test this by placing some font in "~/.local/share/fonts" and running
`fc-cache -vf'. IceCat should pick that font. You might need to try with
different fonts, as IceCat seems to expect from fontconfig that it
selects fonts with specific properties.




signature.asc
Description: OpenPGP digital signature


bug#33608: bug#33882: Blender is not loading menu scripts

2019-01-06 Thread Leo Famulari
On Sun, Jan 06, 2019 at 12:03:03PM +0100, Thorsten Wilms wrote:
> Sounds reasonable. However, Blender is a case where it might be worthwhile
> to keep a 2.79 around even after the final release of 2.8, because the
> graphics card requirements have been increased to  OpenGL core 3.3 *
> 
> * https://www.blender.org/2-8/

But, is Guix's Blender 2.79 package working for anyone? For me and
znavko, the graphical user interface is completely blank. Does Blender
have a "headless" use case?


signature.asc
Description: PGP signature


bug#33999: CP437: Invalid Argument on init

2019-01-06 Thread Bryan Ferris
Hello,

I've installed guix to my desktop. `guix system install` ran successfully
and the system is able to boot. However, a large number of services fail to
start with the error "CP437: Invalid argument". There are 3 groups of
information listed below: a partial list of services which fail (partial
because I can only see the final screen of output; I'm not sure how to see
the beginning of the log when I have no tty's and the startup log doesn't
support scrolling as far as I can tell), a partial list of services that
succeeded in starting, and my operating-system declaration used to create
it.

I verified that the inputs (mount points, fs types, etc) to the
operating-system is accurate. I don't think it's doing anything
particularly interesting. The only abnormal thing is that my root partition
is btrfs, but I get the same behavior on ext.

Broken Services:
avahi-daemon
console-font-tty{1-6}
dbus-system
elogind
guix-daemon
networking
nscd
ntpd
syslogd
term-tty{1-6,auto}
user-homes
upower-daemon
urandom-seed
user-processes
wpa-supplicant
xorg-server

Working Services:
console-keymap
file-system-/sys/fs/cgroup/{blkio,devices,freezer,memory,perf_event}
host-name
virtual-terminal

OS Declaration:
(use-modules (gnu))
(use-service-modules desktop ssh)
(use-package-modules shells vim wm)

(operating-system
  (packages (cons* fish neovim xmonad %base-packages))

  (services (cons*
  (console-keymap-service "dvorak-programmer")
  (service openssh-service-type
   (openssh-configuration
 (port-number 8778)
   )
  )
  %desktop-services
)
  )

  (users (let ((default-groups '("wheel" "audio" "video" "netdev"))
   ;(default-shell  #$fish) not sure if this is the right
syntax... fix once system boots
  )
   (cons* (user-account
   (name "primary")
   (group "users")
   (supplementary-groups default-groups)
   (home-directory "/home/primary")
 )
 (user-account
   (name "configuration")
   (group "users")
   (supplementary-groups default-groups)
   (home-directory "/home/configuration")
 )
 (user-account
   (name "packaging")
   (group "users")
   (supplementary-groups default-groups)
   (home-directory "/home/packaging")
 )
 %base-user-accounts
   )
 )
  )

  (host-name "cp")
  (timezone "America/Los_Angeles")
  (locale "en_US.utf8")

  (file-systems (cons*
  (file-system
(device (file-system-label "ESP"))
(mount-point "/boot/efi")
(type "fat")
  )

  (file-system
(device (file-system-label "guix"))
(mount-point "/")
(type "btrfs")
  )
  %base-file-systems
)
  )
  (bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")
(timeout 15)
  )
  )
)

Thanks,
Bryan


bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.

2019-01-06 Thread swedebugia
On 2019-01-04 22:38, Ricardo Wurmus wrote:
> Hi,
> 
>> From: swedebugia 
>> Date: Fri, 4 Jan 2019 21:20:46 +0100
>> Subject: [PATCH] gnu: artanis: Update to 0.3.1.
>>
>> * gnu/packages/guile.scm (artanis): Update it. Added note about
>>   guile-csv.
> 
> This should be
> 
> --8<---cut here---start->8---
> gnu: artanis: Update to 0.3.1.
> 
> * gnu/packages/guile.scm (artanis): Update to 0.3.1.
> [inputs]: Add guile-json and guile-redis.
> [source]: Unbundle guile-redis and guile-json in snippet.
> [arguments]: Delete strip phase.
> --8<---cut here---end--->8---
> 
>> +   (delete 'strip
> 
> Why is this needed?
> 
>> +  ;; native-search-paths are needed but left out because we propagate it
>> +  ;; from the installation of guile.
>> +  ;; On foreign distributions you have to set this manually no matter if
>> +  ;; you installed guile with guix or not. On GuixSD it should be set
>> +  ;; correctly automatically (Guile is always installed there)
> 
> I don’t know what this is trying to say, and it is pretty verbose.
> Should the guile-* inputs be propagated instead?  Please remove this
> comment.

Fixed. Is this OK?

-- 
Cheers 
SwedebugiaFrom 4ddf3a25bdd98100a1e063c129d70d3182ea46c6 Mon Sep 17 00:00:00 2001
From: swedebugia 
Date: Sun, 6 Jan 2019 16:47:41 +0100
Subject: [PATCH] gnu: artanis: Update to 0.3.1.

* gnu/packages/guile.scm (artanis): Update to 0.3.1.
  [snippet] Remove bundled guile-redis and add substitute
  for guile-redis.
  [inputs] Add guile-redis.
---
 gnu/packages/guile.scm | 20 +---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 07b568ee7..928bb065d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2018 Arun Isaac 
 ;;; Copyright © 2018 Pierre-Antoine Rouby 
 ;;; Copyright © 2018 Eric Bavier 
+;;; Copyright © 2018 swedebugia 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -528,7 +529,7 @@ program can be installed in one go.")
 ;;;
 
 (define-public artanis
-  (let ((release "0.2.1")
+  (let ((release "0.3.1")
 	(revision 3))
 (package
   (name "artanis")
@@ -543,17 +544,26 @@ program can be installed in one go.")
 (file-name (string-append name "-" version ".tar.gz"))
 (sha256
  (base32
-  "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))
+  "0hqr5m3mb558bdhkc2sadmd9cbrhp3y525wx7cwirgy6i0zmay68"))
 (modules '((guix build utils)))
 (snippet
  '(begin
+;; Unbundle guile-redis and guile-json
 (delete-file-recursively "artanis/third-party/json.scm")
 (delete-file-recursively "artanis/third-party/json")
+(delete-file-recursively "artanis/third-party/redis.scm")
+(delete-file-recursively "artanis/third-party/redis")
 (substitute* '("artanis/artanis.scm"
+   "artanis/lpc.scm"
"artanis/oht.scm")
   (("(#:use-module \\()artanis third-party (json\\))" _
 use-module json)
(string-append use-module json)))
+(substitute* '("artanis/lpc.scm"
+   "artanis/session.scm")
+  (("(#:use-module \\()artanis third-party (redis\\))" _
+use-module redis)
+   (string-append use-module redis)))
 (substitute* "artanis/oht.scm"
   (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
 _ pre json-string post)
@@ -565,9 +575,13 @@ program can be installed in one go.")
""))
 #t
   (build-system gnu-build-system)
+  ;; FIXME the bundled csv contains one more exported procedure
+  ;; (sxml->csv-string) than guile-csv. The author is maintainer of both
+  ;; projects.
   ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
   (inputs `(("guile" ,guile-2.2)
-("guile-json" ,guile-json)))
+("guile-json" ,guile-json)
+("guile-redis" ,guile-redis)))
   (native-inputs `(("bash"   ,bash) ;for the `source' builtin
("pkgconfig"  ,pkg-config)
("util-linux" ,util-linux))) ;for the `script' command
-- 
2.19.2



bug#34003: [PATCH] gnu: fish: Update to 3.0.0.

2019-01-06 Thread Meiyo Peng
Hi,

This patch updates fish shell to 3.0.0.

I tested this patch on my computer.  It seems bug#30265
(https://lists.gnu.org/archive/html/bug-guix/2018-01/msg00296.html) has
gone.

* gnu/packages/shells.scm (fish): Update to 3.0.0.
  [source]: Remove dead URL.
  [inputs]: Remove bc.  Replace python-wrapper with python.
  [arguments]: Remove configure-flags.  Add multiple phases to patch fish.
  Enable fish to source /etc/fish/config.sh.  Add user's and system's guix
  profiles to __extra_* variables.

>From 204527a56b31174777c6eee6512a7cbcffe6 Mon Sep 17 00:00:00 2001
From: Meiyo Peng 
Date: Sun, 6 Jan 2019 22:11:36 +0800
Subject: [PATCH] gnu: fish: Update to 3.0.0.

* gnu/packages/shells.scm (fish): Update to 3.0.0.
  [source]: Remove dead URL.
  [inputs]: Remove bc.  Replace python-wrapper with python.
  [arguments]: Remove configure-flags.  Add multiple phases to patch fish.
  Enable fish to source /etc/fish/config.sh.  Add user's and system's guix
  profiles to __extra_* variables.
---
 gnu/packages/shells.scm | 104 ++--
 1 file changed, 68 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 38eeaa783..c9511fba6 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2017, 2018 Nils Gillmann 
 ;;; Copyright © 2017, 2018 Leo Famulari 
 ;;; Copyright © 2017 Arun Isaac 
+;;; Copyright © 2019 Meiyo Peng 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,7 +28,6 @@
 
 (define-module (gnu packages shells)
   #:use-module (gnu packages)
-  #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
@@ -88,51 +88,83 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
 (define-public fish
   (package
 (name "fish")
-(version "2.7.1")
-(source (origin
-  (method url-fetch)
-  (uri
-   (list
-(string-append "https://fishshell.com/files/";
-   version "/fish-" version ".tar.gz")
-(string-append "https://github.com/fish-shell/fish-shell/";
-   "releases/download/" version "/"
-   name "-" version ".tar.gz")))
-  (sha256
-   (base32
-"0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4"))
-  (modules '((guix build utils)))
-  ;; Don't try to install /etc/fish/config.fish.
-  (snippet '(begin
-  (substitute* "Makefile.in"
-((".*INSTALL.*sysconfdir.*fish.*") ""))
-  #t
+(version "3.0.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/fish-shell/fish-shell/";
+   "releases/download/" version "/"
+   name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga"
 (build-system gnu-build-system)
+(inputs
+ `(("ncurses" ,ncurses)
+   ("groff" ,groff)  ; for 'fish --help'
+   ("pcre2" ,pcre2)  ; don't use the bundled PCRE2
+   ("python" ,python)))  ; for fish_config and manpage completions
 (native-inputs
  `(("doxygen" ,doxygen)))
-(inputs
- `(("bc" ,bc)
-   ("ncurses" ,ncurses)
-   ("groff" ,groff)   ;for 'fish --help'
-   ("pcre2" ,pcre2)   ;don't use the bundled PCRE2
-   ("python" ,python-wrapper)))   ;for fish_config and manpage completions
 (arguments
- '(#:tests? #f ; no check target
-   #:configure-flags '("--sysconfdir=/etc")
+ '(#:tests? #f  ; no check target
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+   (lambda _
+ (substitute* '("build_tools/build_commands_hdr.sh"
+"build_tools/build_user_doc.sh")
+   (("/usr/bin/env") "env"))
+ #t))
  ;; Embed absolute paths to store items.
  (add-after 'unpack 'embed-store-paths
-   (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* '("share/functions/math.fish"
-"share/functions/seq.fish")
-   (("\\| bc")
-(string-append "| " (assoc-ref %build-inputs "bc")
-   "/bin/bc")))
- (substitute* "share/functions/fish_update_completions.fish"
-   (("python") (which "python")))
+   (lambda _
+ (substitute* '("share/functions/__fish_config_interactive.fish"
+"share/functions/fish_config.fish"
+"share/functions/fish_update_completions.fish")
+   ((

bug#27206: Fish: figure out a solution for the vendor path extension to fish

2019-01-06 Thread Meiyo Peng
Hi,

> Fish doesn't pick up stuff like 'fish-guix' from store
> without modifications to the path where fish searches
> for vendor or sysadmin installed systemwide 'things'
> for fish.

I found this old thread after submitting patch #34003.  I think that
patch has probably solved your problem.

I submitted patch #34003 to update fish to 3.0.0.  In that patch, I
enabled fish to add user's and system's profiles to __extra_* variables.
So now fish can load completions and functions from user's and system's
profiles.

$fish_complete_path and $fish_function_path become this on my computer:

#+begin_example
   ~  echo $fish_complete_path | tr ' ' '\n'
  /home/meiyo/.config/fish/completions
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/completions
  /home/meiyo/.guix-profile/etc/fish/completions
  /run/current-system/profile/etc/fish/completions
  /home/meiyo/.guix-profile/share/fish/vendor_completions.d
  /run/current-system/profile/share/fish/vendor_completions.d
  
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_completions.d
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/completions
  /home/meiyo/.local/share/fish/generated_completions

   ~  echo $fish_function_path | tr ' ' '\n'
  /home/meiyo/.config/fish/functions
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/functions
  /home/meiyo/.guix-profile/etc/fish/functions
  /run/current-system/profile/etc/fish/functions
  /home/meiyo/.guix-profile/share/fish/vendor_functions.d
  /run/current-system/profile/share/fish/vendor_functions.d
  
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_functions.d
  /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/functions
#+end_example

We can then install fish completions and functions into either user's or
system's profile.  And fish will happily load them.

For example, youtube-dl provides a fish completion:

#+begin_example
  /gnu/store/3sv0ckhpyrxcssrk21s70klw14dz7x1b-youtube-dl-2018.12.17/etc/fish
  └── completions
  └── youtube-dl.fish
#+end_example

After installing youtube-dl into my user profile, youtube-dl command
completion works in fish:

#+begin_example
   ~  youtube-dl --
  --abort-on-error  (Abort downloading of further videos…)
  --abort-on-unavailable-fragment  (Abort downloading wh…)
  --add-header  (Specify a custom HTTP header and its va…)
  --add-metadata(Write metadata to the video file)
  …and 159 more rows
#+end_example

youtube-dl is now in my user profile:

#+begin_example
  /home/meiyo/.guix-profile/etc/fish/
  └── completions
  └── youtube-dl.fish
#+end_example


> I have many more fish packages in a branch which
> I want to get into guix, but they are stuck because
> of this. Help welcome, otherwise I'll promise to
> fix it one day.

You can share your packages with us now!

--
Meiyo Peng
https://www.pengmeiyu.com/