diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2024-01-14 10:29:56 +0100 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2024-01-14 10:30:35 +0100 |
commit | 0be4808553bc65293d2cfcd9c4c9f121865f3e5f (patch) | |
tree | ff4440e13b32e02ad60ebe5676ce53499d352114 /app-office | |
parent | games-util/lutris: add 0.5.15 (diff) | |
download | gentoo-0be4808553bc65293d2cfcd9c4c9f121865f3e5f.tar.gz gentoo-0be4808553bc65293d2cfcd9c4c9f121865f3e5f.tar.bz2 gentoo-0be4808553bc65293d2cfcd9c4c9f121865f3e5f.zip |
app-office/scribus: added live ebuild with qt6 support
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'app-office')
6 files changed, 271 insertions, 0 deletions
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 +} |