summaryrefslogtreecommitdiff
path: root/media-libs/netpbm
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-03 10:53:03 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-03 10:53:03 +0100
commit58bc1eef7fcc2712f4fe69e418f697d6f4d57df4 (patch)
treed8f8ac35082dce2ae2d058c2a9206b36c941bcd7 /media-libs/netpbm
parentcde8c93952da8c35584929e3778914d821cd6800 (diff)
gentoo auto-resync : 03:08:2023 - 10:53:03
Diffstat (limited to 'media-libs/netpbm')
-rw-r--r--media-libs/netpbm/Manifest8
-rw-r--r--media-libs/netpbm/files/netpbm-10.86.21-test.patch10
-rw-r--r--media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch506
-rw-r--r--media-libs/netpbm/netpbm-10.86.36.ebuild243
-rw-r--r--media-libs/netpbm/netpbm-11.3.1.ebuild (renamed from media-libs/netpbm/netpbm-11.3.0.ebuild)0
5 files changed, 2 insertions, 765 deletions
diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest
index 46b133bcb3bb..2ba9fa3b2066 100644
--- a/media-libs/netpbm/Manifest
+++ b/media-libs/netpbm/Manifest
@@ -1,14 +1,10 @@
AUX make-tarball.sh 1895 BLAKE2B d6311e862d8b2fb10d88a90263f7187c04bde49ff0ecb7860d4b306a6553b41f24ed718e94113807f7b8cdfe21774de383baf7799f2a3c3a12acea6f7aedbd4f SHA512 8128d2d8c0fb60d1d3cba73b4b3d87e914a7ac284e5f049cfd0a596f772d705acb3222da2d6a6f7d1882c7221eeaae9daac9d1b855e61881600345dc615cc428
AUX netpbm-10.86.21-build.patch 2319 BLAKE2B b22150c8683790c9ac31abc00b8f3f5b55cc6e990186f506c67496fce774fdfef1ba23843129fd493f8aa3e4ad5f74cfcf1d2388da95225ac2ef19f0c949f425 SHA512 459c54dac19067f2185a02ef812932e8fcb6a73d6267c32578bd3b7d3b12494052e929b24663407ad919e1e98aa2df58ed8e27be3f18eeb2fbe2402e4ff9e629
AUX netpbm-10.86.21-misc-deps.patch 1565 BLAKE2B a4d629ea9fe01efc45c799dac4bd3764368be33f264929bdc338bb724ace03471949467e5c84144636a9f4ee9130395dad77e23aa6686998bf9700dbde224cbf SHA512 f274ede7d11ed0f2a1825a4412a52fd9e30f5caf470c6111b606a87f1e67b16278c9f2a901d512ea3516ba033e30a3c08386cc5af1a555f868b7d7175fbfeed0
-AUX netpbm-10.86.21-test.patch 331 BLAKE2B 59451b2f1632afdd8e84bcec0ef91e0589604706b373281bf4963385fe971991711cc6ed4f169cc45aa460ac1db20de69039b137da1a2ec3d6cb82b60ae5f745 SHA512 e5c1a88cc03e227c7a7a01e9586ceacaf24a6752f4285f228b0176a8a12a6a9ac83d8ce1c5965e8f56ab652b5e42aa2cd535f1e121449fe668312b7e49720e4f
-AUX netpbm-10.86.22-fix-ps-test.patch 15448 BLAKE2B cfe77600197fc39ef0be0ed793f5181db57fd718a6fed268a8afb2fd2b5afab404c3be3c89dc25d178f8fe2edc4d386e33f22f7b3bc826e9c90307ef3895830f SHA512 a521c771d2384cb86d87b4efdf05e0835adcbefb84d4e66e744b2f8bc40df5358f20c4824dce5a942ccc24b18168276278d65e8e9a529b7c09b157b3e02438bb
AUX netpbm-11.0.0-misc-deps.patch 1446 BLAKE2B 721e926a83d50d04d4a407051ee077db5e5bf8fb1ae9aff1ff1d7859cf1bb0d5f74fa1143681b451d36323f93d5e7fa3876e485d6538958e30779cac081df5b8 SHA512 7135533660b15a113df5a38298725f895e8cbd6ac4695eb5f2d40bd214c43cb9d1c261063e0cea162a6ca6071cda5f4e0380d29eefa6af57e7d67ce319fe2216
AUX netpbm-11.1.0-fix-clang-O2.patch 773 BLAKE2B a8d2bef659d384b0f94560fec847d37731315f5cdb67e5474efb596672d146446c6d545caa816d74f9d4c32fe486ce49f8cb55f38e9706bae6b0ba79c0dbbb5e SHA512 0a0049415d5c252603c47325d69ae582bec76ac15f442682ef0a2ff8c5a8cd19e28543644883bde891f2a376a401f43ed923b184112f49c67d295b9215d519de
-DIST netpbm-10.86.36.tar.xz 3700660 BLAKE2B c5f0acd0147f2ad66f69ae2ade56fcbb5286faddc7f8f3387e2269fd20ea2586a29d7e7dc96bd715fe12896eef47803b826031087e6be8166183ba7cf82aebf4 SHA512 b05df76760629881047c44799a905a491fb4c139a9af909d77cc4238fc82dfac37ba174df4f81cb1177716ad38a37b26eadcc3889d2c2057ff9d850697fad3c6
DIST netpbm-11.2.0.tar.xz 3777372 BLAKE2B d9a2de49db61f642df75fe1c1fcda752f837535ac7cc698fb50e7c2c93dacfe3894fc46b402af30d07e3617f0f421a36d8d6a3d846c07d6b3526724dce93283b SHA512 70bde6e6112ae595e18be588ea95d2b2acb08e42bb36d0fc93b9584c4b2adf72e35f80ff87823a8e3d98a8ffd0ff907401d351533b9170d7a11a28515c10fdbd
-DIST netpbm-11.3.0.tar.xz 3778748 BLAKE2B da847e2c4a23d6fb404b868cfabfae7b82fe744c0b04b49ed0c02ef8877690f752995cb570326673f0ffd7b4b75ce8bf086859971611e9d76b49e3124536d582 SHA512 6efbfee9174912fb2979834b090657572d400fb84bf137b5faa5c4517b9d3d9457d8b482acff586902e71566e3c0a7e3bad4c87cfec15a0efda03553c1314bce
-EBUILD netpbm-10.86.36.ebuild 6771 BLAKE2B 261ea89a2609e11f160fbcfb5a940963b77cfdf1820705566758a988d294635e3213ec4af3ce3ab37a74cde19ea875ac53dae8b2552f6e588dbd5e31230102cd SHA512 d9075e67b699f62852ed6e0fe747fd55b6bde0d97b7510cbdc56472ec328f5257899805defff19de56d9e3b548488e7b99ff35e170fed5080f6f15b786f43002
+DIST netpbm-11.3.1.tar.xz 3779152 BLAKE2B fa342670a72939c661290b344819cb8ba1bc5f0d09c49cbe68560077384c985a714c6808a4858e5f0eb6a8fb52be698eb075ff7892d0972f4eeb571c3ebd45ef SHA512 d43fdb7f2a91575cb17486ab9ca31d5c0757fd9756a230db9b9bfc3a786f58a2fbb4f6f0ce40d396245a8b1dd718b8aab0d80611ec23b19312bcd93c5d2548b3
EBUILD netpbm-11.2.0.ebuild 6830 BLAKE2B c07e114dd61e0aef2f08f93bd722f72fac8021bbe9d369b111084a706e64f93e76913074e74758bc37780abd13eff479e58f00b524daf1a6ba2171b57272d825 SHA512 9cc1e468d04a7e8538e4ed1964e5a34834c8b3e637c4db7c79dde6c0290500d713ed09f3d746a07f0c6bce9fbf812f5be497050d79c6360a65aaadb1e793c83e
-EBUILD netpbm-11.3.0.ebuild 6840 BLAKE2B 079ef16532536ddbc0435da2c49c63eaef668a6e1f2542d8fa02acccb41272acabc760f47b06c83ca77e6044944ca00cbe753a6ba3edcf0df36869955051de30 SHA512 e4a794b998ade53ece428a675ba4f4208400385e10bf6ad3a433eb47e9e34e306a816c3c641254a08460e29cf4eefa8388f961e67c4e97e083ca64f0b6879969
+EBUILD netpbm-11.3.1.ebuild 6840 BLAKE2B 079ef16532536ddbc0435da2c49c63eaef668a6e1f2542d8fa02acccb41272acabc760f47b06c83ca77e6044944ca00cbe753a6ba3edcf0df36869955051de30 SHA512 e4a794b998ade53ece428a675ba4f4208400385e10bf6ad3a433eb47e9e34e306a816c3c641254a08460e29cf4eefa8388f961e67c4e97e083ca64f0b6879969
MISC metadata.xml 424 BLAKE2B 9ccc907d6c15cb1a7d6cfe4679d6fa9f488642948897ca34958a06b439ebcfb912cfb18fa9d93f15f19573aed4bd7083d277151c477410a59cd64b4c9c0446d4 SHA512 a987be2134a44cc916d5a026068219b8ccaa149e577eaf2a53a7802321793129777cc79b069df95ec9320f15279249a5f9d8a61509452ef02effcb6c66cf9e80
diff --git a/media-libs/netpbm/files/netpbm-10.86.21-test.patch b/media-libs/netpbm/files/netpbm-10.86.21-test.patch
deleted file mode 100644
index b7758fdbd61e..000000000000
--- a/media-libs/netpbm/files/netpbm-10.86.21-test.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-`print ("got color map\n");` removed from `editor/pnmquantall` so remove from test
-Do this from the patch instead of ebuild because if upstream also fixes it the patch will fail, sed would not
-
---- a/test/pnmquantall.ok
-+++ b/test/pnmquantall.ok
-@@ -1,4 +1,3 @@
--got color map
- 2373957371 33838
- 3892560659 33838
- 1383839923 33838
diff --git a/media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch b/media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch
deleted file mode 100644
index e8876120a181..000000000000
--- a/media-libs/netpbm/files/netpbm-10.86.22-fix-ps-test.patch
+++ /dev/null
@@ -1,506 +0,0 @@
-postscript tests fail because of pbmtolps
-backport pbmtolps from netpbm-10.94.3, including tests
-see also bug #670362
-
---- a/converter/pbm/pbmtolps.c
-+++ b/converter/pbm/pbmtolps.c
-@@ -1,181 +1,253 @@
--/*
-- * pbmtolps -- convert a Portable BitMap into Postscript. The
-- * output Postscript uses lines instead of the image operator to
-- * generate a (device dependent) picture which will be imaged
-- * much faster.
-- *
-- * The Postscript path length is constrained to be less that 1000
-- * points so that no limits are overrun on the Apple Laserwriter
-- * and (presumably) no other printers.
-- *
-- * To do:
-- * make sure encapsulated format is correct
-- * repitition of black-white strips
-- * make it more device independent (is this possible?)
-- *
-- * Author:
-- * George Phillips <phillips@cs.ubc.ca>
-- * Department of Computer Science
-- * University of British Columbia
-- */
--
--#include <string.h>
--#include <stdio.h>
-+/*=============================================================================
-+ pbmtolps
-+===============================================================================
-+
-+ Convert a PBM image to Postscript. The output Postscript uses lines instead
-+ of the image operator to generate a (device dependent) picture which will be
-+ imaged much faster.
-+
-+ The Postscript path length is constrained to be at most 1000 vertices so that
-+ no limits are overrun on the Apple Laserwriter and (presumably) no other
-+ printers. The typical limit is 1500. See "4.4 Path Construction" and
-+ "Appendix B: Implementation Limits" in: PostScript Language Reference Manual
-+ https://www.adobe.com/content/dam/acom/en/devnet/actionscript/
-+ articles/psrefman.pdf
-+
-+ To do:
-+ make sure encapsulated format is correct
-+ repetition of black-white strips
-+ make it more device independent (is this possible?)
-+
-+ Author:
-+ George Phillips <phillips@cs.ubc.ca>
-+ Department of Computer Science
-+ University of British Columbia
-+=============================================================================*/
-+#include <stdbool.h>
-
-+#include "pm_c_util.h"
-+#include "mallocvar.h"
- #include "nstring.h"
-+#include "shhopt.h"
- #include "pbm.h"
-
-
--static int prev_white = -1;
--static int prev_black = -1;
--static char cmd = '\0';
--static int pointcount = 2;
--
--#ifdef RUN
--static int run = 1;
--#endif
--
--static char
--morepoints(char cmd, int howmany_pbmtolps) {
-- pointcount += 2;
-- if (pointcount > 1000) {
-- pointcount = 2;
-- cmd += 'm' - 'a';
-- }
-- return(cmd);
-+static float const MAX_DPI = 5000;
-+static float const MIN_DPI = 10;
-+static unsigned int const MAX_PATH_VERTICES = 1000;
-+
-+
-+struct CmdlineInfo {
-+ /* All the information the user supplied in the command line, in a form
-+ easy for the program to use.
-+ */
-+ const char * inputFileName; /* File name of input file */
-+ unsigned int inputFileSpec; /* Input file name specified */
-+ float lineWidth; /* Line width, if specified */
-+ unsigned int lineWidthSpec; /* Line width specified */
-+ float dpi; /* Resolution in DPI, if specified */
-+ unsigned int dpiSpec; /* Resolution specified */
-+};
-+
-+
-+
-+static void
-+validateDpi(float const dpi) {
-+
-+ if (dpi > MAX_DPI || dpi < MIN_DPI)
-+ pm_error("Specified DPI value out of range (%f)", dpi);
- }
-
-
-
--static void
--addstrip(int const white,
-- int const black) {
--
-- if (cmd) {
--#ifdef RUN
-- if (white == prev_white && black == prev_black)
-- run++;
-- else {
-- if (run == 1)
--#endif
-- printf("%d %d %c ",
-- prev_black, prev_white, morepoints(cmd, 2));
--#ifdef RUN
-- else
-- /* of course, we need to give a new command */
-- printf("%d %d %d %c ",
-- prev_white, prev_black, run,
-- morepoints(cmd + 'f' - 'a', 2 * run));
-- run = 1;
-- }
--#endif
-+static void
-+parseCommandLine(int argc,
-+ const char ** const argv,
-+ struct CmdlineInfo * const cmdlineP) {
-+/*----------------------------------------------------------------------------
-+ Parse program command line described in Unix standard form by argc
-+ and argv. Return the information in the options as *cmdlineP.
-+-----------------------------------------------------------------------------*/
-+ optEntry * option_def; /* malloc'ed */
-+ /* Instructions to OptParseOptions3 on how to parse our options. */
-+ optStruct3 opt;
-+
-+ unsigned int option_def_index;
-+
-+ MALLOCARRAY_NOFAIL(option_def, 100);
-+
-+ option_def_index = 0; /* incremented by OPTENTRY */
-+ OPTENT3(0, "linewidth", OPT_FLOAT, &cmdlineP->lineWidth,
-+ &cmdlineP->lineWidthSpec, 0);
-+ OPTENT3(0, "dpi", OPT_FLOAT, &cmdlineP->dpi,
-+ &cmdlineP->dpiSpec, 0);
-+
-+ opt.opt_table = option_def;
-+ opt.short_allowed = FALSE; /* We have no short (old-fashioned) options */
-+ opt.allowNegNum = FALSE; /* We have no parms that are negative numbers */
-+
-+ pm_optParseOptions3(&argc, (char **)argv, opt, sizeof(opt), 0);
-+ /* Uses and sets argc, argv, and some of *cmdlineP and others. */
-+
-+ if (cmdlineP->dpiSpec)
-+ validateDpi(cmdlineP->dpi);
-+ else
-+ cmdlineP->dpi = 300;
-+
-+ if (argc-1 < 1)
-+ cmdlineP->inputFileName = "-";
-+ else {
-+ if (argc-1 > 1)
-+ pm_error("Program takes zero or one argument (filename). You "
-+ "specified %u", argc-1);
-+ else
-+ cmdlineP->inputFileName = argv[1];
- }
-
-- prev_white = white;
-- prev_black = black;
-- cmd = 'a';
-+ if (cmdlineP->inputFileName[0] == '-' &&
-+ cmdlineP->inputFileName[1] == '\0')
-+ cmdlineP->inputFileSpec = false;
-+ else
-+ cmdlineP->inputFileSpec = true;
-+
-+ free(option_def);
- }
-
-
-
--static void
--nextline(void) {
-- /* need to check run, should have an outcommand */
-- if (cmd)
-- printf("%d %d %c\n", prev_black, prev_white, morepoints('c', 3));
-- else
-- printf("%c\n", morepoints('b', 1));
-- cmd = '\0';
-+static void
-+validateLineWidth(float const scCols,
-+ float const scRows,
-+ float const lineWidth) {
-+
-+ if (lineWidth >= scCols || lineWidth >= scRows)
-+ pm_error("Absurdly large -linewidth value (%f)", lineWidth);
- }
-
-
-
--int
--main(int argc, char ** argv) {
-- FILE* fp;
-- bit* bits;
-- int row;
-- int col;
-- int rows;
-- int cols;
-- int format;
-- int white;
-- int black;
-- const char* name;
-- float dpi = 300.0;
-- float sc_rows;
-- float sc_cols;
-- int i;
-- const char* const usage = "[ -dpi n ] [ pbmfile ]";
--
--
-- pbm_init(&argc, argv);
--
-- i = 1;
-- if (i < argc && streq(argv[i], "-dpi")) {
-- if (i == argc - 1)
-- pm_usage(usage);
-- sscanf(argv[i + 1], "%f", &dpi);
-- i += 2;
-- }
-+static void
-+doRaster(FILE * const ifP,
-+ unsigned int const cols,
-+ unsigned int const rows,
-+ int const format,
-+ FILE * const ofP) {
-
-- if (i < argc - 1)
-- pm_usage(usage);
-+ bit * bitrow;
-+ unsigned int row;
-+ unsigned int vertexCt;
-+ /* Number of vertices drawn since last stroke command */
-
-- if (i == argc) {
-- name = "noname";
-- fp = stdin;
-- } else {
-- name = argv[i];
-- fp = pm_openr(name);
-- }
-- pbm_readpbminit(fp, &cols, &rows, &format);
-- bits = pbm_allocrow(cols);
-+ bitrow = pbm_allocrow(cols);
-+
-+ for (row = 0, vertexCt = 0; row < rows; ++row) {
-+ unsigned int col;
-+ bool firstRun;
-
-- sc_rows = (float)rows / dpi * 72.0;
-- sc_cols = (float)cols / dpi * 72.0;
-+ firstRun = true; /* initial value */
-+
-+ pbm_readpbmrow(ifP, bitrow, cols, format);
-+
-+ /* output white-strip + black-strip sequences */
-
-- puts("%!PS-Adobe-2.0 EPSF-2.0");
-- puts("%%Creator: pbmtolps");
-- printf("%%%%Title: %s\n", name);
-- printf("%%%%BoundingBox: %d %d %d %d\n",
-- (int)(305.5 - sc_cols / 2.0),
-- (int)(395.5 - sc_rows / 2.0),
-- (int)(306.5 + sc_cols / 2.0),
-- (int)(396.5 + sc_rows / 2.0));
-- puts("%%EndComments");
-- puts("%%EndProlog");
-- puts("gsave");
--
-- printf("%f %f translate\n", 306.0 - sc_cols / 2.0, 396.0 + sc_rows / 2.0);
-- printf("72 %f div dup neg scale\n", dpi);
-- puts("/a { 0 rmoveto 0 rlineto } def");
-- puts("/b { 0 row 1 add dup /row exch def moveto } def");
-- puts("/c { a b } def");
-- puts("/m { currentpoint stroke newpath moveto a } def");
-- puts("/n { currentpoint stroke newpath moveto b } def");
-- puts("/o { currentpoint stroke newpath moveto c } def");
-- puts("/row 0 def");
-- puts("newpath 0 0 moveto");
--
-- for (row = 0; row < rows; row++) {
-- pbm_readpbmrow(fp, bits, cols, format);
-- /* output white-strip+black-strip sequences */
- for (col = 0; col < cols; ) {
-- for (white = 0; col < cols && bits[col] == PBM_WHITE; col++)
-- white++;
-- for (black = 0; col < cols && bits[col] == PBM_BLACK; col++)
-- black++;
-+ unsigned int whiteCt;
-+ unsigned int blackCt;
-+
-+ for (whiteCt = 0; col < cols && bitrow[col] == PBM_WHITE; ++col)
-+ ++whiteCt;
-+ for (blackCt = 0; col < cols && bitrow[col] == PBM_BLACK; ++col)
-+ ++blackCt;
-+
-+ if (blackCt > 0) {
-+ if (vertexCt > MAX_PATH_VERTICES) {
-+ printf("m ");
-+ vertexCt = 0;
-+ }
-+
-+ if (firstRun) {
-+ printf("%u %u moveto %u 0 rlineto\n",
-+ whiteCt, row, blackCt);
-+ firstRun = false;
-+ } else
-+ printf("%u %u a\n", blackCt, whiteCt);
-
-- if (black != 0)
-- addstrip(white, black);
-+ vertexCt += 2;
-+ }
- }
-- nextline();
- }
-- puts("stroke grestore showpage");
-- puts("%%Trailer");
-+ pbm_freerow(bitrow);
-+}
-+
-+
-+
-+static void
-+pbmtolps(FILE * const ifP,
-+ FILE * const ofP,
-+ struct CmdlineInfo const cmdline) {
-+
-+ const char * const psName =
-+ cmdline.inputFileSpec ? cmdline.inputFileName : "noname";
-+
-+ int rows;
-+ int cols;
-+ int format;
-+ float scRows, scCols;
-+ /* Dimensions of the printed image in points */
-+
-+ pbm_readpbminit(ifP, &cols, &rows, &format);
-+
-+ scRows = (float) rows / (cmdline.dpi / 72.0);
-+ scCols = (float) cols / (cmdline.dpi / 72.0);
-+
-+ if (cmdline.lineWidthSpec)
-+ validateLineWidth(scCols, scRows, cmdline.lineWidth);
-+
-+ fputs("%!PS-Adobe-2.0 EPSF-2.0\n", ofP);
-+ fputs("%%Creator: pbmtolps\n", ofP);
-+ fprintf(ofP, "%%%%Title: %s\n", psName);
-+ fprintf(ofP, "%%%%BoundingBox: %d %d %d %d\n",
-+ (int)(305.5 - scCols / 2.0),
-+ (int)(395.5 - scRows / 2.0),
-+ (int)(306.5 + scCols / 2.0),
-+ (int)(396.5 + scRows / 2.0));
-+ fputs("%%EndComments\n", ofP);
-+ fputs("%%EndProlog\n", ofP);
-+ fputs("gsave\n", ofP);
-+
-+ fprintf(ofP, "%f %f translate\n",
-+ 306.0 - scCols / 2.0, 396.0 + scRows / 2.0);
-+ fprintf(ofP, "72 %f div dup neg scale\n", cmdline.dpi);
-+
-+ if (cmdline.lineWidthSpec)
-+ fprintf(ofP, "%f setlinewidth\n", cmdline.lineWidth);
-+
-+ fputs("/a { 0 rmoveto 0 rlineto } def\n", ofP);
-+ fputs("/m { currentpoint stroke newpath moveto } def\n", ofP);
-+ fputs("newpath 0 0 moveto\n", ofP);
-+
-+ doRaster(ifP, cols, rows, format, ofP);
-+
-+ fputs("stroke grestore showpage\n", ofP);
-+ fputs("%%Trailer\n", ofP);
-+}
-+
-+
-+
-+int
-+main(int argc, const char *argv[]) {
-+ FILE * ifP;
-+ struct CmdlineInfo cmdline;
-+
-+ pm_proginit(&argc, argv);
-+
-+ parseCommandLine(argc, argv, &cmdline);
-+
-+ ifP = pm_openr(cmdline.inputFileName);
-+
-+ pbmtolps(ifP, stdout, cmdline);
-
-- pm_close(fp);
-+ pm_close(ifP);
-
-- exit(0);
-+ return 0;
- }
---- a/test/lps-roundtrip.ok
-+++ b/test/lps-roundtrip.ok
-@@ -0,0 +1 @@
-+match
---- a/test/lps-roundtrip.test
-+++ b/test/lps-roundtrip.test
-@@ -0,0 +1,22 @@
-+#! /bin/bash
-+# This script tests: pbmtolps pstopnm
-+# Also requires: gs pamdepth pamscale pnmcrop pnmpsnr
-+
-+# The ordinary round-trip does not work because of the way ghostscript
-+# renders: a line is considered wider than a single pixel and all pixels
-+# it touches are set to black if the output is PBM. To work around this,
-+# we tell pstopnm to output PGM at a high resolution (=large dpi value).
-+
-+
-+test_pgm=${tmpdir}/testgrid.pgm
-+
-+pamdepth 255 testgrid.pbm > ${test_pgm}
-+
-+pbmtolps -dpi 72 testgrid.pbm | \
-+ pstopnm -dpi $((72*12)) -stdout -pgm | \
-+ pnmcrop -white | pamscale -xsize=14 -ysize=16 | \
-+ pnmpsnr -target=30 - ${test_pgm}
-+
-+# ghostscript version 8.71: pnmpsnr lumina 33.14dB
-+
-+rm ${test_pgm}
---- a/test/ps-alt-roundtrip.ok
-+++ b/test/ps-alt-roundtrip.ok
-@@ -1,3 +1,2 @@
- 2425386270 41
--2425386270 41
- 2916080186 235
---- a/test/ps-alt-roundtrip.test
-+++ b/test/ps-alt-roundtrip.test
-@@ -1,21 +1,24 @@
- #! /bin/bash
--# This script tests: pbmtoepsi pbmtopsg3 pbmtolps psidtopgm pstopnm
-+# This script tests: pbmtoepsi pbmtopsg3 psidtopgm pstopnm
- # Also requires: gs pnmcrop
-
-
- # This script is for testing alternative (or minor) utilities that
- # read/write Postscript and encapsulated Postscript:
--# pbmtoepsi, pbmtopsg3, pbmtolps and psidtopgm.
-+# pbmtoepsi, pbmtopsg3 and psidtopgm.
- #
- # We keep these tests separate from those for pnmtops and pstopnm
- # which are far more popular.
- #
--# pbmtopsg3 and pbmtolps produce output that require pstopnm for decoding.
-+# pbmtopsg3 produces output that requires pstopnm for decoding.
-+#
-+# We used to test pbmtolps here, but moved it out when gs changed its
-+# rendering formula.
- #
- # Failure message
- ## If ps-roundtrip.test succeeds and this test fails, it is most likely
- ## a problem with one of the alternate Postscipt utilities:
--## pbmtoepsi, pbmtopsg3, pbmtolps or psidtopgm.
-+## pbmtoepsi, pbmtopsg3, or psidtopgm.
- ## If both tests fail it indicates a problem with pstopnm or gs.
-
- # pstopnm does not use libnetpbm functions for output.
-@@ -33,18 +36,8 @@
- rm ${testgrid1_ps}
-
-
--# Test 2. Should print: 2425386270 41
--testgrid2_ps=${tmpdir}/testgrid2.ps
--
--pbmtolps -dpi 72 testgrid.pbm \
-- > ${testgrid2_ps} && \
--pstopnm -xborder=0 -yborder=0 -dpi=72 -stdout \
-- -quiet ${testgrid2_ps} -pbm | \
-- pnmcrop | cksum
--
--rm ${testgrid2_ps}
-
--# Test 3. Should print: 2916080186 235
-+# Test 2. Should print: 2916080186 235
- # Output is pgm maxval=1 with black and white inverted.
- #
- testgrid_epsi=${tmpdir}/testgrid.epsi
---- a/test/Test-Order
-+++ b/test/Test-Order
-@@ -183,5 +183,6 @@
-
- fiasco-roundtrip.test
- jpeg-roundtrip.test
-+lps-roundtrip.test
- tiffcmyk-roundtrip.test
- yuv-roundtrip.test
diff --git a/media-libs/netpbm/netpbm-10.86.36.ebuild b/media-libs/netpbm/netpbm-10.86.36.ebuild
deleted file mode 100644
index 1cf3b450fbef..000000000000
--- a/media-libs/netpbm/netpbm-10.86.36.ebuild
+++ /dev/null
@@ -1,243 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic multilib toolchain-funcs
-
-# Upstream has 3 flavors of netpbm: super stable, stable and advanced.
-# They only provide a tarball for super stable, but super stable is a bit lagging.
-# So we package the stable branch of their svn (currently versions 10.86.xx) on SLOT "0/stable"
-# and the advanced branch of their svn (currently versions 11.aa.bb) on SLOT "0/advanced".
-# The stable branch is stabilized according to usual Gentoo rules, while the
-# advanced branch will not be stabilized.
-# A detailed explanation is here https://netpbm.sourceforge.net/release.html
-
-# libnetpbm.so is not 100% ABI compatible between stable and advanced, so
-# packages that depend on it should use "media-libs/netpbm:="
-
-DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats"
-HOMEPAGE="https://netpbm.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz"
-
-LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain"
-SLOT="0/stable"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml"
-
-# app-text/ghostscript-gpl is really needed for postscript
-# some utilities execute /usr/bin/gs
-# also some installed programs are perl scripts
-RDEPEND="
- dev-lang/perl
- jbig? ( media-libs/jbigkit:= )
- jpeg? ( media-libs/libjpeg-turbo:=[static-libs?] )
- png? (
- >=media-libs/libpng-1.4:0=
- sys-libs/zlib
- )
- postscript? (
- app-text/ghostscript-gpl
- sys-libs/zlib
- )
- rle? ( media-libs/urt:= )
- svga? ( media-libs/svgalib )
- tiff? ( >=media-libs/tiff-3.5.5:= )
- xml? ( dev-libs/libxml2 )
- X? ( x11-libs/libX11 )
-"
-
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-"
-
-BDEPEND="
- app-arch/xz-utils
- sys-devel/flex
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/netpbm-10.86.21-build.patch
- "${FILESDIR}"/netpbm-10.86.21-test.patch #450530
- "${FILESDIR}"/netpbm-10.86.21-misc-deps.patch
- "${FILESDIR}"/netpbm-10.86.22-fix-ps-test.patch #670362
-)
-
-netpbm_libtype() {
- case ${CHOST} in
- *-darwin*) echo dylib;;
- *) echo unixshared;;
- esac
-}
-
-netpbm_libsuffix() {
- local suffix=$(get_libname)
- echo ${suffix//\.}
-}
-
-netpbm_ldshlib() {
- case ${CHOST} in
- *-darwin*) echo '$(LDFLAGS) -dynamiclib -install_name $(SONAME)';;
- *) echo '$(LDFLAGS) -shared -Wl,-soname,$(SONAME)';;
- esac
-}
-
-netpbm_config_lib() {
- usex ${1} -l${2:-$1} NONE
-}
-
-# for bug #828127
-netpbm_cflags_for_build() {
- if is-flagq -fPIC; then
- echo -fPIC
- fi
-}
-
-src_prepare() {
- default
-
- # make sure we use system libs
- sed -i '/SUPPORT_SUBDIRS/s:urt::' GNUmakefile || die
- rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die
-
- # take care of the importinc stuff ourselves by only doing it once
- # at the top level and having all subdirs use that one set #149843
- sed -i \
- -e '/^importinc:/s|^|importinc:\nmanual_|' \
- -e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\
- common.mk || die
- sed -i \
- -e '/%.c/s: importinc$::' \
- common.mk lib/Makefile lib/util/Makefile || die
- sed -i \
- -e 's:pkg-config:$(PKG_CONFIG):' \
- GNUmakefile converter/other/Makefile other/pamx/Makefile || die
-
- # The postscript knob is currently bound up with a fork test.
- if ! use postscript ; then
- sed -i \
- -e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \
- converter/other/Makefile generator/Makefile || die
- sed -i -r \
- -e 's:(pbmtextps|pnmtops|pstopnm).*::' \
- test/all-in-place.{ok,test} || die
- sed -i -e 's:lps-roundtrip.*::' test/Test-Order || die
- sed -i -e '/^$/d' test/all-in-place.ok || die
- sed -i '2iexit 80' test/ps-{alt-,flate-,}roundtrip.test || die
- fi
-
- # the new postscript test needs +x
- chmod +x test/lps-roundtrip.test
-
- # Do not test png if not built
- if ! use png ; then
- sed -i -r \
- -e 's:(pamtopng|pngtopam|pnmtopng).*::' \
- test/all-in-place.{ok,test} || die
- sed -i -e '/^$/d' test/all-in-place.ok || die
-
- sed -i -r \
- -e 's:(pamrgbatopng|pngtopnm).*::' \
- test/legacy-names.{ok,test} || die
- sed -i -e '/^$/d' test/legacy-names.ok || die
- sed -i -e 's:png-roundtrip.*::' test/Test-Order || die
- fi
-
- # this test requires LC_ALL=en_US.iso88591, not available on musl
- if use elibc_musl; then
- sed -i -e 's:pbmtext-iso88591.*::' test/Test-Order || die
- fi
-}
-
-src_configure() {
- cat config.mk.in - >> config.mk <<-EOF || die "writing config.mk failed"
- # Misc stuff
- BUILD_FIASCO = N
- SYMLINK = ln -sf
-
- # These vars let src_test work by default
- PKGDIR_DEFAULT = ${T}/netpbm
- RESULTDIR_DEFAULT = ${T}/netpbm-test
-
- # Toolchain options
- CC = $(tc-getCC) -Wall
- LD = \$(CC)
- CC_FOR_BUILD = $(tc-getBUILD_CC)
- LD_FOR_BUILD = \$(CC_FOR_BUILD)
- AR = $(tc-getAR)
- RANLIB = $(tc-getRANLIB)
- PKG_CONFIG = $(tc-getPKG_CONFIG)
-
- STRIPFLAG =
- CFLAGS_SHLIB = -fPIC
- CFLAGS_FOR_BUILD += $(netpbm_cflags_for_build)
-
- LDRELOC = \$(LD) -r
- LDSHLIB = $(netpbm_ldshlib)
- LINKER_CAN_DO_EXPLICIT_LIBRARY = N # we can, but dont want to
- LINKERISCOMPILER = Y
- NETPBMLIBSUFFIX = $(netpbm_libsuffix)
- NETPBMLIBTYPE = $(netpbm_libtype)
- STATICLIB_TOO = $(usex static-libs Y N)
-
- # The var is called SSE, but the code is actually SSE2.
- WANT_SSE = $(usex cpu_flags_x86_sse2 Y N)
-
- # Gentoo build options
- TIFFLIB = $(netpbm_config_lib tiff)
- # Let tiff worry about its own dependencies #395753
- TIFFLIB_NEEDS_JPEG = N
- TIFFLIB_NEEDS_Z = N
- JPEGLIB = $(netpbm_config_lib jpeg)
- PNGLIB = $(netpbm_config_lib png)
- ZLIB = $($(tc-getPKG_CONFIG) --libs zlib)
- LINUXSVGALIB = $(netpbm_config_lib svga vga)
- XML2_LIBS = $(netpbm_config_lib xml xml2)
- JBIGLIB = $(netpbm_config_lib jbig)
- JBIGHDR_DIR =
- JASPERLIB = NONE
- JASPERHDR_DIR =
- URTLIB = $(netpbm_config_lib rle)
- URTHDR_DIR =
- X11LIB = $(netpbm_config_lib X X11)
- X11HDR_DIR =
- EOF
-}
-
-src_compile() {
- emake -j1 pm_config.h version.h manual_importinc #149843
- emake
-}
-
-src_test() {
- # The code wants to install everything first and then test the result.
- emake install.{bin,lib,data}
- emake check
-}
-
-src_install() {
- # Subdir make targets like to use `mkdir` all over the place
- # without any actual dependencies, thus the -j1.
- emake -j1 package pkgdir="${ED}"/usr
-
- if [[ $(get_libdir) != "lib" ]] ; then
- mv "${ED}"/usr/lib "${ED}"/usr/$(get_libdir) || die
- fi
-
- # Remove cruft that we don't need, and move around stuff we want
- rm "${ED}"/usr/{README,VERSION,{pkgconfig,config}_template,pkginfo} || die
-
- dodir /usr/share
- mv "${ED}"/usr/misc "${ED}"/usr/share/netpbm || die
-
- doman userguide/*.[0-9]
- dodoc README
-
- cd doc || die
- dodoc HISTORY Netpbm.programming USERDOC
- docinto html
- dodoc -r *.html
- dodoc -r ../userguide/*.html
-}
diff --git a/media-libs/netpbm/netpbm-11.3.0.ebuild b/media-libs/netpbm/netpbm-11.3.1.ebuild
index 886d2f5cab79..886d2f5cab79 100644
--- a/media-libs/netpbm/netpbm-11.3.0.ebuild
+++ b/media-libs/netpbm/netpbm-11.3.1.ebuild