Package Details: mathematica 14.1.0-1

Git Clone URL: https://aur.archlinux.org/mathematica.git (read-only, click to copy)
Package Base: mathematica
Description: A computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing with offline documentation.
Upstream URL: http://www.wolfram.com/mathematica/
Licenses: LicenseRef-WolframMathematicaLicenseAgreement
Submitter: Feanor12
Maintainer: JP-Ellis (marmis)
Last Packager: marmis
Votes: 80
Popularity: 0.67
First Submitted: 2011-03-03 21:27 (UTC)
Last Updated: 2024-12-24 03:20 (UTC)

Dependencies (53)

Required by (1)

Sources (2)

Pinned Comments

marmis commented on 2024-12-24 03:37 (UTC)

mathematica and mathematica-light have been updated to 14.1. Matematica is being rebranded to WolframApp or just Wolfram. Because of that, you might have to update your current configuration according to Upgrading from Mathematica to Wolfram:

  • The default $UserBaseDirectory is now ~/.Wolfram (you may need to mv ~/.Mathematica ~/.Wolfram)
  • MATHINIT is now WOLFRAMNB_INIT (for additional arguments to Wolfram)
  • MATHEMATICA_BASE is now WOLFRAM_BASE (for custom $BaseDirectory)
  • MATHEMATICA_USERBASE is now WOLFRAM_USERBASE (for custom $UserBaseDirectory)

JP-Ellis commented on 2022-10-08 00:22 (UTC) (edited on 2023-08-19 12:56 (UTC) by JP-Ellis)

Wolfram offers two bundles for Mathematica: one with offline docs included, and one which relies on online docs. I have created corresponding version of the Mathematica package in the AUR:

  • mathematica: As this package has historically always included offline docs, it will continue to do so now. As of 13.1.0, the package takes up around 14.1GiB with all documentation.
  • mathematica-light: For those people who want a small package and/or want to use online docs, I have created this package which uses Wolfram's online-docs bundling of Mathematica. As of 13.3, the light version takes up around 7.2GiB.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 .. 37 Next › Last »

marmis commented on 2024-08-25 19:17 (UTC) (edited on 2024-08-29 04:41 (UTC) by marmis)

Considering the rebranding, you could also create a new package named wolfram or wolfram-app using the replaces field to tell users to change package. Not sure what's the best decision here. Example: 1476643ed11cf3f1f6a82d94f636173ab4a62581

marmis commented on 2024-08-25 19:13 (UTC) (edited on 2024-08-29 01:46 (UTC) by marmis)

