Ticket #5873 (needs_review defect)

Opened 11 months ago

Last modified 3 months ago

[patch] Fix matplotlib build on FreeBSD

Reported by: pjeremy Owned by: mabshoff
Priority: major Milestone: sage-4.3.4
Component: freebsd Keywords:
Cc: jason Author(s): Peter Jeremy
Report Upstream: N/A Reviewer(s):
Merged in: Work issues:

Description

1) Explicitly add SAGE_LOCAL to the dependency search path for matplotlib for FreeBSD.

2) gcc-4.3 on FreeBSD (though not the base gcc4.2) appears to define putchar() in <stdio.h> in a way that breaks the putchar() definitions inside ttconv. It's not immediately clear what the problem is (since there's no immediately obvious difference in the way putchar() is defined in <stdio.h>) so this patch takes the easy way out and undef's the offending putchar() macro.

3) Individual character bounding boxes in AFM files do not have to be integral so convert each bounding box to a list of floats, rather than a list of ints. This corrects a problem where most of the tests would fail with "ValueError?: invalid literal for int() with base 10: '539.621'" on FreeBSD.

Attachments

matplotlib-0.98.5.3rc0-svn6910.p3.patch Download (2.0 KB) - added by pjeremy 11 months ago.
5873.matplotlib.patch Download (0.8 KB) - added by pjeremy 3 months ago.

Change History

Changed 11 months ago by pjeremy

Changed 6 months ago by jason

  • summary changed from [with patch, needs review] Fix matplotlib build on FreeBSD to [with patch, needs work] Fix matplotlib build on FreeBSD

Of course, this should be added to the current matplotlib spkg.

Changed 3 months ago by pjeremy

Changed 3 months ago by pjeremy

  • cc jason added
  • status changed from needs_work to needs_review
  • upstream set to N/A
  • summary changed from [with patch, needs work] Fix matplotlib build on FreeBSD to [patch] Fix matplotlib build on FreeBSD
  • author set to Peter Jeremy

5873.matplotlib.patch has been updated for matplotlib-0.99.1.p2. Of the patches mentioned in the original description, only the first part remains (and is still necessary).

The second part (related to putchar problems with gcc43) has been removed as it's no longer practical to build Sage with gcc43 on FreeBSD.

The third part (related to bounding box conversions) has been removed as an equivalent patch has been integrated into matplotlib-0.99.1

Note: See TracTickets for help on using tickets.