# $Id: Portfile 92825 2012-05-08 00:19:25Z jeremyhu@macports.org $

PortSystem 1.0

name		xorg-server
conflicts       xorg-server-devel
set my_name	xorg-server
version		1.12.1.901
categories	x11 devel
license		X11 BSD
maintainers	jeremyhu openmaintainer
description	The X.org / Xquartz X server.
homepage	http://www.x.org
platforms	darwin macosx
long_description The X.org X server allows you to run X11 applications on your computer.

#master_sites	http://xquartz.macosforge.org/downloads/src
master_sites    xorg:individual/xserver/

dist_subdir     ${my_name}
distname        ${my_name}-${version}

checksums           sha1    bb9985bae271aa896de7fa12e49a0dbd8e244d2c \
                    rmd160  84f8c7c1923670aadc0d5c7f634467ee87a67602 \
                    sha256  e00525cd683da1a7bb9d99c16e2572706863cbb141c428129bf5166a47aefa9b

use_bzip2	yes
use_parallel_build yes

# Yes, mesa is a *BUILD* dependency
depends_build \
	port:pkgconfig \
	port:mesa \
	port:xorg-applewmproto \
	port:xorg-bigreqsproto \
	port:xorg-damageproto \
	port:xorg-fixesproto \
	port:xorg-fontsproto \
	port:xorg-glproto \
	port:xorg-inputproto \
	port:xorg-randrproto \
	port:xorg-recordproto \
	port:xorg-renderproto \
	port:xorg-resourceproto \
	port:xorg-scrnsaverproto \
	port:xorg-videoproto \
	port:xorg-xcmiscproto \
	port:xorg-xproto \
	port:xorg-xextproto \
	port:xorg-xineramaproto \
	port:xorg-xtrans

# This xinit dependency needs to be port: not bin: because we specifically run ${prefix}/bin/startx from bundle-main.c
depends_run \
	port:xinit \
	port:xorg-fonts \
	port:xkeyboard-config

depends_lib \
	path:lib/pkgconfig/pixman-1.pc:libpixman \
	port:xorg-libxkbfile \
	port:xorg-libXfont \
	port:xorg-libXt \
	port:xorg-libAppleWM \
	port:xorg-libXfixes

configure.args --with-apple-applications-dir=${applications_dir} \
	--with-launchd-id-prefix=org.macports \
	--without-dtrace \
	--without-doxygen \
	--without-fop \
	--without-xmlto \
	--disable-devel-docs \
	--with-sha1=CommonCrypto \
	--disable-unit-tests

# GL/internal/dri_interface.h is missing in prefix (provided by libdrm for the xorg DDX... not helpful for us)
configure.cppflags-append -I/usr/include -I${filespath}/dri

configure.env-append \
	RAWCPP=${configure.cpp}

patchfiles \
        0001-XQuartz-Workaround-an-SDK-bug-on-Leopard-x86_64.patch \
        0002-XQuartz-Tiger-build-fix.patch \
        0003-XQuartz-Provide-fls-implementation-for-Tiger.patch \
        5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch \
        5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
        5002-fb-Revert-fb-changes-that-broke-XQuartz.patch

patch.pre_args -p1

use_autoreconf yes
autoreconf.args -fvi

build.args V=1

depends_build-append \
	port:xorg-util-macros \
	port:xorg-font-util

post-destroot {
	ln -s Xquartz ${destroot}${prefix}/bin/X
}

platform macosx {
	if { ![file exists /usr/include/Xplugin.h] } {
		# Xplugin.h is missing on Tiger
		configure.cppflags-append -I${filespath}/include
	}
}

variant docs description "Install extra documentation" {
	depends_build-append \
		port:doxygen \
		port:fop \
		port:xmlto \
		port:xorg-sgml-doctools

	depends_skip_archcheck-append \
		doxygen \
		xmlto

	configure.args-delete \
		--without-doxygen \
		--without-fop \
		--without-xmlto \
		--disable-devel-docs 

	configure.args-append \
		--with-doxygen \
		--with-fop \
		--with-xmlto \
		--enable-devel-docs

	configure.env-append \
		DOXYGEN="${prefix}/bin/doxygen" \
		FOP="${prefix}/bin/fop" \
		XMLTO="${prefix}/bin/xmlto"
}
