From 5c42e4a4d6187a3f49cd2008e84ec515291978de Mon Sep 17 00:00:00 2001 From: Martin Väth Date: Sat, 25 Apr 2020 12:26:11 +0200 Subject: sys-apps/man virtual/man: Add upate of version removed from gentoo repository MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Väth --- metadata/pkg_desc_index | 2 + profiles/use.local.desc | 1 + sys-apps/man/Manifest | 1 + sys-apps/man/files/makewhatis.cron | 5 + sys-apps/man/files/man-1.5m2-apropos.patch | 16 +++ sys-apps/man/files/man-1.6-cross-compile.patch | 61 +++++++++ .../files/man-1.6c-cut-duplicate-manpaths.patch | 83 +++++++++++ sys-apps/man/files/man-1.6e-headers.patch | 13 ++ .../man-1.6f-makewhatis-compression-cleanup.patch | 69 ++++++++++ .../files/man-1.6f-man2html-compression-2.patch | 61 +++++++++ sys-apps/man/files/man-1.6f-parallel-build.patch | 78 +++++++++++ sys-apps/man/files/man-1.6f-so-search-2.patch | 34 +++++ sys-apps/man/files/man-1.6f-unicode.patch | 28 ++++ sys-apps/man/files/man-1.6g-compress.patch | 17 +++ sys-apps/man/files/man-1.6g-echo-escape.patch | 15 ++ sys-apps/man/files/man-1.6g-fbsd.patch | 15 ++ sys-apps/man/files/man-1.6g-xz.patch | 53 +++++++ sys-apps/man/man-1.6g-r1.ebuild | 152 +++++++++++++++++++++ sys-apps/man/metadata.xml | 11 ++ virtual/man/man-0-r3.ebuild | 18 +++ virtual/man/metadata.xml | 8 ++ 21 files changed, 741 insertions(+) create mode 100644 sys-apps/man/Manifest create mode 100644 sys-apps/man/files/makewhatis.cron create mode 100644 sys-apps/man/files/man-1.5m2-apropos.patch create mode 100644 sys-apps/man/files/man-1.6-cross-compile.patch create mode 100644 sys-apps/man/files/man-1.6c-cut-duplicate-manpaths.patch create mode 100644 sys-apps/man/files/man-1.6e-headers.patch create mode 100644 sys-apps/man/files/man-1.6f-makewhatis-compression-cleanup.patch create mode 100644 sys-apps/man/files/man-1.6f-man2html-compression-2.patch create mode 100644 sys-apps/man/files/man-1.6f-parallel-build.patch create mode 100644 sys-apps/man/files/man-1.6f-so-search-2.patch create mode 100644 sys-apps/man/files/man-1.6f-unicode.patch create mode 100644 sys-apps/man/files/man-1.6g-compress.patch create mode 100644 sys-apps/man/files/man-1.6g-echo-escape.patch create mode 100644 sys-apps/man/files/man-1.6g-fbsd.patch create mode 100644 sys-apps/man/files/man-1.6g-xz.patch create mode 100644 sys-apps/man/man-1.6g-r1.ebuild create mode 100644 sys-apps/man/metadata.xml create mode 100644 virtual/man/man-0-r3.ebuild create mode 100644 virtual/man/metadata.xml diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index ddbae2d9..ef4b6db1 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -100,6 +100,7 @@ sci-mathematics/genius 1.0.21: Genius Mathematics Tool and the GEL Language sci-mathematics/reduce 20141130-r2 20190413: A general-purpose computer algebra system sys-apps/cpi 3.1: A wrapper for cp -i -a, making use of diff sys-apps/less 556: Excellent text file viewer, optionally with additional selection feature +sys-apps/man 1.6g-r1: Standard commands to read man pages sys-apps/openrc-wrapper 2.3-r2: Use openrc init scripts with systemd or other init systems sys-apps/paxopen 1.2: A wrapper script to set PAX kernel variables to an insecure/safe state sys-apps/schedule 8.0-r1: script to schedule jobs in a multiuser multitasking environment @@ -116,6 +117,7 @@ sys-kernel/kccmp 0.3-r1: A simple tool for comparing two linux kernel .config fi sys-kernel/kernel 5.0: A POSIX shell script to compile the kernel with user permissions virtual/cdrtools 1: Virtual for command-line recorders cdrtools and cdrkit virtual/freedesktop-icon-theme 0-r3: A virtual to choose between different icon themes +virtual/man 0-r3: Virtual for man www-plugins/bookmark-dupes 6.4: Firefox webextension: remove duplicate bookmarks/empty folders/descriptions www-plugins/calc-extension 5.3: Firefox webextension: calculate values of mathematical expressions www-plugins/canvasblocker 0.5.5: Firefox webextension: block canvas API to prevent canvas fingerprinting diff --git a/profiles/use.local.desc b/profiles/use.local.desc index 20a5e10c..85efb73a 100644 --- a/profiles/use.local.desc +++ b/profiles/use.local.desc @@ -196,6 +196,7 @@ sys-apps/less:less-select - Add the less-select feature (additional options and sys-apps/less:lesspipe - Default to lesspipe.sh from app-text/lesspipe instead of the gentoo specific lesspipe. sys-apps/less:original-gentoo - Use the gentoo default for the LESS variable. sys-apps/less:source - Install sources for keybindings (only useful with less-select). +sys-apps/man:cache - Use cache directory. Superfluous on modern machines sys-block/parted:debug - Enable debugging as encouraged by upstream: [The default configuration] includes --enable-debug (by default), which contains many assertions. Obviously, these "waste" space, but in the past, they have caught potentially dangerous bugs before they would have done damage, so we think it's worth it. Also, it means we get more bug reports ;) sys-block/parted:device-mapper - Enable device-mapper support from sys-fs/lvm2 in parted sys-block/parted:standalone - Install a standalone version which provides all headers and binaries which collide with sys-block/parted:0. If this flag is not set, sys-block/parted:0 is pulled in to provide the non-installed headers and binaries. diff --git a/sys-apps/man/Manifest b/sys-apps/man/Manifest new file mode 100644 index 00000000..880c77b2 --- /dev/null +++ b/sys-apps/man/Manifest @@ -0,0 +1 @@ +DIST man-1.6g.tar.gz 256906 SHA512 c786fa2201aed92293e5590dc3ad5d550cf14e5059fa274ef7719af86ee4c892e747576495b6dc0a09286e73e2f0f0caf860216e0c8032d9ef13e5d26853048b diff --git a/sys-apps/man/files/makewhatis.cron b/sys-apps/man/files/makewhatis.cron new file mode 100644 index 00000000..bef5ea6d --- /dev/null +++ b/sys-apps/man/files/makewhatis.cron @@ -0,0 +1,5 @@ +#!/bin/sh +# this is part of the man package +# it updates the search database for manpages + +exec nice makewhatis -u diff --git a/sys-apps/man/files/man-1.5m2-apropos.patch b/sys-apps/man/files/man-1.5m2-apropos.patch new file mode 100644 index 00000000..9735a533 --- /dev/null +++ b/sys-apps/man/files/man-1.5m2-apropos.patch @@ -0,0 +1,16 @@ +Ripped from Fedora + +--- man-1.5m2/src/apropos.sh ++++ man-1.5m2/src/apropos.sh +@@ -19,9 +19,9 @@ + + # When man pages in your favorite locale look to grep like binary files + # (and you use GNU grep) you may want to add the 'a' option to *grepopt1. +-aproposgrepopt1='i' ++aproposgrepopt1='ai' + aproposgrepopt2='' +-whatisgrepopt1='iw' ++whatisgrepopt1='aiw' + whatisgrepopt2='^' + grepopt1=$%apropos_or_whatis%grepopt1 + grepopt2=$%apropos_or_whatis%grepopt2 diff --git a/sys-apps/man/files/man-1.6-cross-compile.patch b/sys-apps/man/files/man-1.6-cross-compile.patch new file mode 100644 index 00000000..18423691 --- /dev/null +++ b/sys-apps/man/files/man-1.6-cross-compile.patch @@ -0,0 +1,61 @@ +Fix up to work with cross-compiling ... most of these tests only +need to see if the example compiled, not whether it runs ... + +--- configure ++++ configure +@@ -232,15 +232,13 @@ + + echo checking for POSIX.1 header files + echo "#include +-main() { + #ifdef _POSIX_VERSION +-exit(0); ++main() { exit(0); } + #else +-exit(1); +-#endif +-}" > conftest.c ++# error no _POSIX_VERSION ++#endif" > conftest.c + eval $compile +-if test -s conftest && ./conftest 2>/dev/null; then ++if test -s conftest ; then + DEFS="$DEFS -DPOSIX" + fi + rm -f conftest conftest.c +@@ -249,7 +247,7 @@ + echo "#include + main() { exit(0); rindex(0, 0); bzero(0, 0); }" > conftest.c + eval $compile +-if test -s conftest && ./conftest 2>/dev/null; then : ++if test -s conftest ; then : + else DEFS="$DEFS -DUSG" + fi + rm -f conftest conftest.c +@@ -258,7 +256,7 @@ + echo '#include + main() { uid_t x; exit(0); }' > conftest.c + eval $compile +-if test -s conftest && ./conftest 2>/dev/null; then : ++if test -s conftest ; then : + else + uid_t=`awk '/pw_uid;/ {print $1}' $INCLUDEDIR/pwd.h` + DEFS="$DEFS -Duid_t=${uid_t} -Dgid_t=${uid_t}" +@@ -291,7 +289,7 @@ + #endif + main() { char *p = (char *) alloca(1); exit(0); }' > conftest.c + eval $compile +-if test -s conftest && ./conftest 2>/dev/null; then : ++if test -s conftest ; then : + elif test -d /usr/ucblib; then LIBS="$LIBS -L/usr/ucblib -lucb" + elif test -f /usr/lib/libPW.a; then LIBS="$LIBS -lPW" + else DEFS="$DEFS -DALLOCA_MISSING" +@@ -321,7 +319,7 @@ + struct option long_opts[] = { { "", no_argument, NULL, 0 } }; + main() { exit(0); }' > conftest.c + eval $compile +-if test -s conftest && ./conftest 2>/dev/null; then ++if test -s conftest ; then + manpathoption="--path" + else + manpathoption="-w" diff --git a/sys-apps/man/files/man-1.6c-cut-duplicate-manpaths.patch b/sys-apps/man/files/man-1.6c-cut-duplicate-manpaths.patch new file mode 100644 index 00000000..9ecaeb70 --- /dev/null +++ b/sys-apps/man/files/man-1.6c-cut-duplicate-manpaths.patch @@ -0,0 +1,83 @@ +http://bugs.gentoo.org/90186 + +If we have entries in MANPATH that are really symlinks to other entries, +then many man functions will yield duplicate entries. + +Without this patch, we see this behavior: +$ echo $MANPATH +/usr/share/man:/usr/man +$ man --path +/usr/share/man:/usr/man +$ ls -ld /usr/share/man /usr/man +lrwxrwxrwx 1 /usr/man -> /usr/share/man +drwxr-xr-x 36 /usr/share/man +$ man -k passwd +passwd (1) - change user password +passwd (1) - change user password + +With this patch, we get: +$ echo $MANPATH +/usr/share/man:/usr/man +$ man --path +/usr/share/man +$ ls -ld /usr/share/man /usr/man +lrwxrwxrwx 1 /usr/man -> /usr/share/man +drwxr-xr-x 36 /usr/share/man +$ man -k passwd +passwd (1) - change user password + +--- man-1.6c/src/manpath.c ++++ man-1.6c/src/manpath.c +@@ -380,6 +380,44 @@ + } + } + ++void trim_symlinked_manpaths (void); ++void ++trim_symlinked_manpaths () { ++ /* ++ * Skip symlinks to other entries in path. ++ * Do this after we've built the entire list. ++ */ ++ struct stat *stat_cache; ++ size_t i, j, size; ++ ++ if (!mandirlist) ++ return; ++ ++ for (size = 0; mandirlist[size]; ++size) ++ /* count # of elements */; ++ if (size == 0) ++ return; ++ /* cache stat information for every element */ ++ stat_cache = (struct stat *) my_malloc (size * sizeof(*stat_cache)); ++ for (i = 0; i < size; ++i) ++ stat(mandirlist[i], &stat_cache[i]); ++ ++#define EQU_STAT(s,d) ((s).st_dev == (d).st_dev && (s).st_ino == (d).st_ino) ++ for (i = 0; i < size; ++i) { ++ for (j = i+1; j < size; ++j) { ++ if (EQU_STAT(stat_cache[i], stat_cache[j])) { ++ /* these two entries are the same, so cut out the second one */ ++ memmove(mandirlist+j, mandirlist+j+1, (size-j)*sizeof(*mandirlist)); ++ memmove(stat_cache+j, stat_cache+j+1, (size-j)*sizeof(*stat_cache)); ++ mandirlist[--size] = NULL; ++ --j; ++ } ++ } ++ } ++ ++ free(stat_cache); ++} ++ + void + init_manpath () { + static int done = 0; +@@ -391,6 +431,7 @@ + (manp = getenv ("MANPATH")) == NULL) + manp = ""; /* default path */ + split (manp, to_mandirlist, 0); ++ trim_symlinked_manpaths (); + done = 1; + } + } diff --git a/sys-apps/man/files/man-1.6e-headers.patch b/sys-apps/man/files/man-1.6e-headers.patch new file mode 100644 index 00000000..9c6fd6f4 --- /dev/null +++ b/sys-apps/man/files/man-1.6e-headers.patch @@ -0,0 +1,13 @@ +--- gencat/genlib.c ++++ gencat/genlib.c +@@ -49,10 +49,8 @@ + + #include + #include +-#ifdef SYSV + #include + #include +-#endif + + #if !defined(__linux__) && !defined(__FreeBSD__) + #include diff --git a/sys-apps/man/files/man-1.6f-makewhatis-compression-cleanup.patch b/sys-apps/man/files/man-1.6f-makewhatis-compression-cleanup.patch new file mode 100644 index 00000000..a7d74c32 --- /dev/null +++ b/sys-apps/man/files/man-1.6f-makewhatis-compression-cleanup.patch @@ -0,0 +1,69 @@ +http://bugs.gentoo.org/331979 + +patch by William Throwe + +The problem is that a failed match() resets the RSTART variable used to +extract filename_no_gz (visible in the trailing context of the patch), +so it is important that no more match() commands are attempted after the +successful one. Without the scoping, if (for example) the test for .bz2 +succeeds, it prevents testing for .lzma, but doesn't prevent testing for +.xz. The failing .xz test causes RSTART to be set to zero so +filename_no_gz becomes the empty string. + +--- man-1.6f/src/makewhatis.sh ++++ man-1.6f/src/makewhatis.sh +@@ -234,7 +234,7 @@ + find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | $AWK ' + + function readline() { +- if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { ++ if (use_compression) { + result = (pipe_cmd | getline); + if (result < 0) { + print "Pipe error: " pipe_cmd " " ERRNO > "/dev/stderr"; +@@ -249,7 +249,7 @@ + } + + function closeline() { +- if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { ++ if (use_compression) { + return close(pipe_cmd); + } else { + return close(filename); +@@ -263,16 +263,20 @@ + if (verbose) { + print "adding " filename > "/dev/stderr" + } +- ++ + use_zcat = match(filename,"\\.Z$") || + match(filename,"\\.z$") || match(filename,"\\.gz$"); +- if (!use_zcat) ++ if (!use_zcat) { + use_bzcat = match(filename,"\\.bz2"); +- if(!use_bzcat) +- use_lzcat = match(filename,"\\.lzma"); +- if(!use_lzcat) +- use_xzcat = match(filename,"\\.xz"); +- if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { ++ if (!use_bzcat) { ++ use_lzcat = match(filename,"\\.lzma"); ++ if (!use_lzcat) { ++ use_xzcat = match(filename,"\\.xz"); ++ } ++ } ++ } ++ use_compression = (use_zcat || use_bzcat || use_lzcat || use_xzcat); ++ if (use_compression) { + filename_no_gz = substr(filename, 0, RSTART - 1); + } else { + filename_no_gz = filename; +@@ -285,7 +289,7 @@ + actual_section = section; + } + sub(/\..*/, "", progname); +- if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { ++ if (use_compression) { + if (use_zcat) { + pipe_cmd = "zcat \"" filename "\""; + } else if (use_bzcat) { diff --git a/sys-apps/man/files/man-1.6f-man2html-compression-2.patch b/sys-apps/man/files/man-1.6f-man2html-compression-2.patch new file mode 100644 index 00000000..b79b3a18 --- /dev/null +++ b/sys-apps/man/files/man-1.6f-man2html-compression-2.patch @@ -0,0 +1,61 @@ +add support for bzip2/lzma to man2html and friends + +--- man2html/glimpse_filters ++++ man2html/glimpse_filters +@@ -1,3 +1,6 @@ ++*.bz2 bzip2 -d -c ++*.lzma lzma -d -c ++*.xz xz -d -c + *.gz gzip -d -c + *.Z gzip -d -c + +--- man2html/scripts/cgi-bin/man/man2html ++++ man2html/scripts/cgi-bin/man/man2html +@@ -93,6 +93,12 @@ + *.bz2) + bzcat "$PAGE" | "$MAN2HTML" "$LL" -D "$PAGE" + ;; ++ *.lzma) ++ lzcat "$PAGE" | "$MAN2HTML" "$LL" -D "$PAGE" ++ ;; ++ *.xz) ++ xzcat "$PAGE" | "$MAN2HTML" "$LL" -D "$PAGE" ++ ;; + *) + "$MAN2HTML" "$LL" "$PAGE" + ;; +@@ -103,6 +106,12 @@ + elif [ -r "$PAGE".bz2 ] + then + bzcat "$PAGE".bz2 | "$MAN2HTML" "$LL" -D "$PAGE" ++elif [ -r "$PAGE".lzma ] ++then ++ lzcat "$PAGE".lzma | "$MAN2HTML" "$LL" -D "$PAGE" ++elif [ -r "$PAGE".xz ] ++then ++ xzcat "$PAGE".xz | "$MAN2HTML" "$LL" -D "$PAGE" + else + "$MAN2HTML" -E "Strange... Cannot find (or read) $PAGE." + fi +--- man2html/scripts/cgi-bin/man/mansearch ++++ man2html/scripts/cgi-bin/man/mansearch +@@ -153,7 +153,7 @@ + } + print "
"; + textname = filename; +- sub(/\.(gz)|Z|z$/, "", textname); ++ sub(/\.([zZ]|gz|bz2|lzma|xz)$/, "", textname); + sub(/\./, "(", textname); + textname = textname ")"; + print textname; +--- man2html/scripts/cgi-bin/man/mansec ++++ man2html/scripts/cgi-bin/man/mansec +@@ -128,7 +128,7 @@ + # Print out alphabetic quick index and other links + } + # Split page.n into "page" and "n" and generate an entry +- sub(/[.]([zZ]|(gz))$/, "", manpage); ++ sub(/[.]([zZ]|gz|bz2|lzma|xz)$/, "", manpage); + match(manpage, /[.][^.]+$/); + title = substr(manpage, 1, RSTART - 1); + if (section != "all") { diff --git a/sys-apps/man/files/man-1.6f-parallel-build.patch b/sys-apps/man/files/man-1.6f-parallel-build.patch new file mode 100644 index 00000000..41918d92 --- /dev/null +++ b/sys-apps/man/files/man-1.6f-parallel-build.patch @@ -0,0 +1,78 @@ +http://bugs.gentoo.org/207148 + +patch by Kevin Pyle to fix parallel build issues + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -42,9 +42,12 @@ + makemsg: + $(BUILD_CC) -o makemsg makemsg.c + +-msg.c gripedefs.h: ../msgs/mess.en makemsg ++gripedefs.h: ../msgs/mess.en makemsg + ./makemsg ../msgs/mess.en gripedefs.h msg.c + ++# avoid parallel build issues with makemsg ++msg.c: gripedefs.h ++ + # glob.c does not have prototypes + glob.o: glob.c ndir.h + $(CC) -c $(CWARNNP) $(CFLAGS) -I. $(DEFS) glob.c + +http://bugs.gentoo.org/258916 + +avoid: + make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. + +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -3,7 +3,7 @@ + MAN5 = man.conf + MAN8 = makewhatis + ALL = man.1 whatis.1 apropos.1 man.conf.5 +-MAYBE8 = makewhatis ++MAYBE8 = $(wildcard makewhatis.man) + + .SUFFIXES: .man .1 .5 .8 + +@@ -21,9 +21,7 @@ + # Where to put the manual pages. + mandir = $(DESTDIR)$(PREFIX)@mandir@$(SLANG) + +-all: $(ALL) +- for i in $(MAYBE8); \ +- do if test -f $$i.man; then make -f ../Makefile $$i.8; fi; done ++all: $(ALL) $(MAYBE8:.man=.8) + + install: $(ALL) + mkdir -p $(mandir)/man1 $(mandir)/man5 $(mandir)/man8 +@@ -39,18 +37,17 @@ + + spotless: + +-subdirs: +- @for i in @languages@; do if test -d $$i; then echo; \ +- echo "==== Making the `cat $$i.txt` man pages. ===="; \ +- cd $$i; make -f ../Makefile; cd ..; \ +- else echo "==== No $$i man pages found. ===="; fi; done +- +-installsubdirs: +- @for i in @languages@; do if test -d $$i; then echo; \ +- echo "==== Installing the `cat $$i.txt` man pages. ===="; \ +- cd $$i; SLANG=/$$i; if test $$SLANG = /en; then SLANG= ; fi; \ +- export SLANG; make -f ../Makefile install; cd ..; \ +- else echo "==== No $$i man pages found. ===="; fi; done ++MAN_LANGS = $(wildcard @languages@) ++subdirs: $(MAN_LANGS:=_lang_subdir) ++%_lang_subdir: ++ @echo "==== Making the `cat $(@:_lang_subdir=).txt` man pages. ====" ++ $(MAKE) -f ../Makefile -C $(@:_lang_subdir=) ++ ++installsubdirs: $(MAN_LANGS:=_lang_installsubdir) ++%_lang_installsubdir: ++ @echo "==== Making the `cat $(@:_lang_installsubdir=).txt` man pages. ====" ++ $(MAKE) -f ../Makefile -C $(@:_lang_installsubdir=) install \ ++ SLANG=`s=$(@:_lang_installsubdir=); test $$s = en || echo /$$s` + + cleansubdirs: + @for i in ??; do cd $$i; make -f ../Makefile clean; cd ..; done diff --git a/sys-apps/man/files/man-1.6f-so-search-2.patch b/sys-apps/man/files/man-1.6f-so-search-2.patch new file mode 100644 index 00000000..ac42c8df --- /dev/null +++ b/sys-apps/man/files/man-1.6f-so-search-2.patch @@ -0,0 +1,34 @@ +improve the uncompressed .so search + +--- a/src/man.c ++++ b/src/man.c +@@ -381,13 +381,23 @@ again: + } + /* + * Some people have compressed man pages, but uncompressed +- * .so files - we could glob for all possible extensions, +- * for now: only try .gz ++ * .so files - we should discover this list dynamically, but ++ * for now just hardcode it. + */ +- else if (fp == NULL && get_expander(".gz") && +- strlen(name)+strlen(".gz") < BUFSIZE) { +- strcat(name, ".gz"); +- fp = fopen (name, "r"); ++ else if (fp == NULL) { ++#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a))) ++ size_t i, name_len = strlen(name); ++ const char *extensions[] = { ".gz", ".bz2", ".lzma", ".xz", ".z", ".Z" }; ++ for (i = 0; i < ARRAY_SIZE(extensions); ++i) { ++ const char *comp = extensions[i]; ++ name[name_len] = '\0'; ++ if (get_expander(comp) && name_len+strlen(comp) < BUFSIZE) { ++ strcat(name, comp); ++ fp = fopen(name, "r"); ++ if (fp) ++ break; ++ } ++ } + } + + if (fp == NULL) { diff --git a/sys-apps/man/files/man-1.6f-unicode.patch b/sys-apps/man/files/man-1.6f-unicode.patch new file mode 100644 index 00000000..89d3821d --- /dev/null +++ b/sys-apps/man/files/man-1.6f-unicode.patch @@ -0,0 +1,28 @@ +let the active locale work its magic + +http://bugs.gentoo.org/146315 + +--- man-1.6f/configure ++++ man-1.6f/configure +@@ -473,9 +473,9 @@ + then + if test $Fnroff = "missing" + then +- nroff="nroff -Tlatin1 -mandoc" ++ nroff="nroff -Tascii -c -mandoc" + else +- nroff="$Fnroff -Tlatin1 -mandoc" ++ nroff="$Fnroff -mandoc" + fi + troff="troff -mandoc" + echo "Warning: could not find groff" +@@ -484,7 +484,7 @@ + then + nroff="$Fgroff -Tlatin1 -mandoc" + else +- nroff="$Fnroff -Tlatin1 -mandoc" ++ nroff="$Fnroff -mandoc" + fi + troff="$Fgroff -Tps -mandoc" + jnroff="$Fgroff -Tnippon -mandocj" + diff --git a/sys-apps/man/files/man-1.6g-compress.patch b/sys-apps/man/files/man-1.6g-compress.patch new file mode 100644 index 00000000..374d8073 --- /dev/null +++ b/sys-apps/man/files/man-1.6g-compress.patch @@ -0,0 +1,17 @@ +allow selection of default cache compressor + +http://bugs.gentoo.org/205147 + +--- configure ++++ configure +@@ -1012,6 +1012,10 @@ + done + done + ++ if [ x$COMPRESS != x ]; then ++ compress=$COMPRESS ++ fi ++ + if [ x$default = x ]; then + echo "" + echo "What program should be used to compress the formatted pages?" diff --git a/sys-apps/man/files/man-1.6g-echo-escape.patch b/sys-apps/man/files/man-1.6g-echo-escape.patch new file mode 100644 index 00000000..96e950a5 --- /dev/null +++ b/sys-apps/man/files/man-1.6g-echo-escape.patch @@ -0,0 +1,15 @@ +avoid using escape sequences in echo as they're not portable + +https://bugs.gentoo.org/523874 + +--- a/src/man.c ++++ b/src/man.c +@@ -626,7 +626,7 @@ make_roff_command (const char *path, const char *file) { + the current position plus 10 lines. This plus setpl() + gives us a single page that just contains the whole + man page. (William Webber, wew@cs.rmit.edu.au) */ +- strcat(buft, "; echo \".\\\\\\\"\"; echo \".pl \\n(nlu+10\""); ++ strcat(buft, "; echo \".\\\\\\\"\"; echo \".pl \"; echo \"(nlu+10\""); + #if 0 + /* In case this doesnt work for some reason, + michaelkjohnson suggests: I've got a simple diff --git a/sys-apps/man/files/man-1.6g-fbsd.patch b/sys-apps/man/files/man-1.6g-fbsd.patch new file mode 100644 index 00000000..ef01a6e0 --- /dev/null +++ b/sys-apps/man/files/man-1.6g-fbsd.patch @@ -0,0 +1,15 @@ +Fixes compilation in FreeBSD + +http://bugs.gentoo.org/138123 + +--- man-1.6g/gencat/genlib.c ++++ man-1.6g/gencat/genlib.c +@@ -54,7 +54,7 @@ + #include + #endif + +-#if !defined(__linux__) && !defined(__CYGWIN__) ++#if !defined(__linux__) && !defined(__CYGWIN__) && !defined(__FreeBSD__) + #include + static int bcopy(src, dst, length) + char *src, *dst; diff --git a/sys-apps/man/files/man-1.6g-xz.patch b/sys-apps/man/files/man-1.6g-xz.patch new file mode 100644 index 00000000..fcf91f71 --- /dev/null +++ b/sys-apps/man/files/man-1.6g-xz.patch @@ -0,0 +1,53 @@ +add support for xz + +http://bugs.gentoo.org/302380 + +--- a/src/makewhatis.sh ++++ b/src/makewhatis.sh +@@ -230,7 +230,7 @@ + find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | $AWK ' + + function readline() { +- if (use_zcat || use_bzcat || use_lzcat) { ++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { + result = (pipe_cmd | getline); + if (result < 0) { + print "Pipe error: " pipe_cmd " " ERRNO > "/dev/stderr"; +@@ -245,7 +245,7 @@ + } + + function closeline() { +- if (use_zcat || use_bzcat || use_lzcat) { ++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { + return close(pipe_cmd); + } else { + return close(filename); +@@ -266,7 +266,9 @@ + use_bzcat = match(filename,"\\.bz2"); + if(!use_bzcat) + use_lzcat = match(filename,"\\.lzma"); +- if (use_zcat || use_bzcat || use_lzcat ) { ++ if(!use_lzcat) ++ use_xzcat = match(filename,"\\.xz"); ++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { + filename_no_gz = substr(filename, 0, RSTART - 1); + } else { + filename_no_gz = filename; +@@ -279,13 +281,15 @@ + actual_section = section; + } + sub(/\..*/, "", progname); +- if (use_zcat || use_bzcat || use_lzcat) { ++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) { + if (use_zcat) { + pipe_cmd = "zcat \"" filename "\""; + } else if (use_bzcat) { + pipe_cmd = "bzcat \"" filename "\""; +- } else { ++ } else if (use_lzcat) { + pipe_cmd = "lzcat \"" filename "\""; ++ } else { ++ pipe_cmd = "xzcat \"" filename "\""; + } + # try to avoid suspicious stuff + if (filename ~ /[;&|`$(]/) { diff --git a/sys-apps/man/man-1.6g-r1.ebuild b/sys-apps/man/man-1.6g-r1.ebuild new file mode 100644 index 00000000..ef5fe5e7 --- /dev/null +++ b/sys-apps/man/man-1.6g-r1.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2020 Martin V\"ath and Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eutils prefix toolchain-funcs user + +DESCRIPTION="Standard commands to read man pages" +HOMEPAGE="http://primates.ximian.com/~flucifredi/man/" +SRC_URI="http://primates.ximian.com/~flucifredi/man/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd" +IUSE="cache +lzma nls selinux" + +DEPEND="nls? ( sys-devel/gettext )" +RDEPEND=">=sys-apps/groff-1.19.2-r1 + !sys-apps/man-db + ! + + + + martin@mvath.de + Martin Väth + + +Use cache directory. Superfluous on modern machines + + diff --git a/virtual/man/man-0-r3.ebuild b/virtual/man/man-0-r3.ebuild new file mode 100644 index 00000000..de8ed011 --- /dev/null +++ b/virtual/man/man-0-r3.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Virtual for man" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +HOMEPAGE= +SRC_URI= +LICENSE= +IUSE= + +RDEPEND=" + || ( + sys-apps/man + sys-apps/man-db + )" diff --git a/virtual/man/metadata.xml b/virtual/man/metadata.xml new file mode 100644 index 00000000..56c12441 --- /dev/null +++ b/virtual/man/metadata.xml @@ -0,0 +1,8 @@ + + + + + base-system@gentoo.org + Gentoo Base System + + -- cgit v1.2.3-65-gdbad