Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3] Add gpm (general purpose mouse) server package
@ 2014-01-29 13:02 julien.boibessot at free.fr
  2014-01-29 15:03 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: julien.boibessot at free.fr @ 2014-01-29 13:02 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 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..d20e392
--- /dev/null
+++ b/package/gpm/Config.in
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_GPM
+	bool "gpm mouse server"
+	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 gpm test tools also"
+	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] 2+ messages in thread

* [Buildroot] [PATCH v3] Add gpm (general purpose mouse) server package
  2014-01-29 13:02 [Buildroot] [PATCH v3] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
@ 2014-01-29 15:03 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2014-01-29 15:03 UTC (permalink / raw)
  To: buildroot

Julien,

On Wed, 29 Jan 2014 14:02:05 +0100, julien.boibessot at free.fr wrote:

> diff --git a/package/gpm/Config.in b/package/gpm/Config.in
> new file mode 100644
> index 0000000..d20e392
> --- /dev/null
> +++ b/package/gpm/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_GPM
> +	bool "gpm mouse server"

I believe we normally don't describe what the component is in its short
description. It should just be the name, i.e "gpm", unless the name of
the project is really "gpm mouse server".

> +config BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS
> +	bool "install gpm test tools also"

Why do we have "also" here ? This should probably just be:

	bool "install test tools"

there is no need to repeat "gpm", because this option is automatically
shown "under" the gpm option.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-01-29 15:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-29 13:02 [Buildroot] [PATCH v3] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
2014-01-29 15:03 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox