diff options
author | Gabriel Souza Franco | 2020-06-28 17:43:59 -0300 |
---|---|---|
committer | Gabriel Souza Franco | 2020-06-28 17:43:59 -0300 |
commit | a9d0da90286dd239403158fa9e2757a9951f4a13 (patch) | |
tree | cf607c8dcb2c1d83b7de737cc3b5981c4c787751 /PKGBUILD | |
parent | 6f5389a3c096d1527fba7cdf184087837305f0a7 (diff) | |
download | aur-a9d0da90286dd239403158fa9e2757a9951f4a13.tar.gz |
Update to 20.1.0.711
Also split package acording to upstream components
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 158 |
1 files changed, 121 insertions, 37 deletions
@@ -1,50 +1,82 @@ # Maintainer: Gabriel Souza Franco <Z2FicmllbGZyYW5jb3NvdXphQGdtYWlsLmNvbQ==> +# Contributor: Nico Rumpeltin <$forename at $surname dot de> # Contributor: Matthias Blaicher <matthias at blaicher dot com> # Contributor: Danny Dutton <duttondj@vt.edu> # # NOTE: If you plan on using the usbblaster make sure you are member of the plugdev group. # -pkgname=quartus-free -_mainver=19.1 +pkgbase=quartus-free +_components=(${pkgbase}-{quartus,modelsim,help,devinfo-{arria_lite,cyclone{,10lp,v},max{,10}}}) +pkgname=(${pkgbase} ${_components[@]}) +_mainver=20.1 # Keep dot in _patchver _patchver=.0 -_buildver=670 -_basever=.0.670 +_buildver=711 +_basever=.0.711 pkgver=${_mainver}${_patchver}.${_buildver} pkgrel=1 -pkgdesc="Quartus Prime Lite Edition design software for Altera FPGA's" +pkgdesc="Quartus Prime Lite design software for Intel FPGAs" arch=('x86_64') url="http://fpgasoftware.intel.com/?edition=lite" license=('custom') -_alteradir="/opt/altera/${_mainver}" +_alteradir="/opt/intelFPGA/${_mainver}" # According to the installer script, these dependencies are needed for the installer depends=('lib32-expat' 'lib32-fontconfig' 'lib32-freetype2' 'lib32-glibc' 'lib32-gtk2' 'lib32-libcanberra' 'lib32-libpng' 'lib32-libice' 'lib32-libsm' 'lib32-util-linux' 'lib32-ncurses' 'lib32-ncurses5-compat-libs' 'lib32-zlib' 'lib32-libx11' 'lib32-libxau' 'lib32-libxdmcp' 'lib32-libxext' 'lib32-libxft' - 'lib32-libxrender' 'lib32-libxt' 'lib32-libxtst' 'lib32-tkimg' 'libpng12') + 'lib32-libxrender' 'lib32-libxt' 'lib32-libxtst') makedepends=('patchelf') -source=("http://download.altera.com/akdlm/software/acdsinst/${_mainver}std${_patchver/.0/}/${_buildver}/ib_tar/Quartus-lite-${pkgver}-linux.tar" - 'quartus.sh' 'quartus.desktop' 'modelsim-ase.desktop' '51-usbblaster.rules') -sha256sums=('3546e90f6496b17c3c3e3e8582a3991940ad73ed112740428864460cfab6e40a' - '2a3d61e6f01aa16c9d3ddd40e9741b9fd080496db5437530b4e38faf6771c1ed' - 'f8ba2a84c6f7551bb4ab62d17f77e2814c70871ddb15f0276f1bf89cc6c674b8' - 'a37738de447c50ca7bfe856466bd9567850ccf45ac6c3f0a6e63ef5bb863645f' - 'dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b') +source=("http://download.altera.com/akdlm/software/acdsinst/${_mainver}std${_patchver/.0/}/${_buildver}/ib_installers/QuartusLiteSetup-${pkgver}-linux.run" + "http://download.altera.com/akdlm/software/acdsinst/${_mainver}std${_patchver/.0/}/${_buildver}/ib_installers/ModelSimSetup-${pkgver}-linux.run" + "http://download.altera.com/akdlm/software/acdsinst/${_mainver}std${_patchver/.0/}/${_buildver}/ib_installers/QuartusHelpSetup-${pkgver}-linux.run" + "http://download.altera.com/akdlm/software/acdsinst/${_mainver}std${_patchver/.0/}/${_buildver}/ib_installers/"{arria_lite,cyclone{,10lp,v},max{,10}}"-${pkgver}.qdz" + 'quartus.sh' 'quartus.desktop' 'modelsim-ase.sh' 'modelsim-ase.desktop' '51-usbblaster.rules') +noextract=({arria_lite,cyclone{,10lp,v},max{,10}}"-${pkgver}.qdz") # Will extract directly to pkgdir +md5sums=('e995b65f09aa0855770a2315cf7bc2ff' + '6c0b26510477d20896becca042c33917' + 'cbfc39a16bc6fcbb6862aa676e2fbcfb' + 'a439bb4873e69bd23e35aced3ea9ba8c' + '14e47510cea47dc0ed92c8cb97d76488' + 'af64dc8c95035dd084e9e8b621eb1378' + '2b30d36171d1beb159971f89206e6d9f' + '2ef442bc8872aa4e39ed3b313e13cc2a' + '10284d71211a02f6dd20cbc41c9ececb' + '737d51fcc74c8d6d2114c8f4ba79e4de' + 'c5a8f6310ade971f07e5ee6c4e338054' + 'ea5eca3341da1628e57f3efb7e074796' + 'a32f9e42db394016ce267c8d96f69cd5' + 'f5744dc4820725b93917e3a24df13da9') options=(!strip !debug) # Stripping will takes ages, I'd avoid it -PKGEXT=".pkg.tar" # Same for compression +PKGEXT=".pkg.tar.zst" # ZSTD is fast enough for compression -package() { - echo "Notice: Requires around 24GB of free space during package building!" - echo "Notice: The package file also requires around 16GB of free space" - echo "Extracting install binaries and scripts from downloaded tar..." +prepare() { + echo "Notice: Requires around 20GB of free space during package building!" + echo "Notice: The package files also requires around 8GB of free space" - DISPLAY="" bash ./setup.sh --mode unattended --unattendedmodeui none --accept_eula 1 --installdir "${pkgdir}${_alteradir}" + chmod +x {QuartusLite,ModelSim,QuartusHelp}Setup-${pkgver}-linux.run +} + +package_quartus-free() { + depends=(${_components[@]}) + pkgdesc="Meta-package containing all Quartus Prime Lite tools and device libraries" +} + +package_quartus-free-quartus() { + depends+=(quartus-free-devinfo) + optdepends=("eclipse: For Nios II EDS") + + DISPLAY="" ./QuartusLiteSetup-${pkgver}-linux.run \ + --disable-components quartus_help,devinfo,modelsim_ase,modelsim_ae \ + --mode unattended \ + --unattendedmodeui none \ + --accept_eula 1 \ + --installdir "${pkgdir}${_alteradir}" # Remove uninstaller and install logs since we have a working package management rm -r "${pkgdir}${_alteradir}/uninstall" @@ -53,36 +85,29 @@ package() { # Remove useless unzip binaries find "${pkgdir}${_alteradir}" \( -name "unzip" -or -name "unzip32" \) -delete + # Remove duplicated file from help + rm -r "${pkgdir}${_alteradir}/quartus/common/help/webhelp" + # Fix interpreter for the license manager for prog in quartus/linux64/{lmutil,lmgrd}; do patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 "${pkgdir}${_alteradir}/${prog}" done - for prog in modelsim_ase/linuxaloem/{mgls/bin/,}{lmutil,lmgrd}; do - patchelf --set-interpreter /lib/ld-linux.so.2 "${pkgdir}${_alteradir}/${prog}" - done - # Fix world writable permissions - find "${pkgdir}${_alteradir}/nios2eds/documents" -perm -o+w -exec chmod go-w {} \+ + # Fix missing permissions + find "${pkgdir}${_alteradir}" \! -perm /o+rwx -exec chmod o=g {} \; # Replace altera directory in integration files sed -i "s,_alteradir,${_alteradir},g" quartus.sh sed -i "s,_alteradir,${_alteradir},g" quartus.desktop - sed -i "s,_alteradir,${_alteradir},g" modelsim-ase.desktop - - # Fix modelsim startup code for Linux Kernel >=4.0 - # see https://wiki.archlinux.org/index.php/Altera_Design_Software - sed -i 's,linux_rh60,linux,g' "${pkgdir}${_alteradir}/modelsim_ase/vco" - - # Modelsim bundles a copy of tkImg linked to old versions of libs - # Replace by system version - rm -rf "${pkgdir}${_alteradir}/modelsim_ase/linuxaloem/Img1.3" - ln -s /usr/lib32/Img[0-9]* "${pkgdir}${_alteradir}/modelsim_ase/linuxaloem/Img" # Remove pkgdir reference in sopc_builder sed -i "s,${pkgdir},,g" "${pkgdir}${_alteradir}/quartus/sopc_builder/.sopc_builder" - # Suppress spurious warning about linux-gate.so.1 - sed -i '/msg_system/a suppress = 3116' "${pkgdir}${_alteradir}/modelsim_ase/modelsim.ini" + # Fix world writable permissions + find "${pkgdir}${_alteradir}/nios2eds/documents" -perm -o+w -exec chmod go-w {} \+ + find "${pkgdir}${_alteradir}/quartus/common/tcl" -perm -o+w -exec chmod go-w {} \+ + find "${pkgdir}${_alteradir}/quartus/linux64" -perm -o+w -exec chmod go-w {} \+ + find "${pkgdir}${_alteradir}/quartus/sopc_builder/bin/europa" -perm -o+w -exec chmod go-w {} \+ # Copy license file install -D -m644 "${pkgdir}${_alteradir}/licenses/license.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" @@ -91,5 +116,64 @@ package() { install -D -m755 quartus.sh "${pkgdir}/etc/profile.d/quartus.sh" install -D -m644 51-usbblaster.rules "${pkgdir}/etc/udev/rules.d/51-usbblaster.rules" install -D -m644 quartus.desktop "${pkgdir}/usr/share/applications/quartus.desktop" +} + +package_quartus-free-modelsim() { + depends+=(lib32-alsa-lib lib32-libxi lib32-libxml2) + pkgdesc="Quartus Prime Lite - ModelSim-Intel FPGA Starter Edition" + + DISPLAY="" ./ModelSimSetup-${pkgver}-linux.run \ + --modelsim_edition modelsim_ase \ + --mode unattended \ + --unattendedmodeui none \ + --accept_eula 1 \ + --installdir "${pkgdir}${_alteradir}" + + # Remove uninstaller and install logs since we have a working package management + rm -r "${pkgdir}${_alteradir}/uninstall" + rm -r "${pkgdir}${_alteradir}/logs" + + for prog in modelsim_ase/linuxaloem/mgls/bin/{lmutil,lmgrd}; do + patchelf --set-interpreter /lib/ld-linux.so.2 "${pkgdir}${_alteradir}/${prog}" + done + + # Fix missing permissions + find "${pkgdir}${_alteradir}" \! -perm /o+rwx -exec chmod o=g {} \; + + # Replace altera directory in integration files + sed -i "s,_alteradir,${_alteradir},g" modelsim-ase.sh + sed -i "s,_alteradir,${_alteradir},g" modelsim-ase.desktop + + # Fix modelsim startup code for Linux Kernel >=4.0 + # see https://wiki.archlinux.org/index.php/Altera_Design_Software + sed -i 's,linux_rh60,linux,g' "${pkgdir}${_alteradir}/modelsim_ase/vco" + + # Suppress spurious warning about linux-gate.so.1 + sed -i '/msg_system/a suppress = 3116' "${pkgdir}${_alteradir}/modelsim_ase/modelsim.ini" + + # Install integration files + install -D -m755 modelsim-ase.sh "${pkgdir}/etc/profile.d/modelsim-ase.sh" install -D -m644 modelsim-ase.desktop "${pkgdir}/usr/share/applications/modelsim-ase.desktop" } + +package_quartus-free-help() { + depends=(quartus-free-quartus) + pkgdesc="Quartus Prime Lite - help files" + + DISPLAY="" ./QuartusHelpSetup-${pkgver}-linux.run --mode unattended --unattendedmodeui none --accept_eula 1 --installdir "${pkgdir}${_alteradir}" + + # Remove uninstaller and install logs since we have a working package management + rm -r "${pkgdir}${_alteradir}/uninstall" + rm -r "${pkgdir}${_alteradir}/logs" +} + +for _dev in {arria_lite,cyclone{,10lp,v},max{,10}}; do + eval " +package_${pkgbase}-devinfo-${_dev}() { + provides=(quartus-free-devinfo) + pkgdesc='Quartus Prime Lite - devinfo files for ${_dev}' + install -d \"\${pkgdir}\${_alteradir}\" + bsdtar -xf \"${_dev}-\${pkgver}.qdz\" -C \"\${pkgdir}\${_alteradir}\" +} +" +done |