aboutsummaryrefslogblamecommitdiff
path: root/news/cnews/Makefile
blob: 42419d2823c75e9dd9242e1c988352eaca7a6167 (plain) (tree)
1
2
3
4
5
6
7
8
9
                  
 

                     
                  
                    

                                                         
                                                             

                                                    
                      
                                            
                                  
                                          
 
                                                
                                                             
                                                                




                                                                 
                                    
                                         
                                    
                                 
 
                                  
                           
 

                                   
 

                           
                     
                     
                                
 
                           
                   
                        
                           

                                                                        
                         
                                                                  


                                                                       

                                                                             



                                                                          

                                  





                                                                 
                                                
 
                                 

                      
                                          
                                                 

                                                    



                                                         
 
                    
                                       

                                   
                                         
                              
 
                              
 
                             


                                          
          


                                                            
 



                                                                                 
              

                                                              





                                                                          
                              
       







                                                                               



                                                   
 
           







                                                                                       


                                                                                  





                                                                                 
       



                                                          

                                                                  
                                            
       
 
     

                                                             
 
                      
# Created by: adam

PORTNAME=	cnews
PORTVERSION=	cr.g
PORTREVISION=	18
CATEGORIES=	news
MASTER_SITES=	ftp://ftp.cs.toronto.edu/pub/c-news/ \
		ftp://ftp.funet.fi/pub/unix/news/cnews/ \
		ftp://ftp.redcom.ru/pub/unix/usenet/c-news/ \
		ftp://ftp.dinoex.org/pub/c-news/ \
		ftp://ftp.dinoex.org/pub/c-news/:pgp
DISTNAME=	c-news
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \
		pgpverify-1.29:pgp
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}

PATCH_SITES=	ftp://ftp.dinoex.org/pub/c-news/
PATCHFILES=	c-news-patch-fileart.c c-news-patch-namelen \
		c-news-patch-newsrun c-news-patch-sendbatches2 \
		c-news-patch-ctl-pgp3 c-news-patch-ctl-more \
		c-news-patch-ctl-regexp \
		c-news-patch-doexpire c-news-patch-queuelen.tay \
		c-news-patch-bunzip2 \
		c-news-patch-ctl-underscore \
		c-news-patch-y2k-2 \
		c-news-patch-inews-path \
		c-news-patch-gawk3 \
		c-news-patch-ansi

MAINTAINER=	dinoex@FreeBSD.org
COMMENT=	News server

LICENSE=	BSD2CLAUSE
LICENSE_FILE=	${WRKSRC}/COPYRIGHT

MAKE_JOBS_UNSAFE=	yes

USES=		tar:Z
USE_CSTD=	gnu89
CFLAGS+=	-Wno-return-type

DIST_SUBDIR=	${DISTNAME}
NO_WRKSUBDIR=	yes
MAKEFILE=	makefile
SUB_FILES=	pkg-message
LMAN1=		checknews.1cn inews.1cn postnews.1cn readnews.1cn
LMAN5=		controlperm.5 news.5 newsctl.5 newsdb.5 newsoverview.5 \
		newssys.5
LMAN8=		cnewsdo.8cn expire.8cn explode.8cn mergeactive.8 \
		mkhistory.8cn newsaux.8cn newsbatch.8cn newsmail.8cn \
		newsmaint.8cn newsoverview.8 relaynews.8cn report.8cn \
		rnews.8cn
NO_EG_FILES=	active.times inews organization postdefltgroup readnews.ctl \
		readnews.help report.ctl versionname
NEWSCTL_FILES=	active active.times batchparms controlperm explist \
		history history.dir history.pag inews mailname mailpaths \
		organization postdefltgroup readnews.ctl readnews.help \
		report.ctl sys versionname whoami

SUB_LIST+=	NEWSCTL=${NEWSCTL}
PLIST_SUB+=	VARBASE=${VARBASE}
PLIST_SUB+=	NEWSBIN=${NEWSBIN:S=^${PREFIX}/==}
PLIST_SUB+=	NEWSCTL=${NEWSCTL:S=^${VARBASE}/==}
PLIST_SUB+=	NEWSCTLBASE=${NEWSCTL:S=/news==:S=^${VARBASE}/==}
PLIST_SUB+=	NEWSARTS=${NEWSARTS:S=^${VARBASE}/==}
PLIST_SUB+=	NEWSOV=${NEWSOV:S=^${VARBASE}/==}
PLIST_SUB+=	NEWSCTL_FILES="${NEWSCTL_FILES}"

OPTIONS_DEFINE=	SENDMAIL EXAMPLES
OPTIONS_DEFAULT=PGPGPG
OPTIONS_SINGLE=	VERIFY
OPTIONS_SINGLE_VERIFY=	PGPIN PGPGPG GPGPV
SENDMAIL_DESC=	use sendmail instead of /bin/mail
PGPIN_DESC=	use pgp-2.6.3in for control messages
PGPGPG_DESC=	use pgpgpg for control messages
GPGPV_DESC=	use gpgv from gnupg1 for control messages
PGPIN_RUN_DEPENDS=	pgpin:security/pgpin
PGPGPG_RUN_DEPENDS=	pgpgpg:security/pgpgpg
GPGPV_RUN_DEPENDS=	gpgv:security/gnupg1

