ports/74489: Fix graphics/pixieplus with new ImageMagick

Arjan van Leeuwen avleeuwen at piwebs.com
Sun Nov 28 21:10:26 UTC 2004


>Number:         74489
>Category:       ports
>Synopsis:       Fix graphics/pixieplus with new ImageMagick
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 28 21:10:25 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Arjan van Leeuwen
>Release:        FreeBSD 6.0-CURRENT amd64
>Organization:
>Environment:


System: FreeBSD 6.0-CURRENT #0: Sun Nov 28 16:49:32 CET 2004
    root at vincent.piwebs.com:/usr/obj/usr/src/sys/VINCENT



>Description:


This patch updates graphics/pixieplus to fix
compilation against the new ImageMagick version
(see ports/74487). 


>How-To-Repeat:





>Fix:


--- pixieplus.diff begins here ---
diff -urN /usr/ports/graphics/pixieplus/Makefile pixieplus/Makefile
--- /usr/ports/graphics/pixieplus/Makefile	Sun Jul 11 23:44:43 2004
+++ pixieplus/Makefile	Sun Nov 28 21:46:40 2004
@@ -7,13 +7,14 @@
 
 PORTNAME=	pixieplus
 PORTVERSION=	0.5.4.1
+PORTREVISION=	1
 CATEGORIES=	graphics kde
 MASTER_SITES=	http://people.fruitsalad.org/avleeuwen/distfiles/${PORTNAME}/
 
 MAINTAINER=	avleeuwen at piwebs.com
 COMMENT=	A free, fast, and feature packed image browser and viewer for KDE
 
-LIB_DEPENDS=	Magick.6:${PORTSDIR}/graphics/ImageMagick \
+LIB_DEPENDS=	Magick.7:${PORTSDIR}/graphics/ImageMagick \
 		ungif.5:${PORTSDIR}/graphics/libungif
 
 GNU_CONFIGURE=	yes
@@ -28,5 +29,10 @@
 .if ${OSVERSION} < 500000
 BROKEN=		"Does not compile on 4.x"
 .endif
+
+post-patch:
+	@${CP} ${FILESDIR}/blob_private.h ${WRKSRC}/app/
+	@${CP} ${FILESDIR}/exception_private.h ${WRKSRC}/app/
+	@${CP} ${FILESDIR}/image_private.h ${WRKSRC}/app/
 
 .include <bsd.port.post.mk>
