New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #17193 (closed enhancement: fixed)

Opened 3 years ago

Last modified 2 years ago

Ports using libungif should be switched to use giflib instead

Reported by: macsforever2000@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: Cc: ryandesign@…
Port: libungif giflib

Description

libungif is no longer necessary since the last of the LZW patents  expired on July 7, 2004. Since the libungif and giflib ports conflict, all ports using libungif should switch to use the preferred giflib instead.

A quick run of

port echo depends:libungif

shows the following list of ports needs to be updated:

AfterStep                       
camlimages                      
driftnet                        
evas                            
gnustep-gui                     
gtk-canvas                      
magicpoint                      
MPlayer                         
qt4-x11                         
salasaga                        
simage                          
swftools                        
windowmaker                     
xv                              

But that list is incomplete. It does not include ports that refer to it using "lib:libungif:libungif" syntax.

Change History

  Changed 3 years ago by macsforever2000@…

See also #17070 for emacs.

  Changed 3 years ago by jmr@…

Changing the dependencies to file:include/gif_lib.h:giflib may help make the transition smoother.

  Changed 3 years ago by blb@…

It will miss dependencies that are only activated in variants, so a brute-force grep against all Portfiles is the best method here. The following were found and not in the above list:

  • aqua/pixen - just in a comment
  • lang/pike - +image variant
  • x11/xplanet - +gif variant

  Changed 3 years ago by macsforever2000@…

The dependency fix should be:

path:include/gif_lib.h:giflib

  Changed 3 years ago by macsforever2000@…

evas fixed in r42791.

  Changed 3 years ago by macsforever2000@…

salasaga fixed in r42781.

  Changed 3 years ago by macsforever2000@…

MPlayer fixed in r42884.

  Changed 3 years ago by macsforever2000@…

swftools fixed in r42885.

  Changed 3 years ago by macsforever2000@…

windowmaker fixed in r42886.

  Changed 3 years ago by macsforever2000@…

xplanet fixed in r42919.

  Changed 3 years ago by macsforever2000@…

xv fixed in r44068 by raimue.

follow-up: ↓ 22   Changed 3 years ago by macsforever2000@…

The following ports are left:

  • AfterStep
  • camlimages
  • driftnet
  • gnustep-gui
  • gtk-canvas
  • magicpoint
  • simage
  • aqua/pixen - just in a comment
  • lang/pike - +image variant

I am not able to compile gnustep-gui when switching to giflib. I cannot even compile gtk-canvas due to he dependency gnome-libs failing in ticket #14363.

  Changed 3 years ago by macsforever2000@…

AfterStep is being handled in #18702.

  Changed 3 years ago by macsforever2000@…

camlimages is being handled in #18706.

  Changed 3 years ago by macsforever2000@…

I see the following error trying to switch in driftnet:

--->  Building driftnet
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_mports_trunk_dports_net_driftnet/work/driftnet-0.1.6" && make   CFLAGS="-no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='\"0.1.6\"'" " returned error 2
Command output: makedepend -- -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -- audio.c mpeghdr.c gif.c img.c jpeg.c png.c driftnet.c image.c display.c playaudio.c connection.c media.c
makedepend: warning:  display.c (reading /usr/include/float.h, line 8): cannot find include file "float.h"
makedepend: warning:  display.c (reading /usr/include/stdarg.h, line 4): cannot find include file "stdarg.h"
touch depend
rm -f Makefile.bak
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o audio.o audio.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o mpeghdr.o mpeghdr.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o gif.o gif.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o img.o img.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o jpeg.o jpeg.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o png.o png.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o driftnet.o driftnet.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o image.o image.c
image.c: In function 'memstr':
image.c:24: warning: pointer targets in return differ in signedness
image.c: In function 'find_gif_image':
image.c:54: warning: pointer targets in passing argument 3 of 'memstr' differ in signedness
image.c:55: warning: pointer targets in passing argument 3 of 'memstr' differ in signedness
image.c: In function 'find_jpeg_image':
image.c:187: warning: pointer targets in passing argument 3 of 'memstr' differ in signedness
image.c:209: warning: pointer targets in passing argument 3 of 'memstr' differ in signedness
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o display.o display.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o playaudio.o playaudio.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o connection.o connection.c
cc -no-cpp-precomp -I/opt/local/include -I/opt/local/lib/glib/include -I/opt/local/include/glib-1.2 -I/opt/local/include/gtk-1.2 -I/usr/X11R6/include -DDRIFTNET_VERSION='"0.1.6"' -DDRIFTNET_BIG_ENDIAN -c -o media.o media.c
cc -o driftnet audio.o mpeghdr.o gif.o img.o jpeg.o png.o driftnet.o image.o display.o playaudio.o connection.o media.o -g -lpcap -lpthread -ljpeg -lungif `gtk-config --libs`
ld: library not found for -lungif
collect2: ld returned 1 exit status
make: *** [driftnet] Error 1

Error: Status 1 encountered during processing.

  Changed 3 years ago by macsforever2000@…

magicpoint fixed in r47581.

  Changed 3 years ago by macsforever2000@…

simage appears to only support libungif.

  Changed 3 years ago by macsforever2000@…

pike fixed in r47582.

  Changed 3 years ago by macsforever2000@…

The following ports are left and I'm not sure what to do about them due to problems cited above:

  • driftnet
  • gnustep-gui
  • gtk-canvas
  • simage

  Changed 3 years ago by anonymous

  • milestone Port Enhancements deleted

Milestone Port Enhancements deleted

  Changed 3 years ago by jmr@…

  • status changed from new to closed
  • resolution set to fixed

Closing this now. Tickets can be opened against individual ports if necessary.

in reply to: ↑ 12   Changed 2 years ago by ryandesign@…

  • cc ryandesign@… added

Replying to macsforever2000@…:

I am not able to compile gnustep-gui when switching to giflib.

It worked fine for me on Leopard/Intel so I updated it in r61470.

Note: See TracTickets for help on using tickets.