Package Details: microchip-mplabxc8-bin 1.38-1

Git Clone URL: https://aur.archlinux.org/microchip-mplabxc8-bin.git (read-only)
Package Base: microchip-mplabxc8-bin
Description: Microchip's MPLAB XC8 C compiler toolchain for their PIC10/12/16/18 microcontroller families and their PIC14000 device
Upstream URL: http://www.microchip.com/xc8
Licenses: custom
Submitter: bxs
Maintainer: greyltc
Last Packager: greyltc
Votes: 11
Popularity: 0.291357
First Submitted: 2012-03-24 20:33
Last Updated: 2016-07-24 12:35

Dependencies (4)

Required by (1)

Sources (2)

Latest Comments

anker14 commented on 2016-05-24 10:24

@greyltc working great for me, no more errors, thank you!

greyltc commented on 2016-05-23 20:23

My apologies again for being so slow here. I've just updated, are things working alright now?

Wesley_Chan commented on 2016-04-19 03:14

@greyltc, would you please update this package and apply the patch which you applied to XC32? Thank you.

Wesley_Chan commented on 2015-09-18 05:01

Dear @Technicus,

This is what I was talking about. The installation is not identical to the official installer. Please read my comment and the one on the XC32 package page.
https://aur.archlinux.org/packages/microchip-mplabxc32-bin/

Now maybe we should wait for greyltc's response. For a quick solution, copy those files mentioned manually.

Regards,

Technicus commented on 2015-09-17 20:41

When compiling I get this message:
" sh: /opt/microchip/xc8/v1.35/bin/xclm: No such file or directory ".

What does it mean?

Also I posted a gist describing a situation I am having and asking a question: < https://gist.github.com/Technicus/88f48898880540e9be56#file-simulator_compiler >.

If any suggestions would be welcome.

Thanks

Wesley_Chan commented on 2015-09-17 06:31

Dear greyltc,

The same as I commented on the XC32 package.
https://aur.archlinux.org/packages/microchip-mplabxc32-bin/

# Maintainer: Grey Christoforo <first name at last name dot net>
# Contributer: mickael9 <mickael9 at gmail dot com>

_number_of_bits=8
pkgname=microchip-mplabxc${_number_of_bits}-bin
pkgver=1.35
pkgrel=2
pkgdesc="Microchip's MPLAB XC${_number_of_bits} C compiler toolchain for their PIC10/12/16/18 microcontroller families and their PIC14000 device"
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"
"bitrock-unpacker.tcl")

md5sums=('d7bb54b0ece78d98459a3e8f4886e28e'
'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
}

package() {
mkdir -p "${pkgdir}${instdir}"
mv unpacked.vfs/compiler/programfiles*/* "${pkgdir}${instdir}"
mv unpacked.vfs/licensecomponent/LinuxLMBin/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/LinuxLMBin/etc/xclm.conf
mv unpacked.vfs/licensecomponent/LinuxLMBin/etc/xclm.conf "${pkgdir}${instdir}/etc"
mv unpacked.vfs/licensecomponent/LinuxLMBin/docs/* "${pkgdir}${instdir}/docs"
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"
}

Manouchehri commented on 2015-08-31 22:00

XC8 Compiler v1.35 is out.

https://www.microchip.com/mplabxc8linux

mauritiusdadd commented on 2015-08-10 15:29

It still fails if installerBlobFromMicrochip is located in a read-only filesystem or if the user don't have the permission for writing access (for example when using makechrootpkg):

==> Starting build()...
-> Unpacking files from installer
Unable to create Cookfs object: couldn't open "/build/microchip-mplabxc8-bin/src/build/installerBlobFromMicrochip": read-only file system
while executing
"::cookfs::pages -cachesize 128 -compression zlib -compresscommand {} -decompresscommand {} -endoffset 189697182 /build/microchip-mplabxc8-bin/src/buil..."
("eval" body line 1)
invoked from within
"eval $pagescmd"
(procedure "::cookfs::Mount" line 139)
invoked from within
"::cookfs::Mount -endoffset 189697182 -pagecachesize 128 -decompresscommand {} ./build/installerBlobFromMicrochip /installerData"
("eval" body line 1)
invoked from within
"eval [concat [list ::cookfs::Mount] $args]"
(procedure "vfs::cookfs::Mount" line 2)
invoked from within
"vfs::cookfs::Mount {*}$options $installerFile $dataMount"
(file "./bitrock-unpacker.tcl" line 60)
==> ERROR: A failure occurred in build().

But it works changing the build function like the following

build() {
msg2 "Unpacking files from installer"
mkdir build
cp installerBlobFromMicrochip build/installerBlobFromMicrochip
./bitrock-unpacker.tcl ./build/installerBlobFromMicrochip ./unpacked.vfs
}

However, thankyou for your work.

greyltc commented on 2015-08-10 10:10

Hi mauritiusdadd,
Please try release 6.

mauritiusdadd commented on 2015-08-09 11:40

Hi, this package fails to build if installerBlobFromMicrochip is located in a read-only filesystem or if the user have not the permission for writing access.

Also the use of if [[ $CARCH = i686 ]] for setting dependencies is deprecated and you should use instead the varables depends_i686 and depends_x86_64 [1]. Finally you should *never* add executables or libraries (like liblzmadec0.2.so) inside the source package, especially when they are not needed and aren't even used inside the PKGBUILD.

I rewrote the PKGBUILD to fix some of the above issues, you can find it here [2]

[1] https://wiki.archlinux.org/index.php/PKGBUILD#depends
[2] https://gist.github.com/mauritiusdadd/2085b330176a7753963e

All comments