On Sun, Aug 27, 2023 at 11:19:22PM +0200, Stefan Hagen wrote:
> Michael wrote (2023-08-27 02:07 CEST):
> > On Fri, Aug 25, 2023 at 02:41:25PM +0200, Michael wrote:
> > > Hi ports@,
> > > 
> > > this is an update to the latest fvwm3 release [1].
> > > 
> > > Unfortunately there was a bug [2] that caused consistent crashes on 
> > > OpenBSD. Reverting the commit in question seems to resolve that issue, 
> > > which is also what others [3] seem to be doing for now. Patch for this 
> > > is included as 'patch-fvwm_ewmh_names_c'.
> > > 
> > > Tested on amd64.
> > > 
> > > 
> > > [1] https://github.com/fvwmorg/fvwm3/releases/tag/1.0.7
> > > [2] https://github.com/fvwmorg/fvwm3/issues/873
> > > [3] 
> > > https://github.com/freebsd/freebsd-ports/commit/3e35051e913e46e0132df070d5a718d443bfd0b8
> > 
> > Upstream commited a fix for the mentioned issue so let's use this 
> > instead, see 'patch-fvwm_ewmh_c'. Patch below.
> > 
> > Tested on amd64.
> 
> Works here. It starts and most buttons work (default setup). I have
> not seen any crashes.
> 
> OK sdk
> 
> However, the default config could use some attention:
> * It doesn't honor --program-transform-name (executables and manpages)
> * It links to manpages that don't exist
> * It links to manpages from base fvwm
> 
> - Stefan
> 

Thank you for your feedback Stefan. I had a look into this and it looks 
like manpages were never built at all. Enabling this required adding 
textproc/asciidoctor and switching to gmake. The wildcard expansion in 
doc/Makefile.in didn't seem to work so I put the file names in there 
manually for now. Further some *.adoc files required setting the correct 
absolute path in the include statement which is what the sed run in 
pre-configure is for. Those manpages should conflict with x11/fvwm2 so I 
think we need '@conflict fvwm2-*' in PLIST now. I am not sure if this 
requires adding an additional entry to quirks too?

I don't really like the patch or sed call to get the manpages built. Does 
someone have any ideas how to improve this? Then again it works for now...

Slightly tested on amd64, updated patch below.


Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/fvwm3/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- Makefile    24 Jan 2023 18:05:35 -0000      1.8
+++ Makefile    28 Aug 2023 21:29:04 -0000
@@ -1,6 +1,6 @@
 COMMENT=       multiple virtual desktop window manager
 
-VERSION=       1.0.6a
+VERSION=       1.0.7
 DISTNAME=      fvwm3-${VERSION}
 
 CATEGORIES=     x11
@@ -20,6 +20,8 @@ WANTLIB += readline rsvg-2 event_core ev
 
 MASTER_SITES=  https://github.com/fvwmorg/fvwm3/releases/download/${VERSION}/
 
+BUILD_DEPENDS= textproc/asciidoctor
+
 LIB_DEPENDS+=  graphics/png \
                x11/gnome/librsvg \
                devel/libevent2
@@ -27,17 +29,22 @@ LIB_DEPENDS+=       graphics/png \
 SUBST_VARS=    VERSION
 
 SEPARATE_BUILD=                Yes
+USE_GMAKE=             Yes
 CONFIGURE_STYLE=       gnu
 
 CONFIGURE_ARGS+=       --enable-mandoc \
                        --disable-bidi \
-                       --program-transform-name='s/^fvwm-/fvwm3-/' \
-                       --localedir=${TRUEPREFIX}/share/fvwm3/locale
+                       --localedir=${TRUEPREFIX}/share/fvwm3/locale \
+                       --program-transform-name='s/^fvwm-/fvwm3-/'
 
 CONFIGURE_ENV+=                CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
                        LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
 
 DEBUG_PACKAGES =       ${BUILD_PACKAGES}