VARBASE?=	/var
NEWSBIN?=	${PREFIX}/libexec/cnews
NEWSCTL?=	${VARBASE}/lib/news
NEWSARTS?=	${VARBASE}/news
NEWSOV?=	${VARBASE}/news/over.view
PGPVERIFY?=	pgpverify-1.29

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MSENDMAIL}
EXTRA_PATCHES+=	${FILESDIR}/sendmail.patch
.endif

pre-patch:
	${SED} -e 's|/usr/bin/perl|${LOCALBASE}/bin/perl|' \
		${DISTDIR}/${DIST_SUBDIR}/${PGPVERIFY} \
		> ${WRKSRC}/${PGPVERIFY}

post-patch:
	@${REINPLACE_CMD} -e 's/getline/get_line/g' ${WRKSRC}/readnews/active.c \
		${WRKSRC}/readnews/newsrc.c

pre-configure:
.for i in conf/quiz.def conf/substitutions include/config.make
	${REINPLACE_CMD} \
		-e "s=/usr/local/news/lib/bin/config=${NEWSBIN}/config=" \
		-e "s=/usr/local/news/cnewsbin=${NEWSBIN}=" \
		-e "s=/usr/local/news/lib=${NEWSCTL}=" \
		-e "s=/var/news/over.view=${NEWSOV}=" \
		-e "s=/var/news=${NEWSARTS}=" \
		-e "s=/usr/local/bin=${PREFIX}/bin=" \
		${WRKSRC}/${i}
.endfor
.if ${PORT_OPTIONS:MPGPIN}
	${REINPLACE_CMD} -e "s|'/usr/local/bin/pgp'|'/usr/local/bin/pgpin'|" \
		${WRKSRC}/${PGPVERIFY}
.endif
.if ${PORT_OPTIONS:MPGPGPG}
	${REINPLACE_CMD} -e "s|'/usr/local/bin/pgp'|'/usr/local/bin/pgpgpg'|" \
		${WRKSRC}/${PGPVERIFY}
.endif
.if ${PORT_OPTIONS:MGPGPV}
	${REINPLACE_CMD} -e "s|^# $$gpgv|$$gpgv|" \
		${WRKSRC}/${PGPVERIFY}
.endif

do-install:
	${INSTALL_DATA} ${WRKSRC}/libdbz/dbz.h ${STAGEDIR}${PREFIX}/include/
	${INSTALL_DATA} ${WRKSRC}/libcnews.a ${STAGEDIR}${PREFIX}/lib/
	${MKDIR} ${STAGEDIR}${NEWSARTS} ${STAGEDIR}${NEWSOV} \
		${STAGEDIR}${NEWSCTL} ${STAGEDIR}${NEWSBIN}
	${INSTALL_SCRIPT} ${WRKSRC}/${PGPVERIFY} ${STAGEDIR}${NEWSBIN}/pgpverify
	${INSTALL_SCRIPT} ${WRKSRC}/conf/config ${STAGEDIR}${NEWSBIN}/
	cd ${WRKSRC} && ${MAKE} ${MAKE_ARGS} ${MAKE_FLAGS} ${MAKEFILE} install
	cd ${WRKSRC} && ${MAKE} ${MAKE_ARGS} ${MAKE_FLAGS} ${MAKEFILE} ui readpostcheck
	cd ${WRKSRC}/man && ${INSTALL_MAN} ${LMAN1} ${STAGEDIR}${PREFIX}/man/man1/
	cd ${WRKSRC}/man && ${INSTALL_MAN} ${LMAN5} ${STAGEDIR}${PREFIX}/man/man5/
	cd ${WRKSRC}/man && ${INSTALL_MAN} ${LMAN8} ${STAGEDIR}${PREFIX}/man/man8/
.if ${PORT_OPTIONS:MEXAMPLES}
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/newsctl
	cd ${WRKSRC} && ${INSTALL_DATA} ${NO_EG_FILES:S,^,*/,} \
		${STAGEDIR}${EXAMPLESDIR}/newsctl/
.for f in active batchparms controlperm explist mailname mailpaths sys whoami
	cd ${WRKSRC} && ${CP} -p */${f}.eg ${STAGEDIR}${EXAMPLESDIR}/newsctl/${f}
.endfor
	${TOUCH} ${STAGEDIR}${EXAMPLESDIR}/newsctl/history
	cd ${STAGEDIR}${EXAMPLESDIR}/newsctl && \
		${STAGEDIR}${NEWSBIN}/dbz history
.endif
.for d in control junk news/announce/newusers news/announce news \
	in.coming/bad in.coming out.going out.master out.nntp
	${MKDIR} ${STAGEDIR}${NEWSARTS}/${d}
.endfor

test:
	(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
	${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} r)

.include <bsd.port.mk>