diff options
author | B. Watson <yalhcru@gmail.com> | 2019-12-27 15:01:38 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2019-12-31 18:06:25 +0700 |
commit | 0030076b42dd6011a3215af1c30ebd57d24500b3 (patch) | |
tree | f55fb80ff521d08b00d5de0ec929f8f10c02d401 /graphics/qiv | |
parent | d452da1a2630e10d633466d8f8f636949b6c71fd (diff) |
graphics/qiv: Updated for version 2.3.2, add image formats.
Signed-off-by: B. Watson <yalhcru@gmail.com>
Diffstat (limited to 'graphics/qiv')
-rw-r--r-- | graphics/qiv/648ed5a.diff | 446 | ||||
-rw-r--r-- | graphics/qiv/README | 28 | ||||
-rw-r--r-- | graphics/qiv/new_formats.diff | 62 | ||||
-rw-r--r-- | graphics/qiv/qiv-allfmt.sqf | 7 | ||||
-rw-r--r-- | graphics/qiv/qiv.SlackBuild | 55 | ||||
-rw-r--r-- | graphics/qiv/qiv.info | 6 |
6 files changed, 138 insertions, 466 deletions
diff --git a/graphics/qiv/648ed5a.diff b/graphics/qiv/648ed5a.diff deleted file mode 100644 index 178a3b854ab3..000000000000 --- a/graphics/qiv/648ed5a.diff +++ /dev/null @@ -1,446 +0,0 @@ -diff -Naur qiv-2.3.1/Changelog qiv-648ed5a/Changelog ---- qiv-2.3.1/Changelog 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/Changelog 2016-07-14 23:26:53.000000000 -0400 -@@ -21,7 +21,7 @@ - al: Adrian Lopez <adrian2@caribe.net> - yf: Y Furuhashi <y_furuhashi@ot.olympus.co.jp> - wd: Wayne Davison <wayne@opencoder.net> -- js: Johannes Stezenbach <js@convergence.de> -+ js: Johannes Stezenbach <js@sig21.net> - ok: OEyvind Kolaas <pippin@users.sourceforge.net> - mc: Matthieu Castet <castet.matthieu@free.fr> - jd: Geoffrey T. Dairik <dairiki@dairiki.org> -@@ -34,6 +34,27 @@ - pw: Peter deWachter <pdewacht@gmail.com> - ap: Akos Pasztory <akos.pasztory@gmail.com> - -+2.3.2pre -+======== -+ 30.05.2016 [tw] Fix occasionally erratic behaviour of qiv statusbar -+ [tw] Fix xpm autodetection with libmagic -+ 26.05.2016 [tw] Fix small artefacts in pictures which might -+ happen when running remote over slow link -+ (patch by Derek Schrock) -+ 20.05.2016 [tw] update image after it is exposed in window mode -+ 12.05.2016 [js/tw] fix broken "-no-filter" option -+ libmagic filter now works on symlinks -+ 07.11.2015 [tw] fix linking order in "make debug", did not -+ work in some newer gcc versions -+ 18.06.2015 [as] turn on EXIF autorotation by default -+ 13.09.2014 [tw] Add option to sort files by modification time. -+ (patch by Stefan RĂ¼ger) -+ 23.04.2014 [tw] In case of "watch" option, check image only every 1/10 sec, -+ instead of every 200us. This was way too short for -+ devices like RasPi etc. (Hamish) -+ [tw] Leave jumping mode on invalid input and process input key -+ as if it was entered in non jumping mode (Sergey Pinaev) -+ - 2.3.1 - ===== - 25.11.2013 [tw] Add libXext to libraries for linking in Makefile. -diff -Naur qiv-2.3.1/Makefile qiv-648ed5a/Makefile ---- qiv-2.3.1/Makefile 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/Makefile 2016-07-14 23:26:53.000000000 -0400 -@@ -122,7 +122,7 @@ - debug: $(PROGRAM_G) - - $(PROGRAM_G): $(OBJS_G) -- $(CC) -g $(CFLAGS) $(DEFINES_G) $(LIBS) $(OBJS_G) -o $(PROGRAM_G) -+ $(CC) -g $(CFLAGS) $(DEFINES_G) $(OBJS_G) $(LIBS) -o $(PROGRAM_G) - - $(OBJS_G): %.g: %.c $(HEADERS) - $(CC) -c -g $(CFLAGS) $(DEFINES_G) $(INCLUDES) $< -o $@ -diff -Naur qiv-2.3.1/event.c qiv-648ed5a/event.c ---- qiv-2.3.1/event.c 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/event.c 2016-07-14 23:26:53.000000000 -0400 -@@ -193,10 +193,15 @@ - q->exposed = 1; - qiv_set_cursor_timeout(q); - } -- if(fullscreen) { -- if(center) center_image(q); -+ if(center) center_image(q); -+ if(fullscreen) -+ { - update_image(q, FULL_REDRAW); - } -+ else -+ { -+ update_image(q, MIN_REDRAW); -+ } - break; - - case GDK_LEAVE_NOTIFY: -@@ -223,26 +228,6 @@ - // printf("GDK_CONFIGURE get_root_origin %d %d\n", - // magnify_img.frame_x, magnify_img.frame_y); - } -- // gdk_draw_rectangle(q->win, q->status_gc, 1, 10, 10, 50, 50); -- if (statusbar_window && !fullscreen) { --#ifdef DEBUG -- g_print("*** print statusbar at (%d, %d)\n", MAX(2,q->win_w-q->text_w-10), MAX(2,q->win_h-q->text_h-10)); --#endif -- // printf(">>> statusbar_w %d %d %d %d\n", -- // MAX(2,q->win_w-text_w-10), MAX(2,q->win_h-text_h-10), text_w+5, text_h+5); -- -- gdk_draw_rectangle(q->win, q->bg_gc, 0, -- MAX(2,q->win_w-q->text_w-10), MAX(2,q->win_h-q->text_h-10), -- q->text_w+5, q->text_h+5); -- gdk_draw_rectangle(q->win, q->status_gc, 1, -- MAX(3,q->win_w-q->text_w-9), MAX(3,q->win_h-q->text_h-9), -- q->text_w+4, q->text_h+4); -- -- pango_layout_set_text(layout, q->win_title, -1); -- pango_layout_get_pixel_size (layout, &(q->text_w), &(q->text_h)); -- gdk_draw_layout (q->win, q->text_gc, MAX(5,q->win_w-q->text_w-7), MAX(5,q->win_h-7-q->text_h), layout); -- } -- - break; - - case GDK_BUTTON_PRESS: -@@ -418,9 +403,9 @@ - jcmd[jidx] = '\0'; - if (jumping) { - jump2image(jcmd); -- qiv_load_image(q); -- jumping=0; -- } -+ qiv_load_image(q); -+ jumping=0; -+ } - else { // extcommand=1 - int numlines = 0; - const char **lines; -@@ -436,6 +421,23 @@ - } - /* else record keystroke if not null */ - else if(ev->key.string && *(ev->key.string) != '\0') { -+ if (jumping) { -+ /* leave jumping mode on invalid input and process -+ * input key as if it entered in non jumping mode */ -+ if((jidx == 0 && -+ (*(ev->key.string) != 'f' && -+ *(ev->key.string) != 'F' && -+ *(ev->key.string) != 'b' && -+ *(ev->key.string) != 'B' && -+ *(ev->key.string) != 't' && -+ *(ev->key.string) != 'T')) || -+ (jidx > 0 && -+ (*(ev->key.string) < '0' || *(ev->key.string) > '9'))) { -+ jumping = 0; -+ qiv_handle_event(ev, data); -+ return; -+ } -+ } - jcmd[jidx++]=*(ev->key.string); - jcmd[jidx] = '\0'; - if (extcommand) -@@ -915,7 +917,8 @@ - "(File watching: on)" : "(File watching: off)"); - update_image(q, REDRAW); - if(watch_file){ -- g_idle_add (qiv_watch_file, q); -+ // check every 100ms -+ g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, 100, qiv_watch_file, q, NULL); - } - break; - -diff -Naur qiv-2.3.1/image.c qiv-648ed5a/image.c ---- qiv-2.3.1/image.c 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/image.c 2016-07-14 23:26:53.000000000 -0400 -@@ -262,7 +262,6 @@ - - if (first) { - setup_win(q); -- first = 0; - } - - check_size(q, TRUE); -@@ -366,7 +365,7 @@ - gdk_window_resize(q->win, q->win_w, q->win_h); - } - if (!(to_root || to_root_t || to_root_s)) -- gdk_window_show(q->win); -+ gdk_window_lower(q->win); - - } else { /* fullscreen */ - -@@ -771,6 +770,12 @@ - }; - gdk_window_set_geometry_hints(q->win, &geometry, - GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE | GDK_HINT_WIN_GRAVITY); -+ -+ if(first) { -+ gdk_window_show(q->win); -+ first = 0; -+ } -+ - gdk_window_move_resize(q->win, q->win_x, q->win_y, q->win_w, q->win_h); - - if (!q->error) { -@@ -791,6 +796,24 @@ - } - } - gdk_window_clear(q->win); -+ -+ if(statusbar_window) -+ { -+#ifdef DEBUG -+ g_print("*** print statusbar at (%d, %d)\n", MAX(2,q->win_w-q->text_w-10), MAX(2,q->win_h-q->text_h-10)); -+#endif -+ gdk_draw_rectangle(q->win, q->bg_gc, 0, -+ MAX(2,q->win_w-q->text_w-10), MAX(2,q->win_h-q->text_h-10), -+ q->text_w+5, q->text_h+5); -+ gdk_draw_rectangle(q->win, q->status_gc, 1, -+ MAX(3,q->win_w-q->text_w-9), MAX(3,q->win_h-q->text_h-9), -+ q->text_w+4, q->text_h+4); -+ -+ pango_layout_set_text(layout, q->win_title, -1); -+ pango_layout_get_pixel_size (layout, &(q->text_w), &(q->text_h)); -+ gdk_draw_layout (q->win, q->text_gc, MAX(5,q->win_w-q->text_w-7), MAX(5,q->win_h-7-q->text_h), layout); -+ } -+ - } // if (!fullscreen) - else - { -@@ -859,6 +882,12 @@ - q->text_ow = q->text_w; - q->text_oh = q->text_h; - q->statusbar_was_on = statusbar_fullscreen; -+ -+ if(first) { -+ gdk_window_show(q->win); -+ first = 0; -+ } -+ - gdk_window_move_resize(q->win, monitor[q->mon_id].x, monitor[q->mon_id].y, - monitor[q->mon_id].width, monitor[q->mon_id].height); - } -diff -Naur qiv-2.3.1/main.c qiv-648ed5a/main.c ---- qiv-2.3.1/main.c 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/main.c 2016-07-14 23:26:53.000000000 -0400 -@@ -192,7 +192,7 @@ - qiv_load_image(&main_img); - - if(watch_file){ -- g_idle_add (qiv_watch_file, &main_img); -+ g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, 100, qiv_watch_file, &main_img, NULL); - } - - g_main_run(qiv_main_loop); /* will never return */ -@@ -272,7 +272,7 @@ - #ifdef HAVE_MAGIC - magic_t cookie; - -- cookie = magic_open(MAGIC_NONE); -+ cookie = magic_open(MAGIC_SYMLINK); - magic_load(cookie,NULL); - #endif - -diff -Naur qiv-2.3.1/main.h qiv-648ed5a/main.h ---- qiv-2.3.1/main.h 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/main.h 2016-07-14 23:26:53.000000000 -0400 -@@ -65,7 +65,7 @@ - int magnify = 0; /* [lc] */ - int user_screen = 0; /* preferred (by user) monitor */ - int browse = 0; /* scan directory of file for browsing */ --int autorotate = 0; /* autorotate JPEGs according to EXIF tag */ -+int autorotate = 1; /* autorotate JPEGs according to EXIF tag */ - int rotation = 0; /* rotation x degrees clockwise, 1=90degrees 2=180degrees 3=270degrees */ - int vikeys = 0; /* option to give us some vi-like keys (for movement) */ - -diff -Naur qiv-2.3.1/options.c qiv-648ed5a/options.c ---- qiv-2.3.1/options.c 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/options.c 2016-07-14 23:26:53.000000000 -0400 -@@ -25,7 +25,7 @@ - - #define LONGOPT_VIKEYS 128 - --static char *short_options = "ab:c:Cd:efg:hilLmno:pq:rstuvw:xyzA:BDF:GIMNPRSTW:X:Y:Z:"; -+static char *short_options = "ab:c:Cd:efg:hilLmno:pq:rstuvw:xyzA:BDF:GIKMNPRSTW:X:Y:Z:"; - static struct option long_options[] = - { - {"do_grab", 0, NULL, 'a'}, -@@ -62,6 +62,7 @@ - {"file", 1, NULL, 'F'}, - {"disable_grab", 0, NULL, 'G'}, - {"statusbar", 0, NULL, 'I'}, -+ {"mtime_sort", 0, NULL, 'K'}, - {"merged_case_sort", 0, NULL, 'M'}, - {"numeric_sort", 0, NULL, 'N'}, - {"ignore_path_sort", 0, NULL, 'P'}, -@@ -78,7 +79,7 @@ - {0, 0, NULL, 0} - }; - --static int numeric_sort = 0, merged_case_sort = 0, ignore_path_sort = 0; -+static int mtime_sort = 0, numeric_sort = 0, merged_case_sort = 0, ignore_path_sort = 0; - - /* This array makes it easy to sort filenames into merged-case order - * (e.g. AaBbCcDdEeFf...). */ -@@ -117,6 +118,17 @@ - 0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF - }; - -+ -+static time_t get_mtime(unsigned char *fn) { -+ struct stat attrib; -+ -+ if(stat((char *) fn, &attrib) == 0) -+ return attrib.st_mtime; -+ -+ return 0; -+} -+ -+ - static int my_strcmp(const void *v1, const void *v2) - { - unsigned char *cp1 = *(unsigned char **)v1; -@@ -129,6 +141,15 @@ - sufptr2 = cp2 + strlen((char *)cp2); - while (--sufptr2 > cp2 && *sufptr2 != '.') {} - -+ if(mtime_sort) { -+ time_t diff = get_mtime(cp1) - get_mtime(cp2); -+ if(diff < 0) -+ return -1; -+ if(diff > 0) -+ return 1; -+ // fall through in case of same time stamp -+ } -+ - if (ignore_path_sort) { - unsigned char *slash; - if ((slash = (unsigned char *)strrchr((char *)cp1, '/')) != NULL) -@@ -244,7 +265,7 @@ - case 'i': force_statusbar=0; - break; - #if GDK_PIXBUF_MINOR >= 12 -- case 'l': autorotate=1; -+ case 'l': autorotate=0; /* turn autorotation OFF, default is ON */ - break; - #endif - case 'm': maxpect=1; -@@ -297,6 +318,8 @@ - break; - case 'I': force_statusbar=1; - break; -+ case 'K': mtime_sort = 1; -+ break; - case 'M': merged_case_sort = 1; - break; - case 'N': numeric_sort = 1; -@@ -305,7 +328,7 @@ - break; - case 'R': readonly=1; - break; -- case 'S': shuffle=1;need_sort=0; -+ case 'S': shuffle=1; need_sort=0; - break; - case 'T': watch_file=1; - break; -@@ -330,8 +353,8 @@ - } - } - -- /* In case user specified -D and -P, -M, or -N */ -- need_sort = need_sort | ignore_path_sort | merged_case_sort | numeric_sort; -+ /* In case user specified -D and -K, -P, -M, or -N */ -+ need_sort = need_sort | mtime_sort | ignore_path_sort | merged_case_sort | numeric_sort; - - /* default: show statusbar only in fullscreen mode */ - /* user wants to override? */ -@@ -382,14 +405,16 @@ - strcpy(tmp,image_names[0]); - } - rreaddir(dirname(image_names[0]),0); -- filter_images(&images,image_names); -+ if(filter) -+ filter_images(&images,image_names); - if(need_sort) - qsort(image_names, images, sizeof *image_names, my_strcmp); - image_idx = find_image(images,image_names,tmp); - free(tmp); - } - else { -- filter_images(&images,image_names); -+ if(filter) -+ filter_images(&images,image_names); - if(need_sort) - qsort(image_names, images, sizeof *image_names, my_strcmp); - } -diff -Naur qiv-2.3.1/qiv.1 qiv-648ed5a/qiv.1 ---- qiv-2.3.1/qiv.1 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/qiv.1 2016-07-14 23:26:53.000000000 -0400 -@@ -144,6 +144,9 @@ - .B \-M, \-\-merged_case_sort - Sort all the image files in merged-case order (AaBbCc...). - .TP -+.B \-K, \-\-mtime_sort -+Sort files by their modification time -+.TP - .B \-N, \-\-numeric_sort - A "smart" numeric sort that attempts to sort filenames with numbers in - a logical manner. For instance: 2.jpg sorts before 10.jpg; 1foo.jpg -@@ -168,7 +171,7 @@ - a tall image is too tall to fit on the screen, it will be rotated. - .TP - .B \-l, \-\-autorotate --Autorotate JPEGs according to EXIF rotation tag. -+Do NOT autorotate JPEGs according to EXIF rotation tag. Default is ON. - .TP - .B \-X, \-\-xineramascreen \fIx\fB - Use monitor \fIx\fR as preferred screen -@@ -180,8 +183,8 @@ - Use color profile file x as display profile for all images - .TP - .B \-B, \-\-browse --This option is useful when configuring qiv to be used with a file manager. qiv --will scan the directory of the clicked image and allow you to scroll -+This option is useful when configuring qiv to be used with a file manager. -+qiv will scan the directory of the clicked image and allow you to scroll - through those images. - .TP - .B \-\-vikeys -diff -Naur qiv-2.3.1/qiv.h qiv-648ed5a/qiv.h ---- qiv-2.3.1/qiv.h 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/qiv.h 2016-07-14 23:26:53.000000000 -0400 -@@ -25,8 +25,8 @@ - #include <X11/extensions/xf86vmode.h> // for XF86VidModeGetModeLine - */ - --#define VERSION "2.3.1" --#define VERSION_FULL "QIV - Quick Image Viewer v2.3.1 - http://qiv.spiegl.de/" -+#define VERSION "2.3.2pre" -+#define VERSION_FULL "QIV - Quick Image Viewer v2.3.2pre - http://qiv.spiegl.de/" - #define TRASH_DIR ".qiv-trash" - #define SELECT_DIR ".qiv-select" - #define SLIDE_DELAY 3000 /* milliseconds */ -diff -Naur qiv-2.3.1/utils.c qiv-648ed5a/utils.c ---- qiv-2.3.1/utils.c 2013-12-19 19:50:37.000000000 -0500 -+++ qiv-648ed5a/utils.c 2016-07-14 23:26:53.000000000 -0400 -@@ -492,6 +492,7 @@ - " --readonly, -R Disable the deletion feature\n" - " --maxpect, -m Zoom to screen size and preserve aspect ratio\n" - " --merged_case_sort, -M Sort filenames with AaBbCc... alpha order\n" -+ " --mtime_sort, -K Sort files by their modification time\n" - " --no_filter, -n Do not filter images by extension\n" - " --no_statusbar, -i Disable statusbar\n" - " --statusbar, -I Enable statusbar\n" -@@ -507,7 +508,7 @@ - " --followlinks, -L Follow symlinks to directories (requires --recursivedir)\n" - " --select_dir, -A x Store the selected files in dir x (default is .qiv-select)\n" - #if GDK_PIXBUF_MINOR >= 12 -- " --autorotate, -l Autorotate JPEGs according to EXIF rotation tag\n" -+ " --autorotate, -l Do NOT autorotate JPEGs according to EXIF rotation tag\n" - #endif - " --rotate, -q x Rotate 90(x=1),180(x=2),270(x=3) degrees clockwise (11 & 13 for conditional)\n" - " --xineramascreen, -X x Use monitor x as preferred screen\n" -@@ -722,7 +723,6 @@ - update_image(q, REDRAW); - } - } -- usleep(200); /* avoid eating 100% cpu */ - - return TRUE; - } diff --git a/graphics/qiv/README b/graphics/qiv/README index a5116afc6c77..d1151c3910dd 100644 --- a/graphics/qiv/README +++ b/graphics/qiv/README @@ -1,6 +1,34 @@ +qiv (Quick Image Viewer) + Quick Image Viewer (qiv) is a very small and pretty fast GDK/Imlib image viewer. Features include zoom, maxpect, scale down, fullscreen, brightness/contrast/gamma correction, slideshow, pan with keyboard and mouse, rotate left/right, flip, delete (move to .qiv-trash/), jump to image x, jump forward/backward x images, filename filter, and you can use qiv to set your X11-Desktop background. + +These formats are supported by default: + +GIF TIFF XPM PNG PPM PNM PGM BMP JPEG SVG ICO TGA ICNS + +Optional supported formats: + +Format | Optional dependenc(y|ies) +-----------------------+----------------------------------------------- +PCX | pcx-pixbuf-loader +-----------------------+----------------------------------------------- +PSD (PhotoShop native) | gdk-pixbuf-psd +-----------------------+----------------------------------------------- +WEBP | libwebp imlib2 webp-pixbuf-loader. Build and + | install *in that order*. +-----------------------+----------------------------------------------- +WMF (Windows metafile) | wmf-pixbuf-loader +-----------------------+----------------------------------------------- +XCF (Gimp native) | xcf-pixbuf-loader +-----------------------+----------------------------------------------- + +These are runtime dependencies, so they can be installed at any time +without rebuilding qiv. + +To easily build all the optional dependencies, use sbopkg with the +qiv-allfmt.sqf in the SlackBuild directory. diff --git a/graphics/qiv/new_formats.diff b/graphics/qiv/new_formats.diff new file mode 100644 index 000000000000..991583586e16 --- /dev/null +++ b/graphics/qiv/new_formats.diff @@ -0,0 +1,62 @@ +diff -Naur qiv-2.3.2/Makefile qiv-2.3.2.patched/Makefile +--- qiv-2.3.2/Makefile 2017-11-03 14:27:27.000000000 -0400 ++++ qiv-2.3.2.patched/Makefile 2019-12-27 03:28:13.162355379 -0500 +@@ -24,7 +24,7 @@ + # skipped.) It should reflect whatever is compiled into imlib. + # The latest version of imlib has removed imagemagick fallback support, + # so some extensions (XBM TGA) have been removed. +-EXTNS = GIF TIFF XPM PNG PPM PNM PGM PCX BMP EIM JPEG SVG WMF ICO ++EXTNS = GIF TIFF XPM PNG PPM PNM PGM PCX BMP EIM JPEG SVG WMF ICO WEBP XCF PSD ICNS TGA + + # Comment this line out if your system doesn't have getopt_long(). + GETOPT_LONG = -DHAVE_GETOPT_LONG +diff -Naur qiv-2.3.2/main.h qiv-2.3.2.patched/main.h +--- qiv-2.3.2/main.h 2017-11-03 14:27:27.000000000 -0400 ++++ qiv-2.3.2.patched/main.h 2019-12-27 03:23:02.330241315 -0500 +@@ -199,6 +199,24 @@ + #ifdef EXTN_SVG + ".svg", + #endif ++#ifdef EXTN_WEBP ++ ".webp", ++#endif ++#ifdef EXTN_XCF ++ ".xcf", ++#endif ++#ifdef EXTN_PSD ++ ".psd", ++#endif ++#ifdef EXTN_ICNS ++ ".icns", ++#endif ++ /* BROKEN in slackware 14.2, using newer versions ++ of jasper and gdk-pixbuf2 built with jasper didn't help. ++ Disabled in Makefile. */ ++#ifdef EXTN_JP2 ++ ".jp2", ".jpc", ".jpx", ".j2k", ".jpf", ++#endif + NULL + }; + +@@ -238,6 +256,21 @@ + #ifdef EXTN_ICO + "MS Windows icon resource", + #endif ++#ifdef EXTN_WEBP ++ "RIFF (little-endian) data, Web/P image", ++#endif ++#ifdef EXTN_XCF ++ "GIMP XCF image data", ++#endif ++#ifdef EXTN_PSD ++ "Adobe Photoshop Image", ++#endif ++#ifdef EXTN_ICNS ++ "Mac OS X icon", ++#endif ++#ifdef EXTN_JP2 ++ "JPEG 2000", ++#endif + NULL + }; + #endif diff --git a/graphics/qiv/qiv-allfmt.sqf b/graphics/qiv/qiv-allfmt.sqf new file mode 100644 index 000000000000..872f2bea11c1 --- /dev/null +++ b/graphics/qiv/qiv-allfmt.sqf @@ -0,0 +1,7 @@ +libwebp +imlib2 +webp-pixbuf-loader +wmf-pixbuf-loader +xcf-pixbuf-loader +gdk-pixbuf-psd +pcx-pixbuf-loader diff --git a/graphics/qiv/qiv.SlackBuild b/graphics/qiv/qiv.SlackBuild index 6933f0602d1a..08aaea2aa122 100644 --- a/graphics/qiv/qiv.SlackBuild +++ b/graphics/qiv/qiv.SlackBuild @@ -8,6 +8,14 @@ # version had no license, modified version released under the WTFPL. See # http://www.wtfpl.net/txt/copying/ for details. +# 20191226 bkw: +# - Upgrade for v2.3.2. This was released a month after my last update, +# but the download page on the site doesn't link to it (found it just +# now by editing the URL for v2.3.1), so my update-checker script +# never saw it... +# - As compensation for my tardiness, add support for a bunch of new +# image types. + # 20170209 bkw: # - Take over maintenance # - i486 => i586 @@ -17,7 +25,7 @@ # - Don't install README.INSTALL PRGNAM=qiv -VERSION=${VERSION:-2.3.2pre20160530} +VERSION=${VERSION:-2.3.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -50,26 +58,39 @@ fi set -e -OLDVER=2.3.1 - rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$OLDVER -tar xvf $CWD/$PRGNAM-$OLDVER.tgz -cd $PRGNAM-$OLDVER +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tgz +cd $PRGNAM-$VERSION chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -# bugfixes from upstream's git repo. -patch -p1 < $CWD/648ed5a.diff - -sed -i "s/-O2 -Wall/$SLKCFLAGS/" Makefile -sed -i "s|\./qiv|echo &|" Makefile # remove test +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +# Patch to add potential support for various image formats. This patch +# doesn't actually contain any code for decoding/displaying new image +# formats. All it does is add file extensions and magic to the list +# of filetypes qiv will attempt to display via imlib and/or pixbuf. +# It's up to imlib/pixbuf to actually support the image types. Some of +# these are already supported in Slackware, a few require optional deps +# (see README). + +# For the optional ones (e.g. webp), this patch doesn't do any harm +# if the support library's not installed. All it does is make qiv warn +# "Unable to read file" on stderr, instead of silently skipping it. + +patch -p1 < $CWD/new_formats.diff + +# Three sed expressions here. In order: +# 1. Make qiv build with our compiler flags. +# 2. Disable the test, since it requires X to be running and +# accepting connections from root. +# 3. Put man page where Slackware likes them. +sed -i -e "s/-O2 -Wall/$SLKCFLAGS/" \ + -e "s|\./qiv|echo &|" \ + -e 's,/share/man,/man,g' \ + Makefile make make install PREFIX=$PKG/usr diff --git a/graphics/qiv/qiv.info b/graphics/qiv/qiv.info index 3ef95ba78a5d..1ec4d757caf2 100644 --- a/graphics/qiv/qiv.info +++ b/graphics/qiv/qiv.info @@ -1,8 +1,8 @@ PRGNAM="qiv" -VERSION="2.3.2pre20160530" +VERSION="2.3.2" HOMEPAGE="http://spiegl.de/qiv/" -DOWNLOAD="http://spiegl.de/qiv/download/qiv-2.3.1.tgz" -MD5SUM="93aea7469be64ebd35277a6dac079fc8" +DOWNLOAD="http://spiegl.de/qiv/download/qiv-2.3.2.tgz" +MD5SUM="e64dd2cbd49f31264f60012e0138549b" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="imlib2" |