diff -urN /usr/ports/graphics/pixieplus/files/blob_private.h pixieplus/files/blob_private.h
--- /usr/ports/graphics/pixieplus/files/blob_private.h	Thu Jan  1 01:00:00 1970
+++ pixieplus/files/blob_private.h	Sun Nov 28 21:33:36 2004
@@ -0,0 +1,102 @@
+/*
+  Copyright 1999-2004 ImageMagick Studio LLC, a non-profit organization
+  dedicated to making software imaging solutions freely available.
+  
+  You may not use this file except in compliance with the License.
+  obtain a copy of the License at
+  
+    http://www.imagemagick.org/www/Copyright.html
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  ImageMagick Binary Large OBjects private methods.
+*/
+#ifndef _MAGICK_BLOB_PRIVATE_H
+#define _MAGICK_BLOB_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+#include "magick/image.h"
+#include "magick/stream.h"
+
+#if !defined(MagickMaxBufferSize)
+#define MagickMaxBufferSize  0x3c005UL
+#endif
+
+typedef enum
+{
+  UndefinedBlobMode,
+  ReadBlobMode,
+  ReadBinaryBlobMode,
+  WriteBlobMode,
+  WriteBinaryBlobMode,
+  IOBinaryBlobMode
+} BlobMode;
+
+typedef int
+  *(*BlobFifo)(const Image *,const void *,const size_t);
+
+typedef struct _BlobInfo
+  BlobInfo;
+
+extern MagickExport BlobInfo
+  *CloneBlobInfo(const BlobInfo *),
+  *ReferenceBlob(BlobInfo *);
+
+extern MagickExport char
+  *ReadBlobString(Image *,char *);
+
+extern MagickExport int
+  EOFBlob(const Image *),
+  ReadBlobByte(Image *),
+  SyncBlob(Image *);
+
+extern MagickExport  MagickBooleanType
+  OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
+  UnmapBlob(void *,const size_t);
+
+extern MagickExport MagickOffsetType
+  SeekBlob(Image *,const MagickOffsetType,const int),
+  TellBlob(const Image *image);
+
+extern MagickExport ssize_t
+  ReadBlob(Image *,const size_t,unsigned char *),
+  WriteBlob(Image *,const size_t,const unsigned char *),
+  WriteBlobByte(Image *,const unsigned char),
+  WriteBlobLSBLong(Image *,const unsigned long),
+  WriteBlobLSBShort(Image *,const unsigned short),
+  WriteBlobMSBLong(Image *,const unsigned long),
+  WriteBlobMSBShort(Image *,const unsigned short),
+  WriteBlobString(Image *,const char *);
+
+extern MagickExport unsigned char
+  *DetachBlob(BlobInfo *),
+  *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
+  *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
+
+extern MagickExport unsigned long
+  ReadBlobLSBLong(Image *),
+  ReadBlobMSBLong(Image *);
+
+extern MagickExport unsigned short
+  ReadBlobLSBShort(Image *),
+  ReadBlobMSBShort(Image *);
+
+extern MagickExport void
+  AttachBlob(BlobInfo *,const void *,const size_t),
+  CloseBlob(Image *),
+  GetBlobInfo(BlobInfo *),
+  MSBOrderLong(unsigned char *,const size_t),
+  MSBOrderShort(unsigned char *,const size_t);
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
diff -urN /usr/ports/graphics/pixieplus/files/exception_private.h pixieplus/files/exception_private.h
--- /usr/ports/graphics/pixieplus/files/exception_private.h	Thu Jan  1 01:00:00 1970
+++ pixieplus/files/exception_private.h	Sun Nov 28 21:36:37 2004
@@ -0,0 +1,92 @@
+/*
+  Copyright 1999-2004 ImageMagick Studio LLC, a non-profit organization
+  dedicated to making software imaging solutions freely available.
+  
+  You may not use this file except in compliance with the License.
+  obtain a copy of the License at
+  
+    http://www.imagemagick.org/www/Copyright.html
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  ImageMagick private exception methods.
+*/
+#ifndef _MAGICK_EXCEPTION_PRIVATE_H
+#define _MAGICK_EXCEPTION_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+#include "magick/log.h"
+
+#define ThrowBinaryException(severity,tag,context) \
+{ \
+  if (image != (Image *) NULL) \
+    (void) ThrowMagickException(&image->exception,GetMagickModule(),severity, \
+      tag,context); \
+  return(MagickFalse); \
+}
+#define ThrowFileException(exception,severity,tag,context) \
+  (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \
+    context,strerror(errno));
+#define ThrowImageException(severity,tag) \
+{ \
+  (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \
+    image->filename); \
+  return((Image *) NULL); \
+}
+#define ThrowMagickFatalException(severity,tag,context) \
+{ \
+  ExceptionInfo \
+    exception; \
+ \
+  GetExceptionInfo(&exception); \
+  (void) ThrowMagickException(&exception,GetMagickModule(),severity,tag, \
+    context); \
+  CatchException(&exception); \
+  DestroyExceptionInfo(&exception); \
+}
+#define ThrowReaderException(severity,tag) \
+{ \
+  (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \
+    image_info->filename); \
+  if ((image) != (Image *) NULL) \
+    { \
+      CloseBlob(image); \
+      DestroyImageList(image); \
+    } \
+  return((Image *) NULL); \
+}
+#define ThrowWriterException(severity,tag) \
+{ \
+  assert(image != (Image *) NULL); \
+  (void) ThrowMagickException(&image->exception,GetMagickModule(),severity, \
+    tag,image->filename); \
+  if (image_info->adjoin != MagickFalse) \
+    while (image->previous != (Image *) NULL) \
+      image=image->previous; \
+  CloseBlob(image); \
+  return(MagickFalse); \
+}
+#define ThrowXWindowException(severity,tag,context) \
+{ \
+  ExceptionInfo \
+    exception; \
+ \
+  GetExceptionInfo(&exception); \
+  (void) ThrowMagickException(&exception,GetMagickModule(),severity,tag, \
+    context); \
+  CatchException(&exception); \
+  DestroyExceptionInfo(&exception); \
+}
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
diff -urN /usr/ports/graphics/pixieplus/files/image_private.h pixieplus/files/image_private.h
--- /usr/ports/graphics/pixieplus/files/image_private.h	Thu Jan  1 01:00:00 1970
+++ pixieplus/files/image_private.h	Sun Nov 28 21:35:24 2004
@@ -0,0 +1,47 @@
+/*
+  Copyright 1999-2004 ImageMagick Studio LLC, a non-profit organization
+  dedicated to making software imaging solutions freely available.
+  
+  You may not use this file except in compliance with the License.
+  obtain a copy of the License at
+  
+    http://www.imagemagick.org/www/Copyright.html
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  ImageMagick private image methods.
+*/
+#ifndef _MAGICK_IMAGE_PRIVATE_H
+#define _MAGICK_IMAGE_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+extern MagickExport const char
+  *BackgroundColor,
+  *BorderColor,
+  *DefaultTileFrame,
+  *DefaultTileGeometry,
+  *DefaultTileLabel,
+  *ForegroundColor,
+  *MatteColor,
+  *LoadImageTag,
+  *LoadImagesTag,
+  *PSDensityGeometry,
+  *PSPageGeometry,
+  *SaveImageTag,
+  *SaveImagesTag;
+
+extern MagickExport const unsigned long
+  UndefinedCompressionQuality;
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
diff -urN /usr/ports/graphics/pixieplus/files/patch-app_compressedgif.cpp pixieplus/files/patch-app_compressedgif.cpp
--- /usr/ports/graphics/pixieplus/files/patch-app_compressedgif.cpp	Thu Jan  1 01:00:00 1970
+++ pixieplus/files/patch-app_compressedgif.cpp	Sun Nov 28 21:42:52 2004
@@ -0,0 +1,13 @@
+--- app/compressedgif.cpp.orig	Sat May 22 16:02:26 2004
++++ app/compressedgif.cpp	Sun Nov 28 21:37:00 2004
+@@ -9,6 +9,10 @@
+ #include <api.h>
+ #include <assert.h>
+ 
++#include "blob_private.h"
++#include "image_private.h"
++#include "exception_private.h"
++
+ #ifndef False
+ #define False 0
+ #endif
--- pixieplus.diff ends here ---



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



More information about the freebsd-ports-bugs mailing list