This update provides a new C coded menu generator - apps.
Apps is fast, needs minimal dependencies and support icons.
The previous menu generators, lx (menu-cache and gnome-menus),
pmenu (python3 text parsing) and ob (openbox menu.xml) are included

https://github.com/johanmalm/jgmenu/blob/master/docs/relnotes/4.0.1.txt

All 4 menu generators run in amd64-current.  Testing on additional
platforms, port reviews and consideration for commit appreciated.

--
J. Scott Heppler
Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/jgmenu/Makefile,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 Makefile
--- Makefile	12 Jul 2019 20:51:14 -0000	1.6
+++ Makefile	19 Jan 2020 23:10:59 -0000
@@ -5,8 +5,7 @@ CATEGORIES =	x11
 
 GH_ACCOUNT =	johanmalm
 GH_PROJECT =	jgmenu
-GH_TAGNAME =	v2.1
-REVISION =	1
+GH_TAGNAME =	v4.0.1
 
 # GPLv2 only
 PERMIT_PACKAGE =	Yes
@@ -19,6 +18,7 @@ WANTLIB += pangocairo-1.0 png pthread rs
 COMPILER =	base-clang ports-gcc
 
 MODULES =		lang/python
+
 MODPY_VERSION =		${MODPY_DEFAULT_VERSION_3}
 MODPY_BUILDDEP =	No
 MODPY_SETUPTOOLS =	No
@@ -29,7 +29,9 @@ LIB_DEPENDS =	x11/gnome/librsvg \
 RUN_DEPENDS =	devel/desktop-file-utils \
                 x11/gtk+3,-guic
 
-CONFIGURE_STYLE =	none
+CONFIGURE_STYLE =	gnu
+
+CONFIGURE_ARGS =	--with-lx --with-pmenu
 
 USE_GMAKE =	Yes
 MAKE_FLAGS =	VERBOSE=1
Index: distinfo
===================================================================
RCS file: /cvs/ports/x11/jgmenu/distinfo,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 distinfo
--- distinfo	26 Feb 2019 16:16:05 -0000	1.2
+++ distinfo	19 Jan 2020 23:10:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (jgmenu-2.1.tar.gz) = rtB7PRVsAn4uS2Kvv5b4+RstWRRvT22Hc8SNMV81rz8=
-SIZE (jgmenu-2.1.tar.gz) = 330256
+SHA256 (jgmenu-4.0.1.tar.gz) = AAk+hTjtkgXOfiED8iGqmgt1dPp+IJKXsHZ1Tb/FxMc=
+SIZE (jgmenu-4.0.1.tar.gz) = 371988
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/x11/jgmenu/patches/patch-Makefile,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-Makefile
--- patches/patch-Makefile	26 Feb 2019 16:16:05 -0000	1.1
+++ patches/patch-Makefile	19 Jan 2020 23:10:59 -0000
@@ -1,21 +1,12 @@
-$OpenBSD: patch-Makefile,v 1.1 2019/02/26 16:16:05 sthen Exp $
+$OpenBSD$
 
 Index: Makefile
 --- Makefile.orig
 +++ Makefile
-@@ -24,7 +24,7 @@ else
- datarootdir= $(prefix)/share
- endif
- 
--CFLAGS  += -g -Wall -Os -std=gnu89
-+CFLAGS  += -Wall -std=gnu89
- CFLAGS  += -Wextra -Wdeclaration-after-statement -Wno-format-zero-length \
- 	   -Wold-style-definition -Woverflow -Wpointer-arith \
- 	   -Wstrict-prototypes -Wunused -Wvla -Wunused-result
-@@ -100,18 +100,18 @@ $(DEPDIR)/%.d: ;
+@@ -76,17 +76,17 @@ $(DEPDIR)/%.d: ;
  .PRECIOUS: $(DEPDIR)/%.d
  
- install: checkdeps $(PROGS)
+ install: $(PROGS)
 -	@install -d $(DESTDIR)$(bindir)
 -	@install -m755 jgmenu src/jgmenu_run $(DESTDIR)$(bindir)
 -	@install -d $(DESTDIR)$(libexecdir)
@@ -26,6 +17,7 @@ Index: Makefile
 -	@install -d $(DESTDIR)$(datarootdir)/applications/
 -	@install -m644 ./data/jgmenu.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/
 -	@install -m644 ./data/jgmenu.desktop $(DESTDIR)$(datarootdir)/applications/
+-	@for dir in $(CONTRIB_DIRS); do				\
 +	install -d $(DESTDIR)$(bindir)
 +	install -m755 jgmenu src/jgmenu_run $(DESTDIR)$(bindir)
 +	install -d $(DESTDIR)$(libexecdir)
@@ -36,9 +28,7 @@ Index: Makefile
 +	install -d $(DESTDIR)$(datarootdir)/applications/
 +	install -m644 ./data/jgmenu.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/
 +	install -m644 ./data/jgmenu.desktop $(DESTDIR)$(datarootdir)/applications/
- ifeq ($(NO_LX),1)
--	@echo "info: lx module not included as libmenu-cache >=1.1.0 not found"
-+	echo "info: lx module not included as libmenu-cache >=1.1.0 not found"
- endif
++	for dir in $(CONTRIB_DIRS); do				\
+ 		$(MAKE) -C contrib/$$dir install || exit 1;	\
+ 	done
  
