All GSoC years

GSoC 2024 Projects

Contributors, completed projects, and mentoring details for GSoC 2024.

View on GSoC Archive

Completed Work

GSoC 2024 Projects

10 projects

Replace QPDF by PDFio as PDF manipulation library in libcupsfilters

Replaced QPDF with PDFio as the PDF manipulation library in libcupsfilters, porting all C++ files in cupsfilters/pdftopdf/*, pdf.cxx, and pclmtoraster.cxx to pure C with all tests passing.

Uddhav PhatakUddhav Phatak
Mentors:Till KamppeterTillMichael SweetMichaelIra
View project

Desktop integration: CPDB support for print dialogs of Mozilla (Thunderbird/Firefox) and LibreOffice

Added CPDB support for the Mozilla Firefox/Thunderbird print dialog, implementing a CPDB backend that dynamically fetches printer properties. Code review pending upstream merge at Mozilla.

Kushagra SharmaKushagra Sharma
Mentors:Till KamppeterTillGaurav
View project

Desktop Integration: Update system-config-printer for the New Architecture of printing

Updated system-config-printer for the New Architecture of printing, adding asynchronous IPP service discovery and working on the 'Add Printer' functionality for modern IPP printers.

Shivam JaiswalShivam Jaiswal
Mentors:Till KamppeterTillZdenek
View project

Converting Braille embosser support into a Printer Application

Converted Braille embosser support into a PAPPL-based Printer Application, implementing MIME type detection with libmagic and supporting printing of TXT, PDF, HTML, and JPG files to Braille embossers.

Arun PatwaArun Patwa
Mentors:Till KamppeterTillSamuelChandresh
View project

Desktop integration: CPDB support for print dialogs of Mozilla (Thunderbird/Firefox) and LibreOffice

Added CPDB support to the LibreOffice print dialog, connecting LibreOffice to the Common Print Dialog Backends system. All CPDB pull requests merged; LibreOffice upstream merge request pending.

Biswadeep PurkayasthaBiswadeep Purkayastha
Mentors:Till KamppeterTillGaurav
View project

Make a native Printer Application from Gutenprint

Created a native Printer Application from Gutenprint, converting the Gutenprint driver into a PAPPL-based Printer Application without PPD file dependencies. Plans include adding option preset functionality.

Ankit Pal SinghAnkit Pal Singh
Mentors:Till KamppeterTill
View project

Official OCI containers (Docker, ROCKs, podman, ...) of CUPS and Printer Applications

Packaged CUPS and Printer Applications (PostScript, Ghostscript, HPLIP, Gutenprint) into OCI container images (Rocks), and built GitHub Actions for automated updates and versioning.

Rudra Pratap SinghRudra Pratap Singh
Mentors:Till KamppeterTill
View project

Desktop Integration: User interfaces for using OAuth2 with printers and scanners

Finalized the new printing architecture for GNOME in the GNOME Control Center, adding support for driverless IPP printers and Printer Applications in the GUI. Code migration to GCC 47.3 and upstream merge request in progress.

Kaushik VeeraraghavanKaushik Veeraraghavan
Mentors:Till KamppeterTillGaurav
View project

Integrating C-based OpenPrinting projects in OSS-Fuzz testing

Integrated C-based OpenPrinting projects into OSS-Fuzz testing, deploying active fuzzing on CUPS 2.x and libcups 3.x repositories. Discovered and fixed issues resulting in over 5,000 lines of code changes.

ttfishttfish
Mentors:Till KamppeterTillGeorge-Andrei
View project

CI Testing programs for libpappl-retrofit and libppd

Bridged the PAPPL API for Scanner Applications, creating the Scan API in PAPPL and a retrofit interface for replacing SANE with a universal PAPPL interface for driverless scanner operation.

Akarshan KapoorAkarshan Kapoor
Mentors:Till KamppeterTillMichael SweetMichael
View project