diff options
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 48 | ||||
-rw-r--r-- | epsonscan2-crash.patch | 21 | ||||
-rw-r--r-- | epsonscan2-oob-container.patch | 20 | ||||
-rw-r--r-- | epsonscan2-xdg-open.patch | 26 |
5 files changed, 118 insertions, 24 deletions
@@ -1,21 +1,32 @@ pkgbase = epsonscan2 pkgdesc = Epson scanner management utility - pkgver = 6.6.2.4 + pkgver = 6.7.63.0 pkgrel = 1 url = http://support.epson.net/linux/en/epsonscan2.php arch = i686 - arch = pentium4 arch = x86_64 license = GPL3 makedepends = boost makedepends = cmake - depends = boost-libs - depends = libharu - depends = qt5-singlecoreapplication - depends = rapidjson + makedepends = libharu + makedepends = qt5-singlecoreapplication + makedepends = rapidjson + depends = libjpeg-turbo + depends = libpng + depends = libtiff + depends = libusb + depends = qt5-base depends = sane + depends = zlib optdepends = epsonscan2-non-free-plugin: OCR support and wireless scanning - source = http://support.epson.net/linux/src/scanner/epsonscan2/epsonscan2-6.6.2.4-1.src.tar.gz - sha512sums = 8a208e6e7654f20027b690d133ec7507d1070aa764b54861085ef7935afdc64b1d82182b9fd73ce7653b82216ae42787d514b366755bc55600837717f24895a6 + options = !buildflags + source = https://download3.ebz.epson.net/dsc/f/03/00/15/17/69/0ef02802c476a6564f13cac929859c394f40326a/epsonscan2-6.7.63.0-1.src.tar.gz + source = epsonscan2-crash.patch + source = epsonscan2-oob-container.patch + source = epsonscan2-xdg-open.patch + b2sums = d765082c258e77bc98a64457388bddf465d258b62617460b0d8d3b82c3d6e1833e69515995349d5536069e2a4aede705abc3c962a12107fdf0af45e8fe8d8eac + b2sums = 8f3b86bdafa8822e49c48b4189ee262c92d7aadeff4369979dd723b01efd1c392789451d77eef5a127c58795403fbc5364793d20b6d4e494b1eff3ed3c1153fb + b2sums = b6821eba16ab6d7e829ca74b1c46432f505e87421146d38d30a0ebd8eeecd93d12d57bad071232528be62beff54663d4fa58fbc8b992461b8acdd8a53a354b3a + b2sums = 514b3e0f871bbe36106615676cafd8c4d1ed284d25cad8cd691ba08f67ae36a3e53547ecf898596cccdcfe002b9c6eaddc6cc3c9448c53238ae81af7b0cd35cf pkgname = epsonscan2 @@ -1,45 +1,61 @@ # Maintainer: Tércio Martins <echo dGVyY2lvd2VuZGVsQGdtYWlsLmNvbQo= | base64 -d> pkgname=epsonscan2 -pkgver=6.6.2.4 -_pkgver="${pkgver}-1" +pkgver=6.7.63.0 +_pkgver="$pkgver-1" pkgrel=1 -arch=('i686' 'pentium4' 'x86_64') +arch=('i686' 'x86_64') pkgdesc="Epson scanner management utility" url="http://support.epson.net/linux/en/epsonscan2.php" license=('GPL3') -depends=('boost-libs' 'libharu' 'qt5-singlecoreapplication' 'rapidjson' 'sane') -makedepends=('boost' 'cmake') +depends=('libjpeg-turbo' 'libpng' 'libtiff' 'libusb' 'qt5-base' 'sane' 'zlib') +makedepends=('boost' 'cmake' 'libharu' 'qt5-singlecoreapplication' 'rapidjson') optdepends=('epsonscan2-non-free-plugin: OCR support and wireless scanning') -source=("http://support.epson.net/linux/src/scanner/${pkgname}/${pkgname}-${_pkgver}.src.tar.gz") -sha512sums=('8a208e6e7654f20027b690d133ec7507d1070aa764b54861085ef7935afdc64b1d82182b9fd73ce7653b82216ae42787d514b366755bc55600837717f24895a6') +options=('!buildflags') +source=('https://download3.ebz.epson.net/dsc/f/03/00/15/17/69/0ef02802c476a6564f13cac929859c394f40326a/epsonscan2-6.7.63.0-1.src.tar.gz' + 'epsonscan2-crash.patch' + 'epsonscan2-oob-container.patch' + 'epsonscan2-xdg-open.patch') +b2sums=('d765082c258e77bc98a64457388bddf465d258b62617460b0d8d3b82c3d6e1833e69515995349d5536069e2a4aede705abc3c962a12107fdf0af45e8fe8d8eac' + '8f3b86bdafa8822e49c48b4189ee262c92d7aadeff4369979dd723b01efd1c392789451d77eef5a127c58795403fbc5364793d20b6d4e494b1eff3ed3c1153fb' + 'b6821eba16ab6d7e829ca74b1c46432f505e87421146d38d30a0ebd8eeecd93d12d57bad071232528be62beff54663d4fa58fbc8b992461b8acdd8a53a354b3a' + '514b3e0f871bbe36106615676cafd8c4d1ed284d25cad8cd691ba08f67ae36a3e53547ecf898596cccdcfe002b9c6eaddc6cc3c9448c53238ae81af7b0cd35cf') prepare() { [[ -d build ]] && rm -r build; mkdir build sed -i 's|/lib/udev|${CMAKE_INSTALL_PREFIX}/lib/udev|' \ - "${srcdir}/${pkgname}-${_pkgver}/CMakeLists.txt" + "$srcdir/$pkgname-$_pkgver/CMakeLists.txt" sed -i '1 i #include "zlib.h"' \ - "${srcdir}/${pkgname}-${_pkgver}/src/CommonUtility/DbgLog.cpp" + "$srcdir/$pkgname-$_pkgver/src/CommonUtility/DbgLog.cpp" + + # Stability improvements from Flatpak maintainers + # https://github.com/flathub/net.epson.epsonscan2 + for file in crash oob-container xdg-open + do + patch --directory="$srcdir/$pkgname-$_pkgver" --forward --strip=1 --input="$srcdir/$pkgname-$file.patch" + done } build() { cd build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ - ../${pkgname}-${_pkgver} + -DQT_VERSION_MAJOR=5 \ + ../$pkgname-$_pkgver cmake --build . } package() { cd build - make DESTDIR="${pkgdir}" install + make DESTDIR="$pkgdir" install - install -Dm644 "${srcdir}/${pkgname}-${_pkgver}/desktop/rpm/i686/${pkgname}.desktop" \ - "${pkgdir}/usr/share/applications/${pkgname}.desktop" + install -Dm644 "$srcdir/$pkgname-$_pkgver/desktop/rpm/i686/$pkgname.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" - install -d ${pkgdir}/usr/lib/sane ; cd ${pkgdir}/usr/lib/sane - ln -s ../${pkgname}/libsane-epsonscan2.so libsane-epsonscan2.so.1 - ln -s ../${pkgname}/libsane-epsonscan2.so libsane-epsonscan2.so.1.0.0 + install -d $pkgdir/usr/lib/sane ; cd $pkgdir/usr/lib/sane + ln -s ../$pkgname/libsane-epsonscan2.so libsane-epsonscan2.so + ln -s ../$pkgname/libsane-epsonscan2.so libsane-epsonscan2.so.1 + ln -s ../$pkgname/libsane-epsonscan2.so libsane-epsonscan2.so.1.0.0 } diff --git a/epsonscan2-crash.patch b/epsonscan2-crash.patch new file mode 100644 index 000000000000..67fd8e46d26a --- /dev/null +++ b/epsonscan2-crash.patch @@ -0,0 +1,21 @@ +commit 1b36a6453e8af4bb7d7d470fa22c83200055b57e +Author: Hubert Figuière <hub@figuiere.net> +Date: Wed Oct 19 14:16:50 2022 -0400 + + Fix crash on device detection + +diff --git a/src/ES2Command/Src/Interface/ipc/ipcInterfaceImpl.cpp b/src/ES2Command/Src/Interface/ipc/ipcInterfaceImpl.cpp +index 0390a71..d98cd21 100644 +--- a/src/ES2Command/Src/Interface/ipc/ipcInterfaceImpl.cpp ++++ b/src/ES2Command/Src/Interface/ipc/ipcInterfaceImpl.cpp +@@ -131,7 +131,9 @@ ESErrorCode IPCInterfaceImpl::Open() + if(!ES_IsExistFile(dat_file)){ + FILE *fp; + fp = fopen(dat_file.c_str(),"w"); +- fclose(fp); ++ if (fp) { ++ fclose(fp); ++ } + } + + interrupt_.reset(new ipc_interrupt(delegate_, dat_file, IPC_SHARED_ID, IPC_SEMAHORE_KEY)); diff --git a/epsonscan2-oob-container.patch b/epsonscan2-oob-container.patch new file mode 100644 index 000000000000..f805363ea4d5 --- /dev/null +++ b/epsonscan2-oob-container.patch @@ -0,0 +1,20 @@ +commit 7e42ca6214a7f3b177b250a8e93b1230f1190f42 +Author: Hubert Figuière <hub@figuiere.net> +Date: Fri Oct 28 11:38:24 2022 -0400 + + Fix out of bound access on empty container + +diff --git a/src/Controller/Src/Finder/Finder.cpp b/src/Controller/Src/Finder/Finder.cpp +index 8e24f2f..13039cf 100644 +--- a/src/Controller/Src/Finder/Finder.cpp ++++ b/src/Controller/Src/Finder/Finder.cpp +@@ -38,6 +38,9 @@ namespace epsonscan { + } + SDIDeviceInfo* Finder::GetDevicesPointer() + { ++ if (devices_.size() == 0) { ++ return nullptr; ++ } + return &devices_[0]; + } + diff --git a/epsonscan2-xdg-open.patch b/epsonscan2-xdg-open.patch new file mode 100644 index 000000000000..54127f9408f5 --- /dev/null +++ b/epsonscan2-xdg-open.patch @@ -0,0 +1,26 @@ +commit 04bb229a5ed8d225b2bdf952dbb0ef3932d581bb +Author: Hubert Figuière <hub@figuiere.net> +Date: Wed Oct 19 14:39:03 2022 -0400 + + Use xdg-open to open directiories + +diff --git a/src/Standalone/savedestfolder.cpp b/src/Standalone/savedestfolder.cpp +index 4ab51a4..be11c4b 100644 +--- a/src/Standalone/savedestfolder.cpp ++++ b/src/Standalone/savedestfolder.cpp +@@ -37,7 +37,14 @@ bool SaveDestFolder::open_folder(Supervisor* sv) + if (result) { + //同じディレクトリを保存後に何度も開いてしまうためコマンドで開く仕様に + //上に記載されているほど使用優先度が高い +- if(system("which nautilus > /dev/null") == 0){ ++ if(system("which xdg-open > /dev/null") == 0){ ++ cmd_size = strlen("xdg-open "); ++ failer = (char *)malloc(cmd_size+1); ++ if(failer){ ++ memset(failer, 0, cmd_size+1); ++ memcpy(failer, "xdg-open", cmd_size); ++ } ++ }else if(system("which nautilus > /dev/null") == 0){ + cmd_size = strlen("nautilus "); + failer = (char *)malloc(cmd_size+1); + if(failer){ |