summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel Souza Franco2018-09-29 13:04:35 +0200
committerGabriel Souza Franco2018-09-29 13:04:35 +0200
commitdccc89a1edc8d5b94c21131e5e425d9779a27811 (patch)
tree66c82daf329cb7437b5880e5585e552cf509d4d3
parent58dd15cb230df1f6bfefd2a9995b3d86c8f79941 (diff)
downloadaur-dccc89a1edc8d5b94c21131e5e425d9779a27811.tar.gz
Update to 18.1.0.625
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD68
-rwxr-xr-xinstallFiles.tcl143
3 files changed, 16 insertions, 207 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b74936a0a1c2..be1fa7916537 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index dd9177f7339b..3cf42d5536d7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"