gnu: erlang: Fix man-pages search path of 'erl -man'.

* gnu/packages/patches/erlang-man-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/erlang.scm (erlang)[source]: Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Peter Mikkelsen 2017-07-29 17:06:55 +02:00 committed by Ludovic Courtès
parent 53ac6977ac
commit a4078acf4a
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 28 additions and 1 deletions

View File

@ -579,6 +579,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/eudev-conflicting-declaration.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \

View File

@ -23,6 +23,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gl)
@ -45,7 +46,8 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1b47jh549yywyp8fbs8a8j4ydr3zn982navzyqvlms6rg8vwb0pw"))))
"1b47jh549yywyp8fbs8a8j4ydr3zn982navzyqvlms6rg8vwb0pw"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)

View File

@ -0,0 +1,24 @@
Patch originally from https://sources.debian.net/patches/erlang/1:20.0.1%2Bdfsg-2/man.patch/
by Francois-Denis Gonthier <neumann@lostwebsite.net>.
Patch description rewritten for Guix.
This patch allows access to the man page with the 'erl -man' command
(Erlang manual pages are placed to /gnu/store/..erlang../share/man/ hierarchy
as other man pages.)
--- a/erts/etc/common/erlexec.c
+++ b/erts/etc/common/erlexec.c
@@ -709,8 +709,10 @@
error("-man not supported on Windows");
#else
argv[i] = "man";
- erts_snprintf(tmpStr, sizeof(tmpStr), "%s/man", rootdir);
- set_env("MANPATH", tmpStr);
+ /*
+ * Conform to erlang-manpages content.
+ */
+ putenv(strsave("MANSECT=1:3:5:7"));
execvp("man", argv+i);
error("Could not execute the 'man' command.");
#endif