xref: /OK3568_Linux_fs/buildroot/package/cups/cups.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# cups
4#
5################################################################################
6
7CUPS_VERSION = 2.3.3op2
8CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz
9CUPS_SITE = https://github.com/OpenPrinting/cups/releases/download/v$(CUPS_VERSION)
10CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception
11CUPS_LICENSE_FILES = LICENSE NOTICE
12CUPS_CPE_ID_VENDOR = cups
13CUPS_SELINUX_MODULES = cups
14CUPS_INSTALL_STAGING = YES
15
16# Using autoconf, not autoheader, so we cannot use AUTORECONF = YES.
17define CUPS_RUN_AUTOCONF
18	cd $(@D); $(AUTOCONF) -f
19endef
20CUPS_PRE_CONFIGURE_HOOKS += CUPS_RUN_AUTOCONF
21
22CUPS_CONF_OPTS = \
23	--with-docdir=/usr/share/cups/doc-root \
24	--disable-gssapi \
25	--disable-pam \
26	--libdir=/usr/lib \
27	--with-cups-user=lp \
28	--with-cups-group=lp \
29	--with-system-groups="lpadmin sys root" \
30	--without-rcdir
31CUPS_CONFIG_SCRIPTS = cups-config
32CUPS_DEPENDENCIES = \
33	host-autoconf \
34	host-pkgconf \
35	$(if $(BR2_PACKAGE_ZLIB),zlib)
36
37ifeq ($(BR2_PACKAGE_SYSTEMD),y)
38CUPS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system \
39	--enable-systemd
40CUPS_DEPENDENCIES += systemd
41else
42CUPS_CONF_OPTS += --disable-systemd
43endif
44
45ifeq ($(BR2_PACKAGE_DBUS),y)
46CUPS_CONF_OPTS += --enable-dbus
47CUPS_DEPENDENCIES += dbus
48else
49CUPS_CONF_OPTS += --disable-dbus
50endif
51
52ifeq ($(BR2_PACKAGE_GNUTLS),y)
53CUPS_CONF_OPTS += --enable-gnutls
54CUPS_DEPENDENCIES += gnutls
55else
56CUPS_CONF_OPTS += --disable-gnutls
57endif
58
59ifeq ($(BR2_PACKAGE_LIBUSB),y)
60CUPS_CONF_OPTS += --enable-libusb
61CUPS_DEPENDENCIES += libusb
62else
63CUPS_CONF_OPTS += --disable-libusb
64endif
65
66ifeq ($(BR2_PACKAGE_LIBPAPER),y)
67CUPS_CONF_OPTS += --enable-libpaper
68CUPS_DEPENDENCIES += libpaper
69else
70CUPS_CONF_OPTS += --disable-libpaper
71endif
72
73ifeq ($(BR2_PACKAGE_AVAHI),y)
74CUPS_DEPENDENCIES += avahi
75CUPS_CONF_OPTS += --enable-avahi
76else
77CUPS_CONF_OPTS += --disable-avahi
78endif
79
80ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
81define CUPS_INSTALL_UDEV_RULES
82	$(INSTALL) -D -m 0644 package/cups/70-usb-printers.rules \
83		$(TARGET_DIR)/lib/udev/rules.d/70-usb-printers.rules
84endef
85
86CUPS_POST_INSTALL_TARGET_HOOKS += CUPS_INSTALL_UDEV_RULES
87endif
88
89define CUPS_INSTALL_INIT_SYSV
90	$(INSTALL) -D -m 0755 package/cups/S81cupsd \
91		$(TARGET_DIR)/etc/init.d/S81cupsd
92endef
93
94# lp user is needed to run cups spooler
95# lpadmin group membership grants administrative privileges
96define CUPS_USERS
97	lp -1 lp -1 * /var/spool/lpd /bin/false - lp
98	- - lpadmin -1 * - - - Printers admin group.
99endef
100
101$(eval $(autotools-package))
102