Package Details: mathematica 14.0.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: proprietary
Submitter: Feanor12
Maintainer: JP-Ellis (BlazingBlast)
Last Packager: JP-Ellis
Votes: 79
Popularity: 0.001279
First Submitted: 2011-03-03 21:27 (UTC)
Last Updated: 2024-01-15 22:25 (UTC)

Dependencies (51)

Required by (1)

Sources (2)

Pinned Comments

JP-Ellis commented on 2024-01-15 22:27 (UTC)

The update to v14.0.0 has been uploaded. A list of new features can be found in Wolfram's blog.

If there are any issues with this PKGBUILD, please let me know in a commment below.

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

1 2 3 4 5 6 .. 37 Next › Last »

BlazingBlast commented on 2024-11-21 18:34 (UTC) (edited on 2024-11-21 18:34 (UTC) by BlazingBlast)

Update to Wolfram 14.1.

diff --git a/PKGBUILD b/PKGBUILD
index 5440a78..b93c516 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."
@@ -26,6 +26,7 @@ optdepends=(
     'alsa-lib'
     'atk'
     'cairo'
+    'inetutils'
     'ffmpeg'
     'fontconfig'
     'gdk-pixbuf2'
@@ -82,11 +83,11 @@ _source_url=$(
     | sed -E 's/.*href="([^"]+)".*/\1/'
 )
 source=(
-    "Mathematica_${pkgver}_BNDL_LINUX.sh::${_source_url}"
+    "Wolfram_${pkgver}_LIN_Bndl.sh::${_source_url}"
     "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,19 +113,20 @@ prepare() {
     fi

     msg2 "Extracting Mathematica installer..."
-    sh "${srcdir}/Mathematica_${pkgver}_BNDL_LINUX.sh" \
+    rm -rf ${srcdir}/bundle/
+    sh "${srcdir}/Wolfram_${pkgver}_LIN_Bndl.sh" \
       --keep \
       --target "${srcdir}/bundle" \
       -- \
       -help >/dev/null
-
-    patch -p1 -d "${srcdir}/bundle" < "${srcdir}/remove-xdg-scripts.patch"
+    msg2 "Patching Mathematica installer..."
+    patch -p 1 -d "${srcdir}/bundle/" < "${srcdir}/remove-xdg-scripts.patch"
 }

 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
@@ -148,15 +150,15 @@ package() {
     ln -s /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/wolframscript
     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/WolframKernel
-    ln -s /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/ELProver
-    ln -s /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/wolframscript
+    ln -sf /opt/Mathematica/Executables/math
+    ln -sf /opt/Mathematica/Executables/MathKernel
+    ln -sf /opt/Mathematica/Executables/WolframNB
+    ln -sf /opt/Mathematica/Executables/wolframscript
+    ln -sf /opt/Mathematica/Executables/mcc
+    ln -sf /opt/Mathematica/Executables/wolfram
+    ln -sf /opt/Mathematica/Executables/WolframKernel
+    ln -sf /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/ELProver
+    ln -sf /opt/Mathematica/SystemFiles/Kernel/Binaries/Linux-x86-64/wolframscript

     msg2 "Setting up WolframScript"
     mkdir -p ${srcdir}/WolframScript
@@ -172,9 +174,9 @@ package() {
           ${pkgdir}/usr/share/desktop-directories \
           ${pkgdir}/usr/share/mime/packages
     cd ${pkgdir}/opt/Mathematica/SystemFiles/Installation
-    desktopFile="com.wolfram.Mathematica.${_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
+    desktopFile="com.wolfram.Wolfram.${_pkgver}.desktop"
+    sed -Ei "s|^(\s*TryExec=).*|\1/usr/bin/WolframNB|g" $desktopFile
+    sed -Ei "s|^(\s*Exec=).*|\1/usr/bin/WolframNB --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
     cp $desktopFile ${pkgdir}/usr/share/applications/
     cp *.directory ${pkgdir}/usr/share/desktop-directories/

qimuzi commented on 2024-09-07 12:28 (UTC)

https://account.wolfram.com/dl/WolframApp?version=14.1&platform=Linux&language=English https://account.wolfram.com/dl/WolframApp?version=14.1&platform=Linux&includesDocumentation=false This is the url of mathematica v14.1

marmis commented on 2024-08-29 04:42 (UTC)

One thing to keep in mind, if you use MATHEMATICA_USERBASE, that variable should be renamed to WOLFRAM_USERBASE. More details at Upgrading from Mathematica to Wolfram.

marmis commented on 2024-08-29 01:21 (UTC)

@rpanerai Oh, thanks, I've had desktop files fixed in my system, but forgot to update the PKGBUILD. I checked a bit more thoroughly and everything should be okay. Please, let me know if there's anything else missing.

@jdujava I've updated the proposed PKGBUILD to work with a custom install directory, based on your patch. I haven't added bash to makedepends, as it is already a dependency of pacman (and makepkg). For PKGBUILD, it is safe to assume that base and base-devel are installed.

jdujava commented on 2024-08-28 16:42 (UTC) (edited on 2024-08-28 16:43 (UTC) by jdujava)

@marmis: Would you be kind enough to also patch in support for changing the final installation directory, as sketched out in this gist?

rpanerai commented on 2024-08-28 16:20 (UTC) (edited on 2024-08-28 18:58 (UTC) by rpanerai)

@marmis: Thank you, the new PKGBUILD works smoothly.

My only problem is now with the .desktop file embedded in the PKGBUILD. It points to /usr/bin/Mathematica, yet the file is not provided by the new package. After the recent rebranding, the notebook GUI can be launched by running /usr/bin/WolframNB.

EDIT: OK, as I am looking into this a bit more, it seems like the part of PKGBUILD that deals with fixing the symbolic links needs to be updated.

marmis commented on 2024-08-27 18:33 (UTC)

Oh sorry, my bad! But thank you @rpanerai. So the rsync step is still required, I've updated the proposed PKGBUILD and included inetutils, and tested the final version this time.

rpanerai commented on 2024-08-27 14:17 (UTC) (edited on 2024-08-27 14:18 (UTC) by rpanerai)

@marmis: I tried the PKGBUILD in your repository but ${pkgdir}/opt/Mathematica/ somehow ends up containing only the Documentation folder, leading to an error when later makepkg looks for the Executables folder (at line 144 of PKGBUILD).

By the way, inetutils should be added as a (make) dependency, as the installer script invokes hostname.

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).