pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [HEADS UP] Package removal -- please check



On Sat, Feb 19, 2011 at 11:23:51AM +0900, OBATA Akio wrote:
> It seems that openSUSE and Debian are using imlib2 patch.

Thanks for the pointer.

Could the magicpoint users please try the attached patch?
 Thomas
? magicpoint-imlib2.patch
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/magicpoint/Makefile,v
retrieving revision 1.69
diff -u -r1.69 Makefile
--- Makefile    19 Feb 2011 10:03:18 -0000      1.69
+++ Makefile    19 Feb 2011 10:17:41 -0000
@@ -1,13 +1,14 @@
 # $NetBSD: Makefile,v 1.69 2011/02/19 10:03:18 markd Exp $
 
 DISTNAME=              magicpoint-1.13a
-PKGREVISION=           5
+PKGREVISION=           6
 CATEGORIES=            x11 graphics
 MASTER_SITES=          ftp://sh.wide.ad.jp/WIDE/free-ware/mgp/
 
 MAINTAINER=            pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=              http://member.wide.ad.jp/wg/mgp/
 COMMENT=               X11 based presentation tool
+LICENSE=               modified-bsd
 
 PKG_DESTDIR_SUPPORT=   user-destdir
 
@@ -79,4 +80,3 @@
 .include "../../x11/libXext/buildlink3.mk"
 .include "../../x11/libXmu/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
-# DO NOT DELETE
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/magicpoint/distinfo,v
retrieving revision 1.17
diff -u -r1.17 distinfo
--- distinfo    15 Dec 2010 19:08:21 -0000      1.17
+++ distinfo    19 Feb 2011 10:17:41 -0000
@@ -3,11 +3,11 @@
 SHA1 (magicpoint-1.13a.tar.gz) = 2bc662ad0a482d42578766258a143b06a4718ae3
 RMD160 (magicpoint-1.13a.tar.gz) = 067d7dee3b90ec354975d9ad4ea0c0df48cca191
 Size (magicpoint-1.13a.tar.gz) = 890670 bytes
-SHA1 (patch-aa) = 7270255c2002c66d10ab911ed22ce67067183e17
-SHA1 (patch-ab) = eb6558d6981e5d5f41f55dddc1b3debc9ca27d36
+SHA1 (patch-aa) = 59bc5a8bce25ac27a77ae8d03dd42f354d1d1bff
+SHA1 (patch-ab) = 6622ca95dfcf059d9464f8cc959d23c9c787d8b6
 SHA1 (patch-ac) = b886607033a89e3ab46c41a2a5a8368b473682f4
 SHA1 (patch-ad) = 33c8fa61cb03cb53ad8783d2d79fa457cb21d235
-SHA1 (patch-ae) = ca59b94955f2de6f19ea1e2210ede7eaeba50a95
+SHA1 (patch-ae) = 49aab80a13d7daf99671c69cf62f432c03054dad
 SHA1 (patch-af) = 615e845dfbeba9b35c5a138841962631dac3b4bb
 SHA1 (patch-ag) = 96d7cac9157b9183dd2ba76b12f0927fc15dd5a6
 SHA1 (patch-ai) = 809b2cf509bab0ee1bed1fecb2cf2d8df912ce8b
@@ -29,3 +29,5 @@
 SHA1 (patch-az) = 893ec7e21199205c07933d5525a6eb394114fd11
 SHA1 (patch-ba) = 938e5714ddfcb8ca64d1cc6f756eeb69e592905d
 SHA1 (patch-bb) = 3a6c328adcb49aef0d4792ceff08407fcbc80c16
+SHA1 (patch-image_imlib__loader.c) = 99aa122d4d4f474c448fa2767bee3496ca97110a
+SHA1 (patch-image_xloadimage.h) = 05a1caeedca9c33beecffb8f078270d88fc7184c
Index: options.mk
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/magicpoint/options.mk,v
retrieving revision 1.1
diff -u -r1.1 options.mk
--- options.mk  10 Sep 2008 13:32:47 -0000      1.1
+++ options.mk  19 Feb 2011 10:17:41 -0000
@@ -37,7 +37,7 @@
 CONFIGURE_ARGS+=       --disable-xft2
 .endif
 
