ati-drivers: in gentoo

This commit is contained in:
Zero_Chaos 2012-09-10 01:04:11 +00:00
parent 5dff14d042
commit 163bf97de1
14 changed files with 0 additions and 3695 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,15 +0,0 @@
AUX amd-drivers-3.2.7.1.patch 560 SHA256 7cc315754a47fbda6bf36bcee01780da7c19535c4f6ec1cccc556e9a7b32d263 SHA512 bcdc89e7a7148f5eb5450364298de6fb95dcad0d3c8d7091e9236d4f4b9cff0be24d59e8ed4ccdde0c8e94985ab8b4e7d5848e1e0e7102c699edb9230dbe57ce WHIRLPOOL 85ef893cd8bffa0d41b99eccd8b6e1ed713f69cc683dee52268ea0d6bc6fd4a77b3fdab31dd1e35ec3bbd21b399725286289c9fb3a276eff3922c1f8cf0746a2
AUX ati-drivers-12.2-redefine-WARN.patch 1316 SHA256 f7d8ad3307823925cf8b4c6540db17a51553e48dd008793fc026803bb2aa1ced SHA512 1ee5f7fb5dc629f186754dc83a7d718a6a8acda836dadb2b87bd616c424db0aba067fb833d966cf79425ad78d94ab3f7c4014bbe2356f394630b0761625e74ab WHIRLPOOL 75987965689042342a923d4542a3f1b5eb4ba8ce3fc1ede82be8aeffaa2154a0dc75c507a4772bc00ef510eee7f4b47a51a2ea43aadce6e742e842e348c15b40
AUX ati-drivers-do_mmap.patch 1405 SHA256 3fc9bae50d25d3bfe76a3a1e89c8d025674a4cb9afd16d3a5d8b3c25a66f536d SHA512 1a2f8fe7f2506037d6d158e5c2efffa39c503566284d8f516cb2d84db546eced24df5dcb8d74ac84911589efb4547d7f8610d78ad29703f9ed0a9890576c51b7 WHIRLPOOL 86daa957d7569b26fdf92929e5b04a32379af067a208628eab1a4541fdebfb51fa4bfedeec63f4685c6258adcba2ddc4223b69dca329ecbebd4ba13167f66f82
AUX ati-drivers-old_rsp.patch 989 SHA256 dd222de89b515046c6cbfef172a3ec8d4bc48664799b3bbfff648091c6d54b49 SHA512 b86a230f126950d309b899ab3445154cf38cb8127b7686d0a467df6d3561a1785747e9522c00b55a294961c1157fe41833a5a85d4737775ae68bdb4099b0ee37 WHIRLPOOL cd06422ee90587c5c7485074b03ccaaef921134c721c0d0f6f678a9c968aae6417523c77d6dfcccc856cb5d125579197cd3c6a5b1c8557ce621784eabd0c43fa
AUX ati-drivers-x32_something_something.patch 486 SHA256 9eb114a797089fca3693420305a6b668c4d7a16a722d5faa53dd904bba1b4c07 SHA512 157884244a49748c897a2eca1a46bf40631042d15af85c2b2f49bc3c3c48f5638dec815a4e9c67ee2c8b88cc15b7f71e9fe4d9bfebf5444bb169542048f66499 WHIRLPOOL f7583d7df16c9eb608aff2330b4bd55ede34986e6f3cf63aa4cb2c77dcfade7c499f1b4cef95fdc8e6ab28d7bb5544a80703bcf5a41eae6b90ca8830b6fdd888
AUX ati-powermode-opt-path-2.patch 1634 SHA256 e7749e04a3aa24132b13d0c694563a45c0d38e238f7412a75bd89aa9f9e9ead1 SHA512 7fc91789157d6211726d26be066e3984871eb579c77c422bde27f489f72215e66dbfb5d477ea6882d46ed6d0c63b9f01fdd5ee196fd6a2809bfc3ca22badc859 WHIRLPOOL a3d6f9335c748192a65bb3493a1dd2f604ef6b1270760908bb541d10ac9c4eb8009d7d5fb145b37c6fbfc1512a70ecda3c79f6f56396f8424f072fb92059e0a2
AUX ati-powermode-opt-path-3.patch 1471 SHA256 35e73fef3d8e39714e8d6e73afaa7b205505db3bdd65c364e7ea02fdc0cb3055 SHA512 0e17026847062117993ba6115942d16421f6b9943afd57913c96e7550b0e49f3ed10e06bc98f9db1a5ba4af7c42dae6b55a332a97e73d48dba7f61ed0ad35ad4 WHIRLPOOL 39861d10d307e537549ed0c7967e18ad3ef658af66396f5491d1f2e13ab13e8b8e252d4c14b5ab616ff5aad69a599cf3b32accedd51438021d50cc074fa296a8
AUX atieventsd.init 533 SHA256 20010ebc5cb286149f3c4c9c099b6470463ccdb8fd47cea054b783dc2ad1fff3 SHA512 9f8990bb5619f99524e0759a1c4b41b0b2c081c6eecb3916ab60df8e6b59d99e3615af61e0ba5b71d003ccaaf41e2143237b26f36f64f00a47e0fe94f83473dd WHIRLPOOL 21979818a19bc27e3527958c66bf45654df4a307862897530bc02be6616f45ee210590a9d1bcab84336c6061482034010efbb251770bfaf023f20ffae8212ecd
AUX switchlibGL 1349 SHA256 a4aa2107fdb903da77fea432bc809a1155e213db460fdec72fd1c3c7cc0d13a0 SHA512 51d2912aa6ec2002b096c0483be69650d682feec54486ed5226b91988bc1516f718c71d9f58a2b28e0dbc512c0300ea271f9a97885776dd045fe324f1549b85d WHIRLPOOL d335ea9c57a28f8450423089bbf798da77cc72fff6bad1221989412808abcd6bcb7afa41aa2b04231feff3dac6eaaff58a7595173e53b6cf0f5d3d591997b43d
DIST amd-driver-installer-12-6-x86.x86_64.run 106660241 SHA256 b5c6070dc75e9296d0f04e7e0b3c6697f6c21872d50b1dcf4d7b3b0ab7ce7155 SHA512 920b4613844afeffe1493f6c1811722734bb878817945077a46d3922be2e9bad85eb3c02bfeec57b55371cfd81d87332b9c7845dd9a079744e491979ef02f4d7 WHIRLPOOL a7b722ed9fed881498e91c5bb706b973eade890f9dfd49862c46cc2822417cf1b80011db79d4a449331c9b191e6e7ff98aa8f3fcb6bc90ebda3125f46f6d2800
DIST amd-driver-installer-12-8-x86.x86_64.zip 105413213 SHA256 62525173b2b7602aa4e7e46a109204d0f349abfbb135c86d03db5cd57642bb41 SHA512 41d9b5ee472a3172746f04bdf43a595eb9090c03021f4dfdecd3ff0a938e45a9ace57b99c7255cec2ace68645adcc0d6eb2f420173b4b41fcfc4745fb62cf230 WHIRLPOOL 8f904858da340c7bb1f502f831b4ef2afefe7dc1eb3545c877056e4bae18934e9f54430efdb39069c5beb6d214399095602ce7806561fe7562d3b99a871208ca
EBUILD ati-drivers-12.6.ebuild 19783 SHA256 0b01f234bc9fbb3db8e295fc6a4573f7e36a16e3820786cf026ada1665fe77bf SHA512 067dbe09ea67decd3ddf5c5ceac27c7e18ef48385a9c311131f21dd18c5872452d19505d89bd1a4159b5c9123f04a018b8a82357147eca5f9e5cf404025ef20e WHIRLPOOL 87bf5dab9d7c09bb3d2c64e6a09ef18dd96129c31e7c972ac825182636db8928cc91093e67463fb6df88ea716c0546786b89b3f1754306d62b2bf8a0407d5216
EBUILD ati-drivers-12.8.ebuild 20311 SHA256 b1592ec0bcd247597056cca8857341d9abaa1614792c01f1c35427ca075b407f SHA512 0ac0b1cbc34c716ac2f5742ad91e9608b7d105a7523ddd71c6b57a0aa63f8d85ca743f1b489a36e6467eda0950fbd3064d07528d981bb8db979d346035d88d08 WHIRLPOOL cde65b87c5b8f58e7d194459d87d53670cd9a91826a96fe48e2ae350497fa916a28609c4dee5ce0e76873deced914c431a181388841d350882b77187c812b425
MISC ChangeLog 78581 SHA256 32920b4359d0c2ff40d5f5f62e1fb1ec777c07368dbc11472cf3671841f7e5f7 SHA512 b9057ce604df32403a34157a7ad917bf2d72d1167a3698a958ac2d515d5ffab75eab2e4b9e70ad7fef456c564ae12c3b9a0d70648604b746f9a89805f352590f WHIRLPOOL c68f6335c64e34d040549943d5758865ff6d214479c15f69ae27b445baabb312bda2854bbb33934ba9ee2211d8493eeed70e21607c0b4246ec83f9c80e84bc84
MISC metadata.xml 705 SHA256 5bc8c6b51d5848d2946592546a67243270c9267a6eda2e6167ee8d1971c09614 SHA512 00de1dc4a28f348c29e6e672b6450a24b086c970c05ada9ccc1862f749ed124187f0cd24bdaeec2265db8bd881cfcb2d9bab1610ec94cf5e11272e1d31a614d2 WHIRLPOOL 7db90663f0e8a498cf0a3bbd6920bbafb08cf0246d56248ea7055f761e7a4cf13dc6e3befb06e25ecc51eaf8cf4c6307c82d5ed20813da6a418c4d15b1f0698c

