aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/gd/Makefile22
-rw-r--r--graphics/gd/distinfo2
-rw-r--r--graphics/gd/files/patch-ac158
-rw-r--r--graphics/gd/files/patch-gdkanji.c87
-rw-r--r--graphics/gd/files/patch-gdttf.c17
-rw-r--r--graphics/gd/pkg-plist10
-rw-r--r--graphics/gd1/Makefile22
-rw-r--r--graphics/gd1/distinfo2
-rw-r--r--graphics/gd1/files/patch-ac158
-rw-r--r--graphics/gd1/files/patch-gdkanji.c87
-rw-r--r--graphics/gd1/files/patch-gdttf.c17
-rw-r--r--graphics/gd1/pkg-plist10
-rw-r--r--graphics/gd2/Makefile22
-rw-r--r--graphics/gd2/distinfo2
-rw-r--r--graphics/gd2/files/patch-ac158
-rw-r--r--graphics/gd2/files/patch-gdkanji.c87
-rw-r--r--graphics/gd2/files/patch-gdttf.c17
-rw-r--r--graphics/gd2/pkg-plist10
18 files changed, 606 insertions, 282 deletions
diff --git a/graphics/gd/Makefile b/graphics/gd/Makefile
index 92f499cdd159..8dfda987f477 100644
--- a/graphics/gd/Makefile
+++ b/graphics/gd/Makefile
@@ -1,4 +1,4 @@
-# New ports collection makefile for: gd
+# New ports collection makefile for: gd
# Date created: 27 Mar 1998
# Whom: jeff@cetlink.net
#
@@ -6,17 +6,19 @@
#
PORTNAME= gd
-PORTVERSION= 1.8.3
+PORTVERSION= 1.8.4
CATEGORIES= graphics
MASTER_SITES= http://www.boutell.com/gd/http/ \
- ftp://ftp.boutell.com/pub/boutell/gd/
+ ftp://ftp.boutell.com/pub/boutell/gd/ \
+ ${MASTER_SITE_RINGSERVER}
+MASTER_SITE_SUBDIR= graphics/gd
MAINTAINER= billf@FreeBSD.org
LIB_DEPENDS= png.4:${PORTSDIR}/graphics/png \
- jpeg.9:${PORTSDIR}/graphics/jpeg
+ jpeg.9:${PORTSDIR}/graphics/jpeg \
+ freetype.6:${PORTSDIR}/print/freetype2
-USE_FREETYPE= yes
.if defined(WITH_X11)
USE_XLIB= yes
USE_XPM= yes
@@ -24,13 +26,13 @@ USE_XPM= yes
INSTALLS_SHLIB= yes
-pre-fetch:
+pre-everything:
.if !defined(WITH_X11)
- @${ECHO} -n "If you want to compile in X support use "
- @${ECHO} "'make -DWITH_X11' instead"
+ @${ECHO_MSG} "If you want to compile in X support use "
+ @${ECHO_MSG} "'make -DWITH_X11' instead"
.endif
-pre-install:
- ${MKDIR} ${PREFIX}/include/gd
+post-extract:
+ @${RM} -f ${WRKSRC}/*.o
.include <bsd.port.mk>
diff --git a/graphics/gd/distinfo b/graphics/gd/distinfo
index c49649bae22f..f8e624490c8a 100644
--- a/graphics/gd/distinfo
+++ b/graphics/gd/distinfo
@@ -1 +1 @@
-MD5 (gd-1.8.3.tar.gz) = ad0e7dd1dda2812dbaeaa9706c4be536
+MD5 (gd-1.8.4.tar.gz) = 813625508e31f5c205904a305bdc8669
diff --git a/graphics/gd/files/patch-ac b/graphics/gd/files/patch-ac
index 015b7579d91b..c85d793c55c7 100644
--- a/graphics/gd/files/patch-ac
+++ b/graphics/gd/files/patch-ac
@@ -1,6 +1,6 @@
---- Makefile.orig Sun Jun 4 03:26:12 2000
-+++ Makefile Thu Nov 9 14:53:41 2000
-@@ -3,18 +3,22 @@
+--- Makefile.orig Fri Feb 2 05:23:56 2001
++++ Makefile Sat Feb 3 09:24:57 2001
+@@ -3,11 +3,11 @@
#If you do not have gcc, change the setting for COMPILER, but you must
#use an ANSI standard C compiler (NOT the old SunOS 4.1.3 cc
#compiler; get gcc if you are still using it).
@@ -13,101 +13,92 @@
+#AR=ar
#If you don't have FreeType, libjpeg and/or Xpm installed, including the
- #header files, uncomment this (default).
--CFLAGS=-O
-+#CFLAGS=-O
+ #header files, uncomment this (default). You really must install
+@@ -16,8 +16,10 @@
+
#If you do have FreeType, libjpeg and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. See also LIBS below.
--#CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
+-CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG \
+- -DHAVE_LIBFREETYPE -DHAVE_LIBTTF
++CFLAGS+=-DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBFREETYPE
+.if defined(WITH_X11)
-+CFLAGS+=-DHAVE_XPM -DHAVE_JPEG
-+.else
-+CFLAGS+=-DHAVE_JPEG -DHAVE_LIBTTF
++CFLAGS+=-DHAVE_LIBXPM
+.endif
- #If you don't have FreeType and/or Xpm fully installed, uncomment this
- #(default).
-@@ -23,7 +27,7 @@
+ #To use the old FreeType 1.x library, add this additional #define
+ #to the line above
+@@ -30,13 +32,15 @@
#Some systems are very picky about link order. They don't all agree
#on the right order, either.
--LIBS=-lm -lgd -lpng -lz
-+LIBS=-lm -lgd -lpng -lz -ljpeg -lttf
+-#LIBS=-lgd -lpng -lz
++LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm
#If you do have FreeType, JPEG and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. Note that
-@@ -33,14 +37,19 @@
- #Some systems are very picky about link order. They don't all agree
- #on the right order, either.
+ #Xpm requires X11. See also CFLAGS above.
--#LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
+-LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm -lttf
+.if defined(WITH_X11)
-+LIBS+= -lXpm -lX11
++LIBS+=-lXpm -lX11
+.endif
- #Typical install locations for freetype, zlib, xpm, libjpeg and libpng header files.
- #If yours are somewhere else, change this.
- #-I. is important to ensure that the version of gd you are installing
- #is used, and not an older release in your directory tree somewhere.
+ #Note: for Freetype 1.x, use DHAVE_LIBTTF and -lttf instead.
+
+@@ -45,7 +49,10 @@
+ #ensure that the version of gd you are installing is used, and not an
+ #older release in your directory tree somewhere.
--INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11
-+INCLUDEDIRS=-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype
+-INCLUDEDIRS=-I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include
++INCLUDEDIRS=-I. -I${LOCALBASE}/include/freetype2 -I${LOCALBASE}/include
+.if defined(WITH_X11)
+INCLUDEDIRS+=-I${X11BASE}/include/X11 -I${X11BASE}/include
+.endif
#Typical install locations for freetype, zlib, xpm and libpng libraries.
#If yours are somewhere else, other than a standard location
-@@ -48,16 +57,19 @@
- #-L. as this allows the gd library itself to be found.
- #Put -L. first so that old versions of the gd library elsewhere
+@@ -55,16 +62,19 @@
#on your system can't cause conflicts while building a new one.
+ #This line shouldn't hurt if you don't actually have some of the
+ #optional libraries and directories.
-LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib
-+LIBDIRS=-L. -L$(LOCALBASE)/lib
++LIBDIRS=-L. -L${LOCALBASE}/lib -Wl,--rpath,${LOCALBASE}/lib
+.if defined(WITH_X11)
-+LIBDIRS+=-L$(X11BASE)/lib
++LIBDIRS+=-L${X11BASE}/lib -Wl,--rpath,${X11BASE}/lib
+.endif
#Location where libgd.a should be installed by "make install".
-INSTALL_LIB=/usr/local/lib
-+INSTALL_LIB=$(PREFIX)/lib
++INSTALL_LIB=${PREFIX}/lib
#Location where .h files should be installed by "make install".
-INSTALL_INCLUDE=/usr/local/include
-+INSTALL_INCLUDE=$(PREFIX)/include/gd
++INSTALL_INCLUDE=${PREFIX}/include/gd
#Location where useful non-test programs should be installed by "make install".
-INSTALL_BIN=/usr/local/bin
-+INSTALL_BIN=$(PREFIX)/bin
++INSTALL_BIN=${PREFIX}/bin
#
#
-@@ -65,36 +77,43 @@
- #
- #
+@@ -74,34 +84,44 @@
--VERSION=1.8.1
-+VERSION=1.8.2
+ VERSION=1.8.4
-CC=$(COMPILER) $(INCLUDEDIRS)
-LINK=$(CC) $(LIBDIRS) $(LIBS)
-+CC+= $(INCLUDEDIRS)
++CC+=$(INCLUDEDIRS)
+#LINK=$(CC) $(LIBDIRS) $(LIBS)
PROGRAMS=$(BIN_PROGRAMS) $(TEST_PROGRAMS)
BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
- TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
+ TEST_PROGRAMS=gdtest gddemo gd2time gdtestft gdtestttf
-all: libgd.a $(PROGRAMS)
-+.SUFFIXES: .c .so .o
-+
-+.c.so:
-+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-+
-+all: libgd.a libgd.so.1 $(PROGRAMS)
++SOVER=2
- install: libgd.a $(BIN_PROGRAMS)
+-install: libgd.a $(BIN_PROGRAMS)
- sh ./install-item 644 libgd.a $(INSTALL_LIB)/libgd.a
- sh ./install-item 755 pngtogd $(INSTALL_BIN)/pngtogd
- sh ./install-item 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
@@ -125,52 +116,63 @@
- sh ./install-item 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
- sh ./install-item 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
- sh ./install-item 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
-+ $(INSTALL) -c -m 644 libgd.a $(INSTALL_LIB)/libgd.a
-+ $(INSTALL) -c -m 755 pngtogd $(INSTALL_BIN)/pngtogd
-+ $(INSTALL) -c -m 755 libgd.so.1 $(INSTALL_LIB)/libgd.so.1
-+ ln -sf libgd.so.1 $(INSTALL_LIB)/libgd.so
-+ $(INSTALL) -c -m 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
-+ $(INSTALL) -c -m 755 gdtopng $(INSTALL_BIN)/gdtopng
-+ $(INSTALL) -c -m 755 gd2topng $(INSTALL_BIN)/gd2topng
-+ $(INSTALL) -c -m 755 gd2copypal $(INSTALL_BIN)/gd2copypal
-+ $(INSTALL) -c -m 755 gdparttopng $(INSTALL_BIN)/gdparttopng
-+ $(INSTALL) -c -m 755 webpng $(INSTALL_BIN)/webpng
-+ $(INSTALL) -c -m 755 bdftogd $(INSTALL_BIN)/bdftogd
-+ $(INSTALL) -c -m 644 gd.h $(INSTALL_INCLUDE)/gd.h
-+ $(INSTALL) -c -m 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h
-+ $(INSTALL) -c -m 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h
-+ $(INSTALL) -c -m 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
-+ $(INSTALL) -c -m 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
-+ $(INSTALL) -c -m 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
-+ $(INSTALL) -c -m 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
-+ $(INSTALL) -c -m 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
++.SUFFIXES: .c .so .o
++
++.c.so:
++ $(CC) -fpic -DPIC $(CFLAGS) -o $@ -c $<
++
++all: libgd.a libgd.so.$(SOVER) $(PROGRAMS)
++
++install: libgd.a libgd.so.$(SOVER) $(BIN_PROGRAMS)
++ -mkdir -p $(INSTALL_LIB) $(INSTALL_INCLUDE) $(INSTALL_BIN)
++ ${BSD_INSTALL_DATA} libgd.a $(INSTALL_LIB)/libgd.a
++ ${BSD_INSTALL_DATA} libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so.$(SOVER)
++ -ln -sf libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so
++ ${BSD_INSTALL_PROGRAM} pngtogd $(INSTALL_BIN)/pngtogd
++ ${BSD_INSTALL_PROGRAM} pngtogd2 $(INSTALL_BIN)/pngtogd2
++ ${BSD_INSTALL_PROGRAM} gdtopng $(INSTALL_BIN)/gdtopng
++ ${BSD_INSTALL_PROGRAM} gd2topng $(INSTALL_BIN)/gd2topng
++ ${BSD_INSTALL_PROGRAM} gd2copypal $(INSTALL_BIN)/gd2copypal
++ ${BSD_INSTALL_PROGRAM} gdparttopng $(INSTALL_BIN)/gdparttopng
++ ${BSD_INSTALL_PROGRAM} webpng $(INSTALL_BIN)/webpng
++ ${BSD_INSTALL_SCRIPT} bdftogd $(INSTALL_BIN)/bdftogd
++ ${BSD_INSTALL_DATA} gd.h $(INSTALL_INCLUDE)/gd.h
++ ${BSD_INSTALL_DATA} gdcache.h $(INSTALL_INCLUDE)/gdcache.h
++ ${BSD_INSTALL_DATA} gd_io.h $(INSTALL_INCLUDE)/gd_io.h
++ ${BSD_INSTALL_DATA} gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
++ ${BSD_INSTALL_DATA} gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
++ ${BSD_INSTALL_DATA} gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
++ ${BSD_INSTALL_DATA} gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
++ ${BSD_INSTALL_DATA} gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
gddemo: gddemo.o libgd.a
$(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS)
-@@ -129,16 +148,19 @@
+@@ -138,18 +158,21 @@
gdtestttf: gdtestttf.o libgd.a
- $(CC) gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
+ $(CC) --verbose gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
-libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
-+OBJS= gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
++OBJS= gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \
-- gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o \
-- gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
-+ gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
-+INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
+ gdfontg.o gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
+- gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
++ gd_wbmp.o gdhelpers.o
++INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
+ gdfontg.h gdhelpers.h
+
+libgd.a: $(INCS) $(OBJS)
rm -f libgd.a
- $(AR) rc libgd.a gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o \
- gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o \
- gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
-- gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
+- gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
+- gd_wbmp.o gdhelpers.o
+ $(AR) rc libgd.a $(OBJS)
-ranlib libgd.a
+
-+libgd.so.1: $(INCS) $(OBJS:.o=.so)
-+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
-+ ln -sf libgd.so.1 libgd.so
++libgd.so.$(SOVER): $(INCS) $(OBJS:.o=.so)
++ $(CC) -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
++ ln -sf libgd.so.$(SOVER) libgd.so
clean:
rm -f *.o *.a ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp
diff --git a/graphics/gd/files/patch-gdkanji.c b/graphics/gd/files/patch-gdkanji.c
new file mode 100644
index 000000000000..2162a7e95c38
--- /dev/null
+++ b/graphics/gd/files/patch-gdkanji.c
@@ -0,0 +1,87 @@
+--- gdkanji.c.orig Fri Feb 2 05:23:56 2001
++++ gdkanji.c Wed Feb 7 20:59:08 2001
+@@ -103,14 +103,18 @@
+ unsigned char *str;
+ #endif
+ {
+- static int whatcode;
++ static int whatcode = ASCII;
++ int oldcode = ASCII;
+ int c, i;
+ char *lang = NULL;
+
+ c = '\1';
+ i = 0;
+
+- if (whatcode == 0) whatcode = ASCII;
++ if (whatcode != EUCORSJIS && whatcode != ASCII) {
++ oldcode = whatcode;
++ whatcode = ASCII;
++ }
+
+ while ((whatcode == EUCORSJIS || whatcode == ASCII) && c != '\0') {
+ if ((c = str[i++]) != '\0') {
+@@ -167,7 +171,7 @@
+ if ((c >= 64 && c <= 126) || (c >= 128 && c <= 160))
+ whatcode = SJIS;
+ else
+- if (c >= 253 && c >= 254) whatcode = EUC;
++ if (c >= 253 && c <= 254) whatcode = EUC;
+ else
+ if (c >= 161 && c <= 252) whatcode = EUCORSJIS;
+ }
+@@ -184,6 +188,8 @@
+ debug("Kanji code detected at %d byte.", i);
+ #endif
+
++ if (whatcode == EUCORSJIS && oldcode != ASCII) whatcode = oldcode;
++
+ if (whatcode == EUCORSJIS) {
+ if (getenv ("LC_ALL")) lang = getenv ("LC_ALL");
+ else
+@@ -310,7 +316,7 @@
+ error("invalid code specification: \"%s\" or \"%s\"",
+ EUCSTR, code);
+ #endif
+- strcpy(to, from);
++ ustrcpy(to, from);
+ return;
+ }
+
+@@ -328,7 +334,7 @@
+ else
+ #endif
+ error("something happen");
+- strcpy(to, from);
++ ustrcpy(to, from);
+ return;
+ }
+
+@@ -526,11 +532,10 @@
+
+ t = (unsigned char *)gdMalloc(BUFSIZ);
+ any2eucjp(t, s, BUFSIZ);
+- i = strlen(t);
++ i = strlen((const char *)t);
+ gdFree(t);
+ return i;
+ }
+-#endif
+
+ #ifdef DEBUG
+ int main()
+@@ -543,7 +548,7 @@
+ while ( (c = fgetc(stdin)) != '\n' && i < BUFSIZ ) input[i++] = c;
+ input[i] = '\0';
+
+- printf("input : %d bytes\n", strlen(input));
++ printf("input : %d bytes\n", strlen((const char *)input));
+ printf("output: %d bytes\n", strwidth(input));
+
+ output = (unsigned char *)gdMalloc(BUFSIZ);
+@@ -555,4 +560,5 @@
+
+ return 0;
+ }
++#endif
+ #endif
diff --git a/graphics/gd/files/patch-gdttf.c b/graphics/gd/files/patch-gdttf.c
new file mode 100644
index 000000000000..c7b8768a725f
--- /dev/null
+++ b/graphics/gd/files/patch-gdttf.c
@@ -0,0 +1,17 @@
+--- gdttf.c.orig Fri Feb 2 05:23:56 2001
++++ gdttf.c Wed Feb 7 20:57:34 2001
+@@ -221,11 +221,10 @@
+ byte = *((unsigned char *) str);
+ #ifdef JISX0208
+ if (0xA1 <= byte && byte <= 0xFE) {
+- int jiscode, ku, ten;
++ int ku, ten;
+
+- jiscode = 0x100 * (byte & 0x7F) + (str[1] & 0x7F);
+- ku = (jiscode >> 8) - 0x20;
+- ten = (jiscode % 256) - 0x20;
++ ku = (byte & 0x7F) - 0x20;
++ ten = (str[1] & 0x7F) - 0x20;
+ if ( (ku < 1 || ku > 92) || (ten < 1 || ten > 94) ) {
+ *chPtr = (Tcl_UniChar) byte;
+ return 1;
diff --git a/graphics/gd/pkg-plist b/graphics/gd/pkg-plist
index b72a1755a32b..f3c18de0cd63 100644
--- a/graphics/gd/pkg-plist
+++ b/graphics/gd/pkg-plist
@@ -1,10 +1,10 @@
bin/bdftogd
-bin/pngtogd
-bin/pngtogd2
-bin/gdtopng
-bin/gd2topng
bin/gd2copypal
+bin/gd2topng
bin/gdparttopng
+bin/gdtopng
+bin/pngtogd
+bin/pngtogd2
bin/webpng
include/gd/gd.h
include/gd/gd_io.h
@@ -16,5 +16,5 @@ include/gd/gdfonts.h
include/gd/gdfontt.h
lib/libgd.a
lib/libgd.so
-lib/libgd.so.1
+lib/libgd.so.2
@dirrm include/gd
diff --git a/graphics/gd1/Makefile b/graphics/gd1/Makefile
index 92f499cdd159..8dfda987f477 100644
--- a/graphics/gd1/Makefile
+++ b/graphics/gd1/Makefile
@@ -1,4 +1,4 @@
-# New ports collection makefile for: gd
+# New ports collection makefile for: gd
# Date created: 27 Mar 1998
# Whom: jeff@cetlink.net
#
@@ -6,17 +6,19 @@
#
PORTNAME= gd
-PORTVERSION= 1.8.3
+PORTVERSION= 1.8.4
CATEGORIES= graphics
MASTER_SITES= http://www.boutell.com/gd/http/ \
- ftp://ftp.boutell.com/pub/boutell/gd/
+ ftp://ftp.boutell.com/pub/boutell/gd/ \
+ ${MASTER_SITE_RINGSERVER}
+MASTER_SITE_SUBDIR= graphics/gd
MAINTAINER= billf@FreeBSD.org
LIB_DEPENDS= png.4:${PORTSDIR}/graphics/png \
- jpeg.9:${PORTSDIR}/graphics/jpeg
+ jpeg.9:${PORTSDIR}/graphics/jpeg \
+ freetype.6:${PORTSDIR}/print/freetype2
-USE_FREETYPE= yes
.if defined(WITH_X11)
USE_XLIB= yes
USE_XPM= yes
@@ -24,13 +26,13 @@ USE_XPM= yes
INSTALLS_SHLIB= yes
-pre-fetch:
+pre-everything:
.if !defined(WITH_X11)
- @${ECHO} -n "If you want to compile in X support use "
- @${ECHO} "'make -DWITH_X11' instead"
+ @${ECHO_MSG} "If you want to compile in X support use "
+ @${ECHO_MSG} "'make -DWITH_X11' instead"
.endif
-pre-install:
- ${MKDIR} ${PREFIX}/include/gd
+post-extract:
+ @${RM} -f ${WRKSRC}/*.o
.include <bsd.port.mk>
diff --git a/graphics/gd1/distinfo b/graphics/gd1/distinfo
index c49649bae22f..f8e624490c8a 100644
--- a/graphics/gd1/distinfo
+++ b/graphics/gd1/distinfo
@@ -1 +1 @@
-MD5 (gd-1.8.3.tar.gz) = ad0e7dd1dda2812dbaeaa9706c4be536
+MD5 (gd-1.8.4.tar.gz) = 813625508e31f5c205904a305bdc8669
diff --git a/graphics/gd1/files/patch-ac b/graphics/gd1/files/patch-ac
index 015b7579d91b..c85d793c55c7 100644
--- a/graphics/gd1/files/patch-ac
+++ b/graphics/gd1/files/patch-ac
@@ -1,6 +1,6 @@
---- Makefile.orig Sun Jun 4 03:26:12 2000
-+++ Makefile Thu Nov 9 14:53:41 2000
-@@ -3,18 +3,22 @@
+--- Makefile.orig Fri Feb 2 05:23:56 2001
++++ Makefile Sat Feb 3 09:24:57 2001
+@@ -3,11 +3,11 @@
#If you do not have gcc, change the setting for COMPILER, but you must
#use an ANSI standard C compiler (NOT the old SunOS 4.1.3 cc
#compiler; get gcc if you are still using it).
@@ -13,101 +13,92 @@
+#AR=ar
#If you don't have FreeType, libjpeg and/or Xpm installed, including the
- #header files, uncomment this (default).
--CFLAGS=-O
-+#CFLAGS=-O
+ #header files, uncomment this (default). You really must install
+@@ -16,8 +16,10 @@
+
#If you do have FreeType, libjpeg and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. See also LIBS below.
--#CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
+-CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG \
+- -DHAVE_LIBFREETYPE -DHAVE_LIBTTF
++CFLAGS+=-DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBFREETYPE
+.if defined(WITH_X11)
-+CFLAGS+=-DHAVE_XPM -DHAVE_JPEG
-+.else
-+CFLAGS+=-DHAVE_JPEG -DHAVE_LIBTTF
++CFLAGS+=-DHAVE_LIBXPM
+.endif
- #If you don't have FreeType and/or Xpm fully installed, uncomment this
- #(default).
-@@ -23,7 +27,7 @@
+ #To use the old FreeType 1.x library, add this additional #define
+ #to the line above
+@@ -30,13 +32,15 @@
#Some systems are very picky about link order. They don't all agree
#on the right order, either.
--LIBS=-lm -lgd -lpng -lz
-+LIBS=-lm -lgd -lpng -lz -ljpeg -lttf
+-#LIBS=-lgd -lpng -lz
++LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm
#If you do have FreeType, JPEG and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. Note that
-@@ -33,14 +37,19 @@
- #Some systems are very picky about link order. They don't all agree
- #on the right order, either.
+ #Xpm requires X11. See also CFLAGS above.
--#LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
+-LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm -lttf
+.if defined(WITH_X11)
-+LIBS+= -lXpm -lX11
++LIBS+=-lXpm -lX11
+.endif
- #Typical install locations for freetype, zlib, xpm, libjpeg and libpng header files.
- #If yours are somewhere else, change this.
- #-I. is important to ensure that the version of gd you are installing
- #is used, and not an older release in your directory tree somewhere.
+ #Note: for Freetype 1.x, use DHAVE_LIBTTF and -lttf instead.
+
+@@ -45,7 +49,10 @@
+ #ensure that the version of gd you are installing is used, and not an
+ #older release in your directory tree somewhere.
--INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11
-+INCLUDEDIRS=-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype
+-INCLUDEDIRS=-I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include
++INCLUDEDIRS=-I. -I${LOCALBASE}/include/freetype2 -I${LOCALBASE}/include
+.if defined(WITH_X11)
+INCLUDEDIRS+=-I${X11BASE}/include/X11 -I${X11BASE}/include
+.endif
#Typical install locations for freetype, zlib, xpm and libpng libraries.
#If yours are somewhere else, other than a standard location
-@@ -48,16 +57,19 @@
- #-L. as this allows the gd library itself to be found.
- #Put -L. first so that old versions of the gd library elsewhere
+@@ -55,16 +62,19 @@
#on your system can't cause conflicts while building a new one.
+ #This line shouldn't hurt if you don't actually have some of the
+ #optional libraries and directories.
-LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib
-+LIBDIRS=-L. -L$(LOCALBASE)/lib
++LIBDIRS=-L. -L${LOCALBASE}/lib -Wl,--rpath,${LOCALBASE}/lib
+.if defined(WITH_X11)
-+LIBDIRS+=-L$(X11BASE)/lib
++LIBDIRS+=-L${X11BASE}/lib -Wl,--rpath,${X11BASE}/lib
+.endif
#Location where libgd.a should be installed by "make install".
-INSTALL_LIB=/usr/local/lib
-+INSTALL_LIB=$(PREFIX)/lib
++INSTALL_LIB=${PREFIX}/lib
#Location where .h files should be installed by "make install".
-INSTALL_INCLUDE=/usr/local/include
-+INSTALL_INCLUDE=$(PREFIX)/include/gd
++INSTALL_INCLUDE=${PREFIX}/include/gd
#Location where useful non-test programs should be installed by "make install".
-INSTALL_BIN=/usr/local/bin
-+INSTALL_BIN=$(PREFIX)/bin
++INSTALL_BIN=${PREFIX}/bin
#
#
-@@ -65,36 +77,43 @@
- #
- #
+@@ -74,34 +84,44 @@
--VERSION=1.8.1
-+VERSION=1.8.2
+ VERSION=1.8.4
-CC=$(COMPILER) $(INCLUDEDIRS)
-LINK=$(CC) $(LIBDIRS) $(LIBS)
-+CC+= $(INCLUDEDIRS)
++CC+=$(INCLUDEDIRS)
+#LINK=$(CC) $(LIBDIRS) $(LIBS)
PROGRAMS=$(BIN_PROGRAMS) $(TEST_PROGRAMS)
BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
- TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
+ TEST_PROGRAMS=gdtest gddemo gd2time gdtestft gdtestttf
-all: libgd.a $(PROGRAMS)
-+.SUFFIXES: .c .so .o
-+
-+.c.so:
-+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-+
-+all: libgd.a libgd.so.1 $(PROGRAMS)
++SOVER=2
- install: libgd.a $(BIN_PROGRAMS)
+-install: libgd.a $(BIN_PROGRAMS)
- sh ./install-item 644 libgd.a $(INSTALL_LIB)/libgd.a
- sh ./install-item 755 pngtogd $(INSTALL_BIN)/pngtogd
- sh ./install-item 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
@@ -125,52 +116,63 @@
- sh ./install-item 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
- sh ./install-item 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
- sh ./install-item 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
-+ $(INSTALL) -c -m 644 libgd.a $(INSTALL_LIB)/libgd.a
-+ $(INSTALL) -c -m 755 pngtogd $(INSTALL_BIN)/pngtogd
-+ $(INSTALL) -c -m 755 libgd.so.1 $(INSTALL_LIB)/libgd.so.1
-+ ln -sf libgd.so.1 $(INSTALL_LIB)/libgd.so
-+ $(INSTALL) -c -m 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
-+ $(INSTALL) -c -m 755 gdtopng $(INSTALL_BIN)/gdtopng
-+ $(INSTALL) -c -m 755 gd2topng $(INSTALL_BIN)/gd2topng
-+ $(INSTALL) -c -m 755 gd2copypal $(INSTALL_BIN)/gd2copypal
-+ $(INSTALL) -c -m 755 gdparttopng $(INSTALL_BIN)/gdparttopng
-+ $(INSTALL) -c -m 755 webpng $(INSTALL_BIN)/webpng
-+ $(INSTALL) -c -m 755 bdftogd $(INSTALL_BIN)/bdftogd
-+ $(INSTALL) -c -m 644 gd.h $(INSTALL_INCLUDE)/gd.h
-+ $(INSTALL) -c -m 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h
-+ $(INSTALL) -c -m 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h
-+ $(INSTALL) -c -m 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
-+ $(INSTALL) -c -m 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
-+ $(INSTALL) -c -m 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
-+ $(INSTALL) -c -m 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
-+ $(INSTALL) -c -m 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
++.SUFFIXES: .c .so .o
++
++.c.so:
++ $(CC) -fpic -DPIC $(CFLAGS) -o $@ -c $<
++
++all: libgd.a libgd.so.$(SOVER) $(PROGRAMS)
++
++install: libgd.a libgd.so.$(SOVER) $(BIN_PROGRAMS)
++ -mkdir -p $(INSTALL_LIB) $(INSTALL_INCLUDE) $(INSTALL_BIN)
++ ${BSD_INSTALL_DATA} libgd.a $(INSTALL_LIB)/libgd.a
++ ${BSD_INSTALL_DATA} libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so.$(SOVER)
++ -ln -sf libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so
++ ${BSD_INSTALL_PROGRAM} pngtogd $(INSTALL_BIN)/pngtogd
++ ${BSD_INSTALL_PROGRAM} pngtogd2 $(INSTALL_BIN)/pngtogd2
++ ${BSD_INSTALL_PROGRAM} gdtopng $(INSTALL_BIN)/gdtopng
++ ${BSD_INSTALL_PROGRAM} gd2topng $(INSTALL_BIN)/gd2topng
++ ${BSD_INSTALL_PROGRAM} gd2copypal $(INSTALL_BIN)/gd2copypal
++ ${BSD_INSTALL_PROGRAM} gdparttopng $(INSTALL_BIN)/gdparttopng
++ ${BSD_INSTALL_PROGRAM} webpng $(INSTALL_BIN)/webpng
++ ${BSD_INSTALL_SCRIPT} bdftogd $(INSTALL_BIN)/bdftogd
++ ${BSD_INSTALL_DATA} gd.h $(INSTALL_INCLUDE)/gd.h
++ ${BSD_INSTALL_DATA} gdcache.h $(INSTALL_INCLUDE)/gdcache.h
++ ${BSD_INSTALL_DATA} gd_io.h $(INSTALL_INCLUDE)/gd_io.h
++ ${BSD_INSTALL_DATA} gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
++ ${BSD_INSTALL_DATA} gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
++ ${BSD_INSTALL_DATA} gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
++ ${BSD_INSTALL_DATA} gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
++ ${BSD_INSTALL_DATA} gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
gddemo: gddemo.o libgd.a
$(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS)
-@@ -129,16 +148,19 @@
+@@ -138,18 +158,21 @@
gdtestttf: gdtestttf.o libgd.a
- $(CC) gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
+ $(CC) --verbose gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
-libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
-+OBJS= gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
++OBJS= gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \
-- gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o \
-- gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
-+ gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
-+INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
+ gdfontg.o gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
+- gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
++ gd_wbmp.o gdhelpers.o
++INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
+ gdfontg.h gdhelpers.h
+
+libgd.a: $(INCS) $(OBJS)
rm -f libgd.a
- $(AR) rc libgd.a gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o \
- gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o \
- gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
-- gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
+- gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
+- gd_wbmp.o gdhelpers.o
+ $(AR) rc libgd.a $(OBJS)
-ranlib libgd.a
+
-+libgd.so.1: $(INCS) $(OBJS:.o=.so)
-+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
-+ ln -sf libgd.so.1 libgd.so
++libgd.so.$(SOVER): $(INCS) $(OBJS:.o=.so)
++ $(CC) -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
++ ln -sf libgd.so.$(SOVER) libgd.so
clean:
rm -f *.o *.a ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp
diff --git a/graphics/gd1/files/patch-gdkanji.c b/graphics/gd1/files/patch-gdkanji.c
new file mode 100644
index 000000000000..2162a7e95c38
--- /dev/null
+++ b/graphics/gd1/files/patch-gdkanji.c
@@ -0,0 +1,87 @@
+--- gdkanji.c.orig Fri Feb 2 05:23:56 2001
++++ gdkanji.c Wed Feb 7 20:59:08 2001
+@@ -103,14 +103,18 @@
+ unsigned char *str;
+ #endif
+ {
+- static int whatcode;
++ static int whatcode = ASCII;
++ int oldcode = ASCII;
+ int c, i;
+ char *lang = NULL;
+
+ c = '\1';
+ i = 0;
+
+- if (whatcode == 0) whatcode = ASCII;
++ if (whatcode != EUCORSJIS && whatcode != ASCII) {
++ oldcode = whatcode;
++ whatcode = ASCII;
++ }
+
+ while ((whatcode == EUCORSJIS || whatcode == ASCII) && c != '\0') {
+ if ((c = str[i++]) != '\0') {
+@@ -167,7 +171,7 @@
+ if ((c >= 64 && c <= 126) || (c >= 128 && c <= 160))
+ whatcode = SJIS;
+ else
+- if (c >= 253 && c >= 254) whatcode = EUC;
++ if (c >= 253 && c <= 254) whatcode = EUC;
+ else
+ if (c >= 161 && c <= 252) whatcode = EUCORSJIS;
+ }
+@@ -184,6 +188,8 @@
+ debug("Kanji code detected at %d byte.", i);
+ #endif
+
++ if (whatcode == EUCORSJIS && oldcode != ASCII) whatcode = oldcode;
++
+ if (whatcode == EUCORSJIS) {
+ if (getenv ("LC_ALL")) lang = getenv ("LC_ALL");
+ else
+@@ -310,7 +316,7 @@
+ error("invalid code specification: \"%s\" or \"%s\"",
+ EUCSTR, code);
+ #endif
+- strcpy(to, from);
++ ustrcpy(to, from);
+ return;
+ }
+
+@@ -328,7 +334,7 @@
+ else
+ #endif
+ error("something happen");
+- strcpy(to, from);
++ ustrcpy(to, from);
+ return;
+ }
+
+@@ -526,11 +532,10 @@
+
+ t = (unsigned char *)gdMalloc(BUFSIZ);
+ any2eucjp(t, s, BUFSIZ);
+- i = strlen(t);
++ i = strlen((const char *)t);
+ gdFree(t);
+ return i;
+ }
+-#endif
+
+ #ifdef DEBUG
+ int main()
+@@ -543,7 +548,7 @@
+ while ( (c = fgetc(stdin)) != '\n' && i < BUFSIZ ) input[i++] = c;
+ input[i] = '\0';
+
+- printf("input : %d bytes\n", strlen(input));
++ printf("input : %d bytes\n", strlen((const char *)input));
+ printf("output: %d bytes\n", strwidth(input));
+
+ output = (unsigned char *)gdMalloc(BUFSIZ);
+@@ -555,4 +560,5 @@
+
+ return 0;
+ }
++#endif
+ #endif
diff --git a/graphics/gd1/files/patch-gdttf.c b/graphics/gd1/files/patch-gdttf.c
new file mode 100644
index 000000000000..c7b8768a725f
--- /dev/null
+++ b/graphics/gd1/files/patch-gdttf.c
@@ -0,0 +1,17 @@
+--- gdttf.c.orig Fri Feb 2 05:23:56 2001
++++ gdttf.c Wed Feb 7 20:57:34 2001
+@@ -221,11 +221,10 @@
+ byte = *((unsigned char *) str);
+ #ifdef JISX0208
+ if (0xA1 <= byte && byte <= 0xFE) {
+- int jiscode, ku, ten;
++ int ku, ten;
+
+- jiscode = 0x100 * (byte & 0x7F) + (str[1] & 0x7F);
+- ku = (jiscode >> 8) - 0x20;
+- ten = (jiscode % 256) - 0x20;
++ ku = (byte & 0x7F) - 0x20;
++ ten = (str[1] & 0x7F) - 0x20;
+ if ( (ku < 1 || ku > 92) || (ten < 1 || ten > 94) ) {
+ *chPtr = (Tcl_UniChar) byte;
+ return 1;
diff --git a/graphics/gd1/pkg-plist b/graphics/gd1/pkg-plist
index b72a1755a32b..f3c18de0cd63 100644
--- a/graphics/gd1/pkg-plist
+++ b/graphics/gd1/pkg-plist
@@ -1,10 +1,10 @@
bin/bdftogd
-bin/pngtogd
-bin/pngtogd2
-bin/gdtopng
-bin/gd2topng
bin/gd2copypal
+bin/gd2topng
bin/gdparttopng
+bin/gdtopng
+bin/pngtogd
+bin/pngtogd2
bin/webpng
include/gd/gd.h
include/gd/gd_io.h
@@ -16,5 +16,5 @@ include/gd/gdfonts.h
include/gd/gdfontt.h
lib/libgd.a
lib/libgd.so
-lib/libgd.so.1
+lib/libgd.so.2
@dirrm include/gd
diff --git a/graphics/gd2/Makefile b/graphics/gd2/Makefile
index 92f499cdd159..8dfda987f477 100644
--- a/graphics/gd2/Makefile
+++ b/graphics/gd2/Makefile
@@ -1,4 +1,4 @@
-# New ports collection makefile for: gd
+# New ports collection makefile for: gd
# Date created: 27 Mar 1998
# Whom: jeff@cetlink.net
#
@@ -6,17 +6,19 @@
#
PORTNAME= gd
-PORTVERSION= 1.8.3
+PORTVERSION= 1.8.4
CATEGORIES= graphics
MASTER_SITES= http://www.boutell.com/gd/http/ \
- ftp://ftp.boutell.com/pub/boutell/gd/
+ ftp://ftp.boutell.com/pub/boutell/gd/ \
+ ${MASTER_SITE_RINGSERVER}
+MASTER_SITE_SUBDIR= graphics/gd
MAINTAINER= billf@FreeBSD.org
LIB_DEPENDS= png.4:${PORTSDIR}/graphics/png \
- jpeg.9:${PORTSDIR}/graphics/jpeg
+ jpeg.9:${PORTSDIR}/graphics/jpeg \
+ freetype.6:${PORTSDIR}/print/freetype2
-USE_FREETYPE= yes
.if defined(WITH_X11)
USE_XLIB= yes
USE_XPM= yes
@@ -24,13 +26,13 @@ USE_XPM= yes
INSTALLS_SHLIB= yes
-pre-fetch:
+pre-everything:
.if !defined(WITH_X11)
- @${ECHO} -n "If you want to compile in X support use "
- @${ECHO} "'make -DWITH_X11' instead"
+ @${ECHO_MSG} "If you want to compile in X support use "
+ @${ECHO_MSG} "'make -DWITH_X11' instead"
.endif
-pre-install:
- ${MKDIR} ${PREFIX}/include/gd
+post-extract:
+ @${RM} -f ${WRKSRC}/*.o
.include <bsd.port.mk>
diff --git a/graphics/gd2/distinfo b/graphics/gd2/distinfo
index c49649bae22f..f8e624490c8a 100644
--- a/graphics/gd2/distinfo
+++ b/graphics/gd2/distinfo
@@ -1 +1 @@
-MD5 (gd-1.8.3.tar.gz) = ad0e7dd1dda2812dbaeaa9706c4be536
+MD5 (gd-1.8.4.tar.gz) = 813625508e31f5c205904a305bdc8669
diff --git a/graphics/gd2/files/patch-ac b/graphics/gd2/files/patch-ac
index 015b7579d91b..c85d793c55c7 100644
--- a/graphics/gd2/files/patch-ac
+++ b/graphics/gd2/files/patch-ac
@@ -1,6 +1,6 @@
---- Makefile.orig Sun Jun 4 03:26:12 2000
-+++ Makefile Thu Nov 9 14:53:41 2000
-@@ -3,18 +3,22 @@
+--- Makefile.orig Fri Feb 2 05:23:56 2001
++++ Makefile Sat Feb 3 09:24:57 2001
+@@ -3,11 +3,11 @@
#If you do not have gcc, change the setting for COMPILER, but you must
#use an ANSI standard C compiler (NOT the old SunOS 4.1.3 cc
#compiler; get gcc if you are still using it).
@@ -13,101 +13,92 @@
+#AR=ar
#If you don't have FreeType, libjpeg and/or Xpm installed, including the
- #header files, uncomment this (default).
--CFLAGS=-O
-+#CFLAGS=-O
+ #header files, uncomment this (default). You really must install
+@@ -16,8 +16,10 @@
+
#If you do have FreeType, libjpeg and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. See also LIBS below.
--#CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
+-CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG \
+- -DHAVE_LIBFREETYPE -DHAVE_LIBTTF
++CFLAGS+=-DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBFREETYPE
+.if defined(WITH_X11)
-+CFLAGS+=-DHAVE_XPM -DHAVE_JPEG
-+.else
-+CFLAGS+=-DHAVE_JPEG -DHAVE_LIBTTF
++CFLAGS+=-DHAVE_LIBXPM
+.endif
- #If you don't have FreeType and/or Xpm fully installed, uncomment this
- #(default).
-@@ -23,7 +27,7 @@
+ #To use the old FreeType 1.x library, add this additional #define
+ #to the line above
+@@ -30,13 +32,15 @@
#Some systems are very picky about link order. They don't all agree
#on the right order, either.
--LIBS=-lm -lgd -lpng -lz
-+LIBS=-lm -lgd -lpng -lz -ljpeg -lttf
+-#LIBS=-lgd -lpng -lz
++LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm
#If you do have FreeType, JPEG and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. Note that
-@@ -33,14 +37,19 @@
- #Some systems are very picky about link order. They don't all agree
- #on the right order, either.
+ #Xpm requires X11. See also CFLAGS above.
--#LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
+-LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm -lttf
+.if defined(WITH_X11)
-+LIBS+= -lXpm -lX11
++LIBS+=-lXpm -lX11
+.endif
- #Typical install locations for freetype, zlib, xpm, libjpeg and libpng header files.
- #If yours are somewhere else, change this.
- #-I. is important to ensure that the version of gd you are installing
- #is used, and not an older release in your directory tree somewhere.
+ #Note: for Freetype 1.x, use DHAVE_LIBTTF and -lttf instead.
+
+@@ -45,7 +49,10 @@
+ #ensure that the version of gd you are installing is used, and not an
+ #older release in your directory tree somewhere.
--INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11
-+INCLUDEDIRS=-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype
+-INCLUDEDIRS=-I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include
++INCLUDEDIRS=-I. -I${LOCALBASE}/include/freetype2 -I${LOCALBASE}/include
+.if defined(WITH_X11)
+INCLUDEDIRS+=-I${X11BASE}/include/X11 -I${X11BASE}/include
+.endif
#Typical install locations for freetype, zlib, xpm and libpng libraries.
#If yours are somewhere else, other than a standard location
-@@ -48,16 +57,19 @@
- #-L. as this allows the gd library itself to be found.
- #Put -L. first so that old versions of the gd library elsewhere
+@@ -55,16 +62,19 @@
#on your system can't cause conflicts while building a new one.
+ #This line shouldn't hurt if you don't actually have some of the
+ #optional libraries and directories.
-LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib
-+LIBDIRS=-L. -L$(LOCALBASE)/lib
++LIBDIRS=-L. -L${LOCALBASE}/lib -Wl,--rpath,${LOCALBASE}/lib
+.if defined(WITH_X11)
-+LIBDIRS+=-L$(X11BASE)/lib
++LIBDIRS+=-L${X11BASE}/lib -Wl,--rpath,${X11BASE}/lib
+.endif
#Location where libgd.a should be installed by "make install".
-INSTALL_LIB=/usr/local/lib
-+INSTALL_LIB=$(PREFIX)/lib
++INSTALL_LIB=${PREFIX}/lib
#Location where .h files should be installed by "make install".
-INSTALL_INCLUDE=/usr/local/include
-+INSTALL_INCLUDE=$(PREFIX)/include/gd
++INSTALL_INCLUDE=${PREFIX}/include/gd
#Location where useful non-test programs should be installed by "make install".
-INSTALL_BIN=/usr/local/bin
-+INSTALL_BIN=$(PREFIX)/bin
++INSTALL_BIN=${PREFIX}/bin
#
#
-@@ -65,36 +77,43 @@
- #
- #
+@@ -74,34 +84,44 @@
--VERSION=1.8.1
-+VERSION=1.8.2
+ VERSION=1.8.4
-CC=$(COMPILER) $(INCLUDEDIRS)
-LINK=$(CC) $(LIBDIRS) $(LIBS)
-+CC+= $(INCLUDEDIRS)
++CC+=$(INCLUDEDIRS)
+#LINK=$(CC) $(LIBDIRS) $(LIBS)
PROGRAMS=$(BIN_PROGRAMS) $(TEST_PROGRAMS)
BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
- TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
+ TEST_PROGRAMS=gdtest gddemo gd2time gdtestft gdtestttf
-all: libgd.a $(PROGRAMS)
-+.SUFFIXES: .c .so .o
-+
-+.c.so:
-+ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
-+
-+all: libgd.a libgd.so.1 $(PROGRAMS)
++SOVER=2
- install: libgd.a $(BIN_PROGRAMS)
+-install: libgd.a $(BIN_PROGRAMS)
- sh ./install-item 644 libgd.a $(INSTALL_LIB)/libgd.a
- sh ./install-item 755 pngtogd $(INSTALL_BIN)/pngtogd
- sh ./install-item 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
@@ -125,52 +116,63 @@
- sh ./install-item 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
- sh ./install-item 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
- sh ./install-item 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
-+ $(INSTALL) -c -m 644 libgd.a $(INSTALL_LIB)/libgd.a
-+ $(INSTALL) -c -m 755 pngtogd $(INSTALL_BIN)/pngtogd
-+ $(INSTALL) -c -m 755 libgd.so.1 $(INSTALL_LIB)/libgd.so.1
-+ ln -sf libgd.so.1 $(INSTALL_LIB)/libgd.so
-+ $(INSTALL) -c -m 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
-+ $(INSTALL) -c -m 755 gdtopng $(INSTALL_BIN)/gdtopng
-+ $(INSTALL) -c -m 755 gd2topng $(INSTALL_BIN)/gd2topng
-+ $(INSTALL) -c -m 755 gd2copypal $(INSTALL_BIN)/gd2copypal
-+ $(INSTALL) -c -m 755 gdparttopng $(INSTALL_BIN)/gdparttopng
-+ $(INSTALL) -c -m 755 webpng $(INSTALL_BIN)/webpng
-+ $(INSTALL) -c -m 755 bdftogd $(INSTALL_BIN)/bdftogd
-+ $(INSTALL) -c -m 644 gd.h $(INSTALL_INCLUDE)/gd.h
-+ $(INSTALL) -c -m 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h
-+ $(INSTALL) -c -m 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h
-+ $(INSTALL) -c -m 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
-+ $(INSTALL) -c -m 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
-+ $(INSTALL) -c -m 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
-+ $(INSTALL) -c -m 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
-+ $(INSTALL) -c -m 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
++.SUFFIXES: .c .so .o
++
++.c.so:
++ $(CC) -fpic -DPIC $(CFLAGS) -o $@ -c $<
++
++all: libgd.a libgd.so.$(SOVER) $(PROGRAMS)
++
++install: libgd.a libgd.so.$(SOVER) $(BIN_PROGRAMS)
++ -mkdir -p $(INSTALL_LIB) $(INSTALL_INCLUDE) $(INSTALL_BIN)
++ ${BSD_INSTALL_DATA} libgd.a $(INSTALL_LIB)/libgd.a
++ ${BSD_INSTALL_DATA} libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so.$(SOVER)
++ -ln -sf libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so
++ ${BSD_INSTALL_PROGRAM} pngtogd $(INSTALL_BIN)/pngtogd
++ ${BSD_INSTALL_PROGRAM} pngtogd2 $(INSTALL_BIN)/pngtogd2
++ ${BSD_INSTALL_PROGRAM} gdtopng $(INSTALL_BIN)/gdtopng
++ ${BSD_INSTALL_PROGRAM} gd2topng $(INSTALL_BIN)/gd2topng
++ ${BSD_INSTALL_PROGRAM} gd2copypal $(INSTALL_BIN)/gd2copypal
++ ${BSD_INSTALL_PROGRAM} gdparttopng $(INSTALL_BIN)/gdparttopng
++ ${BSD_INSTALL_PROGRAM} webpng $(INSTALL_BIN)/webpng
++ ${BSD_INSTALL_SCRIPT} bdftogd $(INSTALL_BIN)/bdftogd
++ ${BSD_INSTALL_DATA} gd.h $(INSTALL_INCLUDE)/gd.h
++ ${BSD_INSTALL_DATA} gdcache.h $(INSTALL_INCLUDE)/gdcache.h
++ ${BSD_INSTALL_DATA} gd_io.h $(INSTALL_INCLUDE)/gd_io.h
++ ${BSD_INSTALL_DATA} gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
++ ${BSD_INSTALL_DATA} gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
++ ${BSD_INSTALL_DATA} gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
++ ${BSD_INSTALL_DATA} gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
++ ${BSD_INSTALL_DATA} gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
gddemo: gddemo.o libgd.a
$(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS)
-@@ -129,16 +148,19 @@
+@@ -138,18 +158,21 @@
gdtestttf: gdtestttf.o libgd.a
- $(CC) gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
+ $(CC) --verbose gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
-libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
-+OBJS= gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
++OBJS= gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \
-- gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o \
-- gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
-+ gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
-+INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
+ gdfontg.o gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
+- gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
++ gd_wbmp.o gdhelpers.o
++INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
+ gdfontg.h gdhelpers.h
+
+libgd.a: $(INCS) $(OBJS)
rm -f libgd.a
- $(AR) rc libgd.a gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o \
- gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gd_jpeg.o gdxpm.o \
- gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
-- gdtables.o gdttf.o gdcache.o gdkanji.o wbmp.o gd_wbmp.o
+- gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
+- gd_wbmp.o gdhelpers.o
+ $(AR) rc libgd.a $(OBJS)
-ranlib libgd.a
+
-+libgd.so.1: $(INCS) $(OBJS:.o=.so)
-+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
-+ ln -sf libgd.so.1 libgd.so
++libgd.so.$(SOVER): $(INCS) $(OBJS:.o=.so)
++ $(CC) -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
++ ln -sf libgd.so.$(SOVER) libgd.so
clean:
rm -f *.o *.a ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp
diff --git a/graphics/gd2/files/patch-gdkanji.c b/graphics/gd2/files/patch-gdkanji.c
new file mode 100644
index 000000000000..2162a7e95c38
--- /dev/null
+++ b/graphics/gd2/files/patch-gdkanji.c
@@ -0,0 +1,87 @@
+--- gdkanji.c.orig Fri Feb 2 05:23:56 2001
++++ gdkanji.c Wed Feb 7 20:59:08 2001
+@@ -103,14 +103,18 @@
+ unsigned char *str;
+ #endif
+ {
+- static int whatcode;
++ static int whatcode = ASCII;
++ int oldcode = ASCII;
+ int c, i;
+ char *lang = NULL;
+
+ c = '\1';
+ i = 0;
+
+- if (whatcode == 0) whatcode = ASCII;
++ if (whatcode != EUCORSJIS && whatcode != ASCII) {
++ oldcode = whatcode;
++ whatcode = ASCII;
++ }
+
+ while ((whatcode == EUCORSJIS || whatcode == ASCII) && c != '\0') {
+ if ((c = str[i++]) != '\0') {
+@@ -167,7 +171,7 @@
+ if ((c >= 64 && c <= 126) || (c >= 128 && c <= 160))
+ whatcode = SJIS;
+ else
+- if (c >= 253 && c >= 254) whatcode = EUC;
++ if (c >= 253 && c <= 254) whatcode = EUC;
+ else
+ if (c >= 161 && c <= 252) whatcode = EUCORSJIS;
+ }
+@@ -184,6 +188,8 @@
+ debug("Kanji code detected at %d byte.", i);
+ #endif
+
++ if (whatcode == EUCORSJIS && oldcode != ASCII) whatcode = oldcode;
++
+ if (whatcode == EUCORSJIS) {
+ if (getenv ("LC_ALL")) lang = getenv ("LC_ALL");
+ else
+@@ -310,7 +316,7 @@
+ error("invalid code specification: \"%s\" or \"%s\"",
+ EUCSTR, code);
+ #endif
+- strcpy(to, from);
++ ustrcpy(to, from);
+ return;
+ }
+
+@@ -328,7 +334,7 @@
+ else
+ #endif
+ error("something happen");
+- strcpy(to, from);
++ ustrcpy(to, from);
+ return;
+ }
+
+@@ -526,11 +532,10 @@
+
+ t = (unsigned char *)gdMalloc(BUFSIZ);
+ any2eucjp(t, s, BUFSIZ);
+- i = strlen(t);
++ i = strlen((const char *)t);
+ gdFree(t);
+ return i;
+ }
+-#endif
+
+ #ifdef DEBUG
+ int main()
+@@ -543,7 +548,7 @@
+ while ( (c = fgetc(stdin)) != '\n' && i < BUFSIZ ) input[i++] = c;
+ input[i] = '\0';
+
+- printf("input : %d bytes\n", strlen(input));
++ printf("input : %d bytes\n", strlen((const char *)input));
+ printf("output: %d bytes\n", strwidth(input));
+
+ output = (unsigned char *)gdMalloc(BUFSIZ);
+@@ -555,4 +560,5 @@
+
+ return 0;
+ }
++#endif
+ #endif
diff --git a/graphics/gd2/files/patch-gdttf.c b/graphics/gd2/files/patch-gdttf.c
new file mode 100644
index 000000000000..c7b8768a725f
--- /dev/null
+++ b/graphics/gd2/files/patch-gdttf.c
@@ -0,0 +1,17 @@
+--- gdttf.c.orig Fri Feb 2 05:23:56 2001
++++ gdttf.c Wed Feb 7 20:57:34 2001
+@@ -221,11 +221,10 @@
+ byte = *((unsigned char *) str);
+ #ifdef JISX0208
+ if (0xA1 <= byte && byte <= 0xFE) {
+- int jiscode, ku, ten;
++ int ku, ten;
+
+- jiscode = 0x100 * (byte & 0x7F) + (str[1] & 0x7F);
+- ku = (jiscode >> 8) - 0x20;
+- ten = (jiscode % 256) - 0x20;
++ ku = (byte & 0x7F) - 0x20;
++ ten = (str[1] & 0x7F) - 0x20;
+ if ( (ku < 1 || ku > 92) || (ten < 1 || ten > 94) ) {
+ *chPtr = (Tcl_UniChar) byte;
+ return 1;
diff --git a/graphics/gd2/pkg-plist b/graphics/gd2/pkg-plist
index b72a1755a32b..f3c18de0cd63 100644
--- a/graphics/gd2/pkg-plist
+++ b/graphics/gd2/pkg-plist
@@ -1,10 +1,10 @@
bin/bdftogd
-bin/pngtogd
-bin/pngtogd2
-bin/gdtopng
-bin/gd2topng
bin/gd2copypal
+bin/gd2topng
bin/gdparttopng
+bin/gdtopng
+bin/pngtogd
+bin/pngtogd2
bin/webpng
include/gd/gd.h
include/gd/gd_io.h
@@ -16,5 +16,5 @@ include/gd/gdfonts.h
include/gd/gdfontt.h
lib/libgd.a
lib/libgd.so
-lib/libgd.so.1
+lib/libgd.so.2
@dirrm include/gd