FS#58429 - [dia] Missing png-libart, breaking dia-support for doxygen

Attached to Project: Community Packages
Opened by Simeon Felis (simeon) - Wednesday, 02 May 2018, 19:28 GMT
Last edited by Balló György (City-busz) - Friday, 04 May 2018, 20:23 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Balló György (City-busz)
Baptiste (zorun)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Doxygen has the ability to convert files generated with dia the eg. png directly using the directive @diafile

https://www.stack.nl/~dimitri/doxygen/manual/commands.html#cmddiafile

When used, I get the following error message from dia via doxygen:

** (dia:7337): CRITICAL **: 21:17:38.231: Can't find output format/filter png-libart

Let's check that:

pacman -Qi dia :(
Name : dia
Version : 0.97.3-4
Description : A GTK+ based diagram creation program
Architecture : x86_64
URL : http://live.gnome.org/Dia
Licenses : GPL
Groups : None
Provides : None
Depends On : libxslt gtk2
Optional Deps : python2 [installed]
Required By : dia-shapes
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 19,63 MiB
Packager : Ball
Build Date : Fr 27 Jan 2017 16:37:08 CET
Install Date : Fr 21 Jul 2017 21:46:10 CEST
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature

dia --help
Usage:
dia [OPTION?] [FILE...]

Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gtk Show GTK+ Options

Application Options:
-e, --export=OUTPUT Export loaded file and exit
-t, --filter=TYPE Select the filter/format out of: cgm, dia, dxf, eps, eps-builtin, eps-pango, fig, mp, plt, hpgl, png (cairo-png, cairo-alpha-png, pixbuf-png), jpg, shape, svg, tex (pgf-tex, pstricks-tex), wpg
-s, --size=WxH Export graphics size
-L, --show-layers=LAYER,LAYER,... Show only specified layers (e.g. when exporting). Can be either the layer name or a range of layer numbers (X-Y)
-n, --nosplash Don't show the splash screen
--nonew Don't create empty diagram
--integrated Start integrated user interface (diagrams in tabs)
-l, --log-to-stderr Send error messages to stderr instead of showing dialogs.
-I, --input-directory=DIRECTORY Directory containing input files
-O, --output-directory=DIRECTORY Directory containing output files
-c, --credits Display credits list and exit
--verbose Generate verbose output
-v, --version Display version and exit
--display=DISPLAY X display to use

no png-libart in --filter=TYPE. Ok, let's compile from upstream:

/opt/dia/bin/dia --version
Dia version 0.97.3, compiled 23:30:39 Apr 29 2018
/opt/dia/bin/dia --help
Usage:
dia [OPTION?] [FILE...]

Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gtk Show GTK+ Options

Application Options:
-e, --export=OUTPUT Export loaded file and exit
-t, --filter=TYPE Select the filter/format out of: cgm, dia, dxf, eps, eps-builtin, eps-pango, fig, mp, plt, hpgl, png (png-libart, cairo-png, cairo-alpha-png, pixbuf-png), jpg, shape, svg, tex (pgf-tex, pstricks-tex), wpg
-s, --size=WxH Export graphics size
-L, --show-layers=LAYER,LAYER,... Show only specified layers (e.g. when exporting). Can be either the layer name or a range of layer numbers (X-Y)
-n, --nosplash Don't show the splash screen
--nonew Don't create empty diagram
--integrated Start integrated user interface (diagrams in tabs)
-l, --log-to-stderr Send error messages to stderr instead of showing dialogs.
-I, --input-directory=DIRECTORY Directory containing input files
-O, --output-directory=DIRECTORY Directory containing output files
-c, --credits Display credits list and exit
--verbose Generate verbose output
-v, --version Display version and exit
--display=DISPLAY X display to use


Unfortunately doxygen cannot be configured to alter the export filter for dia, it's hard coded in sources.

Is this maybe a compile-time dependency?
This task depends upon

Closed by  Balló György (City-busz)
Friday, 04 May 2018, 20:23 GMT
Reason for closing:  Upstream
Comment by Balló György (City-busz) - Wednesday, 02 May 2018, 20:10 GMT
I disabled libart support in the dia package, because it's a deprecated, unmaintained library a long time ago, and the same functionality is provided by cairo. I think that Doxygen should use or at least fall back to cairo-png instead of hardcoding png-libart:
https://github.com/doxygen/doxygen/blob/d4beb392b452d14d375e1406ec4fb0f6436081ee/src/dia.cpp#L46

You can report this to upstream here:
https://bugzilla.gnome.org/page.cgi?id=browse.html&product=doxygen



Comment by Simeon Felis (simeon) - Friday, 04 May 2018, 19:42 GMT

Loading...