Skip to content

print/gutenprint: Gutenprint 5.3.5 as a printer.device driver - #24

Merged
Kalamatee merged 1 commit into
aros-development-team:masterfrom
terminills:ports-gutenprint
Nov 1, 2026
Merged

Kalamatee merged 1 commit into
aros-development-team:masterfrom
terminills:ports-gutenprint

Conversation

@terminills

Copy link
Copy Markdown
Contributor

Gutenprint's printer drivers (3608 models) for AROS the way TurboPrint added printers: a printer.device driver (Extras:Devs/Printers/Gutenprint) that hands the page dumps to GutenprintRender, which runs libgutenprint in its own process and sends the result to the unit's port device; GutenprintPrefs as the settings editor Prefs/Printer opens for the driver; the printer definitions, a generic PPD and three tools under Extras:Utilities/Print/Gutenprint, with icons. The package startup assigns GUTENPRINT:.

libgutenprint is built static from the upstream tarball (no CUPS, GIMP, GTK, NLS, modules, tests); the patch limits the build to include and src/main and lets STP_DATA_PATH use ';' between paths. GPL v2+, see LEGAL.

The driver uses printer.device as it is in master; it also sends PRD_SETJOBINFO when the headers define it (aros-development-team/AROS#1966), under #ifdef.

Tested on the pc-x86_64 live CD in QEMU (master 9802c8c03c): the package startup assigned GUTENPRINT:, GutenprintPrefs opened, and gp-render escp2-c80 of a PPM produced the same 4428827 bytes (fnv1a64 1700bf64da6418d0) as the Linux build of the same sources with the same options.

Gutenprint's printer drivers (3608 models: Epson, Canon, HP, Lexmark,
dye sublimation and PostScript printers) for AROS, in the way TurboPrint
added printers to the Amiga: a printer.device driver that any program
printing through printer.device uses unchanged.

- Extras:Devs/Printers/Gutenprint: the printer.device driver. It takes
  the page dumps (PRD_DUMPRPORT) and text and hands them to
  GutenprintRender, which runs libgutenprint in its own process so the
  2 MB of printer definitions are loaded once, and sends the result to
  the unit's port device.
- Extras:Utilities/Print/Gutenprint: GutenprintRender, GutenprintPrefs
  (the settings editor Prefs/Printer opens for the driver: model,
  paper, quality, colour, per-unit profiles in ENV(ARC):Gutenprint),
  the printer definitions (xml/), a generic PPD and the tools gp-render
  (a PPM through a Gutenprint driver into a file, with the output's
  size and FNV-1a checksum), gp-query (what an application sees of a
  printer.device unit) and gp-dumptest (prints through printer.device
  as an application would).
- The package startup assigns GUTENPRINT: to the drawer; the library's
  data is found through STP_DATA_PATH, ENVARC:Gutenprint/xml first and
  GUTENPRINT:xml second.

libgutenprint is built static from the upstream tarball without CUPS,
GIMP, GTK, NLS, modules and tests; the patch limits the build to the
include and src/main directories (src/xml's extract-strings is a host
tool) and lets STP_DATA_PATH use ';' between paths, since ':' ends an
AROS device name. Icons for the drawer and the prefs editor.

On the pc-x86_64 live CD, gp-render escp2-c80 of the same PPM produces
the same 4428827 bytes (fnv1a64 1700bf64da6418d0) as the Linux build of
the same sources.
@Kalamatee
Kalamatee merged commit 409f31e into aros-development-team:master Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants