# $Id: PKGBUILD 163881 2012-07-21 12:03:19Z tpowa $
#Maintainer: Tobias Powalowski <t.powa@gmx.de>

pkgname=fcpcmcia
pkgver=31107
pkgrel=73
_extramodules=extramodules-3.4-ARCH
pkgdesc="AVM ISDN driver for FRITZ PCMCIA isdn cards. For stock arch linux kernel"
arch=(i686 x86_64)
license=('custom:"AVM"' 'LPGL')
url="http://www.avm.de"
depends=('linux>=3.4' 'linux<3.5')
makedepends=('linux-headers>=3.4' 'linux-headers<3.5')
if [ "$CARCH" = "i686" ]; then source=(ftp://ftp.avm.de/cardware/fritzcrd.pcm/linux/suse.93/fcpcmcia-suse93-3.11-07.tar.gz
        pcmcia-2.6.17.patch 
        atomic.patch kernel-2.6.19.patch 
        kernel-2.6.20.patch 
        kernel-2.6.22.patch 
        kernel-2.6.24.patch
        kernel-2.6.27.patch 
        kernel-2.6.28.patch 
        kernel-2.6.31.patch 
        kernel-2.6.33.patch 
        kernel-2.6.34.patch 
        kernel-2.6.35.patch
        kernel-2.6.36.patch
        kernel-2.6.37.patch
        kernel-2.6.39.patch
        kernel-2.6.39-i686.patch
        kernel-3.2.0.patch
        kernel-3.4.0.patch)
md5sums=('96fc3e72afdc2087b4dafe41c069ec18'
         'ec21dee3a5a09203dc55b399c29bc58c'
         '258b13bb2ac46960b9c91635f02cd080'
         '5c63dc9df0810bb1ba85f3425abaa0ed'
         '890ec6e1219a3a4bae77f5815c3ed40d'
         '4f4f03630ed994b16b4cd167f090a116'
         '21bfa466b1fb94663ed1f265948dba5e'
         'e32439084b62ee7975ae45a443b6eba9'
         'e953a90fe3d08ebbd8736f66902414dc'
         '34f5b78b219de8ce12793b16e0171e87'
         '410f077bbe271e924be6d8b6b5f9540d'
         '224a7679645a51929f8d5e1f210d7a9e'
         '3a8dcddd077fc301a23a038d5f0aa11f'
         '21ccb623540d866091eb918a3d5b2358'
         '9093b1f75d3b2564eb6054ee7f708bee'
         '3980ae3eaa82d93b81b0ca32bb57a065'
         'e6f6c96df15392bbc92eb75f6611f4a7'
         '05a5b3a55f6b47be7503b22e3be82b28'
         '5c2d4accf6647da301eed3867df08add')
fi
if [ "$CARCH" = "x86_64" ]; then source=(ftp://ftp.avm.de/cardware/fritzcrd.pcm/linux_64bit/suse.10.0/fcpcmcia-suse10.0-64bit-3.11-07.tar.gz
        pcmcia-2.6.17.patch 
        atomic.patch 
        kernel-2.6.19.patch 
        kernel-2.6.20.patch 
        kernel-2.6.22.patch 
        kernel-2.6.24.patch
        kernel-2.6.27.patch 
        kernel-2.6.28.patch 
        kernel-2.6.31.patch 
        kernel-2.6.33.patch 
        kernel-2.6.34.patch 
        kernel-2.6.35.patch
        kernel-2.6.36.patch
        kernel-2.6.37.patch
        kernel-2.6.39.patch
        kernel-2.6.39-x86_64.patch
        kernel-3.2.0.patch
        kernel-3.4.0.patch)
md5sums=('4f461710cf57ebf50b3c4f2842288752'
         'ec21dee3a5a09203dc55b399c29bc58c'
         '258b13bb2ac46960b9c91635f02cd080'
         '5c63dc9df0810bb1ba85f3425abaa0ed'
         '890ec6e1219a3a4bae77f5815c3ed40d'
         '4f4f03630ed994b16b4cd167f090a116'
         '21bfa466b1fb94663ed1f265948dba5e'
         'e32439084b62ee7975ae45a443b6eba9'
         'e953a90fe3d08ebbd8736f66902414dc'
         '34f5b78b219de8ce12793b16e0171e87'
         '410f077bbe271e924be6d8b6b5f9540d'
         '224a7679645a51929f8d5e1f210d7a9e'
         '3a8dcddd077fc301a23a038d5f0aa11f'
         '21ccb623540d866091eb918a3d5b2358'
         '9093b1f75d3b2564eb6054ee7f708bee'
         '3980ae3eaa82d93b81b0ca32bb57a065'
         'b947c47b3f6dd2f143f84312a034bb77'
         '05a5b3a55f6b47be7503b22e3be82b28'
         '5c2d4accf6647da301eed3867df08add')

fi
install=fcpcmcia.install
options=(!makeflags !strip)

build() {
  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
  cd $srcdir/fritz/src
  [ "$CARCH" = "i686" ] && (patch -Np0 -i ../../atomic.patch)
  [ "$CARCH" = "i686" ] && (patch -Np0 -i ../../kernel-2.6.39-i686.patch)
  patch -Np0 -i ../../pcmcia-2.6.17.patch
  patch -Np0 -i ../../kernel-2.6.19.patch
  patch -Np0 -i ../../kernel-2.6.20.patch
  patch -Np0 -i ../../kernel-2.6.22.patch
  patch -Np0 -i ../../kernel-2.6.24.patch
  patch -Np2 -i ../../kernel-2.6.27.patch
  patch -Np1 -i ../../kernel-2.6.28.patch
  patch -Np0 -i ../../kernel-2.6.31.patch
  patch -Np0 -i ../../kernel-2.6.33.patch
  patch -Np0 -i ../../kernel-2.6.34.patch
  patch -Np0 -i ../../kernel-2.6.35.patch
  patch -Np0 -i ../../kernel-2.6.36.patch
  patch -Np0 -i ../../kernel-2.6.37.patch
  [ "$CARCH" = "x86_64" ] && (patch -Np0 -i ../../kernel-2.6.39-x86_64.patch)
  patch -Np0 -i ../../kernel-2.6.39.patch
  patch -Np0 -i ../../kernel-3.2.0.patch
  patch -Np0 -i ../../kernel-3.4.0.patch
  cd ..
  # fix from Karsten Keil <kkeil@suse.de>
  # in refernece to bug: http://bugs.archlinux.org/task/8511
  OBJ=$(find . -name '*lib.o')
  for i in $OBJ; do
    mv $i $i.old
    objcopy -L memcmp \
            -L memcpy \
            -L memmove \
            -L memset \
            -L strcat \
            -L strcmp \
            -L strcpy \
            -L strlen \
            -L strncmp \
            -L strncpy \
    $i.old $i
  done
  cd $srcdir/fritz
  make KDIR=/usr/lib/modules/${_kernver}/build LIBDIR=$pkgdir/var/lib/fritz all
}

package() {
  mkdir -p $pkgdir/usr/lib/modules/${_extramodules}
  cp $srcdir/fritz/src/fcpcmcia.ko $pkgdir/usr/lib/modules/${_extramodules}/
  cp $srcdir/fritz/src/fcpcmcia_cs.ko $pkgdir/usr/lib/modules/${_extramodules}/
  rm -r $pkgdir/var
  sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${_extramodules}/g" $startdir/fcpcmcia.install
  # gzip -9 modules
  find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
}
