public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/scribus/, app-office/scribus/files/
Date: Sun, 14 Jan 2024 09:30:42 +0000 (UTC)	[thread overview]
Message-ID: <1705224635.0be4808553bc65293d2cfcd9c4c9f121865f3e5f.fordfrog@gentoo> (raw)

commit:     0be4808553bc65293d2cfcd9c4c9f121865f3e5f
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 09:29:56 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Jan 14 09:30:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0be48085

app-office/scribus: added live ebuild with qt6 support

Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 ...bus-1.7.0-dont-install-thirdparty-license.patch |  15 ++
 .../scribus/files/scribus-1.7.0-findhyphen.patch   |  70 ++++++++++
 .../files/scribus-1.7.0-fix-icon-version.patch     |  11 ++
 .../scribus-1.7.0-fix-install-prefix-path.patch    |  11 ++
 .../scribus-1.7.0-remove-hello-world-test.patch    |  10 ++
 app-office/scribus/scribus-9999.ebuild             | 154 +++++++++++++++++++++
 6 files changed, 271 insertions(+)

diff --git a/app-office/scribus/files/scribus-1.7.0-dont-install-thirdparty-license.patch b/app-office/scribus/files/scribus-1.7.0-dont-install-thirdparty-license.patch
new file mode 100644
index 000000000000..d660b8dca008
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.7.0-dont-install-thirdparty-license.patch
@@ -0,0 +1,15 @@
+--- a/scribus/third_party/Qt-Advanced-Docking-System/src/CMakeLists.txt
++++ b/scribus/third_party/Qt-Advanced-Docking-System/src/CMakeLists.txt
+@@ -123,12 +123,6 @@ install(FILES ${ads_HEADERS}
+     DESTINATION include/${library_name}
+     COMPONENT headers
+ )
+-install(FILES
+-    "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE"
+-    "${CMAKE_CURRENT_SOURCE_DIR}/../gnu-lgpl-v2.1.md"
+-    DESTINATION license/ads
+-    COMPONENT license
+-)
+ install(TARGETS ${library_name}
+     EXPORT adsTargets
+     RUNTIME DESTINATION bin

diff --git a/app-office/scribus/files/scribus-1.7.0-findhyphen.patch b/app-office/scribus/files/scribus-1.7.0-findhyphen.patch
new file mode 100644
index 000000000000..1fb7151c096d
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.7.0-findhyphen.patch
@@ -0,0 +1,70 @@
+--- a/CMakeLists_Dependencies.cmake
++++ b/CMakeLists_Dependencies.cmake
+@@ -1,6 +1,16 @@
+ ##############################################################################################################
+ ########## Find Dependencies                                                                        ##########
+ 
++#<<HYPHEN for Hyphenation support
++find_package(HYPHEN)
++if(HYPHEN_FOUND)
++	message("System Hyphen Found OK")
++	set(HAVE_HYPHEN ON)
++else()
++	message("Hyphen or its developer libraries NOT found - using bundled Hyphen instead")
++endif()
++#>>HYPHEN for Hyphenation support
++
+ #<<PoDoFo for AI PDF import
+ option(WITH_PODOFO "Enable support for PDF embedded in AI" ON)
+ if (WITH_PODOFO)
+--- a/scribus/CMakeLists.txt
++++ b/scribus/CMakeLists.txt
+@@ -120,11 +120,6 @@ if(HAVE_PODOFO)
+ 
+ endif()
+ 
+-if(HAVE_HYPHEN)
+-	target_link_libraries(${EXE_NAME} PRIVATE ${HYPHEN_LIBRARY})
+-endif()
+-
+-
+ if(GESTURE_FRAME_PREVIEW)
+ 	 message(STATUS "Enable gesture frame preview [experimental]")
+ 	 set(GESTURE_FRAME_PREVIEW_SOURCES	pageitempreview.cpp)
+@@ -178,6 +173,12 @@ if(WANT_PCH)
+ 	target_precompile_headers(${EXE_NAME} PRIVATE scribus_pch.h)
+ endif()
+ 
++if(HAVE_HYPHEN)
++	target_link_libraries(${EXE_NAME} PRIVATE
++	${HYPHEN_LIBRARY}
++	)
++endif()
++
+ if(WIN32)
+ 	set_target_properties(${EXE_NAME}
+ 		PROPERTIES
+--- a/scribus/CMakeLists_Sources.txt
++++ b/scribus/CMakeLists_Sources.txt
+@@ -560,7 +560,9 @@ set(SCRIBUS_SOURCES
+ 	)
+ #endif()
+ 
+-if(NOT HAVE_HYPHEN)
++if(HAVE_HYPHEN)
++	include_directories(${HYPHEN_INCLUDE_DIR})
++else()
+ 	include_directories(third_party/hyphen)
+ 	set(SCRIBUS_SOURCES
+ 	${SCRIBUS_SOURCES}
+--- a/scribus/hyphenator.h
++++ b/scribus/hyphenator.h
+@@ -13,7 +13,7 @@ for which a new license (GPL+exception) is in place.
+ #include <QSet>
+ 
+ #include "scribusapi.h"
+-#include "third_party/hyphen/hyphen.h"
++#include <hyphen.h>
+ 
+ class ScribusDoc;
+ class ScribusMainWindow;

diff --git a/app-office/scribus/files/scribus-1.7.0-fix-icon-version.patch b/app-office/scribus/files/scribus-1.7.0-fix-icon-version.patch
new file mode 100644
index 000000000000..56c42602d20b
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.7.0-fix-icon-version.patch
@@ -0,0 +1,11 @@
+--- a/resources/iconsets/artwork/CMakeLists.txt
++++ b/resources/iconsets/artwork/CMakeLists.txt
+@@ -20,7 +20,7 @@ if(NOT WIN32 AND NOT APPLE)
+ 	FOREACH(res 16x16 32x32 64x64 128x128 256x256)
+ 		INSTALL(FILES
+ 			application-vnd.scribus_${res}.png
+-			RENAME application-vnd.scribus.png
++			RENAME application-vnd.scribus${TAG_VERSION}.png
+ 			DESTINATION ${SYSICONDIR}/${res}/mimetypes/
+ 		)
+ 	ENDFOREACH(res)

diff --git a/app-office/scribus/files/scribus-1.7.0-fix-install-prefix-path.patch b/app-office/scribus/files/scribus-1.7.0-fix-install-prefix-path.patch
new file mode 100644
index 000000000000..33cad2b9c7fc
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.7.0-fix-install-prefix-path.patch
@@ -0,0 +1,11 @@
+--- a/resources/templates/CMakeLists.txt
++++ b/resources/templates/CMakeLists.txt
+@@ -5,7 +5,7 @@ ${CMAKE_SOURCE_DIR}/scribus
+ 
+ # Gentoo has an option for no templates. Let's make the ebuild simpler and open up the option to others, but leave as a default for us. Make the directory in any case as our source will look for it.
+ if (WANT_NOTEMPLATES)
+-  install(CODE "file(MAKE_DIRECTORY ${ENV}${CMAKE_INSTALL_PREFIX}/${TEMPLATEDIR})")
++  install(CODE "file(MAKE_DIRECTORY ${ENV}./${CMAKE_INSTALL_PREFIX}/${TEMPLATEDIR})")
+ else (WANT_NOTEMPLATES)
+ 
+ install(FILES

diff --git a/app-office/scribus/files/scribus-1.7.0-remove-hello-world-test.patch b/app-office/scribus/files/scribus-1.7.0-remove-hello-world-test.patch
new file mode 100644
index 000000000000..cf9018fe1924
--- /dev/null
+++ b/app-office/scribus/files/scribus-1.7.0-remove-hello-world-test.patch
@@ -0,0 +1,10 @@
+--- a/scribus/CMakeLists.txt
++++ b/scribus/CMakeLists.txt
+@@ -40,7 +40,6 @@ include(styles/CMakeLists.txt)
+ include(text/CMakeLists.txt)
+ 
+ add_subdirectory(dtd)
+-add_subdirectory(ui/qml)
+ if(WITH_TESTS)
+ 	add_subdirectory(tests)
+ endif()

diff --git a/app-office/scribus/scribus-9999.ebuild b/app-office/scribus/scribus-9999.ebuild
new file mode 100644
index 000000000000..c1af6fc67077
--- /dev/null
+++ b/app-office/scribus/scribus-9999.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+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
+	SRC_URI="mirror://sourceforge/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 +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,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
+	sys-libs/zlib[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/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.7.0-findhyphen.patch
+	"${FILESDIR}"/${PN}-1.7.0-remove-hello-world-test.patch
+	"${FILESDIR}"/${PN}-1.7.0-fix-install-prefix-path.patch
+	"${FILESDIR}"/${PN}-1.7.0-dont-install-thirdparty-license.patch
+	"${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_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
+}


             reply	other threads:[~2024-01-14  9:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-14  9:30 Miroslav Šulc [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-07-18  8:44 [gentoo-commits] repo/gentoo:master commit in: app-office/scribus/, app-office/scribus/files/ Miroslav Šulc
2024-06-04 10:35 Miroslav Šulc
2024-03-04 10:29 Miroslav Šulc
2023-09-24  8:02 Miroslav Šulc
2022-09-02  4:38 Sam James
2022-05-08 18:01 Sam James
2022-03-12 15:53 Andreas Sturmlechner
2022-01-14  4:48 Ionen Wolkens
2021-08-25 10:54 Miroslav Šulc
2021-04-06 12:30 Miroslav Šulc
2020-01-02 20:26 Andreas Sturmlechner
2019-12-07  9:47 Andreas Sturmlechner
2019-11-01 18:39 Andreas Sturmlechner
2019-01-25  0:00 Andreas Sturmlechner
2019-01-14 23:34 Andreas Sturmlechner
2018-03-19 23:56 Andreas Sturmlechner
2017-12-26  1:02 Andreas Sturmlechner
2017-06-04 11:54 Justin Lecher
2017-06-04 11:49 Justin Lecher
2016-12-06  9:32 Miroslav Šulc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1705224635.0be4808553bc65293d2cfcd9c4c9f121865f3e5f.fordfrog@gentoo \
    --to=fordfrog@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox