From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5E6F3158064 for ; Thu, 2 May 2024 17:45:00 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AAC9BE2A2B; Thu, 2 May 2024 17:44:59 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8F1B5E2A2B for ; Thu, 2 May 2024 17:44:59 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 925B2340813 for ; Thu, 2 May 2024 17:44:58 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A2A111979 for ; Thu, 2 May 2024 17:44:56 +0000 (UTC) From: "Florian Schmaus" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Florian Schmaus" Message-ID: <1714671857.8e1f6270338817598e4ce37e7fc1aa3826298970.flow@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/ X-VCS-Repository: repo/gentoo X-VCS-Files: eclass/texlive-module.eclass X-VCS-Directories: eclass/ X-VCS-Committer: flow X-VCS-Committer-Name: Florian Schmaus X-VCS-Revision: 8e1f6270338817598e4ce37e7fc1aa3826298970 X-VCS-Branch: master Date: Thu, 2 May 2024 17:44:56 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e0b5e12d-b468-493b-9141-e9e0a7bdd72d X-Archives-Hash: ac7ba15469db020585b88e4db56e2eae commit: 8e1f6270338817598e4ce37e7fc1aa3826298970 Author: Florian Schmaus gentoo org> AuthorDate: Wed May 1 08:33:44 2024 +0000 Commit: Florian Schmaus gentoo org> CommitDate: Thu May 2 17:44:17 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e1f6270 texlive-module.eclass: install man pages in right location The TeX Live packages under dev-texlive/* currently do not install the man pages in the right location. They are under /usr/share/texmf-dist/doc/man. Install them at the right location using doman. Having dev-texlive/* packages installing man pages requires that we filter man pages already installed by app-text/texlive-core to avoid file collisions. As a consequence, unfortunately, we have to hard code the list of man pages installed by texlive-core. Or, at least, folks from #-tex and myself could not come up with a solution that does not require hard coding that list. Thanks to ulm for providing feedback. Signed-off-by: Florian Schmaus gentoo.org> Thanks-to: Ulrich Müller gentoo.org> eclass/texlive-module.eclass | 187 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass index 401b75bc4d11..da33e25a39dc 100644 --- a/eclass/texlive-module.eclass +++ b/eclass/texlive-module.eclass @@ -359,6 +359,193 @@ texlive-module_src_install() { if [[ -d texmf-doc ]]; then cp -pR texmf-doc "${ED}/usr/share/" || die fi + + if ver_test -ge 2023 && [[ ${CATEGORY} == dev-texlive ]]; then + local texlive_core_man_pages=( + afm2pl.1 + aleph.1 + allcm.1 + allec.1 + allneeded.1 + amstex.1 + autosp.1 + axohelp.1 + bibtex.1 + chkdvifont.1 + chktex.1 + chkweb.1 + ctangle.1 + ctie.1 + ctwill.1 + ctwill-refsort.1 + ctwill-twinx.1 + cweave.1 + cweb.1 + detex.1 + devnag.1 + deweb.1 + disdvi.1 + dt2dv.1 + dv2dt.1 + dvi2fax.1 + dvi2tty.1 + dvibook.1 + dviconcat.1 + dvicopy.1 + dvidvi.1 + dvihp.1 + dvilj.1 + dvilj2p.1 + dvilj4.1 + dvilj4l.1 + dvilj6.1 + dvilualatex-dev.1 + dviluatex.1 + dvipdfm.1 + dvipdfmx.1 + dvipdft.1 + dvipos.1 + dvired.1 + dviselect.1 + dvispc.1 + dvitodvi.1 + dvitomp.1 + dvitype.1 + e2pall.1 + ebb.1 + eptex.1 + euptex.1 + extractbb.1 + fmtutil.1 + fmtutil.cnf.5 + fmtutil-sys.1 + fontinst.1 + gftodvi.1 + gftopk.1 + gftype.1 + gsftopk.1 + hishrink.1 + histretch.1 + hitex.1 + inimf.1 + initex.1 + kpsepath.1 + kpsetool.1 + kpsewhere.1 + kpsexpand.1 + lacheck.1 + latex.1 + latex-dev.1 + luahbtex.1 + luajittex.1 + lualatex-dev.1 + luatex.1 + makeindex.1 + makejvf.1 + mendex.1 + mf.1 + mf-nowin.1 + mft.1 + mkindex.1 + mkocp.1 + mkofm.1 + mktexfmt.1 + mktexlsr.1 + mktexmf.1 + mktexpk.1 + mktextfm.1 + mpost.1 + msxlint.1 + odvicopy.1 + odvitype.1 + ofm2opl.1 + opl2ofm.1 + otangle.1 + otp2ocp.1 + outocp.1 + ovf2ovp.1 + ovp2ovf.1 + patgen.1 + pbibtex.1 + pdfclose.1 + pdfetex.1 + pdflatex.1 + pdflatex-dev.1 + pdfopen.1 + pdftex.1 + pdftosrc.1 + pktogf.1 + pktype.1 + platex-dev.1 + pltotf.1 + pmxab.1 + pooltype.1 + ppltotf.1 + prepmx.1 + ps2frag.1 + pslatex.1 + ptex.1 + ptftopl.1 + rubibtex.1 + rumakeindex.1 + scor2prt.1 + synctex.1 + synctex.5 + tangle.1 + tex.1 + tex2aspc.1 + texconfig.1 + texconfig-sys.1 + texhash.1 + texlinks.1 + texlua.1 + texluac.1 + tftopl.1 + tie.1 + tpic2pdftex.1 + ttf2afm.1 + ttfdump.1 + twill.1 + upbibtex.1 + updmap.1 + updmap.cfg.5 + updmap-sys.1 + uplatex-dev.1 + uppltotf.1 + uptex.1 + uptftopl.1 + vftovp.1 + vlna.1 + vptovf.1 + weave.1 + xdvipdfmx.1 + xelatex-dev.1 + xetex.1 + xml2pmx.1 + ) + local f + local grep_expressions=() + # Transform texlive_core_man_pages into grep expressions + # that will be used to filter out any man page that is + # already installed by app-text/texlive-core. + for f in "${texlive_core_man_pages[@]}"; do + # Ensure that all dots are escaped so that they are + # matched literarily. Also wrap the file in '/' and '$' + # within the expression. + grep_expressions+=(-e "/${f//./\\.}\$") + done + + ebegin "Installing man pages" + find texmf-dist/doc/man -type f -name '*.[0-9n]' -print | + grep -v "${grep_expressions[@]}" | + xargs -d '\n' --no-run-if-empty doman + [[ "${PIPESTATUS[*]}" =~ ^0(" 0")*$ ]] + eend $? || die "error installing man pages" + + # Delete all man pages under texmf-dist/doc/man + find texmf-dist/doc/man -type f -name '*.[0-9n]' -delete || + die "error deleting man pages under texmf-dist" + fi else if [[ -d texmf-dist/doc ]]; then rm -rf texmf-dist/doc || die