-.include "../../graphics/imlib/buildlink3.mk"
+.include "../../graphics/imlib2/buildlink3.mk"
 
 
 #
Index: patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/magicpoint/patches/patch-aa,v
retrieving revision 1.11
diff -u -r1.11 patch-aa
--- patches/patch-aa    10 Sep 2008 13:32:47 -0000      1.11
+++ patches/patch-aa    19 Feb 2011 10:17:41 -0000
@@ -1,7 +1,16 @@
 $NetBSD: patch-aa,v 1.11 2008/09/10 13:32:47 taca Exp $
 
---- configure.orig     2007-12-29 05:31:26.000000000 +0900
+--- configure.orig     2007-12-28 20:31:26.000000000 +0000
 +++ configure
+@@ -1285,7 +1285,7 @@ Optional Features:
+   --enable-freetype-charset16         use freetype for chaset16.
+   --disable-xft2           DON'T use xft2 libraries.
+   --enable-gif            compile gif support in (need libungif).
+-  --enable-imlib          use imlib exclusively to load images.
++  --enable-imlib          use imlib2 exclusively to load images.
+ 
+ Optional Packages:
+   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
 @@ -5090,7 +5090,7 @@ if test "$mgp_use_freetype" = "yes"; the
    # XXX: freetype2 may use freetype-config
        { echo "$as_me:$LINENO: checking for freetype1 library/header" >&5
@@ -118,9 +127,9 @@
 -        LIBS="$LIBS `pkg-config --libs imlib`"
 -        OPTFLAGS="$OPTFLAGS `pkg-config --cflags imlib`"
 -      cat >>confdefs.h <<\_ACEOF
-+  if type pkg-config > /dev/null 2>&1 && pkg-config imlib; then
-+     LIBS="$LIBS `pkg-config --libs imlib`"
-+     OPTFLAGS="$OPTFLAGS `pkg-config --cflags imlib`"
++  if type pkg-config > /dev/null 2>&1 && pkg-config imlib2; then
++     LIBS="$LIBS `pkg-config --libs imlib2`"
++     OPTFLAGS="$OPTFLAGS `pkg-config --cflags imlib2`"
 +     cat >>confdefs.h <<\_ACEOF
  #define USE_IMLIB 1
  _ACEOF
@@ -130,12 +139,71 @@
    else
        { echo "$as_me:$LINENO: checking for Imlib_init in -lImlib" >&5
  echo $ECHO_N "checking for Imlib_init in -lImlib... $ECHO_C" >&6; }
-@@ -7232,7 +7216,7 @@ fi
+@@ -7163,7 +7147,7 @@ if test "${ac_cv_lib_Imlib_Imlib_init+se
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lImlib -L$x_libraries -lX11 -lXext $LIBS"
++LIBS="-lImlib2 -L$x_libraries -lX11 -lXext $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+@@ -7177,11 +7161,11 @@ cat >>conftest.$ac_ext <<_ACEOF
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char Imlib_init ();
++char imlib_load_image ();
+ int
+ main ()
+ {
+-return Imlib_init ();
++return imlib_load_image ();
+   ;
+   return 0;
+ }
+@@ -7220,7 +7204,7 @@ fi
+ echo "${ECHO_T}$ac_cv_lib_Imlib_Imlib_init" >&6; }
+ if test $ac_cv_lib_Imlib_Imlib_init = yes; then
+   imlib_ok=yes
+-              LIBS="$LIBS -lImlib"
++              LIBS="$LIBS -lImlib2"
+               cat >>confdefs.h <<\_ACEOF
+ #define USE_IMLIB 1
+ _ACEOF
+@@ -7232,14 +7216,14 @@ fi
                echo 'FATAL: You need libImlib to use Imlib loading.  pass 
proper LIBS to configure.'
                exit 1
        fi
 -      for i in /usr/pkg /usr/local; do
+-              if test -f $i/include/Imlib.h; then
 +      for i in ${BUILDLINK_DIR}; do
-               if test -f $i/include/Imlib.h; then
++              if test -f $i/include/Imlib2.h; then
                        imlib_h_ok=yes
                        OPTFLAGS="$OPTFLAGS -I$i/include"
