125 lines
3.9 KiB
Bash
125 lines
3.9 KiB
Bash
# Template file for 'cups'
|
|
pkgname=cups
|
|
version=2.2.9
|
|
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 <xtraeme@voidlinux.eu>"
|
|
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=6d22d5da253b97643320da0bf95574acd85ff2abe3ec1a51d36093841d891156
|
|
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"
|
|
}
|
|
}
|