summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorepsilonKNOT <gentoo@aisha.cc>2020-11-28 20:47:52 -0500
committerLars Wendler <polynomial-c@gentoo.org>2020-12-11 13:22:18 +0100
commit21fccd433a95f545ac5407c0f58020bd010a38c6 (patch)
treeab18f6595897a041129d949dccd9d6ba393cdee1 /app-text/mandoc
parentmedia-sound/musescore: removed obsolete patches from live (diff)
downloadgentoo-21fccd433a95f545ac5407c0f58020bd010a38c6.tar.gz
gentoo-21fccd433a95f545ac5407c0f58020bd010a38c6.tar.bz2
gentoo-21fccd433a95f545ac5407c0f58020bd010a38c6.zip
app-text/mandoc: allow mandoc as default man provider
only supports using gzip Add musl patch from Wolfgang Mueller <wolf+gentoo@oriole.systems> Closes: https://bugs.gentoo.org/616776 Package-Manager: Portage-3.0.10, Repoman-3.0.2 Signed-off-by: Aisha Tammy <gentoo@aisha.cc> Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'app-text/mandoc')
-rw-r--r--app-text/mandoc/files/mandoc-1.14.5-r1-www-install.patch19
-rw-r--r--app-text/mandoc/files/mandoc.cron-r06
-rw-r--r--app-text/mandoc/mandoc-1.14.5-r1.ebuild118
-rw-r--r--app-text/mandoc/metadata.xml4
4 files changed, 147 insertions, 0 deletions
diff --git a/app-text/mandoc/files/mandoc-1.14.5-r1-www-install.patch b/app-text/mandoc/files/mandoc-1.14.5-r1-www-install.patch
new file mode 100644
index 000000000000..2395f1ce66b7
--- /dev/null
+++ b/app-text/mandoc/files/mandoc-1.14.5-r1-www-install.patch
@@ -0,0 +1,19 @@
+diff --git a/Makefile b/Makefile
+index f4e2954..191c7e2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -535,9 +535,11 @@ soelim: $(SOELIM_OBJS)
+ # --- maintainer targets ---
+
+ www-install: www
+- $(INSTALL_DATA) mandoc.css $(HTDOCDIR)
+- $(INSTALL_DATA) $(WWW_MANS) $(HTDOCDIR)/man
+- $(INSTALL_DATA) $(WWW_INCS) $(HTDOCDIR)/includes
++ mkdir -p $(DESTDIR)$(HTDOCDIR)/man
++ mkdir -p $(DESTDIR)$(HTDOCDIR)/includes
++ $(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR)
++ $(INSTALL_DATA) $(WWW_MANS) $(DESTDIR)$(HTDOCDIR)/man
++ $(INSTALL_DATA) $(WWW_INCS) $(DESTDIR)$(HTDOCDIR)/includes
+
+ depend: config.h
+ mkdep -f Makefile.depend $(CFLAGS) $(SRCS)
diff --git a/app-text/mandoc/files/mandoc.cron-r0 b/app-text/mandoc/files/mandoc.cron-r0
new file mode 100644
index 000000000000..785564901765
--- /dev/null
+++ b/app-text/mandoc/files/mandoc.cron-r0
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# need MANPATH
+. /etc/profile.env
+
+exec nice makewhatis -T utf8 2>/dev/null
diff --git a/app-text/mandoc/mandoc-1.14.5-r1.ebuild b/app-text/mandoc/mandoc-1.14.5-r1.ebuild
new file mode 100644
index 000000000000..f138ef991ac3
--- /dev/null
+++ b/app-text/mandoc/mandoc-1.14.5-r1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Suite of tools compiling mdoc and man"
+HOMEPAGE="https://mdocml.bsd.lv/"
+SRC_URI="https://mdocml.bsd.lv/snapshots/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="cgi system-man"
+
+RDEPEND="sys-libs/zlib
+ system-man? ( !sys-apps/man-db )
+"
+DEPEND="${RDEPEND}
+ cgi? ( sys-libs/zlib[static-libs] )
+"
+BDEPEND="
+ cgi? ( app-text/highlight )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.14.5-r1-www-install.patch )
+
+pkg_pretend() {
+ if use system-man ; then
+ # only support uncompressed and gzip
+ [[ -n ${PORTAGE_COMPRESS+unset} ]] && \
+ [[ "${PORTAGE_COMPRESS}" == "gzip" || "${PORTAGE_COMPRESS}" == "" ]] || \
+ ewarn "only PORTAGE_COMPRESS=gzip or '' is supported, man pages will not be indexed"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # The db-install change is to support parallel installs.
+ sed -i \
+ -e '/ar rs/s:ar:$(AR):' \
+ -e '/^db-install:/s:$: base-install:' \
+ Makefile || die
+
+ # make-4.3 doesn't like the CC line (bug #706024)
+ # and "echo -n" is not portable
+ sed \
+ -e "s@^\(CC=\).*\$@\1\"$(tc-getCC)\"@" \
+ -e 's@echo -n@printf@g' \
+ -i configure || die
+
+ cat <<-EOF > "configure.local"
+ PREFIX="${EPREFIX}/usr"
+ BINDIR="${EPREFIX}/usr/bin"
+ SBINDIR="${EPREFIX}/usr/sbin"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ INCLUDEDIR="${EPREFIX}/usr/include/mandoc"
+ EXAMPLEDIR="${EPREFIX}/usr/share/examples/mandoc"
+ MANPATH_DEFAULT="${EPREFIX}/usr/man:${EPREFIX}/usr/share/man:${EPREFIX}/usr/local/man:${EPREFIX}/usr/local/share/man"
+
+ CFLAGS="${CFLAGS} ${CPPFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ # The STATIC variable is only used by man.cgi.
+ STATIC=
+
+ # conflicts with sys-apps/groff
+ BINM_SOELIM=msoelim
+ MANM_ROFF=mandoc_roff
+ # conflicts with sys-apps/man-pages
+ MANM_MAN=mandoc_man
+
+ # fix utf-8 locale on musl
+ $(usex elibc_musl UTF8_LOCALE=C.UTF-8 '')
+ EOF
+ use system-man || cat <<-EOF >> "configure.local"
+ BINM_MAN=mman
+ BINM_APROPOS=mapropos
+ BINM_WHATIS=mwhatis
+ BINM_MAKEWHATIS=mmakewhatis
+ MANM_MDOC=mandoc_mdoc
+ MANM_EQN=mandoc_eqn
+ MANM_TBL=mandoc_tbl
+ MANM_MANCONF=mman.conf
+ EOF
+ if use cgi; then
+ cp cgi.h{.example,} || die
+ fi
+ if [[ -n "${MANDOC_CGI_H}" ]]; then
+ cp "${MANDOC_CGI_H}" cgi.h || die
+ fi
+}
+
+src_compile() {
+ default
+ use cgi && emake man.cgi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ use cgi && emake DESTDIR="${D}" cgi-install www-install
+
+ if use system-man ; then
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}"/mandoc.cron-r0 mandoc
+ fi
+}
+
+pkg_postinst() {
+ if use system-man ; then
+ elog "Generating mandoc database"
+ makewhatis || die
+ fi
+}
diff --git a/app-text/mandoc/metadata.xml b/app-text/mandoc/metadata.xml
index aebca33be179..814b35c62403 100644
--- a/app-text/mandoc/metadata.xml
+++ b/app-text/mandoc/metadata.xml
@@ -4,4 +4,8 @@
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
+ <use>
+ <flag name="cgi">build man.cgi web plugin for viewing man pages</flag>
+ <flag name="system-man">set as the default man provider</flag>
+ </use>
</pkgmetadata>