Package Details: microchip-mplabxc32-bin 1.42-1

Git Clone URL: https://aur.archlinux.org/microchip-mplabxc32-bin.git (read-only)
Package Base: microchip-mplabxc32-bin
Description: Microchip's MPLAB XC32 C compiler toolchain for all of their 32bit microcontrollers
Upstream URL: http://www.microchip.com/xc32
Licenses: custom
Submitter: bxs
Maintainer: greyltc
Last Packager: greyltc
Votes: 8
Popularity: 0.000004
First Submitted: 2012-03-24 20:37
Last Updated: 2016-07-10 11:05

Dependencies (4)

Required by (4)

Sources (2)

Latest Comments

gdamjan commented on 2016-08-07 17:09

==> Starting build()...
-> Unpacking files from installer
Creating directories...
Unpacking files, please wait...
|=== ( 4.52% ) |couldn't open "./unpacked.vfs/compiler/programfilesosx/examples/assembly_examples/ports_control/ports_control.X/nbproject/Makefile-variables.mk": no such file or directory
while executing
"open $destDir/$fileName a"
("foreach" body line 14)
invoked from within
"foreach {fileName props} $manifest {
set type [lindex $props 0]

if {$type == "file"} {
set mode [lindex $props 1]
set sizes [..."
(file "./bitrock-unpacker.tcl" line 77)
==> ERROR: A failure occurred in build().
Aborting...
warning: package microchip-mplabxc32-bin failed to build, skipping

doragasu commented on 2016-07-11 07:37

Build fails here:

==> Starting package()...
mv: cannot move 'unpacked.vfs/licensecomponent/xclmallBin/etc' to '/home/jalon/src/aur/microchip-mplabxc32-bin/pkg/microchip-mplabxc32-bin/opt/microchip/xc32/v1.42/etc': Directory not empty
==> ERROR: A failure occurred in package().
Aborting...

henrikjuul commented on 2016-06-21 12:07

Updated PKGBUILD to 1.42-1

http://pastebin.com/cRKxmyW8

Wesley_Chan commented on 2016-02-02 06:20

@greyltc

Oh, thanks to you. Would you please do the same to XC8?

greyltc commented on 2016-01-11 08:56

Thanks for the patch Wesley & calcmogul. I'm sorry it took me so long to apply it!

calcmogul commented on 2016-01-11 07:09

Here's a paste of the patch proposed below: https://paste.unixcube.org/t/7d7c3f

trya commented on 2015-10-18 13:05

@Wesley_Chan: never copy/paste a patch in the comments section, it makes the patch unusable because you lose space indentation in the process. Next time, upload the patch to a pastebin and put the link here.

Other than that, I agree with the proposed changes.

Wesley_Chan commented on 2015-09-17 06:12

Hi greyltc,

The installation is missing xclm in the proper place.

I can see you introduced a blob in the PKGBIULD file. However, this stops users who have previously downloaded the installation file from the official website from re-using it, and those who have slow Internet connection during the process of makepkg. Could you revert it? Thanks.

Finally, makepkg compresses the package with XZ. This doesn't make a big improvement on file size and it takes a LONG time. We should consider not to compress it at all.

Here's my suggestion.

--- PKGBUILD
+++ PKGBUILD
@@ -1,45 +1,52 @@
# Maintainer: Grey Christoforo <first name at last name dot net>
# Contributer: mickael9 <mickael9 at gmail dot com>

_number_of_bits=32
pkgname=microchip-mplabxc${_number_of_bits}-bin
pkgver=1.40
-pkgrel=3
+pkgrel=4
pkgdesc="Microchip's MPLAB XC${_number_of_bits} C compiler toolchain for all of their 32bit microcontrollers"
arch=(i686 x86_64)
url=http://www.microchip.com/xc${_number_of_bits}
license=(custom)
depends_i688=(gcc-libs)
depends_x86_64=(lib32-gcc-libs)
makedepends=(sdx)
makedepends_x86_64=(lib32-tclkit)
makedepends_i686=(tclkit)

options=(!strip docs libtool emptydirs !zipman staticlibs !upx)
-source=("installerBlobFromMicrochip::http://ww1.microchip.com/downloads/en/DeviceDoc/xc${_number_of_bits}-v$pkgver-full-install-linux-installer.run"
+source=("http://ww1.microchip.com/downloads/en/DeviceDoc/xc${_number_of_bits}-v$pkgver-full-install-linux-installer.run"
"bitrock-unpacker.tcl")

md5sums=('06f3f019001cee7d8792561dc8a8da80'
'70dedba4c417f8c0bb07c32d19e9d197')
install=$pkgname.install

instdir="/opt/microchip/xc${_number_of_bits}/v${pkgver}"

+PKGEXT='.pkg.tar'
build() {
msg2 "Unpacking files from installer"
- ./bitrock-unpacker.tcl ./installerBlobFromMicrochip ./unpacked.vfs
+ ./bitrock-unpacker.tcl ./xc${_number_of_bits}-v$pkgver-full-install-linux-installer.run ./unpacked.vfs
}

package() {
mkdir -p "${pkgdir}${instdir}"
mv unpacked.vfs/compiler/programfiles*/* "${pkgdir}${instdir}"
- mv unpacked.vfs/licensecomponent "${pkgdir}${instdir}"
- mv "${pkgdir}${instdir}"/*License.txt "${pkgdir}${instdir}/docs" 2>/dev/null || true
+ mv unpacked.vfs/licensecomponent/xclmallBin/bin/{roam.lic,xclm} "${pkgdir}${instdir}/bin"
+ sed -i "s/<xclm>/<xclm>\n\t<xclm:LicenseDirectory xclm:path=\"\/opt\/microchip\/xclm\/license\/\" \/>/" \
+ unpacked.vfs/licensecomponent/xclmallBin/etc/xclm.conf
+ mv unpacked.vfs/licensecomponent/xclmallBin/etc "${pkgdir}${instdir}"
+ mv 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"
}

Wesley_Chan commented on 2015-09-17 06:10

Hi greyltc,

The installation is missing xclm in the proper place.

I can you you introduced a blob in the PKGBIULD file. However, this stops users who have previously downloaded the installation file from the official website re-using it, and those who have slow Internet connection during the process of makepkg. Could you revert it? Thanks.

Finally, makepkg compresses the package with XZ. This doesn't make a big improvement on file size and it takes a LONG time. We should consider not to compress it at all.

Here's my suggestion.

--- PKGBUILD
+++ PKGBUILD
@@ -1,52 +1,45 @@
# Maintainer: Grey Christoforo <first name at last name dot net>
# Contributer: mickael9 <mickael9 at gmail dot com>

_number_of_bits=32
pkgname=microchip-mplabxc${_number_of_bits}-bin
pkgver=1.40
-pkgrel=4
+pkgrel=3
pkgdesc="Microchip's MPLAB XC${_number_of_bits} C compiler toolchain for all of their 32bit microcontrollers"
arch=(i686 x86_64)
url=http://www.microchip.com/xc${_number_of_bits}
license=(custom)
depends_i688=(gcc-libs)
depends_x86_64=(lib32-gcc-libs)
makedepends=(sdx)
makedepends_x86_64=(lib32-tclkit)
makedepends_i686=(tclkit)

options=(!strip docs libtool emptydirs !zipman staticlibs !upx)
-source=("http://ww1.microchip.com/downloads/en/DeviceDoc/xc${_number_of_bits}-v$pkgver-full-install-linux-installer.run"
+source=("installerBlobFromMicrochip::http://ww1.microchip.com/downloads/en/DeviceDoc/xc${_number_of_bits}-v$pkgver-full-install-linux-installer.run"
"bitrock-unpacker.tcl")

md5sums=('06f3f019001cee7d8792561dc8a8da80'
'70dedba4c417f8c0bb07c32d19e9d197')
install=$pkgname.install

instdir="/opt/microchip/xc${_number_of_bits}/v${pkgver}"

-PKGEXT='.pkg.tar'

build() {
msg2 "Unpacking files from installer"
- ./bitrock-unpacker.tcl ./xc${_number_of_bits}-v$pkgver-full-install-linux-installer.run ./unpacked.vfs
+ ./bitrock-unpacker.tcl ./installerBlobFromMicrochip ./unpacked.vfs
}

package() {
mkdir -p "${pkgdir}${instdir}"
mv unpacked.vfs/compiler/programfiles*/* "${pkgdir}${instdir}"
- mv unpacked.vfs/licensecomponent/xclmallBin/bin/{roam.lic,xclm} "${pkgdir}${instdir}/bin"
- sed -i "s/<xclm>/<xclm>\n\t<xclm:LicenseDirectory xclm:path=\"\/opt\/microchip\/xclm\/license\/\" \/>/" \
- unpacked.vfs/licensecomponent/xclmallBin/etc/xclm.conf
- mv unpacked.vfs/licensecomponent/xclmallBin/etc "${pkgdir}${instdir}"
- mv 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
+ mv unpacked.vfs/licensecomponent "${pkgdir}${instdir}"
+ mv "${pkgdir}${instdir}"/*License.txt "${pkgdir}${instdir}/docs" 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"
}

greyltc commented on 2015-08-05 20:28

Looks great! I'm very glad you found a way to get rid of liblzmadec0.2.so
I wasn't able to get rid of it!

I think this is the only open source bitrock extractor that exists!

Making this PKGBUILD was my first forte into tcl too! (Can't say that I'm a fan!)

All comments