The attached diff updates jgmenu.
The update matches Debian testing and is one minor version beyond
FreeBSD.
This update add a fourth method of menu generation - apps. "apps" is an
internal menu generator that duplicates the function of x11/menu-cache
while being significantly faster.
Builds/runs amd64. make ports-lib-depends-check produced
Extra/ menu-cache.1 pkg/README updated for apps.
--
J. Scott Heppler
Index: x11/jgmenu/Makefile
===================================================================
RCS file: /cvs/ports/x11/jgmenu/Makefile,v
retrieving revision 1.13
diff -u -p -u -r1.13 Makefile
--- x11/jgmenu/Makefile 13 Nov 2022 15:30:22 -0000 1.13
+++ x11/jgmenu/Makefile 20 Nov 2022 23:34:02 -0000
@@ -3,8 +3,7 @@ CATEGORIES = x11
GH_ACCOUNT = johanmalm
GH_PROJECT = jgmenu
-GH_TAGNAME = v2.1
-REVISION = 6
+GH_TAGNAME = v4.4.1
# GPLv2 only
PERMIT_PACKAGE = Yes
@@ -26,7 +25,7 @@ LIB_DEPENDS = x11/gnome/librsvg \
RUN_DEPENDS = devel/desktop-file-utils \
x11/gtk+3,-guic
-CONFIGURE_STYLE = none
+CONFIGURE_STYLE = gnu
USE_GMAKE = Yes
MAKE_FLAGS = VERBOSE=1
Index: x11/jgmenu/distinfo
===================================================================
RCS file: /cvs/ports/x11/jgmenu/distinfo,v
retrieving revision 1.2
diff -u -p -u -r1.2 distinfo
--- x11/jgmenu/distinfo 26 Feb 2019 16:16:05 -0000 1.2
+++ x11/jgmenu/distinfo 20 Nov 2022 23:34:02 -0000
@@ -1,2 +1,2 @@
-SHA256 (jgmenu-2.1.tar.gz) = rtB7PRVsAn4uS2Kvv5b4+RstWRRvT22Hc8SNMV81rz8=
-SIZE (jgmenu-2.1.tar.gz) = 330256
+SHA256 (jgmenu-4.4.1.tar.gz) = FkGU652nzO3M+0d5ZWCyprD3NK5sXDh47BhPfP5/jzI=
+SIZE (jgmenu-4.4.1.tar.gz) = 382258
Index: x11/jgmenu/patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/x11/jgmenu/patches/patch-Makefile,v
retrieving revision 1.2
diff -u -p -u -r1.2 patch-Makefile
--- x11/jgmenu/patches/patch-Makefile 11 Mar 2022 20:16:09 -0000 1.2
+++ x11/jgmenu/patches/patch-Makefile 20 Nov 2022 23:34:02 -0000
@@ -1,42 +1,32 @@
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: ;
+@@ -80,17 +80,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)
-- @install -m755 $(PROGS_LIBEXEC) $(SCRIPTS_LIBEXEC)
$(DESTDIR)$(libexecdir)
-- @./scripts/set-exec-path.sh $(DESTDIR)$(bindir)/jgmenu_run $(libexecdir)
+- @install -d $(DESTDIR)$(libexecdir)/jgmenu
+- @install -m755 $(PROGS_LIBEXEC) $(SCRIPTS_LIBEXEC)
$(DESTDIR)$(libexecdir)/jgmenu
+- @./scripts/set-exec-path.sh $(DESTDIR)$(bindir)/jgmenu_run
$(libexecdir)/jgmenu
- @$(MAKE) --no-print-directory -C docs/manual/ prefix=$(prefix) install
- @install -d $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/
- @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)
-+ install -m755 $(PROGS_LIBEXEC) $(SCRIPTS_LIBEXEC)
$(DESTDIR)$(libexecdir)
-+ ./scripts/set-exec-path.sh $(DESTDIR)$(bindir)/jgmenu_run $(libexecdir)
++ install -d $(DESTDIR)$(libexecdir)/jgmenu
++ install -m755 $(PROGS_LIBEXEC) $(SCRIPTS_LIBEXEC)
$(DESTDIR)$(libexecdir)/jgmenu
++ ./scripts/set-exec-path.sh $(DESTDIR)$(bindir)/jgmenu_run
$(libexecdir)/jgmenu
+ $(MAKE) --no-print-directory -C docs/manual/ prefix=$(prefix) install
+ install -d $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/
+ 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: x11/jgmenu/patches/patch-docs_manual_Makefile
===================================================================
RCS file: /cvs/ports/x11/jgmenu/patches/patch-docs_manual_Makefile,v
retrieving revision 1.2
diff -u -p -u -r1.2 patch-docs_manual_Makefile
--- x11/jgmenu/patches/patch-docs_manual_Makefile 11 Mar 2022 20:16:09
-0000 1.2
+++ x11/jgmenu/patches/patch-docs_manual_Makefile 20 Nov 2022 23:34:02
-0000
@@ -1,7 +1,7 @@
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: x11/jgmenu/patches/patch-src_jgmenu_run
===================================================================
RCS file: /cvs/ports/x11/jgmenu/patches/patch-src_jgmenu_run,v
retrieving revision 1.2
diff -u -p -u -r1.2 patch-src_jgmenu_run
--- x11/jgmenu/patches/patch-src_jgmenu_run 11 Mar 2022 20:16:09 -0000
1.2
+++ x11/jgmenu/patches/patch-src_jgmenu_run 20 Nov 2022 23:34:02 -0000
@@ -1,7 +1,7 @@
Index: src/jgmenu_run
--- src/jgmenu_run.orig
+++ src/jgmenu_run
-@@ -57,7 +57,7 @@ then
+@@ -58,7 +58,7 @@ then
if test -e ${JGMENU_LOCKFILE}
then
send_tint2_env_vars_to_jgmenu
Index: x11/jgmenu/pkg/PLIST
===================================================================
RCS file: /cvs/ports/x11/jgmenu/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -u -r1.3 PLIST
--- x11/jgmenu/pkg/PLIST 11 Mar 2022 20:16:09 -0000 1.3
+++ x11/jgmenu/pkg/PLIST 20 Nov 2022 23:34:02 -0000
@@ -1,22 +1,26 @@
@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
-lib/jgmenu/jgmenu-pmenu.py
+@bin lib/jgmenu/jgmenu-obtheme
@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-i18n.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: x11/jgmenu/pkg/README
===================================================================
RCS file: /cvs/ports/x11/jgmenu/pkg/README,v
retrieving revision 1.2
diff -u -p -u -r1.2 README
--- x11/jgmenu/pkg/README 11 Mar 2022 20:16:09 -0000 1.2
+++ x11/jgmenu/pkg/README 20 Nov 2022 23:34:02 -0000
@@ -5,10 +5,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' utilizes an internal menu cache which utilize
+ gnome(mate)-menu. It is faster than the remaining options.
+ 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' with python3 text parsing
+
+Since v2.1, there have been some ~/.config/jgmenu/jgmenurc syntax changes
+detailed in jgmenu(1).
For those running Openbox, the first method provides automatic, FreeDesktop
compliant, menu generation. The second method will source a manually edited