PortSystem          1.0

name                logtalk
version             3.27.0

categories          lang
maintainers         {logtalk.org:pmoura @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            https://logtalk.org/
master_sites        ${homepage}files/

checksums           rmd160  0c5747c369c74293d3bcb91aec972b24ffc1fbdc \
                    sha256  aa7211e97d1a2cf975d3b4bc52df990c34646bbc4dc478569354ad5786c01112 \
                    size    17913790

use_bzip2           yes

depends_lib         port:shared-mime-info

use_configure       no

build               {}

destroot {
    system -W ${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.7 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.txt"
    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 "****************************************************************************"
}