summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2023-02-05 16:33:43 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2023-02-06 11:35:21 +0100
commiteb70711765546964429e8734e71a17d26ce6cd56 (patch)
tree64848a4a0de1ff950fd15dc33cab37c060e10bed /app-office
parentdev-python/mkdocs-git-authors-plugin: add missing doc dep (diff)
downloadgentoo-eb70711765546964429e8734e71a17d26ce6cd56.tar.gz
gentoo-eb70711765546964429e8734e71a17d26ce6cd56.tar.bz2
gentoo-eb70711765546964429e8734e71a17d26ce6cd56.zip
app-office/scribus: Add python3_11, fix memleak, fix dashed lines
Use upstream poppler-22.09 support patch, amended by Debian for dashed lines fix. Drop CMAKE_BUILD_TYPE="Release" Hopefully stop cmake overwriting user optimisations Bug: https://bugs.gentoo.org/691684 Closes: https://bugs.gentoo.org/886251 Closes: https://bugs.gentoo.org/893158 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'app-office')
-rw-r--r--app-office/scribus/Manifest1
-rw-r--r--app-office/scribus/files/scribus-1.5.8-cmake.patch28
-rw-r--r--app-office/scribus/scribus-1.5.8-r5.ebuild168
3 files changed, 197 insertions, 0 deletions
diff --git a/app-office/scribus/Manifest b/app-office/scribus/Manifest
index b68a6cf5f28c..77fcc903a9bf 100644
--- a/app-office/scribus/Manifest
+++ b/app-office/scribus/Manifest
@@ -1 +1,2 @@
+DIST scribus-1.5.8-patchset-1.tar.xz 7396 BLAKE2B f8c7b6eb83bfdca715a46c09f4168db332d52b4d4bdc12946bd3ca88bd9b6c67a22c034b58ca62149cbe483ca75efa646589d367245db68136b0bdbcf91dae20 SHA512 ee9bc984b0593fb2f0e727e45dac12b6d1fd1117d0e42d531ab7a49b55b0d72b5c36fc40709750571eb8c70e19f5b59e69faefa40c5706d82f1b6db18baff28d
DIST scribus-1.5.8.tar.xz 74543476 BLAKE2B 6eacf3089db88b673bd146a9727af4faa4e64901b332dbe08e6c62c912212bfd0e9e2003796df51621ee7d66262388ecfc3bed057a22d1d7fb1740e77fe50686 SHA512 eb46be0165eeb0d8974aa744fc8ffac321b206ca0015da39bb2f50d9fd4a5e28300a49ada0f963b4e0cf9a3301dc746ffba74f359f5e76d308d80b71ee669c2d
diff --git a/app-office/scribus/files/scribus-1.5.8-cmake.patch b/app-office/scribus/files/scribus-1.5.8-cmake.patch
new file mode 100644
index 000000000000..a461ee20c281
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.5.8-cmake.patch
@@ -0,0 +1,28 @@
+--- a/CMakeLists.txt 2022-01-23 17:14:43.000000000 +0100
++++ b/CMakeLists.txt 2023-02-05 15:59:57.828047452 +0100
+@@ -362,25 +362,6 @@
+ if(APPLE)
+ ### Include our Apple configure commands
+ include(CMakeLists_Apple.cmake)
+-else()
+- if(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
+- # Windows build with Visual Studio
+- # Surely there's a better way to identify the compiler?
+- set(CMAKE_CXX_FLAGS_DEBUG)
+- set(CMAKE_C_FLAGS_DEBUG)
+- else()
+- # vanilla gcc
+- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -fstrict-aliasing")
+- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -Wall -fstrict-aliasing")
+- endif()
+- if(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
+- set(CMAKE_CXX_FLAGS_RELEASE)
+- set(CMAKE_C_FLAGS_RELEASE)
+- else()
+- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -Wall")
+- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -Wall")
+- # add_definitions(-DNDEBUG)
+- endif()
+ endif()
+ if(WIN32)
+ add_definitions(-DWIN32_LEAN_AND_MEAN
diff --git a/app-office/scribus/scribus-1.5.8-r5.ebuild b/app-office/scribus/scribus-1.5.8-r5.ebuild
new file mode 100644
index 000000000000..6f8c9ec7de09
--- /dev/null
+++ b/app-office/scribus/scribus-1.5.8-r5.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PATCHSET=${P}-patchset-1
+PYTHON_COMPAT=( python3_{9..11} )
+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/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}-devel/${PV}/${P}.tar.xz
+https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="+boost debug examples graphicsmagick hunspell +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/libmspub
+ app-text/libqxp
+ app-text/poppler:=
+ dev-libs/hyphen
+ dev-libs/icu:0=
+ dev-libs/librevenge
+ dev-libs/libxml2
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[-gles2-only]
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ 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
+ sys-libs/zlib[minizip]
+ x11-libs/cairo[X,svg(+)]
+ boost? ( dev-libs/boost:= )
+ graphicsmagick? ( media-gfx/graphicsmagick:= )
+ hunspell? ( app-text/hunspell:= )
+ 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/linguist-tools:5
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # non(?)-upstreamable
+ "${FILESDIR}"/${PN}-1.5.8-cmake.patch # bug 886251
+ "${FILESDIR}"/${PN}-1.5.3-fpic.patch
+ "${FILESDIR}"/${PN}-1.5.6-docdir.patch
+ "${FILESDIR}"/${PN}-1.5.8-findhyphen-1.patch
+ "${FILESDIR}"/${PN}-1.5.6-findhyphen.patch
+
+ # git master; # bug 834537, 843287, 893158
+ "${WORKDIR}"/${PATCHSET}
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ rm -r codegen/cheetah scribus/third_party/hyphen || die
+
+ sed \
+ -e "/^\s*unzip\.[ch]/d" \
+ -e "/^\s*ioapi\.[ch]/d" \
+ -i scribus/CMakeLists.txt Scribus.pro || die
+ rm scribus/ioapi.[ch] || die
+
+ sed \
+ -e 's:\(${CMAKE_INSTALL_PREFIX}\):./\1:g' \
+ -i resources/templates/CMakeLists.txt || die
+
+ sed \
+ -e "/^add_subdirectory(ui\/qml)/s/^/#DONT/" \
+ -i scribus/CMakeLists.txt || die # nothing but a bogus Hello World test
+}
+
+src_configure() {
+ # bug #550818
+ append-cppflags -DHAVE_MEMRCHR
+
+ local mycmakeargs=(
+ -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_HUNSPELL=$(usex hunspell)
+ -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/scripts/{FontSample,CalendarWizard}.py || die
+ fi
+ if use scripts; then
+ python_fix_shebang "${ED}"/usr/share/scribus/scripts
+ python_optimize "${ED}"/usr/share/scribus/scripts
+ else
+ rm "${ED}"/usr/share/scribus/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.png
+ done
+ newicon -s 64 resources/iconsets/artwork/icon_32x32@2x.png scribus.png
+ doicon resources/iconsets/*/scribus.png
+ domenu scribus.desktop
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "MS Word .doc file import filter support" app-text/antiword
+}