Magellan Linux

Contents of /trunk/nonfree/ati-drivers/ati-drivers-12.4-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12722 - (show annotations) (download)
Fri Jun 29 08:51:45 2012 UTC (11 years, 10 months ago) by niro
File size: 8771 byte(s)
-ver bump to 12.4-r1
1 # $Id$
2
3 PNAME="ati-drivers"
4 PVER="12.4"
5 PBUILD="r1"
6
7 PCAT="x11-drivers"
8
9 DESCRIPTION="Display driver for the ATI Radeon and FireGL graphics accelerators with OpenGL suport."
10 HOMEPAGE="http://www.ati.com/"
11
12 COMMON_DEPEND=">= x11-base/xorg-server-1.11
13 >= x11-libs/libX11-1.4
14 >= x11-libs/libXext-1.3
15 >= x11-libs/libXinerama-1.1
16 >= x11-libs/libXrandr-1.3
17 >= x11-libs/libXrender-0.9
18 >= x11-apps/xauth-1"
19
20 QT4_DEPEND=">= x11-libs/libICE-1
21 >= x11-libs/libSM-1.2
22 >= x11-libs/libXcursor-1.1
23 >= x11-libs/libXfixes-5
24 >= x11-libs/libXxf86vm-1.1
25 >= x11-libs/qt4-core-4.8
26 >= x11-libs/qt4-gui-4.8"
27
28 SDEPEND=">= x11-proto/inputproto-2
29 >= x11-proto/xf86miscproto-0.9
30 >= x11-proto/xf86vidmodeproto-2.3
31 >= x11-proto/xineramaproto-1.2
32 >= x11-libs/libXtst-1.2
33 >= sys-apps/findutils-4.4
34 >= app-misc/pax-utils-0.3"
35
36 PROVIDE="virtual/opengl
37 virtual/ati-drivers"
38
39 # both files must be fetch or our md5-logic breaks
40 SRCFILE="amd-driver-installer-${PVER%.*}-${PVER#*.}-x86.x86_64.run"
41 SRCDIR="${BUILDDIR}/ati-drivers"
42
43 # ati-module-sh cvs revision
44 MODULESH_REV=1.2
45
46 sminclude xorg mtools xdg
47
48 # it's fatal if these drivers got stripped
49 msetfeature "!strip"
50
51 SRC_URI=(
52 http://www2.ati.com/drivers/linux/${SRCFILE}
53 mirror://${PNAME}/${SRCFILE}
54 mirror://${PNAME}/ati-module.sh-${MODULESH_REV}
55 mirror://${PNAME}/switchlibGL
56 mirror://${PNAME}/switchlibglx
57 )
58
59 src_prepare()
60 {
61 install -d ${SRCDIR} || die
62 cd ${SRCDIR}
63 sh ${SOURCEDIR}/${PNAME}/${SRCFILE} --extract ${SRCDIR} || die
64 }
65
66 # fake (needed with the include of xorg.sminc)
67 src_compile() { return 0; }
68
69 arch_src_install()
70 {
71 cd ${SRCDIR}
72
73 # arch specific stuff
74 local arch="$1"
75 local abi
76 local abi_libdir
77 local modules_dir
78 case ${arch} in
79 x86_64)
80 abi="64"
81 abi_libdir="lib${abi}"
82 modules_dir="xpic_${abi}a"
83 ;;
84 i*86)
85 abi="32"
86 abi_libdir="lib"
87 modules_dir="xpic"
88 ;;
89 esac
90 local arch_dir="arch/${arch/i*86/x86}"
91 local ati_root="/usr/${abi_libdir}/opengl/ati"
92 local x11_libdir="/usr/${abi_libdir}/xorg"
93
94 # gl libraries
95 minstalldir ${ati_root}/lib || die
96 minstallexec ${arch_dir}/usr/X11R6/${abi_libdir}/fglrx/fglrx-libGL.so.1.2 ${ati_root}/lib/libGL.so.1.2 || die
97 mlink libGL.so.1.2 ${ati_root}/lib/libGL.so.1 || die
98 mlink libGL.so.1.2 ${ati_root}/lib/libGL.so || die
99
100 # same with extensions
101 minstalldir ${ati_root}/extensions || die
102 minstallexec ${modules_dir}/usr/X11R6/${abi_libdir}/modules/extensions/fglrx/fglrx-libglx.so ${ati_root}/extensions/libglx.so || die
103
104 # other libs
105 minstalldir /usr/${abi_libdir} || die
106 # everything except for the libGL.so installed some row above
107 local i
108 for i in $(find ${arch_dir}/usr/X11R6/${abi_libdir} -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*')
109 do
110 minstallexec ${i} /usr/${abi_libdir} || die
111 done
112 for i in $(find ${arch_dir}/usr/X11R6/${abi_libdir} -maxdepth 1 -type f -not -name '*.so*')
113 do
114 minstallfile ${i} /usr/${abi_libdir} || die
115 done
116
117 # install drivers
118 minstalldir ${x11_libdir}/modules/drivers || die
119 minstallexec ${modules_dir}/usr/X11R6/${abi_libdir}/modules/drivers/fglrx_drv.so ${x11_libdir}/modules/drivers || die
120
121 # xorg-modules
122 minstallexec ${modules_dir}/usr/X11R6/${abi_libdir}/modules/amdxmm.so ${x11_libdir}/modules || die
123 minstallexec ${modules_dir}/usr/X11R6/${abi_libdir}/modules/glesx.so ${x11_libdir}/modules || die
124
125 # dri modules
126 minstalldir /usr/${abi_libdir}/dri || die
127 minstallexec ${arch_dir}/usr/X11R6/${abi_libdir}/modules/dri/fglrx_dri.so /usr/${abi_libdir}/dri || die
128
129 # drm module
130 minstalldir ${x11_libdir}/modules/linux || die
131 minstallexec ${modules_dir}/usr/X11R6/${abi_libdir}/modules/linux/libfglrxdrm.so ${x11_libdir}/modules/linux || die
132
133 # amd cal and opencl libs
134 minstalldir /usr/${abi_libdir}/OpenCL/vendors/amd || die
135 minstallexec ${arch_dir}/usr/${abi_libdir}/libamdocl\*.so\* /usr/${abi_libdir}/OpenCL/vendors/amd || die
136 minstallexec ${arch_dir}/usr/${abi_libdir}/libOpenCL\*.so\* /usr/${abi_libdir}/OpenCL/vendors/amd || die
137 mlink libOpenCL.so.1 /usr/${abi_libdir}/OpenCL/vendors/amd/libOpenCL.so || die
138 minstallexec ${arch_dir}/usr/${abi_libdir}/libati\*.so\* /usr/${abi_libdir} || die
139 minstalldir /etc/OpenCL/vendors || die
140 MCONFIG="/etc/OpenCL/vendors/amdocl${abi}"
141 mclearconfig || die
142 maddconfig "/usr/${abi_libdir}/OpenCL/vendors/amd/libamdocl${abi}.so" || die
143
144 # environment
145 minstalldir /etc/env.d || die
146 MCONFIG="/etc/env.d/09ati-m${abi}"
147 mclearconfig || die
148 maddconfig "PATH=/opt/ati/bin"
149 maddconfig "ROOTPATH=/opt/ati/bin"
150 maddconfig "LIBGL_DRIVERS_PATH=/usr/${abi_libdir}/dri"
151
152 # apps
153 minstalldir /opt/ati/bin || die
154 minstallexec ${arch_dir}/usr/sbin/atieventsd /opt/ati/bin || die
155 # qt4
156 minstallexec ${arch_dir}/usr/sbin/amdnotifyui /opt/ati/bin || die
157 # clinfo
158 minstallexec ${arch_dir}/usr/bin/clinfo /opt/ati/bin || die
159 # other
160 minstallexec ${arch_dir}/usr/X11R6/bin/\* /opt/ati/bin || die
161
162 # config stuff
163 minstalldir /etc/ati || die
164 minstallfile common/etc/ati/logo\* /etc/ati || die
165 minstallfile common/etc/ati/control /etc/ati || die
166 minstallfile common/etc/ati/atiogl.xml /etc/ati || die
167 minstallfile common/etc/ati/signature /etc/ati || die
168 minstallfile common/etc/ati/amdpcsdb.default /etc/ati || die
169 minstallexec common/etc/ati/authatieventsd.sh /etc/ati || die
170 # acpi config stuff
171 minstalldir /etc/acpi/events || die
172 minstallexec common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh /etc/acpi || die
173 minstallfile common/usr/share/doc/fglrx/examples/etc/acpi/events/\* /etc/acpi/events || die
174
175 # includes
176 minstalldir /usr
177 mcopy -R common/usr/include /usr || die
178 # includes ( no includes provided here atm)
179 # minstalldir /usr/include/X11/extensions || die
180 # minstallfile common/usr/X11R6/include/X11/extensions/\*.h /usr/include/X11/extensions || die
181
182 # for better support install systeminfo script
183 minstalldir /usr/sbin || die
184 minstallexec common/usr/sbin/atigetsysteminfo.sh /usr/sbin || die
185
186 # qt4 stuff
187 minstalldir /usr/share || die
188 mcopy -R common/usr/share/ati /usr/share || die
189 minstallpixmap common/usr/share/icons/ccc_large.xpm || die
190 minstall_desktop_icon \
191 --name 'ATI Catalyst Control Center' \
192 --comment 'ATI graphics adapter settings' \
193 --exec amdcccle \
194 --file amdcccle \
195 --icon ccc_large.xpm \
196 --categories System \
197 || die
198
199 # install all related docs
200 minstalldocs common/usr/share/doc/fglrx/*LICENSE* || die
201 minstallhtml common/usr/share/doc/fglrx/*.html || die
202 mcopy -R common/usr/share/doc/fglrx/articles /usr/share/doc/${PNAME}-${PVER}/html || die
203 mcopy -R common/usr/share/doc/fglrx/user-manual /usr/share/doc/${PNAME}-${PVER}/html || die
204
205 # man pages
206 minstallman common/usr/share/man/man8/atieventsd.8 || die
207
208 # atieventsd initscript!
209
210 # powerexpress stuff
211 minstalldir /usr/${abi_libdir}/fglrx || die
212 minstallexec -s switchlibGL /usr/${abi_libdir}/fglrx || die
213 minstallexec -s switchlibglx /usr/${abi_libdir}/fglrx || die
214
215 # create a driver tarball
216 minstalldir /usr/src/ati-drivers || die
217 install -d ${BUILDDIR}/temp || die
218 cp -R ${SRCDIR}/common/lib/modules/fglrx/build_mod ${BUILDDIR}/temp/ati-drivers || die
219 # fix link issues; must be linked against the used xorg-lib
220 # so we copy them into our tarball
221 cp ${SRCDIR}/${arch_dir}/lib/modules/fglrx/build_mod/libfglrx_ip.a ${BUILDDIR}/temp/ati-drivers || die
222 pushd ${BUILDDIR}/temp
223 # from gentoo:
224 # When built with ati's make.sh it defines a bunch of macros if
225 # certain .config values are set, falling back to less reliable
226 # detection methods if linux/autoconf.h is not available. We
227 # simply use the linux/autoconf.h settings directly, bypassing the
228 # detection script.
229 sed -i "s:__SMP__:CONFIG_SMP:" ati-drivers/*.c ati-drivers/*.h || die
230 sed -i "s:ifdef\ MODVERSIONS:ifdef\ CONFIG_MODVERSIONS:" ati-drivers/*.c ati-drivers/*.h || die
231 tar cvjf ${BINDIR}/usr/src/ati-drivers/ati-drivers-${PVER}.tar.bz2 ati-drivers/ || die
232 # install module-build script
233 minstallexec -s ati-module.sh-${MODULESH_REV} /usr/src/ati-drivers/ati-module.sh || die
234 # fix pver in ati-module.sh
235 sed -i "s:@@PVER@@:${PVER}:" ${BINDIR}/usr/src/ati-drivers/ati-module.sh || die
236 popd
237 }
238
239 src_install()
240 {
241 # honor multilib
242 if [[ $(mlibdir) != lib ]]
243 then
244 arch_src_install "i686"
245 arch_src_install "${ARCH}"
246 else
247 arch_src_install "${ARCH}"
248 fi
249 }
250
251 postinstall()
252 {
253 ${MROOT}/usr/sbin/opengl-update --use-old ati
254
255 echo
256 echo "To use these driver you need to compile the kernel module first."
257 echo "Goto /usr/src/ati-drivers and run ati-module.sh:"
258 echo " 'cd /usr/src/ati-drivers && ./ati-module.sh'"
259 echo
260 echo "Please switch your opengl extension with: "
261 echo " 'opengl-update ati'"
262 echo
263 echo "Next step is to create a new xorg.conf with"
264 echo " 'aticonfig --initial --input=/etc/X11/xorg.conf'"
265 echo
266 echo "Run 'aticonfig --help' for more options."
267 echo
268 }