update Sun Jun 13 18:37:00 PDT 2010
[pkgsrc.git] / print / cups / Makefile
1 # $NetBSD: Makefile,v 1.166 2010/06/13 22:45:14 wiz Exp $
2 #
3 # The CUPS author is very good about taking back changes into the main
4 # CUPS distribution.  The correct place to send patches or bug-fixes is:
5 # cups-bugs@cups.org.
6
7 DISTNAME=       cups-${DIST_VERS}-source
8 PKGNAME=        cups-${DIST_VERS:S/-/./g}
9 BASE_VERS=      1.4.3
10 DIST_VERS=      ${BASE_VERS}
11 PKGREVISION=    5
12
13 CATEGORIES=     print
14 MASTER_SITES=   http://ftp.easysw.com/pub/cups/${BASE_VERS}/ \
15                 ftp://ftp.easysw.com/pub/cups/${BASE_VERS}/ \
16                 ftp://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/cups/${BASE_VERS}/
17 EXTRACT_SUFX=   .tar.bz2
18
19 MAINTAINER=     sbd@NetBSD.org
20 HOMEPAGE=       http://www.cups.org/
21 COMMENT=        Common UNIX Printing System
22 LICENSE=        gnu-gpl-v2 AND gnu-lgpl-v2
23
24 PKG_DESTDIR_SUPPORT=    user-destdir
25
26 CONFLICTS+=     LPRng-[0-9]* LPRng-core-[0-9]*
27
28 #PKG_INSTALLATION_TYPES=        overwrite pkgviews
29
30 WRKSRC=                 ${WRKDIR}/cups-${BASE_VERS}
31 UNLIMIT_RESOURCES=      datasize memorysize
32 USE_LANGUAGES=          c c++   # pdftops is a C++ application
33 USE_PKGLOCALEDIR=       yes
34 USE_TOOLS+=             aclocal autoconf automake gmake
35 USE_LIBTOOL=            yes
36 INSTALL_TARGET=         installcups
37 # patch-a[jkl] were added for 2.60
38 AUTOCONF_REQD=          2.60
39
40 GNU_CONFIGURE=          yes
41 CONFIGURE_ARGS+=        --localedir=${PREFIX}/${PKGLOCALEDIR}/locale
42 CONFIGURE_ARGS+=        --sysconfdir=${PKG_SYSCONFBASEDIR:Q}
43 CONFIGURE_ARGS+=        --localstatedir=${VARBASE:Q}
44 CONFIGURE_ARGS+=        --with-cachedir=${CUPS_CACHE:Q}
45 CONFIGURE_ARGS+=        --with-docdir=${PREFIX}/share/doc/cups
46 CONFIGURE_ARGS+=        --with-serverbindir=${PREFIX}/libexec/cups
47 CONFIGURE_ARGS+=        --with-cups-user=${CUPS_USER:Q}
48 CONFIGURE_ARGS+=        --with-cups-group=${CUPS_GROUP:Q}
49 CONFIGURE_ARGS+=        --with-system-groups=${CUPS_SYSTEM_GROUPS:Q}
50 CONFIGURE_ARGS+=        --enable-libpaper
51 CONFIGURE_ARGS+=        --enable-libtool
52 CONFIGURE_ARGS+=        --enable-jpeg
53 CONFIGURE_ARGS+=        --enable-png
54 CONFIGURE_ARGS+=        --enable-tiff
55 CONFIGURE_ARGS+=        --enable-ssl
56 CONFIGURE_ARGS+=        --enable-openssl
57 CONFIGURE_ARGS+=        --enable-bannertops
58 CONFIGURE_ARGS+=        --enable-texttops
59 CONFIGURE_ARGS+=        --with-manext=bsd
60 CONFIGURE_ARGS+=        --without-icondir
61 CONFIGURE_ARGS+=        --without-menudir
62 CONFIGURE_ARGS+=        --without-perl
63 CONFIGURE_ARGS+=        --without-php
64 CONFIGURE_ARGS+=        --without-python
65 CONFIGURE_ARGS+=        --without-java
66
67 CONFIGURE_ENV+=         DSOFLAGS=${LDFLAGS:M*:Q}
68
69 .include "../../mk/bsd.prefs.mk"
70 .include "options.mk"
71
72 # CUPS_USER     username of the CUPS administrator
73 # CUPS_GROUP    group of the CUPS administrator
74 #
75 CUPS_USER?=             lp
76 CUPS_GROUP?=            lp
77 CUPS_SYSTEM_GROUPS?=    ${REAL_ROOT_GROUP}
78 FILES_SUBST+=           CUPS_USER=${CUPS_USER:Q}
79 FILES_SUBST+=           CUPS_GROUP=${CUPS_GROUP:Q}
80 FILES_SUBST+=           CUPS_SYSTEM_GROUPS=${CUPS_SYSTEM_GROUPS:Q}
81
82 PKG_GROUPS_VARS+=       CUPS_GROUP CUPS_SYSTEM_GROUPS
83 PKG_USERS_VARS+=        CUPS_USER
84
85 BUILD_DEFS+=            CUPS_USER CUPS_GROUP CUPS_SYSTEM_GROUPS VARBASE
86
87 DOCDIR=                 ${PREFIX}/share/doc/cups
88 EGDIR=                  ${PREFIX}/share/examples/cups
89 MIMEDIR=                ${PREFIX}/share/cups/mime
90 PKG_SYSCONFSUBDIR=      cups
91 CUPS_CONFDIR=           ${PKG_SYSCONFDIR}
92 CUPS_LOGDIR=            ${VARBASE}/log/cups
93 CUPS_REQUESTS=          ${VARBASE}/spool/cups
94 CUPS_CACHE=             ${VARBASE}/cache/cups
95 CUPS_STATEDIR=          ${VARBASE}/run/cups
96
97 PKG_GROUPS=             ${CUPS_GROUP}
98 PKG_USERS=              ${CUPS_USER}:${CUPS_GROUP}
99 PKG_GECOS.${CUPS_USER}= Common UNIX Printing System user
100 PKG_SHELL.${CUPS_USER}= ${SH}
101
102 CONF_FILES=             ${EGDIR}/cupsd.conf ${CUPS_CONFDIR}/cupsd.conf
103 CONF_FILES+=            ${EGDIR}/snmp.conf ${CUPS_CONFDIR}/snmp.conf
104 RCD_SCRIPTS=            cupsd
105
106 OWN_DIRS=               ${CUPS_CONFDIR}
107 OWN_DIRS+=              ${CUPS_CONFDIR}/interfaces
108 OWN_DIRS+=              ${CUPS_CONFDIR}/ppd
109 OWN_DIRS+=              ${PREFIX}/libexec/cups/driver
110 OWN_DIRS+=              ${CUPS_LOGDIR}
111 OWN_DIRS+=              ${CUPS_STATEDIR}
112 OWN_DIRS_PERMS=         ${CUPS_STATEDIR}/certs ${CUPS_USER} ${CUPS_GROUP} 0711
113 OWN_DIRS_PERMS+=        ${CUPS_CONFDIR}/ssl ${REAL_ROOT_USER} ${CUPS_GROUP} 0700
114 OWN_DIRS_PERMS+=        ${CUPS_REQUESTS} ${REAL_ROOT_USER} ${CUPS_GROUP} 0710
115 OWN_DIRS_PERMS+=        ${CUPS_REQUESTS}/tmp ${REAL_ROOT_USER} ${CUPS_GROUP} 1770
116 OWN_DIRS_PERMS+=        ${CUPS_CACHE} ${REAL_ROOT_USER} ${CUPS_GROUP} 0775
117 OWN_DIRS_PERMS+=        ${CUPS_CACHE}/rss ${REAL_ROOT_USER} ${CUPS_GROUP} 0775
118
119 .include "../../devel/zlib/buildlink3.mk"
120 .include "../../graphics/jpeg/buildlink3.mk"
121 .include "../../graphics/png/buildlink3.mk"
122 .include "../../graphics/tiff/buildlink3.mk"
123 .include "../../security/openssl/buildlink3.mk"
124
125 SUBST_CLASSES+=         paths
126 SUBST_FILES.paths=      ${WRKDIR}/cups.pam
127 SUBST_SED.paths+=       -e 's,@LOCALBASE@,${LOCALBASE},g'
128 SUBST_STAGE.paths=      post-patch
129
130 SUBST_CLASSES+=         rpathfix
131 SUBST_FILES.rpathfix=   cups-config.in
132 SUBST_MESSAGE.rpathfix= Adding rpath to cups-config.
133 SUBST_SED.rpathfix=     -e 's|@EXPORT_LDFLAGS@|${COMPILER_RPATH_FLAG}${PREFIX}/lib|g'
134 SUBST_STAGE.rpathfix=   post-patch
135
136 INSTALLATION_DIRS=      ${DOCDIR} ${EGDIR} ${MIMEDIR}
137 INSTALL_ENV+=           DSTROOT=${DESTDIR:Q}
138
139 pre-configure:
140 .if !empty(CUPS_SYSTEM_GROUPS:M${CUPS_GROUP})
141         ${ERROR_MSG} "CUPS_SYSTEM_GROUPS may not contain the CUPS_GROUP"
142         exit 1
143 .endif
144         cd ${WRKSRC} && aclocal && autoconf
145
146 post-extract:
147         ${CP} ${FILESDIR}/cups.pam ${WRKDIR}/cups.pam
148
149 post-install:
150         set -e; for file in LICENSE.txt README.txt; do                  \
151                 ${INSTALL_DATA} ${WRKSRC}/$${file}                      \
152                      ${DESTDIR}${DOCDIR}/$${file}; \
153         done
154         set -e; cd ${WRKSRC}/conf; for file in cupsd.conf snmp.conf ; do \
155                 ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR}/$${file};   \
156         done
157         set -e; cd ${WRKSRC}/conf; for file in mime.convs mime.types; do \
158                 ${INSTALL_DATA} $${file} ${DESTDIR}${MIMEDIR}/$${file}; \
159         done
160 .if !empty(PKG_OPTIONS:Mpam)
161         ${INSTALL_DATA} ${WRKDIR}/cups.pam ${DESTDIR}${EGDIR}
162 .endif
163
164 .include "../../print/libpaper/buildlink3.mk"
165 .include "../../mk/bsd.pkg.mk"