1 # $NetBSD: Makefile,v 1.25 2012/03/03 12:54:15 wiz Exp $
4 DISTNAME= InspIRCd-1.1.23
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 USE_TOOLS+= perl:build gmake pkg-config
18 REPLACE_PERL+= .inspircd.inc configure
20 WRKSRC= ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/}
22 CONFIG_SHELL= ${PERL5}
24 PLIST_SRC= ${WRKDIR}/.PLIST_SRC
25 RCD_SCRIPTS+= inspircd
26 PKG_SYSCONFSUBDIR= inspircd
28 FILES_SUBST+= INSPIRCD_USER=${INSPIRCD_USER:Q}
29 FILES_SUBST+= INSPIRCD_GROUP=${INSPIRCD_GROUP:Q}
31 .include "../../mk/bsd.prefs.mk"
33 EGDIR= ${PREFIX}/share/examples/inspircd
34 EXTRA= ${WRKSRC}/src/modules/extra
37 CONF_FILES_PERMS= ${EGDIR}/inspircd.conf.example \
38 ${PKG_SYSCONFDIR}/inspircd.conf \
39 ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 0400
41 PKG_USERS_VARS= INSPIRCD_USER
42 PKG_GROUPS_VARS= INSPIRCD_GROUP
44 PKG_GROUPS= ${INSPIRCD_GROUP:Q}
45 PKG_USERS= ${INSPIRCD_USER:Q}:${INSPIRCD_GROUP:Q}
47 PKG_GECOS.${INSPIRCD_USER}= InspIRCd user
49 CONFIGURE_ARGS+= --disable-interactive
50 CONFIGURE_ARGS+= --prefix=${PREFIX}/share/inspircd
51 CONFIGURE_ARGS+= --config-dir=${PKG_SYSCONFDIR}
52 CONFIGURE_ARGS+= --binary-dir=${PREFIX}/bin
53 CONFIGURE_ARGS+= --library-dir=${PREFIX}/lib/inspircd
54 CONFIGURE_ARGS+= --module-dir=${PREFIX}/share/inspircd/modules
56 CONFIGURE_ARGS+= --with-nick-length=${INSP_NICLEN:Q}
57 CONFIGURE_ARGS+= --with-channel-length=${INSP_CHANLEN:Q}
58 CONFIGURE_ARGS+= --with-max-clients=${INSP_MAXCLI:Q}
59 CONFIGURE_ARGS+= --with-ident-length=${INSP_MAXIDENT:Q}
60 CONFIGURE_ARGS+= --with-quit-length=${INSP_MAXQUIT:Q}
61 CONFIGURE_ARGS+= --with-topic-length=${INSP_MAXTOPIC:Q}
62 CONFIGURE_ARGS+= --with-kick-length=${INSP_MAXKICK:Q}
63 CONFIGURE_ARGS+= --with-gecos-length=${INSP_MAXGECOS:Q}
64 CONFIGURE_ARGS+= --with-away-length=${INSP_MAXAWAY:Q}
65 CONFIGURE_ARGS+= --with-max-modes=${INSP_MAXMODES:Q}
70 SUBST_STAGE.conf= pre-configure
71 SUBST_FILES.conf= docs/inspircd.conf.example
72 SUBST_SED.conf+= -e "s|/path/to/inspircd.pid|${VARBASE}/run/inspircd/inspircd.pid|g"
73 SUBST_MESSAGE.conf= Fixing configuration files.
76 SUBST_STAGE.make= pre-configure
77 SUBST_FILES.make= configure make/utilities.pm
78 SUBST_SED.make+= -e "s|-Wl,--rpath|${COMPILER_RPATH_FLAG}|g"
79 SUBST_MESSAGE.make= Fixing Makefiles.
81 BUILD_DEFS+= INSP_NICLEN INSP_CHANLEN INSPIRCD_USER INSPIRCD_GROUP
82 BUILD_DEFS+= INSP_MAXCLI INSP_MAXIDENT INSP_MAXQUIT INSP_MAXTOPIC
83 BUILD_DEFS+= INSP_MAXKICK INSP_MAXGECOS INSP_MAXAWAY INSP_MAXMODES
86 MAKE_DIRS+= ${VARBASE}/log
87 OWN_DIRS_PERMS+= ${VARBASE}/run/inspircd \
88 ${INSPIRCD_USER:Q} ${INSPIRCD_GROUP:Q} 750
90 INSPIRCD_USER?= inspircd
91 INSPIRCD_GROUP?= inspircd
93 # from a default ./configure
105 CHECK_BUILTIN.openssl:=yes
106 .include "../../security/openssl/builtin.mk"
107 CHECK_BUILTIN.openssl:=no
110 ${MV} ${WRKDIR}/inspircd ${WRKDIR}/${DISTNAME:S/InspIRCd/inspircd/}
111 .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && !empty(PKG_OPTIONS:Mssl)
112 ${CP} ${FILESDIR}/openssl.pc ${WRKSRC}/openssl.pc
113 SUBST_FILES.conf+= ${WRKSRC}/openssl.pc
114 SUBST_SED.conf+= -e "s|@SSLBASE@|${BUILDLINK_PREFIX.openssl}|g"
115 SUBST_SED.conf+= -e "s|@SSLVER@|${BUILTIN_VERSION.openssl}|g"
119 .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) && !empty(PKG_OPTIONS:Mssl)
120 ${MKDIR} ${BUILDLINK_DIR}/lib/pkgconfig
121 ${CP} ${WRKSRC}/openssl.pc ${BUILDLINK_DIR}/lib/pkgconfig
124 . for f in ${MODULES}
125 ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f}
129 . for f in ${HEADERS}
130 ${CP} ${EXTRA}/${f} ${WRKSRC}/src/modules/${f}
135 ${CP} ${PKGDIR}/PLIST ${WRKDIR}/.PLIST_SRC
137 . for f in ${MODULES}
138 ${ECHO} share/inspircd/modules/${f} | \
139 ${SED} -e "s|\\.cpp|\\.so|g" >> ${WRKDIR}/.PLIST_SRC
143 INSTALLATION_DIRS+= bin ${EGDIR}/aliases ${EGDIR}/sql
145 CONF_FILES_PERS+= /dev/null ${VARBASE}/log/inspircd.log \
146 ${INSPIRCD_USER}:${INSPIRCD_GROUP} 0640
149 ${INSTALL_DATA} ${WRKSRC}/conf/inspircd.* ${DESTDIR}${EGDIR}
150 ${INSTALL_DATA} ${WRKSRC}/conf/aliases/*.example ${DESTDIR}${EGDIR}/aliases
151 ${INSTALL_DATA} ${WRKSRC}/docs/inspircd.conf.example ${DESTDIR}${EGDIR}
152 ${INSTALL_DATA} ${WRKSRC}/extras/m_*.sql ${DESTDIR}${EGDIR}/sql
154 .include "../../mk/bsd.pkg.mk"