# -*- 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

PortSystem          1.0
PortGroup           github 1.0
PortGroup           python 1.0
PortGroup           select 1.0

github.setup        ipython ipython 6.2.1
name                py-ipython
categories-append   devel science
platforms           darwin
license             BSD
supported_archs     noarch

python.versions     27 34 35 36

maintainers         {aronnax @lpsinger} sean stromnov openmaintainer

description         An enhanced interactive Python shell.
long_description    ${description}

distname            ${python.rootname}-${version}

checksums           rmd160  b0a9962a2caabdb0bea43e6a0c5b376b6253043c \
                    sha256  fe566873faea98634c0973eb74c4f934f97a69ed697250cecb05deaf16f8875b

if {${name} ne ${subport}} {
    set python_major [string range ${python.version} 0 end-1]

    depends_lib-append  port:ipython_select \
                        port:ipython${python_major}_select \
                        port:py${python.version}-setuptools \
                        port:py${python.version}-decorator \
                        port:py${python.version}-pickleshare \
                        port:py${python.version}-simplegeneric \
                        port:py${python.version}-traitlets \
                        port:py${python.version}-pexpect \
                        port:py${python.version}-appnope \
                        port:py${python.version}-gnureadline \
                        port:py${python.version}-prompt_toolkit \
                        port:py${python.version}-pygments

    if {${python.version} == 27} {
        github.setup        ipython ipython 5.4.0
        checksums           rmd160  4b8147deacc9dd15a5d544555eb82da6e00ed468 \
                            sha256  9822ea6b60c29e65e9078e71e2a61972b3fbff91a1bdac3ea4a2d87b14b555b3

        depends_lib-append  port:py${python.version}-backports-shutil_get_terminal_size \
                            port:py${python.version}-pathlib2
    } else {
        depends_lib-append  port:py${python.version}-jedi

        if {${python.version} == 34} {
            depends_lib-append  port:py${python.version}-typing
        }
    }

    variant parallel description "Support for parallel computing (deprecated variant)" {
        notes-append "
To enable support for parallel computing please install py${python.version}-ipyparallel port:

    sudo port install py${python.version}-ipyparallel
    "
    }

    variant pyqt4 conflicts pyside description "Support for the Qt console using pyqt4 (deprecated variant)" {
        notes-append "
To enable support for the Qt console please install py${python.version}-pyqt4 and py${python.version}-qtconsole ports:

    sudo port install py${python.version}-pyqt4
    sudo port install py${python.version}-qtconsole
    "
    }

    variant pyside conflicts pyqt4 description "Support for the Qt console using pyside (deprecated variant)" {
        notes-append "
To enable support for the Qt console please install py${python.version}-pyside and py${python.version}-qtconsole ports:

    sudo port install py${python.version}-pyside
    sudo port install py${python.version}-qtconsole
    "
    }

    variant terminal description "Support for the terminal emulation (deprecated variant)" {}

    variant notebook description "Support for IPython HTML notebook (deprecated variant)" {
        notes-append "
To enable support for the notebook please install py${python.version}-notebook port:

    sudo port install py${python.version}-notebook
    "
    }

    select.entries      [list ipython py${python.version}-ipython py${python.version}-ipython] \
                        [list ipython${python_major} py${python.version}-ipython py${python.version}-ipython]

    notes-append "
Please note that since version 4.0 IPython was refactored and splitted across several packages under new project named Jupyter.

To make this the default IPython or IPython${python_major} (i.e., the version run by\
the 'ipython' or 'ipython${python_major}' commands), run one or both of:

    sudo port select --set ipython py${python.version}-ipython
    sudo port select --set ipython${python_major} py${python.version}-ipython
    "

    livecheck.type      none
} else {
    livecheck.regex     archive/[join ${github.tag_prefix} ""](\[^"rba\]+)${extract.suffix}
}