1 # $NetBSD: Makefile,v 1.17 2013/04/24 12:22:37 jperkin Exp $
4 DISTNAME= apache-couchdb-1.3.0
5 PKGNAME= ${DISTNAME:S/apache-//}
8 MASTER_SITES= ${MASTER_SITE_APACHE:=couchdb/source/1.3.0/}
10 MAINTAINER= filip@joyent.com
11 HOMEPAGE= http://couchdb.apache.org/
12 COMMENT= Document database server, accessible via a RESTful JSON API
16 VERSION.ibrowse= 2.2.0
17 VERSION.mochiweb= 1.4.1
26 BUILD_DEPENDS+= help2man-[0-9]*:../../converters/help2man
28 .include "../../mk/bsd.prefs.mk"
30 COUCH_DBDIR?= ${VARBASE}/db/couchdb
31 COUCH_EGDIR= ${PREFIX}/share/examples/couchdb
32 COUCH_LOGDIR?= ${VARBASE}/log/couchdb
34 COUCH_GROUP?= ${COUCH_USER}
36 PKG_GROUPS+= ${COUCH_GROUP}
37 PKG_USERS+= ${COUCH_USER}:${COUCH_GROUP}
38 PKG_GECOS.${COUCH_USER}=CouchDB Server User
39 PKG_HOME.${COUCH_USER}= ${COUCH_DBDIR}
40 PKG_SHELL.${COUCH_USER}=${COMMAND_SHELL}
42 # Solaris /var/run is root only
43 .if ${OPSYS} == "SunOS"
44 COUCH_RUNDIR?= ${VARBASE}/spool/couchdb
46 COUCH_RUNDIR?= ${VARBASE}/run/couchdb
49 OWN_DIRS= ${COUCH_LOGDIR} ${COUCH_DBDIR} ${COUCH_RUNDIR} ${PKG_SYSCONFDIR}
50 OWN_DIRS_PERMS+= ${COUCH_DBDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
51 OWN_DIRS_PERMS+= ${COUCH_LOGDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
52 OWN_DIRS_PERMS+= ${COUCH_RUNDIR} ${COUCH_USER} ${COUCH_GROUP} 0770
54 PKG_SYSCONFSUBDIR= couchdb
55 PKG_SYSCONFDIR_PERMS= ${COUCH_USER} ${COUCH_GROUP} 0775
56 CONF_FILES_PERMS+= ${COUCH_EGDIR}/default.ini ${PKG_SYSCONFDIR}/default.ini ${COUCH_USER} ${COUCH_GROUP} 0660
57 CONF_FILES_PERMS+= ${COUCH_EGDIR}/local.ini ${PKG_SYSCONFDIR}/local.ini ${COUCH_USER} ${COUCH_GROUP} 0660
59 CONFIGURE_ARGS+= --disable-init
60 CONFIGURE_ARGS+= --localstatedir=${VARBASE}
61 CONFIGURE_ARGS+= --with-erlang=${BUILDLINK_PREFIX.erlang}/lib/erlang/usr/include
62 CONFIGURE_ARGS+= --with-js-include=${BUILDLINK_PREFIX.spidermonkey}
63 CONFIGURE_ARGS+= --with-js-lib=${BUILDLINK_PREFIX.spidermonkey}
65 .if ${OPSYS} == "SunOS"
66 REPLACE_INTERPRETER+= sh
67 REPLACE.sh.old= /bin/sh
68 REPLACE.sh.new= /bin/ksh
69 REPLACE_FILES.sh= bin/couchdb.tpl.in
73 SUBST_MESSAGE.paths= Setting standard paths
74 SUBST_STAGE.paths= pre-configure
75 SUBST_FILES.paths+= configure bin/couchdb.tpl.in
76 SUBST_SED.paths= -e 's,@EGDIR@,${COUCH_EGDIR},g'
77 SUBST_SED.paths+= -e 's,@RUNDIR@,${COUCH_RUNDIR},g'
78 SUBST_SED.paths+= -e 's,@ERLANG_PREFIX@,${BUILDLINK_PREFIX.erlang},g'
80 # This works around libtool abuse installing "couchspawnkillable". Will
81 # hopefully get fixed properly upstream.
82 SUBST_CLASSES+= unstrip
83 SUBST_MESSAGE.unstrip= Avoiding trying to strip a shell script
84 SUBST_STAGE.unstrip= post-configure
85 SUBST_FILES.unstrip+= src/couchdb/priv/Makefile
86 SUBST_SED.unstrip= -e '/^INSTALL_PROGRAM =/s, -s,,'
88 PLIST_SUBST+= VERSION.ejson=${VERSION.ejson}
89 PLIST_SUBST+= VERSION.ibrowse=${VERSION.ibrowse}
90 PLIST_SUBST+= VERSION.mochiweb=${VERSION.mochiweb}
91 PLIST_SUBST+= VERSION.snappy=${VERSION.snappy}
93 .include "../../lang/erlang/buildlink3.mk"
94 .include "../../lang/spidermonkey/buildlink3.mk"
95 .include "../../security/openssl/buildlink3.mk"
96 .include "../../textproc/icu/buildlink3.mk"
97 .include "../../www/curl/buildlink3.mk"
98 .include "../../mk/bsd.pkg.mk"