# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 68203 2010-05-29 00:06:54Z jmr@macports.org $

# TODO: figure out how to make PAM happy without blowing a large hole
#	in the security of the OS or touching PAM

PortSystem	1.0

name		gdm
version		2.26.1
set branch      [join [lrange [split ${version} .] 0 1] .]
description	The Gnome Display Manager is a re-implementation of the well known xdm program.
long_description	\
	The Gnome Display Manager is a re-implementation of the well \
	known xdm program. It displays a X11-based graphical login screen.
maintainers	devans openmaintainer
categories	gnome
platforms	darwin
homepage	http://www.gnome.org/
master_sites	gnome:sources/${name}/${branch}/
checksums       md5     c2c15f8b741962f278fa7e790aaa9a2b \
                sha1    7c0b665c1235b903b58e5bfff8678e435529ff6c \
                rmd160  abba568b616d5837f6aeedf3d2759a349df66c9e

depends_build	port:p5-xml-parser \
	        port:pkgconfig \
	        port:gnome-doc-utils

depends_lib	port:gnome-panel \
	        port:libxklavier

use_bzip2	yes

patchfiles      patch-fink-gdm-modified.diff \
                patch-configure.diff \
                patch-daemon-gdm-display-access-file.c.diff \
                fgetpwent.diff
if {${os.major} <= 9 && ${os.platform} == "darwin"} {
    patchfiles-append pam_location.diff
}

post-patch {
        reinplace "s|@MP_PREFIX@|${prefix}|" ${worksrcpath}/configure
}

configure.args	--mandir=${prefix}/share/man \
                --x-includes=${prefix}/include \
                --x-libraries=${prefix}/lib \
                --without-selinux \
                --disable-scrollkeeper

configure.ldflags-append "-lresolv"

startupitem.create	yes
startupitem.name	gdm
startupitem.init	XDG_DATA_DIRS=${prefix}/share
startupitem.start	${prefix}/sbin/gdm
startupitem.stop	${prefix}/sbin/gdm-stop
startupitem.restart	${prefix}/sbin/gdm-restart

post-destroot	{
	xinstall -m 644 ${filespath}/pam.sample ${destroot}${prefix}/etc/gdm
	xinstall ${filespath}/macports-gdm-util ${destroot}${prefix}/bin
}

pre-activate {
	addgroup gdm
	adduser gdm gid=[existsgroup gdm] realname=GNOME\ Display\ Manager
}

post-activate {
	system "scrollkeeper-update"
	file mkdir ${prefix}/var/gdm
	file attributes ${prefix}/var/gdm -owner gdm -group gdm
}

livecheck.type  regex
livecheck.url   http://ftp.gnome.org/pub/gnome/sources/${name}/${branch}/
livecheck.regex {LATEST-IS-(\d+(?:\.\d+)*)}
