diff options
author | Marco Rubin | 2022-09-17 12:37:59 +0200 |
---|---|---|
committer | Marco Rubin | 2022-09-17 12:37:59 +0200 |
commit | dbe3fbc51212467d1deadb29283d126085142db9 (patch) | |
tree | c4d12ff6c4fd8e2c3c7fde730c1c7dbd732cd091 /PKGBUILD | |
parent | 0f5e4a302e053ca699a9d5c89b51e0039bb9d06e (diff) | |
download | aur-dbe3fbc51212467d1deadb29283d126085142db9.tar.gz |
Face lift, force usage of system libtiff to run MATLABWindow
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 162 |
1 files changed, 80 insertions, 82 deletions
@@ -2,125 +2,123 @@ # Maintainer: sukanka <su975853527[AT]gmail.com> # Contributor: Batuhan Baserdem <lastname dot firstname at gmail> -pkgbase=matlab -pkgname=(matlab) -pkgrel=2 +pkgname=matlab +pkgrel=3 pkgver=9.13.0.2049777 pkgdesc='A high-level language for numerical computation and visualization' arch=(x86_64) url='https://www.mathworks.com' license=(custom) depends=(matlab-meta) -makedepends=('findutils' 'gendesk' 'icoutils' 'python') -provides=('matlab-bin' 'matlab' 'python-matlabengine') -source=( - 'local://matlab.tar' - 'local://matlab.fik' - 'local://matlab.lic' -) +makedepends=('gendesk') +provides=('matlab' 'matlab-bin') +source=('local://matlab.tar' 'local://matlab.fik' 'local://matlab.lic') b2sums=(SKIP SKIP SKIP) -# Example list of products for a partial install. Check the README for details. -# Leave empty for a full installation. +# Example list of products for a partial install. Leave empty for a full installation. _products=( - "MATLAB" - "Simulink" + 'MATLAB' + 'Simulink' ) -_release='R2022b' -_instdir=usr/local/MATLAB/R2022b pkgver() { - cat "${srcdir}/${pkgbase}/VersionInfo.xml" | sed --quiet 's|\s*<version>\(.*\)</version>\s*|\1|p' + cat "$srcdir/matlab/VersionInfo.xml" | sed --quiet 's|\s*<version>\(.*\)</version>\s*|\1|p' } prepare() { - msg2 "Release from tarball: ${_release}" - msg2 "Modifying installer settings..." - _fik=$(grep -o '[0-9-]*' "${srcdir}/matlab.fik") - _set="${srcdir}/${pkgbase}/installer_input.txt" - sed -i "s|^# destinationFolder=|destinationFolder=${srcdir}/build|" "${_set}" - sed -i "s|^# fileInstallationKey=|fileInstallationKey=${_fik}|" "${_set}" - sed -i "s|^# agreeToLicense=|agreeToLicense=yes|" "${_set}" - sed -i "s|^# outputFile=|outputFile=${srcdir}/../install.log|" "${_set}" - sed -i "s|improveMATLAB=yes|improveMATLAB=no|" "${_set}" - sed -i "s|^# licensePath=|licensePath=${srcdir}/matlab.lic|" "${_set}" + _fik=$(grep -o '[0-9-]*' "$srcdir/matlab.fik") + _options="$srcdir/matlab/installer_input.txt" + sed -i "s|^# destinationFolder=|destinationFolder=$srcdir/build|" "$_options" + sed -i "s|^# fileInstallationKey=|fileInstallationKey=$_fik|" "$_options" + sed -i "s|^# agreeToLicense=|agreeToLicense=yes|" "$_options" + sed -i "s|^# outputFile=|outputFile=$srcdir/../install.log|" "$_options" + sed -i "s|improveMATLAB=yes|improveMATLAB=no|" "$_options" + sed -i "s|^# licensePath=|licensePath=$srcdir/matlab.lic|" "$_options" # Install specified products if _products is non-empty. if [ "${#_products[@]}" -gt '0' ]; then for _prod in "${_products[@]}"; do - sed -i 's|^#\(product.'"${_prod}"'\)$|\1|' "${_set}" + sed -i 's|^#\(product.'"$_prod"'\)$|\1|' "$_options" done fi - - msg2 "Generating desktop file..." - gendesk -f -n \ - --pkgname "${pkgbase}" \ - --pkgdesc "${pkgdesc}" \ - --name "MATLAB ${_release}" \ - --genericname "MATLAB" \ - --comment 'Programming and numeric computing platform' \ - --categories "Development;Education;Science;Mathematics;IDE" \ - --mimetypes "application/x-matlab-data;text/x-matlab" \ - --icon "${pkgbase}" \ - --exec 'matlab' } build() { msg2 "Running original installer..." # -inputFile makes the installation non-interactive. - "${srcdir}/${pkgbase}/install" -inputFile "${srcdir}/${pkgbase}/installer_input.txt" + "$srcdir/matlab/install" -inputFile "$srcdir/matlab/installer_input.txt" } -package_matlab() { +package() { + _release="$(cat "$srcdir/matlab/VersionInfo.xml" \ + | sed --quiet 's|\s*<release>\(.*\)</release>\s*|\1|p')" + _instdir=usr/local/MATLAB/$_release + install -dm755 "$(dirname "$pkgdir/$_instdir")" + msg2 "Moving files from build area to package area directly to save space..." - install -dm755 "$(dirname "${pkgdir}/${_instdir}")" - mv "${srcdir}/build" "${pkgdir}/${_instdir}" + mv "$srcdir/build" "$pkgdir/$_instdir" msg2 "Installing license..." - install -Dm644 "${srcdir}/${pkgbase}/license_agreement.txt" \ - "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm644 "$srcdir/matlab/license_agreement.txt" \ + "$pkgdir/usr/share/licenses/matlab/LICENSE" + + msg2 "Generating desktop file..." + gendesk -f -n \ + --pkgname 'matlab' \ + --pkgdesc "$pkgdesc" \ + --name "MATLAB $_release" \ + --genericname 'MATLAB' \ + --comment 'Programming and numeric computing platform' \ + --categories 'Development;Education;Science;Mathematics;IDE' \ + --mimetypes 'application/x-matlab-data;text/x-matlab' \ + --icon 'matlab' \ + --exec 'matlab' + + msg2 "Installing desktop files..." + install -Dm644 "$srcdir/matlab.desktop" \ + "$pkgdir/usr/share/applications/matlab.desktop" + install -Dm644 "$srcdir/matlab/bin/glnxa64/cef_resources/matlab_icon.png" \ + "$pkgdir/usr/share/pixmaps/matlab.png" msg2 "Symlinking executables..." - install -dm755 "${pkgdir}/usr/bin/" - for _executable in deploytool matlab mbuild activate_matlab.sh; do - ln -s "/${_instdir}/bin/${_executable}" "${pkgdir}/usr/bin/${_executable}" + install -dm755 "$pkgdir/usr/bin/" + for _exe in deploytool matlab mbuild activate_matlab.sh; do + ln -s "/$_instdir/bin/$_exe" "$pkgdir/usr/bin/$_exe" done # This would otherwise conflict with mixtex. - ln -s "/${_instdir}/bin/mex" "${pkgdir}/usr/bin/mex-${pkgbase}" + ln -s "/$_instdir/bin/mex" "$pkgdir/usr/bin/mex-matlab" # This would otherwise conflict with Mathematica. - ln -s "/${_instdir}/bin/mcc" "${pkgdir}/usr/bin/mcc-${pkgbase}" + ln -s "/$_instdir/bin/mcc" "$pkgdir/usr/bin/mcc-matlab" # Allow external software to find the MATLAB linter binary. - ln -s "/${_instdir}/bin/glnxa64/mlint" "${pkgdir}/usr/bin/mlint" + ln -s "/$_instdir/bin/glnxa64/mlint" "$pkgdir/usr/bin/mlint" - msg2 "Installing desktop files..." - install -Dm644 "${srcdir}/${pkgbase}.desktop" \ - "${pkgdir}/usr/share/applications/${pkgbase}.desktop" - install -Dm644 "${srcdir}/${pkgbase}/bin/glnxa64/cef_resources/matlab_icon.png" \ - "$pkgdir/usr/share/pixmaps/$pkgbase.png" - - msg2 "Linking mex options to ancient libraries..." - _sysdir="bin/glnxa64/mexopts" - mkdir -p "${pkgdir}/${_instdir}/backup/${_sysdir}" - cp "${pkgdir}/${_instdir}/${_sysdir}/gcc_glnxa64.xml" \ - "${pkgdir}/${_instdir}/backup/${_sysdir}/" - sed -i "s/gcc/${gccexc}/g" "${pkgdir}/${_instdir}/${_sysdir}/gcc_glnxa64.xml" - cp "${pkgdir}/${_instdir}/${_sysdir}/g++_glnxa64.xml" \ - "${pkgdir}/${_instdir}/backup/${_sysdir}/" - sed -i "s/g++/${gppexc}/g" "${pkgdir}/${_instdir}/${_sysdir}/g++_glnxa64.xml" - cp "${pkgdir}/${_instdir}/${_sysdir}/gfortran.xml" \ - "${pkgdir}/${_instdir}/backup/${_sysdir}/" - sed -i "s/gfortran/${gfortranexc}/g" "${pkgdir}/${_instdir}/${_sysdir}/gfortran.xml" - cp "${pkgdir}/${_instdir}/${_sysdir}/gfortran6.xml" \ - "${pkgdir}/${_instdir}/backup/${_sysdir}/" - sed -i "s/gfortran/${gfortranexc}/g" "${pkgdir}/${_instdir}/${_sysdir}/gfortran6.xml" - - msg2 "Removing unused libraries..." - # <MATLABROOT>/sys/os/glnxa64/README.libstdc++ - _sysdir="sys/os/glnxa64" - install -dm755 "${pkgdir}/${_instdir}/backup/${_sysdir}" - mv "${pkgdir}/${_instdir}/${_sysdir}/"{libstdc++.so.*,libgcc_s.so.*,libgfortran.so.*,libquadmath.so.*} \ - "${pkgdir}/${_instdir}/backup/${_sysdir}/" - mv "${pkgdir}/${_instdir}"/bin/glnxa64/libfreetype.so.* \ - "${pkgdir}/${_instdir}"/backup/bin/glnxa64/ + msg2 "Forcing MATLAB to use system libraries..." + + _srcdir="$pkgdir/$_instdir/bin/glnxa64" + _dstdir="$pkgdir/$_instdir/backup/bin/glnxa64" + install -dm755 "$_dstdir" + mv "$_srcdir"/libfreetype.so.* "$_dstdir" + mv "$_srcdir"/libtiff.so.* "$_dstdir" + + _srcdir="$pkgdir/$_instdir/bin/glnxa64/mexopts" + _dstdir="$pkgdir/$_instdir/backup/bin/glnxa64/mexopts" + install -dm755 "$_dstdir" + install -Dm644 "$_srcdir/gcc_glnxa64.xml" "$_dstdir" + install -Dm644 "$_srcdir/g++_glnxa64.xml" "$_dstdir" + install -Dm644 "$_srcdir/gfortran.xml" "$_dstdir" + install -Dm644 "$_srcdir/gfortran6.xml" "$_dstdir" + sed -i "s/gcc/gcc-10/g" "$_srcdir/gcc_glnxa64.xml" + sed -i "s/g++/g++-10/g" "$_srcdir/g++_glnxa64.xml" + sed -i "s/gfortran/gfortran-10/g" "$_srcdir/gfortran.xml" + sed -i "s/gfortran/gfortran-10/g" "$_srcdir/gfortran6.xml" + + _srcdir="$pkgdir/$_instdir/sys/os/glnxa64" + _dstdir="$pkgdir/$_instdir/backup/sys/os/glnxa64" + install -dm755 "$_dstdir" + # These are obsolete libraries + mv "$_srcdir"/libstdc++.so.* "$_dstdir" + mv "$_srcdir"/libgcc_s.so.* "$_dstdir" + mv "$_srcdir"/libgfortran.so.* "$_dstdir" + mv "$_srcdir"/libquadmath.so.* "$_dstdir" } |