Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Jul 2003 14:29:22 +0100
From:      Thomas Hurst <freaky@aagh.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/54260: New port: optipng-0.4.2, a PNG optimizer
Message-ID:  <E19aF0c-000GN4-Vs@voi.aagh.net>
Resent-Message-ID: <200307091330.h69DUdcJ092554@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         54260
>Category:       ports
>Synopsis:       New port: optipng-0.4.2, a PNG optimizer
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jul 09 06:30:16 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Hurst
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
Very Little
>Environment:
System: FreeBSD voi.freak.lan 4.8-STABLE FreeBSD 4.8-STABLE #0: Tue Jun 17 21:08:29 BST 2003 root@voi.freak.lan:/usr/obj/usr/src/sys/VOI i386

>Description:
	optipng is another nice PNG optimizer, which often produces even better
	results than pngcrush.

	This port should make it CC/CFLAGS clean, and works around a problem with
	zlib and -O by adding -O2 for the bundled statically compiled zlib.  It
	may be preferable to change this to -O0, but obviously it would be best
	if the problem could be tracked down properly.

	Tests fine now on my Celeron/PII, 4.8-STABLE.
>How-To-Repeat:
	
>Fix:
	For graphics/optipng:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	optipng
#	optipng/pkg-plist
#	optipng/pkg-descr
#	optipng/distinfo
#	optipng/Makefile
#	optipng/files
#	optipng/files/patch-src-scripts-Makefile.gcc
#	optipng/files/patch-lib-cos-zlib-Makefile.in
#
echo c - optipng
mkdir -p optipng > /dev/null 2>&1
echo x - optipng/pkg-plist
sed 's/^X//' >optipng/pkg-plist << 'END-of-optipng/pkg-plist'
Xbin/optipng
X%%PORTDOCS%%%%DOCSDIR%%/CAVEAT
X%%PORTDOCS%%%%DOCSDIR%%/DESIGN
X%%PORTDOCS%%%%DOCSDIR%%/FEATURES
X%%PORTDOCS%%%%DOCSDIR%%/HISTORY
X%%PORTDOCS%%%%DOCSDIR%%/LICENSE
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%%%DOCSDIR%%/TODO
X%%PORTDOCS%%%%DOCSDIR%%/USAGE
X%%PORTDOCS%%%%DOCSDIR%%/index.html
END-of-optipng/pkg-plist
echo x - optipng/pkg-descr
sed 's/^X//' >optipng/pkg-descr << 'END-of-optipng/pkg-descr'
XOptiPNG is a PNG optimizer that recompresses the image files to a
Xsmaller size, without losing any information.
X
XWWW: http://www.cs.toronto.edu/~cosmin/pngtech/optipng/
X
X- Thomas Hurst
X <freaky@aagh.net>
END-of-optipng/pkg-descr
echo x - optipng/distinfo
sed 's/^X//' >optipng/distinfo << 'END-of-optipng/distinfo'
XMD5 (optipng-0.4.2.tar.gz) = 8e1a59f0ec9f9aee3ce313de716f966e
END-of-optipng/distinfo
echo x - optipng/Makefile
sed 's/^X//' >optipng/Makefile << 'END-of-optipng/Makefile'
X# New ports collection makefile for:	optipng
X# Date created:				09 July 2003
X# Whom:					Thomas Hurst <freaky@aagh.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	optipng
XPORTVERSION=	0.4.2
XCATEGORIES=	graphics
XMASTER_SITES=	http://www.cs.toronto.edu/~cosmin/pngtech/optipng/
X
XMAINTAINER=	freaky@aagh.net
XCOMMENT=	An optimizer for PNG files
X
XBUILD_WRKSRC=	${WRKSRC}/src
XMAKEFILE=	scripts/Makefile.gcc
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/src/optipng ${PREFIX}/bin
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${DOCSDIR}
X
X.for i in CAVEAT DESIGN FEATURES HISTORY LICENSE README TODO USAGE index.html
X	${INSTALL_MAN} ${WRKSRC}/doc/${i} ${DOCSDIR}
X.endfor
X.endif
X
X.include <bsd.port.mk>
END-of-optipng/Makefile
echo c - optipng/files
mkdir -p optipng/files > /dev/null 2>&1
echo x - optipng/files/patch-src-scripts-Makefile.gcc
sed 's/^X//' >optipng/files/patch-src-scripts-Makefile.gcc << 'END-of-optipng/files/patch-src-scripts-Makefile.gcc'
X--- src/scripts/Makefile.gcc.orig	Mon May 12 22:11:56 2003
X+++ src/scripts/Makefile.gcc	Wed Jul  9 13:29:49 2003
X@@ -1,21 +1,25 @@
X # ** OptiPNG
X # ** Quick and dirty makefile for GCC
X 
X+CC?=	gcc
X+CFLAGS?=	-pipe -O2 -g
X+CP?=	cp
X+
X all: optipng
X 
X optipng: optipng.o opngio.o opngreduc.o cbitset.o \
X   wildargs.o libpng.a libz.a
X-	gcc -s -o optipng optipng.o opngio.o opngreduc.o cbitset.o \
X+	${CC} ${CFLAGS} -o optipng optipng.o opngio.o opngreduc.o cbitset.o \
X 	  wildargs.o libpng.a libz.a
X 
X .c.o: #png.h opng.h
X-	gcc -c -O2 -I../lib-cos/zlib -I../lib-cos/libpng -Wall $*.c
X+	${CC} ${CFLAGS} -c -I../lib-cos/zlib -I../lib-cos/libpng -Wall $*.c
X 
X cbitset.o: cbitset.c cbitset.h
X-	gcc -c -O2 -Wall $*.c
X+	${CC} ${CFLAGS} -c -Wall $*.c
X 
X wildargs.o: xtra/wildargs.c
X-	gcc -c -O2 xtra/wildargs.c
X+	${CC} ${CFLAGS} -c xtra/wildargs.c
X 
X libpng.a: ../lib-cos/libpng/libpng.a
X 	cp ../lib-cos/libpng/libpng.a libpng.a
X@@ -24,7 +28,8 @@
X 	cp ../lib-cos/zlib/libz.a libz.a
X 
X ../lib-cos/libpng/libpng.a: ../lib-cos/zlib/libz.a
X-	cd ../lib-cos/libpng; ${MAKE} -f scripts/makefile.gcc; cd ../../src
X+	cd ../lib-cos/libpng; ${MAKE} CFLAGS="-I../zlib ${CFLAGS}" -f scripts/makefile.freebsd libpng.a; cd ../../src
X 
X ../lib-cos/zlib/libz.a:
X-	cd ../lib-cos/zlib; ./configure; ${MAKE}; cd ../../src
X+# gcc 2.95 seems to break when using -O w/ x86.  Force -O2 over -O0.
X+	cd ../lib-cos/zlib; ./configure; ${MAKE} CFLAGS="${CFLAGS} -O2"; cd ../../src
END-of-optipng/files/patch-src-scripts-Makefile.gcc
echo x - optipng/files/patch-lib-cos-zlib-Makefile.in
sed 's/^X//' >optipng/files/patch-lib-cos-zlib-Makefile.in << 'END-of-optipng/files/patch-lib-cos-zlib-Makefile.in'
X--- lib-cos/zlib/Makefile.in.orig	Mon Mar 11 18:58:30 2002
X+++ lib-cos/zlib/Makefile.in	Wed Jul  9 02:36:33 2003
X@@ -12,28 +12,28 @@
X # To install in $HOME instead of /usr/local, use:
X #    make install prefix=$HOME
X 
X-CC=cc
X+CC?=cc
X 
X-CFLAGS=-O
X+CFLAGS?=-O
X #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
X #CFLAGS=-g -DDEBUG
X #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
X #           -Wstrict-prototypes -Wmissing-prototypes
X 
X-LDFLAGS=-L. -lz
X+LDFLAGS=-L. -lz
X LDSHARED=$(CC)
X-CPP=$(CC) -E
X+CPP?=$(CC) -E
X 
X VER=1.1.4
X LIBS=libz.a
X SHAREDLIB=libz.so
X 
X-AR=ar rc
X-RANLIB=ranlib
X-TAR=tar
X-SHELL=/bin/sh
X+AR+= rc
X+RANLIB?=ranlib
X+TAR?=tar
X+SHELL?=/bin/sh
X 
X-prefix = /usr/local
X+prefix ?= /usr/local
X exec_prefix = ${prefix}
X libdir = ${exec_prefix}/lib
X includedir = ${prefix}/include
END-of-optipng/files/patch-lib-cos-zlib-Makefile.in
exit


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E19aF0c-000GN4-Vs>