# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cups
pkgver=2.2.1
pkgrel=1
pkgdesc="The CUPS Printing System"
url="http://www.cups.org/"
arch="all"
license="GPL LGPL2+"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs ipptool $pkgname-client
	$pkgname-lang"
depends_dev="libgcrypt-dev gnutls-dev zlib-dev"
makedepends="$depends_dev libpaper-dev dbus-dev libjpeg-turbo-dev avahi-dev
	linux-headers"
depends="cups-client poppler-utils libressl dbus"
install="cups.pre-install"
pkggroups="lp lpadmin"
pkgusers="lp"
replaces="cups-doc"
source="https://github.com/apple/cups/releases/download/v$pkgver/cups-$pkgver-source.tar.gz
	$pkgname.logrotate
	cupsd.initd
	cups-no-export-ssllibs.patch
	"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--with-logdir=/var/log/cups \
		--with-docdir=/usr/share/cups \
		--with-cups-user=lp \
		--with-cups-group=lp \
		--with-system-groups=lpadmin \
		--without-php \
		--disable-pam \
		--disable-ldap \
		--libdir=/usr/lib \
		--enable-raw-printing \
		--enable-dbus \
		--with-dbusdir=/etc/dbus-1 \
		--enable-libpaper \
		--enable-ssl=yes \
		--enable-gnutls \
		--with-pdftops=pdftops \
		--with-optim="$CFLAGS" \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make BUILDROOT="$pkgdir" install
	rm -rf "$pkgdir"/etc/init.d \
		"$pkgdir"/etc/rc* \
		"$pkgdir"/usr/share/cups/banners \
		"$pkgdir"/usr/share/cups/data/testprint || return 1

	install -D -m644 ../cups.logrotate "$pkgdir"/etc/logrotate.d/cups
	install -D -m755 ../cupsd.initd "$pkgdir"/etc/init.d/cupsd

	sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' "$pkgdir"/usr/share/applications/cups.desktop
	find "$pkgdir"/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
}

_mv() {
	for i in "$@"; do
		mkdir -p "$subpkgdir"/${i%/*}
		mv "$pkgdir"/$i "$subpkgdir"/${i%/*}/ || return 1
	done
}

libs() {
	pkgdesc="CUPS libraries"
	depends=
	replaces="libcups"
	cd "$pkgdir"
	_mv usr/lib/*.so*
	install -d "$pkgdir"/etc/cups
}

ipptool() {
	pkgdesc=""
	depends=
	cd "$pkgdir"
	_mv usr/bin/ipptool \
		usr/share/cups/ipptool
}

client() {
	pkgdesc="CUPS client"
	depends=
	cd "$pkgdir"
	_mv usr/bin \
		usr/sbin/accept \
		usr/sbin/cupsaccept \
		usr/sbin/cupsaddsmb \
		usr/sbin/cupsctl \
		usr/sbin/cupsdisable \
		usr/sbin/cupsenable \
		usr/sbin/lpadmin \
		usr/sbin/lpc \
		usr/sbin/lpinfo \
		usr/sbin/lpmove \
		usr/sbin/reject
}

md5sums="a94da2a1e9dbdccb4f3836a38a431931  cups-2.2.1-source.tar.gz
f861b18f4446c43918c8643dcbbd7f6d  cups.logrotate
17ff6d91fdf976def038ce0464cfb74d  cupsd.initd
3ba9e3410df1dc3015463d615ef91b3b  cups-no-export-ssllibs.patch"
sha256sums="83b8730aa977cc055e7410df6a3a682548994c113994ca630a16513017e419d5  cups-2.2.1-source.tar.gz
b3308353504bc1cc0d5203ad3609bc98639ad9655b52e8ec8257286877532796  cups.logrotate
e819e8e08248495f110370e5f0cfe954a9e5a49959e9a49487e5686a1aaa1caa  cupsd.initd
ff3eb0782af0405f5dafe89e04b1b4ea7a49afc5496860d724343bd04f375832  cups-no-export-ssllibs.patch"
sha512sums="7ffc92075bbfec9a86fa92261944dcef9c019cce16135726c23f88bf49617cebddc520729a716f73cd80b931438b05c92991517094d30fc29f3355fe31a29f81  cups-2.2.1-source.tar.gz
162fe69ee46962f7ce07a9a2a75154682088895c4749c9bcfc54bb2aa861f48d7d1a8e3223f78a197319a3a405626ffe996615f6eb23168afcefabab343d5be0  cups.logrotate
b5c6cec757457773904d47b06fb3a3d70c316e5abac7e35164261f9d98d7275140c6f14337a848eb4c15034d91e4c859af93865531f26bd97defe3ec21ca90a8  cupsd.initd
7a8cd9ac33b0dd4627c72df4275db8ccd7cf8e201bce3833719b42f532f526bb347b842e3ea1ef0d61855b5c6e1088b5d20b68942f2c2c0acf504d8d9728efd3  cups-no-export-ssllibs.patch"
