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