1 # $NetBSD: Makefile,v 1.10 2011/06/10 21:57:06 obache Exp $
4 DISTNAME= InspIRCd-1.2.0
5 PKGNAME= ${DISTNAME:S/InspIRCd/inspircd/}
8 MASTER_SITES= http://www.inspircd.org/downloads/
11 MAINTAINER= pkgsrc-users@NetBSD.org
12 HOMEPAGE= http://www.inspircd.org/
13 COMMENT= Modular C++ IRC Daemon
15 PKG_DESTDIR_SUPPORT= user-destdir
17 CONFLICTS+= inspircd<1.2.0
19 USE_TOOLS+= perl:build gmake pkg-config
20 REPLACE_PERL+= .inspircd.inc configure make/run-cc.pl
22 WRKSRC= ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/}
24 CONFIG_SHELL= ${PERL5}
26 PLIST_SRC= ${WRKDIR}/.PLIST_SRC
27 RCD_SCRIPTS+= inspircd
28 PKG_SYSCONFSUBDIR= inspircd
29 MAKE_FILE= GNUmakefile
31 FILES_SUBST+= INSPIRCD_USER=${INSPIRCD_USER:Q}
32 FILES_SUBST+= INSPIRCD_GROUP=${INSPIRCD_GROUP:Q}
34 .include "../../mk/bsd.prefs.mk"
36 EGDIR= ${PREFIX}/share/examples/inspircd
37 EXTRA= ${WRKSRC}/src/modules/extra
40 CONF_FILES_PERMS= ${EGDIR}/inspircd.conf.example \
41 ${PKG_SYSCONFDIR}/inspircd.conf \
42 ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 0400
43 CONF_FILES_PERMS+= ${EGDIR}/modules.conf.example \
44 ${PKG_SYSCONFDIR}/modules.conf \
45 ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 0400
47 PKG_USERS_VARS= INSPIRCD_USER
48 PKG_GROUPS_VARS= INSPIRCD_GROUP
50 PKG_GROUPS= ${INSPIRCD_GROUP:Q}
51 PKG_USERS= ${INSPIRCD_USER:Q}:${INSPIRCD_GROUP:Q}
53 PKG_GECOS.${INSPIRCD_USER}= InspIRCd user
55 CONFIGURE_ARGS+= --disable-interactive
56 CONFIGURE_ARGS+= --prefix=${PREFIX}/share/inspircd
57 CONFIGURE_ARGS+= --config-dir=${PKG_SYSCONFDIR}
58 CONFIGURE_ARGS+= --binary-dir=${PREFIX}/bin
59 CONFIGURE_ARGS+= --library-dir=${PREFIX}/lib/inspircd
60 CONFIGURE_ARGS+= --module-dir=${PREFIX}/share/inspircd/modules
65 SUBST_STAGE.conf= pre-configure
66 SUBST_FILES.conf= conf/inspircd.conf.example
67 SUBST_SED.conf+= -e "s|/path/to/inspircd.pid|${VARBASE}/run/inspircd/inspircd.pid|g"
68 SUBST_MESSAGE.conf= Fixing configuration files.
70 SUBST_CLASSES+= install
71 SUBST_STAGE.install= post-configure
72 SUBST_FILES.install= GNUmakefile
73 SUBST_SED.install+= -e "s|-cp conf|\#-cp conf|g"
74 SUBST_MESSAGE.install= Fixing installation files.
76 BUILD_DEFS+= INSPIRCD_USER INSPIRCD_GROUP VARBASE
78 MAKE_DIRS+= ${VARBASE}/log
79 OWN_DIRS_PERMS+= ${VARBASE}/run/inspircd \
80 ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 750
82 INSPIRCD_USER?= inspircd
83 INSPIRCD_GROUP?= inspircd
85 CHECK_BUILTIN.openssl:=yes
86 .include "../../security/openssl/builtin.mk"
87 CHECK_BUILTIN.openssl:=no
90 ${MV} ${WRKDIR}/inspircd ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/}
91 .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && !empty(PKG_OPTIONS:Mssl)
92 ${CP} ${FILESDIR}/openssl.pc ${WRKSRC}/openssl.pc
93 SUBST_FILES.conf+= ${WRKSRC}/openssl.pc
94 SUBST_SED.conf+= -e "s|@SSLBASE@|${BUILDLINK_PREFIX.openssl}|g"
95 SUBST_SED.conf+= -e "s|@SSLVER@|${BUILTIN_VERSION.openssl}|g"
99 .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && !empty(PKG_OPTIONS:Mssl)
100 ${MKDIR} ${BUILDLINK_DIR}/lib/pkgconfig
101 ${CP} ${WRKSRC}/openssl.pc ${BUILDLINK_DIR}/lib/pkgconfig
104 . for f in ${MODULES}
105 ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f}
109 . for f in ${HEADERS}
110 ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f}
115 ${CP} ${PKGDIR}/PLIST ${WRKDIR}/.PLIST_SRC
117 . for f in ${MODULES}
118 ${ECHO} share/inspircd/modules/${f} | \
119 ${SED} -e "s|\\.cpp|\\.so|g" >> ${WRKDIR}/.PLIST_SRC
123 INSTALLATION_DIRS+= bin ${EGDIR}/aliases ${EGDIR}/sql
125 CONF_FILES_PERMS+= /dev/null ${VARBASE}/log/inspircd.log \
126 ${INSPIRCD_USER} ${INSPIRCD_GROUP} 0640
129 ${INSTALL_DATA} ${WRKSRC}/conf/inspircd.* ${DESTDIR}${EGDIR}
130 ${INSTALL_DATA} ${WRKSRC}/conf/modules.* ${DESTDIR}${EGDIR}
131 ${INSTALL_DATA} ${WRKSRC}/conf/aliases/*.example ${DESTDIR}${EGDIR}/aliases
132 ${INSTALL_DATA} ${WRKSRC}/conf/inspircd.conf.example ${DESTDIR}${EGDIR}
133 ${INSTALL_DATA} ${WRKSRC}/extras/m_*.sql ${DESTDIR}${EGDIR}/sql
135 .include "../../mk/bsd.pkg.mk"