# SliTaz package receipt.

PACKAGE="xorg-server"
VERSION="1.12.4"
CATEGORY="x-window"
SHORT_DESC="Xorg core server."
MAINTAINER="pankso@slitaz.org"
LICENSE="MIT"
SUGGESTED="xorg-xf86-input-evdev xorg-xf86-video-vesa"
TARBALL="$PACKAGE-$VERSION.tar.bz2"
WEB_SITE="http://www.x.org/"
WGET_URL="http://xorg.freedesktop.org/releases/individual/xserver/$TARBALL"

# Mesa build dep make also Xorg depends on libdrm.
DEPENDS="xorg-xkeyboard-config xorg-libpciaccess xorg-libXxf86vm \
xorg-libXfont xorg-libXau xorg-base-fonts libgcrypt pixman udev libdrm \
xorg-xf86-input-evdev"
BUILD_DEPENDS="xorg-libxkbfile-dev xorg-libpciaccess-dev xorg-libXxf86vm-dev \
xorg-libXfont-dev libgcrypt-dev pixman-dev udev-dev mesa-dev pkg-config perl \
flex xorg-xf86driproto xorg-xcmiscproto xorg-bigreqsproto xorg-randrproto \
xorg-dri2proto xorg-libXau-dev xorg-dev-proto libdrm-dev xorg-glproto \
xorg-libXv-dev"

# Rules to configure and make the package.
compile_rules()
{
	cd $src
#	001_fedora_extramodes.patch					3869	logplain
#	02_Add-libnettle-as-option-for-sha1.diff			2865	logplain
#	03_fix-panning.diff						5426	logplain
#	04_int10-fix-pci_device_read_rom-usage.diff			1782	logplain
#	05_Revert-Unload-submodules.diff				879	logplain
#	06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff	2058	logplain
#	07_Revert-kinput-allocate-enough-space-for-null-charact.diff	2126	logplain
#	08_xfree86_fix_ia64_inx_outx.diff				1768	logplain
#	09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff	3009	logplain
#	13_debian_add_xkbpath_env_variable.diff				514	logplain
#	14_CVE-2013-4396.diff						2779	logplain
#	15_CVE-2013-6424.diff						1803	logplain

	
	for i in \
001_fedora_extramodes.patch					\
02_Add-libnettle-as-option-for-sha1.diff			\
03_fix-panning.diff						\
04_int10-fix-pci_device_read_rom-usage.diff			\
05_Revert-Unload-submodules.diff				\
06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff	\
07_Revert-kinput-allocate-enough-space-for-null-charact.diff	\
08_xfree86_fix_ia64_inx_outx.diff				\
09_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.diff	\
14_CVE-2013-4396.diff						\
15_CVE-2013-6424.diff						;
	do
	wget anonscm.debian.org/cgit/pkg-xorg/xserver/xorg-server.git/plain/debian/patches/${i}?h=debian-wheezy
	patch -p1 -i ${i}'?h=debian-wheezy'
	done

wget http://anonscm.debian.org/cgit/pkg-xorg/xserver/xorg-server.git/patch/?id=174ccd84931ece5a92a09c4a1d6a47e0958ebf7e
patch -p1 -i '?id=174ccd84931ece5a92a09c4a1d6a47e0958ebf7e'

	# Xephyr make possible to use Xorg in a chroot.
	./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--with-module-dir=/usr/lib/X11/modules \
		--with-xkb-output=/var/lib/xkb \
		--with-serverconfig-path=/etc/X11 \
		--enable-install-setuid \
		--enable-xorg \
		--enable-kdrive \
		--enable-kdrive-kbd \
		--enable-kdrive-mouse \
		--enable-kdrive-evdev \
		--enable-xfbdev \
		--enable-xephyr \
		--enable-config-udev \
		--disable-config-dbus \
		--disable-docs \
		--disable-devel-docs \
		--with-fontrootdir=/usr/share/fonts/X11 \
		--with-os-name="SliTaz GNU/Linux" \
		--with-vendor-web="http://www.slitaz.org/" \
		--with-builder-addr=$MAINTAINER \
		$CONFIGURE_ARGS &&
	make && make DESTDIR=$DESTDIR install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
	mkdir -p $fs/usr/lib $fs/var $fs/etc/X11/xorg.conf.d
	cp -a $install/usr/lib/X11 $fs/usr/lib
	cp -a $install/usr/bin $fs/usr
	cp -a $install/var/lib $fs/var
	cp -a $install/etc $fs
	# Remove static libs and split Xnest
	rm $fs/usr/lib/X11/*/*.*a
	rm $fs/usr/lib/X11/*/*/*.*a
	rm $fs/usr/bin/Xnest
	rm $fs/usr/bin/Xvfb
	# Kdrive/tinyX --> xorg-server-Xephyr xorg-server-Xfbdev
	rm $fs/usr/bin/Xephyr
	rm $fs/usr/bin/Xfbdev
}

# We need /var/tmp rw to let xkbcomp builr XKB definition.
post_install()
{
	chmod 1777 $1/var/tmp
}

#	diff --git a/drivers/video/sunxi/disp/dev_fb.c b/drivers/video/sunxi/disp/dev_fb.c
#	index 53e4c27..a453b6f 100644
#	--- a/drivers/video/sunxi/disp/dev_fb.c
#	+++ b/drivers/video/sunxi/disp/dev_fb.c
#	@@ -1243,7 +1243,7 @@ static int Fb_setcolreg(unsigned regno, unsigned red, unsigned green,
#	val);
#	((__u32 *) info->pseudo_palette)[regno] = val;
#	} else {
#	-	 ret = -EINVAL;
#	+	 ret = 0;
#	}
#	break;
#	default:
#
#	http://anonscm.debian.org/cgit/pkg-xorg/xserver/xorg-server.git/patch/?id=174ccd84931ece5a92a09c4a1d6a47e0958ebf7e