pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/print/web2c web2c: Fix build with poppler-0.84.0
details: https://anonhg.NetBSD.org/pkgsrc/rev/6415007d5620
branches: trunk
changeset: 407864:6415007d5620
user: ryoon <ryoon%pkgsrc.org@localhost>
date: Sat Jan 11 00:31:05 2020 +0000
description:
web2c: Fix build with poppler-0.84.0
diffstat:
print/web2c/Makefile | 6 +-
print/web2c/distinfo | 7 +-
print/web2c/patches/patch-pdftexdir_pdftoepdf-poppler0.75.0.cc | 161 +++------
print/web2c/patches/patch-pdftexdir_pdftosrc-newpoppler.cc | 60 ++-
print/web2c/patches/patch-pdftexdir_utils.c | 14 +
5 files changed, 127 insertions(+), 121 deletions(-)
diffs (truncated from 339 to 300 lines):
diff -r 04139865fc74 -r 6415007d5620 print/web2c/Makefile
--- a/print/web2c/Makefile Fri Jan 10 23:28:56 2020 +0000
+++ b/print/web2c/Makefile Sat Jan 11 00:31:05 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.90 2019/11/07 12:38:08 wiz Exp $
+# $NetBSD: Makefile,v 1.91 2020/01/11 00:31:05 ryoon Exp $
PKGREVISION= 3
.include "../../print/texlive/Makefile.common"
@@ -14,7 +14,7 @@
EXTRACT_ELEMENTS+= ${DISTNAME}/texk/web2c
-USE_LANGUAGES= c c++11
+USE_LANGUAGES= c c++14
USE_TOOLS+= gmake lex yacc
GNU_CONFIGURE_STRICT= no # texk/web2c/web2c doesn't know the options
PKGCONFIG_OVERRIDE= synctexdir/synctex.pc.in
@@ -22,6 +22,8 @@
INFO_FILES= yes
WRKSRC= ${WRKDIR}/${DISTNAME}/texk/web2c
+#CXXFLAGS+= -fpermissive
+
CONFIGURE_ARGS+= --disable-luatex
CONFIGURE_ARGS+= --disable-luatex53
CONFIGURE_ARGS+= --disable-luajittex
diff -r 04139865fc74 -r 6415007d5620 print/web2c/distinfo
--- a/print/web2c/distinfo Fri Jan 10 23:28:56 2020 +0000
+++ b/print/web2c/distinfo Sat Jan 11 00:31:05 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.34 2019/05/14 13:23:10 adam Exp $
+$NetBSD: distinfo,v 1.35 2020/01/11 00:31:05 ryoon Exp $
SHA1 (texlive-20190410-source.tar.xz) = d700878d3e19b6ad1313791dd5cef4bf0acfd675
RMD160 (texlive-20190410-source.tar.xz) = a0cbe56b19b1f3d064315c37f8b5a4b04f82678b
@@ -7,6 +7,7 @@
SHA1 (patch-Makefile.in) = ec3cc8f935d7365c90aabcd68be431eb706d970e
SHA1 (patch-man_Makefile.in) = 8d0cbcd73f113135ea400c0491a4c0cbd0b07c73
SHA1 (patch-pdftexdir_pdftex-common.h) = 0f82056b5431c0a4718ab8609967f2ec9aeca3a9
-SHA1 (patch-pdftexdir_pdftoepdf-poppler0.75.0.cc) = fed92e4cc1fa8086eb70dd44726371e1df64f79f
-SHA1 (patch-pdftexdir_pdftosrc-newpoppler.cc) = ce79bc0fc98756493adb1b57724ccb7f7b2821aa
+SHA1 (patch-pdftexdir_pdftoepdf-poppler0.75.0.cc) = ac5c44afe5eacd6e7b955ba7acb335f10249d0c3
+SHA1 (patch-pdftexdir_pdftosrc-newpoppler.cc) = ff18cc9bcb0dc665f7981bf06fba753e67117269
+SHA1 (patch-pdftexdir_utils.c) = 989dc2fe8097d4d31ee2ba03885f00da0f1ab39b
SHA1 (patch-pdftexdir_writeenc.c) = d2dfedf140c2c2c9143bc701291c09d3a8d3f3a4
diff -r 04139865fc74 -r 6415007d5620 print/web2c/patches/patch-pdftexdir_pdftoepdf-poppler0.75.0.cc
--- a/print/web2c/patches/patch-pdftexdir_pdftoepdf-poppler0.75.0.cc Fri Jan 10 23:28:56 2020 +0000
+++ b/print/web2c/patches/patch-pdftexdir_pdftoepdf-poppler0.75.0.cc Sat Jan 11 00:31:05 2020 +0000
@@ -1,97 +1,65 @@
-$NetBSD: patch-pdftexdir_pdftoepdf-poppler0.75.0.cc,v 1.1 2019/05/14 13:23:10 adam Exp $
-
-Fix building.
+$NetBSD: patch-pdftexdir_pdftoepdf-poppler0.75.0.cc,v 1.2 2020/01/11 00:31:05 ryoon Exp $
--- pdftexdir/pdftoepdf-poppler0.75.0.cc.orig 2019-03-21 06:38:16.000000000 +0000
+++ pdftexdir/pdftoepdf-poppler0.75.0.cc
-@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
-
- static void copyObject(Object *);
+@@ -22,7 +22,7 @@ This is based on the patch texlive-poppl
+ https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+ by Arch Linux. A little modifications are made to avoid a crash for
+ some kind of pdf images, such as figure_missing.pdf in gnuplot.
+-The poppler should be 0.75.0 or newer versions.
++The poppler should be 0.83.0 or newer versions.
+ POPPLER_VERSION should be defined.
+ */
--static void copyName(char *s)
-+static void copyName(const char *s)
- {
- pdf_puts("/");
- for (; *s != 0; s++) {
-@@ -310,7 +310,7 @@ static void copyDict(Object * obj)
- static void copyFontDict(Object * obj, InObj * r)
- {
- int i, l;
-- char *key;
-+ const char *key;
- if (!obj->isDict())
- pdftex_fail("PDF inclusion: invalid dict type <%s>",
- obj->getTypeName());
-@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
- return false;
- }
-
--static void copyFont(char *tag, Object * fontRef)
-+static void copyFont(const char *tag, Object * fontRef)
- {
- Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
- stemV;
-@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
- pdf_puts(">>\n");
- }
-
--static void copyOtherResources(Object * obj, char *key)
-+static void copyOtherResources(Object * obj, const char *key)
- {
- // copies all other resources (write_epdf handles Fonts and ProcSets),
+@@ -669,7 +669,7 @@ static void writeEncodings()
+ else
+ glyphNames[i] = notdef;
+ }
+- epdf_write_enc(glyphNames, r->enc_objnum);
++ epdf_write_enc(const_cast<const char**>(glyphNames), r->enc_objnum);
+ }
+ for (r = encodingList; r != 0; r = n) {
+ n = r->next;
+@@ -710,7 +710,7 @@ static const PDFRectangle *get_pagebox(P
-@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
- Object obj1;
- int i, l, c;
- Ref ref;
-- char *p;
-- GString *s;
-+ const char *p;
-+ const GString *s;
- if (obj->isBool()) {
- pdf_printf("%s", obj->getBool()? "true" : "false");
- } else if (obj->isInt()) {
-@@ -655,7 +655,7 @@ static void writeRefs()
- static void writeEncodings()
- {
- UsedEncoding *r, *n;
-- char *glyphNames[256], *s;
-+ const char *glyphNames[256], *s;
- int i;
- for (r = encodingList; r != 0; r = r->next) {
- for (i = 0; i < 256; i++) {
-@@ -685,20 +685,24 @@ static void writeEncodings()
- // get the pagebox according to the pagebox_spec
- static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
+ int
+ read_pdf_info(char *image_name, char *page_name, int page_num,
+- int pagebox_spec, int minor_pdf_version_wanted,
++ int pagebox_spec, /* int major_pdf_version_wanted, */ int minor_pdf_version_wanted,
+ int pdf_inclusion_errorlevel)
{
-+ const PDFRectangle *ret;
-+
- if (pagebox_spec == pdfboxspecmedia)
-- return page->getMediaBox();
-+ ret = page->getMediaBox();
- else if (pagebox_spec == pdfboxspeccrop)
-- return page->getCropBox();
-+ ret = page->getCropBox();
- else if (pagebox_spec == pdfboxspecbleed)
-- return page->getBleedBox();
-+ ret = page->getBleedBox();
- else if (pagebox_spec == pdfboxspectrim)
-- return page->getTrimBox();
-+ ret = page->getTrimBox();
- else if (pagebox_spec == pdfboxspecart)
-- return page->getArtBox();
-+ ret = page->getArtBox();
- else
- pdftex_fail("PDF inclusion: unknown value of pagebox spec (%i)",
- (int) pagebox_spec);
-- return page->getMediaBox(); // to make the compiler happy
-+ // ret = page->getMediaBox(); // to make the compiler happy
-+
-+ return const_cast<PDFRectangle*>(ret);
- }
-
-
-@@ -761,7 +765,7 @@ read_pdf_info(char *image_name, char *pa
+ PdfDocument *pdf_doc;
+@@ -723,7 +723,7 @@ read_pdf_info(char *image_name, char *pa
+ #endif
+ // initialize
+ if (!isInit) {
+- globalParams = new GlobalParams();
++ globalParams = std::make_unique<GlobalParams>();
+ globalParams->setErrQuiet(false);
+ isInit = true;
+ }
+@@ -738,16 +738,16 @@ read_pdf_info(char *image_name, char *pa
+ #ifdef POPPLER_VERSION
+ pdf_major_version_found = pdf_doc->doc->getPDFMajorVersion();
+ pdf_minor_version_found = pdf_doc->doc->getPDFMinorVersion();
+- if ((pdf_major_version_found > 1)
++ if ((pdf_major_version_found > /* major_pdf_version_wanted */ 1)
+ || (pdf_minor_version_found > minor_pdf_version_wanted)) {
+ const char *msg =
+- "PDF inclusion: found PDF version <%d.%d>, but at most version <1.%d> allowed";
++ "PDF inclusion: found PDF version <%d.%d>, but at most version <%d.%d> allowed";
+ if (pdf_inclusion_errorlevel > 0) {
+- pdftex_fail(msg, pdf_major_version_found, pdf_minor_version_found, minor_pdf_version_wanted);
++ pdftex_fail(msg, pdf_major_version_found, pdf_minor_version_found, /* major_pdf_version_wanted, */ minor_pdf_version_wanted);
+ } else if (pdf_inclusion_errorlevel < 0) {
+ ; /* do nothing */
+ } else { /* = 0, give warning */
+- pdftex_warn(msg, pdf_major_version_found, pdf_minor_version_found, minor_pdf_version_wanted);
++ pdftex_warn(msg, pdf_major_version_found, pdf_minor_version_found, /* major_pdf_version_wanted, */ minor_pdf_version_wanted);
+ }
+ }
+ #else
+@@ -761,7 +761,7 @@ read_pdf_info(char *image_name, char *pa
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
Ref ref = link->getPageRef();
@@ -100,12 +68,11 @@
if (page_num == 0)
pdftex_fail("PDF inclusion: destination is not a page <%s>",
page_name);
-@@ -822,7 +826,7 @@ void write_epdf(void)
- Object groupDict;
- bool writeSepGroup = false;
- Object info;
-- char *key;
-+ const char *key;
- char s[256];
- int i, l;
- int rotate;
+@@ -1107,7 +1107,5 @@ void epdf_check_mem()
+ n = p->next;
+ delete_document(p);
+ }
+- // see above for globalParams
+- delete globalParams;
+ }
+ }
diff -r 04139865fc74 -r 6415007d5620 print/web2c/patches/patch-pdftexdir_pdftosrc-newpoppler.cc
--- a/print/web2c/patches/patch-pdftexdir_pdftosrc-newpoppler.cc Fri Jan 10 23:28:56 2020 +0000
+++ b/print/web2c/patches/patch-pdftexdir_pdftosrc-newpoppler.cc Sat Jan 11 00:31:05 2020 +0000
@@ -1,19 +1,40 @@
-$NetBSD: patch-pdftexdir_pdftosrc-newpoppler.cc,v 1.6 2019/05/14 13:23:10 adam Exp $
+$NetBSD: patch-pdftexdir_pdftosrc-newpoppler.cc,v 1.7 2020/01/11 00:31:05 ryoon Exp $
Fix building.
--- pdftexdir/pdftosrc-newpoppler.cc.orig 2018-12-06 23:31:33.000000000 +0000
+++ pdftexdir/pdftosrc-newpoppler.cc
-@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
- Stream *s;
- Object srcStream, srcName, catalogDict;
- FILE *outfile;
-- char *outname;
-+ const char *outname;
- int objnum = 0, objgen = 0;
- bool extract_xref_table = false;
- int c;
-@@ -110,7 +110,7 @@ int main(int argc, char *argv[])
+@@ -20,8 +20,7 @@ with this program. If not, see <http://
+ /*
+ This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
+ https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
+-by Arch Linux. The poppler should be 0.59.0 or newer versions.
+-It is tested upto the poppler 0.70.1.
++by Arch Linux. The poppler should be 0.83.0 or newer versions.
+ POPPLER_VERSION should be defined.
+ */
+
+@@ -80,7 +79,7 @@ int main(int argc, char *argv[])
+ exit(1);
+ }
+ fileName = new GString(argv[1]);
+- globalParams = new GlobalParams();
++ globalParams = std::make_unique<GlobalParams>();
+ doc = new PDFDoc(fileName);
+ if (!doc->isOk()) {
+ fprintf(stderr, "Invalid PDF file\n");
+@@ -100,8 +99,8 @@ int main(int argc, char *argv[])
+ srcStream = Object(objNull);
+ if (objnum == 0) {
+ srcStream = catalogDict.dictLookup("SourceObject");
+- static char const_SourceFile[] = "SourceFile";
+- if (!srcStream.isStream(const_SourceFile)) {
++ static const char *const_SourceFile = "SourceFile";
++ if (!srcStream.isDict(const_SourceFile)) {
+ fprintf(stderr, "No SourceObject found\n");
+ exit(1);
+ }
+@@ -110,7 +109,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "No SourceName found\n");
exit(1);
}
@@ -22,7 +43,7 @@
// We cannot free srcName, as objname shares its string.
// srcName.free();
} else if (objnum > 0) {
-@@ -119,7 +119,7 @@ int main(int argc, char *argv[])
+@@ -119,7 +118,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Not a Stream object\n");
exit(1);
}
@@ -31,7 +52,7 @@
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
if (objgen == 0)
-@@ -129,7 +129,7 @@ int main(int argc, char *argv[])
+@@ -129,7 +128,7 @@ int main(int argc, char *argv[])
outname = buf;
} else { // objnum < 0 means we are extracting the XRef table
extract_xref_table = true;
@@ -40,12 +61,7 @@
if ((p = strrchr(buf, '.')) == 0)
p = strchr(buf, 0);
Home |
Main Index |
Thread Index |
Old Index