blob: 81a841d9e5ba360e285a6ebf94afe8bbba01f1f7 [file] [log] [blame]
# -*- 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$
PortSystem 1.0
name ccnx
version 0.6.1
revision 1
epoch 1
categories net
platforms darwin
license GPL LGPL
maintainers ucla.edu:alexander.afanasyev
description ProjectCCNx implementation of Content Centric Networking (CCN) / \
Named Data Networking (NDN) architecture
long_description Project CCNx® exists to develop, promote, and evaluate a new \
approach to communication architecture we call content-centric \
networking. We seek to carry out this mission by creating and \
publishing open protocol specifications and an open source \
software reference implementation of those protocols. We provide \
support for a community of people interested in experimentation, \
research, and building applications with this technology, all \
contributing to its evolution.
homepage http://www.ccnx.org/
# fetch.type git
# git.url https://github.com/ProjectCCNx/ccnx.git
# git.branch ccnx-0.6.1
master_sites http://www.ccnx.org/releases/
checksums rmd160 073478f3d5818b0e4fe09e21a727e5f3207e4277 \
sha256 bfaae10c2c1a327d77f752737b60243e23fd8f3a7c7025ae92221ba0a700b889
use_parallel_build yes
depends_lib port:openssl \
port:expat \
port:libpcap \
port:libxml2
set ccnxuser ccnx
set ccnxgroup ccnx
set ccnxdir ${prefix}/etc/ccnx
add_users ${ccnxuser} shell=/bin/sh group=${ccnxgroup} \
home=${ccnxdir} \
realname=CCNx\ Account
default_variants +java +apps
variant java description {Enable Java API build} {
configure.env-delete BUILD_JAVA=false
}
variant apps requires java description {Enable build of reference applications} {
configure.env-delete BUILD_APPS=false
}
configure.env-append OPENSSL_CFLAGS=-I${prefix}/include
configure.env-append OPENSSL_LIBS=-L${prefix}/lib
configure.env-append INSTALL_BASE=${prefix}
configure.env-append BUILD_JAVA=false
configure.env-append BUILD_APPS=false
configure.cflags -DCCNX_DIR=\\\"${prefix}/etc/ccnx\\\"
pre-build {
reinplace "s|\$HOME/.ccnx/|${prefix}/etc/ccnx/|g" ${worksrcpath}/csrc/util/ccndstart.sh
}
post-destroot {
system "mkdir -p ${destroot}${prefix}/var/log"
system "touch ${destroot}${prefix}/var/log/ccnd.log"
system "chown ${ccnxuser}:${ccnxgroup} ${destroot}${prefix}/var/log/ccnd.log"
file mkdir ${destroot}${prefix}/etc/ccnx
file copy ${worksrcpath}/csrc/libexec/ccnd.conf.sample ${destroot}${prefix}/etc/ccnx/
system "echo CCND_LOG=${prefix}/var/log/ccnd.log > ${destroot}${prefix}/etc/ccnx/ccndrc.sample"
system "echo CCND_DEBUG=16 >> ${destroot}${prefix}/etc/ccnx/ccndrc.sample"
system "chown ${ccnxuser}:${ccnxgroup} ${destroot}${prefix}/etc/ccnx"
}
build.env-append OPENSSL_CFLAGS=-I${prefix}/include
build.env-append OPENSSL_LIBS=-L${prefix}/lib
build.env-append INSTALL_BASE=${prefix}
patchfiles patch-macports-customizations.diff
startupitem.pidfile none
startupitem.start "su ${ccnxuser} -c \"${prefix}/bin/ccndstart\""
startupitem.stop "su ${ccnxuser} -c \"${prefix}/bin/ccndstop\""
startupitem.restart "su ${ccnxuser} -c \"${prefix}/bin/ccndstop && sleep 3 && ${prefix}/bin/ccndstart\""
startupitem.create yes
startupitem.name ccnx
startupitem.netchange yes
startupitem.logevents yes
startupitem.logfile ${prefix}/var/log/ccnx.log
notes "
In order repo to work, you need to add the following lines at the end of your \[~/.bash_profile\]:
export CCNR_DIRECTORY=${prefix}/etc/ccnx/repo
To configure environment variables for ccnd, edit your \[${prefix}/etc/ccnx/ccndrc\]. For example,
CCND_LOG=${prefix}/var/log/ccnd.log
CCND_DEBUG=16
To add static FIB entries, edit your \[${prefix}/etc/ccnx/ccnd.conf\]. For example,
add ccnx:/ccnx.org udp 224.0.23.170 59695
For more information and documentation, refer to man pages and http://www.ccnx.org website.
"