* [Buildroot] [PATCH v4] Add gpm (general purpose mouse) server package
@ 2014-01-29 18:20 julien.boibessot at free.fr
2014-01-29 18:39 ` Yann E. MORIN
2014-02-02 20:54 ` Peter Korsgaard
0 siblings, 2 replies; 3+ messages in thread
From: julien.boibessot at free.fr @ 2014-01-29 18:20 UTC (permalink / raw)
To: buildroot
From: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
Changes since v3:
- As recommended by Thomas:
* cleanup Config.in menu entries
Changes since v2:
- As recommended by Yann:
* spell check
* use BR autoconf/make/libtool but in SDL package way
* put optionnal GPM_REMOVE_TEST_TOOLS_FROM_TARGET into ifeq
Changes since v1:
- 80x # in gpm.mk banner
- As recommended by Romain:
* remove possible circular dependency with ncurses
* don't allow package selection when BR2_PREFER_STATIC_LIB=y
* fixes headers path when gpm wants to build its dependencies rules
package/Config.in | 1 +
package/gpm/Config.in | 24 ++++++++++++++++++++++
package/gpm/gpm.mk | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 77 insertions(+), 0 deletions(-)
create mode 100644 package/gpm/Config.in
create mode 100644 package/gpm/gpm.mk
diff --git a/package/Config.in b/package/Config.in
index 78c0e06..d52c65e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -290,6 +290,7 @@ source "package/fmtools/Config.in"
source "package/freescale-imx/Config.in"
source "package/fxload/Config.in"
source "package/gadgetfs-test/Config.in"
+source "package/gpm/Config.in"
source "package/gpsd/Config.in"
source "package/gptfdisk/Config.in"
source "package/gvfs/Config.in"
diff --git a/package/gpm/Config.in b/package/gpm/Config.in
new file mode 100644
index 0000000..2121e71
--- /dev/null
+++ b/package/gpm/Config.in
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_GPM
+ bool "gpm"
+ depends on !BR2_PREFER_STATIC_LIB
+ help
+ "gpm" means general purpose mouse (server) and provides mouse support
+ for Linux virtual consoles.
+ gpm-root (to draw menus in current virtual console; config file in
+ /etc/gpm-root.conf) and disable-paste (to disable paste buffer for
+ security reasons), will also be installed.
+
+ http://www.nico.schottelius.org/software/gpm/
+
+if BR2_PACKAGE_GPM
+
+config BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS
+ bool "install test tools"
+ help
+ Install gpm test tools (get-versions, mev, hltest, mouse-test,
+ display-buttons & display-coords).
+
+endif
+
+comment "gpm mouse server needs a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB
diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk
new file mode 100644
index 0000000..01b30d4
--- /dev/null
+++ b/package/gpm/gpm.mk
@@ -0,0 +1,52 @@
+###############################################################################
+#
+# gpm
+#
+###############################################################################
+
+GPM_VERSION = 1.20.7
+GPM_SOURCE = gpm-$(GPM_VERSION).tar.bz2
+GPM_SITE = http://www.nico.schottelius.org/software/gpm/archives/
+GPM_LICENSE = GPLv2+
+GPM_LICENSE_FILES = COPYING
+GPM_INSTALL_STAGING = YES
+
+# if not already installed in staging dir, gpm Makefile may fail to find some
+# of the headers needed to generate build dependencies, the first time it is
+# built. CPPFLAGS is used to pass the right include path to dependency rules.
+GPM_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -I$(@D)/src/headers/"
+
+# gpm and ncurses have a circular dependency. As gpm function GPM_Wgetch()
+# (requiring ncurses) is not recommended for use by ncurses people themselves
+# and as it's better to have gpm support in ncurses that the contrary, we force
+# gpm to not look after ncurses explicitly.
+# http://invisible-island.net/ncurses/ncurses.faq.html#using_gpm_lib
+GPM_CONF_OPT = --without-curses
+
+# configure is missing but gpm seems not compatible with our autoreconf
+# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES
+define GPM_RUN_AUTOGEN
+ cd $(@D) && PATH=$(HOST_PATH) ./autogen.sh
+endef
+
+GPM_POST_PATCH_HOOKS += GPM_RUN_AUTOGEN
+GPM_DEPENDENCIES += host-automake host-autoconf host-libtool
+
+ifeq ($(BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS),)
+define GPM_REMOVE_TEST_TOOLS_FROM_TARGET
+ for tools in mev hltest mouse-test display-buttons \
+ get-versions display-coords; do \
+ rm -f $(TARGET_DIR)/usr/bin/$$tools ; \
+ done
+endef
+
+GPM_POST_INSTALL_TARGET_HOOKS += GPM_REMOVE_TEST_TOOLS_FROM_TARGET
+endif
+
+define GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
+ $(INSTALL) -m 0644 -D $(@D)/conf/gpm-root.conf $(TARGET_DIR)/etc/
+endef
+
+GPM_POST_INSTALL_TARGET_HOOKS += GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
+
+$(eval $(autotools-package))
--
1.7.5.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v4] Add gpm (general purpose mouse) server package
2014-01-29 18:20 [Buildroot] [PATCH v4] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
@ 2014-01-29 18:39 ` Yann E. MORIN
2014-02-02 20:54 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2014-01-29 18:39 UTC (permalink / raw)
To: buildroot
Julien, All,
On 2014-01-29 19:20 +0100, julien.boibessot at free.fr spake thusly:
> From: Julien Boibessot <julien.boibessot@armadeus.com>
> diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk
> new file mode 100644
> index 0000000..01b30d4
> --- /dev/null
> +++ b/package/gpm/gpm.mk
> @@ -0,0 +1,52 @@
[--SNIP--]
> +# configure is missing but gpm seems not compatible with our autoreconf
> +# mechanism so we have to do it manually instead of using GPM_AUTORECONF = YES
> +define GPM_RUN_AUTOGEN
> + cd $(@D) && PATH=$(HOST_PATH) ./autogen.sh
> +endef
> +
> +GPM_POST_PATCH_HOOKS += GPM_RUN_AUTOGEN
> +GPM_DEPENDENCIES += host-automake host-autoconf host-libtool
Nitpick: I prefer we "coalesce" the *_HOOKS lines directly below the
define, and add an empty line _fater_ the *_HOOKS (not before liek you
did), like:
define GPM_RUN_AUTOGEN
cd $(@D) && PATH=$(HOST_PATH) ./autogen.sh
endef
GPM_POST_PATCH_HOOKS += GPM_RUN_AUTOGEN
GPM_DEPENDENCIES += host-automake host-autoconf host-libtool
It looks more natural to me, otherwise one has to train his eyes to spot
the _HOOKS line.
Besides, in your case, the _HOOKS line is directly tied to another
assignment, which makes it look like they belong to the same 'semantic'
block, so the brain (mine, at least!) automatically skips over it,
desparately looking for the _HOOKS line later in the file... Yes, I'm a
bizare guy, but yet... ;-)
> +ifeq ($(BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS),)
> +define GPM_REMOVE_TEST_TOOLS_FROM_TARGET
> + for tools in mev hltest mouse-test display-buttons \
> + get-versions display-coords; do \
> + rm -f $(TARGET_DIR)/usr/bin/$$tools ; \
> + done
> +endef
> +
Ditto, remove this empty line
> +GPM_POST_INSTALL_TARGET_HOOKS += GPM_REMOVE_TEST_TOOLS_FROM_TARGET
> +endif
> +
> +define GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
> + $(INSTALL) -m 0644 -D $(@D)/conf/gpm-root.conf $(TARGET_DIR)/etc/
> +endef
> +
Ditto again.
> +GPM_POST_INSTALL_TARGET_HOOKS += GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
> +
> +$(eval $(autotools-package))
Anyway, if Peter likes it that way, I won't object much! ;-)
So:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v4] Add gpm (general purpose mouse) server package
2014-01-29 18:20 [Buildroot] [PATCH v4] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
2014-01-29 18:39 ` Yann E. MORIN
@ 2014-02-02 20:54 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2014-02-02 20:54 UTC (permalink / raw)
To: buildroot
>>>>> "julien" == julien boibessot <julien.boibessot@free.fr> writes:
> From: Julien Boibessot <julien.boibessot@armadeus.com>
> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
> Changes since v3:
> - As recommended by Thomas:
> * cleanup Config.in menu entries
Committed with the minor whitespace fixes pointed out by Yann, thanks!
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-02-02 20:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-29 18:20 [Buildroot] [PATCH v4] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
2014-01-29 18:39 ` Yann E. MORIN
2014-02-02 20:54 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox