Page MenuHomeFreeBSD

D32314.1791278948.diff
No OneTemporary

Size
7 KB
Referenced Files
None
Subscribers
None

D32314.1791278948.diff

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

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)

Event Timeline