aboutsummaryrefslogtreecommitdiffstats
path: root/www/tdiary/Makefile
blob: b6d7d165b0c8690039d7cfcb94c2059996b39a74 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Created by: Fumihiko Kimura <jfkimura@yahoo.co.jp>
# $FreeBSD$

PORTNAME=   tdiary
PORTVERSION=    4.0.1
CATEGORIES?=    www ruby
MASTER_SITES=   http://www.tdiary.org/download/
DISTNAME=   ${PORTNAME}-full-v${PORTVERSION}

MAINTAINER= tota@FreeBSD.org
COMMENT=    Web-based diary system (like weblog) written in Ruby

LICENSE=    GPLv2

RUN_DEPENDS=    rubygem-fastimage>=1.5.0:${PORTSDIR}/graphics/rubygem-fastimage \
        hikidoc:${PORTSDIR}/textproc/ruby-hikidoc \
        rubygem-multi_json>=1.7.7:${PORTSDIR}/devel/rubygem-multi_json \
        rubygem-rack>=0:${PORTSDIR}/www/rubygem-rack

NO_BUILD=   yes
USE_RUBY=   yes
RUBY_REQUIRE=   Ruby >= 193

RUBY_SHEBANG_FILES= index.fcgi \
            index.rb \
            update.fcgi \
            update.rb \
            bin/tdiary \
            misc/convert2.rb \
            misc/migrate.rb \
            misc/plugin/amazon/amazonimg.rb \
            misc/plugin/squeeze.rb \
            misc/plugin/xmlrpc/xmlrpc.rb

DOCFILES=   HOWTO-authenticate-in-rack HOWTO-make-io \
        HOWTO-make-plugin HOWTO-make-theme \
        HOWTO-testing-tDiary HOWTO-use-plugin \
        HOWTO-write-tDiary.en HOWTO-write-tDiary \
        INSTALL-paas INSTALL README.en \
        README UPGRADE
HTML=   ${DOCFILES:S/$/.html/}
MD= ${DOCFILES:S/$/.md/}
PORTDOCS=   ChangeLog doc.css ${HTML} ${MD}

SUB_FILES=  pkg-message tdiaryinst.rb
SUB_LIST+=  TDIARY_LANG=${TDIARY_LANG} \
        TDIARY_SCRIPT=${TDIARY_SCRIPT}
WRKSRC=     ${WRKDIR}/${PORTNAME}-v${PORTVERSION}
DOCSDIR=    ${PREFIX}/share/doc/${UNIQUENAME}
WWWDIR=     ${PREFIX}/www/${UNIQUENAME}

TDIARY_SCRIPT=  ${UNIQUENAME}-inst.rb

#TDIARY_LANG    ja:Japanese en:English
.if !defined(TDIARY_LANG) || ( defined(TDIARY_LANG) && ${TDIARY_LANG} != ja )
TDIARY_LANG=    en
.endif

REINPLACE_ARGS= -i ''

OPTIONS_DEFINE= DOCS

.include <bsd.port.pre.mk>

.if ${RUBY_VER} == 1.9
.if !defined(RUBY_PROVIDED)
IGNORE= requires Ruby 1.9.3 or later
.endif
.endif

pre-patch:
    @${RM} ${WRKSRC}/.coveralls.yml
    @${RM} ${WRKSRC}/.gitignore
    @${RM} ${WRKSRC}/.travis.yml
    @${RM} ${WRKSRC}/Gemfile
    @${RM} ${WRKSRC}/Gemfile.lock
    @${RM} ${WRKSRC}/LICENSE
    @${RM} ${WRKSRC}/Procfile
    @${RM} ${WRKSRC}/Rakefile
    @${RM} ${WRKSRC}/config.ru
    @${RM} -r ${WRKSRC}/.bundle
    @${RM} -r ${WRKSRC}/misc/lib/bundler-1.3.5
    @${RM} -r ${WRKSRC}/public
    @${RM} -r ${WRKSRC}/spec
    @${RM} -r ${WRKSRC}/test
    @${RM} -r ${WRKSRC}/vendor
    @${MV} ${WRKSRC}/ChangeLog ${WRKSRC}/doc
    @${MV} ${WRKSRC}/README.md ${WRKSRC}/doc

post-patch:
    @${RUBY} -i -pe "sub %r|(.*< ::Rack::Request)|, %Q|\trequire 'rack'\n\\\1|" ${WRKSRC}/tdiary/request.rb

pre-install:
    @${SED} -e 's,#!/usr/bin/env ruby,#!${RUBY},' \
        ${WRKDIR}/tdiaryinst.rb > ${WRKDIR}/${TDIARY_SCRIPT}
    @${REINPLACE_CMD} '/#!\/usr\/bin\/env ruby/d' ${WRKSRC}/misc/convert2.rb
    @${REINPLACE_CMD} '/#!\/usr\/bin\/env ruby/d' ${WRKSRC}/misc/migrate.rb

do-install:
    @${INSTALL_SCRIPT} ${WRKDIR}/${TDIARY_SCRIPT} ${STAGEDIR}${PREFIX}/bin
    @-${MKDIR} ${STAGEDIR}${WWWDIR}
    @${TAR} --exclude "doc" -C ${WRKSRC} -cf - . | ${TAR} --unlink -C ${STAGEDIR}${WWWDIR} -xf -

post-install:
    @${ECHO_CMD} '@exec ${CHOWN} -R ${WWWOWN}:${WWWGRP} ${WWWDIR}' >> ${TMPPLIST}
    @${ECHO_CMD} bin/${TDIARY_SCRIPT} >> ${TMPPLIST}
.if ${PORT_OPTIONS:MDOCS}
    @${INSTALL} -d ${STAGEDIR}${DOCSDIR}
    @cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
.endif
    @${CAT} ${PKGMESSAGE}

x-generate-plist:
    ${FIND} ${WWWDIR} -type f -o -type l | ${SORT} | ${SED} -e 's,${WWWDIR},%%WWWDIR%%,g' > pkg-plist.new
    ${FIND} ${WWWDIR} -type d -depth | ${SORT} -r | ${SED} -e 's,${WWWDIR},@dirrm %%WWWDIR%%,g' >> pkg-plist.new

.include <bsd.port.post.mk>