# Based on the original PKGBUILD of 'catalyst' and 'lib32-catalyst-utils' # Maintainer: Vi0L0 # Contributor: Eduardo "kensai" Romero # Contributor: Anssi Hannula # Contributor: Stefan Bühler # Contributor: baghera # Contributor: Arlekino # Contributor: Mikko Seppala # Contributor: Manuel Gaul # Contributor: Armin Wehrfritz _kernver=`uname -r` pkgbase=catalyst if [ "${CARCH}" = "i686" ]; then pkgname=('catalyst') fi if [ "${CARCH}" = "x86_64" ]; then pkgname=('catalyst' 'lib32-catalyst') fi pkgver=10.6 pkgrel=11 arch=('i686' 'x86_64') url="http://www.ati.amd.com" license=('custom') source=(http://www2.ati.com/drivers/linux/ati-driver-installer-${pkgver/./-}-x86.x86_64.run catalyst.sh lib32-catalyst.sh amdcccle.desktop atieventsd.sh fglrx-2.6.34-rc4.patch) md5sums=('089967a9aa86ad596884d82bb0b3a382' 'bdafe749e046bfddee2d1c5e90eabd83' 'd31f79782eb1042e1b45f2486c3b0d33' '4efa8414a8fe9eeb50da38b5522ef81d' 'f729bf913613f49b0b9759c246058a87' '5d464f7068fb45a9d2013cbd6a0b2021') build() { ## Unpack archive msg "Unpack archive ..." /bin/sh ./ati-driver-installer-${pkgver/./-}-x86.x86_64.run --extract archive_files ## Build kernel modules msg "Build kernel modules ..." if [ "${CARCH}" = "x86_64" ]; then BUILDARCH=x86_64 _archdir=x86_64 fi if [ "${CARCH}" = "i686" ]; then BUILDARCH=i386 _archdir=x86 fi #patching for kernel 2.6.34 or 2.6.35 support if [ `uname -r |grep -c "2.6.34"` != 0 ] || [ `uname -r |grep -c "2.6.35"` != 0 ]; then cd "${srcdir}/archive_files/" patch -Np1 -i ../fglrx-2.6.34-rc4.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 make -C /lib/modules/${_kernver}/build SUBDIRS="`pwd`" ARCH=${BUILDARCH} modules || return 1 } package_catalyst() { pkgdesc="AMD/ATI drivers for Radeon brand cards" depends=('xorg-server<1.9.0' 'kernel26>=2.6.30' 'kernel26<2.6.36' 'kernel26-headers' 'netkit-bsd-finger' 'libstdc++5' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs') conflicts=('catalyst-test' 'catalyst-utils' 'nvidia' 'libgl' 'catalyst-leaked' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri') provides=('catalyst' 'catalyst-utils' 'libgl' "libatical=${pkgver}") install=catalyst.install ## Install kernel modules msg "Install kernel modules ..." cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod" install -m755 -d "${pkgdir}/lib/modules/${_kernver}/video/" install -m644 fglrx.ko "${pkgdir}/lib/modules/${_kernver}/video/" || return 1 install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install ## Install userspace tools and libraries msg "Install userspace tools and libraries ..." # Create directories install -m755 -d "${pkgdir}/etc/ati" install -m755 -d "${pkgdir}/etc/rc.d" install -m755 -d "${pkgdir}/etc/profile.d" install -m755 -d "${pkgdir}/etc/acpi/events" install -m755 -d "${pkgdir}/usr/lib/xorg/modules/dri" install -m755 -d "${pkgdir}/usr/lib/xorg/modules/drivers" install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions" install -m755 -d "${pkgdir}/usr/lib/xorg/modules/linux" install -m755 -d "${pkgdir}/usr/bin" install -m755 -d "${pkgdir}/usr/sbin" install -m755 -d "${pkgdir}/usr/include/X11/extensions" install -m755 -d "${pkgdir}/usr/include/GL" install -m755 -d "${pkgdir}/usr/share/applications" install -m755 -d "${pkgdir}/usr/share/ati/amdcccle" install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m755 -d "${pkgdir}/usr/share/man/man8" install -m755 -d "${pkgdir}/usr/share/pixmaps" # X.org driver if [ "${CARCH}" = "i686" ]; then cd "${srcdir}/archive_files/x750/usr/X11R6/lib/modules" || return 1 elif [ "${CARCH}" = "x86_64" ]; then cd "${srcdir}/archive_files/x750_64a/usr/X11R6/lib64/modules" || return 1 fi #install -m644 *.a "${pkgdir}/usr/lib/xorg/modules/" || return 1 install -m755 *.so "${pkgdir}/usr/lib/xorg/modules/" || return 1 install -m755 drivers/*.so "${pkgdir}/usr/lib/xorg/modules/drivers/" || return 1 install -m755 linux/*.so "${pkgdir}/usr/lib/xorg/modules/linux/" || return 1 install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/" || return 1 #install -m755 extensions/libdri.so "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.ati" || return 1 # Controlcenter / libraries if [ "${CARCH}" = "i686" ]; then cd "${srcdir}/archive_files/arch/x86/usr" || return 1 _lib=lib elif [ "${CARCH}" = "x86_64" ]; then cd "${srcdir}/archive_files/arch/x86_64/usr" || return 1 _lib=lib64 fi install -m755 X11R6/bin/* "${pkgdir}/usr/bin/" || return 1 install -m755 sbin/* "${pkgdir}/usr/sbin/" || return 1 install -m755 X11R6/${_lib}/*.so* "${pkgdir}/usr/lib/" || return 1 install -m644 X11R6/${_lib}/*.a "${pkgdir}/usr/lib/" || return 1 # really needed? install -m644 X11R6/${_lib}/*.cap "${pkgdir}/usr/lib/" || return 1 install -m755 X11R6/${_lib}/modules/dri/*.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1 install -m755 ${_lib}/*.so* "${pkgdir}/usr/lib/" || return 1 ln -sf /usr/lib/xorg/modules/dri ${pkgdir}/usr/lib/dri ln -sf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so.1" ln -sf libfglrx_pp.so.1.0 "${pkgdir}/usr/lib/libfglrx_pp.so.1" #ln -sf libfglrx_tvout.so.1.0 "${pkgdir}/usr/lib/libfglrx_tvout.so.1" ln -sf libfglrx_gamma.so.1.0 "${pkgdir}/usr/lib/libfglrx_gamma.so.1" ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" cd "${srcdir}"/archive_files/common install -m644 etc/ati/* "${pkgdir}/etc/ati/" || return 1 chmod 755 "${pkgdir}/etc/ati/authatieventsd.sh" || return 1 install -m644 usr/X11R6/include/X11/extensions/*.h "${pkgdir}/usr/include/X11/extensions/" || return 1 install -m644 usr/X11R6/bin/amdupdaterandrconfig "${pkgdir}/usr/bin/" || return 1 install -m644 usr/include/GL/*.h "${pkgdir}/usr/include/GL/" || return 1 install -m755 usr/sbin/*.sh "${pkgdir}/usr/sbin/" || return 1 install -m644 usr/share/ati/amdcccle/* "${pkgdir}/usr/share/ati/amdcccle/" || return 1 # ? what are these files for? # install -m644 usr/share/gnome/apps/amdcccle.desktop "${pkgdir}/usr/share/applications/" || return 1 install -m644 usr/share/icons/*.xpm "${pkgdir}/usr/share/pixmaps/" || return 1 install -m644 usr/share/man/man8/*.8 "${pkgdir}/usr/share/man/man8/" || return 1 install -m644 "${srcdir}/amdcccle.desktop" "${pkgdir}/usr/share/applications/" || return 1 # ACPI example files install -m755 usr/share/doc/fglrx/examples/etc/acpi/*.sh "${pkgdir}/etc/acpi/" || return 1 sed -i -e 's/usr\/X11R6/usr/g' "${pkgdir}/etc/acpi/ati-powermode.sh" || return 1 install -m644 usr/share/doc/fglrx/examples/etc/acpi/events/* "${pkgdir}/etc/acpi/events/" || return 1 # Add ATI Events Daemon launcher install -m755 "${srcdir}/atieventsd.sh" "${pkgdir}/etc/rc.d/atieventsd" || return 1 # thanks to cerebral, we dont need that damned symlink install -m755 "${srcdir}/catalyst.sh" "${pkgdir}/etc/profile.d/" || return 1 # License install -m644 "${srcdir}/archive_files/ATI_LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1 } package_lib32-catalyst() { pkgdesc="AMD/ATI 32bit userspace libraries for Radeon brand cards." groups=('lib32') depends=('lib32-libxext' 'lib32-libdrm' 'lib32-libstdc++5' 'catalyst>=10.6') conflicts=('lib32-libgl' 'lib32-nvidia-utils') replaces=('lib32-catalyst-utils' 'lib32-ati-fglrx-utils' 'lib32-fglrx-utils') provides=('lib32-libgl') cd ${srcdir} install -D -m755 lib32-catalyst.sh ${pkgdir}/etc/profile.d/lib32-catalyst.sh || return 1 ## Install 32bit userspace libraries (lib32) msg "Install 32bit userspace libraries (lib32) ..." cd "${srcdir}/archive_files/arch/x86/usr" || return 1 install -dm755 "${pkgdir}/opt/lib32/usr/lib/xorg/modules/dri" || return 1 install -m755 lib/*.so* "${pkgdir}/opt/lib32/usr/lib/" || return 1 install -m755 X11R6/lib/*.so* "${pkgdir}/opt/lib32/usr/lib" || return 1 install -m755 X11R6/lib/modules/dri/*.so "${pkgdir}/opt/lib32/usr/lib/xorg/modules/dri/" || return 1 ln -sf libfglrx_dm.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libfglrx_dm.so.1" # ln -sf libfglrx_pp.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libfglrx_pp.so.1" # ln -sf libfglrx_tvout.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libfglrx_tvout.so.1" ln -sf libfglrx_gamma.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libfglrx_gamma.so.1" ln -sf libAMDXvBA.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libAMDXvBA.so.1" ln -sf libXvBAW.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libXvBAW.so.1" ln -sf libGL.so.1.2 "${pkgdir}/opt/lib32/usr/lib/libGL.so.1" ln -sf libGL.so.1.2 "${pkgdir}/opt/lib32/usr/lib/libGL.so" ln -sf libatiuki.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libatiuki.so.1" ln -sf libatiuki.so.1.0 "${pkgdir}/opt/lib32/usr/lib/libatiuki.so" }