From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 88F72158090 for ; Sun, 8 May 2022 18:01:06 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 44FFCE07D3; Sun, 8 May 2022 18:01:05 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E2444E07D3 for ; Sun, 8 May 2022 18:01:04 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id AC11F3411C1 for ; Sun, 8 May 2022 18:01:03 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 090B5D3 for ; Sun, 8 May 2022 18:01:02 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1652032812.65615103763c15420ea24f0781626384dcbc83d7.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-office/scribus/, app-office/scribus/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-office/scribus/files/scribus-1.5.8-poppler-22.04.0.patch app-office/scribus/scribus-1.5.8-r1.ebuild app-office/scribus/scribus-9999.ebuild X-VCS-Directories: app-office/scribus/ app-office/scribus/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 65615103763c15420ea24f0781626384dcbc83d7 X-VCS-Branch: master Date: Sun, 8 May 2022 18:01:02 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e87b8af5-9e38-496c-9d40-9d13df431f4b X-Archives-Hash: 35bf4d563c2a0170e274f7c4b54e1853 commit: 65615103763c15420ea24f0781626384dcbc83d7 Author: Sam James gentoo org> AuthorDate: Sun May 8 17:58:53 2022 +0000 Commit: Sam James gentoo org> CommitDate: Sun May 8 18:00:12 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65615103 app-office/scribus: fix build with Poppler 22.04.0 Closes: https://bugs.gentoo.org/843287 Signed-off-by: Sam James gentoo.org> .../files/scribus-1.5.8-poppler-22.04.0.patch | 291 +++++++++++++++++++++ ...scribus-9999.ebuild => scribus-1.5.8-r1.ebuild} | 18 +- app-office/scribus/scribus-9999.ebuild | 2 +- 3 files changed, 303 insertions(+), 8 deletions(-) diff --git a/app-office/scribus/files/scribus-1.5.8-poppler-22.04.0.patch b/app-office/scribus/files/scribus-1.5.8-poppler-22.04.0.patch new file mode 100644 index 000000000000..290484e7e872 --- /dev/null +++ b/app-office/scribus/files/scribus-1.5.8-poppler-22.04.0.patch @@ -0,0 +1,291 @@ +https://bugs.gentoo.org/843287 +https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch + +From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001 +From: Jean Ghali +Date: Fri, 1 Apr 2022 23:52:32 +0000 +Subject: [PATCH] Fix build with poppler 22.04.0 + +git-svn-id: svn://scribus.net/trunk/Scribus@25074 11d20701-8431-0410-a711-e3c959e3b870 +--- + scribus/plugins/import/pdf/slaoutput.cpp | 123 ++++++++++++++--------- + 1 file changed, 78 insertions(+), 45 deletions(-) + +diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp +index e20a81f99e..5626fe3477 100644 +--- a/scribus/plugins/import/pdf/slaoutput.cpp ++++ b/scribus/plugins/import/pdf/slaoutput.cpp +@@ -174,8 +174,13 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s) + int shade = 100; + currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade); + fontSize = state->getFontSize(); ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ if (state->getFont() && state->getFont()->getName()) ++ fontName = new GooString(state->getFont()->getName().value()); ++#else + if (state->getFont()) + fontName = state->getFont()->getName()->copy(); ++#endif + itemText = s->copy(); + } + +@@ -357,7 +362,12 @@ std::unique_ptr SlaOutputDev::SC_getAdditionalAction(const char *key + GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data) + { + SlaOutputDev *dev = (SlaOutputDev*)user_data; ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ const PDFRectangle& annotRect = annota->getRect();; ++ const PDFRectangle* box = &annotRect; ++#else + PDFRectangle *box = annota->getRect(); ++#endif + double xCoor = dev->m_doc->currentPage()->xOffset() + box->x1 - dev->cropOffsetX; + double yCoor = dev->m_doc->currentPage()->yOffset() + dev->m_doc->currentPage()->height() - box->y2 + dev->cropOffsetY; + double width = box->x2 - box->x1; +@@ -684,7 +694,12 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, + if (apa || !achar) + { + AnoOutputDev *annotOutDev = new AnoOutputDev(m_doc, m_importedColors); ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ const PDFRectangle& annotaRect = annota->getRect(); ++ Gfx* gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr); ++#else + Gfx *gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), annota->getRect(), nullptr); ++#endif + ano->draw(gfx, false); + if (!bgFound) + m_currColorFill = annotOutDev->currColorFill; +@@ -2916,22 +2931,27 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties) + + void SlaOutputDev::updateFont(GfxState *state) + { +- GfxFont *gfxFont; +-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ std::optional fontLoc; ++ std::string fileName; ++ std::unique_ptr ff; ++ std::optional> tmpBuf; ++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) + std::optional fontLoc; + const GooString * fileName = nullptr; + std::unique_ptr ff; ++ char* tmpBuf = nullptr; + #else + GfxFontLoc * fontLoc = nullptr; + GooString * fileName = nullptr; + FoFiTrueType * ff = nullptr; ++ char* tmpBuf = nullptr; + #endif + GfxFontType fontType; + SlaOutFontFileID *id; + SplashFontFile *fontFile; + SplashFontSrc *fontsrc = nullptr; + Object refObj, strObj; +- char *tmpBuf = nullptr; + int tmpBufLen = 0; + int *codeToGID = nullptr; + const double *textMat = nullptr; +@@ -2943,7 +2963,11 @@ void SlaOutputDev::updateFont(GfxState *state) + + m_font = nullptr; + +- gfxFont = state->getFont(); ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ GfxFont* gfxFont = state->getFont().get(); ++#else ++ GfxFont* gfxFont = state->getFont(); ++#endif + if (!gfxFont) + goto err1; + +@@ -2968,15 +2992,23 @@ void SlaOutputDev::updateFont(GfxState *state) + if (fontLoc->locType == gfxFontLocEmbedded) + { + // if there is an embedded font, read it to memory +- tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen); ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ tmpBuf = gfxFont->readEmbFontFile((xref) ? xref : pdfDoc->getXRef()); + if (! tmpBuf) + goto err2; ++#else ++ tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen); ++ if (!tmpBuf) ++ goto err2; ++#endif + + // external font + } + else + { // gfxFontLocExternal +-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ fileName = fontLoc->path; ++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) + fileName = fontLoc->pathAsGooString(); + #else + fileName = fontLoc->path; +@@ -2985,52 +3017,54 @@ void SlaOutputDev::updateFont(GfxState *state) + } + + fontsrc = new SplashFontSrc; ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ if (!fileName.empty()) ++ fontsrc->setFile(fileName); ++ else ++ fontsrc->setBuf(std::move(tmpBuf.value())); ++#else + if (fileName) + fontsrc->setFile(fileName, gFalse); + else + fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue); ++#endif + + // load the font file + switch (fontType) { + case fontType1: +- if (!(fontFile = m_fontEngine->loadType1Font( +- id, +- fontsrc, +- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) ++ if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) + { +- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", +- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); ++ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + goto err2; + } + break; + case fontType1C: +- if (!(fontFile = m_fontEngine->loadType1CFont( +- id, +- fontsrc, +- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) ++ if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) + { +- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", +- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); ++ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + goto err2; + } + break; + case fontType1COT: +- if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont( +- id, +- fontsrc, +- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) ++ if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) + { +- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", +- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); ++ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + goto err2; + } + break; + case fontTrueType: + case fontTrueTypeOT: ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ if (!fileName.empty()) ++ ff = FoFiTrueType::load(fileName.c_str()); ++ else ++ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size()); ++#else + if (fileName) + ff = FoFiTrueType::load(fileName->getCString()); + else + ff = FoFiTrueType::make(tmpBuf, tmpBufLen); ++#endif + if (ff) + { + #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) +@@ -3047,24 +3081,17 @@ void SlaOutputDev::updateFont(GfxState *state) + codeToGID = nullptr; + n = 0; + } +- if (!(fontFile = m_fontEngine->loadTrueTypeFont( +- id, +- fontsrc, +- codeToGID, n))) ++ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n))) + { +- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", +- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); ++ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + goto err2; + } + break; + case fontCIDType0: + case fontCIDType0C: +- if (!(fontFile = m_fontEngine->loadCIDFont( +- id, +- fontsrc))) ++ if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc))) + { +- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", +- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); ++ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + goto err2; + } + break; +@@ -3080,10 +3107,7 @@ void SlaOutputDev::updateFont(GfxState *state) + codeToGID = nullptr; + n = 0; + } +- if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont( +- id, +- fontsrc, +- codeToGID, n))) ++ if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n))) + { + error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", + gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); +@@ -3105,10 +3129,17 @@ void SlaOutputDev::updateFont(GfxState *state) + } + else + { ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) ++ if (!fileName.empty()) ++ ff = FoFiTrueType::load(fileName.c_str()); ++ else ++ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size()); ++#else + if (fileName) + ff = FoFiTrueType::load(fileName->getCString()); + else + ff = FoFiTrueType::make(tmpBuf, tmpBufLen); ++#endif + if (! ff) + goto err2; + #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) +@@ -3119,13 +3150,9 @@ void SlaOutputDev::updateFont(GfxState *state) + delete ff; + #endif + } +- if (!(fontFile = m_fontEngine->loadTrueTypeFont( +- id, +- fontsrc, +- codeToGID, n, faceIndex))) ++ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex))) + { +- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", +- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); ++ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); + goto err2; + } + break; +@@ -3269,9 +3296,15 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub + GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen) + { + // qDebug() << "beginType3Char"; ++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) + GfxFont *gfxFont; ++ if (!(gfxFont = state->getFont().get())) ++ return gTrue; ++#else ++ GfxFont* gfxFont; + if (!(gfxFont = state->getFont())) + return gTrue; ++#endif + if (gfxFont->getType() != fontType3) + return gTrue; + F3Entry f3e; diff --git a/app-office/scribus/scribus-9999.ebuild b/app-office/scribus/scribus-1.5.8-r1.ebuild similarity index 89% copy from app-office/scribus/scribus-9999.ebuild copy to app-office/scribus/scribus-1.5.8-r1.ebuild index b8abdb6f421f..d54fc9affaaa 100644 --- a/app-office/scribus/scribus-9999.ebuild +++ b/app-office/scribus/scribus-1.5.8-r1.ebuild @@ -1,21 +1,19 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) PYTHON_REQ_USE="tk?" -inherit cmake desktop flag-o-matic python-single-r1 subversion xdg +inherit cmake desktop flag-o-matic python-single-r1 xdg DESCRIPTION="Desktop publishing (DTP) and layout program" HOMEPAGE="https://www.scribus.net/" -SRC_URI="" -ESVN_REPO_URI="svn://scribus.net/trunk/Scribus" -ESVN_PROJECT=Scribus-1.5 +SRC_URI="mirror://sourceforge/project/${PN}/${PN}-devel/${PV}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" IUSE="+boost debug examples graphicsmagick hunspell +minimal osg +pdf scripts +templates tk" REQUIRED_USE="${PYTHON_REQUIRED_USE} @@ -44,6 +42,7 @@ DEPEND="${PYTHON_DEPS} media-libs/lcms:2 media-libs/libcdr media-libs/libfreehand + media-libs/libjpeg-turbo:= media-libs/libpagemaker media-libs/libpng:0= media-libs/libvisio @@ -51,7 +50,6 @@ DEPEND="${PYTHON_DEPS} media-libs/tiff:0 net-print/cups sys-libs/zlib[minizip] - virtual/jpeg:0= x11-libs/cairo[X,svg] boost? ( dev-libs/boost:= ) graphicsmagick? ( media-gfx/graphicsmagick:= ) @@ -78,10 +76,16 @@ PATCHES=( "${FILESDIR}"/${PN}-1.5.6-docdir.patch "${FILESDIR}"/${PN}-1.5.8-findhyphen-1.patch "${FILESDIR}"/${PN}-1.5.6-findhyphen.patch + "${FILESDIR}"/${PN}-1.5.8-poppler-22.2.0-1.patch + "${FILESDIR}"/${PN}-1.5.8-poppler-22.2.0-2.patch + "${FILESDIR}"/${PN}-1.5.8-poppler-22.03.0.patch # bug 834537 + "${FILESDIR}"/${PN}-1.5.8-poppler-22.04.0.patch # bug 843287 ) CMAKE_BUILD_TYPE="Release" +S="${WORKDIR}/${P}" + src_prepare() { cmake_src_prepare diff --git a/app-office/scribus/scribus-9999.ebuild b/app-office/scribus/scribus-9999.ebuild index b8abdb6f421f..dc6748192f39 100644 --- a/app-office/scribus/scribus-9999.ebuild +++ b/app-office/scribus/scribus-9999.ebuild @@ -44,6 +44,7 @@ DEPEND="${PYTHON_DEPS} media-libs/lcms:2 media-libs/libcdr media-libs/libfreehand + media-libs/libjpeg-turbo:= media-libs/libpagemaker media-libs/libpng:0= media-libs/libvisio @@ -51,7 +52,6 @@ DEPEND="${PYTHON_DEPS} media-libs/tiff:0 net-print/cups sys-libs/zlib[minizip] - virtual/jpeg:0= x11-libs/cairo[X,svg] boost? ( dev-libs/boost:= ) graphicsmagick? ( media-gfx/graphicsmagick:= )