# $Id: PKGBUILD 124655 2014-12-26 14:49:59Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: rubenvb vanboxem <dottie> ruben <attie> gmail <dottie> com

_targets="i686-w64-mingw32 x86_64-w64-mingw32"

pkgname=mingw-w64-binutils
pkgver=2.25
pkgrel=1
pkgdesc="Cross binutils for the MinGW-w64 cross-compiler"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils"
license=('GPL')
groups=('mingw-w64-toolchain' 'mingw-w64')
depends=('zlib')
options=('!libtool' '!emptydirs')
source=("http://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.gz"
	"binutils-2.24-CVE-2014-8484.patch"
	"binutils-2.24-CVE-2014-8485.patch"
	"binutils-2.24-CVE-2014-8501.patch"
	"binutils-2.24-CVE-2014-8502.patch"
	"binutils-2.24-CVE-2014-8502-pre.patch"
	"binutils-2.24-CVE-2014-8503.patch"
	"binutils-2.24-CVE-2014-8504.patch"
	"binutils-2.24-CVE-2014-8737.patch"
	"binutils-2.24-CVE-2014-8738.patch"
	"binutils-2.24-strings-all-default.patch")
md5sums=('ab6719fd7434caf07433ec834db8ad4f'
         '125d8ce675ced84814d5f068106dbaa3'
         '6923e5279a84cb7134b07e2cf6686434'
         '4c590dc70829d8f4fc190f0fe7e3add8'
         '64efddd24d5628437cc457b468df8de3'
         '0a18f32ed82fcd533ffab4dfce43a263'
         '70540e2c6418a54ad88ab9c6b988d075'
         'acce1f1d28db6bdb84b430a05f331366'
         '12fb3e860203a06b5d1f4b023c06dcec'
         'd35b0ccb79d565757821b3e0206f3873'
         '99445d528110543d88b59a1ec7677592')

prepare() {
  cd ${srcdir}/binutils-${pkgver}

  #do not install libiberty
  sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in

  # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
  sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure

  # CVE-2014-8484 - backport of commit bd25671c
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8484.patch

  # CVE-2014-8485 - commit 493a3386
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8485.patch

  # CVE-2014-8501 - commit 7e1e1988
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8501.patch

  # CVE-2014-8502 - commits bf67003b and 5a4b0ccc
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8502.patch

  # CVE-2014-8503 - commit 0102ea8c
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8503.patch

  # CVE-2014-8504 - commit 708d7d0d
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8504.patch

  # CVE-2014-8737 - commit dd9b91de
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8737.patch

  # CVE-2014-8738 - commit bb0d8671
#  patch -p1 -i $srcdir/binutils-2.24-CVE-2014-8738.patch

  # strings -a default - commit 7fac9594 (fedora backport)
#  patch -p0 -i $srcdir/binutils-2.24-strings-all-default.patch
}

build() {
  for _target in $_targets; do
    msg "Building ${_target} cross binutils"
    mkdir -p ${srcdir}/binutils-${_target} && cd "${srcdir}/binutils-${_target}"
    $srcdir/binutils-${pkgver}/configure --prefix=/usr \
        --target=${_target} \
        --infodir=/usr/share/info/${_target} \
        --enable-lto --enable-plugins \
        --disable-multilib --disable-nls \
        --disable-werror
     make
  done
}

package() {
  for _target in ${_targets}; do
    msg "Installing ${_target} cross binutils"
    cd ${srcdir}/binutils-${_target}
    make DESTDIR=${pkgdir} install
  done
}
