# Template file for 'cups' pkgname=cups version=2.2.8 revision=1 patch_args="-Np1" hostmakedepends="automake avahi-libs-devel gnutls-devel pkg-config poppler-utils" makedepends="acl-devel avahi-libs-devel gnutls-devel libpaper-devel libpng-devel libusb-devel pam-devel poppler-devel tiff-devel $(vopt_if gssapi 'mit-krb5-devel')" depends="xdg-utils" short_desc="Common Unix Printing System" maintainer="Juan RP " license="GPL-2.0-only" homepage="https://www.cups.org/" distfiles="https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz" checksum=3968fc1d26fc48727508db1c1380e36c6694ab90177fd6920aec5f6cc73af9e4 conf_files="/etc/pam.d/cups /etc/cups/*.conf /etc/xinetd.d/cups-lpd" make_dirs=" /usr/lib/cups/driver 0755 root root /var/log/cups 0750 root root /var/cache/cups/rss 0750 cups lp /var/spool/cups 0755 cups lp /etc/cups/ssl 0700 cups lp" build_options="gssapi" # Package build options system_accounts="cups" system_groups=lpadmin cups_pgroup=lp cups_homedir=/var/spool/cups pre_configure() { aclocal -I config-scripts autoconf -I config-scripts } do_configure() { if [ "$CROSS_BUILD" ]; then CC=cc AR= RANLIB= CFLAGS=-Os LDFLAGS= ./configure make -C cups libcups.a make -C man mantohtml mkdir cross-tools cp man/mantohtml cross-tools make clean fi ./configure ${configure_args} --sbindir=/usr/bin --libdir=/usr/lib \ --enable-acl --enable-dbus --enable-raw-printing \ --enable-threads --with-logdir=/var/log/cups \ --with-docdir=/usr/share/cups/doc --with-rundir=/run/cups \ --with-cups-user=cups --with-cups-group=lp --with-system-groups="lpadmin sys root" --enable-relro \ --enable-libpaper --enable-avahi --enable-pam --enable-ssl \ --with-menudir=/usr/share/applications --with-xinetd=/etc/xinetd.d \ --with-optim="${CFLAGS}" --disable-systemd --disable-launchd \ --without-rcdir --without-java --without-perl --without-php \ --without-python $(vopt_enable gssapi) } do_build() { # Do not run genstrings binary in cross builds. if [ "$CROSS_BUILD" ]; then sed -e '/.\/genstrings.*/d' -i ppdc/Makefile sed -e "s,./mantohtml,${wrksrc}/cross-tools/mantohtml,g" -i man/Makefile fi make ${makejobs} } do_check() { make check } do_install() { make BUILDROOT=${DESTDIR} install # compress some driver files, adopted from Fedora find ${DESTDIR}/usr/share/cups/model -name "*.ppd"|xargs gzip -n9f # install some more configuration files that will get filled by cupsd for f in printers classes client subscriptions; do touch ${DESTDIR}/etc/cups/${f}.conf done echo "# see 'man client.conf'" >> ${DESTDIR}/etc/cups/client.conf echo "ServerName /var/run/cups/cups.sock" >> ${DESTDIR}/etc/cups/client.conf echo "# alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> \ ${DESTDIR}/etc/cups/client.conf # fix .desktop file sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' \ ${DESTDIR}/usr/share/applications/cups.desktop # Install pam file vinstall ${FILESDIR}/cups.pam 644 etc/pam.d cups # Remove files provided by cups-filters. rm -f ${DESTDIR}/usr/share/cups/banners/* rm -f ${DESTDIR}/usr/share/cups/data/testprint # comment out all conversion rules which use any of the removed filters perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' \ ${DESTDIR}/usr/share/cups/mime/mime.convs # comment out unnecessary PageLogFormat entry sed -i -e 's:PageLogFormat:#PageLogFormat:' ${DESTDIR}/etc/cups/cupsd.conf* # runit service vsv cupsd } libcups_package() { short_desc+=" - client runtime shared libraries" conf_files="/etc/cups/client.conf" pkg_install() { vmove "usr/lib/*.so.*" vmove etc/cups/client.conf vmove usr/share/man/man5/client.conf.5 } } cups-devel_package() { depends="zlib-devel libcups>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include vmove usr/bin/cups-config vmove "usr/lib/*.so" } }