Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F149946893
D32314.1791278948.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D32314.1791278948.diff
View Options
diff --git a/graphics/Makefile b/graphics/Makefile
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -43,6 +43,7 @@
SUBDIR += acidwarp
SUBDIR += acidwarp-sdl
SUBDIR += agg
+ SUBDIR += airsaned
SUBDIR += akira
SUBDIR += alembic
SUBDIR += aloadimage
diff --git a/graphics/airsaned/Makefile b/graphics/airsaned/Makefile
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= airsaned
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.3.2-50
+DISTVERSIONSUFFIX= -gdeab313
+CATEGORIES= graphics
+
+MAINTAINER= fbsd@opal.com
+COMMENT= Apple AirScan compatible SANE web frontend
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libavahi-client.so:net/avahi-app \
+ libpng.so:graphics/png \
+ libsane.so:graphics/sane-backends
+
+USES= cmake jpeg compiler:c++11-lib localbase:ldflags
+USE_GITHUB= yes
+USE_RC_SUBR= ${PORTNAME}
+
+GH_ACCOUNT= SimulPiscator
+GH_PROJECT= AirSane
+
+PLIST_FILES= sbin/airsaned \
+ etc/airsane/ignore.conf \
+ etc/airsane/options.conf \
+ etc/airsane/Gnome-scanner.png
+
+.include <bsd.port.mk>
diff --git a/graphics/airsaned/distinfo b/graphics/airsaned/distinfo
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1633432825
+SHA256 (SimulPiscator-AirSane-v0.3.2-50-gdeab313_GH0.tar.gz) = a9df4ed9de8f59f07fe9d491bf9eb96c8168001ba0025b96bf97c39ac49e35e9
+SIZE (SimulPiscator-AirSane-v0.3.2-50-gdeab313_GH0.tar.gz) = 115706
diff --git a/graphics/airsaned/files/airsaned.in b/graphics/airsaned/files/airsaned.in
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/files/airsaned.in
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# PROVIDE: airsaned
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable airsaned:
+# airsaned_enable="YES"
+
+. /etc/rc.subr
+
+name=airsaned
+rcvar=airsaned_enable
+
+load_rc_config airsane
+
+: ${airsaned_enable:="NO"}
+: ${airsaned_args:=""}
+
+command="%%PREFIX%%/sbin/${name}"
+command_args="${airsaned_args} &"
+sig_stop="KILL"
+
+run_rc_command "$1"
diff --git a/graphics/airsaned/files/patch-CMakeLists.txt b/graphics/airsaned/files/patch-CMakeLists.txt
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/files/patch-CMakeLists.txt
@@ -0,0 +1,59 @@
+--- CMakeLists.txt.orig 2021-09-18 16:22:32 UTC
++++ CMakeLists.txt
+@@ -66,6 +66,7 @@ add_executable(${PROJECT_NAME}
+ zeroconf/hotplugnotifier.cpp
+ ${ZEROCONF_FILES}
+ )
++if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ target_link_libraries(
+ ${PROJECT_NAME}
+ Threads::Threads
+@@ -73,8 +74,19 @@ target_link_libraries(
+ jpeg
+ png
+ ${ZEROCONF_LIBS}
++ usb
++)
++else()
++target_link_libraries(
++ ${PROJECT_NAME}
++ Threads::Threads
++ sane
++ jpeg
++ png
++ ${ZEROCONF_LIBS}
+ usb-1.0
+ )
++endif()
+
+ if(APPLE)
+
+@@ -101,6 +113,28 @@ install(CODE "
+ endif()
+ ")
+
++
++elseif(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
++
++install(TARGETS ${PROJECT_NAME}
++ RUNTIME DESTINATION sbin
++)
++
++install(CODE "
++ if(NOT EXISTS /usr/local/etc/airsane/ignore.conf)
++ file(INSTALL ${CMAKE_SOURCE_DIR}/etc/ignore.conf DESTINATION /usr/local/etc/airsane)
++ endif()
++")
++install(CODE "
++ if(NOT EXISTS /usr/local/etc/airsane/options.conf)
++ file(INSTALL ${CMAKE_SOURCE_DIR}/etc/options.conf DESTINATION /usr/local/etc/airsane)
++ endif()
++")
++install(CODE "
++ if(NOT EXISTS /usr/local/etc/airsane/Gnome-scanner.png)
++ file(INSTALL ${CMAKE_SOURCE_DIR}/etc/Gnome-scanner.png DESTINATION /usr/local/etc/airsane)
++ endif()
++")
+
+ else()
+
diff --git a/graphics/airsaned/files/patch-imageformats-pngencoder.cpp b/graphics/airsaned/files/patch-imageformats-pngencoder.cpp
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/files/patch-imageformats-pngencoder.cpp
@@ -0,0 +1,18 @@
+--- imageformats/pngencoder.cpp.orig 2021-09-18 16:22:32 UTC
++++ imageformats/pngencoder.cpp
+@@ -17,13 +17,13 @@ along with this program. If not, see <http://www.gnu.
+ */
+
+ #include "pngencoder.h"
+-#include <libpng16/png.h>
++#include <png.h>
+ #include <stdexcept>
+ #include <vector>
+ #if __APPLE__
+ #include <machine/endian.h>
+ #else
+-#include <endian.h>
++#include <sys/endian.h>
+ #endif
+ #include <arpa/inet.h>
+
diff --git a/graphics/airsaned/files/patch-server-server.cpp b/graphics/airsaned/files/patch-server-server.cpp
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/files/patch-server-server.cpp
@@ -0,0 +1,16 @@
+--- server/server.cpp.orig 2021-09-18 16:22:32 UTC
++++ server/server.cpp
+@@ -103,11 +103,11 @@ Server::Server(int argc, char** argv)
+ "ignore SANE network scanners",
+ localonly },
+ { "options-file",
+- "/etc/airsane/options.conf",
++ "/usr/local/etc/airsane/options.conf",
+ "location of device options file",
+ optionsfile },
+ { "ignore-list",
+- "/etc/airsane/ignore.conf",
++ "/usr/local/etc/airsane/ignore.conf",
+ "location of device ignore list",
+ ignorelist },
+ { "debug", "false", "log debug information to stderr", debug },
diff --git a/graphics/airsaned/files/patch-web-httpserver.cpp b/graphics/airsaned/files/patch-web-httpserver.cpp
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/files/patch-web-httpserver.cpp
@@ -0,0 +1,10 @@
+--- web/httpserver.cpp.orig 2021-09-18 16:22:32 UTC
++++ web/httpserver.cpp
+@@ -25,6 +25,7 @@ along with this program. If not, see <http://www.gnu.
+ #include <thread>
+
+ #include <arpa/inet.h>
++#include <netinet/in.h>
+ #include <ifaddrs.h>
+ #include <net/if.h>
+ #include <netdb.h>
diff --git a/graphics/airsaned/files/patch-zeroconf-hotplugnotifier.cpp b/graphics/airsaned/files/patch-zeroconf-hotplugnotifier.cpp
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/files/patch-zeroconf-hotplugnotifier.cpp
@@ -0,0 +1,11 @@
+--- zeroconf/hotplugnotifier.cpp.orig 2021-09-18 16:22:32 UTC
++++ zeroconf/hotplugnotifier.cpp
+@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.
+
+ #include <atomic>
+ #include <csignal>
+-#include <libusb-1.0/libusb.h>
++#include <libusb.h>
+ #include <pthread.h>
+ #include <thread>
+
diff --git a/graphics/airsaned/pkg-descr b/graphics/airsaned/pkg-descr
new file mode 100644
--- /dev/null
+++ b/graphics/airsaned/pkg-descr
@@ -0,0 +1,21 @@
+A SANE WebScan frontend that supports Apple's AirScan protocol.
+Scanners are detected automatically, and published through mDNS.
+Though images may be acquired and transferred in JPEG, PNG, and
+PDF/raster format through a simple web interface, AirSane's intended
+purpose is to be used with AirScan/eSCL clients such as Apple's
+Image Capture.
+
+Images are encoded on-the-fly during acquisition, keeping memory/storage
+demands low. Thus, AirSane will run fine on a Raspberry Pi or similar
+device.
+
+AirSane has been developed by reverse-engineering the communication
+protocol implemented in Apple's AirScanScanner client (macos 10.12.6,
+/System/Library/Image Capture/Devices/AirScanScanner.app).
+
+Authentication and secure communication are not supported.
+
+If you are looking for a powerful SANE web frontend, AirSane may
+not be for you. You may be interested in phpSANE instead.
+
+WWW: https://github.com/SimulPiscator/AirSane
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Oct 6, 9:29 AM (2 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30194941
Default Alt Text
D32314.1791278948.diff (7 KB)
Attached To
Mode
D32314: graphics/airsaned: New port, Apple AirScan compatible SANE web frontend
Attached
Detach File
Event Timeline
Log In to Comment