Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/.SRCINFO b/.SRCINFO
- index cd872aa..14d003a 100644
- --- a/.SRCINFO
- +++ b/.SRCINFO
- @@ -1,11 +1,28 @@
- pkgbase = quartus-free
- pkgdesc = Quartus Prime Lite Edition design software for Altera FPGA's
- pkgver = 19.1.0.670
- - pkgrel = 1
- + pkgrel = 2
- url = http://fpgasoftware.intel.com/?edition=lite
- arch = x86_64
- license = custom
- makedepends = patchelf
- + options = !strip
- + options = !debug
- + source = http://download.altera.com/akdlm/software/acdsinst/19.1std/670/ib_tar/Quartus-lite-19.1.0.670-linux.tar
- + source = quartus.sh
- + source = quartus.desktop
- + source = modelsim-ase.sh
- + source = modelsim-ase.desktop
- + source = 51-usbblaster.rules
- + sha256sums = 3546e90f6496b17c3c3e3e8582a3991940ad73ed112740428864460cfab6e40a
- + sha256sums = 86232c74af23eda8b5ee4cf1599ad33505f5a709850589cee6e3bab85e3f54b0
- + sha256sums = f8ba2a84c6f7551bb4ab62d17f77e2814c70871ddb15f0276f1bf89cc6c674b8
- + sha256sums = 2a6bde11906744b49c34e23db6f28ae2d1bce6580eec4e6cbb6e576de2b60a05
- + sha256sums = a37738de447c50ca7bfe856466bd9567850ccf45ac6c3f0a6e63ef5bb863645f
- + sha256sums = dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b
- +
- +pkgname = quartus-free-base
- + pkgdesc = Quartus Prime Lite Edition design software for Altera FPGA's (base)
- depends = lib32-expat
- depends = lib32-fontconfig
- depends = lib32-freetype2
- @@ -29,18 +46,64 @@ pkgbase = quartus-free
- depends = lib32-libxtst
- depends = lib32-tkimg
- depends = libpng12
- - options = !strip
- - options = !debug
- - source = http://download.altera.com/akdlm/software/acdsinst/19.1std/670/ib_tar/Quartus-lite-19.1.0.670-linux.tar
- - source = quartus.sh
- - source = quartus.desktop
- - source = modelsim-ase.desktop
- - source = 51-usbblaster.rules
- - sha256sums = 3546e90f6496b17c3c3e3e8582a3991940ad73ed112740428864460cfab6e40a
- - sha256sums = 2a3d61e6f01aa16c9d3ddd40e9741b9fd080496db5437530b4e38faf6771c1ed
- - sha256sums = f8ba2a84c6f7551bb4ab62d17f77e2814c70871ddb15f0276f1bf89cc6c674b8
- - sha256sums = a37738de447c50ca7bfe856466bd9567850ccf45ac6c3f0a6e63ef5bb863645f
- - sha256sums = dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b
- +
- +pkgname = quartus-free-ip
- + pkgdesc = IP for Quartus Prime Lite Edition
- + depends = quartus-free-base=19.1.0.670-2
- +
- +pkgname = quartus-free-modelsim_ase
- + pkgdesc = ModelSim-Intel FPGA Starter Edition
- + depends = quartus-free-base=19.1.0.670-2
- +
- +pkgname = quartus-free-nios2eds
- + pkgdesc = Nios II Embedded Design Suite
- + depends = quartus-free-base=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus
- + pkgdesc = Quartus Prime Lite Edition
- + depends = quartus-free-base=19.1.0.670-2
- + depends = quartus-free-ip=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-help
- + pkgdesc = Help for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-arria_lite
- + pkgdesc = Arria Support for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-cyclone
- + pkgdesc = Cyclone IV Support for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-cyclone10lp
- + pkgdesc = Cyclone 10 LP Support for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-cyclonev
- + pkgdesc = Cyclone V Support for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-max
- + pkgdesc = MAX II and MAX V Support for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- +
- +pkgname = quartus-free-quartus-max10
- + pkgdesc = MAX 10 Support for Quartus Prime Lite Edition
- + depends = quartus-free-quartus=19.1.0.670-2
- pkgname = quartus-free
- + pkgdesc = Quartus Prime Lite Edition design software for Altera FPGA's
- + depends = quartus-free-base
- + depends = quartus-free-ip
- + depends = quartus-free-modelsim_ase
- + depends = quartus-free-nios2eds
- + depends = quartus-free-quartus
- + depends = quartus-free-quartus-help
- + depends = quartus-free-quartus-arria_lite
- + depends = quartus-free-quartus-cyclone
- + depends = quartus-free-quartus-cyclone10lp
- + depends = quartus-free-quartus-cyclonev
- + depends = quartus-free-quartus-max
- + depends = quartus-free-quartus-max10
- diff --git a/PKGBUILD b/PKGBUILD
- index 33b1686..31fcfe2 100644
- --- a/PKGBUILD
- +++ b/PKGBUILD
- @@ -1,17 +1,19 @@
- # 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
- +pkgbase=quartus-free
- +pkgname=(${pkgbase}-{base,ip,modelsim_ase,nios2eds,quartus,quartus-help,quartus-arria_lite,quartus-cyclone,quartus-cyclone10lp,quartus-cyclonev,quartus-max,quartus-max10} ${pkgbase})
- _mainver=19.1
- # Keep dot in _patchver
- _patchver=.0
- _buildver=670
- _basever=.0.670
- pkgver=${_mainver}${_patchver}.${_buildver}
- -pkgrel=1
- +pkgrel=2
- pkgdesc="Quartus Prime Lite Edition design software for Altera FPGA's"
- arch=('x86_64')
- url="http://fpgasoftware.intel.com/?edition=lite"
- @@ -19,77 +21,217 @@ license=('custom')
- _alteradir="/opt/altera/${_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')
- -
- 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')
- + 'quartus.sh' 'quartus.desktop' 'modelsim-ase.sh' 'modelsim-ase.desktop' '51-usbblaster.rules')
- sha256sums=('3546e90f6496b17c3c3e3e8582a3991940ad73ed112740428864460cfab6e40a'
- - '2a3d61e6f01aa16c9d3ddd40e9741b9fd080496db5437530b4e38faf6771c1ed'
- + '86232c74af23eda8b5ee4cf1599ad33505f5a709850589cee6e3bab85e3f54b0'
- 'f8ba2a84c6f7551bb4ab62d17f77e2814c70871ddb15f0276f1bf89cc6c674b8'
- + '2a6bde11906744b49c34e23db6f28ae2d1bce6580eec4e6cbb6e576de2b60a05'
- 'a37738de447c50ca7bfe856466bd9567850ccf45ac6c3f0a6e63ef5bb863645f'
- 'dd9d33fa2698a0ec11ae86f4508f77e2e12bf4a21224f5b16640bc41d6c0999b')
- options=(!strip !debug) # Stripping will takes ages, I'd avoid it
- -PKGEXT=".pkg.tar" # Same for compression
- +PKGEXT=".pkg.tar.lz4" # Use faster lz4 compression
- +
- +build() {
- + # Remove old installion dir
- + rm -rf "${srcdir}/install"
- -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..."
- - DISPLAY="" bash ./setup.sh --mode unattended --unattendedmodeui none --accept_eula 1 --installdir "${pkgdir}${_alteradir}"
- + DISPLAY="" bash ./setup.sh --mode unattended --unattendedmodeui none --accept_eula 1 --installdir "${srcdir}/install"
- # Remove uninstaller and install logs since we have a working package management
- - rm -r "${pkgdir}${_alteradir}/uninstall"
- - rm -r "${pkgdir}${_alteradir}/logs"
- + rm -r "${srcdir}/install/uninstall"
- + rm -r "${srcdir}/install/logs"
- # Remove useless unzip binaries
- - find "${pkgdir}${_alteradir}" \( -name "unzip" -or -name "unzip32" \) -delete
- + find "${srcdir}/install" \( -name "unzip" -or -name "unzip32" \) -delete
- # 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}"
- + patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 "${srcdir}/install/${prog}"
- done
- for prog in modelsim_ase/linuxaloem/{mgls/bin/,}{lmutil,lmgrd}; do
- - patchelf --set-interpreter /lib/ld-linux.so.2 "${pkgdir}${_alteradir}/${prog}"
- + patchelf --set-interpreter /lib/ld-linux.so.2 "${srcdir}/install/${prog}"
- done
- # Fix world writable permissions
- - find "${pkgdir}${_alteradir}/nios2eds/documents" -perm -o+w -exec chmod go-w {} \+
- + find "${srcdir}/install/nios2eds/documents" -perm -o+w -exec chmod go-w {} \+
- # 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"
- + sed -i 's,linux_rh60,linux,g' "${srcdir}/install/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"
- + rm -rf "${srcdir}/install/modelsim_ase/linuxaloem/Img1.3"
- + ln -s /usr/lib32/Img[0-9]* "${srcdir}/install/modelsim_ase/linuxaloem/Img"
- # Remove pkgdir reference in sopc_builder
- - sed -i "s,${pkgdir},,g" "${pkgdir}${_alteradir}/quartus/sopc_builder/.sopc_builder"
- + sed -i "s,${pkgdir},,g" "${srcdir}/install/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"
- + sed -i '/msg_system/a suppress = 3116' "${srcdir}/install/modelsim_ase/modelsim.ini"
- +
- +
- + # move quartus prime help to seperate folder
- + mkdir -p "${srcdir}/install/help/"
- + mv "${srcdir}/install/quartus/common/help/tutorial" "${srcdir}/install/help/"
- + mv "${srcdir}/install/quartus/common/help/webhelp" "${srcdir}/install/help/"
- +
- + # move quartus prime device infos to seperate folder
- + mkdir -p "${srcdir}/install/devinfo"
- + mv "${srcdir}/install/quartus/common/devinfo/arriaii" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/cycloneive" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/cycloneivgx" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/cyclone10lp" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/cyclonev" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/maxii" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/maxv" "${srcdir}/install/devinfo/"
- + mv "${srcdir}/install/quartus/common/devinfo/55nm" "${srcdir}/install/devinfo/"
- +}
- +
- +package_quartus-free-base() {
- + pkgdesc="Quartus Prime Lite Edition design software for Altera FPGA's (base)"
- + # 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')
- # Copy license file
- - install -D -m644 "${pkgdir}${_alteradir}/licenses/license.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- + install -D -m644 "${srcdir}/install/licenses/license.txt" "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
- +
- + # Copy license directory
- + mkdir -p "${pkgdir}${_alteradir}"
- + mv "${srcdir}/install/licenses" "${pkgdir}${_alteradir}"
- +}
- +
- +package_quartus-free-ip() {
- + pkgdesc="IP for Quartus Prime Lite Edition"
- + depends=("quartus-free-base=$pkgver-$pkgrel")
- +
- + # Install ip
- + mkdir -p "${pkgdir}${_alteradir}"
- + mv "${srcdir}/install/ip" "${pkgdir}${_alteradir}"
- +}
- +
- +package_quartus-free-modelsim_ase(){
- + pkgdesc="ModelSim-Intel FPGA Starter Edition"
- + depends=("quartus-free-base=$pkgver-$pkgrel")
- - # Install integration files
- + # Install modelsim 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"
- +
- + # Install modelsim
- + mkdir -p "${pkgdir}${_alteradir}"
- + mv "${srcdir}/install/modelsim_ase" "${pkgdir}${_alteradir}"
- +}
- +
- +package_quartus-free-nios2eds(){
- + pkgdesc="Nios II Embedded Design Suite"
- + depends=("quartus-free-base=$pkgver-$pkgrel")
- +
- + # Install nios2eds
- + mkdir -p "${pkgdir}${_alteradir}"
- + mv "${srcdir}/install/nios2eds" "${pkgdir}${_alteradir}"
- +}
- +
- +package_quartus-free-quartus(){
- + pkgdesc="Quartus Prime Lite Edition"
- + depends=("quartus-free-base=$pkgver-$pkgrel" "quartus-free-ip=$pkgver-$pkgrel")
- +
- + # Install quartus integration files
- 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"
- - install -D -m644 modelsim-ase.desktop "${pkgdir}/usr/share/applications/modelsim-ase.desktop"
- + # Install usb blaster udev rule
- + install -D -m644 51-usbblaster.rules "${pkgdir}/etc/udev/rules.d/51-usbblaster.rules"
- +
- + # Install quartus
- + mkdir -p "${pkgdir}${_alteradir}"
- + mv "${srcdir}/install/quartus" "${pkgdir}${_alteradir}"
- +}
- +
- +package_quartus-free-quartus-help(){
- + pkgdesc="Help for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install quartus help
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/help/"
- + mv "${srcdir}/install/help/tutorial" "${pkgdir}${_alteradir}/quartus/common/help/"
- + mv "${srcdir}/install/help/webhelp" "${pkgdir}${_alteradir}/quartus/common/help/"
- +}
- +
- +package_quartus-free-quartus-arria_lite(){
- + pkgdesc="Arria Support for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install arria device support
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/arriaii" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- +}
- +
- +package_quartus-free-quartus-cyclone(){
- + pkgdesc="Cyclone IV Support for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install cyclone iv device support
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/cycloneive" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/cycloneivgx" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- +}
- +
- +package_quartus-free-quartus-cyclone10lp(){
- + pkgdesc="Cyclone 10 LP Support for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install cyclone 10 lp device support
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/cyclone10lp" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- +}
- +
- +package_quartus-free-quartus-cyclonev(){
- + pkgdesc="Cyclone V Support for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install cyclone V device support
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/cyclonev" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- +}
- +
- +package_quartus-free-quartus-max(){
- + pkgdesc="MAX II and MAX V Support for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install max II and max V device support
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/maxii" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/maxv" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- +}
- +
- +package_quartus-free-quartus-max10(){
- + pkgdesc="MAX 10 Support for Quartus Prime Lite Edition"
- + depends=("quartus-free-quartus=$pkgver-$pkgrel")
- +
- + # Install max 10 device support
- + mkdir -p "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- + mv "${srcdir}/install/devinfo/55nm" "${pkgdir}${_alteradir}/quartus/common/devinfo/"
- +}
- +
- +#metapackage to install everything
- +package_quartus-free() {
- + pkgdesc="Quartus Prime Lite Edition design software for Altera FPGA's"
- + depends=(${pkgbase}-{base,ip,modelsim_ase,nios2eds,quartus,quartus-help,quartus-arria_lite,quartus-cyclone,quartus-cyclone10lp,quartus-cyclonev,quartus-max,quartus-max10})
- }
- diff --git a/modelsim-ase.sh b/modelsim-ase.sh
- new file mode 100644
- index 0000000..b056e9d
- --- /dev/null
- +++ b/modelsim-ase.sh
- @@ -0,0 +1 @@
- +export PATH=$PATH:_alteradir/modelsim_ase/bin
- diff --git a/quartus.sh b/quartus.sh
- index cf627ae..5080e68 100644
- --- a/quartus.sh
- +++ b/quartus.sh
- @@ -1,4 +1,5 @@
- -export PATH=$PATH:_alteradir/quartus/bin:_alteradir/modelsim_ase/bin
- +export PATH=$PATH:_alteradir/quartus/bin:_alteradir/quartus/sopc_builder/bin
- +export QUARTUS_ROOTDIR=_alteradir/quartus/
- # Detect if a 64bit machine and activate quartus
- # depending on it.
Add Comment
Please, Sign In to add comment