# Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 MY_PROG="${P}-1" DESCRIPTION="Epson scanner management utility" HOMEPAGE="https://support.epson.net/linux/en/epsonscan2.php" SRC_URI="https://download3.ebz.epson.net/dsc/f/03/00/16/14/37/7577ee65efdad48ee2d2f38d9eda75418e490552/${MY_PROG}.src.tar.gz" S="${WORKDIR}/${MY_PROG}" inherit cmake desktop udev LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" IUSE="bundled-libs" DEPEND=" dev-libs/boost dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 media-gfx/sane-backends media-libs/libjpeg-turbo:= media-libs/libpng media-libs/tiff virtual/libusb:1 !bundled-libs? ( media-libs/libharu sys-libs/zlib ) " RDEPEND="${DEPEND}" PATCHES=( "${FILESDIR}/0002-Fix-crash.patch" "${FILESDIR}/0003-Use-XDG-open-to-open-the-directory.patch" "${FILESDIR}/0004-Fix-a-crash-on-an-OOB-container-access.patch" ) src_prepare() { sed -i \ -e '/\(execute_process.*\)${EPSON_INSTALL_ROOT}/d' \ -e "s|^\(set(EPSON_VERSION \).*|\1-${PV})|g" \ CMakeLists.txt || die if ! use bundled-libs; then # Force usage of system libraries rm -rf thirdparty/{HaruPDF,zlib} sed -i \ -e '/thirdparty\/HaruPDF/d' \ -e '/thirdparty\/zlib/d' \ -e 's|^\([[:blank:]]*\)\(usb-1.0\)|\1\2\n\1hpdf\n\1z|' \ src/Controller/CMakeLists.txt || die fi # Boost 1.87 compatibility (BOOST_NO_CXX11_RVALUE_REFERENCES should be set by Boost) find . -name CMakeLists.txt -exec sed -e '/add_definitions.*DBOOST_NO_CXX11_RVALUE_REFERENCES/d' -i {} \; find . \( -name "*.h" -o -name "*.hpp" -o -name "*.cpp" \) -exec sed -e '/#define.*BOOST_NO_CXX11_RVALUE_REFERENCES/d' -i {} \; # Remove improperly packaged CMake cache file rm -f CMakeCache.txt cmake_src_prepare } src_install() { cmake_src_install # Sane symlinks dosym ../epsonscan2/libsane-epsonscan2.so /usr/$(get_libdir)/sane/libsane-epsonscan2.so.1 dosym ../epsonscan2/libsane-epsonscan2.so /usr/$(get_libdir)/sane/libsane-epsonscan2.so.1.0.0 # Desktop icon domenu desktop/rpm/x86_64/epsonscan2.desktop } pkg_postinst() { udev_reload } pkg_postrm() { udev_reload }