Opened 11 years ago

Closed 10 years ago

Last modified 7 years ago

#17193 closed enhancement (fixed)

Ports using libungif should be switched to use giflib instead

Reported by: mf2k (Frank Schima) 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 (23)

comment:1 Changed 11 years ago by mf2k (Frank Schima)

See also #17070 for emacs.

comment:2 Changed 11 years ago by jmroot (Joshua Root)

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

comment:3 Changed 11 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

comment:4 Changed 11 years ago by mf2k (Frank Schima)

The dependency fix should be:

path:include/gif_lib.h:giflib

comment:5 Changed 10 years ago by mf2k (Frank Schima)

evas fixed in r42791.

comment:6 Changed 10 years ago by mf2k (Frank Schima)

salasaga fixed in r42781.

comment:7 Changed 10 years ago by mf2k (Frank Schima)

MPlayer fixed in r42884.

comment:8 Changed 10 years ago by mf2k (Frank Schima)

swftools fixed in r42885.

comment:9 Changed 10 years ago by mf2k (Frank Schima)

windowmaker fixed in r42886.

comment:10 Changed 10 years ago by mf2k (Frank Schima)

xplanet fixed in r42919.

comment:11 Changed 10 years ago by mf2k (Frank Schima)

xv fixed in r44068 by raimue.

comment:12 Changed 10 years ago by mf2k (Frank Schima)

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.

comment:13 Changed 10 years ago by mf2k (Frank Schima)

AfterStep is being handled in #18702.

comment:14 Changed 10 years ago by mf2k (Frank Schima)

camlimages is being handled in #18706.

comment:15 Changed 10 years ago by mf2k (Frank Schima)

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.

comment:16 Changed 10 years ago by mf2k (Frank Schima)

magicpoint fixed in r47581.

comment:17 Changed 10 years ago by mf2k (Frank Schima)

simage appears to only support libungif.

comment:18 Changed 10 years ago by mf2k (Frank Schima)

pike fixed in r47582.

comment:19 Changed 10 years ago by mf2k (Frank Schima)

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

comment:20 Changed 10 years ago by (none)

Milestone: Port Enhancements

Milestone Port Enhancements deleted

comment:21 Changed 10 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

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

comment:22 in reply to:  12 Changed 9 years ago by ryandesign (Ryan Schmidt)

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.

comment:23 Changed 7 years ago by ryandesign (Ryan Schmidt)

No ports remain using libungif; marking it as replaced_by giflib in r93248.

Note: See TracTickets for help on using tickets.