Hi @JP-Ellis the patch from @pants is solid, and builds the package correctly. I'd just like to add a few things:

  • there are still a few links broken (_source_url and a comment).

  • as @jdujava pointed out, the PKGBUILD should use bash for the installer, not sh.

  • using ${pkgdir}/tmp as an intermediary folder for the documentation is not necessary anymore, they only provide the English documentation. Writing directly to ${pkgdir}/opt/Mathematica has the same result. This also mean that rsync dependency could be dropped. (not actually true)

  • MD5 hashes are considered insecure and outdated. It is also slower than SHA256 on modern hardware (5.8s against 2.5s for me).

  • the license could use a more descriptive naming, like LicenseRef-WolframMathematicaLicenseAgreement.

  • the PKGBUILD could enforce !strip !debug for improving build times (from 319.71 to 130.49 secs, for my machine). This change also makes the build use less resource overall.

  • support for a different installation directory (see @jdujava's comment).

  • verified scripts (and fixed possible errors) with shellcheck --shell=bash --exclude=SC2034,SC2154 PKGBUILD.

  • use relative paths for symlinks, so it work even not mounted as root.

I have a patch applying all these change (and @pants's too) in this commit: 32143994a55c4088a2e7067bb8b8138a28b29ad0 (updated).

pants commented on 2024-08-23 18:10 (UTC)

v14.1.0 has been released. The following patch successfully builds the package (the rebranding to Wolfram continues apace).

diff --git a/PKGBUILD b/PKGBUILD
index 5440a78..926994e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@
 # Contributor: Maxim Mikityanskiy <maxtram95@gmail.com>

 pkgname=mathematica
-pkgver=14.0.0
+pkgver=14.1.0
 _pkgver=${pkgver%.[0-9]}
 pkgrel=1
 pkgdesc="A computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing with offline documentation."
@@ -82,11 +82,11 @@ _source_url=$(
     | sed -E 's/.*href="([^"]+)".*/\1/'
 )
 source=(
-    "Mathematica_${pkgver}_BNDL_LINUX.sh::${_source_url}"
+    "Wolfram_${pkgver}_LIN_Bndl.sh"
     "remove-xdg-scripts.patch"
 )
-md5sums=('2e9479b7622ea8d09d465ffc53a753c4'
-         '14df424ec93fad057604378c2b5c24c2')
+md5sums=('36eedf29f9090d95f636ac0cd15471e5'
+         '3d4abbbadd766f19bac666b8750eec7a')
 options=("!strip")

 ## To build this package you need to place the mathematica-installer into your
@@ -112,7 +112,7 @@ prepare() {
     fi

     msg2 "Extracting Mathematica installer..."
-    sh "${srcdir}/Mathematica_${pkgver}_BNDL_LINUX.sh" \
+    sh "${srcdir}/Wolfram_${pkgver}_LIN_Bndl.sh" \
       --keep \
       --target "${srcdir}/bundle" \
       -- \
@@ -124,7 +124,7 @@ prepare() {
 package() {
     msg2 "Running Mathematica installer"
     # https://reference.wolfram.com/language/tutorial/InstallingMathematica.html#650929293
-    sh "${srcdir}/bundle/Unix/Installer/MathInstaller" \
+    sh "${srcdir}/bundle/Unix/Installer/WolframInstaller" \
         -execdir="${pkgdir}/usr/bin" \
         -targetdir="${pkgdir}/opt/Mathematica" \
         -auto
@@ -149,12 +149,12 @@ package() {
     cd ${pkgdir}/usr/bin
     rm *
     ln -s /opt/Mathematica/Executables/math
-    ln -s /opt/Mathematica/Executables/mathematica
-    ln -s /opt/Mathematica/Executables/Mathematica
     ln -s /opt/Mathematica/Executables/MathKernel
     ln -s /opt/Mathematica/Executables/mcc
     ln -s /opt/Mathematica/Executables/wolfram
+    ln -s /opt/Mathematica/Executables/wolframnb
     ln -s /opt/Mathematica/Executables/WolframKernel
+    ln -s /opt/Mathematica/Executables/WolframNB
     ln -s /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/ELProver
     ln -s /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/wolframscript

@@ -172,7 +172,7 @@ package() {
           ${pkgdir}/usr/share/desktop-directories \
           ${pkgdir}/usr/share/mime/packages
     cd ${pkgdir}/opt/Mathematica/SystemFiles/Installation
-    desktopFile="com.wolfram.Mathematica.${_pkgver}.desktop"
+    desktopFile="com.wolfram.Wolfram.${_pkgver}.desktop"
     sed -Ei "s|^(\s*TryExec=).*|\1/usr/bin/Mathematica|g" $desktopFile
     sed -Ei "s|^(\s*Exec=).*|\1/usr/bin/Mathematica --name com.wolfram.mathematica.${_pkgver} %F|g" $desktopFile
     printf 'Categories=Science;Education;Languages;ArtificialIntelligence;Astronomy;Biology;Chemistry;ComputerScience;DataVisualization;Geography;ImageProcessing;Math;NumericalAnalysis;MedicalSoftware;Physics;ParallelComputer;\n' >> $desktopFile
diff --git a/remove-xdg-scripts.patch b/remove-xdg-scripts.patch
index e44790d..22eeaf8 100644
--- a/remove-xdg-scripts.patch
+++ b/remove-xdg-scripts.patch
@@ -1,5 +1,5 @@
---- a/Unix/Installer/MathInstaller
-+++ b/Unix/Installer/MathInstaller
+--- a/Unix/Installer/WolframInstaller
++++ b/Unix/Installer/WolframInstaller
 @@ -1985,6 +1985,8 @@
            xdgScripts="${FullTargetDirectory}/SystemFiles/Installation"
        fi

paran3xus commented on 2024-08-19 18:09 (UTC)

Wolfram updated their website, and previous PKGBUILD is broken.

loqy commented on 2024-04-03 08:46 (UTC)

Could the wolfram-mathematica,png files be renamed to mathematica.png to match the files provided by the icon Breeze icon theme, so that icon replacements work correctly?

algar commented on 2024-01-17 09:02 (UTC)

The situation with wolframengine is that its kernel version is usually behind the kernel version shipped with mathematica. Check https://www.wolfram.com/engine/ versus https://www.wolfram.com/mathematica/.

JP-Ellis commented on 2024-01-17 05:23 (UTC)

Thanks for checking @loqy! I'll update the PKGBUILDs to make use of bash correctly.

I'll make sure to mark the difference with wolframengine more explicitly. I guess there's two ways I can do this: provides=('wolframengine') and conflicts=('wolframengine'). I'm thinking it should be the former (provides), as I think that all of the functionality of wolframengine is provided by the main mathematica package. Can someone confirm whether this is true (or if not, why)?

loqy commented on 2024-01-17 05:17 (UTC)

I can confirm that switching the sh calls in PKGBUILD to bash resulted in a successful installation, though I do not have wolframengine installed as algar does.

algar commented on 2024-01-16 11:55 (UTC)

I did not experience any problems to build the package with the PKGBUILD as given. However I did experience a problem installing:

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                                                                                                                          [#############################################################################################] 100%
(1/1) checking package integrity                                                                                                                        [#############################################################################################] 100%
(1/1) loading package files                                                                                                                             [#############################################################################################] 100%
(1/1) checking for file conflicts                                                                                                                       [#############################################################################################] 100%
error: failed to commit transaction (conflicting files)
mathematica: /usr/bin/ELProver exists in filesystem (owned by wolframengine)
mathematica: /usr/bin/MathKernel exists in filesystem (owned by wolframengine)
mathematica: /usr/bin/WolframKernel exists in filesystem (owned by wolframengine)
mathematica: /usr/bin/math exists in filesystem (owned by wolframengine)
mathematica: /usr/bin/mcc exists in filesystem (owned by wolframengine)
mathematica: /usr/bin/wolfram exists in filesystem (owned by wolframengine)
mathematica: /usr/bin/wolframscript exists in filesystem (owned by wolframengine)
mathematica: /usr/share/desktop-directories/wolfram-all.directory exists in filesystem (owned by wolframengine)
mathematica: /usr/share/doc/wolframscript/copyright exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/apps/wolfram-mathematica.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/mimetypes/application-vnd.wolfram.cdf.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/mimetypes/application-vnd.wolfram.mathematica.package.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/mimetypes/application-vnd.wolfram.nb.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/mimetypes/application-vnd.wolfram.player.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/mimetypes/application-vnd.wolfram.wl.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/128x128/mimetypes/application-vnd.wolfram.wls.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/apps/wolfram-mathematica.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/mimetypes/application-vnd.wolfram.cdf.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/mimetypes/application-vnd.wolfram.mathematica.package.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/mimetypes/application-vnd.wolfram.nb.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/mimetypes/application-vnd.wolfram.player.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/mimetypes/application-vnd.wolfram.wl.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/32x32/mimetypes/application-vnd.wolfram.wls.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/apps/wolfram-mathematica.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/mimetypes/application-vnd.wolfram.cdf.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/mimetypes/application-vnd.wolfram.mathematica.package.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/mimetypes/application-vnd.wolfram.nb.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/mimetypes/application-vnd.wolfram.player.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/mimetypes/application-vnd.wolfram.wl.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/icons/hicolor/64x64/mimetypes/application-vnd.wolfram.wls.png exists in filesystem (owned by wolframengine)
mathematica: /usr/share/man/man1/math.1.gz exists in filesystem (owned by wolframengine)
mathematica: /usr/share/man/man1/mathematica.1.gz exists in filesystem (owned by wolframengine)
mathematica: /usr/share/man/man1/mathlm.1.gz exists in filesystem (owned by wolframengine)
mathematica: /usr/share/man/man1/mcc.1.gz exists in filesystem (owned by wolframengine)
mathematica: /usr/share/man/man1/monitorlm.1.gz exists in filesystem (owned by wolframengine)
mathematica: /usr/share/man/man1/wolframscript.1.gz exists in filesystem (owned by wolframengine)
mathematica: /usr/share/mime/packages/application-vnd.wolfram.cdf.xml exists in filesystem (owned by wolframengine)
mathematica: /usr/share/mime/packages/application-vnd.wolfram.mathematica.package.xml exists in filesystem (owned by wolframengine)
mathematica: /usr/share/mime/packages/application-vnd.wolfram.nb.xml exists in filesystem (owned by wolframengine)
mathematica: /usr/share/mime/packages/application-vnd.wolfram.nbp.xml exists in filesystem (owned by wolframengine)
mathematica: /usr/share/mime/packages/application-vnd.wolfram.wl.xml exists in filesystem (owned by wolframengine)
mathematica: /usr/share/mime/packages/application-vnd.wolfram.wls.xml exists in filesystem (owned by wolframengine)
Errors occurred, no packages were upgraded.
==> WARNING: Failed to install built package(s).

A possibility is to make mathematica and wolfram engine packages incompatible.

loqy commented on 2024-01-16 11:15 (UTC)

If we run MathInstaller with bash, let's also add bash as a makedepends. Lots of people forget to do this