aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrey Christoforo2018-12-19 18:12:51 +0000
committerGrey Christoforo2018-12-19 18:12:51 +0000
commita68e9763104f94564be0729d2d83c1178acb5be1 (patch)
tree969b3128d8a9deb3d0fd91568273cbcd1f85b412
parent757567ab41a53f0d96ed1886e14759a38cddf15b (diff)
downloadaur-a68e9763104f94564be0729d2d83c1178acb5be1.tar.gz
- don't do product activation in the PKGBUILD anymore
- clarify instructions a bit and make this easier to use - new matlab.tar structure doesn't have a top level matlab folder anymore
-rw-r--r--.SRCINFO6
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD192
3 files changed, 56 insertions, 143 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1e005bf48a2c..9a2accdcd664 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -23,13 +23,11 @@ pkgbase = matlab
depends = qt5-x11extras
depends = xerces-c
optdepends = gcc6: For MEX support
- source = file://matlab.tar
- source = file://matlab.fik
- source = file://matlab.lic
+ source = local:///matlab.tar
+ source = local:///matlab.fik
source = matlab.png::https://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png
md5sums = SKIP
md5sums = SKIP
- md5sums = SKIP
md5sums = cf28632239db6e02bc09bcca6bf5360f
pkgname = matlab
diff --git a/.gitignore b/.gitignore
index 0b0f4056746c..3277f383c060 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
src/
pkg/
ml/
+*.png
diff --git a/PKGBUILD b/PKGBUILD
index 95d15c8dcc7c..55eb67d2ca93 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,30 +2,42 @@
# Maintainer: Darcy Hu <hot123tea123@gmail.com>
## This PKGBUILD creates an Arch Linux package for the proprietary MATLAB application.
-## In order to build the package the user must supply a plain text file installation key as file `matlab.fik`, the license file as `matlab.lic`, the software tarball as `matlab.tar` from MATLAB ISO image.
-## A typical matlab tarball directory structure look like this:
-# matlab
-# ├── activate.ini
-# ├── archives/
-# ├── bin/
-# ├── etc/
-# ├── help/
-# ├── install
-# ├── installer_input.txt
-# ├── install_guide.pdf
-# ├── java/
-# ├── license_agreement.txt
-# ├── licenses/
-# ├── patents.txt
-# ├── readme.txt
-# ├── sys/
-# ├── trademarks.txt
-# ├── ui/
-# └── version.txt
-#
-## To perform a network install set $_networkinstall to true.
+## In order to build the package, the user must supply:
+## 1) a plain text file installation key as file `matlab.fik`
+## and
+## 2) the software tarball as `matlab.tar` from MATLAB ISO image or as downloaded by the installer
+## A typical matlab tarball structure looks like this:
+#matlab.tar
+#├── activate.ini*
+#├── archives/
+#│   ├── common/
+#│   └── glnxa64/
+#│   ├── matlab/
+#│   ├── matlab_code_analyzer/
+#│   ├── matlabconnector/
+#│   ├── matlabdata/
+#│   ├── matlab_desktop_glnxa64_1535004605.enc*
+#│   ├── matlab_desktop_glnxa64_1535004605.xml*
+#│   ├── ... other encrypted toolbox/related files & folders go here
+#├── bin/
+#├── help/
+#├── install*
+#├── installer_input.txt*
+#├── install_guide.pdf*
+#├── java/
+#├── license_agreement.txt*
+#├── patents.txt*
+#├── readme.txt*
+#├── sys/
+#├── trademarks.txt*
+#├── ui/
+#└── VersionInfo.xml*
-_networkinstall=false
+## This PKGBUILD no longer attempts to activate the product.
+## The user will be prompted to undertake their activation method of choice when the GUI is first run.
+## Activation could be automated by running /opt/matlab/bin/activate_matlab.sh
+## after this package is installed.
+## That activation script could be called by matlab.install (a file that doesn't exist at this time)
# partial install
_partialinstall=false
@@ -58,15 +70,11 @@ depends=('gconf'
'xerces-c')
optdepends=('gcc6: For MEX support')
-source=("file://matlab.tar"
- "file://matlab.fik"
- "file://matlab.lic"
- "matlab.png::https://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png")
-md5sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'cf28632239db6e02bc09bcca6bf5360f')
-PKGEXT='.pkg.tar'
+source=("local:///matlab.tar"
+ "local:///matlab.fik"
+ "matlab.png::https://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png")
+md5sums=("SKIP" "SKIP" 'cf28632239db6e02bc09bcca6bf5360f')
+#PKGEXT='.pkg.tar'
prepare() {
# using system's libstdc++
@@ -81,33 +89,29 @@ prepare() {
_fik=$(grep -o [0-9-]* ${pkgname}.fik)
msg2 'Modifying the installer settings'
- sed -i "s,^# destinationFolder=,destinationFolder=${pkgdir}/${_instdir}," "${srcdir}/${pkgname}/installer_input.txt"
- sed -i "s,^# agreeToLicense=,agreeToLicense=yes," "${srcdir}/${pkgname}/installer_input.txt"
- sed -i "s,^# mode=,mode=silent," "${srcdir}/${pkgname}/installer_input.txt"
- sed -i "s,^# fileInstallationKey=,fileInstallationKey=${_fik}," "${srcdir}/${pkgname}/installer_input.txt"
+ sed -i "s,^# destinationFolder=,destinationFolder=${pkgdir}/${_instdir}," "${srcdir}/installer_input.txt"
+ sed -i "s,^# agreeToLicense=,agreeToLicense=yes," "${srcdir}/installer_input.txt"
+ sed -i "s,^# mode=,mode=silent," "${srcdir}/installer_input.txt"
+ sed -i "s,^# fileInstallationKey=,fileInstallationKey=${_fik}," "${srcdir}/installer_input.txt"
- if ${_networkinstall}; then
- sed -i "s,^# licensePath=,licensePath=${srcdir}/matlab.lic," "${srcdir}/${pkgname}/installer_input.txt"
- else
- sed -i "s,^# activationPropertiesFile=,activationPropertiesFile=${srcdir}/${pkgname}/activate.ini," "${srcdir}/${pkgname}/installer_input.txt"
- sed -i "s,^activateCommand=,activateCommand=activateOffline," "${srcdir}/${pkgname}/activate.ini"
- sed -i "s,^licenseFile=,licenseFile=${srcdir}/matlab.lic," "${srcdir}/${pkgname}/activate.ini"
- fi
+ # install all productcts by default
+ sed -i "/^#product.${_product}$/ s/^#//" "${srcdir}/installer_input.txt"
if [ ! -z ${_products+isSet} ]; then
msg2 'Building a package with a subset of the licensed products.'
+ sed -i "s,^product,#product," "${srcdir}/installer_input.txt"
for _product in "${_products[@]}"; do
- sed -i "/^#product.${_product}$/ s/^#//" "${srcdir}/${pkgname}/installer_input.txt"
+ sed -i "/^#product.${_product}$/ s/^#//" "${srcdir}/installer_input.txt"
done
fi
}
package() {
msg2 'Starting MATLAB installer'
- "${srcdir}/${pkgname}/install" -inputFile "${srcdir}/${pkgname}/installer_input.txt"
+ "${srcdir}/install" -inputFile "${srcdir}/installer_input.txt"
msg2 'Installing license'
- install -D -m644 "${srcdir}/${pkgname}/license_agreement.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m644 "${srcdir}/license_agreement.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
msg2 'Installing desktop files'
install -D -m644 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
@@ -117,99 +121,9 @@ package() {
if ${_partialinstall} && [ -z ${_products+isSet} ]; then
_products=(
- "5G_Toolbox"
- "Aerospace_Blockset"
- "Aerospace_Toolbox"
- "Antenna_Toolbox"
- "Audio_System_Toolbox"
- "Automated_Driving_System_Toolbox"
- "Bioinformatics_Toolbox"
- "Communications_Toolbox"
- "Computer_Vision_System_Toolbox"
- "Control_System_Toolbox"
- "Curve_Fitting_Toolbox"
- "DO_Qualification_Kit"
- "DSP_System_Toolbox"
- "Data_Acquisition_Toolbox"
- "Database_Toolbox"
- "Datafeed_Toolbox"
- "Deep_Learning_Toolbox"
- "Econometrics_Toolbox"
- "Embedded_Coder"
- "Filter_Design_HDL_Coder"
- "Financial_Instruments_Toolbox"
- "Financial_Toolbox"
- "Fixed_Point_Designer"
- "Fuzzy_Logic_Toolbox"
- "GPU_Coder"
- "Global_Optimization_Toolbox"
- "HDL_Coder"
- "HDL_Verifier"
- "IEC_Certification_Kit"
- "Image_Acquisition_Toolbox"
- "Image_Processing_Toolbox"
- "Instrument_Control_Toolbox"
- "LTE_HDL_Toolbox"
- "LTE_Toolbox"
"MATLAB"
- "MATLAB_Coder"
- "MATLAB_Compiler"
- "MATLAB_Compiler_SDK"
- "MATLAB_Distributed_Computing_Server"
- "MATLAB_Production_Server"
- "MATLAB_Report_Generator"
- "Mapping_Toolbox"
- "Model_Predictive_Control_Toolbox"
- "Model_Based_Calibration_Toolbox"
- "OPC_Toolbox"
- "Optimization_Toolbox"
- "Parallel_Computing_Toolbox"
- "Partial_Differential_Equation_Toolbox"
- "Phased_Array_System_Toolbox"
- "Polyspace_Bug_Finder"
- "Polyspace_Code_Prover"
- "Powertrain_Blockset"
- "Predictive_Maintenance_Toolbox"
- "RF_Blockset"
- "RF_Toolbox"
- "Risk_Management_Toolbox"
- "Robotics_System_Toolbox"
- "Robust_Control_Toolbox"
- "Sensor_Fusion_and_Tracking_Toolbox"
- "Signal_Processing_Toolbox"
- "SimBiology"
- "SimEvents"
- "Simscape"
- "Simscape_Driveline"
- "Simscape_Electrical"
- "Simscape_Fluids"
- "Simscape_Multibody"
- "Simulink"
- "Simulink_3D_Animation"
- "Simulink_Check"
- "Simulink_Code_Inspector"
- "Simulink_Coder"
- "Simulink_Control_Design"
- "Simulink_Coverage"
- "Simulink_Design_Optimization"
- "Simulink_Design_Verifier"
- "Simulink_Desktop_Real_Time"
- "Simulink_PLC_Coder"
- "Simulink_Real_Time"
- "Simulink_Report_Generator"
- "Simulink_Requirements"
- "Simulink_Test"
- "Spreadsheet_Link"
- "Stateflow"
- "Statistics_and_Machine_Learning_Toolbox"
- "Symbolic_Math_Toolbox"
- "System_Identification_Toolbox"
- "Text_Analytics_Toolbox"
- "Trading_Toolbox"
- "Vehicle_Dynamics_Blockset"
- "Vehicle_Network_Toolbox"
- "Vision_HDL_Toolbox"
- "WLAN_Toolbox"
- "Wavelet_Toolbox"
+ #"Curve_Fitting_Toolbox"
+ # fill in toolboxes/products here as needed for a partial install
+ # hint: look in your installer_input.txt file for names to use here
)
fi