core/catalyst-lts/PKGBUILD
2011-02-25 20:11:31 +00:00

93 lines
3.1 KiB
Bash

#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# use ../fakeuname -r 2.6.35-CHAKRA-LTS ../makepkg
_kernver=`uname -r`
pkgname=catalyst-lts
pkgver=11.2
pkgrel=1
pkgdesc="AMD/ATI Catalyst drivers for kernel26. fglrx kernel module only"
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
license=('custom')
depends=('kernel26-lts>=2.6.35' 'kernel26-lts<2.6.36' "catalyst-utils=${pkgver}")
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'kernel26-headers')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri')
install=catalyst.install
source=(http://www2.ati.com/drivers/linux/ati-driver-installer-${pkgver/./-}-x86.x86_64.run
ati_make.sh
makefile_compat.patch
2.6.38_console.patch)
md5sums=('4db782c2a7924b965918275c39157a28'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b'
'dde819cfc936032f98aa04a5d404b3ad')
build() {
msg "Setting compilation variables ..."
## include ati_make.sh and use _ati_check function from it
. ati_make.sh
_ati_check
msg "Unpacking archive ..."
/bin/sh ./ati-driver-installer-${pkgver/./-}-x86.x86_64.run --extract archive_files
if [ "${CARCH}" = "x86_64" ]; then
BUILDARCH=x86_64
_archdir=x86_64
fi
if [ "${CARCH}" = "i686" ]; then
BUILDARCH=i386
_archdir=x86
fi
cd "${srcdir}/archive_files/"
msg "Applying patch(es) ..."
## makefile patch to choose arch_compat_alloc_user_space or older compat_alloc_user_space
## works only in combination with ati_make.sh script
patch -Np1 -i ../makefile_compat.patch || return 1
## 2.6.38 patch made for 2.6.38rc3
patch -Np1 -i ../2.6.38_console.patch || return 1
# if [[ ${_kernver:0:6} == "2.6.37" ]] || [[ ${_kernver:0:6} > "2.6.37" ]]; then
# patch -Np1 -i ../sema_init.patch || return 1
# fi
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod"
cp "${srcdir}/archive_files/arch/${_archdir}/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC4" . || return 1
cp 2.6.x/Makefile . || return 1
msg "Compiling fglrx module ..."
## Compile module using _ati_check variables
make -C /lib/modules/${_kernver}/build SUBDIRS="`pwd`" ARCH=${BUILDARCH} \
MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \
PAGE_ATTR_FIX=$PAGE_ATTR_FIX COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE modules || return 1
}
package() {
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod"
install -m755 -d "${pkgdir}/lib/modules/${_kernver}/video/" || return 1
install -m644 fglrx.ko "${pkgdir}/lib/modules/${_kernver}/video/" || return 1
## License
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 "${srcdir}/archive_files/ATI_LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}