diff options
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rwxr-xr-x | bitrock-unpacker.tcl | 122 |
3 files changed, 9 insertions, 141 deletions
@@ -1,26 +1,22 @@ pkgbase = microchip-mplabxc16-bin pkgdesc = Microchip's MPLAB XC16 C compiler toolchain for their dsPIC and PIC24 microcontroller families - pkgver = 1.60 + pkgver = 1.61 pkgrel = 1 url = http://www.microchip.com/xc16 install = microchip-mplabxc16-bin.install arch = i686 arch = x86_64 license = custom - makedepends = sdx + makedepends = bitrock-unpacker options = !strip options = docs options = libtool options = emptydirs options = !zipman options = staticlibs - source = http://ww1.microchip.com/downloads/en/DeviceDoc/xc16-v1.60-full-install-linux64-installer.run - source = bitrock-unpacker.tcl - sha256sums = 7d0e8dff22eff8085296081a1a2d4563268bfecdab83c81ce019e9f3b67a58ea - sha256sums = 1bcb58cdbb6e4a89415cf91cb6692aa0ada3abb41d22134510f8477ffd90b8a2 - makedepends_i686 = tclkit + source = http://ww1.microchip.com/downloads/en/DeviceDoc/xc16-v1.61-full-install-linux64-installer.run + sha256sums = 5a2d2f8495adf9688dab8d5d69fedeeed25e266b77fccdedd9325b9094133448 depends_x86_64 = lib32-gcc-libs - makedepends_x86_64 = lib32-expat pkgname = microchip-mplabxc16-bin @@ -3,7 +3,7 @@ # Contributer: mickael9 <mickael9 at gmail dot com> _number_of_bits=16 -pkgver=1.60 +pkgver=1.61 pkgname=microchip-mplabxc${_number_of_bits}-bin pkgrel=1 pkgdesc="Microchip's MPLAB XC${_number_of_bits} C compiler toolchain for their dsPIC and PIC24 microcontroller families" @@ -12,18 +12,12 @@ 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=(tclkit) -makedepends_i686=(tclkit) -makedepends_x86_64=(lib32-expat) +makedepends=(bitrock-unpacker) options=(!strip docs libtool emptydirs !zipman staticlibs) -source=("http://ww1.microchip.com/downloads/en/DeviceDoc/xc${_number_of_bits}-v$pkgver-full-install-linux64-installer.run" "bitrock-unpacker.tcl") +source=("http://ww1.microchip.com/downloads/en/DeviceDoc/xc${_number_of_bits}-v$pkgver-full-install-linux64-installer.run") -sha256sums=('7d0e8dff22eff8085296081a1a2d4563268bfecdab83c81ce019e9f3b67a58ea' - '1bcb58cdbb6e4a89415cf91cb6692aa0ada3abb41d22134510f8477ffd90b8a2') -#md5sums=('98e2a50d75bdb0164b0c4cd82d1d6c74' -# '70dedba4c417f8c0bb07c32d19e9d197') +sha256sums=('5a2d2f8495adf9688dab8d5d69fedeeed25e266b77fccdedd9325b9094133448') install=$pkgname.install instdir="/opt/microchip/xc${_number_of_bits}/v${pkgver}" @@ -32,7 +26,7 @@ PKGEXT='.pkg.tar' build() { msg2 "Unpacking files from installer" - ./bitrock-unpacker.tcl ./xc${_number_of_bits}-v$pkgver-full-install-linux64-installer.run ./unpacked.vfs + bitrock-unpacker ./xc${_number_of_bits}-v$pkgver-full-install-linux64-installer.run ./unpacked.vfs } package() { diff --git a/bitrock-unpacker.tcl b/bitrock-unpacker.tcl deleted file mode 100755 index 43d99e0538ab..000000000000 --- a/bitrock-unpacker.tcl +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env tclkit -# -# Bitrock unpacking script -# This script should be executed using 32-bit tclkit because -# it uses Tcllzmadec provided by the installer blob which likely only -# contains the 32 bit tcl lzma decompression shared opject, liblzmadec0.2.so -# Author : mickael9 <mickael9 at gmail dot com> - -source /usr/bin/sdx.kit - -if {$argc < 2} { - puts "Usage: $argv0 installerFile outputDirectory" - exit 1 -} - -set installerFile [lindex $argv 0] -set destDir [lindex $argv 1] - -set installerMount /installer -set dataMount /installerData - -vfs::mk4::Mount $installerFile $installerMount -readonly - -lappend auto_path $installerMount/libraries/ -package require vfs::cookfs -package require Tcllzmadec - -# progress from http://wiki.tcl.tk/16939 (sligtly modified) -# thanks to the author -proc progress {cur tot} { - # set to total width of progress bar - set total 76 - - if {$cur == $tot} { - # cleanup - set str "\r[string repeat " " [expr $total + 4]]\r" - } else { - set half [expr {$total/2}] - set percent [expr {100.*$cur/$tot}] - set val (\ [format "%6.2f%%" $percent]\ ) - set str "\r|[string repeat = [ - expr {round($percent*$total/100)}]][ - string repeat { } [expr {$total-round($percent*$total/100)}]]|" - set str "[string range $str 0 $half]$val[string range $str [expr {$half+[string length $val]-1}] end]" - } - puts -nonewline stderr $str -} - -# Read cookfs options -set optionsFile [open $installerMount/cookfsinfo.txt] -set options [read $optionsFile] -close $optionsFile - -# Read the manifest -set manifestFile [open $installerMount/manifest.txt] -set manifest [read $manifestFile] -close $manifestFile - -# Mount the files to $dataMount -vfs::cookfs::Mount {*}$options $installerFile $dataMount - -puts "Creating directories..." -foreach {fileName props} $manifest { - set type [lindex $props 0] - - if {$type == "directory"} { - set mode [lindex $props 1] - file mkdir $destDir/$fileName - } -} - -puts "Unpacking files, please wait..." - -set entryCount [expr [llength $manifest] / 2] -set entryIndex 0 - -foreach {fileName props} $manifest { - set type [lindex $props 0] - - if {$type == "file"} { - set mode [lindex $props 1] - set sizes [lindex $props 4] - set nparts [llength $sizes] - set index 1 - - file mkdir [file dirname $destDir/$fileName] - file copy -force $dataMount/$fileName $destDir/$fileName - - if {$nparts > 0} { - set fp [open $destDir/$fileName a] - fconfigure $fp -translation binary - - while {$index < $nparts} { - set chunkName $dataMount/${fileName}___bitrockBigFile$index - set fp2 [open $chunkName r] - fconfigure $fp2 -translation binary - puts -nonewline $fp [read $fp2] - close $fp2 - incr index - } - close $fp - } - - file attributes $destDir/$fileName -permissions $mode - } - - incr entryIndex - progress $entryIndex $entryCount -} - -puts "Creating links..." - -foreach {fileName props} $manifest { - set type [lindex $props 0] - - if {$type == "link"} { - set linkTarget [lindex $props 1] - file delete $destDir/$fileName - file link -symbolic $destDir/$fileName $linkTarget - } -} -puts "Done" |