# -*- 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 119442 2014-04-25 18:33:01Z ciserlohn@macports.org $

PortSystem	1.0

name		swi-prolog
conflicts	swi-prolog-devel swi-prolog-lite
epoch		20051223
version		6.6.5

categories	lang
license		LGPL-2.1
maintainers	uva.nl:J.Wielemaker logtalk.org:pmoura
platforms	darwin
description	SWI-Prolog compiler plus extra packages (stable version)

long_description	\
	ISO/Edinburgh-style Prolog compiler including modules,		\
	autoload, libraries, Garbage-collector, stack-expandor,		\
	C/C++-interface, Multiple threads, GNU-readline interface,	\
	coroutining, constraint programming, global variables,		\
	very fast compiler. Including packages clib (Unix process	\
	control, sockets, MIME), cpp (C++ interface), sgml (reading	\
	XML/SGML), sgml/RDF (reading RDF into triples), ODBC		\
	interface and XPCE (Graphics UI toolkit, integrated editor	\
	(Emacs-clone) and graphical debugger).

homepage	http://www.swi-prolog.org/
master_sites	http://www.swi-prolog.org/download/stable/src

checksums   \
        sha256  79ee4526ce8a70d55cfeecbb1acfd737db0ddbe45585faba41a24ddb34484a53 \
        rmd160  6d5d974ee5245bacb5d7d62e6683357d4b53612e

depends_build   \
	port:gawk	\
	port:junit	\
	port:pkgconfig

depends_lib		\
	port:readline	\
	port:ncurses	\
	port:jpeg		\
	port:libmcrypt	\
	port:gmp		\
	port:zlib		\
	port:Xft2		\
	port:xorg-libXinerama	\
	port:xpm		\
	port:xorg-libXt \
	port:ossp-uuid

use_parallel_build	no

distname	pl-${version}

configure.env	\
	LIBRARY_PATH=/usr/lib:${prefix}/lib 	\
	CPATH=/usr/include:${prefix}/include	\
	PKG_CONFIG_PATH=${prefix}/lib/pkgconfig \
	JUNIT=${prefix}/share/java/junit.jar

configure.ldflags

configure.args	\
	--mandir=${prefix}/share/man	\
	--x-includes=${prefix}/include	\
	--x-libraries=${prefix}/lib	    \
	--with-world

build.env	\
	LIBRARY_PATH=/usr/lib:${prefix}/lib	    \
	CPATH=/usr/include:${prefix}/include	\
	PKG_CONFIG_PATH=${prefix}/lib/pkgconfig \
	JUNIT=${prefix}/share/java/junit.jar    \
	CC=${configure.cc}

post-build {
	file mkdir ${workpath}/macosx
	file copy -force -- ${workpath}/pl-${version}/man/macosx/License.html ${workpath}/macosx/
	file copy -force -- ${workpath}/pl-${version}/man/macosx/macosx.html ${workpath}/macosx/
	file copy -force -- ${workpath}/pl-${version}/man/macosx/Welcome.html ${workpath}/macosx/
}

post-pkg {
	set resources ${workpath}/${name}-${version}.pkg/Contents/Resources/
	file copy -force -- ${workpath}/macosx/License.html ${resources}
	file copy -force -- ${workpath}/macosx/macosx.html ${resources}
	file copy -force -- ${workpath}/macosx/Welcome.html ${resources}
	file rename ${resources}/macosx.html ${resources}/ReadMe.html
	file delete -force -- ${resources}/Welcome.rtf
}

post-mpkg {
	set resources ${workpath}/${name}-${version}.mpkg/Contents/Resources/
	file copy -force -- ${workpath}/macosx/License.html ${resources}
	file copy -force -- ${workpath}/macosx/macosx.html ${resources}
	file copy -force -- ${workpath}/macosx/Welcome.html ${resources}
	file rename ${resources}/macosx.html ${resources}/ReadMe.html
	file delete -force -- ${resources}/Welcome.rtf
}

if {![variant_isset st]} {
	default_variants +mt
}

variant st conflicts mt description {Single-threaded} {
	configure.args-append --disable-mt
}

variant mt conflicts st description {Multi-threaded} {
	configure.args-append --enable-mt
}

universal_variant   no

livecheck.type      regexm
livecheck.url       ${homepage}download/stable
livecheck.regex     "/download/stable/src/pl-(\\d+\\.\\d+\\.\\d+).tar.gz"
