mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-09 21:47:15 +08:00
142 lines
5.6 KiB
Bash
142 lines
5.6 KiB
Bash
source ../linux.conf
|
|
|
|
pkgname=(catalyst chd-catalyst)
|
|
pkgver=15.9
|
|
_amdver=15.201.1151
|
|
pkgrel=12
|
|
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
|
|
4.6-arch-get_user_pages-page_cache_release.patch
|
|
4.7-arch-cpu_has_pge-v2.patch
|
|
4.9_over_4.6-arch-get_user_pages_remote.patch
|
|
4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
|
|
4.11-npfeiler-signal_vmf.patch
|
|
grsec_arch.patch
|
|
fglrx_supported)
|
|
md5sums=('d2de2df6946b452c266a3c892e6e46ff'
|
|
'fd98b7e486d7fd4cad8de7b95b5b031e'
|
|
'3e1b82bd69774ea808da69c983d6a43b'
|
|
'5184b94a2a40216a67996999481dd9ee'
|
|
'c5156eddf81c8a1719b160d05a2e8d67'
|
|
'ef97fc080ce7e5a275fe0c372bc2a418'
|
|
'fd2851026228ca72124972d1ea0335ea'
|
|
'98828e3eeaec2b3795e584883cc1b746'
|
|
'0e0666e95d1d590a7a83192805679485'
|
|
'd9bea135ae3e1b3ca87c5bbe6dcf8e72'
|
|
'11b7c2e0dc4794801005d66b0e7608a3'
|
|
'37eef5103a11d8136979463e7bc31091'
|
|
'194cb44e9e2ab0e65b6267aca66d0400'
|
|
'05f6364db877d9c4bdf1592deda905b7'
|
|
'8e53ba65a0aad42eb2ff771c1ace6609'
|
|
'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
|
|
patch -Np1 -i ../4.6-arch-get_user_pages-page_cache_release.patch
|
|
patch -Np1 -i ../4.7-arch-cpu_has_pge-v2.patch
|
|
patch -Np1 -i ../4.9_over_4.6-arch-get_user_pages_remote.patch
|
|
patch -Np1 -i ../4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
|
|
patch -Np1 -i ../4.11-npfeiler-signal_vmf.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"
|
|
}
|