diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 131 |
2 files changed, 85 insertions, 60 deletions
@@ -1,23 +1,27 @@ pkgbase = vivado pkgdesc = FPGA/CPLD design suite for Xilinx devices - pkgver = 2021.1 - pkgrel = 3 + pkgver = 2023.2 + pkgrel = 1 url = https://www.xilinx.com/products/design-tools/vivado.html arch = x86_64 license = custom depends = ncurses5-compat-libs + depends = libxcrypt-compat depends = libpng12 depends = lib32-libpng12 - depends = gtk2 + depends = gtk3 + depends = inetutils depends = xorg-xlsclients depends = cpio optdepends = fxload optdepends = digilent.adept.runtime optdepends = digilent.adept.utilities + optdepends = matlab: Model Composer + optdepends = qt4: Model Composer options = !strip - source = file:///Xilinx_Unified_2021.1_0610_2318.tar.gz + source = file:///FPGAs_AdaptiveSoCs_Unified_2023.2_1013_2256.tar.gz source = spoof_homedir.c - md5sums = 3a88784dbed40ab1008c28b040717f72 + md5sums = 64d64e9b937b6fd5e98b41811c74aab2 md5sums = 69d14ad64f6ec44e041eaa8ffcb6f87c pkgname = vivado @@ -1,97 +1,118 @@ -# Maintainer: xiretza <aur@xiretza.xyz> +# Maintainer: leuko <aydos.de> +# Maintainer: VitalyR <vr@vitalyr.com> +# Maintainer: phanium <$(echo bnhoc2R1QHFxLmNvbQo= | base64 -d)> +# Former Maintainer: xiretza <aur@xiretza.xyz> # Contributor: Darren Wu <$(base64 --decode <<<'ZGFycmVuMTk5NzA4MTBAZ21haWwuY29tCg==')> +# This PKGBUILD can also be used to install *Vitis Unified Software Platform*. +# See `package()` for details. + # BUILD INSTRUCTIONS: # -# 1. Log in to xilinx.com -# 2. Go to https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools.html -# 3. Download "Xilinx Unified Installer SFD (TAR/GZIP)" - WARNING: This file is >50GB in size -# 4. Place the .tar.gz in the same directory as the PKGBUILD -# 5. Build! +# 1. Go to https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools.html +# 2. Download "AMD Unified Installer for FPGAs & Adaptive SoCs SFD" - WARNING: +# (1) This file is >100GB in size (2) You need an account for US export +# controls. 3. Place the .tar.gz in the same directory as the PKGBUILD +# 4. Build! # # No refunds for broken AUR helpers, just use make(chroot)pkg. # # SOME MORE NOTES: # -# This package is huge. The download alone is a 52GB .tar.gz, which decompresses to ~54GB, -# and the final zstd-compressed package is another 21GB. Reserve ~150GB in total for building. +# This package is huge. The download alone is a barely-compressed >100GB +# .tar.gz (extracts to ~100GB) and the final zstd-compressed package is another +# 20GB. Reserve at least 200GB in total for building. # -# It can also take up to two hours to build, being mostly limited by I/O and single-thread -# performance. `namcap` takes another 30 minutes, make sure you're not running that automatically. +# It can also take up to two hours to build, being mostly limited by I/O and +# single-thread performance. `namcap` takes another 30 minutes, make sure +# you're not running that automatically. # -# It *also* requires a reasonably ugly hack to build: since package() is run under fakeroot, -# and the installer tries to access the home directory no matter what `--location` is set to, -# it fails during "Running post-install tasks" because it tries to access `/root`. -# To fix this, a tiny shared library (see spoof_homedir.c) is LD_PRELOADed. Its only job is to -# wrap the `getpwuid()` function and modify the original return value for uid==0. +# It *also* requires a reasonably ugly hack to build: since package() is run +# under fakeroot, and the installer tries to access the home directory no +# matter what `--location` is set to, it fails during "Running post-install +# tasks" because it tries to access `/root`. To fix this, a tiny shared library +# (see spoof_homedir.c) is LD_PRELOADed. Its only job is to wrap the +# `getpwuid()` function and modify the original return value for uid==0. pkgname=vivado -_srcname=Xilinx_Unified -pkgver=2021.1 -_more_ver=0610_2318 -pkgrel=3 +_srcname=FPGAs_AdaptiveSoCs_Unified +pkgver=2023.2 +_more_ver=1013_2256 +pkgrel=1 pkgdesc="FPGA/CPLD design suite for Xilinx devices" url="https://www.xilinx.com/products/design-tools/vivado.html" arch=('x86_64') license=('custom') depends=('ncurses5-compat-libs' - 'libpng12' - 'lib32-libpng12' - 'gtk2' - 'xorg-xlsclients' - 'cpio' + 'libxcrypt-compat' + 'libpng12' + 'lib32-libpng12' + 'gtk3' + 'inetutils' + 'xorg-xlsclients' + 'cpio' ) optdepends=('fxload' - 'digilent.adept.runtime' - 'digilent.adept.utilities' + 'digilent.adept.runtime' + 'digilent.adept.utilities' + 'matlab: Model Composer' + 'qt4: Model Composer' ) source=("file:///${_srcname}_${pkgver}_${_more_ver}.tar.gz" - 'spoof_homedir.c') + 'spoof_homedir.c') # checksum from https://www.xilinx.com/support/download.html -md5sums=('3a88784dbed40ab1008c28b040717f72' - '69d14ad64f6ec44e041eaa8ffcb6f87c') +md5sums=('64d64e9b937b6fd5e98b41811c74aab2' + '69d14ad64f6ec44e041eaa8ffcb6f87c') # takes forever for probably minimal gain options=('!strip') prepare() { - mkdir -p "$srcdir/installer_temp" + mkdir -p "$srcdir/installer_temp" } build() { - # build our getpwuid() wrapper library - gcc -shared -fPIC -D "FAKE_HOME=\"$srcdir/installer_temp\"" spoof_homedir.c -o spoof_homedir.so -ldl + # build our getpwuid() wrapper library + gcc -shared -fPIC -D "FAKE_HOME=\"$srcdir/installer_temp\"" spoof_homedir.c -o spoof_homedir.so -ldl } package() { - cd "${_srcname}_${pkgver}_${_more_ver}" + cd "${_srcname}_${pkgver}_${_more_ver}" + + # LD_PRELOAD already contains libfakeroot.so, add our own library before that + LD_PRELOAD="$srcdir/spoof_homedir.so:$LD_PRELOAD" ./xsetup \ + --batch Install \ + --agree XilinxEULA,3rdPartyEULA \ + --product Vivado \ + --edition 'Vivado ML Standard' \ + --location "$pkgdir/opt/Xilinx" - # LD_PRELOAD already contains libfakeroot.so, add our own library before that - LD_PRELOAD="$srcdir/spoof_homedir.so:$LD_PRELOAD" ./xsetup \ - --batch Install \ - --agree XilinxEULA,3rdPartyEULA,WebTalkTerms \ - --product Vivado \ - --edition 'Vivado ML Standard' \ - --location "$pkgdir/opt/Xilinx" + # For *Vitis Unified Software Platform*, use: + # ``` + # --product Vitis \ + # --edition 'Vitis Unified Software Platform' \ + # ``` + # The unified installer that you downloaded includes all Vivado and Vitis + # editions. - # install udev rules - install -Dm644 "$pkgdir/opt/Xilinx/Vivado/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-digilent-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/" - install -Dm644 "$pkgdir/opt/Xilinx/Vivado/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-ftdi-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/" - install -Dm644 "$pkgdir/opt/Xilinx/Vivado/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-pcusb.rules" -t "$pkgdir/usr/lib/udev/rules.d/" + # install udev rules + install -Dm644 "$pkgdir/opt/Xilinx/Vivado/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-digilent-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/" + install -Dm644 "$pkgdir/opt/Xilinx/Vivado/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-ftdi-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/" + install -Dm644 "$pkgdir/opt/Xilinx/Vivado/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-pcusb.rules" -t "$pkgdir/usr/lib/udev/rules.d/" - # install desktop files - for deskfile in "$srcdir"/installer_temp/Desktop/*.desktop; do - sed -i -e "s|$pkgdir||g" "$deskfile" - install -Dm644 -t "$pkgdir/usr/share/applications/" "$deskfile" - done + # install desktop files + for deskfile in "$srcdir"/installer_temp/Desktop/*.desktop; do + sed -i -e "s|$pkgdir||g" "$deskfile" + install -Dm644 -t "$pkgdir/usr/share/applications/" "$deskfile" + done - # clean up artefacts, remove leading $pkgdir from paths - rm -rf "$pkgdir/opt/Xilinx/.xinstall/" - find "$pkgdir/opt/Xilinx/" -name '*settings64*' -exec sed -i -e "s|$pkgdir||g" '{}' \+ + # clean up artefacts, remove leading $pkgdir from paths + rm -rf "$pkgdir/opt/Xilinx/.xinstall/" + find "$pkgdir/opt/Xilinx/" -name '*settings64*' -exec sed -i -e "s|$pkgdir||g" '{}' \+ - # Save space for subsequent packaging, checking etc - cd .. - rm -rf "${_srcname}_${pkgver}_${_more_ver}" + # Save space for subsequent packaging, checking etc + cd .. + rm -rf "${_srcname}_${pkgver}_${_more_ver}" } |