From 943cd7b5d0f60c8aee5d3883ff5d4c272b4d0751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= Date: Mon, 29 Apr 2024 10:50:09 -0300 Subject: [PATCH] tiff: build tiff2ps and tiff2pdf into `tiff-unsupported` --- srcpkgs/tiff/files/tiff2pdf.1 | 276 +++++++++++++++++++++++++++++ srcpkgs/tiff/files/tiff2ps.1 | 319 ++++++++++++++++++++++++++++++++++ srcpkgs/tiff/template | 16 +- 3 files changed, 609 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/tiff/files/tiff2pdf.1 create mode 100644 srcpkgs/tiff/files/tiff2ps.1 diff --git a/srcpkgs/tiff/files/tiff2pdf.1 b/srcpkgs/tiff/files/tiff2pdf.1 new file mode 100644 index 00000000000000..8020b58901f9d2 --- /dev/null +++ b/srcpkgs/tiff/files/tiff2pdf.1 @@ -0,0 +1,276 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "TIFF2PDF" "1" "Jun 10, 2023" "4.5" "LibTIFF" +.SH NAME +tiff2pdf \- convert a TIFF image to a PDF document +.SH SYNOPSIS +.sp +\fBtiff2pdf\fP [ \fIoptions\fP ] \fIinput.tiff\fP +.SH DESCRIPTION +.sp +\fBtiff2pdf\fP opens a TIFF image and writes a PDF document to standard output. +.sp +The program converts one TIFF file to one PDF file, including multiple page +TIFF files, tiled TIFF files, black and white. grayscale, and color TIFF +files that contain data of TIFF photometric interpretations of bilevel, +grayscale, RGB, YCbCr, CMYK separation, and ICC L*a*b* as supported by +\fBlibtiff\fP and PDF. +.sp +If you have multiple TIFF files to convert into one PDF file then use \fBtiffcp\fP +or other program to concatenate the files into a multiple page TIFF file. +If the input TIFF file is of huge dimensions (greater than 10000 pixels height +or width) convert the input image to a tiled TIFF if it is not already. +.sp +The standard output is standard output. Set the output file name with the +\fI\%\-o\fP option. +.sp +All black and white files are compressed into a single strip CCITT G4 Fax +compressed PDF, unless tiled, where tiled black and white images are +compressed into tiled CCITT G4 Fax compressed PDF, +\fBlibtiff\fP CCITT support is assumed. +.sp +Color and grayscale data can be compressed using either JPEG compression, +ITU\-T T.81, or Zip/Deflate LZ77 compression. Set the compression type using +the \fI\%\-j\fP or \fI\%\-z\fP options. JPEG compression support +requires that \fBlibtiff\fP be configured with JPEG support, and +Zip/Deflate compression support requires that \fBlibtiff\fP +be configured with Zip support. Use only one or the other of +\fI\%\-j\fP and \fI\%\-z\fP\&. +.sp +If the input TIFF contains single strip CCITT G4 Fax compressed information, +then that is written to the PDF file without transcoding, unless the options +of no compression and no passthrough are set, \fI\%\-d\fP and \fI\%\-n\fP\&. +.sp +If the input TIFF contains JPEG or single strip Zip/Deflate compressed +information, and they are configured, then that is written to the PDF file +without transcoding, unless the options of no compression and no passthrough +are set. +.sp +The default page size upon which the TIFF image is placed is determined by +the resolution and extent of the image data. Default values for the TIFF +image resolution can be set using the \fI\%\-x\fP and \fI\%\-y\fP +options. The page size can be set using the \fI\%\-p\fP +option for paper size, or \fI\%\-w\fP and \fI\%\-l\fP +for paper width and length, then each page of the TIFF image is centered on +its page. The distance unit for default resolution and page width and +length can be set by the \fI\%\-u\fP option, the default unit is inch. +.sp +Various items of the output document information can be set with the +\fI\%\-e\fP, \fI\%\-c\fP, \fI\%\-a\fP, \fI\%\-t\fP, \fI\%\-s\fP, +and \fI\%\-k\fP options. Setting the argument of the option to \fB\(dq\(dq\fP for these +tags causes the relevant document information field to be not written. Some +of the document information values otherwise get their information from the +input TIFF image, the software, author, document name, and image description. +.sp +The Portable Document Format (PDF) specification is copyrighted by Adobe +Systems, Incorporated. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-o output\-file +Set the output to go to file \fIoutput\-file\fP +.UNINDENT +.INDENT 0.0 +.TP +.B \-j +Compress with JPEG (requires \fBlibjpeg\fP configured with +\fBlibtiff\fP). +.UNINDENT +.INDENT 0.0 +.TP +.B \-z +Compress with Zip/Deflate (requires :program\(gazlib\(ga configured with +\fBlibtiff\fP). +.UNINDENT +.INDENT 0.0 +.TP +.B \-q quality +Set the compression quality, 1\-100 for JPEG. +.UNINDENT +.INDENT 0.0 +.TP +.B \-n +Do not allow data to be converted without uncompressing, no compressed +data passthrough. +.UNINDENT +.INDENT 0.0 +.TP +.B \-b +Set PDF \fBInterpolate\fP user preference. +.UNINDENT +.INDENT 0.0 +.TP +.B \-d +Do not compress (decompress). +.UNINDENT +.INDENT 0.0 +.TP +.B \-i +Invert colors. +.UNINDENT +.INDENT 0.0 +.TP +.B \-p paper\-size +Set paper size, e.g., \fBletter\fP, \fBlegal\fP, \fBA4\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-F +Cause the tiff to fill the PDF page. +.UNINDENT +.INDENT 0.0 +.TP +.B \-u [ i | m ] +Set distance unit, \fBi\fP for inch, \fBm\fP for centimeter. +.UNINDENT +.INDENT 0.0 +.TP +.B \-w width +Set width in units. +.UNINDENT +.INDENT 0.0 +.TP +.B \-l length +Set length in units. +.UNINDENT +.INDENT 0.0 +.TP +.B \-x xres +Set x/width resolution default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-y yres +Set y/length resolution default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-r [ d | o ] +Set \fBd\fP for resolution default for images without resolution, +\fBo\fP for resolution override for all images. +.UNINDENT +.INDENT 0.0 +.TP +.B \-f +Set PDF \fBFit Window\fP user preference. +.UNINDENT +.INDENT 0.0 +.TP +.B \-e YYYYMMDDHHMMSS +Set document information date, overrides image or current date/time default, +\fBYYYYMMDDHHMMSS\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-c creator +Set document information creator, overrides image software default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-a author +Set document information author, overrides image artist default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-t title +Set document information title, overrides image document name default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-s subject +Set document information subject, overrides image image description default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-k keywords +Set document information keywords. +.UNINDENT +.INDENT 0.0 +.TP +.B \-m size +Set memory allocation limit (in MiB). Default is 256MiB. Set to 0 to disable the limit. +.UNINDENT +.INDENT 0.0 +.TP +.B \-h +List usage reminder to stderr and exit. +.UNINDENT +.SH EXAMPLES +.sp +The following example would generate the file output.pdf from input.tiff: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +tiff2pdf \-o output.pdf input.tiff +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The following example would generate PDF output from input.tiff and write it +to standard output: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +tiff2pdf input.tiff +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The following example would generate the file output.pdf from input.tiff, +putting the image pages on a letter sized page, compressing the output +with JPEG, with JPEG quality 75, setting the title to \fBDocument\fP, and setting +the \fBFit Window\fP option: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +tiff2pdf \-p letter \-j \-q 75 \-t \(dqDocument\(dq \-f \-o output.pdf input.tiff +.ft P +.fi +.UNINDENT +.UNINDENT +.SH SEE ALSO +.sp +\fI\%tiffcp\fP (1), +\fI\%tiff2ps\fP (1), +\fI\%libtiff\fP (3tiff), +.SH AUTHOR +LibTIFF contributors +.SH COPYRIGHT +1988-2022, LibTIFF contributors +.\" Generated by docutils manpage writer. +. diff --git a/srcpkgs/tiff/files/tiff2ps.1 b/srcpkgs/tiff/files/tiff2ps.1 new file mode 100644 index 00000000000000..edc9774eba8d27 --- /dev/null +++ b/srcpkgs/tiff/files/tiff2ps.1 @@ -0,0 +1,319 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "TIFF2PS" "1" "Jun 10, 2023" "4.5" "LibTIFF" +.SH NAME +tiff2ps \- convert TIFF image to PostScript™ +.SH SYNOPSIS +.sp +\fBtiff2ps\fP [ \fIoptions\fP ] \fIinput.tif\fP … +.SH DESCRIPTION +.sp +\fBtiff2ps\fP reads TIFF images and writes PostScript™ or Encapsulated +PostScript™ (EPS) on the standard output. By default \fBtiff2ps\fP +writes Encapsulated PostScript™ for the first image in the specified +TIFF image file. +.sp +By default, \fBtiff2ps\fP will generate PostScript™ that fills a +printed area specified by the TIFF tags in the input file. +If the file does not contain \fBXResolution\fP or \fBYResolution\fP +tags, then the printed area is set according to the image dimensions. +The \fI\%\-w\fP and \fI\%\-h\fP options (see below) +can be used to set the dimensions of the printed area in inches; +overriding any relevant TIFF tags. +.sp +The PostScript™ generated for RGB, palette, and CMYK images uses the +\fBcolorimage\fP operator. The PostScript™ generated for greyscale and +bilevel images uses the \fBimage\fP operator. When the \fBcolorimage\fP +operator is used, PostScript™ code to emulate this operator +on older PostScript™ printers is also generated. +Note that this emulation code can be very slow. +.sp +Color images with associated alpha data are composited over +a white background. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-1 +Generate PostScript™ Level 1 (the default). +.UNINDENT +.INDENT 0.0 +.TP +.B \-2 +Generate PostScript™ Level 2. +.UNINDENT +.INDENT 0.0 +.TP +.B \-3 +Generate PostScript™ Level 3. It basically allows one to use the \fB\(ga/flateDecode\fP +filter for ZIP compressed TIFF images. +.UNINDENT +.INDENT 0.0 +.TP +.B \-8 +Disable use of ASCII85 encoding with PostScript™ Level 2/3. +.UNINDENT +.INDENT 0.0 +.TP +.B \-a +Generate output for all IFDs (pages) in the input file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-b margin +Specify the bottom margin for the output (in inches). This does not affect +the height of the printed image. +.UNINDENT +.INDENT 0.0 +.TP +.B \-c +Center the image in the output. This option only shows an effect if both +the \fI\%\-w\fP and the \fI\%\-h\fP option are given. +.UNINDENT +.INDENT 0.0 +.TP +.B \-C name +Specify the document creator name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-d dir +Set the initial TIFF +directory to the specified directory number. +(NB: Directories are numbered starting at zero.) +This option is useful for selecting individual pages in a +multi\-page (e.g. facsimile) file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-D +Enable duplex printing (two pages per sheet of paper). +.UNINDENT +.INDENT 0.0 +.TP +.B \-e +Force the generation of Encapsulated PostScript™ (implies +\fI\%\-z\fP). +.UNINDENT +.INDENT 0.0 +.TP +.B \-h size +Specify the vertical size of the printed area (in inches). +.UNINDENT +.INDENT 0.0 +.TP +.B \-H +Specify the maximum height of image (in inches). Images with larger sizes will +be split in several pages. Option \fI\%\-L\fP +may be used for specifying size of split images overlapping. +.UNINDENT +.INDENT 0.0 +.TP +.B \-i +Enable/disable pixel interpolation. This option requires a +single numeric value: zero to disable pixel interpolation and +non\-zero to enable. The default is enabled. +.UNINDENT +.INDENT 0.0 +.TP +.B \-L +Specify the size of overlapping for split images (in inches). Used in +conjunction with \fI\%\-H\fP and \fI\%\-W\fP options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-l +Specify the left margin for the output (in inches). This does not affect +the width of the printed image. +.UNINDENT +.INDENT 0.0 +.TP +.B \-M size +Set maximum memory allocation size (in MiB). The default is 256MiB. +Set to 0 to disable the limit. +.UNINDENT +.INDENT 0.0 +.TP +.B \-m +Where possible render using the \fBimagemask\fP PostScript™ operator instead of the +\fBimage\fP operator. When this option is specified \fBtiff2ps\fP will use +\fBimagemask\fP for rendering 1 bit deep images. If this option is not specified +or if the image depth is greater than 1 then the \fBimage\fP operator is used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-o ifdoffset +Set the initial TIFF directory to the IFD at the specified file offset. +This option is useful for selecting thumbnail images and the +like which are hidden using the \fBSubIFD\fP tag. +.UNINDENT +.INDENT 0.0 +.TP +.B \-O +Write PostScript™ to specified file instead of standard output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-p +Force the generation of (non\-Encapsulated) PostScript™. +.UNINDENT +.INDENT 0.0 +.TP +.B \-P L|P +Set optional PageOrientation DSC comment to Landscape or Portrait. +.UNINDENT +.INDENT 0.0 +.TP +.B \-r 90|180|270|auto +Rotate image by 90, 180, 270 degrees or auto. Auto picks the best +fit for the image on the specified paper size (eg portrait +or landscape) if \fI\%\-h\fP or \fI\%\-w\fP is specified. Rotation is in degrees +counterclockwise. Auto rotates 90 degrees ccw to produce landscape. +.UNINDENT +.INDENT 0.0 +.TP +.B \-s +Generate output for a single IFD (page) in the input file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-t title +Specify the document title string. +.UNINDENT +.INDENT 0.0 +.TP +.B \-T +Print pages for top edge binding. +.UNINDENT +.INDENT 0.0 +.TP +.B \-w size +Specify the horizontal size of the printed area (in inches). +.UNINDENT +.INDENT 0.0 +.TP +.B \-W size +Specify the maximum width of image (in inches). Images with larger sizes will +be split in several pages. Options \fI\%\-L\fP and \fI\%\-W\fP +are mutually exclusive. +.UNINDENT +.INDENT 0.0 +.TP +.B \-x +Override resolution units specified in the TIFF as centimeters. +.UNINDENT +.INDENT 0.0 +.TP +.B \-y +Override resolution units specified in the TIFF as inches. +.UNINDENT +.INDENT 0.0 +.TP +.B \-z +When generating PostScript™ Level 2, data is scaled so that it does not +image into the \fBdeadzone\fP on a page (the outer margin that the printing device +is unable to mark). This option suppresses this behavior. +When PostScript™ Level 1 is generated, data is imaged to the entire printed +page and this option has no affect. +.UNINDENT +.SH EXAMPLES +.sp +The following generates PostScript™ Level 2 for all pages of a facsimile: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +tiff2ps \e\-a2 fax.tif | lpr +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Note also that if you have version 2.6.1 or newer of Ghostscript then you +can efficiently preview facsimile generated with the above command. +.sp +To generate Encapsulated PostScript™ for a the image at directory 2 +of an image use: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +tiff2ps \e\-d 1 foo.tif +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +(Notice that directories are numbered starting at zero.) +.sp +If you have a long image, it may be split in several pages: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +tiff2ps \e\-h11 \e\-w8.5 \e\-H14 \e\-L.5 foo.tif > foo.ps +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The page size is set to 8.5x11 by \fI\%\-w\fP and \fI\%\-h\fP +options. We will accept a small amount of vertical compression, so +\fI\%\-H\fP set to 14. Any pages between 11 and 14 inches will be fit onto one page. +Pages longer than 14 inches are cut off at 11 and continued on the next +page. The \fB\-L.5\fP +option says to repeat a half inch on the next page (to improve readability). +.SH BUGS +.sp +Because PostScript™ does not support the notion of a colormap, +8\-bit palette images produce 24\-bit PostScript™ images. +This conversion results in output that is six times +bigger than the original image and which takes a long time +to send to a printer over a serial line. +Matters are even worse for 4\-, 2\-, and 1\-bit palette images. +.sp +Does not handle tiled images when generating PostScript™ Level I output. +.SH SEE ALSO +.sp +\fI\%pal2rgb\fP (1), +\fI\%tiffinfo\fP (1), +\fI\%tiffcp\fP (1), +\fI\%tiffgt\fP (1), +\fI\%tiffmedian\fP (1), +\fI\%tiff2bw\fP (1), +\fI\%libtiff\fP (3tiff), +.SH AUTHOR +LibTIFF contributors +.SH COPYRIGHT +1988-2022, LibTIFF contributors +.\" Generated by docutils manpage writer. +. diff --git a/srcpkgs/tiff/template b/srcpkgs/tiff/template index 2b75b9ddff8769..8f54420209e0a5 100644 --- a/srcpkgs/tiff/template +++ b/srcpkgs/tiff/template @@ -1,9 +1,9 @@ # Template file for 'tiff' pkgname=tiff version=4.6.0 -revision=1 +revision=2 build_style=gnu-configure -configure_args="--enable-cxx --without-x" +configure_args="--enable-cxx --without-x --enable-tools-unsupported" makedepends="jbigkit-devel libjpeg-turbo-devel liblzma-devel libzstd-devel zlib-devel" short_desc="Library and tools for reading and writing TIFF data files" @@ -38,3 +38,15 @@ tiff-devel_package() { vmove usr/share/doc } } + +tiff-unsupported_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - unsupported tools" + pkg_install() { + # move unsupported tools + vmove usr/bin/tiff2pdf + vmove usr/bin/tiff2ps + vman ${FILESDIR}/tiff2pdf.1 + vman ${FILESDIR}/tiff2ps.1 + } +}