# Maintainer: Marcel Robitaille # Contributor: Grey Christoforo # Contributor: mickael9 # Contributor: thodnev _number_of_bits=32 pkgname=microchip-mplabxc${_number_of_bits}-bin pkgver=4.21 pkgrel=1 pkgdesc="Microchip's MPLAB XC${_number_of_bits} C compiler toolchain for all of their 32bit microcontrollers" arch=(x86_64) url=https://www.microchip.com/development-tools/downloads-archive license=(custom) depends=(gcc-libs) makedepends=(bitrock-unpacker rsync) options=(!strip docs libtool emptydirs !zipman staticlibs) source=("https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/xc${_number_of_bits}-v$pkgver-full-install-linux-x64-installer.run") sha256sums=('2c69429ecc0c2adb76c94691770543f91d4a0c4609c1338ccf41c69b6d10bd11') install=$pkgname.install instdir="/opt/microchip/xc${_number_of_bits}/v${pkgver}" build() { msg2 "Unpacking files from Microchip's installer blob" bitrock-unpacker ./xc${_number_of_bits}-v$pkgver-full-install-linux-x64-installer.run ./unpacked.vfs } package() { mkdir -p "${pkgdir}${instdir}" mv unpacked.vfs/compiler/programfiles*/* "${pkgdir}${instdir}" mv unpacked.vfs/licensecomponent/xclmBinlinux32/bin/{roam.lic,xclm} "${pkgdir}${instdir}/bin" chmod +s "${pkgdir}${instdir}/bin/xclm" sed -i "s//\n\t/" \ unpacked.vfs/licensecomponent/xclmBinlinux32/etc/xclm.conf rsync -av unpacked.vfs/licensecomponent/xclmBinlinux32/etc "${pkgdir}${instdir}" rsync -av unpacked.vfs/licensecomponent/xclmallDocs "${pkgdir}${instdir}/docs/xclm" cp "${pkgdir}${instdir}"/*License.txt "${pkgdir}${instdir}/docs" 2>/dev/null || true mv "${pkgdir}${instdir}"/*License.txt "${pkgdir}${instdir}" 2>/dev/null || true mkdir -p "$pkgdir/etc/profile.d" echo "export PATH=\"\$PATH\":'${instdir}/bin'" > "${pkgdir}/etc/profile.d/${pkgname}.sh" echo "export XC${_number_of_bits}_TOOLCHAIN_ROOT='${instdir}'" >> "$pkgdir/etc/profile.d/${pkgname}.sh" mkdir -p "$pkgdir/usr/share/licenses/$pkgname" ln -s "${instdir}/docs/$(basename "${pkgdir}${instdir}/docs"/*[Ll]icense.txt)" "${pkgdir}/usr/share/licenses/$pkgname/LICENSE" # Workaround to skip license checks # https://github.com/cv007/XC3216 echo -en "*cc1:+ -mafrlcsj\n\n*cc1plus:+ -mafrlcsj" > "${pkgdir}${instdir}/lib/gcc/specs" }