Opened 11 years ago

Closed 10 years ago

#39550 closed update (fixed)

gd2: update to 2.1.0

Reported by: mojca (Mojca Miklavec) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager)
Port: gd2

Description

I would like to request updating gd2 (now at http://libgd.bitbucket.org).

Attachments (4)

gd2-2.1.0.diff (3.4 KB) - added by ryandesign (Ryan Carsten Schmidt) 11 years ago.
proposed patch
patch-src-gdft.c.diff (315 bytes) - added by ryandesign (Ryan Carsten Schmidt) 11 years ago.
patch-src-variable.c.diff (299 bytes) - added by mojca (Mojca Miklavec) 11 years ago.
new patch for gnuplot's src/variable.c
gnuplot.patch (15.8 KB) - added by mojca (Mojca Miklavec) 11 years ago.
Full patch for gnuplot revision upgrade

Download all attachments as: .zip

Change History (29)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Status: newassigned

I have an update to 2.1.0-rc2 in my working copy. If 2.1.0 final is now out I shall update this and commit it. The trick will be identifying all the ports using gd2 so that the can be revbumped.

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

Cc: egall@… added

Cc Me!

Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: gd2-2.1.0.diff added

proposed patch

Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: patch-src-gdft.c.diff added

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

I've attached my proposed patch.

comment:4 Changed 11 years ago by mojca (Mojca Miklavec)

Unrelated, but I'm just curious: is there any reason why $HOME/Library/Fonts is not added to -DDEFAULT_FONTPATH?

comment:5 Changed 11 years ago by mojca (Mojca Miklavec)

Perfect, thank you. This fixes #34072.

comment:6 in reply to:  4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mojca@…:

Unrelated, but I'm just curious: is there any reason why $HOME/Library/Fonts is not added to -DDEFAULT_FONTPATH?

That would be the value of $HOME at build time, which might not match the value of $HOME at runtime, particularly now that we have buildbots building ports for users.

comment:7 Changed 11 years ago by mojca (Mojca Miklavec)

Oh, thank you. I thought that there was a way to ask for storing the path unexpanded. If such an option doesn't exist, leaving HOME out makes more sense of course.

comment:8 Changed 11 years ago by mojca (Mojca Miklavec)

Tiny request: when revbumping gnuplot, there are two small patches that I would like to add at the same time if possible.

comment:9 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Could you attach those patches here, or point me to another ticket where they're attached? I'll include them when I revbump.

Changed 11 years ago by mojca (Mojca Miklavec)

Attachment: patch-src-variable.c.diff added

new patch for gnuplot's src/variable.c

comment:10 Changed 11 years ago by mojca (Mojca Miklavec)

For gnuplot:

  1. I attached a new patch for src/variable.c here (just replace the old file with this one). There is no ticket for that patch except for this (https://sourceforge.net/p/gnuplot/patches/627/). The patch has now been applied upstream, but the exclamation mark is needed to search for fonts in /Library/Fonts recursively, else fonts from, say, /Library/Fonts/Microsoft aren't found. Not that anyone uses that obscure feature for PostScript plots ... ;) I asked the author of the previous patch why he removed the exclamation marks, but he wasn't able to recall why. So: exclamation marks need to stay.
  2. See #38798 for this patch
  3. #34072 can be closed as fixed.

Thank you.

Last edited 11 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

Changed 11 years ago by mojca (Mojca Miklavec)

Attachment: gnuplot.patch added

Full patch for gnuplot revision upgrade

comment:11 Changed 11 years ago by mojca (Mojca Miklavec)

I attached a new complete patch for gnuplot upgrade. I just remembered that the released version of gnuplot didn't yet include the patch for off-by-one strlen error, so I included the patch for that as well.

comment:12 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

gd2 updated to 2.1.0 in r109413.

comment:13 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Revbumped ports that link with gd2 in their default variants, and that don't require any other fixes, in r109415.

comment:14 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Revbumped mldonkey and fixed its configure script in r109416.

comment:15 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Revbumped gnuplot in r109417. Looks like the other patches for gnuplot attached above were already committed in r108795.

comment:16 in reply to:  15 Changed 11 years ago by mojca (Mojca Miklavec)

Replying to ryandesign@…:

Revbumped gnuplot in r109417. Looks like the other patches for gnuplot attached above were already committed in r108795.

Ummm. Yes, sorry. I wasn't aware that I forgot to tell you. I had to revbump gnuplot because of wxWidgets already. Thanks a lot for the commit and sorry for the confusion.

comment:17 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

I was worried I was making you wait on my changes; glad you took care of it already!

I didn't realize gd2 now needed pkgconfig to find its dependencies; without that, it stupidly builds successfully, but without support for any image formats other than jpeg (#40123). pkgconfig dependency added in r109420 but now I need to tell the buildbot to try again to build the ports I revbumped already that failed, and figure out if any of the ports silently ignored the missing gd2 features and need yet another revbump.

Revbumped magicspp in r109421.

comment:18 Changed 11 years ago by mojca (Mojca Miklavec)

Gnuplot isn't shipping as a binary package, so that one probably doesn't need a revbump. Thanks for fixing this so quickly.

comment:19 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

If gnuplot had built successfully and simply omitted gd2 support when it discovered that png support wasn't available, then it would have needed another revbump. But it failed to build, so it doesn't. If binary packages were available, then I would have to tell the buildbot to try the build again.

comment:20 in reply to:  17 ; Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

and figure out if any of the ports silently ignored the missing gd2 features and need yet another revbump.

The list of ports that the buildbot successfully built after the first revbumps, which are therefore suspected of possibly missing gd2 support:

  • EMBOSS: checks for gdImageCreateFromPng and when missing omits libgd support = needs revbump
  • cvsgraph: checks for gdImagePng and gdImagePngEx and when missing omits png support = needs revbump
  • g2: checks for gdImagePng and when missing omits png support = needs revbump
  • graphviz, graphviz-devel: warns at configure time when gd2 is missing fontconfig or freetype support but doesn't change the build = doesn't need revbump
  • libpuzzle: only checks for gdImageCreateFromGd2 which exists either way = doesn't need revbump
  • mrtg: checks for gdImagePng and when missing omits png support = needs revbump
  • nagios: checks for gdImagePng and when missing omits libgd support = needs revbump
  • p5-gd: not sure; updated to 2.50 in r109426
  • p5-term-gnuplot: checks for gdImagePng in gd.h = doesn't need revbump
  • pTeX: checks for gdImageCreateFromPng and when missing uses its own internal version of gd = needs revbump
  • py-gd: doesn't seem to check for anything = doesn't need revbump

Revbumps committed in r109427.

That leaves these which did not build and which the buildbots need to try again:

  • argus-monitor
  • dvipng
  • grads
  • icoconvert
  • libgphoto2
  • mkhexgrid
  • mosml-dynlibs
  • mscgen
  • pcb
  • ploticus
  • rb-gd
  • s710
  • vnstat
  • webalizer
  • wview

Started rebuilds of those:

comment:21 in reply to:  20 ; Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

That leaves these which did not build and which the buildbots need to try again:

argus-monitor fails to build because it violates the destroot (#39666).

mosml-dynlibs fails to build and has several open tickets.

pcb fails to build, saying "configure: error: Your gd installation does not appear to include gif support." gif support should be there, so this needs investigation.

s710 fails to build because it cannot find libvpx. I declared libvpx as a build dependency of gd2 because it only contains a static library, but it turns out "-lvpx" makes its way into gd2's pkgconfig files and gdlib-config script, so libvpx should be a library dependency after all.

comment:22 in reply to:  21 ; Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

s710 fails to build because it cannot find libvpx. I declared libvpx as a build dependency of gd2 because it only contains a static library, but it turns out "-lvpx" makes its way into gd2's pkgconfig files and gdlib-config script, so libvpx should be a library dependency after all.

Changed libvpx to a library dependency in r109435.

pcb fails to build, saying "configure: error: Your gd installation does not appear to include gif support." gif support should be there, so this needs investigation.

The most telling difference between the log on my system (where it builds) and the buildbot's (where it doesn't) is that the buildbot didn't have tiff installed. Looks like gd2 is opportunistically using libtiff, so I added an explicit dependency on it in r109444. Not sure if that will help with this but I'll kick off a new build on the buildbot to see.

comment:23 in reply to:  22 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

Not sure if that will help with this but I'll kick off a new build on the buildbot to see.

Both pcb and s710 built successfully on all three.

comment:24 Changed 10 years ago by mojca (Mojca Miklavec)

Can this ticket be closed now?

comment:25 Changed 10 years ago by mojca (Mojca Miklavec)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.