diff options
author | Gabriel Souza Franco | 2018-09-29 13:04:35 +0200 |
---|---|---|
committer | Gabriel Souza Franco | 2018-09-29 13:04:35 +0200 |
commit | dccc89a1edc8d5b94c21131e5e425d9779a27811 (patch) | |
tree | 66c82daf329cb7437b5880e5585e552cf509d4d3 | |
parent | 58dd15cb230df1f6bfefd2a9995b3d86c8f79941 (diff) | |
download | aur-dccc89a1edc8d5b94c21131e5e425d9779a27811.tar.gz |
Update to 18.1.0.625
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 68 | ||||
-rwxr-xr-x | installFiles.tcl | 143 |
3 files changed, 16 insertions, 207 deletions
@@ -1,14 +1,10 @@ pkgbase = quartus-free pkgdesc = Quartus Prime Lite Edition design software for Altera FPGA's - pkgver = 18.0.0.614 + pkgver = 18.1.0.625 pkgrel = 1 url = https://dl.altera.com/?edition=lite arch = x86_64 license = custom - makedepends = unzip - makedepends = metakit - makedepends = tcl-cookfs - makedepends = tdom makedepends = patchelf depends = lib32-expat depends = lib32-fontconfig @@ -35,18 +31,16 @@ pkgbase = quartus-free depends = libpng12 options = !strip options = !debug - source = http://download.altera.com/akdlm/software/acdsinst/18.0std/614/ib_tar/Quartus-lite-18.0.0.614-linux.tar + source = http://download.altera.com/akdlm/software/acdsinst/18.1std/625/ib_tar/Quartus-lite-18.1.0.625-linux.tar source = quartus.sh source = quartus.desktop source = modelsim-ase.desktop source = 51-usbblaster.rules - source = installFiles.tcl - sha256sums = 25d40a57c1c2e66a36f18fd7545b5ba39e75e7db6201bb0c86da8e909d5a8915 + sha256sums = abf4018d972c9de3b53117cbfce84f6fc7888f45db169978f993f0c1684ad3fd sha256sums = 2a3d61e6f01aa16c9d3ddd40e9741b9fd080496db5437530b4e38faf6771c1ed sha256sums = f8ba2a84c6f7551bb4ab62d17f77e2814c70871ddb15f0276f1bf89cc6c674b8 sha256sums = 1092f7fe1e6471f2f6fe12177ecb8781c26ec1fededd10f9e65de921debb8696 sha256sums = dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b - sha256sums = e91f5fceffe9220f15edd6fc403c578ad260ba81debf27a4978d0c07fcd8649e pkgname = quartus-free @@ -5,10 +5,10 @@ # NOTE: If you plan on using the usbblaster make sure you are member of the plugdev group. # pkgname=quartus-free -_mainver=18.0 +_mainver=18.1 # Keep dot in _patchver _patchver=.0 -_buildver=614 +_buildver=625 _basever=.0.614 pkgver=${_mainver}${_patchver}.${_buildver} pkgrel=1 @@ -26,16 +26,15 @@ depends=('lib32-expat' 'lib32-fontconfig' 'lib32-freetype2' 'lib32-glibc' 'lib32-libx11' 'lib32-libxau' 'lib32-libxdmcp' 'lib32-libxext' 'lib32-libxft' 'lib32-libxrender' 'lib32-libxt' 'lib32-libxtst' 'lib32-tkimg' 'libpng12') -makedepends=('unzip' 'metakit' 'tcl-cookfs' 'tdom' 'patchelf') +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' 'installFiles.tcl') -sha256sums=('25d40a57c1c2e66a36f18fd7545b5ba39e75e7db6201bb0c86da8e909d5a8915' + 'quartus.sh' 'quartus.desktop' 'modelsim-ase.desktop' '51-usbblaster.rules') +sha256sums=('abf4018d972c9de3b53117cbfce84f6fc7888f45db169978f993f0c1684ad3fd' '2a3d61e6f01aa16c9d3ddd40e9741b9fd080496db5437530b4e38faf6771c1ed' 'f8ba2a84c6f7551bb4ab62d17f77e2814c70871ddb15f0276f1bf89cc6c674b8' '1092f7fe1e6471f2f6fe12177ecb8781c26ec1fededd10f9e65de921debb8696' - 'dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b' - 'e91f5fceffe9220f15edd6fc403c578ad260ba81debf27a4978d0c07fcd8649e') + 'dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b') options=(!strip !debug) # Stripping will takes ages, I'd avoid it PKGEXT=".pkg.tar" # Same for compression @@ -44,40 +43,14 @@ package() { echo "Notice: Requires around 34GB of free space during package building!" echo "Extracting install binaries and scripts from downloaded tar..." - # Quartus installer deadlocks when using recent glibc - # Work around it by doing the install ourselves + DISPLAY="" bash ./setup.sh --mode unattended --unattendedmodeui none --accept_eula 1 --installdir "${pkgdir}${_alteradir}" - echo "==> Installing QuartusLiteSetup" - ./installFiles.tcl components/QuartusLiteSetup-${_mainver}${_basever}-linux.run "${pkgdir}${_alteradir}" - - echo "==> Installing QuartusHelpSetup" - ./installFiles.tcl components/QuartusHelpSetup-${_mainver}${_basever}-linux.run "${pkgdir}${_alteradir}" - unzip -qq -o "${pkgdir}${_alteradir}/quartus/common/help/webhelp.zip" -d "${pkgdir}${_alteradir}/quartus/common/help/" - rm -f "${pkgdir}${_alteradir}/quartus/common/help/webhelp.zip" - - echo "==> Installing ModelSimSetup" - ./installFiles.tcl components/ModelSimSetup-${_mainver}${_basever}-linux.run "${pkgdir}${_alteradir}" "product_key modelsim_ase" - unzip -qq -o "${pkgdir}${_alteradir}/modelsim_ase/altera/modelsim_altera_verilog.zip" -d "${pkgdir}${_alteradir}/modelsim_ase/altera" - rm -f "${pkgdir}${_alteradir}/modelsim_ase/altera/modelsim_altera_verilog.zip" - unzip -qq -o "${pkgdir}${_alteradir}/modelsim_ase/altera/modelsim_altera_vhdl.zip" -d "${pkgdir}${_alteradir}/modelsim_ase/altera" - rm -f "${pkgdir}${_alteradir}/modelsim_ase/altera/modelsim_altera_vhdl.zip" - - for dev in arria_lite cyclone10lp cyclone cyclonev max10 max; do - echo "=> Installing component files for ${dev} devices" - unzip -qq -o components/${dev}-${_mainver}${_basever}.qdz -d "${pkgdir}${_alteradir}" - done - - #echo "=> Installing update file QuartusSetup-${pkgver}" - #./installFiles.tcl components/QuartusSetup-${pkgver}-linux.run "${pkgdir}${_alteradir}" - echo "Finished extracting binaries and scripts." + # Remove uninstaller and install logs since we have a working package management + rm -r "${pkgdir}${_alteradir}/uninstall" + rm -r "${pkgdir}${_alteradir}/logs" # Remove useless unzip binaries find "${pkgdir}${_alteradir}" \( -name "unzip" -or -name "unzip32" \) -delete - # Remove not installed folder - rmdir "${pkgdir}${_alteradir}/modelsim_ae" - - # vlib needs this folder for some reason - ln -s ${_alteradir}/modelsim_ase/linuxaloem "${pkgdir}${_alteradir}/modelsim_ase/linuxpe" # Fix interpreter for the license manager for prog in quartus/linux64/{lmutil,lmgrd}; do @@ -90,24 +63,6 @@ package() { # Fix world writable permissions find "${pkgdir}${_alteradir}/nios2eds/documents" -perm -o+w -exec chmod go-w {} \+ - # Create Lite "license" files - touch "${pkgdir}${_alteradir}/quartus/linux64/qvweid.fil" - touch "${pkgdir}${_alteradir}/modelsim_ase/lib/.awe" - - # This file is removed for some reason - rm -f "${pkgdir}${_alteradir}/quartus/linux64/libsys_tb2_base.so" - - # The installer creates this file - mkdir -p "${pkgdir}${_alteradir}/quartus/sopc_builder" - cat > "${pkgdir}${_alteradir}/quartus/sopc_builder/.sopc_builder" <<EOF -# .sopc_builder configuration file: -sopc_builder = "${_alteradir}/quartus/sopc_builder"; -sopc_legacy_dir = ""; -sopc_quartus_dir = "${_alteradir}/quartus/"; -sopc_modelsim_dir = ""; -sopc_ui_debug = "0"; -EOF - # Replace altera directory in integration files sed -i "s,_alteradir,${_alteradir},g" quartus.sh sed -i "s,_alteradir,${_alteradir},g" quartus.desktop @@ -122,6 +77,9 @@ EOF 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" diff --git a/installFiles.tcl b/installFiles.tcl deleted file mode 100755 index 7e503b0b52c2..000000000000 --- a/installFiles.tcl +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/env tclsh -package require Mk4tcl -package require zlib -package require vfs::mk4 -package require vfs::cookfs -package require tdom - -if {$argc < 2} { - puts "Usage: installFiles.tcl <installer> <install dir>" - exit 1 -} - -set installer [lindex $argv 0] - -set fd [open $installer rb] -seek $fd -16 end -binary scan [read $fd 16] IIII guard1 offset guard2 guard3 -seek $fd [expr {-16-$offset}] end - -mk::file open db -mk::file load db $fd -close $fd - -vfs::filesystem mount installerFiles [list vfs::mk4::handler db] - -set fd [open installerFiles/cookfsinfo.txt r] -set cookfsinfo [read $fd] -close $fd - -lappend auto_path [file normalize installerFiles/libraries] -package require Tcllzmadec - -set fd [open installerFiles/project.xml r] -set proj [dom parse -channel $fd] -close $fd - -set fd [open installerFiles/manifest.txt r] -set manifest [read $fd] -close $fd - -set components [$proj selectNodes /project//componentList/component] -set variables [$proj selectNodes /project/initializationActionList//setInstallerVariable] -set mappings [dict create] -foreach component $components { - foreach folder [$component selectNodes folderList/folder] { - dict set mappings [string cat [[$component selectNodes name] text] "/" [[$folder selectNodes name] text]] [[$folder selectNodes destination] text] - } -} - -vfs::cookfs::Mount {*}$cookfsinfo $installer files - -set installdir [lindex $argv 1] - -proc setVariables {} { - uplevel { - global variables - global argc - global argv - foreach var $variables { - set varname [$var selectNodes name] - set varvalue [$var selectNodes value] - if {$varname ne "" && $varvalue ne ""} { - set [$varname text] [$varvalue text] - } - } - if {$argc >= 3} { - dict for {var value} [lindex $argv 2] { - set $var $value - } - } - } -} - -proc extractFiles {dic type} { - global mappings - global installdir - - setVariables - - dict for {path fstat} $dic { - set filt [dict filter $mappings script {k v} { - set a [string first $k $path 0] - expr !$a - }] - - if {[dict size $filt] == 1} { - set mapping [dict get $filt] - set dest [subst -nobackslashes -nocommands [lindex $mapping 1]]/ - set final_path [string replace $path 0 [string length [lindex $mapping 0]] $dest] - - switch $type { - "directory" { - file mkdir $final_path - set fatt [lindex $fstat 1] - file attributes $final_path -permissions [string range $fatt [expr {[string length $fatt]-4}] [string length $fatt]] - } - "file" { - if {[file exists $final_path]} { - file delete -force -- $final_path - } - set fatt [lindex $fstat 1] - set fout [open $final_path wb [string range $fatt [expr {[string length $fatt]-4}] [string length $fatt]]] - set fin [open files/$path rb] - fcopy $fin $fout - close $fin - set counter 1 - while {[file exists files/${path}___bitrockBigFile$counter]} { - set fin [open files/${path}___bitrockBigFile$counter rb] - fcopy $fin $fout - close $fin - incr counter - } - close $fout - } - "link" { - exec ln -s [lindex $fstat 1] $final_path - } - } - } - } -} - -setVariables - -foreach mapping [dict values $mappings] { - file mkdir [subst -nobackslashes -nocommands $mapping] -} - -set directories [dict filter $manifest script {k v} { - expr {[lindex $v 0] eq "directory"} -}] - -set files [dict filter $manifest script {k v} { - expr {[lindex $v 0] eq "file"} -}] - -set links [dict filter $manifest script {k v} { - expr {[lindex $v 0] eq "link"} -}] - -extractFiles $directories "directory" -extractFiles $files "file" -extractFiles $links "link" |