Comment 0 for bug 965467

Revision history for this message
Savvas Radevic (medigeek) wrote :

Intro: libgxps is a GObject based library for handling and rendering XPS documents.

OpenXPS or XPS stands for XML Paper Specification. It is based on XML and it's a new electronic paper format originally developed by Microsoft and it serves as a PDF alternative. XPS files are usually created using "Microsoft XPS Document Writer" in Windows environments. It is now standardized as an open standard document format.

Quoting Wikipedia: An XPS file is in fact a Unicoded ZIP archive using the Open Packaging Conventions, containing the files which make up the document. These include an XML markup file for each page, text, embedded fonts, raster images, 2D vector graphics, as well as the digital rights management information. The contents of an XPS file can be examined simply by opening it in an application which supports ZIP files.

The OpenXPS document format specification supports features such as color gradients, transparencies, CMYK color spaces, printer calibration, multiple-ink systems and print schemas.

libgxps is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

Provided packages: http://packages.ubuntu.com/source/precise/libgxps
 gir1.2-gxps-0.1 GObject introspection data for the gxps library
 libgxps-dev handling and rendering XPS documents (development files)
 libgxps-doc library for handling and rendering XPS documents (documentation)
 libgxps-utils handling and rendering XPS documents (utilities)
 libgxps2 handling and rendering XPS documents (library)

MIR checks:
1. Availability: All supported architectures: https://launchpad.net/ubuntu/+source/libgxps/0.2.2-1

2. Rationale: The package is a new build dependency or dependency of a package that we already support
* The main goal is to add libgxps as a build-dependency for evince and allow users to read .xps files. I realize that we are kind of late in the development cycle - I had to wait for libarchive 3.x and libgxps to be included first.
* No other reverse dependencies are planned except for evince
* First libgxps upstream release in 2011-10-11: http://ftp.gnome.org/pub/gnome/sources/libgxps/0.1/
* libgxps Debian package is a new package, just recently included (but adequately tested):
https://launchpad.net/ubuntu/+source/libgxps
http://packages.qa.debian.org/libg/libgxps.html
* Evince already supports libgxps: https://bugzilla.gnome.org/show_bug.cgi?id=321868
It just has to be enabled: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/375038

3. Security: N/A
No CVE reports: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=libgxps
No Secunia security reports: https://secunia.com/advisories/search/?search=libgxps

4. QA
* No bug reports in Debian PTS: http://packages.qa.debian.org/libg/libgxps.html
* Bug reports upstream: https://bugzilla.gnome.org/browse.cgi?product=libgxps
Total current open bugs: 1: https://bugzilla.gnome.org/show_bug.cgi?id=670895 (low importance, already FIXED in libarchive 3.x package that is included in precise - it only requires a version bump in libgxps configure script upstream)
* Tested with microsoft xps writer generated files and works as expected while I was waiting for libarchive 3.x inclusion ( https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/951139 )
a) .xps example/test files: https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/951139/+attachment/2845528/+files/xps-examples.zip
b) screenshot of evince with enabled xps: https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/951139/+attachment/2845529/+files/main_goal_evince_xps.png

6. Build-Depends: All in main: Yes
 cdbs (>= 0.4.93), debhelper (>= 9), dh-autoreconf, gnome-pkg-tools (>= 0.10), gobject-introspection, gtk-doc-tools (>= 1.14),
 libarchive-dev (>= 3.0.0), libcairo2-dev, libfreetype6-dev, libglib2.0-dev, libglib2.0-doc, libgirepository1.0-dev, libgtk-3-dev,
 libjpeg-dev, liblcms2-dev, libtiff-dev, pkg-config

7. Standards compliance: Debian, 3.9.2