commit: d89f94f0c810b3b2d1be752ee6ae2174b8c80102 Author: Johannes Huber <johu <AT> gmx <DOT> de> AuthorDate: Thu May 22 19:01:32 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu May 22 21:51:57 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d89f94f0
app-text/xpdf: fix build w/ cmake 4 Closes: https://bugs.gentoo.org/955692 Signed-off-by: Johannes Huber <johu <AT> gmx.de> Part-of: https://github.com/gentoo/gentoo/pull/42217 Closes: https://github.com/gentoo/gentoo/pull/42217 Signed-off-by: Sam James <sam <AT> gentoo.org> app-text/xpdf/files/xpdf-4.05-cmake4.patch | 13 +++ app-text/xpdf/xpdf-4.05-r2.ebuild | 157 +++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+) diff --git a/app-text/xpdf/files/xpdf-4.05-cmake4.patch b/app-text/xpdf/files/xpdf-4.05-cmake4.patch new file mode 100644 index 000000000000..5cb407ce9377 --- /dev/null +++ b/app-text/xpdf/files/xpdf-4.05-cmake4.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 90cefe3..0a42200 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,7 +8,7 @@ + # + #======================================================================== + +-cmake_minimum_required(VERSION 2.8.12) ++cmake_minimum_required(VERSION 3.5) + + project(xpdf) + diff --git a/app-text/xpdf/xpdf-4.05-r2.ebuild b/app-text/xpdf/xpdf-4.05-r2.ebuild new file mode 100644 index 000000000000..d1ebcd5dc1c7 --- /dev/null +++ b/app-text/xpdf/xpdf-4.05-r2.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/xpdf.asc +inherit cmake desktop verify-sig xdg + +DESCRIPTION="PDF viewer and toolkit" +HOMEPAGE="https://www.xpdfreader.com" +SRC_URI="https://dl.xpdfreader.com/${P}.tar.gz + i18n? ( + https://dl.xpdfreader.com/xpdf-arabic.tar.gz + https://dl.xpdfreader.com/xpdf-chinese-simplified.tar.gz -> xpdf-chinese-simplified-20231205.tar.gz + https://dl.xpdfreader.com/xpdf-chinese-traditional.tar.gz -> xpdf-chinese-traditional-20201222.tar.gz + https://dl.xpdfreader.com/xpdf-cyrillic.tar.gz + https://dl.xpdfreader.com/xpdf-greek.tar.gz + https://dl.xpdfreader.com/xpdf-hebrew.tar.gz + https://dl.xpdfreader.com/xpdf-japanese.tar.gz -> xpdf-japanese-20201222.tar.gz + https://dl.xpdfreader.com/xpdf-korean.tar.gz -> xpdf-korean-20231205.tar.gz + https://dl.xpdfreader.com/xpdf-latin2.tar.gz + https://dl.xpdfreader.com/xpdf-thai.tar.gz + https://dl.xpdfreader.com/xpdf-turkish.tar.gz + ) + verify-sig? ( https://dl.xpdfreader.com/${P}.tar.gz.sig )" + +LICENSE="|| ( GPL-2 GPL-3 ) i18n? ( BSD )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cmyk cups +fontconfig i18n icons +libpaper metric opi png +textselect utils" + +BDEPEND=" + icons? ( gnome-base/librsvg ) + verify-sig? ( sec-keys/openpgp-keys-xpdf ) +" +DEPEND=" + dev-qt/qtbase:6[concurrent,network,widgets] + media-libs/freetype + sys-libs/zlib + cups? ( + dev-qt/qtbase:6[gui,widgets] + net-print/cups + ) + fontconfig? ( media-libs/fontconfig ) + libpaper? ( app-text/libpaper:= ) + utils? ( png? ( media-libs/libpng:0 ) ) +" +RDEPEND="${DEPEND} + dev-qt/qtsvg:6 + media-fonts/urw-fonts +" + +PATCHES=( + "${FILESDIR}"/${PN}-automagic.patch + "${FILESDIR}"/${PN}-visibility.patch + "${FILESDIR}"/${PN}-shared-libs.patch + "${FILESDIR}"/${PN}-4.05-font-paths.patch + "${FILESDIR}"/${P}-cmake4.patch +) + +DOCS=( ANNOUNCE CHANGES README ) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.sig} + fi + default +} + +src_prepare() { + sed -i \ + "s|/usr/local/etc|${EPREFIX}/etc|; + s|/usr/local|${EPREFIX}/usr|" \ + doc/sample-xpdfrc || die + + if use i18n; then + sed -i "s|/usr/local|${EPREFIX}/usr|" "${WORKDIR}"/*/add-to-xpdfrc || die + fi + + xdg_environment_reset + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DA4_PAPER=$(usex metric) + -DNO_FONTCONFIG=$(usex fontconfig off on) + -DNO_TEXT_SELECT=$(usex textselect off on) + -DOPI_SUPPORT=$(usex opi) + -DSPLASH_CMYK=$(usex cmyk) + -DWITH_LIBPAPER=$(usex libpaper) + -DWITH_LIBPNG=$(usex png) + -DXPDFWIDGET_PRINTING=$(usex cups) + -DSYSTEM_XPDFRC="${EPREFIX}/etc/xpdfrc" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use icons; then + sizes="16 22 24 32 36 48 64 72 96 128 192 256 512" + cd xpdf-qt + mkdir $sizes + local i + for i in $sizes; do + rsvg-convert xpdf-icon.svg -w $i -h $i -o $i/xpdf.png + done + fi +} + +src_install() { + cmake_src_install + + domenu "${FILESDIR}/xpdf.desktop" + newicon -s scalable xpdf-qt/xpdf-icon.svg xpdf.svg + if use icons; then + local i + for i in $sizes; do + doicon -s $i xpdf-qt/$i/xpdf.png + done + unset sizes + fi + + insinto /etc + newins doc/sample-xpdfrc xpdfrc + + local d i + if use utils; then + for d in "bin" "share/man/man1"; do + pushd "${ED}/usr/${d}" || die + for i in pdf*; do + mv "${i}" "x${i}" || die + done + popd || die + done + + einfo "PDF utilities were renamed from pdf* to xpdf* to avoid file collisions" + einfo "with other packages" + else + rm -rf "${ED}"/usr/bin/pdf* \ + "${ED}"/usr/share/man/man1/pdf* \ + "${ED}"/usr/$(get_libdir) || die + fi + + if use i18n; then + for i in arabic chinese-simplified chinese-traditional cyrillic greek \ + hebrew japanese korean latin2 thai turkish; do + insinto "/usr/share/xpdf/${i}" + doins -r $(find -O3 "${WORKDIR}/xpdf-${i}" -maxdepth 1 -mindepth 1 \ + ! -name README ! -name add-to-xpdfrc || die) + + cat "${WORKDIR}/xpdf-${i}/add-to-xpdfrc" >> "${ED}/etc/xpdfrc" || die + done + fi +}