+
+pre-configure:
+       sed -Ei 's#^(include::)(.*\.ad)(\[.*\])#\1'${WRKBUILD}'/doc/\2\3#' \
+               ${WRKSRC}/doc/*.adoc
 
 post-install:
        mv ${WRKINST}/${TRUEPREFIX}/bin/FvwmCommand{,3}
Index: distinfo
===================================================================
RCS file: /cvs/ports/x11/fvwm3/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- distinfo    22 Jan 2023 12:11:26 -0000      1.3
+++ distinfo    28 Aug 2023 21:29:04 -0000
@@ -1,2 +1,2 @@
-SHA256 (fvwm3-1.0.6a.tar.gz) = RmWmYTPgcLeRkXsHlMxt9rdUZ56+kTBxhCfbZHm7W2g=
-SIZE (fvwm3-1.0.6a.tar.gz) = 4538100
+SHA256 (fvwm3-1.0.7.tar.gz) = OqzXz+/2DbG82cdzMtxXX+dxHS0wbwR5UlN43G2z0x4=
+SIZE (fvwm3-1.0.7.tar.gz) = 4512128
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/x11/fvwm3/patches/patch-configure,v
retrieving revision 1.3
diff -u -p -r1.3 patch-configure
--- patches/patch-configure     13 Oct 2022 16:00:45 -0000      1.3
+++ patches/patch-configure     28 Aug 2023 21:29:04 -0000
@@ -1,7 +1,7 @@
 Index: configure
 --- configure.orig
 +++ configure
-@@ -11779,7 +11779,7 @@ then :
+@@ -11726,7 +11726,7 @@ then :
  else $as_nop
  
      with_intl=maybe
Index: patches/patch-default-config_Makefile_in
===================================================================
RCS file: /cvs/ports/x11/fvwm3/patches/patch-default-config_Makefile_in,v
retrieving revision 1.3
diff -u -p -r1.3 patch-default-config_Makefile_in
--- patches/patch-default-config_Makefile_in    13 Oct 2022 16:00:45 -0000      
1.3
+++ patches/patch-default-config_Makefile_in    28 Aug 2023 21:29:04 -0000
@@ -1,7 +1,7 @@
 Index: default-config/Makefile.in
 --- default-config/Makefile.in.orig
 +++ default-config/Makefile.in
-@@ -593,9 +593,10 @@ uninstall-am: uninstall-configDATA
+@@ -574,9 +574,10 @@ uninstall-am: uninstall-configDATA
  
  install-data-hook:
        cp -r $(srcdir)/images $(inst_location)/default-config
Index: patches/patch-doc_Makefile_in
===================================================================
RCS file: patches/patch-doc_Makefile_in
diff -N patches/patch-doc_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-doc_Makefile_in       28 Aug 2023 21:29:04 -0000
@@ -0,0 +1,38 @@
+Index: doc/Makefile.in
+--- doc/Makefile.in.orig
++++ doc/Makefile.in
+@@ -345,14 +345,31 @@ xrandr_LIBS = @xrandr_LIBS@
+ xt_CFLAGS = @xt_CFLAGS@
+ xt_LIBS = @xt_LIBS@
+ MODULE_ADOC_SRCS = \
++      FvwmAnimate.adoc \
++      FvwmAuto.adoc \
++      FvwmBacker.adoc \
++      FvwmButtons.adoc \
++      FvwmCommand.adoc \
++      FvwmConsole.adoc \
++      FvwmEvent.adoc \
++      FvwmForm.adoc \
++      FvwmIconMan.adoc \
++      FvwmIdent.adoc \
++      FvwmMFL.adoc \
++      FvwmPager.adoc \
++      FvwmPerl.adoc \
++      FvwmPrompt.adoc \
++      FvwmRearrange.adoc \
++      FvwmScript.adoc \
++      fvwm-convert-2.6.adoc \
++      fvwm-menu-desktop.adoc \
++      fvwm-root.adoc \
+       fvwm3.adoc \
++      fvwm3_manpage_source.adoc \
+       fvwm3all.adoc \
+       fvwm3commands.adoc \
+-      fvwm3_manpage_source.adoc \
+       fvwm3menus.adoc \
+       fvwm3styles.adoc \
+-      $(wildcard Fvwm*.adoc) \
+-      $(wildcard fvwm-*.adoc)
+ 
+ @FVWM_BUILD_GOLANG_FALSE@MODULE_ADOC = $(MODULE_ADOC_SRCS)
+ 
Index: patches/patch-fvwm_ewmh_c
===================================================================
RCS file: patches/patch-fvwm_ewmh_c
diff -N patches/patch-fvwm_ewmh_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-fvwm_ewmh_c   28 Aug 2023 21:29:04 -0000
@@ -0,0 +1,24 @@
+https://github.com/fvwmorg/fvwm3/commit/4d5a697fac3282af18cacebb6d061c92db410f1a
+Fixes https://github.com/fvwmorg/fvwm3/issues/873
+
+Index: fvwm/ewmh.c
+--- fvwm/ewmh.c.orig
++++ fvwm/ewmh.c
+@@ -458,7 +458,7 @@ void *atom_get(Window win, Atom to_get, Atom type, int
+               int asize;
+ 
+               asize = atom_size(format_ret);
+-              data = fxmalloc(num_ret * asize);
++              data = fxmalloc(num_ret * asize + 1);
+               if (format_ret == 32 && asize * 8 != format_ret)
+               {
+                       int i;
+@@ -472,7 +472,7 @@ void *atom_get(Window win, Atom to_get, Atom type, int
+               {
+                       if (data)
+                       {
+-                              memcpy(data, retval, num_ret * asize);
++                              memcpy(data, retval, num_ret * asize + 1);
+                       }
+               }
+               XFree(retval);
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/x11/fvwm3/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST
--- pkg/PLIST   22 Jan 2023 12:11:26 -0000      1.3
+++ pkg/PLIST   28 Aug 2023 21:29:04 -0000
@@ -1,3 +1,4 @@
+@conflict fvwm2-*
 bin/FvwmCommand3
 @bin bin/fvwm3
 bin/fvwm3-convert-2.6
@@ -25,9 +26,33 @@ libexec/fvwm3/${VERSION}/FvwmPerl
 @bin libexec/fvwm3/${VERSION}/FvwmRearrange
 @bin libexec/fvwm3/${VERSION}/FvwmScript
 libexec/fvwm3/${VERSION}/FvwmTalk
+@man man/man1/FvwmAnimate.1
+@man man/man1/FvwmAuto.1
+@man man/man1/FvwmBacker.1
+@man man/man1/FvwmButtons.1
+@man man/man1/FvwmCommand.1
+@man man/man1/FvwmConsole.1
+@man man/man1/FvwmEvent.1
+@man man/man1/FvwmForm.1
+@man man/man1/FvwmIconMan.1
+@man man/man1/FvwmIdent.1
+@man man/man1/FvwmMFL.1
+@man man/man1/FvwmPager.1
+@man man/man1/FvwmPerl.1
+@man man/man1/FvwmPrompt.1
+@man man/man1/FvwmRearrange.1
+@man man/man1/FvwmScript.1
+@man man/man1/fvwm3-convert-2.6.1
+@man man/man1/fvwm3-menu-desktop.1
 @man man/man1/fvwm3-menu-directory.1
 @man man/man1/fvwm3-menu-xlock.1
 @man man/man1/fvwm3-perllib.1
+@man man/man1/fvwm3-root.1
+@man man/man1/fvwm3.1
+@man man/man1/fvwm3all.1
+@man man/man1/fvwm3commands.1
+@man man/man1/fvwm3menus.1
+@man man/man1/fvwm3styles.1
 share/fvwm3/
 share/fvwm3/ConfigFvwmBacker
 share/fvwm3/ConfigFvwmButtons

Reply via email to