# $Id$

PortSystem	1.0
name		logtalk
conflicts	logtalk-devel
version 	3.47.0

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 backend 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		https://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/macos/License.html ${resources}
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macos/ReadMe.html ${resources}
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macos/Welcome.html ${resources}
	file copy -force -- ${workpath}/${worksrcdir}/scripts/macos/postflight ${resources}
}

post-activate {
	ui_msg "****************************************************************************"
	ui_msg "* Integration scripts have been created for running Logtalk with selected"
	ui_msg "* backend Prolog compilers (which must be properly installed for running"
	ui_msg "* the scripts!):"
	ui_msg "*"
	ui_msg "* B-Prolog (7.8 or later):           bplgt"
	ui_msg "* Ciao Prolog (1.20.0 or later):     ciaolgt     (experimental; first run may require sudo)"
	ui_msg "* CxProlog (0.98.1 or later):        cxlgt"
	ui_msg "* ECLiPSe (6.1#143 or later):        eclipselgt"
	ui_msg "* GNU Prolog (1.4.5 or later):       gplgt"
	ui_msg "* JIProlog (4.1.6.1 or later):       jiplgt      (first run may require sudo)"
	ui_msg "* LVM (1.7.0 or later):              lvmlgt"
	ui_msg "* Quintus Prolog (3.3 or later):     quintuslgt  (experimental)"
	ui_msg "* Scryer Prolog (0.8.128 or later):  scryerlgt   (experimental)"
	ui_msg "* SICStus Prolog (4.1.0 or later):   sicstuslgt"
	ui_msg "* SWI-Prolog (6.6.0 or later):       swilgt"
	ui_msg "* Tau Prolog (0.3.0 or later):       taulgt"
	ui_msg "* Trealla Prolog (1.8.72 or later):  tplgt       (experimental)"
	ui_msg "* XSB (3.8.0 or later):              xsblgt      (first run may require sudo)"
	ui_msg "* YAP (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 "****************************************************************************"
}
