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).