summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2024-10-16 23:42:22 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2024-10-16 23:42:47 +0200
commitb9e54083441cc44a52ded149e226f2406c0779f7 (patch)
treeb912e184300a34099e4e4fdeda2c4ea523c221f8 /sci-mathematics
parentsys-apps/lm-sensors: Bump lm-sensors and address open bugs, PR (diff)
downloadgentoo-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.ebuild96
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}"
+}