cherokee の Portfile 書いた。

動作確認済み:-)

これで Mac な人は sudo port install cherokee だけで cherokee が使えるようになります。
デフォルトが /opt/var/www になっていますが、設定ファイルで変えられますので気にしない。

man cherokee も使えるようになるよ!(あたりまえ

少しリファクタリングしたら 野良Ports にコミット予定
「Django, lighttpd and FastCGI」 ではなく 「Django, Cherokee and SCGI」 で。

プロセス起動(/etc/init.d/cherokee start みたいなの)

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.cherokee.plist

プロセス確認(インストールして初回だけ確認してみてくださいまし)

$ sudo launchctl list | grep -i cherokee

プロセス停止(/etc/init.d/cherokee stop みたいなの)

$ sudo launchctl unload -w /Library/LaunchDaemons/org.macports.cherokee.plist

起動したら localhost を(Apache とか lighttpd 動かしてたらいかんぜよ)確認してください。

# $Id: 

PortSystem 1.0
name              cherokee
version           0.5.6
categories        www
maintainers       nomaintainer@macports.org
description       Cherokee is a very fast, flexible and easy to configure Web Server.
long_description  Cherokee is a very fast, flexible and easy to configure Web Server. \
                  It supports the widespread technologies nowadays: \
                  FastCGI, SCGI, PHP, CGI, TLS and SSL encrypted connections, \
                  Virtual hosts, Authentication, on the fly encoding, \
                  Apache compatible log files.
homepage          http://www.cherokee-project.com
master_sites      ${homepage}/download/0.5/${version}/
checksums         ${distname}.tar.gz \
                    md5 0c5ae67c296f7e080900b23e533efd0b \
                    sha1 5e437c2315782bc6ac1d98f8db3b7838313a229a \
                    rmd160 fd5661449bd845e3be1911490f02144a805f5c9f
depends_lib       port:pcre \
                  port:zlib
                  #port:sendfile

configure.args    --mandir=${prefix}/share/man \
                  --disable-tls 

# Startup item.
set cherokee_config_name   cherokee.conf
set cherokee_config        ${prefix}/etc/${name}/${cherokee_config_name}
set cherokee_pidfile_name  cherokee.pid
#set cherokee_pidfile       ${prefix}/var/run/${cherokee_pidfile_name}
set cherokee_pidfile       /var/run/${cherokee_pidfile_name}

startupitem.create  yes
startupitem.init    "PIDFILE=${cherokee_pidfile}"
startupitem.start   "${prefix}/sbin/cherokee -C ${cherokee_config}"
startupitem.stop    "kill \$(cat \$PIDFILE)"

platform darwin 8 {
  configure.env CC=/usr/bin/gcc-4.0 CPP=/usr/bin/cpp-4.0 CXX=/usr/bin/g++-4.0
}

variant no_ipv6 {
  configure.args-append --disable-ipv6
}

variant no_pam {
  configure.args-append --disable-pam
}

variant gnutls conflicts openssl {
  configure.args-append --enable-tls=gnutls \
                        --with-libgnutls-prefix=${prefix}
  depends_lib-append    port:gnutls
}

variant openssl conflicts gnutls {
  configure.args-append --enable-tls=openssl
  depends_lib-append    port:openssl
}

post-install {
  file mkdir "${prefix}/etc/${name}/mods-enabled"
  file mkdir "${prefix}/etc/${name}/ssl"
}

ふと思ったんですが +django なんて variants 作ってみたら面白いかも。
野良 Ports ならでは:-)

全面書き換え:-P

とてもシンプルになった。

もっと書き換え

port cat subversion を参考にしつつ。

バグ修正

unload が上手いこと動作しないのを修正。
cherokee.conf の pid 周りの設定を変えると startup まわりが正常動作せず。

TLS 周り修正

ssl は指定しないと使えないようにした。