# $Id$ PNAME="cups" PVER="1.5.0" PBUILD="r2" SPLIT_PACKAGES="libcups cups" PCATEGORIE="net-print" HOMEPAGE="http://www.cups.org/" LIB_DEPEND=">= virtual/glibc >= app-crypt/gnutls-2.12 >= media-libs/libpng-1.5 >= media-libs/libtiff-3.9 >= media-libs/libjpeg-8 >= net-dns/avahi-0.6.30 >= sys-libs/zlib-1.2.5" CUPS_DEPEND=">= sys-libs/pam-1.1 >= sys-apps/acl-2.2 >= sys-apps/dbus-1.4 >= dev-libs/libusb-compat-0.1.3 >= dev-libs/dbus-glib-0.92 >= app-text/libpaper-1.1.24 >= app-text/poppler-0.18" SDEPEND="${LIB_DEPEND} ${CUPS_DEPEND} >= sys-dev/automake-4 >= sys-dev/autoconf-5" SRCFILE="${PNAME}-${PVER}-source.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude mbuild mtools multilib SRC_URI=( http://ftp.easysw.com/pub/${PNAME}/${PVER}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/cups.conf.tmpd mirror://${PNAME}/cups.logrotate mirror://${PNAME}/cups.pam-systemauth mirror://${PNAME}/${PNAME}-1.2.11-multilib.patch mirror://${PNAME}/${PNAME}-1.4.1-backend-https.patch mirror://${PNAME}/${PNAME}-1.4.7-systemd-socket.patch ) UP2DATE="updatecmd ${HOMEPAGE} | grep 'Download CUPS' | grep v[0-9] | sed 's/.*v\([0-9].*\)\ (.*/\1/'" split_info_libcups() { DESCRIPTION="cups: common unix printing system - client libraries and headers" DEPEND="${LIB_DEPEND}" } split_info_cups() { DESCRIPTION="cups: common unix printing system - service daemons." DEPEND="== net-print/libcups-${PVER} ${CUPS_DEPEND}" } src_prepare() { munpack ${SRCFILE} || die # fix hardcoded /usr/lib in cups-directories.m4 to respect 64bit arches mpatch ${PNAME}-1.2.11-multilib.patch || die # create a missing symlink to allow https printing via IPP, bug #217293 mpatch ${PNAME}-1.4.1-backend-https.patch || die # adds systemd socket activation support mpatch ${PNAME}-1.4.7-systemd-socket.patch || die # non standard configure all-abis aclocal -I config-scripts || die all-abis autoconf || die } src_compile() { mconfigure \ --localstatedir=/var \ --with-docdir=/usr/share/cups/html \ --with-systemdsystemunitdir=/lib/systemd/system \ --with-cups-user=lp \ --with-cups-group=lp \ --with-system-groups=lpadmin \ --enable-threads \ --enable-pam \ --enable-nls \ --enable-dbus \ --enable-png \ --enable-jpeg \ --enable-tiff \ --enable-libpaper \ --enable-dnssd \ --enable-ssl=yes --enable-gnutls \ --disable-slp \ --disable-php \ --disable-ldap \ || die mmake || die } src_install_libcups() { mmake BUILDROOT=${BINDIR} install-headers || die mmake BUILDROOT=${BINDIR} install-libs || die # install config utiliy so other packages can find the libs # because there a no pkgconfig files minstallexec cups-config || die } src_install_cups() { mmake BUILDROOT=${BINDIR} install-data || die mmake BUILDROOT=${BINDIR} install-exec || die # provided by libcups rm ${BINDIR}/usr/bin/cups-config || die # gzip *all* ppd's not just few find ${BINDIR}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f || die # remove 32bit serverbins and co on 64bit multilib systems if [[ ${ARCH} = x86_64 ]] then [[ -d ${BINDIR}/usr/lib/cups ]] && ( rm -rf ${BINDIR}/usr/lib/cups || die; ) fi # remove possible installed backup configs find ${BINDIR}/etc -name "*.O" | xargs rm -f || die find ${BINDIR}/etc -name "*.N" | xargs rm -f || die # removing cups created init-scripts rm -rf ${BINDIR}/etc/rc*.d || die # remove /etc/init.d too rm -rf ${BINDIR}/etc/init.d || die # tempfile creation minstalltmp cups.conf.tmpd cups.conf || die # install logrotate config minstalllog cups.logrotate cups || die # install pam config minstallpam cups.pam-systemauth cups || die # ship some config files to keep many apps happy (javapps nxnode etc) memptyfile /etc/cups/printers.conf || die memptyfile /etc/cups/classes.conf || die memptyfile /etc/cups/client.conf || die memptyfile /etc/cups/subscriptions.conf || die # prevents uninstall from prior versions mkeepdir /usr/share/cups/profiles || die mkeepdir /usr/$(mlibdir)/cups/driver || die mkeepdir /var/log/cups || die mkeepdir /var/run/cups/certs || die mkeepdir /var/spool/cups || die mkeepdir /var/spool/cups/tmp || die # create a rss feed directory mkeepdir /var/cache/cups/rss || die mchown lp.lp /var/cache/cups/rss || die mchmod 0740 /var/cache/cups/rss || die # create a ssl directory to store cacerts and to fix some samba issues mkeepdir /etc/cups/ssl || die mchown root:lp /etc/cups/ssl || die mchmod 0700 /etc/cups/ssl || die # install missing docs minstalldocs CHANGES* CREDITS* LICENSE* README* || die } preinstall() { ${MLIBDIR}/mgroupadd -o "-g 106" lpadmin ${MLIBDIR}/mgroupadd -o "-g 9" lp ${MLIBDIR}/museradd -o "-u 9 -g lp -d /var/spool/lpd -s /bin/false" lp } postinstall() { mstartunit cups.service cupsd mstartunit cups.socket cupsd } postremove() { mstopunit cups.service cupsd mstopunit cups.socket cupsd }