summaryrefslogtreecommitdiff
path: root/app-text
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-11 01:41:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-11 01:41:34 -0500
commitfc39c62a8944e95c0ecccfc9781763822b23e66c (patch)
tree11feafa0dbddccf6fcd9dabb290b0ce5faafec36 /app-text
parent98068fb4a1502cade02134b1834439134ca4eed1 (diff)
downloadbaldeagleos-repo-fc39c62a8944e95c0ecccfc9781763822b23e66c.tar.gz
baldeagleos-repo-fc39c62a8944e95c0ecccfc9781763822b23e66c.tar.xz
baldeagleos-repo-fc39c62a8944e95c0ecccfc9781763822b23e66c.zip
Adding metadata
Diffstat (limited to 'app-text')
-rw-r--r--app-text/doxygen/doxygen-1.13.2.ebuild6
-rw-r--r--app-text/doxygen/doxygen-1.14.0.ebuild6
-rw-r--r--app-text/doxygen/doxygen-1.15.0-r2.ebuild6
-rw-r--r--app-text/doxygen/doxygen-1.15.0.ebuild6
-rw-r--r--app-text/doxygen/doxygen-1.16.1.ebuild4
-rw-r--r--app-text/doxygen/doxygen-9999.ebuild8
-rw-r--r--app-text/ghostscript-gpl/ghostscript-gpl-10.06.0-r2.ebuild3
-rw-r--r--app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild5
-rw-r--r--app-text/groonga/Manifest2
-rw-r--r--app-text/groonga/groonga-16.0.0-r2.ebuild112
-rw-r--r--app-text/groonga/groonga-16.1.0.ebuild147
-rw-r--r--app-text/groonga/metadata.xml12
-rw-r--r--app-text/mupdf/Manifest1
-rw-r--r--app-text/mupdf/files/mupdf-1.28.2-cross-fixes.patch180
-rw-r--r--app-text/mupdf/mupdf-1.28.2.ebuild184
-rw-r--r--app-text/poppler/poppler-26.05.0-r1.ebuild2
-rw-r--r--app-text/sword/files/sword-1.9.0-fix_glob_testfiles.patch22
-rw-r--r--app-text/sword/sword-1.9.0-r2.ebuild8
-rw-r--r--app-text/xpdf/Manifest4
-rw-r--r--app-text/xpdf/files/xpdf-4.06-font-paths.patch135
-rw-r--r--app-text/xpdf/files/xpdf-4.06-shared-libs.patch47
-rw-r--r--app-text/xpdf/xpdf-4.06.ebuild157
22 files changed, 911 insertions, 146 deletions
diff --git a/app-text/doxygen/doxygen-1.13.2.ebuild b/app-text/doxygen/doxygen-1.13.2.ebuild
index 6c0bbcdbabe5..7985dd75e41c 100644
--- a/app-text/doxygen/doxygen-1.13.2.ebuild
+++ b/app-text/doxygen/doxygen-1.13.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic llvm-r1 python-any-r1
+inherit cmake flag-o-matic llvm-r2 python-any-r1
DESCRIPTION="Documentation system for most programming languages"
HOMEPAGE="https://www.doxygen.nl/"
@@ -75,7 +75,7 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md )
pkg_setup() {
- use clang && llvm-r1_pkg_setup
+ use clang && llvm-r2_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/app-text/doxygen/doxygen-1.14.0.ebuild b/app-text/doxygen/doxygen-1.14.0.ebuild
index d2ff16fecfb0..d688431472ec 100644
--- a/app-text/doxygen/doxygen-1.14.0.ebuild
+++ b/app-text/doxygen/doxygen-1.14.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic llvm-r1 python-any-r1
+inherit cmake flag-o-matic llvm-r2 python-any-r1
DESCRIPTION="Documentation system for most programming languages"
HOMEPAGE="https://www.doxygen.nl/"
@@ -75,7 +75,7 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md )
pkg_setup() {
- use clang && llvm-r1_pkg_setup
+ use clang && llvm-r2_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/app-text/doxygen/doxygen-1.15.0-r2.ebuild b/app-text/doxygen/doxygen-1.15.0-r2.ebuild
index 200653817b53..967e4ba47bce 100644
--- a/app-text/doxygen/doxygen-1.15.0-r2.ebuild
+++ b/app-text/doxygen/doxygen-1.15.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic llvm-r1 python-any-r1
+inherit cmake flag-o-matic llvm-r2 python-any-r1
DESCRIPTION="Documentation system for most programming languages"
HOMEPAGE="https://www.doxygen.nl/"
@@ -79,7 +79,7 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md )
pkg_setup() {
- use clang && llvm-r1_pkg_setup
+ use clang && llvm-r2_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/app-text/doxygen/doxygen-1.15.0.ebuild b/app-text/doxygen/doxygen-1.15.0.ebuild
index 532fae7426f6..89ca83e3c5e1 100644
--- a/app-text/doxygen/doxygen-1.15.0.ebuild
+++ b/app-text/doxygen/doxygen-1.15.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic llvm-r1 python-any-r1
+inherit cmake flag-o-matic llvm-r2 python-any-r1
DESCRIPTION="Documentation system for most programming languages"
HOMEPAGE="https://www.doxygen.nl/"
@@ -75,7 +75,7 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md )
pkg_setup() {
- use clang && llvm-r1_pkg_setup
+ use clang && llvm-r2_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/app-text/doxygen/doxygen-1.16.1.ebuild b/app-text/doxygen/doxygen-1.16.1.ebuild
index b39bfbf43ae5..320e04538ac6 100644
--- a/app-text/doxygen/doxygen-1.16.1.ebuild
+++ b/app-text/doxygen/doxygen-1.16.1.ebuild
@@ -8,7 +8,7 @@ LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic llvm-r1 python-any-r1
+inherit cmake flag-o-matic llvm-r2 python-any-r1
DESCRIPTION="Documentation system for most programming languages"
HOMEPAGE="https://www.doxygen.nl/"
@@ -78,7 +78,7 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md )
pkg_setup() {
- use clang && llvm-r1_pkg_setup
+ use clang && llvm-r2_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/app-text/doxygen/doxygen-9999.ebuild b/app-text/doxygen/doxygen-9999.ebuild
index 532fae7426f6..606c587322dc 100644
--- a/app-text/doxygen/doxygen-9999.ebuild
+++ b/app-text/doxygen/doxygen-9999.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-LLVM_COMPAT=( 18 19 20 21 )
+LLVM_COMPAT=( 18 19 20 21 22 )
LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic llvm-r1 python-any-r1
+inherit cmake flag-o-matic llvm-r2 python-any-r1
DESCRIPTION="Documentation system for most programming languages"
HOMEPAGE="https://www.doxygen.nl/"
@@ -75,7 +75,7 @@ PATCHES=(
DOCS=( LANGUAGE.HOWTO README.md )
pkg_setup() {
- use clang && llvm-r1_pkg_setup
+ use clang && llvm-r2_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0-r2.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0-r2.ebuild
index bdca788372e9..077a4b906693 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0-r2.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0-r2.ebuild
@@ -159,6 +159,9 @@ src_configure() {
FONTPATH="${FONTPATH}${FONTPATH:+:}${EPREFIX}${path}"
done
+ # use target config in cross build, bug #982024
+ use cups && local -x CUPSCONFIG="${ESYSROOT}/usr/bin/cups-config"
+
# Do not add --enable-dynamic here, it's not supported fully upstream
# https://bugs.ghostscript.com/show_bug.cgi?id=705895
# bug #884707
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild
index ce671c1f7e79..dd4cb4518f92 100644
--- a/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-10.06.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -146,6 +146,9 @@ src_configure() {
FONTPATH="${FONTPATH}${FONTPATH:+:}${EPREFIX}${path}"
done
+ # use target config in cross build, bug #982024
+ use cups && local -x CUPSCONFIG="${ESYSROOT}/usr/bin/cups-config"
+
# Do not add --enable-dynamic here, it's not supported fully upstream
# https://bugs.ghostscript.com/show_bug.cgi?id=705895
# bug #884707
diff --git a/app-text/groonga/Manifest b/app-text/groonga/Manifest
index 0b895b4b400b..78a2bc12db2d 100644
--- a/app-text/groonga/Manifest
+++ b/app-text/groonga/Manifest
@@ -1,2 +1,2 @@
-DIST groonga-16.0.0.tar.gz 98489769 BLAKE2B 3a6bf3e07640b0a42f6c1b9efd86ef83e97277559d91b0840de5855d02bc816fdefa2a728853f546e73ae453bcff18eec982755dd6b9a7e24ea30044920e5adc SHA512 07302ae8b9be29a5a68c5d97e6e4967cfefc69938f1239a47e3d841f3cd94636825d1c93109b3d3194821177ad4b2e0f80d315090d8d956951ba5af88bb0affd
DIST groonga-16.0.1.tar.gz 101743993 BLAKE2B 93f4905d874ffd4c94ddb3ce6a8e01290b72382ceaac89414865cd555e0e3e5de33b69146e19572ba4dd9fbde666791b714507773c12d009c37e7aa0b0351e3e SHA512 11cf2ad2a5430b231f46b1a2625309d56943c013ae4dc632c1bf71ed1b1fb8613077ac5784b17d28238045ca0a8fc4b046905ea5edd53b71761c4f9ba8c69b1c
+DIST groonga-16.1.0.tar.gz 103693853 BLAKE2B b6a050442fb9ec63fa7d86e1addf037d1e61bd326ba3bbc29c80acd95796e32b9daf3cd7378ce06cc46c432fb6aae5ff23a659b23a8894311a929a022a136354 SHA512 f0c623b242f56e0e9f068d752742a961160a3e1b4a6cc61c69f058856f10d3ff98a359f032bec74522fa69dd3ae5a2b8cd0214882b8c6f8a1c8cb4d4c515610e
diff --git a/app-text/groonga/groonga-16.0.0-r2.ebuild b/app-text/groonga/groonga-16.0.0-r2.ebuild
deleted file mode 100644
index 4012d0950e60..000000000000
--- a/app-text/groonga/groonga-16.0.0-r2.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 libtool
-
-DESCRIPTION="An Embeddable Fulltext Search Engine"
-HOMEPAGE="https://groonga.org/"
-SRC_URI="https://packages.groonga.org/source/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="benchmark debug doc +exact-alloc-count examples futex libedit libevent lzo +mecab msgpack +nfkc sphinx static-libs uyield zeromq zlib zstd"
-
-DEPEND="
- acct-group/groonga
- acct-user/groonga
- >=dev-libs/onigmo-6.1.1:0=
- dev-libs/rapidjson
- dev-libs/xxhash
- benchmark? ( >=dev-libs/glib-2.8 )
- libedit? ( >=dev-libs/libedit-3 )
- libevent? ( dev-libs/libevent:0= )
- lzo? ( dev-libs/lzo )
- mecab? ( >=app-text/mecab-0.80 )
- msgpack? ( dev-libs/msgpack:= )
- sphinx? ( >=dev-python/sphinx-1.0.1 )
- zeromq? ( net-libs/zeromq:0= )
- zlib? ( virtual/zlib:= )
- zstd? ( app-arch/zstd:0= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-distutils_enable_sphinx doc/source \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme
-
-src_prepare() {
- default
-
- elibtoolize
-}
-
-src_configure() {
- # httpd is a bundled copy of nginx; disabled for security reasons
- # prce only is used with httpd
- # Apache arrow, kytea and libstemmer are not available in Gentoo repo
- # ruby is only used for an http test
- local econfopts=(
- --disable-groonga-httpd
- --without-pcre
- --without-kytea
- --without-libstemmer
- --disable-apache-arrow
- --with-log-path="${EPREFIX}"/var/log/${PN}.log
- --without-luajit
- --without-ruby
- --with-shared-onigmo
- --with-onigmo=system
- --with-xxhash
- --without-jemalloc
- $(use_enable benchmark)
- $(use_enable debug memory-debug)
- $(use_enable doc document)
- $(use_enable exact-alloc-count)
- $(use_enable futex)
- $(use_enable libedit)
- $(use_with libevent)
- $(use_with lzo)
- $(use_with mecab)
- $(use_enable msgpack message-pack)
- $(use_with msgpack message-pack "${ESYSROOT}/usr")
- $(use_enable nfkc)
- $(use_with sphinx sphinx-build)
- $(use_enable static-libs static)
- $(use_enable uyield)
- $(use_enable zeromq)
- $(use_with zlib)
- $(use_with zstd)
- )
-
- econf "${econfopts[@]}"
-}
-
-src_compile() {
- use doc && MAKEOPTS+=" -j1" # docs fail with parallel build. Bug: 904135
- default
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-
- newinitd "${FILESDIR}/${PN}.initd" ${PN}
- newconfd "${FILESDIR}/${PN}.confd" ${PN}
-
- keepdir /var/{log,lib}/${PN}
- fowners groonga:groonga /var/{log,lib}/${PN}
-
- if ! use examples ; then
- rm -r "${ED}/usr/share/${PN}" || die
- fi
-}
diff --git a/app-text/groonga/groonga-16.1.0.ebuild b/app-text/groonga/groonga-16.1.0.ebuild
new file mode 100644
index 000000000000..df7aa2341d0d
--- /dev/null
+++ b/app-text/groonga/groonga-16.1.0.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_QA_COMPAT_SKIP=1 # unused bundled rapidjson
+inherit cmake
+
+DESCRIPTION="Embeddable Fulltext Search Engine"
+HOMEPAGE="https://groonga.org/"
+SRC_URI="https://packages.groonga.org/source/groonga/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="apache-arrow blosc curl debug json libedit lz4 +mecab msgpack stemmer suggest-learner xxhash zstd"
+CPU_USE=(
+ cpu_flags_x86_{avx,avx2,avx512dq}
+)
+IUSE+=" ${CPU_USE[@]}"
+REQUIRED_USE="suggest-learner? ( msgpack )"
+
+RDEPEND="
+ acct-group/groonga
+ acct-user/groonga
+ dev-libs/onigmo:=
+ virtual/zlib:=
+ apache-arrow? ( dev-libs/apache-arrow:= )
+ blosc? ( >=dev-libs/c-blosc2-2.10.0:= )
+ curl? ( net-misc/curl )
+ json? ( dev-libs/simdjson:= )
+ libedit? ( dev-libs/libedit )
+ lz4? ( app-arch/lz4:= )
+ mecab? ( app-text/mecab )
+ msgpack? ( dev-libs/msgpack:= )
+ stemmer? ( dev-libs/snowball-stemmer:= )
+ suggest-learner? (
+ dev-libs/libevent:=
+ net-libs/zeromq:=
+ )
+ xxhash? ( >=dev-libs/xxhash-0.8.0 )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ amd64? ( dev-cpp/xsimd )
+ json? ( dev-cpp/jsoncons )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-16.0.1-cmakelists.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_comment_add_subdirectory vendor
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=TRUE
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+
+ -DGRN_ALLOW_WARNING=ON # avoid -Werror
+ -DGRN_EMBED=OFF # static
+ -DGRN_FOR_RHEL=OFF # TODO: adapt systemd unit
+ -DGRN_LOG_PATH="${EPREFIX}/var/log/${PN}.log"
+
+ # always OFF
+ -DGRN_WITH_BENCHMARKS=OFF # install nothing
+ -DGRN_WITH_BUNDLED_ONIGMO=OFF
+ -DGRN_WITH_BUNDLED_MESSAGE_PACK=OFF
+ -DGRN_WITH_LTO=OFF # handled by userflags
+ -DGRN_WITH_RAPIDJSON=no # deprecated
+ -DGRN_WITH_SIMSIMD=OFF # masked, old 3.8.0 bundled
+ -DGRN_WITH_UBSAN=OFF # it requires clang
+ -DGRN_WITH_WINDOWS_BACK_TRACE=OFF # only for windows
+
+ # always ON
+ -DGRN_WITH_DOC=ON # precompiled
+ -DGRN_WITH_EXAMPLES=ON # nothing to build
+ -DGRN_WITH_NFKC=ON # required for libgroonga #946976
+ -DGRN_WITH_TOOLS=ON # install ruby and bash scripts
+ -DGRN_WITH_ZLIB=ON # try to find zlib anyway
+
+ -DGRN_WITH_APACHE_ARROW=$(usex apache-arrow)
+ -DGRN_WITH_BLOSC=$(usex blosc system no)
+ -DGRN_WITH_CURL=$(usex curl system no)
+ -DGRN_WITH_MEMORY_DEBUG=$(usex debug)
+ -DGRN_WITH_JSONCONS=$(usex json system no) # headers-only, no useflag for it
+ -DGRN_WITH_SIMDJSON=$(usex json system no)
+ -DGRN_WITH_LIBEDIT=$(usex libedit system no)
+ -DGRN_WITH_LZ4=$(usex lz4 system no)
+ -DGRN_WITH_MECAB=$(usex mecab)
+ -DGRN_WITH_MESSAGE_PACK=$(usex msgpack)
+ -DGRN_WITH_LIBSTEMMER=$(usex stemmer)
+ -DGRN_WITH_LIBEVENT=$(usex suggest-learner)
+ -DGRN_WITH_ZEROMQ=$(usex suggest-learner)
+ -DGRN_WITH_XXHASH=$(usex xxhash system no)
+ -DGRN_WITH_ZSTD=$(usex zstd system no)
+
+ # TODO
+ -DGRN_WITH_MRUBY=OFF
+ -DGRN_WITH_MUNIN_PLUGINS=OFF
+
+ # not packaged in ::gentoo
+ -DGRN_WITH_BASE64=no # aklomp/base64
+ -DGRN_WITH_FAISS=no # facebookresearch/faiss
+ -DGRN_WITH_H3=no # uber/h3
+ -DGRN_WITH_KYTEA=no # neubig/kytea
+ -DGRN_WITH_LLAMA_CPP=no # ::guru
+ -DGRN_WITH_OPENZL=no # facebook/openzl
+ -DGRN_WITH_ROARING_BITMAPS=no # RoaringBitmap/CRoaring
+ -DGRN_WITH_USEARCH=no # unum-cloud/USearch
+ )
+
+ # xsimd profiles
+ if use amd64; then
+ mycmakeargs+=(
+ -DGRN_WITH_XSIMD=system
+ -DGRN_HAVE_AVX_FLAG=$(usex cpu_flags_x86_avx)
+ -DGRN_HAVE_AVX2_FLAG=$(usex cpu_flags_x86_avx2)
+ -DGRN_HAVE_AVX512DQ_FLAG=$(usex cpu_flags_x86_avx512dq)
+ )
+ #elif use arm64
+ # mycmakeargs+=(
+ # -DGRN_WITH_XSIMD=system
+ # -DGRN_HAVE_ARCH_ARMV8_A_FLAG=$(usex cpu_flags_arm_v8)
+ # )
+ else
+ mycmakeargs+=( -DGRN_WITH_XSIMD=no )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ keepdir /var/{log,lib}/${PN}
+ fowners groonga:groonga /var/{log,lib}/${PN}
+}
diff --git a/app-text/groonga/metadata.xml b/app-text/groonga/metadata.xml
index c6768be52f62..9a17744e7975 100644
--- a/app-text/groonga/metadata.xml
+++ b/app-text/groonga/metadata.xml
@@ -5,24 +5,14 @@
<flag name="apache-arrow">Enable support for Apache Arrow</flag>
<flag name="blosc">Allow using blosc compression via <pkg>dev-libs/c-blosc2</pkg>
</flag>
- <flag name="benchmark">Build benchmark programs</flag>
- <flag name="exact-alloc-count">Atomic counting for memory alloc count</flag>
- <flag name="futex">Use futex</flag>
- <flag name="json">Enable JSON processing using <pkg>dev-libs/rapidjson</pkg>
- </flag>
- <flag name="libevent">Enable <pkg>dev-libs/libevent</pkg> used for suggestion</flag>
+ <flag name="json">Enable JSON parser</flag>
<flag name="mecab">Use <pkg>app-text/mecab</pkg> for morphological analysis</flag>
<flag name="msgpack">Enable <pkg>dev-libs/msgpack</pkg> used for suggestion</flag>
- <flag name="nfkc">Use nfkc based utf8 normalization</flag>
- <flag name="sphinx">Enable document generation by <pkg>app-misc/sphinx</pkg>
- </flag>
<flag name="stemmer">Enable stemming token filter using <pkg>dev-libs/snowball-stemmer</pkg>
</flag>
<flag name="suggest-learner">Build groonga-suggest-learner to learn suggest result from groonga-suggest-httpd or query logs</flag>
- <flag name="uyield">Build for detecting race conditions</flag>
<flag name="xxhash">Enable drilldown by hashed key using <pkg>dev-libs/xxhash</pkg>
</flag>
- <flag name="zeromq">Enable <pkg>net-libs/zeromq</pkg> used for suggestion</flag>
</use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
index c5f2988e50c0..d15110538ddd 100644
--- a/app-text/mupdf/Manifest
+++ b/app-text/mupdf/Manifest
@@ -1,3 +1,4 @@
DIST mupdf-1.25.6-source.tar.gz 54637444 BLAKE2B f9fb771e96938c2862e10aa7482f52218cf5d159e77300016b64f2f10424d72e6ea13566abf8180eb2a31644d711755f93edc69189230d50a543408105881b55 SHA512 74aa127f7d7e91c8a51c04e130d113e0fcf444a09a8e96420bd66847b20a4fb92fad9e95376f3a7d9a91b3391ef4b44e5fb6a0bee38476d4ecf9e5ae34d9ed74
DIST mupdf-1.26.3-source.tar.gz 64525703 BLAKE2B 81272e198394e48872d31d982f9a89c0fe2ab065343569e18a696c06c660e8f7b113acca96cd34894a0d601761bf426af7b57ff45dc029167d6483eda88af885 SHA512 242b02e90e1e758cf8d6ffc34f6799011a1d599689cc2ae9330c14968769347e1e4201775258248e5cbb80fb7cffd690e938f73f202713752b5320ef8186c176
DIST mupdf-1.27.2-source.tar.gz 66968384 BLAKE2B 93c49059ee1ba9e4f3f3548178ea5d997f9b2ce82b801870e15defe42ee4a7c448edf69fedac3d8ced4833a07f7cd8b7fe5858165690a99126b8612a9d1e7844 SHA512 68c92007aac775d22dca151a7ae2d4e77755dbc0c8a6faeec8048aa3537de4e1b5a98d999e090460298f294d7aed62e3aa144817d78655435d9498b159ccd0dc
+DIST mupdf-1.28.2-source.tar.gz 68898646 BLAKE2B 70dac20fe7ac7007bfa7267f360e6fe334422610222932d31b433ad10b095b2057c73a5b61521674e8e9098106fbf212e50cf485f7a1cad67d523377266296d7 SHA512 aa574414f273f2463c98dc65773d33adc0e3909b0424fb5748f437791f85ef7298452a85db5fde342273a2b0fee738a8a5d6b9e1d93750302b647091b55bbfed
diff --git a/app-text/mupdf/files/mupdf-1.28.2-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.28.2-cross-fixes.patch
new file mode 100644
index 000000000000..a2330b82dfa6
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.28.2-cross-fixes.patch
@@ -0,0 +1,180 @@
+# Replace pkg-config calls by platform specific calls
+--- a/Makerules
++++ b/Makerules
+@@ -5,6 +5,7 @@ ifeq ($(OS),)
+ OS := $(shell uname)
+ endif
+
++PKG_CONFIG ?= $(PKG_CONFIG)
+ WARNING_CFLAGS := -Wall -Wsign-compare -Wshadow
+
+ # Feature configuration options
+@@ -231,13 +232,13 @@ ifeq ($(OS),Darwin)
+ ifneq ($(ARCHFLAGS),)
+ $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
+ HAVE_LIBCRYPTO := no
+- else ifeq (, $(shell command -v pkg-config))
+- $(warning "No pkg-config found, install it for proper integration of libcrypto")
++ else ifeq (, $(shell command -v $(PKG_CONFIG)))
++ $(warning "No $(PKG_CONFIG) found, install it for proper integration of libcrypto")
+ else
+- HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
++ HAVE_LIBCRYPTO := $(shell $(PKG_CONFIG) --exists 'libcrypto >= 1.1.0' && echo yes)
+ ifeq ($(HAVE_LIBCRYPTO),yes)
+- LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+- LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++ LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
++ LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
+ endif
+ endif
+
+@@ -251,78 +252,78 @@ else
+ LDFLAGS += -pthread
+ endif
+
+- ifeq ($(shell pkg-config --exists 'freetype2 >= 18.3.12' && echo yes),yes)
+- SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+- SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++ ifeq ($(shell $(PKG_CONFIG) --exists 'freetype2 >= 18.3.12' && echo yes),yes)
++ SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
++ SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
+ endif
+- ifeq ($(shell pkg-config --exists 'gumbo >= 0.10.0' && echo yes),yes)
+- SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
+- SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++ ifeq ($(shell $(PKG_CONFIG) --exists 'gumbo >= 0.10.0' && echo yes),yes)
++ SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
++ SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
+ endif
+- ifeq ($(shell pkg-config --exists 'harfbuzz >= 2.0.0' && echo yes),yes)
+- SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
+- SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++ ifeq ($(shell $(PKG_CONFIG) --exists 'harfbuzz >= 2.0.0' && echo yes),yes)
++ SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
++ SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
+ endif
+- ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
+- SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
+- SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
++ ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
++ SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
++ SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
+ endif
+- ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
+- SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
+- SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
++ ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
++ SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
++ SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
+ endif
+- ifeq ($(shell pkg-config --exists 'libopenjp2 >= 2.1.0' && echo yes),yes)
+- SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
+- SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++ ifeq ($(shell $(PKG_CONFIG) --exists 'libopenjp2 >= 2.1.0' && echo yes),yes)
++ SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
++ SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
+ endif
+- ifeq ($(shell pkg-config --exists 'zlib >= 1.2.6' && echo yes),yes)
+- SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+- SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
++ ifeq ($(shell $(PKG_CONFIG) --exists 'zlib >= 1.2.6' && echo yes),yes)
++ SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
++ SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
+ endif
+- ifeq ($(shell pkg-config --exists 'libbrotlidec libbrotlienc >= 0.6.0' && echo yes),yes)
+- SYS_BROTLI_CFLAGS := $(shell pkg-config --cflags libbrotlidec libbrotlienc)
+- SYS_BROTLI_LIBS := $(shell pkg-config --libs libbrotlidec libbrotlienc)
++ ifeq ($(shell $(PKG_CONFIG) --exists 'libbrotlidec libbrotlienc >= 0.6.0' && echo yes),yes)
++ SYS_BROTLI_CFLAGS := $(shell $(PKG_CONFIG) --cflags libbrotlidec libbrotlienc)
++ SYS_BROTLI_LIBS := $(shell $(PKG_CONFIG) --libs libbrotlidec libbrotlienc)
+ endif
+
+- HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
++ HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
+ ifeq ($(HAVE_SYS_LEPTONICA),yes)
+- SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
+- SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
++ SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
++ SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
+ endif
+
+- HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
++ HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
+ ifeq ($(HAVE_SYS_TESSERACT),yes)
+- SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
+- SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
++ SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
++ SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
+ endif
+
+- HAVE_SYS_LIBARCHIVE := $(shell pkg-config --exists 'libarchive' && echo yes)
++ HAVE_SYS_LIBARCHIVE := $(shell $(PKG_CONFIG) --exists 'libarchive' && echo yes)
+ ifeq ($(HAVE_SYS_LIBARCHIVE),yes)
+- SYS_LIBARCHIVE_CFLAGS := $(shell pkg-config --cflags libarchive)
+- SYS_LIBARCHIVE_LIBS := $(shell pkg-config --libs libarchive)
++ SYS_LIBARCHIVE_CFLAGS := $(shell $(PKG_CONFIG) --cflags libarchive)
++ SYS_LIBARCHIVE_LIBS := $(shell $(PKG_CONFIG) --libs libarchive)
+ endif
+
+- HAVE_SYS_ZXINGCPP := $(shell pkg-config --exists 'zxing >= 2.0.0' && echo yes)
++ HAVE_SYS_ZXINGCPP := $(shell $(PKG_CONFIG) --exists 'zxing >= 2.0.0' && echo yes)
+ ifeq ($(HAVE_SYS_ZXINGCPP),yes)
+- SYS_ZXINGCPP_CFLAGS := $(shell pkg-config --cflags zxing)
+- SYS_ZXINGCPP_LIBS := $(shell pkg-config --libs zxing)
++ SYS_ZXINGCPP_CFLAGS := $(shell $(PKG_CONFIG) --cflags zxing)
++ SYS_ZXINGCPP_LIBS := $(shell $(PKG_CONFIG) --libs zxing)
+ endif
+
+- HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++ HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
+ ifeq ($(HAVE_SYS_CURL),yes)
+- SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+- SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++ SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
++ SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
+ endif
+
+ ifeq ($(HAVE_GLUT),)
+- HAVE_GLUT := $(shell pkg-config --exists gl x11 xrandr && echo yes)
++ HAVE_GLUT := $(shell $(PKG_CONFIG) --exists gl x11 xrandr && echo yes)
+ endif
+ ifeq ($(HAVE_GLUT),yes)
+- SYS_GL_CFLAGS := $(shell pkg-config --cflags gl x11 xrandr)
+- SYS_GL_LIBS := $(shell pkg-config --libs gl x11 xrandr)
+- ifeq ($(shell pkg-config --exists glut && echo yes),yes)
+- SYS_GLUT_CFLAGS := $(shell pkg-config --cflags glut)
+- SYS_GLUT_LIBS := $(shell pkg-config --libs glut)
++ SYS_GL_CFLAGS := $(shell $(PKG_CONFIG) --cflags gl x11 xrandr)
++ SYS_GL_LIBS := $(shell $(PKG_CONFIG) --libs gl x11 xrandr)
++ ifeq ($(shell $(PKG_CONFIG) --exists glut && echo yes),yes)
++ SYS_GLUT_CFLAGS := $(shell $(PKG_CONFIG) --cflags glut)
++ SYS_GLUT_LIBS := $(shell $(PKG_CONFIG) --libs glut)
+ else
+ SYS_GLUT_CFLAGS :=
+ SYS_GLUT_LIBS := -lglut
+@@ -330,19 +331,19 @@ else
+ endif
+
+ ifeq ($(HAVE_X11),)
+- HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
++ HAVE_X11 := $(shell $(PKG_CONFIG) --exists x11 xext && echo yes)
+ endif
+ ifeq ($(HAVE_X11),yes)
+- X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+- X11_LIBS := $(shell pkg-config --libs x11 xext)
++ X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
++ X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
+ endif
+
+ ifeq ($(HAVE_LIBCRYPTO),)
+- HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
++ HAVE_LIBCRYPTO := $(shell $(PKG_CONFIG) --exists 'libcrypto >= 1.1.0' && echo yes)
+ endif
+ ifeq ($(HAVE_LIBCRYPTO),yes)
+- LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+- LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++ LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
++ LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
+ endif
+
+ HAVE_PTHREAD := yes
diff --git a/app-text/mupdf/mupdf-1.28.2.ebuild b/app-text/mupdf/mupdf-1.28.2.ebuild
new file mode 100644
index 000000000000..6f2b61ee3d55
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.28.2.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://cgit.ghostscript.com/mupdf.git/"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="archive barcode brotli +javascript +jpeg2k opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+ archive? ( app-arch/libarchive )
+ barcode? ( media-libs/zxing-cpp:= )
+ brotli? ( app-arch/brotli:= )
+ dev-libs/gumbo:=
+ media-libs/freetype:2
+ media-libs/harfbuzz:=[truetype]
+ media-libs/jbig2dec:=
+ media-libs/libpng:0=
+ >=media-libs/libjpeg-turbo-1.5.3-r2:0=
+ net-misc/curl
+ javascript? ( >=dev-lang/mujs-1.3.8:= )
+ jpeg2k? ( >=media-libs/openjpeg-2.1:2= )
+ opengl? ( >=media-libs/freeglut-3.0.0 )
+ ssl? ( >=dev-libs/openssl-1.1:0= )
+ virtual/zlib:=
+ X? (
+ media-libs/libglvnd[X]
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+ "${FILESDIR}"/${PN}-1.27.2-Makefile.patch
+ "${FILESDIR}"/${PN}-1.24.8-add-desktop-pc-files.patch
+ "${FILESDIR}"/${P}-cross-fixes.patch
+ "${FILESDIR}"/${PN}-1.24.1-darwin.patch
+ "${FILESDIR}"/${PN}-1.27.2-fix-system-zxing-cpp.patch
+ # See bug #662352
+ "${FILESDIR}"/${PN}-1.27.2-openssl-x11.patch
+ # General cross fixes from Debian (refreshed)
+ "${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
+)
+
+src_prepare() {
+ default
+
+ use hppa && append-cflags -ffunction-sections
+
+ append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+ if ! use jpeg2k; then
+ append-cflags "-DFZ_ENABLE_JPX=0"
+ sed -i '/_OPENJPEG_/d' Makerules || die
+ # See https://github.com/ArtifexSoftware/mupdf/pull/60
+ sed -i '/openjpeg.h/d' 'source/fitz/encode-jpx.c' || die
+ fi
+
+ sed -e "1iOS = Linux" \
+ -e "1iCC = $(tc-getCC)" \
+ -e "1iCXX = $(tc-getCXX)" \
+ -e "1iLD = $(tc-getLD)" \
+ -e "1iAR = $(tc-getAR)" \
+ -e "1iverbose = yes" \
+ -e "1ibuild = debug" \
+ -e "1ibarcode = $(usex barcode)" \
+ -e "1ibrotli = $(usex brotli)" \
+ -e "1imujs = $(usex javascript)" \
+ -i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+
+ # Adjust MuPDF version in .pc file created by the
+ # [...]-add-desktop-pc-files.patch file
+ sed -e "s/Version: \(.*\)/Version: ${PV}/" \
+ -i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
+}
+
+_emake() {
+ # When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+ #
+ # Bundled libs
+ # * General
+ # Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+ # recommendations. It does not mean "always use system libs".
+ # See [0] below for what it means in a specific version.
+ #
+ # * freeglut
+ # We don't use system's freeglut because upstream has a special modified
+ # version of it that gives mupdf clipboard support. See bug #653298
+ #
+ # * mujs
+ # As of v1.15.0, mupdf started using symbols in mujs that were not part
+ # of any release. We then went back to using the bundled version of it.
+ # But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+ # when bumping and check!
+ # See bug #685244
+ #
+ # * lmms2
+ # mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+ # It is therefore not appropriate for us to unbundle it at this time.
+ #
+ # [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+ # [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+ local myemakeargs=(
+ GENTOO_PV=${PV}
+ HAVE_GLUT=$(usex opengl)
+ HAVE_LIBCRYPTO=$(usex ssl)
+ HAVE_X11=$(usex X)
+ HAVE_ZXINGCPP=$(usex barcode)
+ HAVE_MUJS=$(usex javascript)
+ HAVE_SYS_ZXINGCPP=$(usex barcode)
+ USE_SYSTEM_LIBS=yes
+ USE_SYSTEM_BROTLI=$(usex brotli)
+ USE_SYSTEM_GLUT=no
+ USE_SYSTEM_MUJS=$(usex javascript)
+ USE_SYSTEM_ZXINGCPP=$(usex barcode)
+ HAVE_OBJCOPY=no
+ "$@"
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+ tc-export PKG_CONFIG
+
+ _emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+ if use opengl || use X ; then
+ domenu platform/debian/${PN}.desktop
+ doicon -s scalable docs/logo/${PN}-icon.svg
+ else
+ rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+ fi
+
+ sed -i \
+ -e "1iprefix = ${ED}/usr" \
+ -e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+ -e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+ -i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+ _emake install
+
+ dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+ if use opengl ; then
+ einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+ dosym ${PN}-gl /usr/bin/${PN}
+ elif use X ; then
+ einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+ dosym ${PN}-x11 /usr/bin/${PN}
+ fi
+
+ # Respect libdir and EPREFIX (bugs #734898, #911965)
+ sed -i -e "s:/lib:/$(get_libdir):" \
+ -e "s:/usr:${EPREFIX}/usr:" platform/debian/${PN}.pc \
+ || die "Failed to sed pkgconfig file to respect libdir and EPREFIX in src_install()"
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins platform/debian/${PN}.pc
+
+ dodoc README CHANGES CONTRIBUTORS
+}
diff --git a/app-text/poppler/poppler-26.05.0-r1.ebuild b/app-text/poppler/poppler-26.05.0-r1.ebuild
index 7fdf84e5413f..e57d1f4199a4 100644
--- a/app-text/poppler/poppler-26.05.0-r1.ebuild
+++ b/app-text/poppler/poppler-26.05.0-r1.ebuild
@@ -18,7 +18,7 @@ else
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
SRC_URI+=" test? ( https://gitlab.freedesktop.org/poppler/test/-/archive/${TEST_COMMIT}/test-${TEST_COMMIT}.tar.bz2 -> ${PN}-test-${TEST_COMMIT}.tar.bz2 )"
SRC_URI+=" verify-sig? ( https://poppler.freedesktop.org/${P}.tar.xz.sig )"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
SLOT="0/160" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
diff --git a/app-text/sword/files/sword-1.9.0-fix_glob_testfiles.patch b/app-text/sword/files/sword-1.9.0-fix_glob_testfiles.patch
new file mode 100644
index 000000000000..a5c36b3f7082
--- /dev/null
+++ b/app-text/sword/files/sword-1.9.0-fix_glob_testfiles.patch
@@ -0,0 +1,22 @@
+Fix dash: replace shell brace expansion with FILE(GLOB)
+--- a/tests/testsuite/CMakeLists.txt
++++ b/tests/testsuite/CMakeLists.txt
+@@ -7,9 +7,17 @@ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/sword.conf" "[Install]\nLocalePath=${CMA
+ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/sword.conf"
+ "[Install]\nLocalePath=${CMAKE_CURRENT_SOURCE_DIR}/../../")
+
++FILE(GLOB TEST_SUITE
++ "${CMAKE_CURRENT_SOURCE_DIR}/*.sh"
++ "${CMAKE_CURRENT_SOURCE_DIR}/*.good"
++ "${CMAKE_CURRENT_SOURCE_DIR}/*.imp"
++ "${CMAKE_CURRENT_SOURCE_DIR}/*.txt"
++ "${CMAKE_CURRENT_SOURCE_DIR}/*.xml"
++)
++
+ ADD_CUSTOM_TARGET(
+ tests_configure
+- COMMAND cp "${CMAKE_CURRENT_SOURCE_DIR}/*.{sh,good,imp,txt,xml}" "${CMAKE_CURRENT_BINARY_DIR}"
++ COMMAND ${CMAKE_COMMAND} -E copy ${TEST_SUITE} "${CMAKE_CURRENT_BINARY_DIR}"
+ DEPENDS ${test_PROGRAMS}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
diff --git a/app-text/sword/sword-1.9.0-r2.ebuild b/app-text/sword/sword-1.9.0-r2.ebuild
index 6a144ff6384c..b15957a6c8f7 100644
--- a/app-text/sword/sword-1.9.0-r2.ebuild
+++ b/app-text/sword/sword-1.9.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
DESCRIPTION="Library for Bible reading software"
HOMEPAGE="https://www.crosswire.org/sword/"
@@ -30,11 +30,15 @@ BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-1.9.0-cflags.patch
"${FILESDIR}"/${PN}-1.9.0-cmake4.patch
+ "${FILESDIR}"/${PN}-1.9.0-fix_glob_testfiles.patch
)
DOCS=( AUTHORS CODINGSTYLE ChangeLog README examples/ samples/ )
src_configure() {
+ # Fix test compilation with char16_t stream operators removed in C++20
+ use test && append-cxxflags -std=c++17
+
local mycmakeargs=(
# skip unnecessary tests, bug #954771
-DCMAKE_DISABLE_FIND_PACKAGE_cppcheck="ON"
diff --git a/app-text/xpdf/Manifest b/app-text/xpdf/Manifest
index 9f6126d7c163..9fa4de52ee1f 100644
--- a/app-text/xpdf/Manifest
+++ b/app-text/xpdf/Manifest
@@ -1,5 +1,8 @@
DIST xpdf-4.05.tar.gz 986596 BLAKE2B 1ea706486c4597ced45bed8dea500173d65e5ec4bdbfac087d27916ee30d26f07ebef262a94d99e1bb192aa85434c5ad0e9008d6997a6e991b1fd251e87a7637 SHA512 1ee18a2fcae138e60158cf6289f588832a982e1b13995382a396d1953949cf4e32cb4f9884f2506154512d961853e70ff499a35c525e707c3bf2950fe7f9040b
DIST xpdf-4.05.tar.gz.sig 801 BLAKE2B 4cd3e4a35bf548eb3a55e6204535d0131a1595195a25362a60cead8f629d3b0e8f799fa066d0b46cea35eeb24b5b3e6253563e1c0a8ba941c0d8eea7bcfbeb2c SHA512 86500cf8d5a7d588784f94dddf5d4533cfff1700b4f193add9c417896fd92d011b52615f341f30e82224740e845b7f870b9277d7f3cb1b250fd0db2bbd3123d1
+DIST xpdf-4.06.tar.gz 999317 BLAKE2B cd1d6a839bff4b13fb4461466600823f786057bcd782ba518eb788ac5dc1a6c539fd07208ff95718d48153c4d58ada6519c7f830a6c315e82987f3ed4ef9dd34 SHA512 ace2d2c006411ef40f3510fe34809e6ed5fd4a2367ac11a75e9d4795aa5054e72f12e307165d11a25b12609d33b279b9b99d9c072442e98308a77ad022bc8355
+DIST xpdf-4.06.tar.gz.sig 801 BLAKE2B 588fd4c647431862f2774e9bb7213486691a2584dd872d813eb41abe8425e67f904e25ee1e024553f8c768b862a37e171376f61102d039032ae84197d5be31b0 SHA512 2df5d491a2126c9f879896c623193cfb6e7b38da53a1eaac4060b77569d84b2d28a12e3a1285d31bb9a422f774f3d70238d47bfec388db1222fc041627da1ec7
+DIST xpdf-arabic-20260323.tar.gz 1494 BLAKE2B 4e63b6cd4b8f4b75eb38b4e5c9fb31a937ac54c6b176cc9e1616b6f0d8de34d08cf86caa792f4dab14bcf28e3d56f85a990e2d5fb9ccec18cf23cdd9ec31ce81 SHA512 be009d121fac793f5305e52756ed665502a3155fb557bf87c5c7e0a895dec6e833b154311f9507d88e9d3f142b3fd61d130e44a87df577fd40c4fb5c2090e8f5
DIST xpdf-arabic.tar.gz 1057 BLAKE2B 5889fa5704a805b152886043ee32082d5e60044fb96f91d429661f823d1ea9c929dcae22460421a7c26a7aae43d5926263fa2a1ea4c07e0e130e67f2fb0b6fab SHA512 1ddaee045c0c3576bda0ebf065021e66e1ac6673d6872aff8e8afb3bae33dd927d920d89761553bade040d20e4b60eb286131bdb2f2d75ec1e833b9a9ce58d3e
DIST xpdf-chinese-simplified-20231205.tar.gz 913753 BLAKE2B 1c8a38a0804a461cc9db435fd7e57df9a8513870d4d82d3a01ccd9182d0d0755f669f116bc5d919cdc510719c40be6d3ae2a83a9424fd6414e79f6ab05ec96cc SHA512 81d5111b08e5f67a7a110acd2689eff8c80196709942f22e6e6a087b1f1e477b4126385fa48634168b3ba12ade580f6bf52529a44e3db81394d5d51c30e27385
DIST xpdf-chinese-traditional-20201222.tar.gz 922808 BLAKE2B 39a9bc094061298eb2afbdb8a53d71bf4e1fb1fbe33ca7a8855a34e4ece1b319edc334db71fec72df1860362878b401557fb623eaa2ca8c7ed973d5344e57e75 SHA512 c7709409f00365fea83f92db74401b6afbe4ceab9290d9471b9226b71ff24823d19054472d5700fbd91043859e78958628b82afa8b0361544247a76cf9d21d1e
@@ -9,5 +12,6 @@ DIST xpdf-hebrew.tar.gz 1317 BLAKE2B bfd5bddc250c1ae1e01fe68f1a4caa649d2a443d3c3
DIST xpdf-japanese-20201222.tar.gz 1012686 BLAKE2B 14d59d2dd73dc9be913fb7557bce4844d2babbb88a573f9b962e7cc39e55268bb1a93c69c59585dc6b8aea8e6d771571e0105d1b9ee008ff07c80ae606125ed4 SHA512 f4e33525038f89c7b6ffb06b5b49726ab66ad1d61f5d0b813054ccefc035871e50996f31f3f67e6079eccf4c00619f582bdb2e1059df70e0101731a1e067d950
DIST xpdf-korean-20231205.tar.gz 809244 BLAKE2B f24d521d17d675a1054aed0df12b4105a7d5d732e6c7d50041e6c664157bac4dd93d30a23d1d4366983090f4a69d620a9ade4b4d1829fb128b09581f3e388113 SHA512 145330ea8dbc0ce7d9ca011f7f4a74dd23e766077938a542abf3e8edd3ab6dc6d4b0f747bbf5bc6ca63086313ac0187515c93b2d5766a98039ddd5f1c709f8e1
DIST xpdf-latin2.tar.gz 1431 BLAKE2B db8c823c4e90643b9d08c9a4106f479470236a00115d2dc6f3a71da4bc9b5e33561da5ac5dce81cbf5fc943a65572f3595601f6e9f31a3fba9bc0d35f28e0016 SHA512 5fe0b60bfac7f0f4a26e3e7216de5043f6b94446f464c984b7c25431ec01a5912952c0dc66bb2c7159c9f63e4805689c6cfc761086aad9e59f1f21d0cddb5d15
+DIST xpdf-thai-20250813.tar.gz 2109 BLAKE2B afd39e882d146a32cb0f955f302a3793fb0ffd918bc001fb4dbde12f3d36db40cbeadde37835ce80e4f286fd0292c24a60a04e302b366f2d045f9a32bf2717cd SHA512 c738ef97c57630feb4d1bae3df36ba02118f73e770caeef4bd3256740b9aadb94ec07b993a01a6abc9ba711d6dc2900f90eb7e1c7bbbf157f07160be1743d3f1
DIST xpdf-thai.tar.gz 1878 BLAKE2B dbcc2aa2652c40c2220688767a58cadcfbe39310d6c2664b98392a03b00de6d558fa3f333a085e7c6ff3476b6ffcd98fcc228eeb8dd59e905f870c8a39143ac9 SHA512 5584b590e34da29285c379e3b7a7243c28241ec6fddb3e4a8e2e7bf88b8f7aaae3483061d12c332a1ff042ec5e2b31869a67d60512ac48f7903c5e2fc871aa87
DIST xpdf-turkish.tar.gz 1137 BLAKE2B f735e9842361a5a73fabe40aa4e9cb552475d3751df3e885c5a1a68e0de8ca7b5a031e6332495f70abdc1e943fa615f09185e9ba22922f37f02e42f59ddfc57c SHA512 a73e90bce8f2a12154b06ef29333a45d96258c0d653d5cb15afd2e5ad9e79a9b617e5f8ebeb20bde545684d50f3bc1349800c99f70c863bdd502c24c266b4fb1
diff --git a/app-text/xpdf/files/xpdf-4.06-font-paths.patch b/app-text/xpdf/files/xpdf-4.06-font-paths.patch
new file mode 100644
index 000000000000..75ec99d875b0
--- /dev/null
+++ b/app-text/xpdf/files/xpdf-4.06-font-paths.patch
@@ -0,0 +1,135 @@
+from fedora: https://src.fedoraproject.org/rpms/xpdf/raw/f44/f/xpdf-4.06-urw-base35-fonts.patch
+see https://bugs.gentoo.org/916446
+fix urw-fonts
+--- xpdf-4.06/xpdf/GlobalParams.cc.urw-font-fix
++++ xpdf-4.06/xpdf/GlobalParams.cc
+@@ -84,98 +84,98 @@ static struct {
+ double obliqueFactor; // oblique sheer factor
+ } displayFontTab[] = {
+ {"Courier", // name
+- "n022003l.pfb", // t1FileName
++ "NimbusMonoPS-Regular.t1", // t1FileName
+ "cour.ttf", // ttFileName
+ "Courier", "Courier", // macFileName, macFontName
+ "NimbusMonoPS-Regular", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Courier-Bold", // name
+- "n022004l.pfb", // t1FileName
++ "NimbusMonoPS-Bold.t1", // t1FileName
+ "courbd.ttf", // ttFileName
+ "Courier", "Courier Bold", // macFileName, macFontName
+ "NimbusMonoPS-Bold", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Courier-BoldOblique", // name
+- "n022024l.pfb", // t1FileName
++ "NimbusMonoPS-BoldItalic.t1", // t1FileName
+ "courbi.ttf", // ttFileName
+ "Courier", "Courier Bold Oblique", // macFileName, macFontName
+ "NimbusMonoPS-BoldItalic", // fcFontName
+ "Courier-Bold", 0.212557 // obliqueFont, obliqueFactor
+ },
+ {"Courier-Oblique", // name
+- "n022023l.pfb", // t1FileName
++ "NimbusMonoPS-Italic.t1", // t1FileName
+ "couri.ttf", // ttFileName
+ "Courier", "Courier Oblique", // macFileName, macFontName
+ "NimbusMonoPS-Italic", // fcFontName
+ "Courier", 0.212557 // obliqueFont, obliqueFactor
+ },
+ {"Helvetica", // name
+- "n019003l.pfb", // t1FileName
++ "NimbusSans-Regular.t1", // t1FileName
+ "arial.ttf", // ttFileName
+ "Helvetica", "Helvetica", // macFileName, macFontName
+ "NimbusSans-Regular", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Helvetica-Bold", // name
+- "n019004l.pfb", // t1FileName
++ "NimbusSans-Bold.t1", // t1FileName
+ "arialbd.ttf", // ttFileName
+ "Helvetica", "Helvetica Bold", // macFileName, macFontName
+ "NimbusSans-Bold", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Helvetica-BoldOblique", // name
+- "n019024l.pfb", // t1FileName
++ "NimbusSans-BoldItalic.t1", // t1FileName
+ "arialbi.ttf", // ttFileName
+ "Helvetica", "Helvetica Bold Oblique", // macFileName, macFontName
+ "NimbusSans-BoldItalic", // fcFontName
+ "Helvetica-Bold", 0.212557 // obliqueFont, obliqueFactor
+ },
+ {"Helvetica-Oblique", // name
+- "n019023l.pfb", // t1FileName
++ "NimbusSans-Italic.t1", // t1FileName
+ "ariali.ttf", // ttFileName
+ "Helvetica", "Helvetica Oblique", // macFileName, macFontName
+ "NimbusSans-Italic", // fcFontName
+ "Helvetica", 0.212557 // obliqueFont, obliqueFactor
+ },
+ {"Symbol", // name
+- "s050000l.pfb", // t1FileName
++ "StandardSymbolsPS.t1", // t1FileName
+ NULL, // ttFileName
+ "Symbol", "Symbol", // macFileName, macFontName
+ "Standard Symbols PS", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Times-Bold", // name
+- "n021004l.pfb", // t1FileName
++ "NimbusRoman-Bold.t1", // t1FileName
+ "timesbd.ttf", // ttFileName
+ "Times", "Times Bold", // macFileName, macFontName
+ "NimbusRoman-Bold", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Times-BoldItalic", // name
+- "n021024l.pfb", // t1FileName
++ "NimbusRoman-BoldItalic.t1", // t1FileName
+ "timesbi.ttf", // ttFileName
+ "Times", "Times Bold Italic", // macFileName, macFontName
+ "NimbusRoman-BoldItalic", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Times-Italic", // name
+- "n021023l.pfb", // t1FileName
++ "NimbusRoman-Italic.t1", // t1FileName
+ "timesi.ttf", // ttFileName
+ "Times", "Times Italic", // macFileName, macFontName
+ "NimbusRoman-Italic", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"Times-Roman", // name
+- "n021003l.pfb", // t1FileName
++ "NimbusRoman-Regular.t1", // t1FileName
+ "times.ttf", // ttFileName
+ "Times", "Times Roman", // macFileName, macFontName
+ "NimbusRoman-Regular", // fcFontName
+ NULL, 0 // obliqueFont, obliqueFactor
+ },
+ {"ZapfDingbats", // name
+- "d050000l.pfb", // t1FileName
++ "D050000L.t1", // t1FileName
+ NULL, // ttFileName
+ "ZapfDingbats", "Zapf Dingbats", // macFileName, macFontName
+ "D050000L", // fcFontName
+@@ -192,6 +192,7 @@ static const char *displayFontDirs[] = {
+ "c:/windows/fonts",
+ "c:/winnt/fonts",
+ #else // _WIN32
++ "/usr/share/fonts/urw-fonts",
+ "/usr/share/ghostscript/fonts",
+ "/usr/local/share/ghostscript/fonts",
+ "/usr/share/fonts/default/Type1",
+@@ -2788,7 +2789,7 @@ UnicodeRemapping *GlobalParams::getUnico
+ }
+
+ GString *GlobalParams::findFontFile(GString *fontName) {
+- static const char *exts[] = { ".pfa", ".pfb", ".ttf", ".ttc", ".otf" };
++ static const char *exts[] = { ".pfa", ".pfb", ".t1", ".ttf", ".ttc", ".otf" };
+ GString *path, *dir;
+ #ifdef _WIN32
+ GString *fontNameU;
diff --git a/app-text/xpdf/files/xpdf-4.06-shared-libs.patch b/app-text/xpdf/files/xpdf-4.06-shared-libs.patch
new file mode 100644
index 000000000000..6a60b165f451
--- /dev/null
+++ b/app-text/xpdf/files/xpdf-4.06-shared-libs.patch
@@ -0,0 +1,47 @@
+--- xpdf-4.01.orig/cmake-config.txt
++++ xpdf-4.01/cmake-config.txt
+@@ -12,6 +12,9 @@
+ include(CheckCXXSourceCompiles)
+ include(GNUInstallDirs)
+
++set(XPDF_LIBDIR ${CMAKE_INSTALL_LIBDIR}/xpdf)
++set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/xpdf)
++
+ enable_language(CXX)
+
+ #--- set default C/C++ compiler flags for Unix
+--- xpdf-4.01.orig/fofi/CMakeLists.txt
++++ xpdf-4.01/fofi/CMakeLists.txt
+@@ -24,3 +24,5 @@
+ add_library(fofi
+ $<TARGET_OBJECTS:fofi_objs>
+ )
++
++install(TARGETS fofi LIBRARY DESTINATION ${XPDF_LIBDIR})
+--- xpdf-4.01.orig/goo/CMakeLists.txt
++++ xpdf-4.01/goo/CMakeLists.txt
+@@ -25,3 +25,5 @@
+ add_library(goo
+ $<TARGET_OBJECTS:goo_objs>
+ )
++
++install(TARGETS goo LIBRARY DESTINATION ${XPDF_LIBDIR})
+--- xpdf-4.01.orig/splash/CMakeLists.txt
++++ xpdf-4.01/splash/CMakeLists.txt
+@@ -44,4 +44,6 @@
+ add_library(splash
+ $<TARGET_OBJECTS:splash_objs>
+ )
++
++ install(TARGETS splash LIBRARY DESTINATION ${XPDF_LIBDIR})
+ endif ()
+--- xpdf-4.01.orig/xpdf-qt/CMakeLists.txt
++++ xpdf-4.01/xpdf-qt/CMakeLists.txt
+@@ -93,6 +93,7 @@
+ else ()
+ set_property(TARGET xpdf PROPERTY Qt5_NO_LINK_QTMAIN ON)
+ endif ()
++ set_property(TARGET xpdf PROPERTY INSTALL_RPATH "")
+
+ install(TARGETS xpdf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdf.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
diff --git a/app-text/xpdf/xpdf-4.06.ebuild b/app-text/xpdf/xpdf-4.06.ebuild
new file mode 100644
index 000000000000..7f1d81172b29
--- /dev/null
+++ b/app-text/xpdf/xpdf-4.06.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2026 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 -> xpdf-arabic-20260323.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 -> xpdf-thai-20250813.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
+ virtual/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}-4.06-shared-libs.patch
+ "${FILESDIR}"/${PN}-4.06-font-paths.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"
+ pushd xpdf-qt || die
+ local i
+ for i in ${SIZES}; do
+ mkdir ${i} || die
+ rsvg-convert xpdf-icon.svg -w ${i} -h ${i} -o ${i}/xpdf.png || die
+ done
+ popd || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ domenu "${FILESDIR}/xpdf.desktop"
+ newicon -s scalable xpdf-qt/xpdf-icon.svg xpdf.svg
+ local i
+ if use icons; then
+ 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
+ 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
+}