- # We are not brave enough to uninstall in /usr/, /usr/local/ etc
Index: patches/patch-Makefile_inc
===================================================================
RCS file: patches/patch-Makefile_inc
diff -N patches/patch-Makefile_inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Makefile_inc	19 Jan 2020 23:10:59 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: Makefile.inc
+--- Makefile.inc.orig
++++ Makefile.inc
+@@ -10,7 +10,7 @@ else
+ datarootdir= $(prefix)/share
+ endif
+ 
+-CFLAGS  += -g -Wall -Os -std=gnu99
++CFLAGS  += -Wall -std=gnu99
+ CFLAGS  += -Wextra -Wdeclaration-after-statement -Wno-format-zero-length \
+ 	   -Wold-style-definition -Woverflow -Wpointer-arith \
+ 	   -Wstrict-prototypes -Wunused -Wvla -Wunused-result
Index: patches/patch-docs_manual_Makefile
===================================================================
RCS file: /cvs/ports/x11/jgmenu/patches/patch-docs_manual_Makefile,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 patch-docs_manual_Makefile
--- patches/patch-docs_manual_Makefile	3 Feb 2019 15:47:09 -0000	1.1.1.1
+++ patches/patch-docs_manual_Makefile	19 Jan 2020 23:10:59 -0000
@@ -1,9 +1,9 @@
-$OpenBSD: patch-docs_manual_Makefile,v 1.1.1.1 2019/02/03 15:47:09 bcallah Exp $
+$OpenBSD$
 
 Index: docs/manual/Makefile
 --- docs/manual/Makefile.orig
 +++ docs/manual/Makefile
-@@ -11,7 +11,7 @@ man7pages  = jgmenututorial.7
+@@ -4,7 +4,7 @@ man7pages  = jgmenututorial.7 jgmenuunicode.7
  manpages   = $(man1pages) $(man7pages)
  
  prefix ?= /usr/local
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/x11/jgmenu/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 PLIST
--- pkg/PLIST	26 Feb 2019 16:16:05 -0000	1.2
+++ pkg/PLIST	19 Jan 2020 23:10:59 -0000
@@ -2,22 +2,27 @@
 @bin bin/jgmenu
 bin/jgmenu_run
 lib/jgmenu/
-lib/jgmenu/jgmenu-config.py
+@bin lib/jgmenu/jgmenu-apps
+@bin lib/jgmenu/jgmenu-config
 @bin lib/jgmenu/jgmenu-greeneye
+lib/jgmenu/jgmenu-hide-app.sh
 @bin lib/jgmenu/jgmenu-i18n
 lib/jgmenu/jgmenu-init.sh
 @bin lib/jgmenu/jgmenu-lx
 @bin lib/jgmenu/jgmenu-ob
+@bin lib/jgmenu/jgmenu-obtheme
 lib/jgmenu/jgmenu-pmenu.py
 @bin lib/jgmenu/jgmenu-socket
+lib/jgmenu/jgmenu-themes.sh
 lib/jgmenu/jgmenu-unity-hack.py
-@man man/man1/jgmenu-config.1
+@man man/man1/jgmenu-apps.1
 @man man/man1/jgmenu-lx.1
 @man man/man1/jgmenu-ob.1
 @man man/man1/jgmenu-pmenu.1
 @man man/man1/jgmenu.1
 @man man/man1/jgmenu_run.1
 @man man/man7/jgmenututorial.7
+@man man/man7/jgmenuunicode.7
 share/applications/jgmenu.desktop
 share/doc/pkg-readmes/${PKGSTEM}
 share/icons/hicolor/scalable/apps/jgmenu.svg
Index: pkg/README
===================================================================
RCS file: /cvs/ports/x11/jgmenu/pkg/README,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 README
--- pkg/README	3 Feb 2019 15:47:09 -0000	1.1.1.1
+++ pkg/README	19 Jan 2020 23:10:59 -0000
@@ -7,17 +7,19 @@ $OpenBSD: README,v 1.1.1.1 2019/02/03 15
 jgmenu options
 ==============
 
-This jgmenu port can generate an X11 application menu three different ways:
-  1) 'jgmenu_run lx' using additional packages menu-cache and gnome(mate)-menus
-  2) 'jgmenu_run ob' from an existing openbox menu.xml file
-  3) 'jgmenu_run pmenu' with python3 text parsing
+This jgmenu port can generate an X11 application menu four different ways:
+  1) 'jgmenu_run apps' is fast, standalone, C-coded and supports icons 
+  2) 'jgmenu_run lx' using additional packages menu-cache and gnome(mate)-menus
+  3) 'jgmenu_run ob' from an existing openbox menu.xml file
+  4) 'jgmenu_run pmenu' uses python text parsing to generate the menu
 
-For those running Openbox, the first method provides automatic, FreeDesktop
-compliant, menu generation.  The second method will source a manually edited
-menu.xml file.  If no ~/.config/openbox/menu.xml file exists,
-/etc/xdg/openbox/menu.xml will be used.  Pmenu does not require additional
-packages but has roughly four times the latency.
+The first method provides the fastest, lightest menu.  lx provides an XDG
+compliant menu.  The third method will source a manually edited openbox menu.xml
+file.  If no ~/.config/openbox/menu.xml file exists, /etc/xdg/openbox/menu.xml
+will be used.  pmenu does not require additional packages but has roughly four
+times the latency.  pmenu can optionally use XDG menus.
 
-For other Window managers, pmenu, lx/menu-cache/gnome(mate)-menus will work.
+Apps, pmenu, lx/menu-cache/gnome(mate)-menus should work with most Window
+Managers.
 
 More details are provided in jgmenu(4) and jgmenututorial(7).

Reply via email to