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>