View file

@ -1,617 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild,v 1.3 2012/07/26 15:08:38 johu Exp $
EAPI=4
inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
HOMEPAGE="http://www.amd.com"
MY_V=( $(get_version_components) )
if [[ ${MY_V[2]} != beta ]]; then
ATI_URL="http://www2.ati.com/drivers/linux/"
SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run"
FOLDER_PREFIX="common/"
else
#SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
SRC_URI="http://www2.ati.com/drivers/hotfix/catalyst_12.6_hotfixes/amd-driver-installer-8.98-x86.x86_64.zip"
FOLDER_PREFIX="common/"
fi
IUSE="debug +modules multilib qt4 static-libs"
LICENSE="AMD GPL-2 QPL-1.0 as-is"
KEYWORDS="amd64 x86"
SLOT="1"
RESTRICT="bindist"
RDEPEND="
<=x11-base/xorg-server-1.12.49[-minimal]
>=app-admin/eselect-opengl-1.0.7
app-admin/eselect-opencl
sys-power/acpid
x11-apps/xauth
x11-libs/libX11
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
multilib? (
app-emulation/emul-linux-x86-opengl
app-emulation/emul-linux-x86-xlibs
)
qt4? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libXcursor
x11-libs/libXfixes
x11-libs/libXxf86vm
x11-libs/qt-core:4
x11-libs/qt-gui:4
)
"
DEPEND="${RDEPEND}
x11-proto/inputproto
x11-proto/xf86miscproto
x11-proto/xf86vidmodeproto
x11-proto/xineramaproto
x11-libs/libXtst
sys-apps/findutils
app-misc/pax-utils
"
EMULTILIB_PKG="true"
S="${WORKDIR}"
# QA Silencing
QA_TEXTRELS="
usr/lib*/opengl/ati/lib/libGL.so.1.2
usr/lib*/libatiadlxx.so
usr/lib*/xorg/modules/glesx.so
usr/lib*/libaticaldd.so
usr/lib*/dri/fglrx_dri.so
"
QA_EXECSTACK="
opt/bin/atiode
opt/bin/amdcccle
usr/lib*/opengl/ati/lib/libGL.so.1.2
usr/lib*/dri/fglrx_dri.so
"
QA_WX_LOAD="
usr/lib*/opengl/ati/lib/libGL.so.1.2
usr/lib*/dri/fglrx_dri.so
"
QA_PRESTRIPPED="
usr/lib\(32\|64\)\?/libXvBAW.so.1.0
usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
usr/lib\(32\|64\)\?/xorg/modules/glesx.so
usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
usr/lib\(32\|64\)\?/libaticaldd.so
usr/lib\(32\|64\)\?/dri/fglrx_dri.so
"
QA_SONAME="
usr/lib\(32\|64\)\?/libatiadlxx.so
usr/lib\(32\|64\)\?/libaticalcl.so
usr/lib\(32\|64\)\?/libaticaldd.so
usr/lib\(32\|64\)\?/libaticalrt.so
usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so
"
QA_DT_HASH="
opt/bin/amdcccle
opt/bin/aticonfig
opt/bin/atiodcli
opt/bin/atiode
opt/bin/clinfo
opt/bin/fglrxinfo
opt/sbin/atieventsd
opt/sbin/amdnotifyui
usr/lib\(32\|64\)\?/libaticalcl.so
usr/lib\(32\|64\)\?/libaticalrt.so
usr/lib\(32\|64\)\?/libatiuki.so.1.0
usr/lib\(32\|64\)\?/libatiadlxx.so
usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0
usr/lib\(32\|64\)\?/libXvBAW.so.1.0
usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so
usr/lib\(32\|64\)\?/xorg/modules/glesx.so
usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so
usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so
usr/lib\(32\|64\)\?/libaticaldd.so
usr/lib\(32\|64\)\?/dri/fglrx_dri.so
usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so
usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2
usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
"
_check_kernel_config() {
local failed=0
local error=""
if ! kernel_is ge 2 6; then
eerror "You need a 2.6 linux kernel to compile against!"
die "No 2.6 Kernel found"
fi
if ! linux_chkconfig_present MTRR; then
ewarn "You don't have MTRR support enabled in the kernel."
ewarn "Direct rendering will not work."
fi
if linux_chkconfig_builtin DRM; then
ewarn "You have DRM support built in to the kernel"
ewarn "Direct rendering will not work."
fi
if ! linux_chkconfig_present AGP && \
! linux_chkconfig_present PCIEPORTBUS; then
ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
ewarn "Direct rendering will not work."
fi
if ! linux_chkconfig_present ACPI; then
eerror "${P} requires the ACPI support in the kernel"
eerror "Please enable it:"
eerror " CONFIG_ACPI=y"
eerror "in /usr/src/linux/.config or"
eerror " Power management and ACPI options --->"
eerror " [*] Power Management support"
eerror "in the 'menuconfig'"
error+=" CONFIG_ACPI disabled;"
failed=1
fi
if ! linux_chkconfig_present PCI_MSI; then
eerror "${P} requires MSI in the kernel."
eerror "Please enable it:"
eerror " CONFIG_PCI_MSI=y"
eerror "in /usr/src/linux/.config or"
eerror " Bus options (PCI etc.) --->"
eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
eerror "in the kernel config."
error+=" CONFIG_PCI_MSI disabled;"
failed=1
fi
if linux_chkconfig_present LOCKDEP; then
eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
eerror "This prevents ${P} from compiling with an error like this:"
eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
eerror "Please make sure the following options have been unset:"
eerror " Kernel hacking --->"
eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
eerror " [ ] Lock debugging: prove locking correctness"
eerror " [ ] Lock usage statistics"
eerror "in 'menuconfig'"
error+=" LOCKDEP enabled;"
failed=1
fi
use amd64 && if ! linux_chkconfig_present COMPAT; then
eerror "${P} requires COMPAT."
eerror "Please enable the 32 bit emulation:"
eerror "Executable file formats / Emulations --->"
eerror " [*] IA32 Emulation"
eerror "in the kernel config."
eerror "if this doesn't enable CONFIG_COMPAT add"
eerror " CONFIG_COMPAT=y"
eerror "in /usr/src/linux/.config"
error+=" COMPAT disabled;"
failed=1
fi
kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
eerror "${P} requires BKL."
eerror "Please enable the Big Kernel Lock:"
eerror "Kernel hacking --->"
eerror " [*] Big Kernel Lock"
eerror "in the kernel config."
eerror "or add"
eerror " CONFIG_BKL=y"
eerror "in /usr/src/linux/.config"
error+=" BKL disabled;"
failed=1
fi
[[ ${failed} -ne 0 ]] && die "${error}"
}
pkg_pretend() {
# workaround until bug 365543 is solved
if use modules; then
linux-info_pkg_setup
require_configured_kernel
_check_kernel_config
fi
}
pkg_setup() {
if use modules; then
MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
BUILD_TARGETS="kmod_build"
linux-mod_pkg_setup
BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
else
BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
fi
fi
# Define module dir.
MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
# get the xorg-server version and set BASE_DIR for that
BASE_DIR="${S}/xpic"
# amd64/x86
if use amd64 ; then
MY_BASE_DIR="${BASE_DIR}_64a"
PKG_LIBDIR=lib64
ARCH_DIR="${S}/arch/x86_64"
else
MY_BASE_DIR="${BASE_DIR}"
PKG_LIBDIR=lib
ARCH_DIR="${S}/arch/x86"
fi
elog
elog "Please note that this driver supports only graphic cards based on"
elog "Evergreen chipset and newer."
elog "This represent the AMD Radeon HD 5400+ series at this moment."
elog
elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
elog "For migration informations please reffer to:"
elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
einfo
}
src_unpack() {
if [[ ${MY_V[2]} == beta ]]; then
unpack ${A}
RUN="${S}/${A/%.zip/.run}"
else
RUN="${DISTDIR}/${A}"
fi
sh ${RUN} --extract "${S}" # 2>&1 > /dev/null || die
}
src_prepare() {
# All kernel options for prepare are ment to be in here
if use modules; then
# version patches
# epatch "${FILESDIR}"/kernel/${PV}-*.patch
if use debug; then
sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
"${MODULE_DIR}/firegl_public.c" \
|| die "Failed to enable debug output."
fi
fi
# These are the userspace utilities that we also have source for.
# We rebuild these later.
rm \
"${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \
|| die "bin rm failed"
# in this version amdcccle isn't static, thus we depend on qt4
use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle
# ACPI fixups
sed -i \
-e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \
-e "s:/var/lib/gdm/:/var/gdm/:" \
"${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \
|| die "sed failed."
# Since "who" is in coreutils, we're using that one instead of "finger".
sed -i -e 's:finger:who:' \
"${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \
|| die "Replacing 'finger' with 'who' failed."
# Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and
# add function to detect default state.
epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch
#fixes bug #420751
epatch "${FILESDIR}"/ati-drivers-do_mmap.patch
# see http://ati.cchtml.com/show_bug.cgi?id=495
epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
cd "${MODULE_DIR}"
# bugged fglrx build system, this file should be copied by hand
cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
# When built with ati's make.sh it defines a bunch of macros if
# certain .config values are set, falling back to less reliable
# detection methods if linux/autoconf.h is not available. We
# simply use the linux/autoconf.h settings directly, bypassing the
# detection script.
sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
|| die "MODVERSIONS sed failed"
cd "${S}"
mkdir extra || die "mkdir failed"
cd extra
unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
# Get rid of watermark. Oldest known reference:
# http://phoronix.com/forums/showthread.php?19875-Unsupported-Hardware-watermark
ebegin "Disabling watermark"
driver="${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
for x in $(objdump -d ${driver}|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
sed -i "s/${x}/\x90\x90\x90\x90\x90/g" ${driver} || break 1
done
eend $? || die "Disabling watermark failed"
}
src_compile() {
use modules && linux-mod_src_compile
ebegin "Building fgl_glxgears"
cd "${S}"/extra/fgl_glxgears
# These extra libs/utils either have an Imakefile that does not
# work very well without tweaking or a Makefile ignoring CFLAGS
# and the like. We bypass those.
# The -DUSE_GLU is needed to compile using nvidia headers
# according to a comment in ati-drivers-extra-8.33.6.ebuild.
"$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \
-I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \
-lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed"
eend $?
}
src_test() { :; } # no tests present
src_install() {
use modules && linux-mod_src_install
# We can do two things here, and neither of them is very nice.
# For direct rendering libGL has to be able to load one or more
# dri modules (files ending in _dri.so, like fglrx_dri.so).
# Gentoo's mesa looks for these files in the location specified by
# LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded
# location /usr/$(get_libdir)/dri. Ati's libGL does the same
# thing, but the hardcoded location is /usr/X11R6/lib/modules/dri
# on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64
# 64bit. So we can either put the .so files in that (unusual,
# compared to "normal" mesa libGL) location or set
# LIBGL_DRIVERS_PATH. We currently do the latter. See also bug
# 101539.
# The problem with this approach is that LIBGL_DRIVERS_PATH
# *overrides* the default hardcoded location, it does not extend
# it. So if ati-drivers is merged but a non-ati libGL is selected
# and its hardcoded path does not match our LIBGL_DRIVERS_PATH
# (because it changed in a newer mesa or because it was compiled
# for a different set of multilib abis than we are) stuff breaks.
# We create one file per ABI to work with "native" multilib, see
# below.
echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep"
doenvd "${T}/03ati-colon-sep" || die
# All libraries that we have a 32 bit and 64 bit version of on
# amd64 are installed in src_install-libs. Everything else
# (including libraries only available in native 64bit on amd64)
# goes in here.
# There used to be some code here that tried to detect running
# under a "native multilib" portage ((precursor of)
# http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it
# should just work (only doing some duplicate work). --marienz
if has_multilib_profile; then
local OABI=${ABI}
for ABI in $(get_install_abis); do
src_install-libs
done
ABI=${OABI}
unset OABI
else
src_install-libs
fi
# This is sorted by the order the files occur in the source tree.
# X modules.
exeinto /usr/$(get_libdir)/xorg/modules/drivers
doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
exeinto /usr/$(get_libdir)/xorg/modules/linux
doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so
exeinto /usr/$(get_libdir)/xorg/modules
doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so}
# Arch-specific files.
# (s)bin.
into /opt
dosbin "${ARCH_DIR}"/usr/sbin/atieventsd
use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui
dobin "${ARCH_DIR}"/usr/bin/clinfo
# We cleaned out the compilable stuff in src_unpack
dobin "${ARCH_DIR}"/usr/X11R6/bin/*
# Common files.
# etc.
insinto /etc/ati
exeinto /etc/ati
# Everything except for the authatieventsd.sh script.
doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default}
doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh
# include.
insinto /usr
doins -r ${FOLDER_PREFIX}usr/include
insinto /usr/include/X11/extensions
# Just the atigetsysteminfo.sh script.
into /usr
dosbin ${FOLDER_PREFIX}usr/sbin/*
# data files for the control panel.
if use qt4 ; then
insinto /usr/share
doins -r ${FOLDER_PREFIX}usr/share/ati
insinto /usr/share/pixmaps
doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm
make_desktop_entry amdcccle 'AMD Catalyst Control Center' \
ccc_large System
fi
# doc.
dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx
doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8
pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null
exeinto /etc/acpi
doexe ati-powermode.sh
insinto /etc/acpi/events
doins events/*
popd > /dev/null
# Done with the "source" tree. Install tools we rebuilt:
dobin extra/fgl_glxgears/fgl_glxgears
newdoc extra/fgl_glxgears/README README.fgl_glxgears
# Gentoo-specific stuff:
newinitd "${FILESDIR}"/atieventsd.init atieventsd
echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf
newconfd "${T}"/atieventsd.conf atieventsd
# PowerXpress stuff
exeinto /usr/$(get_libdir)/fglrx
doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed"
cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx
doexe "${T}"/switchlibglx || die "doexe switchlibglx failed"
}
src_install-libs() {
if [[ "${ABI}" == "amd64" ]]; then
local EX_BASE_DIR="${BASE_DIR}_64a"
local pkglibdir=lib64
local MY_ARCH_DIR="${S}/arch/x86_64"
local oclsuffix=64
else
local EX_BASE_DIR="${BASE_DIR}"
local pkglibdir=lib
local MY_ARCH_DIR="${S}/arch/x86"
local oclsuffix=32
fi
einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system"
local ATI_ROOT=/usr/$(get_libdir)/opengl/ati
# To make sure we do not miss a spot when these change.
local libmajor=1 libminor=2
local libver=${libmajor}.${libminor}
# The GLX libraries
# (yes, this really is "lib" even on amd64/multilib --marienz)
exeinto ${ATI_ROOT}/lib
newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \
libGL.so.${libver}
dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor}
dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so
exeinto ${ATI_ROOT}/extensions
doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so
mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so
# other libs
exeinto /usr/$(get_libdir)
# Everything except for the libGL.so installed some row above
doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
-maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*')
insinto /usr/$(get_libdir)
doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
-maxdepth 1 -type f -not -name '*.so*')
# DRI modules, installed into the path used by recent versions of mesa.
exeinto /usr/$(get_libdir)/dri
doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
# AMD Cal and OpenCL libraries
exeinto /usr/$(get_libdir)/OpenCL/vendors/amd
doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so*
doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so*
dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so
exeinto /usr/$(get_libdir)
doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so*
# OpenCL vendor files
insinto /etc/OpenCL/vendors/
cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF
/usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so
EOF
doins "${T}"/amdocl${oclsuffix}.icd
local envname="${T}"/04ati-dri-path
if [[ -n ${ABI} ]]; then
envname="${envname}-${ABI}"
fi
echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}"
doenvd "${envname}"
# Silence the QA notice by creating missing soname symlinks
for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9])
do
local soname=${so##*/}
## let's keep also this alternative way ;)
#dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]}
dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so})
done
#remove static libs if not wanted
use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a
}
pkg_postinst() {
elog "To switch to AMD OpenGL, run \"eselect opengl set ati\""
elog "To change your xorg.conf you can use the bundled \"aticonfig\""
elog
elog "If you experience unexplained segmentation faults and kernel crashes"
elog "with this driver and multi-threaded applications such as wine,"
elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
elog
elog "Fully rebooting the system after an ${PN} update is recommended"
elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg"
elog "might not work"
elog
elog "Some cards need acpid running to handle events"
elog "Please add it to boot runlevel with rc-update add acpid boot"
elog
use modules && linux-mod_pkg_postinst
"${ROOT}"/usr/bin/eselect opengl set --use-old ati
"${ROOT}"/usr/bin/eselect opencl set --use-old amd
}
pkg_preinst() {
use modules && linux-mod_pkg_preinst
}
pkg_prerm() {
"${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}
pkg_postrm() {
use modules && linux-mod_pkg_postrm
"${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}

View file

@ -1,630 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild,v 1.3 2012/07/26 15:08:38 johu Exp $
EAPI=4
inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
HOMEPAGE="http://www.amd.com"
MY_V=( $(get_version_components) )
if [[ ${MY_V[2]} != beta ]]; then
ATI_URL="http://www2.ati.com/drivers/linux/"
SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.zip"
RUN="${WORKDIR}/amd-driver-installer-8.982-x86.x86_64.run"
FOLDER_PREFIX="common/"
else
#SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz"
SRC_URI="http://www2.ati.com/drivers/hotfix/catalyst_12.6_hotfixes/amd-driver-installer-8.98-x86.x86_64.zip"
FOLDER_PREFIX="common/"
fi
IUSE="debug +modules multilib qt4 static-libs"
LICENSE="AMD GPL-2 QPL-1.0 as-is"
KEYWORDS="-* ~amd64 ~x86"
SLOT="1"
RESTRICT="bindist"
RDEPEND="
<=x11-base/xorg-server-1.12.49[-minimal]
>=app-admin/eselect-opengl-1.0.7
app-admin/eselect-opencl
sys-power/acpid
x11-apps/xauth
x11-libs/libX11
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
multilib? (
app-emulation/emul-linux-x86-opengl
app-emulation/emul-linux-x86-xlibs
)
qt4? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libXcursor
x11-libs/libXfixes
x11-libs/libXxf86vm
x11-libs/qt-core:4
x11-libs/qt-gui:4
)
"
DEPEND="${RDEPEND}
x11-proto/inputproto
x11-proto/xf86miscproto
x11-proto/xf86vidmodeproto
x11-proto/xineramaproto
x11-libs/libXtst
sys-apps/findutils
app-misc/pax-utils
"
EMULTILIB_PKG="true"
S="${WORKDIR}"
# QA Silencing
QA_TEXTRELS="
usr/lib*/opengl/ati/lib/libGL.so.1.2
usr/lib*/libatiadlxx.so
usr/lib*/xorg/modules/glesx.so
usr/lib*/libaticaldd.so
usr/lib*/dri/fglrx_dri.so
"
QA_EXECSTACK="
opt/bin/atiode
opt/bin/amdcccle
usr/lib*/opengl/ati/lib/libGL.so.1.2
usr/lib*/dri/fglrx_dri.so
"
QA_WX_LOAD="
usr/lib*/opengl/ati/lib/libGL.so.1.2
usr/lib*/dri/fglrx_dri.so
"
QA_PRESTRIPPED="
usr/lib\(32\|64\)\?/libXvBAW.so.1.0
usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
usr/lib\(32\|64\)\?/xorg/modules/glesx.so
usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
usr/lib\(32\|64\)\?/libaticaldd.so
usr/lib\(32\|64\)\?/dri/fglrx_dri.so
"
QA_SONAME="
usr/lib\(32\|64\)\?/libatiadlxx.so
usr/lib\(32\|64\)\?/libaticalcl.so
usr/lib\(32\|64\)\?/libaticaldd.so
usr/lib\(32\|64\)\?/libaticalrt.so
usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so
"
QA_DT_HASH="
opt/bin/amdcccle
opt/bin/aticonfig
opt/bin/atiodcli
opt/bin/atiode
opt/bin/clinfo
opt/bin/fglrxinfo
opt/sbin/atieventsd
opt/sbin/amdnotifyui
usr/lib\(32\|64\)\?/libaticalcl.so
usr/lib\(32\|64\)\?/libaticalrt.so
usr/lib\(32\|64\)\?/libatiuki.so.1.0
usr/lib\(32\|64\)\?/libatiadlxx.so
usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0
usr/lib\(32\|64\)\?/libXvBAW.so.1.0
usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so
usr/lib\(32\|64\)\?/xorg/modules/glesx.so
usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so
usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so
usr/lib\(32\|64\)\?/libaticaldd.so
usr/lib\(32\|64\)\?/dri/fglrx_dri.so
usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so
usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2
usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
"
_check_kernel_config() {
local failed=0
local error=""
if ! kernel_is ge 2 6; then
eerror "You need a 2.6 linux kernel to compile against!"
die "No 2.6 Kernel found"
fi
if ! linux_chkconfig_present MTRR; then
ewarn "You don't have MTRR support enabled in the kernel."
ewarn "Direct rendering will not work."
fi
if linux_chkconfig_builtin DRM; then
ewarn "You have DRM support built in to the kernel"
ewarn "Direct rendering will not work."
fi
if ! linux_chkconfig_present AGP && \
! linux_chkconfig_present PCIEPORTBUS; then
ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
ewarn "Direct rendering will not work."
fi
if ! linux_chkconfig_present ACPI; then
eerror "${P} requires the ACPI support in the kernel"
eerror "Please enable it:"
eerror " CONFIG_ACPI=y"
eerror "in /usr/src/linux/.config or"
eerror " Power management and ACPI options --->"
eerror " [*] Power Management support"
eerror "in the 'menuconfig'"
error+=" CONFIG_ACPI disabled;"
failed=1
fi
if ! linux_chkconfig_present PCI_MSI; then
eerror "${P} requires MSI in the kernel."
eerror "Please enable it:"
eerror " CONFIG_PCI_MSI=y"
eerror "in /usr/src/linux/.config or"
eerror " Bus options (PCI etc.) --->"
eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
eerror "in the kernel config."
error+=" CONFIG_PCI_MSI disabled;"
failed=1
fi
if linux_chkconfig_present LOCKDEP; then
eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
eerror "This prevents ${P} from compiling with an error like this:"
eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
eerror "Please make sure the following options have been unset:"
eerror " Kernel hacking --->"
eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
eerror " [ ] Lock debugging: prove locking correctness"
eerror " [ ] Lock usage statistics"
eerror "in 'menuconfig'"
error+=" LOCKDEP enabled;"
failed=1
fi
use amd64 && if ! linux_chkconfig_present COMPAT; then
eerror "${P} requires COMPAT."
eerror "Please enable the 32 bit emulation:"
eerror "Executable file formats / Emulations --->"
eerror " [*] IA32 Emulation"
eerror "in the kernel config."
eerror "if this doesn't enable CONFIG_COMPAT add"
eerror " CONFIG_COMPAT=y"
eerror "in /usr/src/linux/.config"
error+=" COMPAT disabled;"
failed=1
fi
kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
eerror "${P} requires BKL."
eerror "Please enable the Big Kernel Lock:"
eerror "Kernel hacking --->"
eerror " [*] Big Kernel Lock"
eerror "in the kernel config."
eerror "or add"
eerror " CONFIG_BKL=y"
eerror "in /usr/src/linux/.config"
error+=" BKL disabled;"
failed=1
fi
#if linux_chkconfig_present X86_X32; then
# eerror "You've enabled x32 in the kernel."
# eerror "Unfortunately, this option is not supported yet and prevents the fglrx"
# eerror "kernel module from loading."
# error+=" X86_32 enabled;"
# failed=1
#fi
[[ ${failed} -ne 0 ]] && die "${error}"
}
pkg_pretend() {
# workaround until bug 365543 is solved
if use modules; then
linux-info_pkg_setup
require_configured_kernel
_check_kernel_config
fi
}
pkg_setup() {
if use modules; then
MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
BUILD_TARGETS="kmod_build"
linux-mod_pkg_setup
BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
else
BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
fi
fi
# Define module dir.
MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
# get the xorg-server version and set BASE_DIR for that
BASE_DIR="${S}/xpic"
# amd64/x86
if use amd64 ; then
MY_BASE_DIR="${BASE_DIR}_64a"
PKG_LIBDIR=lib64
ARCH_DIR="${S}/arch/x86_64"
else
MY_BASE_DIR="${BASE_DIR}"
PKG_LIBDIR=lib
ARCH_DIR="${S}/arch/x86"
fi
elog
elog "Please note that this driver supports only graphic cards based on"
elog "Evergreen chipset and newer."
elog "This represent the AMD Radeon HD 5400+ series at this moment."
elog
elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
elog "For migration informations please reffer to:"
elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
einfo
}
src_unpack() {
#please note, RUN may be insanely assigned at top near SRC_URI
if [[ ${A} =~ .*\.zip ]]; then
unpack ${A}
[[ -z "$RUN" ]] && RUN="${S}/${A/%.zip/.run}"
else
RUN="${DISTDIR}/${A}"
fi
sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
}
src_prepare() {
# All kernel options for prepare are ment to be in here
if use modules; then
# version patches
# epatch "${FILESDIR}"/kernel/${PV}-*.patch
if use debug; then
sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
"${MODULE_DIR}/firegl_public.c" \
|| die "Failed to enable debug output."
fi
fi
# These are the userspace utilities that we also have source for.
# We rebuild these later.
rm \
"${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \
|| die "bin rm failed"
# in this version amdcccle isn't static, thus we depend on qt4
use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle
# ACPI fixups
sed -i \
-e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \
-e "s:/var/lib/gdm/:/var/gdm/:" \
"${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \
|| die "sed failed."
# Since "who" is in coreutils, we're using that one instead of "finger".
sed -i -e 's:finger:who:' \
"${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \
|| die "Replacing 'finger' with 'who' failed."
# Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and
# add function to detect default state.
epatch "${FILESDIR}"/ati-powermode-opt-path-3.patch
#fixes bug #420751
epatch "${FILESDIR}"/ati-drivers-do_mmap.patch
# see http://ati.cchtml.com/show_bug.cgi?id=495
#epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
# first hunk applied upstream second (x32 related) was not
epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
cd "${MODULE_DIR}"
# bugged fglrx build system, this file should be copied by hand
cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
# When built with ati's make.sh it defines a bunch of macros if
# certain .config values are set, falling back to less reliable
# detection methods if linux/autoconf.h is not available. We
# simply use the linux/autoconf.h settings directly, bypassing the
# detection script.
sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
|| die "MODVERSIONS sed failed"
cd "${S}"
mkdir extra || die "mkdir failed"
cd extra
unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
# Get rid of watermark. Oldest known reference:
# http://phoronix.com/forums/showthread.php?19875-Unsupported-Hardware-watermark
ebegin "Disabling watermark"
driver="${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
for x in $(objdump -d ${driver}|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
sed -i "s/${x}/\x90\x90\x90\x90\x90/g" ${driver} || break 1
done
eend $? || die "Disabling watermark failed"
}
src_compile() {
use modules && linux-mod_src_compile
ebegin "Building fgl_glxgears"
cd "${S}"/extra/fgl_glxgears
# These extra libs/utils either have an Imakefile that does not
# work very well without tweaking or a Makefile ignoring CFLAGS
# and the like. We bypass those.
# The -DUSE_GLU is needed to compile using nvidia headers
# according to a comment in ati-drivers-extra-8.33.6.ebuild.
"$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \
-I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \
-lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed"
eend $?
}
src_test() { :; } # no tests present
src_install() {
use modules && linux-mod_src_install
# We can do two things here, and neither of them is very nice.
# For direct rendering libGL has to be able to load one or more
# dri modules (files ending in _dri.so, like fglrx_dri.so).
# Gentoo's mesa looks for these files in the location specified by
# LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded
# location /usr/$(get_libdir)/dri. Ati's libGL does the same
# thing, but the hardcoded location is /usr/X11R6/lib/modules/dri
# on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64
# 64bit. So we can either put the .so files in that (unusual,
# compared to "normal" mesa libGL) location or set
# LIBGL_DRIVERS_PATH. We currently do the latter. See also bug
# 101539.
# The problem with this approach is that LIBGL_DRIVERS_PATH
# *overrides* the default hardcoded location, it does not extend
# it. So if ati-drivers is merged but a non-ati libGL is selected
# and its hardcoded path does not match our LIBGL_DRIVERS_PATH
# (because it changed in a newer mesa or because it was compiled
# for a different set of multilib abis than we are) stuff breaks.
# We create one file per ABI to work with "native" multilib, see
# below.
echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep"
doenvd "${T}/03ati-colon-sep" || die
# All libraries that we have a 32 bit and 64 bit version of on
# amd64 are installed in src_install-libs. Everything else
# (including libraries only available in native 64bit on amd64)
# goes in here.
# There used to be some code here that tried to detect running
# under a "native multilib" portage ((precursor of)
# http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it
# should just work (only doing some duplicate work). --marienz
if has_multilib_profile; then
local OABI=${ABI}
for ABI in $(get_install_abis); do
src_install-libs
done
ABI=${OABI}
unset OABI
else
src_install-libs
fi
# This is sorted by the order the files occur in the source tree.
# X modules.
exeinto /usr/$(get_libdir)/xorg/modules/drivers
doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
exeinto /usr/$(get_libdir)/xorg/modules/linux
doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so
exeinto /usr/$(get_libdir)/xorg/modules
doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so}
# Arch-specific files.
# (s)bin.
into /opt
dosbin "${ARCH_DIR}"/usr/sbin/atieventsd
use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui
dobin "${ARCH_DIR}"/usr/bin/clinfo
# We cleaned out the compilable stuff in src_unpack
dobin "${ARCH_DIR}"/usr/X11R6/bin/*
# Common files.
# etc.
insinto /etc/ati
exeinto /etc/ati
# Everything except for the authatieventsd.sh script.
doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default}
doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh
# include.
insinto /usr
doins -r ${FOLDER_PREFIX}usr/include
insinto /usr/include/X11/extensions
# Just the atigetsysteminfo.sh script.
into /usr
dosbin ${FOLDER_PREFIX}usr/sbin/*
# data files for the control panel.
if use qt4 ; then
insinto /usr/share
doins -r ${FOLDER_PREFIX}usr/share/ati
insinto /usr/share/pixmaps
doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm
make_desktop_entry amdcccle 'AMD Catalyst Control Center' \
ccc_large System
fi
# doc.
dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx
doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8
pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null
exeinto /etc/acpi
doexe ati-powermode.sh
insinto /etc/acpi/events
doins events/*
popd > /dev/null
# Done with the "source" tree. Install tools we rebuilt:
dobin extra/fgl_glxgears/fgl_glxgears
newdoc extra/fgl_glxgears/README README.fgl_glxgears
# Gentoo-specific stuff:
newinitd "${FILESDIR}"/atieventsd.init atieventsd
echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf
newconfd "${T}"/atieventsd.conf atieventsd
# PowerXpress stuff
exeinto /usr/$(get_libdir)/fglrx
doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed"
cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx
doexe "${T}"/switchlibglx || die "doexe switchlibglx failed"
}
src_install-libs() {
if [[ "${ABI}" == "amd64" ]]; then
local EX_BASE_DIR="${BASE_DIR}_64a"
local pkglibdir=lib64
local MY_ARCH_DIR="${S}/arch/x86_64"
local oclsuffix=64
else
local EX_BASE_DIR="${BASE_DIR}"
local pkglibdir=lib
local MY_ARCH_DIR="${S}/arch/x86"
local oclsuffix=32
fi
einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system"
local ATI_ROOT=/usr/$(get_libdir)/opengl/ati
# To make sure we do not miss a spot when these change.
local libmajor=1 libminor=2
local libver=${libmajor}.${libminor}
# The GLX libraries
# (yes, this really is "lib" even on amd64/multilib --marienz)
exeinto ${ATI_ROOT}/lib
newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \
libGL.so.${libver}
dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor}
dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so
exeinto ${ATI_ROOT}/extensions
doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so
mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so
# other libs
exeinto /usr/$(get_libdir)
# Everything except for the libGL.so installed some row above
doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
-maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*')
insinto /usr/$(get_libdir)
doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
-maxdepth 1 -type f -not -name '*.so*')
# DRI modules, installed into the path used by recent versions of mesa.
exeinto /usr/$(get_libdir)/dri
doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
# AMD Cal and OpenCL libraries
exeinto /usr/$(get_libdir)/OpenCL/vendors/amd
doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so*
doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so*
dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so
exeinto /usr/$(get_libdir)
doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so*
# OpenCL vendor files
insinto /etc/OpenCL/vendors/
cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF
/usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so
EOF
doins "${T}"/amdocl${oclsuffix}.icd
local envname="${T}"/04ati-dri-path
if [[ -n ${ABI} ]]; then
envname="${envname}-${ABI}"
fi
echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}"
doenvd "${envname}"
# Silence the QA notice by creating missing soname symlinks
for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9])
do
local soname=${so##*/}
## let's keep also this alternative way ;)
#dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]}
dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so})
done
#remove static libs if not wanted
use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a
}
pkg_postinst() {
elog "To switch to AMD OpenGL, run \"eselect opengl set ati\""
elog "To change your xorg.conf you can use the bundled \"aticonfig\""
elog
elog "If you experience unexplained segmentation faults and kernel crashes"
elog "with this driver and multi-threaded applications such as wine,"
elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
elog
elog "Fully rebooting the system after an ${PN} update is recommended"
elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg"
elog "might not work"
elog
elog "Some cards need acpid running to handle events"
elog "Please add it to boot runlevel with rc-update add acpid boot"
elog
use modules && linux-mod_pkg_postinst
"${ROOT}"/usr/bin/eselect opengl set --use-old ati
"${ROOT}"/usr/bin/eselect opencl set --use-old amd
}
pkg_preinst() {
use modules && linux-mod_pkg_preinst
}
pkg_prerm() {
"${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}
pkg_postrm() {
use modules && linux-mod_pkg_postrm
"${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}

View file

@ -1,19 +0,0 @@
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)
#ifdef CONFIG_X86_64
kernel_fpu_begin();
#else
+#ifndef TS_USEDFPU
+ preempt_disable();
+ if (__thread_has_fpu(current))
+ __save_init_fpu(current);
+#else
struct thread_info *cur_task = current_thread_info();
preempt_disable();
if (cur_task->status & TS_USEDFPU)
__save_init_fpu(cur_task->task);
+#endif
else
clts();
#endif

View file

@ -1,42 +0,0 @@
--- common/lib/modules/fglrx/build_mod/kcl_debug.h.orig 2012-03-08 19:30:38.195025328 +0100
+++ common/lib/modules/fglrx/build_mod/kcl_debug.h 2012-03-08 19:31:24.976024507 +0100
@@ -85,8 +85,8 @@
#ifdef ERROR
#undef ERROR
#endif
-#ifdef WARN
-#undef WARN
+#ifdef AMD_WARN
+#undef AMD_WARN
#endif
#ifdef INFO
#undef INFO
@@ -122,7 +122,7 @@
{
SPECIAL = 0,
ERROR ,
- WARN ,
+ AMD_WARN ,
INFO ,
INFOEX,
TRACE,
@@ -160,7 +160,7 @@
}log_map;
-#define DEFAULT_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX) |___BIT(ERROR) |___BIT(WARN) | ___BIT(TRACE)| ___BIT(SPECIAL) ))
+#define DEFAULT_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX) |___BIT(ERROR) |___BIT(AMD_WARN) | ___BIT(TRACE)| ___BIT(SPECIAL) ))
#define INFO_LOG_LEVEL ((U08)(___BIT(INFO) | ___BIT(INFOEX)))
extern const log_map module_log_map[];
extern const module_map module_type_map[];
--- common/lib/modules/fglrx/build_mod/kcl_debug.c.orig 2012-03-08 19:36:18.244019310 +0100
+++ common/lib/modules/fglrx/build_mod/kcl_debug.c 2012-03-08 19:36:36.197018973 +0100
@@ -69,7 +69,7 @@
{
{SPECIAL , 'S'},
{ERROR , 'E'},
- {WARN , 'W'},
+ {AMD_WARN , 'W'},
{INFO , 'I'},
{INFOEX , 'X'},
{TRACE , 'T'},

View file

@ -1,50 +0,0 @@
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-15 18:30:13.483762070 +0200
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-17 17:47:36.543041869 +0200
@@ -2106,6 +2106,12 @@
}
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+# define NO_DO_MMAP
+# define do_mmap(a,b,c,d,e,f) vm_mmap(a, b, c, d, e, f)
+# define do_munmap(a,b,c) vm_munmap(b, c)
+#endif
+
unsigned long ATI_API_CALL KCL_MEM_AllocLinearAddrInterval(
KCL_IO_FILE_Handle file,
unsigned long addr,
@@ -2117,10 +2123,13 @@
flags = MAP_SHARED;
prot = PROT_READ|PROT_WRITE;
-
+#ifdef NO_DO_MMAP
+ vaddr = (void *) vm_mmap(file, 0, len, prot, flags, pgoff);
+#else
down_write(&current->mm->mmap_sem);
vaddr = (void *) do_mmap(file, 0, len, prot, flags, pgoff);
up_write(&current->mm->mmap_sem);
+#endif
if (IS_ERR(vaddr))
return 0;
else
@@ -2131,7 +2140,9 @@
{
int retcode = 0;
+#ifndef NO_DO_MMAP
down_write(&current->mm->mmap_sem);
+#endif
#ifdef FGL_LINUX_RHEL_MUNMAP_API
retcode = do_munmap(current->mm,
addr,
@@ -2142,7 +2153,9 @@
addr,
len);
#endif
+#ifndef NO_DO_MMAP
up_write(&current->mm->mmap_sem);
+#endif
return retcode;
}

View file

@ -1,24 +0,0 @@
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-05-26 18:33:25.044695179 +0200
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-05-26 18:28:39.692699095 +0200
@@ -4154,7 +4154,7 @@
{
unsigned int p;
KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init);
- for_each_cpu_mask(p, cpu_possible_map)
+ for_each_possible_cpu(p)
{
KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p);
preempt_disable();
--- a/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:11:03.402987821 +0200
+++ b/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:13:00.273986422 +0200
@@ -217,6 +217,10 @@
* \param size [in] Number of bytes to allocate
* \return Pointer to allocated memory
*/
+#ifndef CONFIG_X86_X32
+DEFINE_PER_CPU(unsigned long, old_rsp);
+#endif
+
void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
{
void __user *ret = COMPAT_ALLOC_USER_SPACE(size);

View file

@ -1,13 +0,0 @@
--- a/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:11:03.402987821 +0200
+++ b/common/lib/modules/fglrx/build_mod/kcl_ioctl.c 2012-05-26 19:13:00.273986422 +0200
@@ -217,6 +217,10 @@
* \param size [in] Number of bytes to allocate
* \return Pointer to allocated memory
*/
+#ifndef CONFIG_X86_X32
+DEFINE_PER_CPU(unsigned long, old_rsp);
+#endif
+
void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
{
void __user *ret = COMPAT_ALLOC_USER_SPACE(size);

View file

@ -1,42 +0,0 @@
diff -ur common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh
--- common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-07-28 04:22:36.000000000 +0100
+++ common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-08-04 12:19:42.000000000 +0100
@@ -4,6 +4,8 @@
# Control script for ACPI lid state and AC adapter state
#
+aticonfig='/opt/bin/aticonfig'
+
getXuser() {
user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
if [ x"$user" = x"" ]; then
@@ -47,7 +49,7 @@
done
#If PPLIB is enabled
-su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB
+su $user -c '$aticonfig --pplib-cmd="get version"' | grep PPLIB
if [ $? = 0 ]; then
echo "Has PPLIB"
has_pplib=1
@@ -61,15 +63,15 @@
if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
echo "Low power"
if [ ${has_pplib} -eq 1 ]; then
- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"'
+ su $user -c '$aticonfig --pplib-cmd="notify psrc dc"'
else
- su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now"
+ su $user -c "$aticonfig --set-powerstate=1"
fi
else
echo "high power"
if [ ${has_pplib} -eq 1 ]; then
- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"'
+ su $user -c '$aticonfig --pplib-cmd="notify psrc ac"'
else
- su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now"
+ su $user -c "$aticonfig --set-powerstate=$($aticonfig --lsp | grep 'default state' | cut -c 3)"
fi
fi

View file

@ -1,40 +0,0 @@
--- a/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2012-08-17 22:39:05.077984979 +0800
+++ b/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2012-08-17 22:41:15.919976149 +0800
@@ -4,6 +4,8 @@
# Control script for ACPI lid state and AC adapter state
#
+aticonfig='/opt/bin/aticonfig'
+
getXuser() {
user=`who| grep -m1 ":$displaynum " | awk '{print $1}'`
if [ x"$user" = x"" ]; then
@@ -47,7 +49,7 @@
done
#If PPLIB is enabled
-su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB
+su $user -c '$aticonfig --pplib-cmd="get version"' | grep PPLIB
if [ $? = 0 ]; then
echo "Has PPLIB"
has_pplib=1
@@ -61,15 +63,15 @@
if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
echo "Low power"
if [ ${has_pplib} -eq 1 ]; then
- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"'
+ su $user -c '$aticonfig --pplib-cmd="notify psrc dc"'
else
- su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now"
+ su $user -c "$aticonfig --set-powerstate=1 --effective=now"
fi
else
echo "high power"
if [ ${has_pplib} -eq 1 ]; then
- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"'
+ su $user -c '$aticonfig --pplib-cmd="notify psrc ac"'
else
- su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now"
+ su $user -c "$aticonfig --set-powerstate=3 --effective=now"
fi
fi

View file

@ -1,20 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/files/atieventsd.init,v 1.3 2007/05/18 23:58:01 marienz Exp $
depend() {
need acpid
}
start() {
ebegin "Starting ${SVCNAME}"
start-stop-daemon --start --exec /opt/sbin/atieventsd -- ${ATIEVENTSDOPTS}
eend $?
}
stop() {
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --quiet --exec /opt/sbin/atieventsd
eend $?
}

View file

@ -1,61 +0,0 @@
#!/bin/bash
# switchlibGL
#
# Copyright (c) 2011 Advanced Micro Devices, Inc.
#
# Purpose:
# For switch between AMD and Intel graphic driver library.
#
# Usage:
# switchlibGL amd|intel|query
# amd: switches to the AMD version of libGL.
# intel: switches to the open-source version of libGL .
# query: checks, which version is currently active and prints either "amd"
# or "intel" or "unknown" on the standard output.
# must be root to execute this script
ARCH=`uname -m`
E_ERR=1
# Check if root
if [ "`whoami`" != "root" ]; then
echo "Must be root to run this script." 1>&2
exit $E_ERR
fi
# One parameter
if [ $# -ne 1 ]; then
echo "Usage: `basename $0` amd|intel|query " 1>&2
echo "Please choose one parameter " 1>&2
exit $E_ERR
fi
current=$(eselect opengl show)
# Switch to right mode
case "$1" in
"amd" )
if [ $current != ati ] ; then
eselect opengl set ati || return 1
fi
;;
"intel" )
if [ $current != xorg-x11 ] ; then
eselect opengl set xorg-x11 || return 1
fi
;;
"query" )
case "$current" in
"ati" )
echo "amd"
;;
"xorg-x11" )
echo "intel"
;;
esac
;;
* ) echo "Usage: `basename $0` amd|intel|query" 1>&2; exit $E_ERR;;
# other than amd|intel|query parameter report an error
esac
# A zero return value from the script upon exit indicates success.
exit 0

View file

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>x11</herd>
<maintainer>
<email>lu_zero@gentoo.org</email>
</maintainer>
<maintainer>
<email>enrico.tagliavini@gmail.com</email>
<name>Enrico Tagliavini</name>
<description>Proxied co-maintainer</description>
</maintainer>
<use>
<flag name='qt4'>
Install qt4 dependent optional tools (e.g Catalyst Control Panel)
</flag>
</use>
<use>
<flag name='modules'>Build the kernel modules</flag>
</use>
<use>
<flag name='pax_kernel'>
Enable if the user plans to run the package under a pax enabled hardened kernel
</flag>
</use>
</pkgmetadata>