FreeBSD Bugzilla – Attachment 253517 Details for
Bug 281458
x11/xfishtank: update to 2.5
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
xfishtank patch
xfishtank-2.5.patch (text/plain), 14.41 KB, created by
Rodrigo Osorio
on 2024-09-12 12:04:08 UTC
(
hide
)
Description:
xfishtank patch
Filename:
MIME Type:
Creator:
Rodrigo Osorio
Created:
2024-09-12 12:04:08 UTC
Size:
14.41 KB
patch
obsolete
>diff --git a/x11/xfishtank/Makefile b/x11/xfishtank/Makefile >index a99561d21b2c..0700320bf7e8 100644 >--- a/x11/xfishtank/Makefile >+++ b/x11/xfishtank/Makefile >@@ -1,18 +1,23 @@ > PORTNAME= xfishtank >-PORTVERSION= 2.2 >-PORTREVISION= 2 >+PORTVERSION= 2.5 > CATEGORIES= x11 >-MASTER_SITES= http://cyber.dabamos.de/pub/distfiles/ >+DISTNAME= xfishtank_2.5.orig >+MASTER_SITES= DEBIAN >+MASTER_SITE_SUBDIR= pool/main/x/xfishtank/ >+ >+LIB_DEPENDS= libImlib2.so:graphics/imlib2 > > MAINTAINER= kidon@posteo.de > COMMENT= Make fish swim in the background of your screen > >-PLIST_FILES= bin/xfishtank >+PLIST_FILES= bin/xfishtank share/man/man1/xfishtank.1.gz > USES= imake xorg > USE_XORG= x11 xext >-WRKSRC= ${WRKDIR}/xfishtank2.0 >+WRKSRC= ${WRKDIR}/xfishtank-2.5 > >-post-patch: >- cd ${WRKDIR}/xfishtank2.0; make clean >+pre-build: >+ ${CC} ${WRKSRC}/makeh.c -o ${WRKSRC}/makeh >+#post-patch: >+# cd ${WRKSRC} ; make clean > > .include <bsd.port.mk> >diff --git a/x11/xfishtank/distinfo b/x11/xfishtank/distinfo >index a59a8729a7f5..69a550299e53 100644 >--- a/x11/xfishtank/distinfo >+++ b/x11/xfishtank/distinfo >@@ -1,2 +1,3 @@ >-SHA256 (xfishtank-2.2.tar.gz) = 4391228c074fccd73a9ea8332e090e92d79ba27f9e63693035f392387d03122c >-SIZE (xfishtank-2.2.tar.gz) = 360031 >+TIMESTAMP = 1726130557 >+SHA256 (xfishtank_2.5.orig.tar.gz) = bd8ce3c4e7adb0e62b294de307972c0d5e2a442b094c178a3be084e3e26a08e0 >+SIZE (xfishtank_2.5.orig.tar.gz) = 153554 >diff --git a/x11/xfishtank/files/patch-Imakefile b/x11/xfishtank/files/patch-Imakefile >index a9221720b1f4..07f5eac74ee5 100644 >--- a/x11/xfishtank/files/patch-Imakefile >+++ b/x11/xfishtank/files/patch-Imakefile >@@ -1,17 +1,9 @@ >---- Imakefile.orig 1992-12-16 00:04:35 UTC >+--- Imakefile.orig 2024-09-12 10:01:24 > +++ Imakefile >-@@ -2,12 +2,12 @@ >- LOCAL_LIBRARIES = $(XLIB) >+@@ -1,5 +1,5 @@ >+ EXTRA_INCLUDES = -I./fishmaps >+-LOCAL_LIBRARIES = $(XLIB) >++LOCAL_LIBRARIES = $(XLIB) -L /usr/local/lib > DEPLIBS = $(DEPXLIB) >- SYS_LIBRARIES = -lm >-- CDEBUGFLAGS = -g >-+XCOMM CDEBUGFLAGS = -g >- >- SRCS = xfish.c medcut.c read.c gifread.c >- OBJS = xfish.o medcut.o read.o gifread.o >- >--ComplexProgramTarget(xfishtank) >-+ComplexProgramTargetNoMan(xfishtank) >- >- xfishy.h: makeh FishList >- ./makeh > xfishy.h >+ SYS_LIBRARIES = -lImlib2 -lm >+ MANSRCSUFFIX = 1x >diff --git a/x11/xfishtank/files/patch-makeh.c b/x11/xfishtank/files/patch-makeh.c >new file mode 100644 >index 000000000000..d9340a12e5f3 >--- /dev/null >+++ b/x11/xfishtank/files/patch-makeh.c >@@ -0,0 +1,11 @@ >+--- makeh.c.orig 2024-09-12 09:44:33 UTC >++++ makeh.c >+@@ -16,7 +16,7 @@ >+ printf("};\n\n"); >+ } >+ >+-main() >++int main() >+ { >+ FILE *fp; >+ char prefix[BUFSIZ]; >diff --git a/x11/xfishtank/files/patch-medcut.c b/x11/xfishtank/files/patch-medcut.c >new file mode 100644 >index 000000000000..e958b7c739fa >--- /dev/null >+++ b/x11/xfishtank/files/patch-medcut.c >@@ -0,0 +1,166 @@ >+--- medcut.c.orig 2013-08-09 11:59:28 UTC >++++ medcut.c >+@@ -40,10 +40,8 @@ >+ int NCells; >+ struct color_rec *Tptr; >+ >+- >+ void >+-InitMinMax(boxnum) >+-int boxnum; >++InitMinMax(int boxnum) >+ { >+ C_boxes[boxnum].min_pix[RED] = 256; >+ C_boxes[boxnum].max_pix[RED] = 0; >+@@ -55,8 +53,7 @@ >+ >+ >+ struct color_rec * >+-AddHash(red, green, blue) >+-int red, green, blue; >++AddHash(int red, int green, int blue) >+ { >+ int lum; >+ >+@@ -78,9 +75,7 @@ >+ >+ >+ void >+-AddColor(cptr, boxnum) >+-struct color_rec *cptr; >+-int boxnum; >++AddColor(struct color_rec *cptr, int boxnum) >+ { >+ struct color_rec *ptr; >+ >+@@ -107,9 +102,7 @@ >+ >+ >+ void >+-CountColors(data, colrs) >+-unsigned char *data; >+-struct colr_data *colrs; >++CountColors(unsigned char *data, struct colr_data *colrs) >+ { >+ unsigned char *dptr; >+ register int i, j; >+@@ -142,8 +135,7 @@ >+ >+ >+ int >+-FindTarget(tptr) >+-int *tptr; >++FindTarget(int *tptr) >+ { >+ int range, i, indx; >+ >+@@ -175,8 +167,7 @@ >+ >+ >+ void >+-SplitBox(boxnum, color_indx) >+-int boxnum, color_indx; >++SplitBox(int boxnum,int color_indx) >+ { >+ struct color_rec *low, *high; >+ struct color_rec *data; >+@@ -245,8 +236,7 @@ >+ >+ >+ void >+-SplitColors(e_cnt) >+-int e_cnt; >++SplitColors(int e_cnt) >+ { >+ if (ColorCnt < e_cnt) { >+ int i; >+@@ -279,8 +269,7 @@ >+ * Colors passed in 0-65535, internally are 0-255 >+ */ >+ void >+-ConvertColor(rp, gp, bp) >+-int *rp, *gp, *bp; >++ConvertColor(int *rp, int *gp, int *bp) >+ { >+ struct color_rec *cptr; >+ register struct color_rec *hash_ptr; >+@@ -321,9 +310,7 @@ >+ >+ >+ void >+-ConvertData(data, colrs) >+-unsigned char *data; >+-struct colr_data *colrs; >++ConvertData( unsigned char *data, struct colr_data *colrs) >+ { >+ unsigned char *dptr; >+ register int i, j; >+@@ -349,9 +336,7 @@ >+ >+ >+ void >+-PrintColormap(e_cnt, colrs) >+-int e_cnt; >+-struct colr_data *colrs; >++PrintColormap( int e_cnt, struct colr_data *colrs) >+ { >+ int i; >+ >+@@ -382,11 +367,7 @@ >+ >+ >+ void >+-MedianCut(data, w, h, colrs, start_cnt, end_cnt) >+-unsigned char *data; >+-int *w, *h; >+-struct colr_data *colrs; >+-int start_cnt, end_cnt; >++MedianCut(unsigned char *data, int *w, int *h, struct colr_data *colrs, int start_cnt, int end_cnt) >+ { >+ int i; >+ >+@@ -440,10 +421,7 @@ >+ * 0-255. >+ */ >+ void >+-MedianCount(data, w, h, colrs) >+-unsigned char *data; >+-int w, h; >+-struct colr_data *colrs; >++MedianCount( unsigned char *data, int w, int h, struct colr_data *colrs) >+ { >+ unsigned char *dptr; >+ register int i, j; >+@@ -472,8 +450,7 @@ >+ >+ >+ void >+-MedianSplit(end_cnt) >+-int end_cnt; >++MedianSplit(int end_cnt) >+ { >+ C_boxes[0].count = ColorCnt; >+ SplitColors(end_cnt); >+@@ -481,10 +458,7 @@ >+ >+ >+ void >+-MedianConvert(data, w, h, colrs) >+-unsigned char *data; >+-int w, h; >+-struct colr_data *colrs; >++MedianConvert(unsigned char *data, int w, int h, struct colr_data *colrs) >+ { >+ Width = w; >+ Height = h; >+@@ -493,9 +467,7 @@ >+ >+ >+ void >+-MedianMerge(colrs, end_cnt) >+-struct colr_data *colrs; >+-int end_cnt; >++MedianMerge(struct colr_data *colrs, int end_cnt) >+ { >+ int i; >+ >diff --git a/x11/xfishtank/files/patch-medcut.h b/x11/xfishtank/files/patch-medcut.h >new file mode 100644 >index 000000000000..a4f1b66bf6c4 >--- /dev/null >+++ b/x11/xfishtank/files/patch-medcut.h >@@ -0,0 +1,12 @@ >+--- medcut.h.orig 2013-08-09 11:59:28 UTC >++++ medcut.h >+@@ -4,6 +4,6 @@ >+ }; >+ >+ extern void MedianInit(); >+-extern void MedianCount(); >+-extern void MedianSplit(); >+-extern void ConvertColor(); >++extern void MedianCount( unsigned char *data, int w, int h, struct colr_data *colrs); >++extern void MedianSplit(int end_cnt); >++extern void ConvertColor(int *rp, int *gp, int *bp); >diff --git a/x11/xfishtank/files/patch-xfish.c b/x11/xfishtank/files/patch-xfish.c >deleted file mode 100644 >index 0b1d735df38c..000000000000 >--- a/x11/xfishtank/files/patch-xfish.c >+++ /dev/null >@@ -1,323 +0,0 @@ >---- xfish.c.orig 1992-12-17 21:26:17 UTC >-+++ xfish.c >-@@ -11,6 +11,8 @@ >- >- * Ported to monocrome by Jonathan Greenblatt (jonnyg@rover.umd.edu) >- >-+ * 05/02/1996 Added TrueColor support by TJ Phan (phan@aur.alcatel.com) >-+ >- TODO: >- >- Parameter parsing needs to be redone. >-@@ -46,13 +48,24 @@ >- >- /* constants are based on rand(3C) returning an integer between 0 and 32767 */ >- >--#if defined(ultrix) || defined(sun) || defined(linux) >-+#if defined(ultrix) || defined(sun) >- #define RAND_I_1_16 134217728 >- #define RAND_F_1_8 268435455.875 >- #define RAND_I_1_4 536870911 >- #define RAND_I_1_2 1073741823 >- #define RAND_I_3_4 1610612735 >- #define RAND_F_MAX 2147483647.0 >-+#else >-+#if defined(__FreeBSD__) || defined(__OpenBSD__) >-+#include <stdlib.h> >-+#include <unistd.h> >-+ >-+#define RAND_I_1_16 (RAND_MAX>>4) >-+#define RAND_F_1_8 ((float)(RAND_MAX>>3)) >-+#define RAND_I_1_4 (RAND_MAX>>2) >-+#define RAND_I_1_2 (RAND_MAX>>1) >-+#define RAND_I_3_4 ((RAND_MAX>>2)*3) >-+#define RAND_F_MAX ((float)RAND_MAX) >- #else >- #define RAND_I_1_16 2048 >- #define RAND_F_1_8 4096.0 >-@@ -61,8 +74,8 @@ >- #define RAND_I_3_4 24575 >- #define RAND_F_MAX 32767.0 >- #endif >-+#endif >- >-- >- extern unsigned char *ReadBitmap(); >- >- >-@@ -850,6 +863,10 @@ putbubble(b, s, c) >- * Find the closest color by allocating it, or picking an already allocated >- * color >- */ >-+Visual (*visual_info) = NULL; >-+int r_mask, g_mask, b_mask; >-+int r_shift=0, g_shift=0, b_shift=0; >-+int r_bits=0, g_bits=0, b_bits=0; >- void >- FindColor(Dpy, colormap, colr) >- Display *Dpy; >-@@ -862,6 +879,58 @@ FindColor(Dpy, colormap, colr) >- XColor def_colrs[256]; >- int NumCells; >- >-+ if( visual_info == NULL && DefaultDepth(Dpy, DefaultScreen(Dpy)) >= 16 ) >-+ { >-+ visual_info = DefaultVisual(Dpy, DefaultScreen(Dpy)); >-+ r_mask = visual_info->red_mask; >-+ while( !(r_mask & 1) ) >-+ { >-+ r_mask >>= 1; >-+ r_shift++; >-+ } >-+ while( r_mask & 1 ) >-+ { >-+ r_mask >>= 1; >-+ r_bits++; >-+ } >-+ >-+ g_mask = visual_info->green_mask; >-+ while( !(g_mask & 1) ) >-+ { >-+ g_mask >>= 1; >-+ g_shift++; >-+ } >-+ while( g_mask & 1 ) >-+ { >-+ g_mask >>= 1; >-+ g_bits++; >-+ } >-+ >-+ b_mask = visual_info->blue_mask; >-+ while( !(b_mask &1) ) >-+ { >-+ b_mask >>= 1; >-+ b_shift++; >-+ } >-+ while( b_mask & 1 ) >-+ { >-+ b_mask >>= 1; >-+ b_bits++; >-+ } >-+ } >-+ >-+ if( DefaultDepth(Dpy, DefaultScreen(Dpy)) > 8 ) >-+ { >-+ colr->red >>= 16 - r_bits; >-+ colr->green >>= 16 - g_bits; >-+ colr->blue >>= 16 - b_bits; >-+ >-+ colr->pixel = ((colr->red << r_shift) & visual_info->red_mask) | >-+ ((colr->green << g_shift) & visual_info->green_mask) | >-+ ((colr->blue << b_shift) & visual_info->blue_mask); >-+ return; >-+ } >-+ >- if (AllocCnt < climit) >- { >- match = XAllocColor(Dpy, colormap, colr); >-@@ -982,7 +1051,6 @@ init_colormap() >- XColor hdef, edef; >- struct colr_data *cdp; >- struct colr_data colrs[256]; >-- extern char *malloc(); >- >- colormap = XDefaultColormap(Dpy, screen); >- >-@@ -1151,6 +1219,7 @@ MakeImage(data, width, height) >- fprintf(stderr, "Don't know how to format image for display of depth %d\n", depth); >- exit(1); >- } >-+ >- if (BitmapBitOrder(Dpy) == LSBFirst) >- { >- shiftstart = 0; >-@@ -1194,7 +1263,8 @@ MakeImage(data, width, height) >- } >- } >- } >-- bytesperline = (width + linepad) * depth / 8; >-+ >-+ bytesperline = (width * depth / 8 + linepad); >- newimage = XCreateImage(Dpy, DefaultVisual(Dpy, screen), depth, >- ZPixmap, 0, (char *)bit_data, >- (width + linepad), height, 8, bytesperline); >-@@ -1218,7 +1288,6 @@ init_pixmap() >- unsigned char *data; >- register int i, j, k; >- int cnt, wcnt; >-- extern char *malloc(); >- >- cnt = 1; >- cnt += Pcnt; >-@@ -1341,9 +1410,14 @@ init_pixmap() >- free((char *)data); >- } >- >-+ if( DisplayPlanes(Dpy, screen) < 8 ) >-+ { >-+ >- j = rwidth[k] * rheight[k]; >- x1A = (caddrt) malloc(rwidth[k] * rheight[k]); >- p = (caddrt) xfishRasterA[k]; >-+ >-+ >- q = x1A; >- for (i = 0; i < j; i++) >- { >-@@ -1389,8 +1463,69 @@ init_pixmap() >- xfishB[k][2] = MakeImage(x1B, rwidth[k], rheight[k]); >- xfishB[k][1] = MakeImage(x2B, rwidth[k], rheight[k]); >- >-+ free((char *)x1A); >-+ free((char *)x2A); >-+ free((char *)x1B); >-+ free((char *)x2B); >-+ >-+ } >-+ else >-+ { >- i = DisplayPlanes(Dpy, screen); >- >-+ xfishA[k][2] = XGetImage(Dpy, DefaultRootWindow(Dpy), 0, 0, rwidth[k], rheight[k], 0, ZPixmap); >-+ >-+ p = (caddrt) xfishRasterA[k]; >-+ >-+ for (j = 0; j < rheight[k]; j++) >-+ { >-+ for( i = 0; i < rwidth[k]; i++ ) >-+ { >-+ XPutPixel(xfishA[k][2], i, j, cmap[cnt + (int)(*p)]); >-+ p++; >-+ } >-+ } >-+ >-+ xfishB[k][2] = XGetImage(Dpy, DefaultRootWindow(Dpy), 0, 0, rwidth[k], rheight[k], 0, ZPixmap); >-+ >-+ p = (caddrt) xfishRasterB[k]; >-+ >-+ for (j = 0; j < rheight[k]; j++) >-+ { >-+ for( i = 0; i < rwidth[k]; i++ ) >-+ { >-+ XPutPixel(xfishB[k][2], i, j, cmap[cnt + (int)(*p)]); >-+ p++; >-+ } >-+ } >-+ >-+ xfishA[k][1] = XGetImage(Dpy, DefaultRootWindow(Dpy), 0, 0, rwidth[k], rheight[k], 0, ZPixmap); >-+ >-+ for (j = 0; j < rheight[k]; j++) >-+ { >-+ for( i = 0; i < rwidth[k]; i++ ) >-+ { >-+ XPutPixel(xfishA[k][1], i, j, >-+ XGetPixel(xfishA[k][2], rwidth[k] - i -1, j)); >-+ } >-+ } >-+ >-+ xfishB[k][1] = XGetImage(Dpy, DefaultRootWindow(Dpy), 0, 0, rwidth[k], rheight[k], 0, ZPixmap); >-+ >-+ for (j = 0; j < rheight[k]; j++) >-+ { >-+ for( i = 0; i < rwidth[k]; i++ ) >-+ { >-+ XPutPixel(xfishB[k][1], i, j, >-+ XGetPixel(xfishB[k][2], rwidth[k] - i - 1, j)); >-+ } >-+ } >-+ >-+ } >-+ >-+ >-+ i = DisplayPlanes(Dpy, screen); >-+ >- pfishA[k][1] = XCreatePixmap(Dpy, wid, >- rwidth[k], rheight[k], i); >- pfishA[k][2] = XCreatePixmap(Dpy, wid, >-@@ -1400,11 +1535,6 @@ init_pixmap() >- pfishB[k][2] = XCreatePixmap(Dpy, wid, >- rwidth[k], rheight[k], i); >- >-- free((char *)x1A); >-- free((char *)x2A); >-- free((char *)x1B); >-- free((char *)x2B); >-- >- if (pfishA[k][1]) >- { >- XPutImage(Dpy, pfishA[k][1], gc, xfishA[k][1], 0, 0, >-@@ -1465,34 +1595,6 @@ Initialize signal so that SIGUSR1 causes secure mode t >- void >- init_signals() >- { >-- int ret; >--#ifdef linux >-- signal(SIGUSR1, toggle_secure); >--#else >--#if defined(MOTOROLA) || defined(SCO) >-- sigset(SIGUSR1, toggle_secure); >--#else >-- struct sigvec vec; >-- >-- vec.sv_handler = toggle_secure; >-- vec.sv_mask = 0; >-- vec.sv_onstack = 0; >-- >--#ifndef hpux >-- ret = sigvec(SIGUSR1, &vec, &vec); >-- if (ret != 0) >-- { >-- fprintf(stderr, "sigvec call failed\n"); >-- } >-- else >-- { >-- fprintf(stderr, "sigvec call OK\n"); >-- } >--#else >-- sigvector(SIGUSR1, &vec, &vec); >--#endif >--#endif /* MOTOROLA */ >--#endif /* LINUX */ >- } >- >- >-@@ -1505,7 +1607,6 @@ initialize() >- XWindowAttributes winfo; >- XSetWindowAttributes attr; >- XGCValues vals; >-- extern char *malloc(); >- XSizeHints xsh; >- XImage *pimage; >- int i, size, cnt; >-@@ -1613,13 +1714,12 @@ if ((!DoClipping)||(picname[0] != '\0')) >- xsh.height = height; >- XSetNormalHints(Dpy, wid, &xsh); >- >-+ XMapWindow(Dpy, wid); >- if (picname[0] != '\0') >- { >- XPutImage(Dpy, PicMap, gc, pimage, 0, 0, 0, 0, Pwidth, Pheight); >- XSetWindowBackgroundPixmap(Dpy, wid, PicMap); >- } >-- >-- XMapWindow(Dpy, wid); >- } >- >- binfo = (bubble *) malloc(blimit * sizeof(bubble)); >-@@ -1965,9 +2065,15 @@ void >- high_res_sleep(seconds) >- double seconds; >- { >-+#ifndef __FreeBSD__ >- int fds = 0; >-+#endif >- struct timeval timeout; >-- >-+#ifdef __FreeBSD__ >-+ fd_set fds; >-+ FD_ZERO(&fds); >-+#endif >-+ >- timeout.tv_sec = seconds; >- timeout.tv_usec = (seconds - timeout.tv_sec) * 1000000.0; >- select(0, &fds, &fds, &fds, &timeout);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 281458
:
253517
|
253518