summaryrefslogtreecommitdiff
path: root/user/sane
diff options
context:
space:
mode:
Diffstat (limited to 'user/sane')
-rw-r--r--user/sane/APKBUILD54
-rw-r--r--user/sane/BTS-304.patch30
-rw-r--r--user/sane/check.patch2
-rw-r--r--user/sane/network.patch25
-rw-r--r--user/sane/pidfile.patch2
-rw-r--r--user/sane/sane.pre-install2
-rw-r--r--user/sane/saned.pre-install3
7 files changed, 77 insertions, 41 deletions
diff --git a/user/sane/APKBUILD b/user/sane/APKBUILD
index 1a5e2fc16..2eade25c0 100644
--- a/user/sane/APKBUILD
+++ b/user/sane/APKBUILD
@@ -3,16 +3,17 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=sane
_pkgname=sane-backends
-pkgver=1.0.27
-pkgrel=4
+pkgver=1.3.1
+_hash=83bdbb6c9a115184c2d48f1fdc6847db
+pkgrel=0
pkgdesc="Scanner access library"
url="http://www.sane-project.org/"
arch="all"
-license="GPL-2.0+ AND GPL-2.0+-with-sane-exception AND Public-Domain"
+license="GPL-2.0+ AND Public-Domain"
depends=""
makedepends="diffutils file libtool libusb-dev v4l-utils-dev net-snmp-dev
libpng-dev libjpeg-turbo-dev tiff-dev libgphoto2-dev libieee1284-dev
- linux-headers ncurses-dev"
+ libxml2-dev linux-headers ncurses-dev python3-dev"
install="saned.pre-install $pkgname.pre-install"
pkgusers="saned"
pkggroups="scanner"
@@ -20,37 +21,37 @@ _backends="abaton agfafocus apple artec artec_eplus48u as6e avision bh canon
canon630u canon_dr canon_pp cardscan coolscan coolscan2 coolscan3 dc25
dc210 dc240 dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu
genesys gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpsj5s
- hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx kvs40xx leo lexmark
- ma1509 magicolor matsushita microtek microtek2 mustek mustek_pp
- mustek_usb mustek_usb2 nec net niash p5 pie pieusb pixma plustek
- plustek_pp ricoh rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan
- sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax_pp
- umax1220u v4l xerox_mfp"
+ hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx leo lexmark ma1509
+ magicolor matsushita microtek microtek2 mustek mustek_pp mustek_usb
+ nec net niash p5 pie pieusb pixma plustek plustek_pp ricoh ricoh2
+ rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680
+ tamarack teco1 teco2 teco3 test u12 umax umax_pp umax1220u v4l
+ xerox_mfp"
case "$CARCH" in
x86*) _backends="$_backends qcam";;
esac
-_pkgdesc_dell1600n_net="SANE backend for Dell 1600n that supports colour and monochrome scans over ethernet, usb not supported"
+_pkgdesc_dell1600n_net="SANE backend for Dell 1600n (Ethernet only; USB not supported)"
for _backend in $_backends; do
subpackages="$subpackages $pkgname-backend-$_backend:_backend"
done
subpackages="$pkgname-doc $pkgname-dev $subpackages $pkgname-utils saned
- $pkgname-udev::noarch $_pkgname::noarch"
-source="http://distfiles.gentoo.org/distfiles/$_pkgname-$pkgver.tar.gz
+ saned-openrc:openrc:noarch $pkgname-udev::noarch $_pkgname::noarch
+ $pkgname-lang"
+source="https://gitlab.com/sane-project/backends/uploads/$_hash/$_pkgname-$pkgver.tar.gz
saned.initd
include.patch
network.patch
pidfile.patch
check.patch
+ BTS-304.patch
"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- cd "$builddir"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
- --with-docdir=/usr/share/doc/$pkgname \
--with-usb \
--disable-rpath \
--disable-locking
@@ -58,14 +59,12 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- echo -n "" > "$pkgdir"/etc/sane.d/dll.conf
+ printf "" > "$pkgdir"/etc/sane.d/dll.conf
install -Dm644 backend/dll.aliases "$pkgdir"/etc/sane.d/dll.aliases
}
@@ -81,6 +80,12 @@ saned() {
mkdir -p "$subpkgdir"/etc/sane.d "$subpkgdir"/usr
mv "$pkgdir"/etc/sane.d/saned.conf "$subpkgdir"/etc/sane.d
mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/
+}
+
+openrc() {
+ pkgdesc="Network scanner server (OpenRC runscripts)"
+ depends="saned"
+ install_if="saned=$pkgver-r$pkgrel openrc"
install -Dm755 "$srcdir"/saned.initd "$subpkgdir"/etc/init.d/saned
}
@@ -101,7 +106,7 @@ udev() {
backends() {
local _backend;
pkgdesc="$pkgdesc (metapackage)"
- depends="$pkgname-utils $pkgname-saned"
+ depends="$pkgname-utils saned"
for _backend in $_backends; do
[ "$_backend" = "test" ] && continue
depends="$depends $pkgname-backend-$_backend"
@@ -110,7 +115,7 @@ backends() {
}
_backend() {
- local name=${subpkgname#$pkgname-backend-}
+ local name="${subpkgname#$pkgname-backend-}"
depends="$pkgname"
pkgdesc=$(eval echo \$_pkgdesc_$name)
if [ ! "$pkgdesc" ]; then
@@ -134,9 +139,10 @@ _backend() {
fi
}
-sha512sums="c6552768bfc10216730fc11011c82f74ca0952182019ded3916072147ec09be5c975ce1d37dc3ccea050c488dbdf983c2ca17dcd702644060ba796ae2591f9c5 sane-backends-1.0.27.tar.gz
+sha512sums="c6c12bce5242fcdf208f034cc544605cad36fad60316cb51f0e1f6fe23d1566823778c7af4b0fc94ca4154e2cd3e38a9202073e4a4af05f641c3da081722a535 sane-backends-1.3.1.tar.gz
0a06eaa28b345202f2bdf8361e06f843bb7a010b7d8f80132f742672c94249c43f64031cefa161e415e2e2ab3a53b23070fb63854283f9e040f5ff79394ac7d1 saned.initd
1779ff8beb1ba5f9238c25d819a7f0045f7e257c19b511315feb85650e445ca86450a9e1d7ff8650499d3dae808589a6c2e358d5f3f39a3f40ce4999179b86d6 include.patch
-9cb595841f59b5105ecc85e4c0ad8781c52caa2354fb823c920ec467e88afbe47f2b3f4a7a3980bef5dbf22983c5786f051a9d10aea97b4bf7c4a05378592029 network.patch
-09505943f9441854a6c333f19e2535b4a646a8cc060fe82c6261e7d29c72773ebe98d43a91acc951f4336a3c8b4c84ab7c7b0763426136b4b59d9546bc2fa8c0 pidfile.patch
-cfa327209efd9a2a2db7cbcf571852959823aaa19b43d5f6415834cd5ae38b6324ecae16779f6f896aa0d7ac890fe23244100b7d6a68e5e9d52cd38ec82bfac8 check.patch"
+ef5d572bd29463e0690f6b45ddc609045ba6e40ab7c6bdab065b9480eef38884604650fd390d2a3c46b1f13b228e700392a6f635b4d7372130de6b2106208405 network.patch
+30ef4a151e896ad415bab5e6a2963611321ff39d4b91d591d2678a5f73b1cd809f90855f970edec3d944aa0f48fb2902c20184794f941312b849e7ab44967030 pidfile.patch
+4de6f60452c0451769f5ce41e41ca4c2867a723e0d2bf22796dc8a266359bdc8a9e9542f4ba2dc42b15bd25b1c83d2c339177796043fdbcbc9d73ad4957f723c check.patch
+9c4877335531415df4aa37d797927765076f2e98d7301e057b24d5e45a696b75e86140eec403a599508c270ff63faf29b07ced6591a647ff48d280edcab70208 BTS-304.patch"
diff --git a/user/sane/BTS-304.patch b/user/sane/BTS-304.patch
new file mode 100644
index 000000000..6d36589e9
--- /dev/null
+++ b/user/sane/BTS-304.patch
@@ -0,0 +1,30 @@
+diff --git a/backend/genesys/image_pixel.cpp b/backend/genesys/image_pixel.cpp
+index 1b83e127d..1ebba7fe0 100644
+--- a/backend/genesys/image_pixel.cpp
++++ b/backend/genesys/image_pixel.cpp
+@@ -23,6 +23,7 @@
+ #include "image.h"
+
+ #include <array>
++#include <cmath>
+
+ namespace genesys {
+
+@@ -184,7 +185,7 @@ void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel, PixelForma
+ float val = (pixel.r >> 8) * 0.3f;
+ val += (pixel.g >> 8) * 0.59f;
+ val += (pixel.b >> 8) * 0.11f;
+- data[x] = static_cast<std::uint16_t>(val);
++ data[x] = static_cast<std::uint16_t>(roundf(val));
+ return;
+ }
+ case PixelFormat::I16: {
+@@ -192,7 +193,7 @@ void set_pixel_to_row(std::uint8_t* data, std::size_t x, Pixel pixel, PixelForma
+ float val = pixel.r * 0.3f;
+ val += pixel.g * 0.59f;
+ val += pixel.b * 0.11f;
+- auto val16 = static_cast<std::uint16_t>(val);
++ auto val16 = static_cast<std::uint16_t>(roundf(val));
+ data[x] = val16 & 0xff;
+ data[x + 1] = (val16 >> 8) & 0xff;
+ return;
diff --git a/user/sane/check.patch b/user/sane/check.patch
index afbc7ef4c..e79ecbdf7 100644
--- a/user/sane/check.patch
+++ b/user/sane/check.patch
@@ -1,6 +1,6 @@
--- a/testsuite/sanei/Makefile.in
+++ b/testsuite/sanei/Makefile.in
-@@ -77,7 +77,7 @@
+@@ -87,7 +87,7 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
diff --git a/user/sane/network.patch b/user/sane/network.patch
index 4e422e28d..a8f53cfce 100644
--- a/user/sane/network.patch
+++ b/user/sane/network.patch
@@ -1,23 +1,22 @@
-diff --git a/sanei/sanei_tcp.c b/sanei/sanei_tcp.c
-index a57d7c7..d0a1e92 100644
---- a/sanei/sanei_tcp.c
-+++ b/sanei/sanei_tcp.c
-@@ -45,6 +45,7 @@
- #include <unistd.h>
+--- sane-backends-1.0.30/sanei/sanei_tcp.c 2020-05-17 06:54:18.000000000 -0500
++++ sane-backends-1.0.30/sanei/sanei_tcp.c 2020-06-10 14:10:06.980398975 -0500
+@@ -44,6 +44,7 @@
#include <stdlib.h>
#include <string.h>
+ #include <limits.h>
+#include <time.h>
- #ifdef HAVE_WINSOCK2_H
- #include <winsock2.h>
-@@ -123,14 +124,27 @@ sanei_tcp_write(int fd, const u_char * buf, int count)
- ssize_t
- sanei_tcp_read(int fd, u_char * buf, int count)
+ #ifndef SSIZE_MAX
+ #define SSIZE_MAX LONG_MAX
+@@ -128,6 +130,7 @@ sanei_tcp_read(int fd, u_char * buf, siz
{
-- ssize_t bytes_recv = 0, rc = 1;
-+ ssize_t bytes_recv = 0, rc = 1;
+ size_t bytes_recv = 0;
+ ssize_t rc = 1;
+ int retry = 5;
+ if (count > SSIZE_MAX) {
+ errno = EINVAL;
+@@ -137,9 +139,21 @@ sanei_tcp_read(int fd, u_char * buf, siz
while (bytes_recv < count && rc > 0)
{
rc = recv(fd, buf+bytes_recv, count-bytes_recv, 0);
diff --git a/user/sane/pidfile.patch b/user/sane/pidfile.patch
index 457755bdb..579c99939 100644
--- a/user/sane/pidfile.patch
+++ b/user/sane/pidfile.patch
@@ -1,6 +1,6 @@
--- a/frontend/saned.c
+++ b/frontend/saned.c
-@@ -224,7 +224,7 @@
+@@ -230,7 +230,7 @@
int numchildren;
#define SANED_CONFIG_FILE "saned.conf"
diff --git a/user/sane/sane.pre-install b/user/sane/sane.pre-install
index b75c867de..9b89cab57 100644
--- a/user/sane/sane.pre-install
+++ b/user/sane/sane.pre-install
@@ -1,5 +1,5 @@
#!/bin/sh
-addgroup -S scanner 2>/dev/null
+groupadd -r scanner 2>/dev/null
exit 0
diff --git a/user/sane/saned.pre-install b/user/sane/saned.pre-install
index caad990d9..79ca791dd 100644
--- a/user/sane/saned.pre-install
+++ b/user/sane/saned.pre-install
@@ -1,5 +1,6 @@
#!/bin/sh
-adduser -SDH -h /run/saned -s /sbin/nologin -G scanner -g saned saned 2>/dev/null
+useradd -c saned -s /sbin/nologin -g scanner \
+ -m -d /run/saned -r saned 2>/dev/null
exit 0