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

name                    q
version                 7.11
revision                6
categories              lang
maintainers             ryandesign
homepage                http://q-lang.sourceforge.net
master_sites            sourceforge:project/q-lang/q/${version}
worksrcdir              ${name}-[lindex [split ${version} -] 0]
use_parallel_build      yes
license                 GPL-2+
supported_archs         i386 ppc

description \
    extensible scripting language

long_description \
    Q is a powerful and extensible scripting language with advanced \
    symbolic processing and functional programming capabilities. Q \
    is based on term rewriting. Consequently, Q scripts are just \
    collections of equations which are used to evaluate expressions \
    in a symbolic fashion. Despite its conceptual simplicity, Q is \
    a full-featured functional programming language with a modern \
    syntax, curried function applications, dynamic object-oriented \
    typing, exception handling, and POSIX multithreading.

depends_build-append \
    port:flex

depends_lib \
    port:curl \
    port:gettext \
    port:gmp \
    port:libiconv \
    port:libxml2 \
    port:libxslt \
    port:readline \
    port:zlib

checksums   rmd160  61a7eba9857ae2c7c553625a423c62fd737836e4 \
            sha256  59b9a0993a7c274c535058ae5ceaf243435be3713f83b53ea311bf7269df98d5 \
            size    2147297

patchfiles \
    patch-readline-6.3.diff \
    patch-system.c.diff

configure.args \
    --with-curl \
    --with-gmp \
    --with-pthread \
    --with-rl \
    --with-xml \
    --without-dmalloc \
    --without-dxl \
    --without-ft2 \
    --without-gdbm \
    --without-ggi \
    --without-magick \
    --without-odbc \
    --without-tk \
    --without-x

# error: non-void function ... should return a value [-Wreturn-type]
# TODO: Actually fix this bug rather than masking the issue
if {[string match *clang* ${configure.compiler}]} {
    configure.cflags-append -Wno-return-type
}

test.run                yes

notes "
The Q programming language has been superseded by Pure\; consider installing the pure port instead.
"

livecheck.type          none
