NAME    = cups
VERSION = 2.4.19

CATEGORIES = utils

DESCRIPTION = CUPS printing system
define BLURB
CUPS is the standards-based open source printing system for Unix-like
operating systems. Provides headers required by OpenJDK.
endef

DYNURLS   = https://github.com/OpenPrinting/cups/releases/download/v$(VERSION)/cups-$(VERSION)-source.tar.gz
DISTFILES = cups-$(VERSION)-source.tar.gz
WORKSRC   = $(WORKDIR)/cups-$(VERSION)

LICENSE = LICENSE

PACKAGES           = OZSWcups
SPKG_DESC_OZSWcups = CUPS printing system
SPKG_CLASSES       = cswdictconf
RUNTIME_DEP_PKGS_OZSWcups = OZSWgnutls OZSWzlib

# Solaris: networking symbols (recv etc.) are in libsocket/libnsl
EXTRA_LD_FLAGS += -lsocket -lnsl

CONFIGURE_ARGS  = $(DIRPATHS)
CONFIGURE_ARGS += --with-tls=gnutls
CONFIGURE_ARGS += --disable-dbus
CONFIGURE_ARGS += --without-rcdir
CONFIGURE_ARGS += --disable-dependency-tracking

# Use manual install to avoid GAR install phase getting confused by stale cookies
INSTALL_SCRIPTS =

include gar/category.mk

.DEFAULT_GOAL := all

post-configure:
	# -fPIE/-pie not supported on Solaris/GCC in this config
	/usr/bin/gsed -i 's/-fPIE -pie//' $(WORKSRC)/Makedefs
	# Add -lsocket -lnsl to LINKCUPS so tools linking against libcups find socket symbols
	/usr/bin/gsed -i 's|^LINKCUPS[[:space:]]*=.*|LINKCUPS\t=\t-L../cups -lcups -lsocket -lnsl|' $(WORKSRC)/Makedefs
	# Redirect icon/menu dirs to /opt/ozsw (configure ignores --with-icondir/menudir defaults)
	/usr/bin/gsed -i 's|^ICONDIR[[:space:]]*=.*|ICONDIR\t\t=\t/opt/ozsw/share/icons|' $(WORKSRC)/Makedefs
	/usr/bin/gsed -i 's|^MENUDIR[[:space:]]*=.*|MENUDIR\t\t=\t/opt/ozsw/share/applications|' $(WORKSRC)/Makedefs
	find $(WORKSRC) -name "libtool" \
	    -exec /usr/bin/gsed -i \
	        -e 's/ECHO="print -r --"/ECHO="printf %s\\n"/g' \
	        -e 's|^SED=.*|SED=/opt/ozsw/bin/sed|' \
	        {} \;
	@$(MAKECOOKIE)

pre-install:
	cd $(WORKSRC) && gmake DESTDIR=$(DESTDIR) install
	@$(MAKECOOKIE)
