# -*- 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
# $Id: Portfile 78158 2011-04-26 13:15:48Z jmr@macports.org $

PortSystem          1.0
PortGroup           python 1.0

use_configure       yes
use_autoreconf      yes
name                py-ccn
version             0.2
python.versions     27
python.default_version   27
revision            1
description	        PyCCN - CCN bindings for Python
long_description \
	A "thin" implementation, which supports Python \
    objects corresponding to the major CCNx entities - Interest, ContentObject, and \
    so on, as well as some support objects.  The C code is mostly just responsible \
    for marshaling data back and forth between the formats, though there are some \
    useful functions for key generation/access included.
maintainers         ucla.edu:alexander.afanasyev
categories	        net python
platforms	        darwin
homepage            https://github.com/remap/PyCCN

fetch.type git
git.url    https://github.com/remap/PyCCN.git
git.branch fc486a1f253e937fb7de40c2a8fc900ca23c166d

depends_build	\
	port:autoconf \
    port:libtool \
	port:pkgconfig
depends_lib-append	\
    port:openssl \
    port:ccnx

pre-configure {
    file mkdir "${worksrcpath}/build-aux"
}

configure.args-append --with-ccn=${prefix}
configure.env-append OPENSSL_INCLUDES=-I${prefix}/include
configure.env-append OPENSSL_LDFLAGS=-L${prefix}/lib
configure.env-append OPENSSL_LIBS="-lssl -lcrypto"
configure.env-append PYTHON_SITE_PKG=${python.pkgd}
configure.env-append PYTHON=${python.bin}

build.cmd           make
build.target    

destroot.cmd        make
destroot.target     install
destroot.destdir    "DESTDIR=${destroot}"

