aboutsummaryrefslogtreecommitdiff
path: root/print/hplip/Makefile
blob: 2e497a8937d646fa76d5357a8f50040633a39239 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Created by: amistry@am-productions.biz
# $FreeBSD$

PORTNAME=	hplip
PORTVERSION=	3.16.9
CATEGORIES=	print
MASTER_SITES=	SF

MAINTAINER=	woodsb02@FreeBSD.org
COMMENT=	Drivers and utilities for HP Printers and All-in-One devices

LICENSE=	GPLv2 MIT BSD3CLAUSE
LICENSE_COMB=	multi
LICENSE_FILES=	${WRKSRC}/COPYING

LIB_DEPENDS=	libcupsimage.so:print/cups \
		libdbus-1.so:devel/dbus
RUN_DEPENDS=	${LOCALBASE}/libexec/cups/filter/gstoraster:print/cups-filters \
		${PYTHON_SITELIBDIR}/dbus/_dbus.py:devel/py-dbus

CONFLICTS_INSTALL=	hpijs-[0-9]*

INSTALL_TARGET=	install-strip
USES=		jpeg libtool pkgconfig python
USE_GNOME=	pygobject
USE_LDCONFIG=	yes

GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--with-cupsbackenddir=${PREFIX}/libexec/cups/backend \
		--with-cupsfilterdir=${PREFIX}/libexec/cups/filter \
		--with-icondir=${DESKTOPDIR} \
		--with-systraydir=${PREFIX}/etc/xdg/autostart \
		--with-mimedir=${PREFIX}/share/cups/mime \
		--with-docdir=${DOCSDIR} \
		--with-htmldir=${DOCSDIR} \
		--with-drvdir=${PREFIX}/share/cups/drv \
		--enable-cups-ppd-install
CPPFLAGS+=	-I${LOCALBASE}/include
LIBS+=		-L${LOCALBASE}/lib

FILES4FIX=	Makefile.in \
		base/codes.py \
		base/g.py \
		base/password.py \
		base/pkit.py \
		base/queues.py \
		base/services.py \
		base/utils.py \
		check.py \
		fax/backend/hpfax.py \
		fax/coverpages.py \
		fax/filters/pstotiff \
		hplip.list.in \
		installer/core_install.py \
		installer/dcheck.py \
		installer/pluginhandler.py \
		logcapture.py \
		prnt/cups.py \
		prnt/filters/hpps \
		prnt/hpcups/HPCupsFilter.cpp \
		prnt/hpijs/globals.cpp \
		prnt/hpijs/hpcupsfax.cpp \
		prnt/hpijs/hpijs.cpp \
		ui/devmgr4.py \
		ui4/devmgr5.py

PYTHON_SITELIBDIR_REL=	${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}

OPTIONS_DEFINE=	DOCS FAX SNMP SCAN X11 XSANE
OPTIONS_DEFAULT=SNMP SCAN X11
OPTIONS_SUB=	yes # FAX SCAN X11

FAX_DESC=	PC Send Fax support
FAX_RUN_DEPENDS=	${PYTHON_SITELIBDIR}/reportlab/__init__.py:print/py-reportlab2
FAX_CONFIGURE_ENABLE=	fax-build

SNMP_DESC=	Network/JetDirect support
SNMP_USES=	ssl
SNMP_LIB_DEPENDS=	libnetsnmp.so:net-mgmt/net-snmp
SNMP_CONFIGURE_ENABLE=	network-build

SCAN_DESC=	Scanning support
SCAN_LIB_DEPENDS=	libsane.so:graphics/sane-backends
SCAN_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow
SCAN_CONFIGURE_ENABLE=	scan-build

X11_DESC=	Graphical User Interface (Qt 4)
X11_RUN_DEPENDS=${PYTHON_SITELIBDIR}/PyQt4/QtGui.so:x11-toolkits/py-qt4-gui \
		${PYTHON_SITELIBDIR}/dbus/mainloop/qt.so:devel/py-qt4-dbussupport
X11_CONFIGURE_ENABLE=	qt4 gui-build

XSANE_DESC=	Install XSane for scanning (requires SCAN)
XSANE_IMPLIES=	SCAN
XSANE_RUN_DEPENDS=	xsane:graphics/xsane

DOCS_CONFIGURE_ENABLE=	doc-build

post-patch:
	${REINPLACE_CMD} -e 's|-ldld||g; s|-ldl||g' \
		-e 's,-lusb-1.0,-lusb,g' \
		-e 's,libusb-1.0/libusb.h,libusb.h,g' \
		${WRKSRC}/configure \
		${WRKSRC}/Makefile.in
	${REINPLACE_CMD} -e '/[[:space:]]install-dist_rulesDATA/ s,install-dist_rulesDATA,,' \
		-e '/[[:space:]]install-dist_rulessystemDATA/ s,install-dist_rulessystemDATA,,' \
		${WRKSRC}/Makefile.in
	${REINPLACE_CMD} -e 's,/etc/hp,${PREFIX}&,g' \
		-e 's,/etc/cups,${LOCALBASE}&,g' \
		-e 's,/etc/init.d,${LOCALBASE}/etc/rc.d,g' \
		-e 's,/etc/sane.d,${LOCALBASE}&,g' \
		-e 's,/usr/share,${LOCALBASE}/share,g' \
		-e 's,/usr/include,${LOCALBASE}/include,g' \
		${FILES4FIX:S,^,${WRKSRC}/,}
	@${REINPLACE_CMD} -e 's/umask(0)/umask(0o022)/' \
		-e 's/umask(0o111)/umask(0o133)/' \
		${WRKSRC}/base/os_utils.py \
		${WRKSRC}/base/validation.py \
		${WRKSRC}/fax/backend/hpfax.py \
		${WRKSRC}/hpdio.py \
		${WRKSRC}/installer/pluginhandler.py
	${REINPLACE_CMD} -e 's,%USB_INCLUDE%,/usr/include,' \
		${WRKSRC}/installer/core_install.py
	${FIND} ${WRKSRC} -name '*.py' | ${XARGS} ${SED} -i '' \
		-e 's,^#!/usr/bin/python,#!${PYTHON_CMD},' \
		-e 's,^#!/usr/bin/env python,#!${PYTHON_CMD},' \
		-e 's,^#!/bin/env python,#!${PYTHON_CMD},'

post-install:
	${MV} ${STAGEDIR}${PREFIX}/etc/hp/hplip.conf \
		${STAGEDIR}${PREFIX}/etc/hp/hplip.conf.sample
	${MKDIR} ${STAGEDIR}${DATADIR}/ui4/plugins
	${MKDIR} ${STAGEDIR}/var/lib/hp
	${MKDIR} ${STAGEDIR}/var/lib
post-install-SCAN-on:
	${MKDIR} ${STAGEDIR}${PREFIX}/etc/sane.d/dll.d
	${MV} ${STAGEDIR}${PREFIX}/etc/sane.d/dll.conf ${STAGEDIR}${PREFIX}/etc/sane.d/dll.d/hpaio

.include <bsd.port.mk>