summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorABDULLATIF Mouhamadi2017-05-24 01:17:24 +0200
committerABDULLATIF Mouhamadi2017-05-24 01:17:24 +0200
commitbfc311800883cbcfc3a373e483c3184d73a186c5 (patch)
treed32f4365c957a126854db7f978e55455cd7efb09 /PKGBUILD
downloadaur-binutils-avr-tinyos.tar.gz
first commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD116
1 files changed, 116 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..1dbba4db1999
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,116 @@
+# Maintainer: ABDULLATIF Mouhamadi <bourou01dev@gmail.com>
+
+pkgname=binutils-avr-tinyos
+pkgver=2.17
+pkgrel=1
+pkgdesc="A set of programs to assemble and manipulate binary and object files for the avr architecture, with TinyOS patches"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/binutils/"
+license=('GPL')
+depends=('glibc>=2.12-5' 'zlib')
+makedepends=('subversion')
+provides=('binutils-avr')
+options=('staticlibs' '!libtool' '!distcc' '!ccache')
+
+source=("http://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2"
+ "30-binutils-2.17-avr-size.patch"
+ "31-binutils-2.17-avr-coff.patch"
+ "50-binutils-2.17-atmega256x.patch"
+ "51-binutils-2.17-newdevices.patch"
+ "dollarsign.patch"
+ "makeinfo411.patch"
+ "rfa1-newdevice.patch"
+ "rfa1-size.patch")
+
+
+sha1sums=('0f5c10d155d7ef67c5eb1261f84e70e2b92293fa'
+ '2b5d2e59f69062e12cfcdec05c7a7c1605548b8d'
+ '9c7428e902e5064540e0ed51c4c4d39e7516232c'
+ 'a44eb430bc0209b9f1e4d97353de6b3db12748bd'
+ '5718008fd59182f828b65fde20d78559a700c5f5'
+ 'cf6f21fc4fc99c5b3ca5a065145619a3ed85960c'
+ '04f713709af32d149b77216b6e1419289f57c971'
+ '99a0e9ad9206c98b02602bc23dce78238e67399b'
+ '87d2de4f04199a8dcd1c10cd3f31a7d8ddfd058b')
+
+prepare() {
+ cd "${srcdir}/binutils-${pkgver}"
+
+ (cd "${srcdir}/binutils-${pkgver}" &&
+ patch -p0 < "${srcdir}/30-binutils-2.17-avr-size.patch" &&
+ patch -p0 < "${srcdir}/31-binutils-2.17-avr-coff.patch" &&
+ patch -p0 < "${srcdir}/50-binutils-2.17-atmega256x.patch" &&
+ patch -p0 < "${srcdir}/51-binutils-2.17-newdevices.patch" &&
+ patch -p0 < "${srcdir}/dollarsign.patch" &&
+ patch -p0 < "${srcdir}/makeinfo411.patch" &&
+ patch -p0 < "${srcdir}/rfa1-newdevice.patch" &&
+ patch -p0 < "${srcdir}/rfa1-size.patch" &&
+ for patch in ${_patches[@]} ; do
+ msg "Applying ${patch}"
+ patch -p1 < "${srcdir}/${patch}"
+ done)
+
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" - credits to jck
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+}
+
+
+build() {
+ cd "${srcdir}/binutils-${pkgver}"
+
+ export MAKEINFO=${srcdir}/usr/bin/makeinfo
+
+ install -d build
+ cd build
+ export CC="gcc -L$(pwd)/bfd/.libs/"
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ ../configure --build=$(../config.guess) \
+ --disable-multilib \
+ --disable-nls \
+ --enable-64-bit-bfd \
+ --enable-install-libbfd \
+ --includedir=/usr/$(../config.guess)/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --target=avr \
+ --disable-werror
+ else
+ ../configure --build=$(../config.guess) \
+ --disable-nls \
+ --enable-install-libbfd \
+ --includedir=/usr/$(../config.guess)/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --target=avr \
+ --disable-werror
+ fi
+
+ # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
+ make configure-host || return 1
+
+ make tooldir=/usr || return 1
+}
+
+package() {
+ cd ${srcdir}/binutils-${pkgver}
+
+ cd build
+ make DESTDIR=${pkgdir} tooldir=/usr install || return 1
+
+ rm -f ${pkgdir}/usr/lib/libiberty.a
+
+ for bin in addr2line ar as c++filt gprof ld nm objcopy objdump ranlib readelf size strings strip ; do
+ rm -f ${pkgdir}/usr/bin/${bin} || return 1
+ done
+
+ for info in as bfd binutils configure ld standards; do
+ mv ${pkgdir}/usr/share/info/${info}.info ${pkgdir}/usr/share/info/avr-${info}.info || return 1
+ done
+}
+
+# vim:set ts=2 sw=2 et: