3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #9326 from oxij/fix-info

Documentation indexes
This commit is contained in:
Eelco Dolstra 2015-08-19 13:46:47 +02:00
commit a47fef4d9e
3 changed files with 13 additions and 42 deletions

View file

@ -45,6 +45,7 @@ let
pkgs.strace pkgs.strace
pkgs.su pkgs.su
pkgs.time pkgs.time
pkgs.texinfoInteractive
pkgs.utillinux pkgs.utillinux
extraManpages extraManpages
]; ];
@ -105,12 +106,14 @@ in
"/lib" "/lib"
"/man" "/man"
"/sbin" "/sbin"
"/share/doc"
"/share/emacs" "/share/emacs"
"/share/vim-plugins"
"/share/org"
"/share/info" "/share/info"
"/share/terminfo"
"/share/man" "/share/man"
"/share/nano"
"/share/org"
"/share/terminfo"
"/share/vim-plugins"
]; ];
system.path = pkgs.buildEnv { system.path = pkgs.buildEnv {
@ -136,6 +139,13 @@ in
if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then
$out/bin/update-desktop-database $out/share/applications $out/bin/update-desktop-database $out/share/applications
fi fi
if [ -x $out/bin/install-info -a -w $out/share/info ]; then
shopt -s nullglob
for i in $out/share/info/*.info $out/share/info/*.info.gz; do
$out/bin/install-info $i $out/share/info/dir
done
fi
''; '';
}; };

View file

@ -61,7 +61,6 @@
./programs/command-not-found/command-not-found.nix ./programs/command-not-found/command-not-found.nix
./programs/dconf.nix ./programs/dconf.nix
./programs/environment.nix ./programs/environment.nix
./programs/info.nix
./programs/ibus.nix ./programs/ibus.nix
./programs/kbdlight.nix ./programs/kbdlight.nix
./programs/light.nix ./programs/light.nix

View file

@ -1,38 +0,0 @@
{config, pkgs, ...}:
let
texinfo = pkgs.texinfoInteractive;
# Quick hack to make the `info' command work properly. `info' needs
# a "dir" file containing all the installed Info files, which we
# don't have (it would be impure to have a package installation
# update some global "dir" file). So this wrapper script around
# "info" builds a temporary "dir" file on the fly. This is a bit
# slow (on a cold cache) but not unacceptably so.
infoWrapper = pkgs.writeScriptBin "info"
''
#! ${pkgs.stdenv.shell}
dir=$(mktemp --tmpdir -d "info.dir.XXXXXX")
if test -z "$dir"; then exit 1; fi
trap 'rm -rf "$dir"' EXIT
shopt -s nullglob
for i in $(IFS=:; echo $INFOPATH); do
for j in $i/*.info; do
${texinfo}/bin/install-info --quiet $j $dir/dir
done
done
INFOPATH=$dir:$INFOPATH ${texinfo}/bin/info "$@"
''; # */
in
{
environment.systemPackages = [ infoWrapper texinfo ];
}