summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-office/scribus')
-rw-r--r--app-office/scribus/Manifest1
-rw-r--r--app-office/scribus/files/scribus-1.6.1-boost-1.85-2.patch27
-rw-r--r--app-office/scribus/files/scribus-1.6.1-boost-1.85.patch39
-rw-r--r--app-office/scribus/scribus-1.6.1-r1.ebuild2
-rw-r--r--app-office/scribus/scribus-1.6.2.ebuild157
-rw-r--r--app-office/scribus/scribus-1.6.9999.ebuild157
6 files changed, 383 insertions, 0 deletions
diff --git a/app-office/scribus/Manifest b/app-office/scribus/Manifest
index 0ffc05a70363..48266e2a2a49 100644
--- a/app-office/scribus/Manifest
+++ b/app-office/scribus/Manifest
@@ -1 +1,2 @@
DIST scribus-1.6.1.tar.xz 73266900 BLAKE2B b8120823cf98201ed197748cffe3f12019acfbd4831b497585ad7d04fa6d6e470bf4bc85dac15700483dfc977c56136cb49bcee20106f482cd9b0022d75d28d5 SHA512 ffde5628ea314dab8f212f78e7dd96cd258ceaebccc5b8de2c21e338a433f82d7fbbb047d05882abb07b4dceac031141b77fef933c9a3ed0e26f29bb94377e7e
+DIST scribus-1.6.2.tar.xz 73129400 BLAKE2B 2da98dc322319db18a157f66aef024b7392dbbfaf22adba14f719b48c644d1cc1546cc4d0cccf6dfe479571cf84de6f5645e5d452154f96ddc886e390702d547 SHA512 2f691c1f6b7beada89be410a2936b23641913bf26bd2152974bbaa747aeafb05aa797356a85bd55c14f60f0031ce1addedc9a3ce3e92546ebbb45f96a5ff3e62
diff --git a/app-office/scribus/files/scribus-1.6.1-boost-1.85-2.patch b/app-office/scribus/files/scribus-1.6.1-boost-1.85-2.patch
new file mode 100644
index 000000000000..55bc9934964b
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.6.1-boost-1.85-2.patch
@@ -0,0 +1,27 @@
+From 3116328e804c7366ec64c4224cbf20b0f14e52c8 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <jghali@libertysurf.fr>
+Date: Sun, 31 Mar 2024 21:40:42 +0000
+Subject: [PATCH] Fix C++20 related warning "template-id is not allowed for
+ constructor in C++20"
+
+git-svn-id: svn://scribus.net/trunk/Scribus@26079 11d20701-8431-0410-a711-e3c959e3b870
+--- a/scribus/third_party/lib2geom/rect.h
++++ b/scribus/third_party/lib2geom/rect.h
+@@ -56,14 +56,14 @@ class D2<Interval> {
+ private:
+ Interval f[2];
+ public:
+- D2<Interval>() { f[X] = f[Y] = Interval(0, 0); }
++ D2() { f[X] = f[Y] = Interval(0, 0); }
+
+- D2<Interval>(Interval const &a, Interval const &b) {
++ D2(Interval const &a, Interval const &b) {
+ f[X] = a;
+ f[Y] = b;
+ }
+
+- D2<Interval>(Point const & a, Point const & b) {
++ D2(Point const & a, Point const & b) {
+ f[X] = Interval(a[X], b[X]);
+ f[Y] = Interval(a[Y], b[Y]);
+ }
diff --git a/app-office/scribus/files/scribus-1.6.1-boost-1.85.patch b/app-office/scribus/files/scribus-1.6.1-boost-1.85.patch
new file mode 100644
index 000000000000..9d5dc0868843
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.6.1-boost-1.85.patch
@@ -0,0 +1,39 @@
+From 3e80b387a226f1abac2bcce6e4300467c189d264 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <jghali@libertysurf.fr>
+Date: Sat, 1 Jun 2024 22:04:13 +0000
+Subject: [PATCH] #17229: scribus fails to compile with boost 1.85.0
+
+git-svn-id: svn://scribus.net/branches/Version16x/Scribus@26170 11d20701-8431-0410-a711-e3c959e3b870
+--- a/scribus/third_party/lib2geom/point.h
++++ b/scribus/third_party/lib2geom/point.h
+@@ -121,10 +121,14 @@ class Point {
+
+ Point &operator*=(Matrix const &m);
+
+- inline int operator == (const Point &in_pnt) {
++ inline bool operator==(const Point &in_pnt) const {
+ return ((_pt[X] == in_pnt[X]) && (_pt[Y] == in_pnt[Y]));
+ }
+
++ inline bool operator!=(const Point &in_pnt) const {
++ return ((_pt[X] != in_pnt[X]) || (_pt[Y] != in_pnt[Y]));
++ }
++
+ friend inline std::ostream &operator<< (std::ostream &out_file, const Geom::Point &in_pnt);
+ };
+
+@@ -144,14 +148,6 @@ inline Point operator^(Point const &a, Point const &b) {
+ return ret;
+ }
+
+-//IMPL: boost::EqualityComparableConcept
+-inline bool operator==(Point const &a, Point const &b) {
+- return (a[X] == b[X]) && (a[Y] == b[Y]);
+-}
+-inline bool operator!=(Point const &a, Point const &b) {
+- return (a[X] != b[X]) || (a[Y] != b[Y]);
+-}
+-
+ /** This is a lexicographical ordering for points. It is remarkably useful for sweepline algorithms*/
+ inline bool operator<=(Point const &a, Point const &b) {
+ return ( ( a[Y] < b[Y] ) ||
diff --git a/app-office/scribus/scribus-1.6.1-r1.ebuild b/app-office/scribus/scribus-1.6.1-r1.ebuild
index bf38de284c12..3b20f7808237 100644
--- a/app-office/scribus/scribus-1.6.1-r1.ebuild
+++ b/app-office/scribus/scribus-1.6.1-r1.ebuild
@@ -78,6 +78,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch
"${FILESDIR}"/${PN}-1.6.1-poppler-24.03.patch
"${FILESDIR}"/${PN}-1.6.1-poppler-24.05.patch
+ "${FILESDIR}"/${PN}-1.6.1-boost-1.85.patch
+ "${FILESDIR}"/${PN}-1.6.1-boost-1.85-2.patch
)
src_prepare() {
diff --git a/app-office/scribus/scribus-1.6.2.ebuild b/app-office/scribus/scribus-1.6.2.ebuild
new file mode 100644
index 000000000000..13ccc1b48d25
--- /dev/null
+++ b/app-office/scribus/scribus-1.6.2.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+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"
+ EGIT_BRANCH="Version16x"
+ inherit git-r3
+else
+ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.xz"
+ S="${WORKDIR}/${P}"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+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,X]
+ 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=(
+ "${FILESDIR}"/${PN}-1.5.8-cmake.patch # bug 886251
+ "${FILESDIR}"/${PN}-1.5.3-fpic.patch
+ "${FILESDIR}"/${PN}-1.6.1-findhyphen.patch
+ "${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_run_in scribus cmake_comment_add_subdirectory ui/qml
+
+ # 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_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-${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_5_1/scribus.png 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
+}
diff --git a/app-office/scribus/scribus-1.6.9999.ebuild b/app-office/scribus/scribus-1.6.9999.ebuild
new file mode 100644
index 000000000000..13ccc1b48d25
--- /dev/null
+++ b/app-office/scribus/scribus-1.6.9999.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+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"
+ EGIT_BRANCH="Version16x"
+ inherit git-r3
+else
+ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.xz"
+ S="${WORKDIR}/${P}"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+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,X]
+ 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=(
+ "${FILESDIR}"/${PN}-1.5.8-cmake.patch # bug 886251
+ "${FILESDIR}"/${PN}-1.5.3-fpic.patch
+ "${FILESDIR}"/${PN}-1.6.1-findhyphen.patch
+ "${FILESDIR}"/${PN}-1.7.0-fix-icon-version.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_run_in scribus cmake_comment_add_subdirectory ui/qml
+
+ # 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_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-${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_5_1/scribus.png 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
+}