From df35f01bfd07ced0526ae48c33c3fbe7873c84f1 Mon Sep 17 00:00:00 2001 From: Maho Nakata Date: Fri, 18 Apr 2003 10:30:58 +0000 Subject: For GIF patent problem, remove some goodies. However source distribution is still legal, so this can be enabled by WITH_GIF_LZW_COMPRESSION=yes --- editors/openoffice-1.0/Makefile | 23 +- ...atch-goodies+source+filter.vcl+egif+giflzwc.cxx | 290 +++++++++++++++++++++ ...ies+source+filter.vcl+egif+giflzwc_disabled.cxx | 45 ++++ ...atch-goodies+source+filter.vcl+egif+makefile.mk | 11 + 4 files changed, 368 insertions(+), 1 deletion(-) create mode 100644 editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc.cxx create mode 100644 editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc_disabled.cxx create mode 100644 editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+makefile.mk (limited to 'editors/openoffice-1.0') diff --git a/editors/openoffice-1.0/Makefile b/editors/openoffice-1.0/Makefile index 9e0ac92f2925..74704dca0375 100644 --- a/editors/openoffice-1.0/Makefile +++ b/editors/openoffice-1.0/Makefile @@ -7,7 +7,7 @@ PORTNAME= openoffice PORTVERSION= 1.0.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES+= editors MASTER_SITES+= http://ny1.mirror.openoffice.org/%SUBDIR%/ \ http://ftp.gwdg.de/pub/misc/openoffice/%SUBDIR%/ \ @@ -261,6 +261,15 @@ pre-fetch: @${ECHO} "quality of glyphs at small bitmap sizes." @${ECHO} .endif +.if !defined(WITH_GIF_LZW_COMPRESSION) + @${ECHO} + @${ECHO} "You may set WITH_GIF_LZW_COMPRESSION=YES" + @${ECHO} "If you want to make compressed gif images" + @${ECHO} + @${ECHO} "If must have license from the Unisys and IBM patents" + @${ECHO} "to enable this option to get compressed GIF images." + ${ECHO} +.endif .if ${OSVERSION} < 450002 @${ECHO} @${ECHO} "OS-VERSION ${OSVERSION} too low" @@ -375,6 +384,18 @@ post-patch: ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/optpatch-freetype+patch ; \ fi .endif +.if !defined(WITH_GIF_LZW_COMPRESSION) + @if [ "`echo ${PATCHDIR}/gifpatch-*`" != "${PATCHDIR}/gifpatch-*" ]; then \ + ${ECHO_MSG} "===> Removing GIF LZW compression for ${PKGNAME}" ; \ + if [ ${PATCH_DEBUG_TMP} = yes ]; then \ + ${ECHO_MSG} "===> Applying GIF LZW compression ${OPSYS} patch" ; \ + fi; \ + ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/gifpatch-goodies+source+filter.vcl+egif+giflzwc.cxx ; \ + ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/gifpatch-goodies+source+filter.vcl+egif+giflzwc_disabled.cxx ; \ + ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/gifpatch-goodies+source+filter.vcl+egif+makefile.mk ; \ + fi +.endif + .if defined(WITH_DEBUG) @if [ "`echo ${PATCHDIR}/debugpatch-*`" != "${PATCHDIR}/debugpatch-*" ]; then \ ${ECHO_MSG} "===> Applying additional debug ${OPSYS} patches for ${PKGNAME}" ; \ diff --git a/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc.cxx b/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc.cxx new file mode 100644 index 000000000000..0fcdf289cca3 --- /dev/null +++ b/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc.cxx @@ -0,0 +1,290 @@ +--- ../goodies/source/filter.vcl/egif/giflzwc.cxx Sun Apr 13 14:33:24 2003 ++++ /dev/null Mon Apr 14 06:10:35 2003 +@@ -1,287 +0,0 @@ +-/************************************************************************* +- * +- * $RCSfile: giflzwc.cxx,v $ +- * +- * $Revision: 1.1.1.1 $ +- * +- * last change: $Author: hr $ $Date: 2000/09/18 16:30:11 $ +- * +- * The Contents of this file are made available subject to the terms of +- * either of the following licenses +- * +- * - GNU Lesser General Public License Version 2.1 +- * - Sun Industry Standards Source License Version 1.1 +- * +- * Sun Microsystems Inc., October, 2000 +- * +- * GNU Lesser General Public License Version 2.1 +- * ============================================= +- * Copyright 2000 by Sun Microsystems, Inc. +- * 901 San Antonio Road, Palo Alto, CA 94303, USA +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License version 2.1, as published by the Free Software Foundation. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, +- * MA 02111-1307 USA +- * +- * +- * Sun Industry Standards Source License Version 1.1 +- * ================================================= +- * The contents of this file are subject to the Sun Industry Standards +- * Source License Version 1.1 (the "License"); You may not use this file +- * except in compliance with the License. You may obtain a copy of the +- * License at http://www.openoffice.org/license.html. +- * +- * Software provided under this License is provided on an "AS IS" basis, +- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +- * See the License for the specific provisions governing your rights and +- * obligations concerning the Software. +- * +- * The Initial Developer of the Original Code is: Sun Microsystems, Inc. +- * +- * Copyright: 2000 by Sun Microsystems, Inc. +- * +- * All Rights Reserved. +- * +- * Contributor(s): _______________________________________ +- * +- * +- ************************************************************************/ +- +-#include +-#include "giflzwc.hxx" +- +-// ---------------------------- +-// - GIFImageDataOutputStream - +-// ---------------------------- +- +-class GIFImageDataOutputStream +-{ +-private: +- +- void FlushBlockBuf(); +- inline void FlushBitsBufsFullBytes(); +- +- SvStream& rStream; +- BYTE* pBlockBuf; +- BYTE nBlockBufSize; +- ULONG nBitsBuf; +- USHORT nBitsBufSize; +- +-public: +- +- GIFImageDataOutputStream( SvStream & rGIF, BYTE nLZWDataSize ); +- ~GIFImageDataOutputStream(); +- +- inline void WriteBits( USHORT nCode, USHORT nCodeLen ); +-}; +- +-// ------------------------------------------------------------------------ +- +-inline void GIFImageDataOutputStream::FlushBitsBufsFullBytes() +-{ +- while (nBitsBufSize>=8) +- { +- if( nBlockBufSize==255 ) +- FlushBlockBuf(); +- +- pBlockBuf[nBlockBufSize++] = (BYTE) nBitsBuf; +- nBitsBuf >>= 8; +- nBitsBufSize -= 8; +- } +-} +- +-// ------------------------------------------------------------------------ +- +-inline void GIFImageDataOutputStream::WriteBits( USHORT nCode, USHORT nCodeLen ) +-{ +- if( nBitsBufSize+nCodeLen>32 ) +- FlushBitsBufsFullBytes(); +- +- nBitsBuf |= (ULONG) nCode << nBitsBufSize; +- nBitsBufSize += nCodeLen; +-} +- +-// ------------------------------------------------------------------------ +- +-GIFImageDataOutputStream::GIFImageDataOutputStream( SvStream & rGIF, BYTE nLZWDataSize ) : +- rStream(rGIF) +-{ +- pBlockBuf = new BYTE[ 255 ]; +- nBlockBufSize = 0; +- nBitsBufSize = 0; +- nBitsBuf = 0; +- rStream << nLZWDataSize; +-} +- +-// ------------------------------------------------------------------------ +- +- +-GIFImageDataOutputStream::~GIFImageDataOutputStream() +-{ +- WriteBits(0,7); +- FlushBitsBufsFullBytes(); +- FlushBlockBuf(); +- rStream << (BYTE)0; +- delete[] pBlockBuf; +-} +- +-// ------------------------------------------------------------------------ +- +-void GIFImageDataOutputStream::FlushBlockBuf() +-{ +- if( nBlockBufSize ) +- { +- rStream << (BYTE) nBlockBufSize; +- rStream.Write( pBlockBuf,nBlockBufSize ); +- nBlockBufSize = 0; +- } +-} +- +-// ------------------- +-// - GIFLZWCTreeNode - +-// ------------------- +- +-struct GIFLZWCTreeNode +-{ +- +- GIFLZWCTreeNode* pBrother; // naechster Knoten, der den selben Vater hat +- GIFLZWCTreeNode* pFirstChild; // erster Sohn +- USHORT nCode; // Der Code fuer den String von Pixelwerten, der sich ergibt, wenn +- USHORT nValue; // Der Pixelwert +-}; +- +-// -------------------- +-// - GIFLZWCompressor - +-// -------------------- +- +-GIFLZWCompressor::GIFLZWCompressor() +-{ +- pIDOS=NULL; +-} +- +-// ------------------------------------------------------------------------ +- +-GIFLZWCompressor::~GIFLZWCompressor() +-{ +- if (pIDOS!=NULL) EndCompression(); +-} +- +-// ------------------------------------------------------------------------ +- +-void GIFLZWCompressor::StartCompression( SvStream& rGIF, USHORT nPixelSize ) +-{ +- if( !pIDOS ) +- { +- USHORT i; +- +- nDataSize = nPixelSize; +- +- if( nDataSize < 2 ) +- nDataSize=2; +- +- nClearCode=1<WriteBits( nClearCode,nCodeSize ); +- } +-} +- +-// ------------------------------------------------------------------------ +- +-void GIFLZWCompressor::Compress( HPBYTE pSrc, ULONG nSize ) +-{ +- if( pIDOS ) +- { +- GIFLZWCTreeNode* p; +- USHORT i; +- BYTE nV; +- +- if( !pPrefix && nSize ) +- { +- pPrefix=pTable+(*pSrc++); +- nSize--; +- } +- +- while( nSize ) +- { +- nSize--; +- nV=*pSrc++; +- for( p=pPrefix->pFirstChild; p!=NULL; p=p->pBrother ) +- { +- if (p->nValue==nV) +- break; +- } +- +- if( p) +- pPrefix=p; +- else +- { +- pIDOS->WriteBits(pPrefix->nCode,nCodeSize); +- +- if (nTableSize==4096) +- { +- pIDOS->WriteBits(nClearCode,nCodeSize); +- +- for (i=0; ipBrother=pPrefix->pFirstChild; +- pPrefix->pFirstChild=p; +- p->nValue=nV; +- p->pFirstChild=NULL; +- } +- +- pPrefix=pTable+nV; +- } +- } +- } +-} +- +-// ------------------------------------------------------------------------ +- +-void GIFLZWCompressor::EndCompression() +-{ +- if( pIDOS ) +- { +- if( pPrefix ) +- pIDOS->WriteBits(pPrefix->nCode,nCodeSize); +- +- pIDOS->WriteBits( nEOICode,nCodeSize ); +- delete[] pTable; +- delete pIDOS; +- pIDOS=NULL; +- } +-} diff --git a/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc_disabled.cxx b/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc_disabled.cxx new file mode 100644 index 000000000000..223277a5cd7e --- /dev/null +++ b/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+giflzwc_disabled.cxx @@ -0,0 +1,45 @@ +--- /dev/null 1970-01-01 01:00:00.000000000 +0100 ++++ ../goodies/source/filter.vcl/egif/giflzwc_disabled.cxx 2002-08-15 15:09:47.000000000 +0200 +@@ -0,0 +1,42 @@ ++/********************************** ++ * This code is copied from giflzwc.cxx, with the patented LZW compression code removed. ++ **********************************/ ++ ++//#include ++#include "giflzwc.hxx" ++ ++// -------------------- ++// - GIFLZWCompressor - ++// -------------------- ++ ++GIFLZWCompressor::GIFLZWCompressor() ++{ ++ pIDOS=NULL; ++} ++ ++// ------------------------------------------------------------------------ ++ ++GIFLZWCompressor::~GIFLZWCompressor() ++{ ++} ++ ++// ------------------------------------------------------------------------ ++ ++void GIFLZWCompressor::StartCompression( SvStream& rGIF, USHORT nPixelSize ) ++{ ++ /********************** DISABLED *************************/ ++} ++ ++// ------------------------------------------------------------------------ ++ ++void GIFLZWCompressor::Compress( HPBYTE pSrc, ULONG nSize ) ++{ ++ /********************** DISABLED *************************/ ++} ++ ++// ------------------------------------------------------------------------ ++ ++void GIFLZWCompressor::EndCompression() ++{ ++ /********************** DISABLED *************************/ ++} diff --git a/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+makefile.mk b/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+makefile.mk new file mode 100644 index 000000000000..dd9e199acc96 --- /dev/null +++ b/editors/openoffice-1.0/files/gifpatch-goodies+source+filter.vcl+egif+makefile.mk @@ -0,0 +1,11 @@ +--- ../goodies/source/filter.vcl/egif/makefile.mk.orig Tue Aug 14 23:22:54 2001 ++++ ../goodies/source/filter.vcl/egif/makefile.mk Mon Apr 14 06:04:55 2003 +@@ -89,7 +89,7 @@ + + SLOFILES= $(SLO)$/egif.obj \ + $(SLO)$/dlgegif.obj \ +- $(SLO)$/giflzwc.obj ++ $(SLO)$/giflzwc_disabled.obj + + + # ========================================================================== -- cgit v1.2.3