aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFoo Chuan Wei <chuanwei.foo@hotmail.com>2023-05-11 07:54:49 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-05-11 23:23:30 +0000
commitc30e4415453a5d3c5c0cd00d253250b8f7e2054d (patch)
tree593e3e4fdf3e7478809c7ecfe74191498192276d
parent33c6ac9ae8a51f177940f5e15c2d8ebedc594b06 (diff)
downloadports-c30e4415453a5d3c5c0cd00d253250b8f7e2054d.tar.gz
ports-c30e4415453a5d3c5c0cd00d253250b8f7e2054d.zip
print/ipp-usb: Add port
ipp-usb daemon enables driver-less printing and scanning on USB-only AirPrint-compatible printers and MFPs. It works by connecting to the device by USB using IPP-over-USB protocol, and exposing the device to the network, including DNS-SD (ZeroConf) advertising. IPP printing, eSCL scanning and web console are fully supported. WWW: https://github.com/OpenPrinting/ipp-usb PR: 271226
-rw-r--r--print/Makefile1
-rw-r--r--print/ipp-usb/Makefile37
-rw-r--r--print/ipp-usb/distinfo5
-rw-r--r--print/ipp-usb/files/ipp-usb.in25
-rw-r--r--print/ipp-usb/files/patch-dnssd__avahi.go8
-rw-r--r--print/ipp-usb/pkg-descr5
-rw-r--r--print/ipp-usb/pkg-plist8
7 files changed, 89 insertions, 0 deletions
diff --git a/print/Makefile b/print/Makefile
index 0711f3dbca4d..4fef05467e81 100644
--- a/print/Makefile
+++ b/print/Makefile
@@ -84,6 +84,7 @@
SUBDIR += html2ps
SUBDIR += hyperlatex
SUBDIR += indexinfo
+ SUBDIR += ipp-usb
SUBDIR += kde_poster
SUBDIR += latex-beamer
SUBDIR += latex-biber
diff --git a/print/ipp-usb/Makefile b/print/ipp-usb/Makefile
new file mode 100644
index 000000000000..3e66af198d7b
--- /dev/null
+++ b/print/ipp-usb/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= ipp-usb
+DISTVERSION= 0.9.23
+CATEGORIES= print
+
+MAINTAINER= chuanwei.foo@hotmail.com
+COMMENT= Daemon for IPP over USB printer support
+WWW= https://github.com/OpenPrinting/ipp-usb
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libavahi-client.so:net/avahi-app \
+ libavahi-common.so:net/avahi-app
+
+USES= gmake go:modules pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= OpenPrinting
+GH_TUPLE= OpenPrinting:goipp:v1.0.0:openprinting_goipp/vendor/github.com/OpenPrinting/goipp
+
+USE_RC_SUBR= ipp-usb
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|/usr/share/ipp-usb|${DATADIR}|g' \
+ -e 's|/etc/ipp-usb|${ETCDIR}|g' \
+ ${WRKSRC}/paths.go
+
+do-install:
+ ${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/ipp-usb ${STAGEDIR}${PREFIX}/sbin/
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/quirks/
+ ${INSTALL_DATA} ${WRKSRC}/ipp-usb.conf \
+ ${STAGEDIR}${ETCDIR}/ipp-usb.conf.sample
+ ${INSTALL_MAN} ${WRKSRC}/ipp-usb.8 ${STAGEDIR}${PREFIX}/man/man8/
+ (cd ${WRKSRC}/ipp-usb-quirks/ && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/quirks/)
+
+.include <bsd.port.mk>
diff --git a/print/ipp-usb/distinfo b/print/ipp-usb/distinfo
new file mode 100644
index 000000000000..7de58faad424
--- /dev/null
+++ b/print/ipp-usb/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1683046675
+SHA256 (OpenPrinting-ipp-usb-0.9.23_GH0.tar.gz) = 81f325abc45b4d2b8812022d93dfcebc807c2b0688e2a9f7052f0bddfadf5b01
+SIZE (OpenPrinting-ipp-usb-0.9.23_GH0.tar.gz) = 73151
+SHA256 (OpenPrinting-goipp-v1.0.0_GH0.tar.gz) = b0ffbd093af6407fe4695075d9a022d23948b9762d2a9e39a2fbb7e9bf474b32
+SIZE (OpenPrinting-goipp-v1.0.0_GH0.tar.gz) = 31764
diff --git a/print/ipp-usb/files/ipp-usb.in b/print/ipp-usb/files/ipp-usb.in
new file mode 100644
index 000000000000..26d54d51c5c1
--- /dev/null
+++ b/print/ipp-usb/files/ipp-usb.in
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# PROVIDE: ipp_usb
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# ipp_usb_enable (bool): Set to NO by default.
+# Set it to YES to enable ipp-usb.
+
+. /etc/rc.subr
+
+name=ipp_usb
+rcvar=ipp_usb_enable
+
+load_rc_config $name
+
+: ${ipp_usb_enable:="NO"}
+
+command=%%PREFIX%%/sbin/ipp-usb
+command_args="standalone -bg"
+
+run_rc_command "$1"
diff --git a/print/ipp-usb/files/patch-dnssd__avahi.go b/print/ipp-usb/files/patch-dnssd__avahi.go
new file mode 100644
index 000000000000..77c793016278
--- /dev/null
+++ b/print/ipp-usb/files/patch-dnssd__avahi.go
@@ -0,0 +1,8 @@
+--- dnssd_avahi.go.orig 2023-05-01 00:00:00 UTC
++++ dnssd_avahi.go
+@@ -1,4 +1,4 @@
+-// +build linux
++// +build linux freebsd
+
+ /* ipp-usb - HTTP reverse proxy, backed by IPP-over-USB connection to device
+ *
diff --git a/print/ipp-usb/pkg-descr b/print/ipp-usb/pkg-descr
new file mode 100644
index 000000000000..2c672a2ebf20
--- /dev/null
+++ b/print/ipp-usb/pkg-descr
@@ -0,0 +1,5 @@
+ipp-usb daemon enables driver-less printing and scanning on USB-only
+AirPrint-compatible printers and MFPs. It works by connecting to the device by
+USB using IPP-over-USB protocol, and exposing the device to the network,
+including DNS-SD (ZeroConf) advertising. IPP printing, eSCL scanning and web
+console are fully supported.
diff --git a/print/ipp-usb/pkg-plist b/print/ipp-usb/pkg-plist
new file mode 100644
index 000000000000..c298e02e38b6
--- /dev/null
+++ b/print/ipp-usb/pkg-plist
@@ -0,0 +1,8 @@
+%%ETCDIR%%/ipp-usb.conf.sample
+man/man8/ipp-usb.8.gz
+sbin/ipp-usb
+%%DATADIR%%/quirks/HP.conf
+%%DATADIR%%/quirks/README
+%%DATADIR%%/quirks/blacklist.conf
+%%DATADIR%%/quirks/default.conf
+@dir %%ETCDIR%%/quirks