# $Id$

PortSystem	1.0
name		logtalk
conflicts	logtalk-devel
version 	3.04.1

categories	lang
maintainers	logtalk.org:pmoura
license		Apache-2
platforms	darwin freebsd linux
supported_archs noarch

description	Logtalk - Open source object-oriented logic programming language

long_description	\
	Logtalk is an object-oriented logic programming language that extends and leverages the Prolog      \
	language with a feature set suitable for programming in the large. Logtalk supports modern code     \
	encapsulation and code reuse mechanisms without compromising the declarative programming features   \
	of Prolog. Logtalk is implemented in highly portable code and can use most modern and standards     \
	compliant Prolog implementations as a back-end compiler. As a multi-paradigm language, it includes  \
	support for modules, prototypes, classes, protocols (interfaces), categories (components and hot    \
	patching), event-driven programming, and high-level multi-threading programming. Its distribution   \
	uses a commercial friendly license and includes full documentation, portable libraries, a           \
	comprehensive set of portable developer tools, and a large number of programming examples to help   \
	get you started.

homepage		http://logtalk.org/
master_sites	${homepage}files/

checksums       \
	sha256	8cb811c0a6e0c203b274e96edf74d8e56986bdef \
	rmd160	bbf614c0450def4164b185b35d0f4b54c397dd0d

distname		logtalk-${version}

use_bzip2		yes

depends_lib		port:shared-mime-info

use_configure	no

build			{}

destroot {
	system "cd ${worksrcpath}/scripts && ./install.sh -p ${destroot}${prefix}"
}

post-destroot {
	delete ${destroot}${prefix}/share/mime
}

package.flat    no

post-pkg {
	set resources ${workpath}/${name}-${version}.pkg/Contents/Resources/
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macosx/License.html ${resources}
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macosx/ReadMe.html ${resources}
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macosx/Welcome.html ${resources}
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macosx/postflight ${resources}
}

post-activate {
	ui_msg "****************************************************************************"
	ui_msg "* Integration scripts have been created for running Logtalk with selected"
	ui_msg "* back-end Prolog compilers (which must be properly installed for running"
	ui_msg "* the scripts!):"
	ui_msg "*"
	ui_msg "* B-Prolog (version 7.8 or later):         bplgt"
	ui_msg "* CxProlog (version 0.98.1 or later):      cxlgt"
	ui_msg "* ECLiPSe (version 6.1#143 or later):      eclipselgt"
	ui_msg "* GNU Prolog (version 1.4.2 or later):     gplgt"
	ui_msg "* JIProlog (version 4.1.2.8 or later):     jiplgt      (first run may require sudo)"
	ui_msg "* Lean Prolog (version 4.5.4 or later):    lplgt       (experimental)"
	ui_msg "* Qu-Prolog (version 9.7 or later):        qplgt"
	ui_msg "* Quintus Prolog (version 3.3 or later):   quintuslgt  (experimental)"
	ui_msg "* SICStus Prolog (version 4.1.0 or later): sicstuslgt"
	ui_msg "* SWI-Prolog (version 6.6.0 or later):     swilgt"
	ui_msg "* XSB (version 3.5.0 or later):            xsblgt      (first run may require sudo)"
	ui_msg "* XSB MT (version 3.5.0 or later):         xsbmtlgt    (first run may require sudo)"
	ui_msg "* YAP (version 6.3.4 or later):            yaplgt"
	ui_msg "*"
	ui_msg "* Remember to set the environment variable LOGTALKHOME to the path to"
	ui_msg "* the Logtalk distribution: ${prefix}/share/logtalk"
	ui_msg "* and the environment variable LOGTALKUSER to your local configuration"
	ui_msg "* directory (usually ~/logtalk), which you must create by running the"
	ui_msg "* command logtalk_user_setup. See the file \$LOGTALKHOME/CUSTOMIZE.md"
	ui_msg "* for details on how to customize your working environment."
	ui_msg "*"
	if {[file exists ${prefix}/share/mime/packages/logtalk.xml]} {
	    delete ${prefix}/share/mime/packages/logtalk.xml
	}
	xinstall -d ${prefix}/share/mime/packages
	xinstall -m 644 ${prefix}/share/logtalk/scripts/freedesktop/logtalk.xml ${prefix}/share/mime/packages
	system "${prefix}/bin/update-mime-database ${prefix}/share/mime; true"
	ui_msg "* Added the Logtalk mime-type to the Shared MIME-info Database."
	ui_msg "****************************************************************************"
}
