Created attachment 213294 [details]
shar for the new port
This is an Apple AirScan (eSCL) driver for Scanner Access Now Easy (SANE). It automatically discovers AirScan-compatible scanners in the local network, and makes them available to the SANE framework.
Personally, I used it successfully with my Canon TS9020 printer.
Created attachment 213295 [details]
poudriere log for 11.3/i386
Created attachment 213296 [details]
poudriere log for 12.1/amd64
The latest version of sane-backends already comes with an escl driver
when built with AVAHI=on. How is this different and do we really need
Strictly speaking, we don't: they provide mostly the same functionality (driver for eSCL scanners). However, we don't restrict port collection to "only 1 port for a feature", right?
I tried to enable escl backend and it didnt' work, then I moved to this backend. However I noticed later that it's not installed by default. After rebuilding with AVAHI=on, it worked, although the airscan backend still have some advantage over it:
* It shows the device name, instead of IP, in device selection.
* It defaults to 300dpi which makes more sense.
* It shows geometry in a more reasonable unit (mm).
These are minor points, so they aren't different fundamentally.
So, if you say "we only want one backend, and that's the escl backend", then fine, please enable AVAHI by default, which may help other people as well, as they don't need to research on why their scanners don't "just work". Otherwise, people may at least find this port and find it useful.
I want to notify everybody who may be interested, that I've recently released a new version of sane-airscan with added WSD protocol support.
The detailed announce can be found in the sane-devel mail list.
This version may be more difficult to port to FreeBSD, because it uses some Linux-specific stuff like rtnetlink (WS-Discovery code needs notifications when network interfaces are enabled or disabled).
Don't hesitate to contact me if you need some help