+                       break
+               fi
+       done
+-      if test -f /usr/include/Imlib.h; then
++      if test -f /usr/include/Imlib2.h; then
+               imlib_h_ok=yes
+       fi
+       if test "x$gif_h_ok" != "xyes"; then
+@@ -7262,7 +7246,7 @@ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+-#include <Imlib.h>
++#include <Imlib2.h>
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (ac_try="$ac_compile"
+@@ -7302,7 +7286,7 @@ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+-#include <Imlib.h>
++#include <Imlib2.h>
+ _ACEOF
+ if { (ac_try="$ac_cpp conftest.$ac_ext"
+ case "(($ac_try" in
Index: patches/patch-ab
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/magicpoint/patches/patch-ab,v
retrieving revision 1.4
diff -u -r1.4 patch-ab
--- patches/patch-ab    10 Sep 2008 13:32:47 -0000      1.4
+++ patches/patch-ab    19 Feb 2011 10:17:41 -0000
@@ -1,6 +1,6 @@
 $NetBSD: patch-ab,v 1.4 2008/09/10 13:32:47 taca Exp $
 
---- mgp.h.orig 2008-01-19 02:43:20.000000000 +0900
+--- mgp.h.orig 2008-01-18 17:43:20.000000000 +0000
 +++ mgp.h
 @@ -64,7 +64,9 @@
  #ifdef USE_XFT2
@@ -26,6 +26,15 @@
        u_int ct_page;
        struct ctrl *ct_next;
        union {
+@@ -507,7 +515,7 @@ struct render_object {
+                       float xzoom, yzoom;
+ #ifdef USE_IMLIB
+                       int zoomonclk;
+-                      ImlibImage *imimage;
++                      Imlib_Image *imimage;
+ #endif
+               } image;
+               struct {
 @@ -745,6 +753,11 @@ extern int get_regid __P((char *));
  extern void draw_line_itemsize __P((struct render_state *, int, int, int));
  extern void draw_line_start __P((struct render_state *));
Index: patches/patch-ae
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/magicpoint/patches/patch-ae,v
retrieving revision 1.3
diff -u -r1.3 patch-ae
--- patches/patch-ae    10 Sep 2008 13:32:47 -0000      1.3
+++ patches/patch-ae    19 Feb 2011 10:17:41 -0000
@@ -1,7 +1,54 @@
 $NetBSD: patch-ae,v 1.3 2008/09/10 13:32:47 taca Exp $
 
---- draw.c.orig        2008-01-25 00:43:17.000000000 +0900
+--- draw.c.orig        2008-01-24 15:43:17.000000000 +0000
 +++ draw.c
+@@ -31,7 +31,7 @@
+ 
+ #include "mgp.h"
+ #ifdef USE_IMLIB
+-#include <Imlib.h>
++#include <Imlib2.h>
+ #endif
+ 
+ /* state associated with the window - how should we treat this? */
+@@ -83,8 +83,8 @@ static int obj_new_xfont __P((struct ren
+       u_int, char *));
+ static int obj_new_image __P((struct render_state *, int, int, Image *, int, 
int));
+ #ifdef USE_IMLIB
+-ImlibImage *search_imdata __P((char *));
+-static int obj_new_image2 __P((struct render_state *, int, int, Image *, int, 
int, ImlibImage *, int));
++Imlib_Image *search_imdata __P((char *));
++static int obj_new_image2 __P((struct render_state *, int, int, Image *, int, 
int, Imlib_Image *, int));
+ #endif
+ static int obj_new_icon __P((struct render_state *, int, int, u_int, u_int, 
u_long, u_int, XPoint *));
+ static Pixel obj_image_color __P((Image *, Image *, Pixel, int *));
+@@ -168,7 +168,7 @@ static void regist_zimage_position __P((
+ static void clear_zimage __P((int));
+ static void clear_region __P((int, int, int, int));
+ #define ZIMAGENUM 100
+-static ImlibImage *zimage[ZIMAGENUM];
++static Imlib_Image *zimage[ZIMAGENUM];
+ static int zonzoom[ZIMAGENUM];
+ static int zpage[ZIMAGENUM];
+ static int zx[ZIMAGENUM];
+@@ -1819,7 +1819,7 @@ obj_new_image2(state, x, y, image, xzoom
+       int x, y;
+       Image *image;
+       int xzoom, yzoom;
+-      ImlibImage *imimage;
++      Imlib_Image *imimage;
+       int zoomonclk;
+ {
+       struct render_object *obj;
+@@ -3212,7 +3212,7 @@ image_load(state, filename, numcolor, xi
+       static char backfile[MAXPATHLEN];
+       static int backzoom, backnumcolor, backx, backy;
+ #ifdef USE_IMLIB
+-      ImlibImage *imimage;
++      Imlib_Image *imimage;
+ #endif
+ 
+       if (!caching){
 @@ -5243,7 +5243,7 @@ xft_draw_fragment(state, p, len, registr
        static char prefix[3][20] = { "\033$B", "\033$A", "\033$(C"};
        char buf16[1024], *p16;
Index: patches/patch-image_imlib__loader.c
===================================================================
RCS file: patches/patch-image_imlib__loader.c
diff -N patches/patch-image_imlib__loader.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-image_imlib__loader.c 19 Feb 2011 10:17:41 -0000
@@ -0,0 +1,182 @@
+$NetBSD$
+
+imlib2 patch from suse.
+
+--- image/imlib_loader.c.orig  2008-01-16 14:52:14.000000000 +0000
++++ image/imlib_loader.c
+@@ -6,13 +6,14 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/extensions/shape.h>
+-#include <Imlib.h>
++#include <Imlib2.h>
+ 
+ #define IMFILENUM 500
+ static char imfile[IMFILENUM][1024];
+-static ImlibImage *imdata[IMFILENUM];
++static Imlib_Image *imdata[IMFILENUM];
++static Image *imagedata[IMFILENUM];
+ static int imnum;
+-static ImlibData *id;
++static Imlib_Context *id;
+ 
+ int imIdent(char *fullname, char *name)
+ {
+@@ -22,32 +23,71 @@ int imIdent(char *fullname, char *name)
+ Image *imLoad(char *fullname, char *name, unsigned int verbose)
+ {
+       static Display *disp = NULL;
+-      Image *image;
+-      ImlibImage *im;
+-      ImlibColor shape;
+-      unsigned int w,h, size;
+-      ImlibImage *search_imdata();
++      Image *image = NULL;
++      Imlib_Image *im;
++      unsigned int w,h, size, i;
++      DATA32 * argb_data;
++      byte * rgb_ptr;
++      Imlib_Image *search_imdata();
+       void regist_imdata();
+ 
+       if (disp == NULL) {
+               disp=XOpenDisplay(NULL);
+       }
+-      if (id == NULL) id=Imlib_init(disp);
+-      if ((im = search_imdata(fullname)) == NULL) {
+-              im = Imlib_load_image(id, fullname);
++      /*    if (id == NULL) id=Imlib_init(disp); */
++      /* might needs more work */
++      if (id == NULL) {
++              /* dither for non-truecolor displays */
++              imlib_context_set_dither(1);
++              imlib_context_set_display(disp);
++              imlib_context_set_visual(DefaultVisual(disp, 
DefaultScreen(disp)));
++              imlib_context_set_colormap(DefaultColormap(disp, 
DefaultScreen(disp)));
++      }
++      if ((im = search_imdata(fullname), image) == NULL) {
++              /* im = Imlib_load_image(id, fullname); */
++              im = imlib_load_image(fullname);
+       }
+       if (im == NULL) {
+               return NULL;
+       }
+-      w = im->rgb_width;
+-      h = im->rgb_height;
+-      size = w * h * 3;
+-
+-      image = newTrueImage(w, h);
+-      memcpy(image->data, im->rgb_data, size);
+-      
+-      Imlib_get_image_shape(id, im, &shape);
+-
++      imlib_context_set_image(im);
++      w = imlib_image_get_width();
++      h = imlib_image_get_height();
++      size = w * h;
++
++      if (image == NULL) image = newTrueImage(w, h);
++
++      /* Imlib2 stores images in ARGB format (32 bpp).  MagicPoint
++       * wants RGB data (24 bpp). So we need a conversion pass. */
++      argb_data = imlib_image_get_data_for_reading_only();
++      rgb_ptr = image->data;
++      for (i = 0; i < size; ++i)
++      {
++              if ((argb_data[i] >> 24) < 128)
++              {
++                      /* If this is a transparent pixel, we store #FE00FE. */
++                      *rgb_ptr++ = 0xFE;
++                      *rgb_ptr++ = 0x00;
++                      *rgb_ptr++ = 0xFE;
++                      /* Tell mgp we have transparent pixels. */
++                      image->trans = 0xFE00FE;
++              }
++              else if ((argb_data[i] & 0x00FFFFFF) == 0x00FE00FE)
++              {
++              /* If that color is actually used, we substitute something 
close. */
++              *rgb_ptr++ = 0xFF;
++              *rgb_ptr++ = 0x00;
++              *rgb_ptr++ = 0xFE;
++              }
++              else
++              {
++                      /* Otherwise, we can copy the pixel. */
++                      *rgb_ptr++ = (argb_data[i] >> 16) & 0xFF; /* red */
++                      *rgb_ptr++ = (argb_data[i] >> 8) & 0xFF;  /* green */
++                      *rgb_ptr++ = argb_data[i] & 0xFF;         /* blue */
++              }
++      }
++#if 0
+       /*
+        * bug fix for transparent gif handling
+        * suggested by Jose Geraldo Alves Brito Neto 
<jgabrito%iq.usp.br@localhost>
+@@ -57,44 +97,52 @@ Image *imLoad(char *fullname, char *name
+           ((shape.r & 0xff) << 16) |
+           ((shape.g & 0xff) <<  8) |
+           ((shape.b & 0xff) <<  0);
++#endif
+ 
+       image->title = dupString(name);
+ #if 0
+       Imlib_kill_image(id, im);
+ #else
+-      regist_imdata(name, im);
++      regist_imdata(name, im, image);
+ #endif
+       
+       return image;
+ }
+ 
+-ImlibImage *search_imdata(char *fullname)
++Imlib_Image *search_imdata(char *fullname, Image *image)
+ {
+       int i;
+       for (i = 0; i < imnum; i ++){
+               if (!strcmp(imfile[i], fullname)) {
++                      image = imagedata[i];
+                       return imdata[i];
+               }
+       }
+       return NULL;
+ }
+ 
+-void regist_imdata(fullname, im)
++void regist_imdata(fullname, im, image)
+       char *fullname; 
+-      ImlibImage *im;
++      Imlib_Image *im;
++      Image *image;
+ {
+       strcpy(imfile[imnum], fullname);        
+       imdata[imnum] = im;
++      imagedata[imnum] = image;
+       imnum ++;
+ }
+ 
+ Pixmap pixmap_fromimimage(imimage, width, height)
+-      ImlibImage *imimage;
++      Imlib_Image *imimage;
+       int width, height;
+ {
+       static Pixmap pixmap;
++#if 0
+       Imlib_render(id, imimage, width, height);
+       pixmap = Imlib_move_image(id, imimage);
++#else
++      imlib_render_pixmaps_for_whole_image_at_size(&pixmap, NULL, width, 
height);
++#endif
+ 
+       return pixmap;
+ }
+@@ -125,8 +173,8 @@ manage_pixmap(pixmap, add, page)
+               ppage[i] = page;
+       } else {
+               for (i = 0; i < MAXPMAP; i ++) {
+-                      if (ppage[i] == page){
+-                              Imlib_free_pixmap(id, pmap[i]);
++                      if (ppage[i] == page && pmap[i] != 0){
++                              imlib_free_pixmap_and_mask(pmap[i]);
+                               pmap[i] = 0;
+                       }
+               }
Index: patches/patch-image_xloadimage.h
===================================================================
RCS file: patches/patch-image_xloadimage.h
diff -N patches/patch-image_xloadimage.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-image_xloadimage.h    19 Feb 2011 10:17:41 -0000
@@ -0,0 +1,15 @@
+$NetBSD$
+
+imlib2 patch from suse.
+
+--- image/xloadimage.h.orig    2007-12-28 20:31:26.000000000 +0000
++++ image/xloadimage.h
+@@ -16,7 +16,7 @@
+ #include "options.h"
+ 
+ #ifdef USE_IMLIB
+-#include <Imlib.h>
++#include <Imlib2.h>
+ #endif
+ 
+ /* image name and option structure used when processing arguments


Home | Main Index | Thread Index | Old Index