On 2022/03/26 12:00, Matthieu Herrb wrote:
> Hi,
>
> I've a need for the new video playing feature of impress!ve 0.12, and
> even found a new 0.13.1 version that supports python3.
>
> Unfortunatly there's a small bug in the mplayer control code with
> python3, so I've added a patch to fix it (and I also reported it
> upstreams).
>
> But I'm not sure if my patch below is the proper way to handle a port
> that is now python3 only (the FLAVOR handling looks suspicious to me)
> but I'm not experienced enough with python ports to figure it out.
>
> Comments, suggestions, oks ?
inline:
> Index: Makefile
> ===================================================================
> RCS file: /cvs/OpenBSD/ports/productivity/impressive/Makefile,v
> retrieving revision 1.22
> diff -u -p -u -r1.22 Makefile
> --- Makefile 11 Mar 2022 19:51:42 -0000 1.22
> +++ Makefile 26 Mar 2022 10:47:32 -0000
> @@ -1,9 +1,8 @@
> COMMENT = stylish PDF presentation generator
>
> -MODPY_EGG_VERSION = 0.11.1
> +MODPY_EGG_VERSION = 0.13.1
> DISTNAME = Impressive-${MODPY_EGG_VERSION}
> PKGNAME = impressive-${MODPY_EGG_VERSION}
> -REVISION = 1
>
> CATEGORIES = productivity
> HOMEPAGE = http://impressive.sourceforge.net/
> @@ -13,16 +12,19 @@ MASTER_SITES = ${MASTER_SITE_SOURCEFORG
> PERMIT_PACKAGE = Yes
>
> MODULES = lang/python
> -MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2}
good
> NO_BUILD = Yes
> NO_TEST = Yes
>
> -RUN_DEPENDS = devel/pygame \
> +FLAVORS= python3
> +FLAVOR= python3
remove FLAVOR/FLAVORS, they are for python libraries rather than
standalone software.
> +
> +RUN_DEPENDS = devel/pygame,python3 \
> devel/xdg-utils \
> - graphics/py2-Pillow \
> - graphics/py-opengl \
> + graphics/py-Pillow \
> + graphics/py-opengl,python3 \
These python library dependencies should use ${MODPY_FLAVOR}
rather than (nothing) or ,python3
> print/poppler,-utils \
> - textproc/pdftk
> + textproc/pdftk \
> + x11/mplayer
>
> MODPY_ADJ_FILES = impressive.py
>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/OpenBSD/ports/productivity/impressive/distinfo,v
> retrieving revision 1.3
> diff -u -p -u -r1.3 distinfo
> --- distinfo 8 Apr 2016 09:23:13 -0000 1.3
> +++ distinfo 26 Mar 2022 10:47:32 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (Impressive-0.11.1.tar.gz) =
> WT9hbrcqGKgmvHaHyZUqKuXd7VSD0miLq1tcpoyveSw=
> -SIZE (Impressive-0.11.1.tar.gz) = 195743
> +SHA256 (Impressive-0.13.1.tar.gz) =
> JIkXO7+KsStEmQfYEQMPqXPSOjDmN8Y18XUn6roULTQ=
> +SIZE (Impressive-0.13.1.tar.gz) = 215989
> Index: patches/patch-impressive_py
> ===================================================================
> RCS file: patches/patch-impressive_py
> diff -N patches/patch-impressive_py
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-impressive_py 26 Mar 2022 10:47:32 -0000
> @@ -0,0 +1,23 @@
> +--- impressive.py.orig Sat Mar 26 11:10:53 2022
> ++++ impressive.py Sat Mar 26 11:34:40 2022
> +@@ -1059,9 +1059,9 @@
> + # first, ask politely
> + try:
> + if Platform.use_omxplayer and VideoPlaying:
> +- MPlayerProcess.stdin.write('q')
> ++ MPlayerProcess.stdin.write('q'.encode())
> + else:
> +- MPlayerProcess.stdin.write('quit\n')
> ++ MPlayerProcess.stdin.write('quit\n'.encode())
> + MPlayerProcess.stdin.flush()
> + for i in range(10):
> + if MPlayerProcess.poll() is None:
> +@@ -5571,7 +5571,7 @@
> + cmd = omxplayer_cmd if Platform.use_omxplayer else (mplayer_cmd +
> '\n')
> + if not cmd: return
> + try:
> +- MPlayerProcess.stdin.write(cmd)
> ++ MPlayerProcess.stdin.write(cmd.encode())
> + MPlayerProcess.stdin.flush()
> + except:
> + StopMPlayer()
>
>
> --
> Matthieu Herrb
>