# $Id: Portfile 119711 2014-05-04 03:10:10Z jeremyhu@macports.org $

PortSystem 1.0

name		xorg-server
conflicts       xorg-server-devel
set my_name	xorg-server
version		1.14.6
categories	x11 devel
license		X11
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    257fe290829a685f5bba5809bb1b422b6dae68a5 \
                    rmd160  e8062894d922ff3bad79dd50057c257fae1f18b7 \
                    sha256  e8b33f09f6adf706dfd2636990730d7fed6538adf346f78a6c685cf0c3dda730

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:quartz-wm \
	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

# https://trac.macports.org/ticket/36055           
compiler.blacklist gcc-4.0

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

# 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-Ensure-we-wait-for-the-server-thread-to-term.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 \
	5003-fb-Revert-fb-changes-that-broke-XQuartz.patch \
	5004-Use-old-miTrapezoids-and-miTriangles-routines.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"
}

livecheck.type  regex
livecheck.url   http://xorg.freedesktop.org/archive/individual/xserver/?C=M&O=D
livecheck.regex ${name}-(\\d+\\.\\d+\\.\\d+)\\.tar
