Opened 10 years ago

Closed 2 years ago

#45170 closed defect (fixed)

gtk-doc: remove source-highlight dependency or make it optional

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: haspatch Cc: cooljeanius (Eric Gallager)
Port: gtk-doc

Description

In r124901 gtk-doc got a dependency on source-highlight. This is a problem because source-highlight depends on boost, and boost doesn't build on older systems (#44918). This causes problems for all sorts of ports that depend on gtk-doc.

Could the dependency be either removed (since we know gtk-doc built fine without it before), or if it is thought to be very useful, then placed in a variant, which is off by default at least on Mac OS X 10.5 and earlier?

Attachments (1)

patch-gtk-doc-highlighting.diff (1.4 KB) - added by dbevans (David B. Evans) 10 years ago.
Proposed patch to disable syntax highlighting on older platforms

Download all attachments as: .zip

Change History (11)

comment:1 Changed 10 years ago by cooljeanius (Eric Gallager)

iirc, source-highlight is just one of multiple highlighting options that gtk-doc can use. The others are:

  • Just-plain "highlight" (whose port also has a dependency on boost)
  • vim (not sure if we'd need to use the port for it, or if the system one works)
  • maybe one other?

Anyways, sounds like a case where variants would make sense...

comment:2 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Before it got the source-highlight dependency (r124901), gtk-doc briefly had a dependency on the vim port (r123123) because OS X's vim didn't always work (#44546) but this had to be undone because it introduced a circular dependency when vim's +gtk2 variant was used.

comment:4 Changed 10 years ago by dbevans (David B. Evans)

Although source highlighting is technically optional in gtk-doc, it is used extensively in GNOME API docs so I'm not so enthusiastic about just turning it off.

As stated above, the problems are

  • source highlighting is a build option for vim and so is not always enabled. This may also be version dependent. At any rate, the vim port has the circular dependency problem (can this be fixed?).
  • source-highlight and highlight both use boost. Even if we avoid using these, there are other boost based ports (e.g. inkscape, gimp2) which must not build on the earlier platforms if boost won't build there (but I haven't heard any complaints and don't have an appropriate test environment).

The gtk-doc configure file prefers source-highlight and is least happy about vim hence the current choice. The earlier version of the port (without source-highlight) did not disable source highlighting so configuration fell back to system vim if source-highlight or highlight were not used. I'm not sure if disabling source highlighting altogether will just eliminate the highlighting from generated documentation or cause a build failure. Will take a look.

Best would be to fix boost on the earlier platforms but I realize that may be problematic. Otherwise, looks like disabling source highlighting on 10.5 and earlier may be the least offensive alternative if it doesn't break anything.

comment:5 Changed 10 years ago by dbevans (David B. Evans)

Status: newassigned

comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Unfortunately fixing boost to build on older systems may be difficult. The boost portfile blacklists all compilers included in Xcode on those versions of OS X, and even some older clang ports, and newer clang ports don't build on older systems and Jeremy doesn't plan to fix that either. Using a gcc port may still be a possibility though that implies mixing the system's libstdc++ with libgcc's libstdc++ which can be problematic.

Changed 10 years ago by dbevans (David B. Evans)

Proposed patch to disable syntax highlighting on older platforms

comment:7 Changed 10 years ago by dbevans (David B. Evans)

Keywords: haspatch added

Attached is a patch that adds a variant to enable highlighting using source-highlight and makes it the default for SL and later. Highlighting and the dependency on source-highlight are removed for older platforms or if -highlighting is asserted on newer ones. I think this is what you want but let me know if this works for you. You should verify that gtk-doc works for you on the target platform by building a port that uses the gtkdoc-fixxref utility when building API documentation. A good example is appstream-glib (#44546).

Last edited 10 years ago by dbevans (David B. Evans) (previous) (diff)

comment:8 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Thanks. Let's hold off on this for a moment. I believe I was able to fix boost for Tiger and Leopard just by removing the gcc 4.2 blacklisting; apparently whatever was preventing earlier versions from building with gcc 4.2 is no longer a problem.

comment:9 Changed 3 years ago by mascguy (Christopher Nielsen)

Owner: changed from dbevans to mascguy

Take over Dave's tickets for GTK and friends, now that he's formally dropped maintainership. Boo! ;-)

comment:10 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

Dependency source-highlight removed in July 2019, via the following commit:

https://github.com/macports/macports-ports/commit/461cc48c31ad7389c2812f8aaaf8fc57b72bff6c

Closing as fixed.

Note: See TracTickets for help on using tickets.