Wednesday, January 31, 2018

Re: UPDATE: graphics/feh 2.20 -> 2.23.1

On Mon, Jan 29, 2018 at 02:03:53AM +0100, Klemens Nanni wrote:
> Here's an update to the newest release:
>
> * Fix broken thumbnail/index windows when using --scale-down
> * Use Imlib2 in-memory image cache (default cache size: 4MiB). This allows
> for significant performance improvements especially in small slideshows
> * Add --cache-size option to set Imlib2 image cache size
> * Fix HTTPS certificate errors on some systems (broken in 2.22)
> * Allow ~/.fehbg to be sourced (instead of executed) from other shell
> scripts again (broken in 2.22)
> * Add support for CURL_CA_BUNDLE environment variable when loading images
> via HTTPS
> * Fix ~/.fehbg not being updated when setting a wallpaper via menu
> (broken in 2.21)
> * Add toggle_fixed_geometry ('g') key binding to toggle window auto-resize
> * Improve control via terminal input
> * Fix crash (segmentation fault) when using feh -O in non-index mode
> * Fix --force-aliasing (and possibly other options) missing from ~/.fehbg
> when using them for background setting
>
> The EXIF hunk in patch-config_mk got moved to MAKE_FLAGS.
>
> System includes needed to be moved before local ones.
>
> glibc specific CFLAGS had to be removed, there is no object change when
> compiling without `-std=c11' so I left those out completely.
>
> With my new devel/p5-Test-Command port submitted earlier we can also
> enable headless tests, which all succeed on my amd64 machine except for
> mandoc linting. This is both due to our mandoc(1) not having `-V' and
> actual markup issues in their manpages, see attached test.log.
>
> Works fine for me on amd64, but I have yet to communicate with upstream
> regarding the patches.
New 2.23.1 release after I got all our patches (except the SUBST bits)
merged upstream:

* The Makefile no longer honors CPPFLAGS and instead consistently uses CFLAGS for user-provided include paths
* Fix %u format specifier in multiwindow and list modes (patch by ulteq)
* Minor performance improvements (patches by ulteq)
* Stability improvements when using --magick-timeout (patch by ulteq)

I also took the liberty to squash the SUBST_CMD invocation a bit while
moving it from post- to pre-configure.

