1 # Maintainer: Vi0L0 <vi0l093@gmail.com>
2 # Great Contributor: Shen Miren <dickeny@gmail.com> (catalyst_build_module idea and some important code)
3 # Great Contributor: B. M. Kwapinski <lord.xml@web.de> (makepkg idea)
4 # Contributor: aidanlinz
5 # Contributor: Spasswolf
13 pkgdesc="AMD/ATI drivers for Radeon brand cards (based on ubuntu fglrx with xserver 1.10 support). catalyst-utils + catalyst-generator"
14 arch=('i686' 'x86_64')
15 url="http://www.ati.amd.com"
17 depends=('xorg-server>=1.9.0' 'xorg-server<1.11.0' 'kernel26>=2.6.29' 'kernel26<2.6.40' 'kernel26-headers' 'netkit-bsd-finger' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs' 'gcc>4.0.0' 'make' 'patch')
18 optdepends=('qt: to run ATi Catalyst Control Center (amdcccle)')
19 conflicts=('catalyst' 'catalyst-utils' 'nvidia' 'libgl' 'catalyst-leaked' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri' 'catalyst-daemon' 'catalyst-generator' 'catalyst-hook')
20 provides=('catalyst' 'libgl' "libatical=${pkgver}" 'catalyst-utils' 'catalyst-generator')
21 install=catalyst-test.install
23 #patch_file="fglrx-2.6.36.patch"
24 #patch_md5="eb58dbf993dbf8d77924055cc8caaeb6"
27 source=(http://archive.ubuntu.com/ubuntu/pool/restricted/f/fglrx-installer/fglrx-installer_8.840.orig.tar.gz
39 md5sums=('9cd68187fcc17acb9548b4daaddaa67e'
40 'bdafe749e046bfddee2d1c5e90eabd83'
41 '4efa8414a8fe9eeb50da38b5522ef81d'
42 'f729bf913613f49b0b9759c246058a87'
43 '0b784d5749ff7e5bf135e94440bdcd72'
44 '7d7c9267e26b61e2716bd54d5cd13101'
45 '903bafc6654db3c27b269823281b9b4d'
46 '660396540b0ceaff71d6155c986734de'
47 '3e1b82bd69774ea808da69c983d6a43b'
48 '6a6b2133aa6ef3bcd377731b19c0553a'
49 'eb24250f8e537273bae9dbd79a022d61')
53 ##Preparing ubuntu's fglrx to work with old archs pkgbuild
54 tar zxvf fglrx-installer_8.840.orig.tar.gz
55 #cd fglrx-installer-8.723.1
59 mv arch common xpic xpic_64a archive_files
63 ## Install userspace tools and libraries
65 install -m755 -d "${pkgdir}/etc/ati"
66 install -m755 -d "${pkgdir}/etc/rc.d"
67 install -m755 -d "${pkgdir}/etc/profile.d"
68 install -m755 -d "${pkgdir}/etc/acpi/events"
69 install -m755 -d "${pkgdir}/etc/security/console.apps"
71 install -m755 -d "${pkgdir}/usr/lib/xorg/modules/dri"
72 install -m755 -d "${pkgdir}/usr/lib/xorg/modules/drivers"
73 install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
74 install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx" # since 11.4
75 install -m755 -d "${pkgdir}/usr/lib/xorg/modules/linux"
76 install -m755 -d "${pkgdir}/usr/lib/dri"
77 install -m755 -d "${pkgdir}/usr/lib/fglrx" # since 11.4
79 install -m755 -d "${pkgdir}/usr/bin"
80 install -m755 -d "${pkgdir}/usr/sbin"
82 install -m755 -d "${pkgdir}/usr/include/X11/extensions"
83 install -m755 -d "${pkgdir}/usr/include/GL"
85 install -m755 -d "${pkgdir}/usr/share/applications"
86 install -m755 -d "${pkgdir}/usr/share/ati/amdcccle"
87 install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
88 install -m755 -d "${pkgdir}/usr/share/man/man8"
89 install -m755 -d "${pkgdir}/usr/share/pixmaps"
92 if [ "${CARCH}" = "i686" ]; then
93 cd "${srcdir}/archive_files/xpic/usr/X11R6/lib/modules" || return 1
94 elif [ "${CARCH}" = "x86_64" ]; then
95 cd "${srcdir}/archive_files/xpic_64a/usr/X11R6/lib64/modules" || return 1
98 # *.a added in 11.2, and removed in 11.3...
99 #install -m644 *.a "${pkgdir}/usr/lib/xorg/modules/" || return 1
100 install -m755 *.so "${pkgdir}/usr/lib/xorg/modules/" || return 1
101 install -m755 drivers/*.so "${pkgdir}/usr/lib/xorg/modules/drivers/" || return 1
102 install -m755 linux/*.so "${pkgdir}/usr/lib/xorg/modules/linux/" || return 1
103 #install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/" || return 1 #before 11.4
104 install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so" || return 1 # since 11.4
105 ln -sf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/libglx.so" # since 11.4
106 ln -sf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx-libglx.so" # since 11.4
107 ln -sf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" # since 11.4
108 #install -m755 extensions/libdri.so "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.ati" || return 1
110 # Controlcenter / libraries
111 if [ "${CARCH}" = "i686" ]; then
112 cd "${srcdir}/archive_files/arch/x86/usr" || return 1
114 elif [ "${CARCH}" = "x86_64" ]; then
115 cd "${srcdir}/archive_files/arch/x86_64/usr" || return 1
119 install -m755 X11R6/bin/* "${pkgdir}/usr/bin/" || return 1
120 install -m755 sbin/* "${pkgdir}/usr/sbin/" || return 1
121 #install -m755 X11R6/${_lib}/*.so* "${pkgdir}/usr/lib/" || return #before 11.4
122 install -m755 X11R6/${_lib}/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx" || return 1 # since 11.4
123 ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx/libGL.so.1.2" # since 11.4
124 ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx-libGL.so.1.2" # since 11.4
125 ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1.2" # since 11.4
126 ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" # since 11.4
127 ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" # since 11.4
128 install -m755 X11R6/${_lib}/libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/" || return 1 # since 11.4
129 install -m755 X11R6/${_lib}/libatiadlxx.so "${pkgdir}/usr/lib/" || return 1 # since 11.4
130 install -m755 X11R6/${_lib}/libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/" || return 1 # since 11.4
131 install -m755 X11R6/${_lib}/libXvBAW.so.1.0 "${pkgdir}/usr/lib/" || return 1 # since 11.4
132 install -m644 X11R6/${_lib}/*.a "${pkgdir}/usr/lib/" || return 1 # really needed?
133 install -m644 X11R6/${_lib}/*.cap "${pkgdir}/usr/lib/" || return 1
134 install -m755 X11R6/${_lib}/modules/dri/*.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
135 install -m755 ${_lib}/*.so* "${pkgdir}/usr/lib/" || return 1
137 ## QT libs (only 2 files) - un-comment 2 lines below if you don't want to install qt package
138 # install -m755 -d "${pkgdir}/usr/share/ati/${_lib}"
139 # install -m755 share/ati/${_lib}/*.so* "${pkgdir}/usr/share/ati/${_lib}/" || return 1
141 ln -sf /usr/lib/xorg/modules/dri/fglrx_dri.so ${pkgdir}/usr/lib/dri/fglrx_dri.so
142 ln -sf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so.1"
143 ln -sf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so"
144 #ln -sf libfglrx_pp.so.1.0 "${pkgdir}/usr/lib/libfglrx_pp.so.1"
145 #ln -sf libfglrx_tvout.so.1.0 "${pkgdir}/usr/lib/libfglrx_tvout.so.1"
146 #ln -sf libfglrx_gamma.so.1.0 "${pkgdir}/usr/lib/libfglrx_gamma.so.1"
147 #ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" #before 11.4
148 #ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" #before 11.4
149 ln -sf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so.1"
150 ln -sf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so"
153 cd "${srcdir}"/archive_files/common
154 install -m644 etc/ati/* "${pkgdir}/etc/ati/" || return 1
155 chmod 755 "${pkgdir}/etc/ati/authatieventsd.sh" || return 1
157 #security provided with 10.9, is it working fine?
158 install -m644 etc/security/console.apps/amdcccle-su "${pkgdir}/etc/security/console.apps/" || return 1
160 # *.h removed in 11.3...
161 #install -m644 usr/X11R6/include/X11/extensions/*.h "${pkgdir}/usr/include/X11/extensions/" || return 1
162 install -m644 usr/X11R6/bin/amdupdaterandrconfig "${pkgdir}/usr/bin/" || return 1
163 install -m644 usr/include/GL/*.h "${pkgdir}/usr/include/GL/" || return 1
164 install -m755 usr/sbin/*.sh "${pkgdir}/usr/sbin/" || return 1
165 install -m644 usr/share/ati/amdcccle/* "${pkgdir}/usr/share/ati/amdcccle/" || return 1
166 install -m644 usr/share/icons/*.xpm "${pkgdir}/usr/share/pixmaps/" || return 1
167 install -m644 usr/share/man/man8/*.8 "${pkgdir}/usr/share/man/man8/" || return 1
168 install -m644 "${srcdir}/amdcccle.desktop" "${pkgdir}/usr/share/applications/" || return 1
171 install -m755 usr/share/doc/fglrx/examples/etc/acpi/*.sh "${pkgdir}/etc/acpi/" || return 1
172 sed -i -e 's/usr\/X11R6/usr/g' "${pkgdir}/etc/acpi/ati-powermode.sh" || return 1
173 install -m644 usr/share/doc/fglrx/examples/etc/acpi/events/* "${pkgdir}/etc/acpi/events/" || return 1
175 # Add ATI Events Daemon launcher
176 install -m755 "${srcdir}/atieventsd.sh" "${pkgdir}/etc/rc.d/atieventsd" || return 1
178 # thanks to cerebral, we dont need that damned symlink
179 install -m755 "${srcdir}/catalyst.sh" "${pkgdir}/etc/profile.d/" || return 1
182 install -m644 "${srcdir}/archive_files/common/usr/share/doc/fglrx/ATI_LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
185 ## catalyst-generator section
186 # Prepare modules source files
188 test "${CARCH}" = "i686" && _archdir=x86
189 cd "${srcdir}/archive_files/"
190 install -m755 -d "${pkgdir}/usr/share/ati/build_mod" || return 1
191 install -m644 common/lib/modules/fglrx/build_mod/*.c \
192 "${pkgdir}/usr/share/ati/build_mod/" || return 1
193 install -m644 common/lib/modules/fglrx/build_mod/*.h \
194 "${pkgdir}/usr/share/ati/build_mod/" || return 1
195 install -m644 common/lib/modules/fglrx/build_mod/2.6.x/Makefile \
196 "${pkgdir}/usr/share/ati/build_mod/" || return 1
197 install -m644 arch/${_archdir}/lib/modules/fglrx/build_mod/libfglrx_ip.a \
198 "${pkgdir}/usr/share/ati/build_mod/" || return 1
199 install -m755 -d "${pkgdir}/usr/bin" || return 1
200 install -m755 "${srcdir}/catalyst_build_module" "${pkgdir}/usr/bin" || return 1
202 sed -i -e "s/catver=.*/catver=${pkgver}-${pkgrel}/" "${pkgdir}/usr/bin/catalyst_build_module"
205 install -m644 "${srcdir}/catalyst-PKGBUILD" "${pkgdir}/usr/share/ati/build_mod/PKGBUILD" || return 1
206 sed -i -e "s/pkgver=.*/pkgver=${pkgver}/" "${pkgdir}/usr/share/ati/build_mod/PKGBUILD" || return 1
207 sed -i -e "s/pkgrel=.*/pkgrel=${pkgrel}/" "${pkgdir}/usr/share/ati/build_mod/PKGBUILD" || return 1
210 install -m644 "${srcdir}/catalyst.install" "${pkgdir}/usr/share/ati/build_mod/" || return 1
212 # modified ati's make.sh script
213 install -m755 "${srcdir}/ati_make.sh" "${pkgdir}/usr/share/ati/build_mod/" || return 1
215 # makefile patch to choose arch_compat_alloc_user_space or older compat_alloc_user_space
216 # works only in combination with ati_make.sh script
217 install -m644 "${srcdir}/makefile_compat.patch" "${pkgdir}/usr/share/ati/build_mod/" || return 1
219 # patch used when kernel's # CONFIG_BKL is not set
220 install -m644 "${srcdir}/no_bkl.patch" "${pkgdir}/usr/share/ati/build_mod/" || return 1
222 # 2.6.39 patch - in .39 bkl was completely removed
223 install -m644 "${srcdir}/2.6.39_bkl.patch" "${pkgdir}/usr/share/ati/build_mod/" || return 1
226 # for ver in ${patch_ver}; do
227 # install -m644 "${srcdir}/${patch_file}" \
228 # "${pkgdir}/usr/share/ati/build_mod/${ver}.patch" || return 1