dev-libs/mathjax: include USE=docs as part of the package (2.x)

Do not use a separated app-docs/mathjax-docs. It is impossible to get
correct: the symlink is generated using ${SLOT}, which is totally bogus
as the docs package uses ${PF} and is unknowable. The symlink was very
broken.

In bug 526128, it was stated that there are 2 options for handling docs
as part of a separate tarball:

- remove doc support (and optionally create a separate package)
- make doc support depend on a separate package

It's baffling that the final option of just... having two SRC_URI
files and installing the docs... was totally overlooked.

Fixes: c6e861e430
Bug: https://bugs.gentoo.org/526128
Bug: https://bugs.gentoo.org/867370
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Eli Schwartz
2024-02-14 18:46:25 -05:00
committed by Sam James
parent 3b5964f581
commit d8e93a9fe1
2 changed files with 93 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST mathjax-2.7.7.tar.gz 25347766 BLAKE2B c1f11bc854c95888d7f04ee627094a2e297e7554b0380dab30c08e2c4405495df611b440da0efd1e6456150513e07fa4ef90808d2332f9fb83785c118228de18 SHA512 471bd22475827a13d79de7d335f3e51ace06dfc04f575e8829b4505f428949f1dbe58798635cb434ed02ae0cd3fd8d1d577196b4961365fbcb399cc075d3284f
DIST mathjax-3.2.2.tar.gz 6191341 BLAKE2B 4884ad28ede1d3d6f6647e04c8a69185a53715db673d42935ea9ff3ea1756e0e478b1f19345a35902d2e5c01a312272a2fe96dd36871cd8c4f266bcf4fb56c72 SHA512 4dc80c9e24593c1fcf08f38bad5251025f1de364d5cf24dd2f4cee0d78917dd11187f6132b67a17ff190d0a1862b83eb6c6edf28f91e8e84e50cdf76537f6b20
DIST mathjax-docs-2.7.7.tar.gz 233452 BLAKE2B 280db6c794471d369a17161ad859dc73ddf1494af35114b69356aae41ea52d771f92b0b85ba82df8ed542039af152938f5fda71d752da4410ab183fe6a24ab81 SHA512 25fa97294ae153298d45b449d995c0402c481c6425ea4ebb38dcc509df741aed02d5469a520c8b793b8135b4140a6d1ad6688a42e3cb26004cfd7fcb838c32e6

View File

@@ -0,0 +1,92 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{10..11} pypy3 )
inherit python-any-r1 vcs-clean
DOCS_COMMIT="9d711f40638202b02f2154d7f05ea35088ff9388"
DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
HOMEPAGE="https://www.mathjax.org/"
SRC_URI="
https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz
doc? ( https://github.com/mathjax/MathJax-docs/archive/${DOCS_COMMIT}.tar.gz -> ${PN}-docs-${PV}.tar.gz )
"
S="${WORKDIR}"/MathJax-${PV}
DOCS_S="${WORKDIR}/MathJax-docs-${DOCS_COMMIT}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc examples"
BDEPEND="
doc? (
$(python_gen_any_dep '
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
')
)
"
RDEPEND="!app-doc/mathjax-docs"
RESTRICT="binchecks strip"
make_webconf() {
# web server config file - should we really do this?
cat > $1 <<-EOF
Alias /MathJax/ ${EPREFIX}${webinstalldir}/
Alias /mathjax/ ${EPREFIX}${webinstalldir}/
<Directory ${EPREFIX}${webinstalldir}>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
EOF
}
python_check_deps() {
python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
}
pkg_setup() {
if use doc; then
python-any-r1_pkg_setup
fi
}
src_prepare() {
default
egit_clean
sed -e 's/add_stylesheet/add_css_file/' -i "${DOCS_S}"/conf.py || die
}
src_compile() {
if use doc; then
build_sphinx "${DOCS_S}"
fi
}
src_install() {
local DOCS=( README.md )
default
if use examples; then
insinto /usr/share/${PN}/examples
doins -r test/*
fi
rm -r test docs LICENSE README.md || die
webinstalldir=/usr/share/${PN}
insinto ${webinstalldir}
doins -r *
make_webconf MathJax.conf
insinto /etc/httpd/conf.d
doins MathJax.conf
}