diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2024-10-16 23:42:22 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2024-10-16 23:42:47 +0200 |
commit | b9e54083441cc44a52ded149e226f2406c0779f7 (patch) | |
tree | b912e184300a34099e4e4fdeda2c4ea523c221f8 /sci-mathematics | |
parent | sys-apps/lm-sensors: Bump lm-sensors and address open bugs, PR (diff) | |
download | gentoo-b9e54083441cc44a52ded149e226f2406c0779f7.tar.gz gentoo-b9e54083441cc44a52ded149e226f2406c0779f7.tar.bz2 gentoo-b9e54083441cc44a52ded149e226f2406c0779f7.zip |
sci-mathematics/mathematica: for M 10, we also need to preload harfbuzz now
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/mathematica/mathematica-10.3.1-r2.ebuild | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/sci-mathematics/mathematica/mathematica-10.3.1-r2.ebuild b/sci-mathematics/mathematica/mathematica-10.3.1-r2.ebuild new file mode 100644 index 000000000000..510ff88f5a6e --- /dev/null +++ b/sci-mathematics/mathematica/mathematica-10.3.1-r2.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop multilib xdg + +DESCRIPTION="Wolfram Mathematica" +SRC_URI="Mathematica_${PV}_LINUX.sh" +HOMEPAGE="https://www.wolfram.com/mathematica/" + +LICENSE="all-rights-reserved" +KEYWORDS="-* ~amd64" +SLOT="0" +IUSE="+doc" + +RESTRICT="strip mirror bindist fetch" + +DEPEND="" + +# Mathematica comes with a lot of bundled stuff. We should place here only what we +# explicitly override with LD_PRELOAD. +RDEPEND=" + media-libs/freetype + media-libs/harfbuzz +" + +# we need this a few times +MPN="Mathematica" +MPV=$(ver_cut 1-2) +M_BINARIES="MathKernel Mathematica MathematicaScript WolframKernel WolframScript math mathematica mcc wolfram" +M_TARGET="opt/Wolfram/${MPN}/${MPV}" + +# we might as well list all files in all QA variables... +QA_PREBUILT="opt/*" + +S=${WORKDIR} + +src_unpack() { + /bin/sh "${DISTDIR}/${A}" --nox11 --confirm -- -auto "-targetdir=${S}/${M_TARGET}" "-execdir=${S}/opt/bin" || die +} + +src_install() { + local ARCH='-x86-64' + + einfo 'Removing MacOS- and Windows-specific files' + find AddOns SystemFiles -type d -\( -name Windows -o -name Windows-x86-64 \ + -o -name MacOSX -o -name MacOSX-x86-64 -\) -delete + + if ! use doc; then + einfo "Removing documentation" + rm -r "${S}/${M_TARGET}/Documentation" + fi + + # move all over + mv "${S}"/opt "${D}"/opt || die + + # the autogenerated symlinks point into sandbox, remove + rm "${D}"/opt/bin/* || die + + # install wrappers instead + for name in ${M_BINARIES} ; do + einfo "Generating wrapper for ${name}" + echo '#!/bin/sh' >> "${T}/${name}" + echo "LD_PRELOAD=/usr/$(get_libdir)/libharfbuzz.so.0:/usr/$(get_libdir)/libfreetype.so.6:/$(get_libdir)/libz.so.1 /${M_TARGET}/Executables/${name} \$*" \ + >> "${T}/${name}" + dobin "${T}/${name}" + done + for name in ${M_BINARIES} ; do + einfo "Symlinking ${name} to /opt/bin" + dosym ../../usr/bin/${name} /opt/bin/${name} + done + + # fix some embedded paths and install desktop files + for filename in $(find "${D}/${M_TARGET}/SystemFiles/Installation" -name "wolfram-mathematica.desktop") ; do + echo Fixing "${filename}" + sed -e "s:${S}::g" -e 's:^\t\t::g' -i "${filename}" + echo "Categories=Physics;Science;Engineering;2DGraphics;Graphics;" >> "${filename}" + domenu "${filename}" + done + + # install mime types + insinto /usr/share/mime/application + for filename in $(find "${D}/${M_TARGET}/SystemFiles/Installation" -name "application-*.xml"); do + basefilename=$(basename "${filename}") + mv "${filename}" "${T}/${basefilename#application-}" + doins "${T}/${basefilename#application-}" + done +} + +pkg_nofetch() { + einfo "Please place the Wolfram Mathematica installation file ${SRC_URI}" + einfo "in your \$\{DISTDIR\}." + einfo "Note that to actually run and use Mathematica you need a valid license." + einfo "Wolfram provides time-limited evaluation licenses at ${HOMEPAGE}" +} |