app-office/scribus: add 1.7.1_pre20251119, fixes build with Qt 6.10

Closes: https://bugs.gentoo.org/966341
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner 2025-11-23 18:53:29 +01:00
parent 7b7cc12666
commit fb5098595c
No known key found for this signature in database
GPG Key ID: AE591BBC73E4DD5E
2 changed files with 158 additions and 0 deletions

View File

@ -1 +1,2 @@
DIST scribus-1.7.1_pre20250929.tar.xz 73318868 BLAKE2B b6d6672ab0e9658f72f12b0601341239eb8e69b8123d6ee5bdf1fa934d4adb66e890d19f025809544e359029742dec60eb1fd88bba1e1ab69d6df321f96e39fc SHA512 deed0583d68a588442a3e9f00fbfa731007da502841403255e0398968bfc95eb6783cdb08c63add16013d79f51e94e7a927443cb45b10bd36a5ce4f540dbb7f9
DIST scribus-1.7.1_pre20251119.tar.xz 73390516 BLAKE2B de361f4669fbbebbc0d4550af7788e67a099a8f055b14d985573353890687ae7a64d17080e5c665d3ea2e390f4cc80b99203c159dde82811f70e3ba0c2132877 SHA512 3f9f8a0529416f3552ebf5246b75edb90bc705d18d09e7260e80bf3300c6eb1a5dbcd4e8aa5332ad2582dd9f63c9771eaf0cba60063b546b8b7a6fad28e809ef

View File

@ -0,0 +1,157 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
PYTHON_REQ_USE="tk?"
inherit cmake desktop flag-o-matic optfeature python-single-r1 xdg
DESCRIPTION="Desktop publishing (DTP) and layout program"
HOMEPAGE="https://www.scribus.net/"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/scribusproject/scribus"
inherit git-r3
else
if [[ ${PV} == *_p* ]] ; then
SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
S="${WORKDIR}/${PN^}"
else
SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}-devel/${PV}/${P}.tar.xz"
S="${WORKDIR}/${P}"
fi
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
fi
LICENSE="GPL-2"
SLOT="$(ver_cut 1-2)"
IUSE="+boost debug examples graphicsmagick +minimal osg +pdf scripts +templates tk"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
tk? ( scripts )"
# osg
# couple of third_party libs bundled
DEPEND="${PYTHON_DEPS}
app-text/hunspell:=
app-text/libmspub
app-text/libqxp
app-text/poppler:=
dev-libs/hyphen
dev-libs/icu:0=
dev-libs/librevenge
dev-libs/libxml2:=
dev-qt/qt5compat:6
dev-qt/qtbase:6[gui,network,opengl,X,xml,widgets]
dev-qt/qtsvg:6
media-libs/fontconfig
media-libs/freetype:2
media-libs/harfbuzz:0=[icu]
media-libs/lcms:2
media-libs/libcdr
media-libs/libfreehand
media-libs/libjpeg-turbo:=
media-libs/libpagemaker
media-libs/libpng:0=
media-libs/libvisio
media-libs/libzmf
media-libs/tiff:=
net-print/cups
virtual/minizip:=
x11-libs/cairo[X,svg(+)]
x11-libs/libxcb
boost? ( dev-libs/boost:= )
graphicsmagick? ( media-gfx/graphicsmagick:= )
osg? ( dev-games/openscenegraph:= )
pdf? ( app-text/podofo:0= )
scripts? (
$(python_gen_cond_dep '
dev-python/pillow[tk?,${PYTHON_USEDEP}]
')
)
"
RDEPEND="${DEPEND}
app-text/ghostscript-gpl
"
BDEPEND="
dev-qt/qttools:6[linguist]
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-1.5.8-cmake.patch # bug 886251
"${FILESDIR}"/${PN}-1.5.3-fpic.patch
"${FILESDIR}"/${PN}-1.7.0-findhyphen.patch
"${FILESDIR}"/${PN}-1.7.0-dont-install-qtadvanceddocking.patch # bugs 961290, 960017
"${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch
)
src_prepare() {
cmake_src_prepare
# for safety remove files that we patched out
rm -r scribus/third_party/hyphen || die
}
src_configure() {
# bug #550818
append-cppflags -DHAVE_MEMRCHR
local mycmakeargs=(
-DTAG_VERSION="-${SLOT}"
-DHAVE_PYTHON=ON
-DWANT_DISTROBUILD=ON
-DWANT_CPP17=ON
-DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}/
-DPython3_EXECUTABLE="${PYTHON}"
-DWITH_BOOST=$(usex boost)
-DWANT_DEBUG=$(usex debug)
-DWANT_NOEXAMPLES=$(usex !examples)
-DWANT_GRAPHICSMAGICK=$(usex graphicsmagick)
-DWANT_HEADERINSTALL=$(usex !minimal)
-DWANT_NOOSG=$(usex !osg)
-DWITH_PODOFO=$(usex pdf)
-DWANT_NOTEMPLATES=$(usex !templates)
)
cmake_src_configure
}
src_install() {
cmake_src_install
if ! use tk; then
rm "${ED}"/usr/share/scribus-${SLOT}/scripts/{FontSample,CalendarWizard}.py || die
fi
if use scripts; then
python_fix_shebang "${ED}"/usr/share/scribus-${SLOT}/scripts
python_optimize "${ED}"/usr/share/scribus-${SLOT}/scripts
else
rm "${ED}"/usr/share/scribus-${SLOT}/scripts/*.py || die
fi
mv "${ED}"/usr/share/doc/${PF}/{en,html} || die
ln -sf html "${ED}"/usr/share/doc/${PF}/en || die
# These files are parsed to populate the help/about window.
cat >> "${T}"/COPYING <<- EOF || die
${PN} is licensed under the "${LICENSE}".
Please visit https://www.gnu.org/licenses/gpl-2.0.html for the complete license text.
EOF
dodoc "${T}"/COPYING
docompress -x /usr/share/doc/${PF}/en /usr/share/doc/${PF}/{AUTHORS,TRANSLATION,LINKS,COPYING}
local size
for size in 16 32 128 256 512; do
newicon -s $size resources/iconsets/artwork/icon_${size}x${size}.png scribus-${SLOT}.png
done
newicon -s 64 resources/iconsets/artwork/icon_32x32@2x.png scribus-${SLOT}.png
newicon resources/iconsets/1_7_0/scribus-icon.svg scribus-${SLOT}.png
newmenu scribus.desktop scribus-${SLOT}.desktop
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "MS Word .doc file import filter support" app-text/antiword
}