commit: d8e93a9fe1a6a2c04b98590e3526df07018111e8
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Feb 14 23:46:25 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 15 13:50:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8e93a9f
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: c6e861e430f795dd862fe05fed3f93ef2ca298a9
Bug: https://bugs.gentoo.org/526128
Bug: https://bugs.gentoo.org/867370
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-libs/mathjax/Manifest | 1 +
dev-libs/mathjax/mathjax-2.7.7-r1.ebuild | 92 ++++++++++++++++++++++++++++++++
2 files changed, 93 insertions(+)
diff --git a/dev-libs/mathjax/Manifest b/dev-libs/mathjax/Manifest
index 4fcea49fca3c..ee5cd6bb3f8e 100644
--- a/dev-libs/mathjax/Manifest
+++ b/dev-libs/mathjax/Manifest
@@ -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
diff --git a/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
b/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
new file mode 100644
index 000000000000..697367e8af8a
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
@@ -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
+}