# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit autotools desktop strip-linguas toolchain-funcs DESCRIPTION="Graphical scanning frontend" HOMEPAGE="https://gitlab.com/sane-project/frontend/xsane" if [[ "${PV}" == 9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://gitlab.com/sane-project/frontend/xsane.git" else SRC_URI="http://www.xsane.org/download/${P}.tar.gz" KEYWORDS="~alpha amd64 arm ~arm64 ppc ppc64 ~sparc x86" fi SRC_URI+=" https://dev.gentoo.org/~soap/distfiles/${PN}-0.999-patches-4.tar.xz https://dev.gentoo.org/~pacho/${PN}/${PN}-256x256.png " LICENSE="GPL-2" SLOT="0" IUSE="nls jpeg png tiff gimp lcms" DEPEND=" dev-libs/glib:2 media-gfx/sane-backends virtual/zlib:= x11-libs/gtk+:2 x11-misc/xdg-utils jpeg? ( media-libs/libjpeg-turbo:= ) png? ( media-libs/libpng:= ) tiff? ( media-libs/tiff:= ) gimp? ( media-gfx/gimp:0/2 ) lcms? ( media-libs/lcms:2 ) " RDEPEND="${DEPEND}" BDEPEND="virtual/pkgconfig" PATCHES=( # Apply multiple fixes from different distributions, incl. Gentoo #"${WORKDIR}"/${PN}-0.999-patches-4 ) src_unpack() { if [[ "${PV}" == 9999 ]] ; then git-r3_src_unpack fi unpack ${A} } src_prepare() { if [[ "${PV}" == x9999 ]] ; then local patchdir="${WORKDIR}/${PN}-0.999-patches-4" rm "${patchdir}"/004-ipv6-support.patch || die rm "${patchdir}"/006-preview-selection.patch || die rm "${patchdir}"/100-remove-non-working-help.patch || die rm "${patchdir}"/101-xsane_fix_pdf_floats.patch || die rm "${patchdir}"/200-fix_options_handling_fix.patch || die rm "${patchdir}"/901-desktop-file.patch || die rm "${patchdir}"/902-license-dialog.patch || die rm "${patchdir}"/903-fix_broken_links.patch || die rm "${patchdir}"/904-fix_message_typo.patch || die rm "${patchdir}"/905-i18n_po_update_es_add_gl.patch || die rm "${patchdir}"/906-i18n_po_update_fr.patch || die rm "${patchdir}"/907-fix_spin_button_pagesize.patch || die rm "${patchdir}"/908-no-file-selected.patch || die rm "${patchdir}"/920-lcms2.patch || die rm "${patchdir}"/921-configure-clang16.patch || die fi default # bug #609672 strip-linguas -i po/ # Fix compability with libpng15 (bug #377363) sed -i -e 's:png_ptr->jmpbuf:png_jmpbuf(png_ptr):' src/xsane-save.c || die # Fix AR calling directly (bug #442606) #sed -i -e 's:ar r:$(AR) r:' lib/Makefile.in || die AT_M4DIR="m4" eautoreconf } src_configure() { tc-export AR local myeconfargs=( --enable-gtk2 $(use_enable nls) $(use_enable jpeg) $(use_enable png) $(use_enable tiff) $(use_enable gimp) $(use_enable lcms) ) econf "${myeconfargs[@]}" } src_install() { default dodoc xsane.* # link xsane so it is seen as a plugin in gimp if use gimp; then local plugindir gimptool=( "${ESYSROOT}"/usr/bin/gimptool* ) if [[ ${#gimptool[@]} -gt 0 ]]; then plugindir="$("${gimptool[0]}" --gimpplugindir)/plug-ins" else die "Can't find GIMP plugin directory." fi dosym -r /usr/bin/xsane "${plugindir}"/xsane fi newicon "${DISTDIR}/${PN}-256x256.png" "${PN}".png }