Test are ok, upstream checks for `mandoc -V' but would throw lots of
mandoc linter warnings anyway. They're working on it.

test/feh.t ..... ok
usage: mandoc [-ac] [-I os=name] [-K encoding] [-mdoc | -man] [-O options]
[-T output] [-W level] [file ...]
# mandoc not installed, test skipped. This is NOT fatal.
test/mandoc.t .. ok
All tests successful.
Files=2, Tests=74, 1 wallclock secs ( 0.02 usr 0.05 sys + 0.23 cusr 0.45 csys = 0.75 CPU)
Result: PASS

Feedback? Any takers?

Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/feh/Makefile,v
retrieving revision 1.88
diff -u -p -r1.88 Makefile
--- Makefile 7 Dec 2017 13:12:44 -0000 1.88
+++ Makefile 31 Jan 2018 19:51:38 -0000
@@ -2,12 +2,12 @@

COMMENT= lightweight image viewer

-DISTNAME= feh-2.20
+DISTNAME= feh-2.23.1
EXTRACT_SUFX= .tar.bz2
CATEGORIES= graphics
FIX_EXTRACT_PERMISSIONS=Yes

-HOMEPAGE= http://feh.finalrewind.org/
+HOMEPAGE= https://feh.finalrewind.org/

MAINTAINER= David Coppa <dcoppa@openbsd.org>

@@ -24,21 +24,20 @@ LIB_DEPENDS= graphics/imlib2 \

RUN_DEPENDS+= devel/desktop-file-utils \
x11/gtk+3,-guic
+TEST_DEPENDS= devel/p5-Test-Command

CFLAGS+= -I${LOCALBASE}/include \
-I${X11BASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -L${X11BASE}/lib
MAKE_FLAGS= LDFLAGS="${LDFLAGS}" man_dir="${DESTDIR}${PREFIX}/man" \
- example_dir="${DESTDIR}${PREFIX}/share/examples/feh"
+ example_dir="${DESTDIR}${PREFIX}/share/examples/feh" \
+ exif=1
FAKE_FLAGS= PREFIX="${PREFIX}"

USE_GMAKE= Yes

-NO_TEST= Yes
-
-post-configure:
+pre-configure:
${SUBST_CMD} ${WRKSRC}/examples/themes ${WRKSRC}/man/feh.pre \
- ${WRKSRC}/src/events.c ${WRKSRC}/src/keyevents.c \
- ${WRKSRC}/src/options.c
+ ${WRKSRC}/src/{events,keyevents,options}.c

.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/feh/distinfo,v
retrieving revision 1.55
diff -u -p -r1.55 distinfo
--- distinfo 8 Sep 2017 08:19:20 -0000 1.55
+++ distinfo 31 Jan 2018 19:51:38 -0000
@@ -1,2 +1,2 @@
-SHA256 (feh-2.20.tar.bz2) = S1BDAgmext0JnITdfihcgNwxiXfr2kiUlZM4a8JucAs=
-SIZE (feh-2.20.tar.bz2) = 2129466
+SHA256 (feh-2.23.1.tar.bz2) = m8Fk0IY9QSAb0lOiZS3O5YBqnGqLWRi7i6CfzubX6b4=
+SIZE (feh-2.23.1.tar.bz2) = 2130373
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 patch-Makefile
--- patches/patch-Makefile 9 Jun 2017 10:20:22 -0000 1.6
+++ patches/patch-Makefile 31 Jan 2018 19:51:38 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-Makefile,v 1.6 2017/06/0
Index: Makefile
--- Makefile.orig
+++ Makefile
-@@ -90,6 +90,7 @@ install-examples:
+@@ -91,6 +91,7 @@ install-examples:
@echo installing examples to ${example_dir}
@mkdir -p ${example_dir}
@cp examples/* ${example_dir}
Index: patches/patch-config_mk
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-config_mk,v
retrieving revision 1.8
diff -u -p -r1.8 patch-config_mk
--- patches/patch-config_mk 30 Aug 2016 14:44:37 -0000 1.8
+++ patches/patch-config_mk 31 Jan 2018 19:51:38 -0000
@@ -1,25 +1,20 @@
-$OpenBSD: patch-config_mk,v 1.8 2016/08/30 14:44:37 dcoppa Exp $
+$OpenBSD$

zap redundant CFLAGS

-enable builtin EXIF support
+fix "filelist.c:253:45: error: use of undeclared identifier 'alphasort'"

---- config.mk.orig Sun Aug 28 22:25:42 2016
-+++ config.mk Tue Aug 30 16:29:18 2016
-@@ -7,7 +7,7 @@ curl ?= 1
- debug ?= 0
- help ?= 0
- xinerama ?= 1
--exif ?= 0
-+exif ?= 1
-
- # Prefix for all installed files
- PREFIX ?= /usr/local
-@@ -32,7 +32,6 @@ scalable_icon_dir = ${icon_dir}/scalable/apps
+Index: config.mk
+--- config.mk.orig
++++ config.mk
+@@ -35,10 +35,6 @@ scalable_icon_dir = ${icon_dir}/scalable/apps

# default CFLAGS
CFLAGS ?= -g -O2
-CFLAGS += -Wall -Wextra -pedantic
+-
+-# Settings for glibc >= 2.19 - may need to be adjusted for other systems
+-CFLAGS += -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700

ifeq (${curl},1)
CFLAGS += -DHAVE_LIBCURL
Index: patches/patch-man_feh_pre
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-man_feh_pre,v
retrieving revision 1.40
diff -u -p -r1.40 patch-man_feh_pre
--- patches/patch-man_feh_pre 8 Sep 2017 08:19:20 -0000 1.40
+++ patches/patch-man_feh_pre 31 Jan 2018 19:51:38 -0000
@@ -1,8 +1,9 @@
-$OpenBSD: patch-man_feh_pre,v 1.40 2017/09/08 08:19:20 dcoppa Exp $
+$OpenBSD$
+
Index: man/feh.pre
--- man/feh.pre.orig
+++ man/feh.pre
-@@ -1073,7 +1073,7 @@ which
+@@ -1088,7 +1088,7 @@ which
defaults to
.Pa ~/.config/feh/ .
If the files are not found in that directory, it will also try
@@ -11,86 +12,3 @@ Index: man/feh.pre
.Pp
All config files treat lines starting with a
.Qq #
-@@ -1651,56 +1651,56 @@ Here are some examples of useful option combinations.
- .
- .Bl -tag -width indent
- .
--.It feh /opt/images
-+.It feh ~/Pictures
- .
--Show all images in /opt/images
-+Show all images in ~/Pictures
- .
--.It feh -r /opt/images
-+.It feh -r ~/Pictures
- .
--Recursively show all images found in /opt/images and subdirectories
-+Recursively show all images found in ~/Pictures and subdirectories
- .
--.It feh -rSfilename /opt/images
-+.It feh -rSfilename ~/Pictures
- .
- Same as above, but sort by filename. By default, feh will show files in the
- order it finds them on the hard disk, which is usually somewhat random.
- .
--.It feh -t -Sfilename -E 128 -y 128 -W 1024 /opt/images
-+.It feh -t -Sfilename -E 128 -y 128 -W 1024 ~/Pictures
- .
- Show 128x128 pixel thumbnails, limit window width to 1024 pixels.
- .
--.It feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C /usr/share/fonts/truetype/ttf-dejavu/ -e DejaVuSans/8 /opt/images
-+.It feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C ${X11BASE}/lib/X11/fonts/TTF/ -e DejaVuSans/8 ~/Pictures
- .
- Same as above, but enable thumbnail caching in ~/.thumbnails and use a smaller
- font.
- .
--.It feh -irFarial/14 -O index.jpg /opt/images
-+.It feh -irFarial/14 -O index.jpg ~/Pictures
- .
--Make an index print of /opt/images and all directories below it, using 14 point
-+Make an index print of ~/Pictures and all directories below it, using 14 point
- Arial to write the image info under each thumbnail. Save the image as
- index.jpg and don't display it, just exit. Note that this even works without
- a running X server
- .
--.It feh --unloadable -r /opt/images
-+.It feh --unloadable -r ~/Pictures
- .
--Print all unloadable images in /opt/images, recursively
-+Print all unloadable images in ~/Pictures, recursively
- .
- .It feh -f by_width -S width --reverse --list \&.
- .
- Write a list of all images in the directory to by_width, sorted by width
- .Pq widest images first
- .
--.It feh -w /opt/images/holidays
-+.It feh -w ~/Pictures/holidays
- .
--Open each image in /opt/images/holidays in its own window
-+Open each image in ~/Pictures/holidays in its own window
- .
--.It feh -FD5 -Sname /opt/images/presentation
-+.It feh -FD5 -Sname ~/Pictures/presentation
- .
--Show the images in .../presentation, sorted by name, in fullscreen,
-+Show the images in ~/Pictures/presentation, sorted by name, in fullscreen,
- automatically change to the next image after 5 seconds
- .
--.It feh -rSwidth -A Qo mv %F ~/images/\&%N Qc /opt/images
-+.It feh -rSwidth -A Qo mv %F ~/images/\&%N Qc ~/Pictures
- .
--View all images in /opt/images and below, sorted by width, move an image to
-+View all images in ~/Pictures and below, sorted by width, move an image to
- ~/image/image_name when enter is pressed
- .
- .It feh --start-at ./foo.jpg \&.
-@@ -1745,8 +1745,6 @@ section.
- .
- .
- .Sh BUGS
--.
--.Pp
- .
- On systems with giflib 5.1.2,
- .Nm
Index: patches/patch-src_Makefile
===================================================================
RCS file: patches/patch-src_Makefile
diff -N patches/patch-src_Makefile
--- patches/patch-src_Makefile 8 Sep 2017 08:19:20 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_Makefile,v 1.4 2017/09/08 08:19:20 dcoppa Exp $
-
-Make graphics/feh build with clang
-
-Index: src/Makefile
---- src/Makefile.orig
-+++ src/Makefile
-@@ -53,7 +53,7 @@ help.inc: help.raw
-
-
- deps.mk: ${TARGETS} ${I_DSTS}
-- ${CC} ${CPPFLAGS} -MM ${TARGETS} > $@
-+ ${CC} ${CFLAGS} -MM ${TARGETS} > $@
-
- clean:
- rm -f feh *.o *.inc
Index: patches/patch-src_events_c
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-src_events_c,v
retrieving revision 1.10
diff -u -p -r1.10 patch-src_events_c
--- patches/patch-src_events_c 30 Aug 2016 14:44:37 -0000 1.10
+++ patches/patch-src_events_c 31 Jan 2018 19:51:38 -0000
@@ -1,7 +1,8 @@
$OpenBSD: patch-src_events_c,v 1.10 2016/08/30 14:44:37 dcoppa Exp $
---- src/events.c.orig Sun Aug 28 22:25:42 2016
-+++ src/events.c Tue Aug 30 16:28:12 2016
-@@ -123,7 +123,7 @@ void init_buttonbindings(void)
+Index: src/events.c
+--- src/events.c.orig
++++ src/events.c
+@@ -124,7 +124,7 @@ void init_buttonbindings(void)

free(confpath);

Index: patches/patch-src_getopt_c
===================================================================
RCS file: patches/patch-src_getopt_c
diff -N patches/patch-src_getopt_c
--- patches/patch-src_getopt_c 9 Sep 2011 09:51:43 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_getopt_c,v 1.2 2011/09/09 09:51:43 dcoppa Exp $
-
-missing header
-
---- src/getopt.c.orig Wed Jul 7 11:40:32 2010
-+++ src/getopt.c Wed Jul 7 11:40:47 2010
-@@ -36,6 +36,7 @@
-

No comments:

Post a Comment