summaryrefslogtreecommitdiff
path: root/media-libs/leptonica/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /media-libs/leptonica/files
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'media-libs/leptonica/files')
-rw-r--r--media-libs/leptonica/files/1.77.0-gnuplot.patch25
-rw-r--r--media-libs/leptonica/files/1.79.0-tests.patch299
2 files changed, 299 insertions, 25 deletions
diff --git a/media-libs/leptonica/files/1.77.0-gnuplot.patch b/media-libs/leptonica/files/1.77.0-gnuplot.patch
deleted file mode 100644
index 0d6b0e3cb153..000000000000
--- a/media-libs/leptonica/files/1.77.0-gnuplot.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5204b5453fe8035d77e34add80f8ebb1f36b9350 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@aura-online.co.uk>
-Date: Mon, 14 Jan 2019 20:26:14 +0000
-Subject: [PATCH] Add boxa2_reg and numa[12]_reg to gnuplot-dependent test list
-
----
- prog/reg_wrapper.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/prog/reg_wrapper.sh b/prog/reg_wrapper.sh
-index 5568c8e..ff9264d 100755
---- a/prog/reg_wrapper.sh
-+++ b/prog/reg_wrapper.sh
-@@ -31,7 +31,7 @@ TEST_NAME="${TEST##*/}"
- TEST_NAME="${TEST_NAME%_reg*}"
-
- case "${TEST_NAME}" in
-- baseline|boxa1|colormask|colorspace|dna|enhance|extrema|fpix1|italic|kernel|nearline|projection|rankbin|rankhisto|wordboxes)
-+ baseline|boxa[12]|colormask|colorspace|dna|enhance|extrema|fpix1|italic|kernel|nearline|numa[12]|projection|rankbin|rankhisto|wordboxes)
- GNUPLOT=$(type -P gnuplot || type -P wgnuplot)
-
- if [ -z "${GNUPLOT}" ] || ! "${GNUPLOT}" -e "set terminal png" 2>/dev/null ; then
---
-2.19.2
-
diff --git a/media-libs/leptonica/files/1.79.0-tests.patch b/media-libs/leptonica/files/1.79.0-tests.patch
new file mode 100644
index 000000000000..eb794240dbd1
--- /dev/null
+++ b/media-libs/leptonica/files/1.79.0-tests.patch
@@ -0,0 +1,299 @@
+From b4cdb9256934c8f35cad558bf7288567211a792f Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@aura-online.co.uk>
+Date: Tue, 24 Mar 2020 20:59:17 +0000
+Subject: [PATCH] Fix parallel running of tests by using unique directories
+
+diff --git a/prog/pdfio2_reg.c b/prog/pdfio2_reg.c
+index 3f2090d..19da5a3 100644
+--- a/prog/pdfio2_reg.c
++++ b/prog/pdfio2_reg.c
+@@ -55,7 +55,7 @@ L_REGPARAMS *rp;
+ return 1;
+
+ l_pdfSetDateAndVersion(0);
+- lept_mkdir("lept/pdf");
++ lept_mkdir("lept/pdf2");
+
+ /* ---------- pdf convert segmented with image regions ---------- */
+ fprintf(stderr, "\n*** Writing segmented images with image regions\n");
+@@ -65,6 +65,12 @@ L_REGPARAMS *rp;
+ * small bogus regions at the top, but we'll keep them for
+ * the demonstration. */
+ pix1 = pixRead("rabi.png");
++ pix2 = pixScaleToGray2(pix1);
++ pixWrite("/tmp/lept/pdf2/rabi8.jpg", pix2, IFF_JFIF_JPEG);
++ pix3 = pixThresholdTo4bpp(pix2, 16, 1);
++ pixWrite("/tmp/lept/pdf2/rabi4.png", pix3, IFF_PNG);
++ pixDestroy(&pix2);
++ pixDestroy(&pix3);
+ pixSetResolution(pix1, 300, 300);
+ pixGetDimensions(pix1, &w, &h, NULL);
+ pix2 = pixGenerateHalftoneMask(pix1, NULL, NULL, NULL);
+@@ -77,41 +83,41 @@ L_REGPARAMS *rp;
+
+ /* 1 bpp input */
+ convertToPdfSegmented("rabi.png", 300, L_G4_ENCODE, 128, boxa1,
+- 0, 0.25, NULL, "/tmp/lept/pdf/file00.pdf");
++ 0, 0.25, NULL, "/tmp/lept/pdf2/file00.pdf");
+ convertToPdfSegmented("rabi.png", 300, L_JPEG_ENCODE, 128, boxa1,
+- 0, 0.25, NULL, "/tmp/lept/pdf/file01.pdf");
++ 0, 0.25, NULL, "/tmp/lept/pdf2/file01.pdf");
+ convertToPdfSegmented("rabi.png", 300, L_FLATE_ENCODE, 128, boxa1,
+- 0, 0.25, NULL, "/tmp/lept/pdf/file02.pdf");
++ 0, 0.25, NULL, "/tmp/lept/pdf2/file02.pdf");
+
+ /* 8 bpp input, no cmap */
+- convertToPdfSegmented("/tmp/lept/pdf/rabi8.jpg", 150, L_G4_ENCODE, 128,
+- boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file03.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/rabi8.jpg", 150, L_JPEG_ENCODE, 128,
+- boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file04.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/rabi8.jpg", 150, L_FLATE_ENCODE, 128,
+- boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file05.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/rabi8.jpg", 150, L_G4_ENCODE, 128,
++ boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file03.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/rabi8.jpg", 150, L_JPEG_ENCODE, 128,
++ boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file04.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/rabi8.jpg", 150, L_FLATE_ENCODE, 128,
++ boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file05.pdf");
+
+ /* 4 bpp input, cmap */
+- convertToPdfSegmented("/tmp/lept/pdf/rabi4.png", 150, L_G4_ENCODE, 128,
+- boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file06.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/rabi4.png", 150, L_JPEG_ENCODE, 128,
+- boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file07.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/rabi4.png", 150, L_FLATE_ENCODE, 128,
+- boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file08.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/rabi4.png", 150, L_G4_ENCODE, 128,
++ boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file06.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/rabi4.png", 150, L_JPEG_ENCODE, 128,
++ boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file07.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/rabi4.png", 150, L_FLATE_ENCODE, 128,
++ boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file08.pdf");
+
+ /* 4 bpp input, cmap, data output */
+ data = NULL;
+- convertToPdfDataSegmented("/tmp/lept/pdf/rabi4.png", 150, L_G4_ENCODE,
++ convertToPdfDataSegmented("/tmp/lept/pdf2/rabi4.png", 150, L_G4_ENCODE,
+ 128, boxa2, 0, 0.5, NULL, &data, &nbytes);
+- l_binaryWrite("/tmp/lept/pdf/file09.pdf", "w", data, nbytes);
++ l_binaryWrite("/tmp/lept/pdf2/file09.pdf", "w", data, nbytes);
+ lept_free(data);
+- convertToPdfDataSegmented("/tmp/lept/pdf/rabi4.png", 150, L_JPEG_ENCODE,
++ convertToPdfDataSegmented("/tmp/lept/pdf2/rabi4.png", 150, L_JPEG_ENCODE,
+ 128, boxa2, 0, 0.5, NULL, &data, &nbytes);
+- l_binaryWrite("/tmp/lept/pdf/file10.pdf", "w", data, nbytes);
++ l_binaryWrite("/tmp/lept/pdf2/file10.pdf", "w", data, nbytes);
+ lept_free(data);
+- convertToPdfDataSegmented("/tmp/lept/pdf/rabi4.png", 150, L_FLATE_ENCODE,
++ convertToPdfDataSegmented("/tmp/lept/pdf2/rabi4.png", 150, L_FLATE_ENCODE,
+ 128, boxa2, 0, 0.5, NULL, &data, &nbytes);
+- l_binaryWrite("/tmp/lept/pdf/file11.pdf", "w", data, nbytes);
++ l_binaryWrite("/tmp/lept/pdf2/file11.pdf", "w", data, nbytes);
+ lept_free(data);
+ fprintf(stderr, "Segmented images time: %7.3f\n", stopTimer());
+
+@@ -125,17 +131,17 @@ L_REGPARAMS *rp;
+
+ pix1 = pixRead("candelabrum.011.jpg");
+ pix2 = pixScale(pix1, 3.0, 3.0);
+- pixWrite("/tmp/lept/pdf/candelabrum3.jpg", pix2, IFF_JFIF_JPEG);
+- GetImageMask(pix2, 200, &boxa1, rp, "/tmp/lept/pdf/seg1.jpg");
+- convertToPdfSegmented("/tmp/lept/pdf/candelabrum3.jpg", 200, L_G4_ENCODE,
++ pixWrite("/tmp/lept/pdf2/candelabrum3.jpg", pix2, IFF_JFIF_JPEG);
++ GetImageMask(pix2, 200, &boxa1, rp, "/tmp/lept/pdf2/seg1.jpg");
++ convertToPdfSegmented("/tmp/lept/pdf2/candelabrum3.jpg", 200, L_G4_ENCODE,
+ 100, boxa1, 0, 0.25, NULL,
+- "/tmp/lept/pdf/file12.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/candelabrum3.jpg", 200, L_JPEG_ENCODE,
++ "/tmp/lept/pdf2/file12.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/candelabrum3.jpg", 200, L_JPEG_ENCODE,
+ 100, boxa1, 0, 0.25, NULL,
+- "/tmp/lept/pdf/file13.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/candelabrum3.jpg", 200, L_FLATE_ENCODE,
++ "/tmp/lept/pdf2/file13.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/candelabrum3.jpg", 200, L_FLATE_ENCODE,
+ 100, boxa1, 0, 0.25, NULL,
+- "/tmp/lept/pdf/file14.pdf");
++ "/tmp/lept/pdf2/file14.pdf");
+
+ pixDestroy(&pix1);
+ pixDestroy(&pix2);
+@@ -143,25 +149,25 @@ L_REGPARAMS *rp;
+
+ pix1 = pixRead("lion-page.00016.jpg");
+ pix2 = pixScale(pix1, 3.0, 3.0);
+- pixWrite("/tmp/lept/pdf/lion16.jpg", pix2, IFF_JFIF_JPEG);
++ pixWrite("/tmp/lept/pdf2/lion16.jpg", pix2, IFF_JFIF_JPEG);
+ pix3 = pixRead("lion-mask.00016.tif");
+ boxa1 = pixConnComp(pix3, NULL, 8);
+ boxa2 = boxaTransform(boxa1, 0, 0, 3.0, 3.0);
+- convertToPdfSegmented("/tmp/lept/pdf/lion16.jpg", 200, L_G4_ENCODE,
+- 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file15.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/lion16.jpg", 200, L_JPEG_ENCODE,
+- 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file16.pdf");
+- convertToPdfSegmented("/tmp/lept/pdf/lion16.jpg", 200, L_FLATE_ENCODE,
+- 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file17.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/lion16.jpg", 200, L_G4_ENCODE,
++ 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file15.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/lion16.jpg", 200, L_JPEG_ENCODE,
++ 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file16.pdf");
++ convertToPdfSegmented("/tmp/lept/pdf2/lion16.jpg", 200, L_FLATE_ENCODE,
++ 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file17.pdf");
+
+ /* Quantize the non-image part and flate encode.
+ * This is useful because it results in a smaller file than
+ * when you flate-encode the un-quantized non-image regions. */
+ pix4 = pixScale(pix3, 3.0, 3.0); /* higher res mask, for combining */
+ pix5 = QuantizeNonImageRegion(pix2, pix4, 12);
+- pixWrite("/tmp/lept/pdf/lion16-quant.png", pix5, IFF_PNG);
+- convertToPdfSegmented("/tmp/lept/pdf/lion16-quant.png", 200, L_FLATE_ENCODE,
+- 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf/file18.pdf");
++ pixWrite("/tmp/lept/pdf2/lion16-quant.png", pix5, IFF_PNG);
++ convertToPdfSegmented("/tmp/lept/pdf2/lion16-quant.png", 200, L_FLATE_ENCODE,
++ 190, boxa2, 0, 0.5, NULL, "/tmp/lept/pdf2/file18.pdf");
+ fprintf(stderr, "Color segmented images time: %7.3f\n", stopTimer());
+
+ pixDestroy(&pix1);
+@@ -197,8 +203,8 @@ L_REGPARAMS *rp;
+
+ startTimer();
+ convertFilesToPdf("/tmp/lept/image", "file", 100, 0.8, 0, 75, "4 file test",
+- "/tmp/lept/pdf/file19.pdf");
+- fprintf(stderr, "4-page pdf generated: /tmp/lept/pdf/file19.pdf\n"
++ "/tmp/lept/pdf2/file19.pdf");
++ fprintf(stderr, "4-page pdf generated: /tmp/lept/pdf2/file19.pdf\n"
+ "Multi-page gen time: %7.3f\n", stopTimer());
+ pixDestroy(&pix1);
+ pixDestroy(&pix2);
+@@ -208,26 +214,26 @@ L_REGPARAMS *rp;
+ pixDestroy(&pix6);
+ #endif
+
+- regTestCheckFile(rp, "/tmp/lept/pdf/file00.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file01.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file02.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file03.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file04.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file05.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file06.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file07.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file08.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file09.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file10.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file11.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file12.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file13.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file14.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file15.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file16.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file17.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file18.pdf");
+- regTestCheckFile(rp, "/tmp/lept/pdf/file19.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file00.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file01.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file02.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file03.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file04.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file05.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file06.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file07.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file08.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file09.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file10.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file11.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file12.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file13.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file14.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file15.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file16.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file17.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file18.pdf");
++ regTestCheckFile(rp, "/tmp/lept/pdf2/file19.pdf");
+
+ #if 1
+ /* ------------------ Test multipage pdf generation ----------------- */
+@@ -235,9 +241,9 @@ L_REGPARAMS *rp;
+
+ /* Generate a multi-page pdf from all these files */
+ startTimer();
+- concatenatePdf("/tmp/lept/pdf", "file", "/tmp/lept/pdf/cat_lept.pdf");
++ concatenatePdf("/tmp/lept/pdf2", "file", "/tmp/lept/pdf2/cat_lept.pdf");
+ fprintf(stderr,
+- "All files have been concatenated: /tmp/lept/pdf/cat_lept.pdf\n"
++ "All files have been concatenated: /tmp/lept/pdf2/cat_lept.pdf\n"
+ "Concatenation time: %7.3f\n", stopTimer());
+ #endif
+
+@@ -249,7 +255,7 @@ L_REGPARAMS *rp;
+ lept_mkdir("lept/good");
+ lept_cp("testfile1.pdf", "lept/good", NULL, NULL);
+ lept_cp("testfile2.pdf", "lept/good", NULL, NULL);
+- concatenatePdf("/tmp/lept/good", "file", "/tmp/lept/pdf/good.pdf");
++ concatenatePdf("/tmp/lept/good", "file", "/tmp/lept/pdf2/good.pdf");
+
+ /* Make a bad version with the pdf id removed, so that it is not
+ * recognized as a pdf */
+@@ -273,8 +279,8 @@ L_REGPARAMS *rp;
+ fprintf(stderr, "\nWe attempt to build from a bad directory\n");
+ fprintf(stderr, "The next 3 error messages are intentional\n");
+ lept_cp("testfile1.pdf", "lept/bad", NULL, NULL);
+- concatenatePdf("/tmp/lept/bad", "file", "/tmp/lept/pdf/bad.pdf");
+- filesAreIdentical("/tmp/lept/pdf/good.pdf", "/tmp/lept/pdf/bad.pdf", &same);
++ concatenatePdf("/tmp/lept/bad", "file", "/tmp/lept/pdf2/bad.pdf");
++ filesAreIdentical("/tmp/lept/pdf/good.pdf", "/tmp/lept/pdf2/bad.pdf", &same);
+ if (same)
+ fprintf(stderr, "Fixed: files are the same\n"
+ "Attempt succeeded\n");
+@@ -290,8 +296,8 @@ L_REGPARAMS *rp;
+ l_int32 ret;
+
+ fprintf(stderr, "\n*** pdftk writes multipage pdfs from images\n");
+- tempfile1 = genPathname("/tmp/lept/pdf", "file*.pdf");
+- tempfile2 = genPathname("/tmp/lept/pdf", "cat_pdftk.pdf");
++ tempfile1 = genPathname("/tmp/lept/pdf2", "file*.pdf");
++ tempfile2 = genPathname("/tmp/lept/pdf2", "cat_pdftk.pdf");
+ snprintf(buffer, sizeof(buffer), "pdftk %s output %s",
+ tempfile1, tempfile2);
+ ret = system(buffer); /* pdftk */
+diff --git a/prog/webpanimio_reg.c b/prog/webpanimio_reg.c
+index 8f61aab..3938e16 100644
+--- a/prog/webpanimio_reg.c
++++ b/prog/webpanimio_reg.c
+@@ -75,8 +75,8 @@ L_REGPARAMS *rp;
+ return 0;
+ #endif /* abort */
+
+- lept_rmdir("lept/webp");
+- lept_mkdir("lept/webp");
++ lept_rmdir("lept/webpanim");
++ lept_mkdir("lept/webpanim");
+
+ niters = 5;
+ duration = 250; /* ms */
+@@ -85,9 +85,9 @@ L_REGPARAMS *rp;
+ pixa = pixaCreate(6);
+ pixaAddPix(pixa, pix1, L_COPY);
+ pixaAddPix(pixa, pix2, L_COPY);
+- pixaWriteWebPAnim("/tmp/lept/webp/margeanim.webp", pixa, niters,
++ pixaWriteWebPAnim("/tmp/lept/webpanim/margeanim.webp", pixa, niters,
+ duration, 80, 0);
+- regTestCheckFile(rp, "/tmp/lept/webp/margeanim.webp");
++ regTestCheckFile(rp, "/tmp/lept/webpanim/margeanim.webp");
+ pixaDestroy(&pixa);
+ pixDestroy(&pix1);
+ pixDestroy(&pix2);
+diff --git a/prog/reg_wrapper.sh b/prog/reg_wrapper.sh
+index 94a6fa3..804954c 100755
+--- a/prog/reg_wrapper.sh
++++ b/prog/reg_wrapper.sh
+@@ -31,7 +31,7 @@ TEST_NAME="${TEST##*/}"
+ TEST_NAME="${TEST_NAME%_reg*}"
+
+ case "${TEST_NAME}" in
+- baseline|boxa[1234]|colormask|colorspace|dna|enhance|extrema|fpix1|italic|kernel|nearline|numa[12]|projection|rankbin|rankhisto|wordboxes)
++ baseline|boxa[1234]|colormask|colorspace|dna|enhance|extrema|fpix1|italic|kernel|nearline|numa[12]|pixa1|projection|rankbin|rankhisto|wordboxes)
+ GNUPLOT=$(which gnuplot || which wgnuplot)
+
+ if [ -z "${GNUPLOT}" ] || ! "${GNUPLOT}" -e "set terminal png" 2>/dev/null ; then
+--
+2.25.1