diff options
author | Steve Arnold <stephen.arnold42@gmail.com> | 2014-01-12 10:48:52 -0800 |
---|---|---|
committer | Steve Arnold <stephen.arnold42@gmail.com> | 2014-01-12 10:48:52 -0800 |
commit | b75a9af3e760257bab98a72c6111a697a87ad235 (patch) | |
tree | 6d9e8e82d75a2a36df6ed5e6de0c47d68e73dbc4 | |
parent | xorg-server: A few fixups (diff) | |
download | arm-b75a9af3e760257bab98a72c6111a697a87ad235.tar.gz arm-b75a9af3e760257bab98a72c6111a697a87ad235.tar.bz2 arm-b75a9af3e760257bab98a72c6111a697a87ad235.zip |
xorg and mesa updates for trimslice
-rw-r--r-- | media-libs/mesa/files/0001-st-xorg-handle-updates-to-DamageUnregister-API.patch | 41 | ||||
-rw-r--r-- | media-libs/mesa/mesa-9999.ebuild | 11 | ||||
-rw-r--r-- | x11-base/xorg-drivers/xorg-drivers-9999.ebuild | 161 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-9999.ebuild | 256 |
4 files changed, 466 insertions, 3 deletions
diff --git a/media-libs/mesa/files/0001-st-xorg-handle-updates-to-DamageUnregister-API.patch b/media-libs/mesa/files/0001-st-xorg-handle-updates-to-DamageUnregister-API.patch new file mode 100644 index 0000000..6885197 --- /dev/null +++ b/media-libs/mesa/files/0001-st-xorg-handle-updates-to-DamageUnregister-API.patch @@ -0,0 +1,41 @@ +From 3be3b54162e2c95c400870e74dff6028a8387d20 Mon Sep 17 00:00:00 2001 +From: Emil Velikov <emil.l.velikov@gmail.com> +Date: Fri, 1 Nov 2013 16:44:10 +0000 +Subject: [PATCH] st/xorg: handle updates to DamageUnregister API +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +xserver 1.14.99.2 simplified the DamageUnregister API, by +dropping the drawable argument. +Follow xf86-video-intel and xf86-video-vmware approach and +handle the new API by checking XORG_VERSION_CURRENT. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71110 +Reported-by: Michał Górny <mgorny@gentoo.org> +Reported-by: Vinson Lee <vlee@freedesktop.org> +Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> +--- + src/gallium/state_trackers/xorg/xorg_driver.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c +index 097c354..d252545 100644 +--- a/src/gallium/state_trackers/xorg/xorg_driver.c ++++ b/src/gallium/state_trackers/xorg/xorg_driver.c +@@ -1027,7 +1027,11 @@ drv_close_screen(CLOSE_SCREEN_ARGS_DECL) + + #ifdef DRM_MODE_FEATURE_DIRTYFB + if (ms->damage) { ++#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0) ++ DamageUnregister(ms->damage); ++#else + DamageUnregister(&pScreen->GetScreenPixmap(pScreen)->drawable, ms->damage); ++#endif + DamageDestroy(ms->damage); + ms->damage = NULL; + } +-- +1.8.4.2 + + diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index 742cc24..0f0eec7 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -174,14 +174,17 @@ src_prepare() { fi # relax the requirement that r300 must have llvm, bug 380303 - epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch + #epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch # fix for hardened pax_kernel, bug 240956 [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch # Fixes for LLVM 3.3 with these sources - epatch "${FILESDIR}"/01-Partial-llvm-3.3-fix.patch - epatch "${FILESDIR}"/02-Part-deux-llvm-3.3-fix.patch + #epatch "${FILESDIR}"/01-Partial-llvm-3.3-fix.patch + #epatch "${FILESDIR}"/02-Part-deux-llvm-3.3-fix.patch + + # add upstream patch for xdamage + epatch "${FILESDIR}"/0001-st-xorg-handle-updates-to-DamageUnregister-API.patch # Solaris needs some recent POSIX stuff in our case if [[ ${CHOST} == *-solaris* ]] ; then @@ -197,6 +200,8 @@ src_prepare() { } src_configure() { + use arm && append-cppflags -D__arm32__ + local myconf if use classic; then diff --git a/x11-base/xorg-drivers/xorg-drivers-9999.ebuild b/x11-base/xorg-drivers/xorg-drivers-9999.ebuild new file mode 100644 index 0000000..9b4de0a --- /dev/null +++ b/x11-base/xorg-drivers/xorg-drivers-9999.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +DESCRIPTION="Meta package containing deps on all xorg drivers" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="" + +LICENSE="metapackage" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" + +IUSE_INPUT_DEVICES=" + input_devices_acecad + input_devices_aiptek + input_devices_elographics + input_devices_evdev + input_devices_fpit + input_devices_hyperpen + input_devices_joystick + input_devices_keyboard + input_devices_mouse + input_devices_mutouch + input_devices_penmount + input_devices_tslib + input_devices_vmmouse + input_devices_void + input_devices_synaptics + input_devices_wacom +" +IUSE_VIDEO_CARDS=" + video_cards_apm + video_cards_armsoc + video_cards_ast + video_cards_chips + video_cards_cirrus + video_cards_dummy + video_cards_epson + video_cards_fbdev + video_cards_geode + video_cards_glint + video_cards_i128 + video_cards_i740 + video_cards_intel + video_cards_mach64 + video_cards_mga + video_cards_modesetting + video_cards_nouveau + video_cards_nv + video_cards_omap + video_cards_omapfb + video_cards_qxl + video_cards_r128 + video_cards_radeon + video_cards_rendition + video_cards_s3virge + video_cards_savage + video_cards_siliconmotion + video_cards_sisusb + video_cards_sunbw2 + video_cards_suncg14 + video_cards_suncg3 + video_cards_suncg6 + video_cards_sunffb + video_cards_sunleo + video_cards_suntcx + video_cards_tdfx + video_cards_tegra + video_cards_tga + video_cards_trident + video_cards_tseng + video_cards_v4l + video_cards_vesa + video_cards_via + video_cards_virtualbox + video_cards_vmware + video_cards_voodoo + video_cards_fglrx + video_cards_nvidia +" + +IUSE="${IUSE_VIDEO_CARDS} ${IUSE_INPUT_DEVICES}" + +PDEPEND=" + input_devices_acecad? ( x11-drivers/xf86-input-acecad ) + input_devices_aiptek? ( x11-drivers/xf86-input-aiptek ) + input_devices_elographics? ( x11-drivers/xf86-input-elographics ) + input_devices_evdev? ( x11-drivers/xf86-input-evdev ) + input_devices_fpit? ( x11-drivers/xf86-input-fpit ) + input_devices_hyperpen? ( x11-drivers/xf86-input-hyperpen ) + input_devices_joystick? ( x11-drivers/xf86-input-joystick ) + input_devices_keyboard? ( x11-drivers/xf86-input-keyboard ) + input_devices_mouse? ( x11-drivers/xf86-input-mouse ) + input_devices_mutouch? ( x11-drivers/xf86-input-mutouch ) + input_devices_penmount? ( x11-drivers/xf86-input-penmount ) + input_devices_tslib? ( x11-drivers/xf86-input-tslib ) + input_devices_vmmouse? ( x11-drivers/xf86-input-vmmouse ) + input_devices_void? ( x11-drivers/xf86-input-void ) + input_devices_synaptics? ( x11-drivers/xf86-input-synaptics ) + input_devices_wacom? ( x11-drivers/xf86-input-wacom ) + + video_cards_apm? ( x11-drivers/xf86-video-apm ) + video_cards_armsoc? ( x11-drivers/xf86-video-armsoc ) + video_cards_ast? ( x11-drivers/xf86-video-ast ) + video_cards_chips? ( x11-drivers/xf86-video-chips ) + video_cards_cirrus? ( x11-drivers/xf86-video-cirrus ) + video_cards_dummy? ( x11-drivers/xf86-video-dummy ) + video_cards_fbdev? ( x11-drivers/xf86-video-fbdev ) + video_cards_geode? ( x11-drivers/xf86-video-geode ) + video_cards_glint? ( x11-drivers/xf86-video-glint ) + video_cards_i128? ( x11-drivers/xf86-video-i128 ) + video_cards_i740? ( x11-drivers/xf86-video-i740 ) + video_cards_intel? ( x11-drivers/xf86-video-intel ) + video_cards_mach64? ( x11-drivers/xf86-video-mach64 ) + video_cards_mga? ( x11-drivers/xf86-video-mga ) + video_cards_modesetting? ( x11-drivers/xf86-video-modesetting ) + video_cards_nouveau? ( x11-drivers/xf86-video-nouveau ) + video_cards_nv? ( x11-drivers/xf86-video-nv ) + video_cards_omap? ( x11-drivers/xf86-video-omap ) + video_cards_omapfb? ( x11-drivers/xf86-video-omapfb ) + video_cards_qxl? ( x11-drivers/xf86-video-qxl ) + video_cards_nvidia? ( x11-drivers/nvidia-drivers ) + video_cards_fglrx? ( x11-drivers/ati-drivers ) + video_cards_r128? ( x11-drivers/xf86-video-r128 ) + video_cards_radeon? ( x11-drivers/xf86-video-ati ) + video_cards_rendition? ( x11-drivers/xf86-video-rendition ) + video_cards_s3virge? ( x11-drivers/xf86-video-s3virge ) + video_cards_savage? ( x11-drivers/xf86-video-savage ) + video_cards_siliconmotion? ( x11-drivers/xf86-video-siliconmotion ) + video_cards_sisusb? ( x11-drivers/xf86-video-sisusb ) + video_cards_suncg14? ( x11-drivers/xf86-video-suncg14 ) + video_cards_suncg3? ( x11-drivers/xf86-video-suncg3 ) + video_cards_suncg6? ( x11-drivers/xf86-video-suncg6 ) + video_cards_sunffb? ( x11-drivers/xf86-video-sunffb ) + video_cards_sunleo? ( x11-drivers/xf86-video-sunleo ) + video_cards_suntcx? ( x11-drivers/xf86-video-suntcx ) + video_cards_tdfx? ( x11-drivers/xf86-video-tdfx ) + video_cards_tegra? ( x11-drivers/xf86-video-opentegra ) + video_cards_tga? ( x11-drivers/xf86-video-tga ) + video_cards_trident? ( x11-drivers/xf86-video-trident ) + video_cards_tseng? ( x11-drivers/xf86-video-tseng ) + video_cards_v4l? ( x11-drivers/xf86-video-v4l ) + video_cards_vesa? ( x11-drivers/xf86-video-vesa ) + video_cards_via? ( x11-drivers/xf86-video-openchrome ) + video_cards_virtualbox? ( x11-drivers/xf86-video-virtualbox ) + video_cards_vmware? ( x11-drivers/xf86-video-vmware ) + video_cards_voodoo? ( x11-drivers/xf86-video-voodoo ) + + !x11-drivers/xf86-input-citron + !x11-drivers/xf86-video-cyrix + !x11-drivers/xf86-video-impact + !x11-drivers/xf86-video-nsc + !x11-drivers/xf86-video-sunbw2 + !<=x11-drivers/xf86-video-ark-0.7.5 + !<=x11-drivers/xf86-video-neomagic-1.2.7 + !<=x11-drivers/xf86-video-newport-0.2.4 + !<=x11-drivers/xf86-video-s3-0.6.5 + !<=x11-drivers/xf86-video-sis-0.10.7 +" diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild new file mode 100644 index 0000000..5aee041 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-9999.ebuild @@ -0,0 +1,256 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +XORG_EAUTORECONF=yes +XORG_DOC=doc +inherit xorg-2 multilib versionator flag-o-matic +EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver" + +DESCRIPTION="X.Org X servers" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" + +IUSE_SERVERS="dmx kdrive xnest xorg xvfb" +IUSE="${IUSE_SERVERS} ipv6 minimal nptl selinux +suid tslib +udev" + +RDEPEND=">=app-admin/eselect-opengl-1.0.8 + dev-libs/openssl + media-libs/freetype + >=x11-apps/iceauth-1.0.2 + >=x11-apps/rgb-1.0.3 + >=x11-apps/xauth-1.0.3 + x11-apps/xkbcomp + >=x11-libs/libdrm-2.4.20 + >=x11-libs/libpciaccess-0.12.901 + >=x11-libs/libXau-1.0.4 + >=x11-libs/libXdmcp-1.0.2 + >=x11-libs/libXfont-1.4.2 + >=x11-libs/libxkbfile-1.0.4 + >=x11-libs/libxshmfence-1.1 + >=x11-libs/pixman-0.27.2 + >=x11-libs/xtrans-1.3.2 + >=x11-misc/xbitmaps-1.0.1 + >=x11-misc/xkeyboard-config-2.4.1-r3 + dmx? ( + x11-libs/libXt + >=x11-libs/libdmx-1.0.99.1 + >=x11-libs/libX11-1.1.5 + >=x11-libs/libXaw-1.0.4 + >=x11-libs/libXext-1.0.99.4 + >=x11-libs/libXfixes-5.0 + >=x11-libs/libXi-1.2.99.1 + >=x11-libs/libXmu-1.0.3 + x11-libs/libXrender + >=x11-libs/libXres-1.0.3 + >=x11-libs/libXtst-1.0.99.2 + ) + kdrive? ( + >=x11-libs/libXext-1.0.5 + x11-libs/libXv + ) + !minimal? ( + >=x11-libs/libX11-1.1.5 + >=x11-libs/libXext-1.0.5 + >=media-libs/mesa-9.2.0[nptl=] + ) + tslib? ( >=x11-libs/tslib-1.0 ) + udev? ( >=virtual/udev-150 ) + >=x11-apps/xinit-1.3 + selinux? ( sec-policy/selinux-xserver )" + +DEPEND="${RDEPEND} + sys-devel/flex + >=x11-proto/bigreqsproto-1.1.0 + >=x11-proto/compositeproto-0.4 + >=x11-proto/damageproto-1.1 + >=x11-proto/fixesproto-5.0 + >=x11-proto/fontsproto-2.0.2 + >=x11-proto/glproto-1.4.17 + >=x11-proto/inputproto-2.2.99.1 + >=x11-proto/kbproto-1.0.3 + >=x11-proto/randrproto-1.4.0 + >=x11-proto/recordproto-1.13.99.1 + >=x11-proto/renderproto-0.11 + >=x11-proto/resourceproto-1.2.0 + >=x11-proto/scrnsaverproto-1.1 + >=x11-proto/trapproto-3.4.3 + >=x11-proto/videoproto-2.2.2 + >=x11-proto/xcmiscproto-1.2.0 + >=x11-proto/xextproto-7.2.99.901 + >=x11-proto/xf86dgaproto-2.0.99.1 + >=x11-proto/xf86rushproto-1.1.2 + >=x11-proto/xf86vidmodeproto-2.2.99.1 + >=x11-proto/xineramaproto-1.1.3 + >=x11-proto/xproto-7.0.22 + >=x11-proto/presentproto-1.0 + >=x11-proto/dri3proto-1.0 + dmx? ( + >=x11-proto/dmxproto-2.2.99.1 + doc? ( + || ( + www-client/links + www-client/lynx + www-client/w3m + ) + ) + ) + !minimal? ( + >=x11-proto/xf86driproto-2.1.0 + >=x11-proto/dri2proto-2.8 + )" + +PDEPEND=" + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )" + +REQUIRED_USE="!minimal? ( + || ( ${IUSE_SERVERS} ) + )" + +#UPSTREAMED_PATCHES=( +# "${WORKDIR}/patches/" +#) + +PATCHES=( + "${UPSTREAMED_PATCHES[@]}" + "${FILESDIR}"/${PN}-1.12-ia64-fix_inx_outx.patch + "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch +) + +pkg_pretend() { + # older gcc is not supported + [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \ + die "Sorry, but gcc earlier than 4.0 will not work for xorg-server." +} + +src_configure() { + use arm && append-cppflags -D__arm32__ + + # localstatedir is used for the log location; we need to override the default + # from ebuild.sh + # sysconfdir is used for the xorg.conf location; same applies + # NOTE: fop is used for doc generating ; and i have no idea if gentoo + # package it somewhere + XORG_CONFIGURE_OPTIONS=( + $(use_enable ipv6) + $(use_enable dmx) + $(use_enable kdrive) + $(use_enable kdrive kdrive-kbd) + $(use_enable kdrive kdrive-mouse) + $(use_enable kdrive kdrive-evdev) + $(use_enable suid install-setuid) + $(use_enable tslib) + $(use_enable !minimal record) + $(use_enable !minimal xfree86-utils) + $(use_enable !minimal install-libxf86config) + $(use_enable !minimal dri) + $(use_enable !minimal dri2) + $(use_enable !minimal glx) + $(use_enable xnest) + $(use_enable xorg) + $(use_enable xvfb) + $(use_enable nptl glx-tls) + $(use_enable udev config-udev) + $(use_with doc doxygen) + $(use_with doc xmlto) + --enable-libdrm + --sysconfdir="${EPREFIX}"/etc/X11 + --localstatedir="${EPREFIX}"/var + --with-fontrootdir="${EPREFIX}"/usr/share/fonts + --with-xkb-output="${EPREFIX}"/var/lib/xkb + --disable-config-hal + --disable-linux-acpi + --without-dtrace + --without-fop + --with-os-vendor=Gentoo + ) + + # Xorg-server requires includes from OS mesa which are not visible for + # users of binary drivers. + mkdir -p "${T}/mesa-symlinks/GL" + for i in gl glx glxmd glxproto glxtokens; do + ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die + done + for i in glext glxext; do + ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die + done + append-cppflags "-I${T}/mesa-symlinks" + + xorg-2_src_configure +} + +src_install() { + xorg-2_src_install + + dynamic_libgl_install + + server_based_install + + if ! use minimal && use xorg; then + # Install xorg.conf.example into docs + dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example + fi + + newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup + newinitd "${FILESDIR}"/xdm.initd-10 xdm + newconfd "${FILESDIR}"/xdm.confd-4 xdm + + # install the @x11-module-rebuild set for Portage + insinto /usr/share/portage/config/sets + newins "${FILESDIR}"/xorg-sets.conf xorg.conf +} + +pkg_postinst() { + # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install) + eselect opengl set xorg-x11 --use-old + + if [[ ${PV} != 9999 && $(get_version_component_range 2 ${REPLACING_VERSIONS}) != $(get_version_component_range 2 ${PV}) ]]; then + elog "You should consider reading upgrade guide for this release:" + elog " http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-$(get_version_component_range 1-2)-upgrade-guide.xml" + echo + ewarn "You must rebuild all drivers if upgrading from <xorg-server-$(get_version_component_range 1-2)" + ewarn "because the ABI changed. If you cannot start X because" + ewarn "of module version mismatch errors, this is your problem." + + echo + ewarn "You can rebuild all installed packages in the x11-drivers" + ewarn "category using this command:" + ewarn " emerge @x11-module-rebuild" + fi + + if use udev && has_version virtual/udev[-keymap]; then + ewarn "virtual/udev was built without keymap support. This may cause input device" + ewarn "autoconfiguration to fail." + fi +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then + rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/xorg-x11/extensions + local x="" + for x in "${ED}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} "${ED}"/usr/$(get_libdir)/opengl/xorg-x11/extensions + fi + done + eend 0 +} + +server_based_install() { + if ! use xorg; then + rm "${ED}"/usr/share/man/man1/Xserver.1x \ + "${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \ + "${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ + "${ED}"/usr/share/man/man1/Xserver.1x + fi +} |