# # Chakra Packages for Chakra, part of chakraos.org # _extramodules=extramodules-4.5-CHAKRA _kver="$(cat /usr/lib/modules/${_extramodules}/version)" _kernelver=4.5.7 pkgname=(catalyst chd-catalyst) pkgver=15.9 _amdver=15.201.1151 pkgrel=6 pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only. Radeons HD 2 3 4 xxx ARE NOT SUPPORTED" screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg" arch=('x86_64') url="http://www.amd.com" license=('custom') makedepends=('gcc-libs' 'gcc>4.0.0' 'make' "linux-headers=${_kernelver}") url_ref="http://support.amd.com/en-us/kb-articles/Pages/latest-linux-beta-driver.aspx" DLAGENTS="http::/usr/bin/curl --referer ${url_ref} -o %o %u" source=(http://www2.ati.com/drivers/linux/amd-catalyst-${pkgver}-linux-installer-${_amdver}-x86.x86_64.zip ati_make.sh makefile_compat.patch lano1106_fglrx_intel_iommu.patch lano1106_kcl_agp_13_4.patch fglrx_gpl_symbol.patch 4.2-amd-from_crimson_15.11.patch 4.3-gentoo-mtrr.patch 4.3-kolasa-seq_printf.patch 4.4-manjaro-xstate.patch grsec_arch.patch fglrx_supported) md5sums=('d2de2df6946b452c266a3c892e6e46ff' 'fd98b7e486d7fd4cad8de7b95b5b031e' '3e1b82bd69774ea808da69c983d6a43b' '5184b94a2a40216a67996999481dd9ee' 'c5156eddf81c8a1719b160d05a2e8d67' 'ef97fc080ce7e5a275fe0c372bc2a418' 'fd2851026228ca72124972d1ea0335ea' '98828e3eeaec2b3795e584883cc1b746' '0e0666e95d1d590a7a83192805679485' 'd9bea135ae3e1b3ca87c5bbe6dcf8e72' '8941e91fc58cb44ce21ab9bda135754e' '96f6cc8332e5745b25bbf80b0daa6baf') build() { ## Unpack archive /bin/sh ./AMD-Catalyst-${pkgver}-Linux-installer-${_amdver}-x86.x86_64.run --extract archive_files msg "Setting compilation variables ..." # include ati_make.sh and use _ati_check function from it . ati_make.sh _ati_check BUILDARCH=x86_64 _archdir=x86_64 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 patch -Np1 -i ../lano1106_fglrx_intel_iommu.patch patch -Np1 -i ../lano1106_kcl_agp_13_4.patch patch -Np1 -i ../4.2-amd-from_crimson_15.11.patch patch -Np1 -i ../4.3-kolasa-seq_printf.patch patch -Np1 -i ../4.3-gentoo-mtrr.patch patch -Np1 -i ../fglrx_gpl_symbol.patch patch -Np1 -i ../4.4-manjaro-xstate.patch patch -Np1 -i ../grsec_arch.patch cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod" cp "${srcdir}/archive_files/arch/${_archdir}/lib/modules/fglrx/build_mod/libfglrx_ip.a" . cp 2.6.x/Makefile . msg "Compiling fglrx module ..." # Compile module using _ati_check variables CFLAGS_MODULE="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX $def_smp $def_modversions" make -C /usr/lib/modules/${_kver}/build SUBDIRS="`pwd`" ARCH=${BUILDARCH} \ MODFLAGS="$CFLAGS_MODULE" \ CFLAGS_MODULE="$CFLAGS_MODULE" \ PAGE_ATTR_FIX=$PAGE_ATTR_FIX modules } package_catalyst() { pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only" screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg" depends=("linux=${_kernelver}" 'catalyst-utils') conflicts=('nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'catalyst-legacy') install=catalyst.install # here we are checking kernel's extramodules dir for r in /usr/lib/modules/*; do s=${r:17} if [[ ${s:0:3} = "ext" ]]; then if [[ `cat ${r}/version | grep -c ${_kver}` != 0 ]]; then _destidir=${s} sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${s}/" $startdir/catalyst.install fi elif [[ ${s} = ${_kver} ]] && [[ ! -e ${r}/extramodules ]]; then _destidir=${_kver}/video sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=null/" $startdir/catalyst.install fi done cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod" install -m755 -d "${pkgdir}/usr/lib/modules/${_destidir}/" install -m644 fglrx.ko "${pkgdir}/usr/lib/modules/${_destidir}/" find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kver}/" $startdir/catalyst.install # License install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" # install -m644 "${srcdir}/archive_files/LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" install -m644 ${srcdir}/archive_files/common/usr/share/doc/fglrx/LICENSE.TXT ${pkgdir}/usr/share/licenses/${pkgname} } package_chd-catalyst() { pkgdesc="CHD ids for catalyst $pkgver" arch=('any') cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod/" install -dm755 "${pkgdir}/opt/chakra/hwdb" sh -e "${srcdir}/fglrx_supported" fglrxko_pci_ids.h \ > "${pkgdir}/opt/chakra/hwdb/hw_ati_hwdb" }