update Sat Jan 16 06:37:00 PST 2010
[pkgsrc.git] / news / inn / Makefile
1 # $NetBSD: Makefile,v 1.101 2010/01/16 09:46:16 spz Exp $
2
3 DISTNAME=               inn-2.5.1
4 PKGREVISION=            1
5 CATEGORIES=             news
6 MASTER_SITES=           ftp://ftp.isc.org/isc/inn/ \
7                         ftp://ftp.fu-berlin.de/unix/news/inn/
8
9 MAINTAINER=             spz@NetBSD.org
10 HOMEPAGE=               http://www.isc.org/software/inn/
11 COMMENT=                The public release of InterNet News (INN)
12 LICENSE=                modified-bsd AND gnu-gpl-v2
13
14 CONFLICTS+=             libradius-[0-9]* nntpclnt-[0-9]*
15
16 .include "Makefile.common"
17
18 BUILD_DEFS+=            INN_DATA_DIR
19 BUILD_DEFS+=            VARBASE
20
21 FILES_SUBST+=           INN_DATA_DIR=${INN_DATA_DIR:Q}
22
23 BUILD_DEFS+=            INN_PATHBIN
24 FILES_SUBST+=           INN_PATHBIN=${PREFIX}/${INN_PATHBIN:Q}
25
26 MESSAGE_SUBST+=         INN_PATHBIN=${INN_PATHBIN:Q}
27
28 PLIST_SUBST+=           INN_PATHBIN=${INN_PATHBIN:Q}
29
30 GNU_CONFIGURE=          YES
31 GNU_CONFIGURE_PREFIX=   ${INN_PREFIX}
32 GNU_CONFIGURE_MANDIR=   ${PREFIX}/${PKGMANDIR}
33 CONFIGURE_ARGS+=        --enable-setgid-inews                           \
34                         --enable-largefiles                             \
35                         --bindir=${PREFIX}/${INN_PATHBIN}               \
36                         --sbindir=${PREFIX}/${INN_PATHBIN}              \
37                         --sysconfdir=${PREFIX}/etc/inn                  \
38                         --with-openssl=${SSLBASE:Q}                     \
39                         --with-doc-dir=${PREFIX}/share/doc/inn          \
40                         --with-control-dir=${PREFIX}/${INN_PATHBIN}/control \
41                         --with-filter-dir=${PREFIX}/${INN_PATHBIN}/filter \
42                         --with-tmp-dir=${INN_DATA_DIR}/tmp              \
43                         --with-db-dir=${INN_DATA_DIR}/db                \
44                         --with-http-dir=${INN_DATA_DIR}/http            \
45                         --with-log-dir=${INN_DATA_DIR}/log              \
46                         --with-run-dir=${INN_DATA_DIR}/run              \
47                         --includedir=${PREFIX}/include                  \
48                         --with-spool-dir=${INN_SPOOL:Q}                 \
49                         --with-news-user=${INN_USER:Q}                  \
50                         --with-news-group=${INN_GROUP:Q}
51 CONFIGURE_ENV+=         _PATH_AWK=${TOOLS_AWK:Q}
52 CONFIGURE_ENV+=         _PATH_EGREP=${TOOLS_EGREP:Q}
53 CONFIGURE_ENV+=         _PATH_SED=${TOOLS_SED:Q}
54 CONFIGURE_ENV+=         _PATH_SH=${TOOLS_SH:Q}
55 CONFIGURE_ENV+=         _PATH_SORT=${TOOLS_SORT:Q}
56 CONFIGURE_ENV+=         GZIP=${TOOLS_GZIP_CMD:Q}
57 USE_TOOLS+=             awk egrep gzip perl:run sed sh sort yacc
58
59 LDFLAGS.SunOS+= -lsocket -lnsl
60
61 DEPENDS+=               p5-MIME-tools>0:../../mail/p5-MIME-tools
62 DEPENDS+=               p5-GD>0:../../graphics/p5-GD
63 DEPENDS+=               gnupg>0:../../security/gnupg
64
65 ## Please note that USE_DESTDIR=yes only works for this package if the user
66 ## and group already exist
67
68 PKG_USERS_VARS+=        INN_USER
69 PKG_GROUPS_VARS+=       INN_GROUP
70
71 PKG_GROUPS+=            ${INN_GROUP}
72 PKG_USERS+=             ${INN_USER}:${INN_GROUP}
73 PKG_GECOS.${INN_USER}=  Internet\ News
74 PKG_HOME.${INN_USER}=   ${INN_DATA_DIR}
75 PKG_SHELL.${INN_USER}=  ${SH}
76
77 PKG_SYSCONFDIR.inn=     ${PREFIX}/etc/inn
78 EXAMPLEDIR=             ${PREFIX}/share/examples/inn
79 INN_DATADIRS=           log log/OLD run tmp db spool http
80 INN_SPOOLDIRS=          archive articles overview incoming incoming/bad \
81                         outgoing uniover innfeed
82
83 INSTALLATION_DIRS+=     etc/nntp
84 INSTALLATION_DIRS+=     sbin
85 INSTALLATION_DIRS+=     bin
86 INSTALLATION_DIRS+=     ${EXAMPLEDIR}
87
88 MAKE_DIRS+=             ${PREFIX}/bin
89 MAKE_DIRS+=             ${PREFIX}/sbin
90 MAKE_DIRS+=             ${PREFIX}/lib
91
92 INN_DIRS+=              ${PREFIX}/etc/nntp
93 INN_DIRS+=              ${PREFIX}/etc/inn
94 INN_DIRS+=              ${INN_DATA_DIR}
95
96 OWN_DIRS+=              ${PREFIX}/${INN_PATHBIN}
97 OWN_DIRS+=              ${EXAMPLEDIR}
98
99 .for dir in ${INN_DIRS}
100 OWN_DIRS_PERMS+=        ${dir}  ${INN_USER} ${INN_GROUP} 0775
101 .endfor
102 .for dir in ${INN_DATADIRS}
103 MAKE_DIRS_PERMS+=       ${INN_DATA_DIR}/${dir}  ${INN_USER} ${INN_GROUP} 0775
104 .endfor
105 .for dir in ${INN_SPOOLDIRS}
106 MAKE_DIRS_PERMS+=       ${INN_DATA_DIR}/spool/${dir} \
107                                                 ${INN_USER} ${INN_GROUP} 0775
108 .endfor
109
110 CFILES=                 actsync.cfg actsync.ign buffindexed.conf \
111                         control.ctl control.ctl.local cycbuff.conf \
112                         distrib.pats distributions \
113                         expire.ctl incoming.conf inn.conf innfeed.conf \
114                         innreport.conf innwatch.ctl \
115                         localgroups moderators \
116                         motd.news news2mail.cf newsfeeds nnrpd.track \
117                         nntpsend.ctl nocem.ctl ovdb.conf passwd.nntp \
118                         radius.conf readers.conf send-uucp.cf \
119                         storage.conf subscriptions
120 .for file in ${CFILES}
121 CONF_FILES_PERMS+=      ${EXAMPLEDIR}/${file} ${PKG_SYSCONFDIR}/${file} \
122                         ${INN_USER} ${INN_GROUP} 0664
123 .endfor
124
125 CONF_FILES_PERMS+=      ${EXAMPLEDIR}/active.minimal ${INN_DATA_DIR}/db/active ${INN_USER} ${INN_GROUP} 0664
126 CONF_FILES_PERMS+=      ${EXAMPLEDIR}/newsgroups.minimal ${INN_DATA_DIR}/db/newsgroups ${INN_USER} ${INN_GROUP} 0664
127
128 DBFILES=                active.times history
129
130 HTTPFILES=              innreport.css
131
132 CONF_FILES_PERMS+=      ${EXAMPLEDIR}/innreport.css ${INN_DATA_DIR}/http/innreport.css ${INN_USER} ${INN_GROUP} 0664
133
134 .for file in ${DBFILES}
135 CONF_FILES_PERMS+=      ${EXAMPLEDIR}/${file} ${INN_DATA_DIR}/db/${file} \
136                         ${INN_USER} ${INN_GROUP} 0664
137 .endfor
138
139 RCD_SCRIPTS=            innd
140
141 PKG_DESTDIR_SUPPORT=    destdir
142
143 .include "../../mk/bsd.prefs.mk"
144
145 .if ${OPSYS} == "SunOS"
146 CONFIGURE_ARGS+=        --with-sendmail=/usr/lib/sendmail
147 .else
148 CONFIGURE_ARGS+=        --with-sendmail=/usr/sbin/sendmail
149 .endif
150
151 .if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
152 GCC_REQD+=              2.95.3
153 .endif
154
155 .include "options.mk"
156
157 pre-install:
158         for FILE in ${CFILES} active.minimal newsgroups.minimal; do     \
159                 ${INSTALL_DATA} ${WRKSRC}/site/$$FILE                   \
160                                         ${DESTDIR}${EXAMPLEDIR};        \
161         done
162         for FILE in ${DBFILES} ${HTTPFILES}; do                         \
163                 ${TOUCH} ${WRKSRC}/site/$$FILE ;                        \
164                 ${INSTALL_DATA} ${WRKSRC}/site/$$FILE                   \
165                                         ${DESTDIR}${EXAMPLEDIR};        \
166         done
167
168 post-install:
169         for FILE in cnfsstat ctlinnd makehistory innbind; do            \
170                 ${RM} -f ${DESTDIR}${PREFIX}/sbin/$$FILE ;              \
171                 ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/$$FILE      \
172                                 ${DESTDIR}${PREFIX}/sbin ;              \
173         done
174         ${RM} -f ${DESTDIR}${PREFIX}/sbin/inews ;
175         ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/inews               \
176                         ${DESTDIR}${PREFIX}/bin
177         ${RM} -f ${DESTDIR}${PREFIX}/sbin/rnews ;
178         ${LN} -s ${DESTDIR}${PREFIX}/${INN_PATHBIN}/rnews               \
179                         ${DESTDIR}${PREFIX}/bin
180         for FILE in libinn.a libstorage.a libinnhist.a ; do             \
181                 ${CHMOD} 644 ${DESTDIR}${PREFIX}/lib/$$FILE ;           \
182         done
183
184 .include "../../security/openssl/buildlink3.mk"
185 .include "../../mk/bsd.pkg.mk"