kumquat-buildroot/package/tmux/tmux.mk
Fabrice Fontaine 54237eec44 package/tmux: fix BR2_SHARED_STATIC_LIBS
tmux uses custom --enable-static option to drive whether a static link
should be attempted, which is not what the standard libtool directive
is about and that we pass in our autotools-package infra.

This results in the following build failure with systemd or utf8proc
raised since commits 1f618aa388 and
e279599d25:

checking for utf8proc.h... yes
checking for library containing utf8proc_charwidth... no
configure: error: "utf8proc not found"

In file included from tmux.h:34,
                 from alerts.c:23:
compat.h:379:18: error: conflicting types for 'forkpty'; have 'pid_t(int *, char *, struct termios *, struct winsize *)' {aka 'int(int *, char *, struct termios *, struct winsize *)'}
  379 | pid_t            forkpty(int *, char *, struct termios *, struct winsize *);
      |                  ^~~~~~~

Link to (closed) upstream issue:
https://github.com/tmux/tmux/issues/3290

Fixes:
 - http://autobuild.buildroot.org/results/6e8523d8d514bf6d8fc3377d05e5edbe7fc2d5bb
 - http://autobuild.buildroot.org/results/cba06f3bb6d9be25e91f56c390a70ddf9904832e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-02-20 22:07:18 +01:00

43 lines
1.2 KiB
Makefile

################################################################################
#
# tmux
#
################################################################################
TMUX_VERSION = 3.3a
TMUX_SITE = https://github.com/tmux/tmux/releases/download/$(TMUX_VERSION)
TMUX_LICENSE = ISC
TMUX_LICENSE_FILES = COPYING
TMUX_CPE_ID_VENDOR = tmux_project
TMUX_DEPENDENCIES = libevent ncurses host-pkgconf
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
TMUX_DEPENDENCIES += systemd
TMUX_CONF_OPTS += --enable-systemd
else
TMUX_CONF_OPTS += --disable-systemd
endif
ifeq ($(BR2_PACKAGE_UTF8PROC),y)
TMUX_DEPENDENCIES += utf8proc
TMUX_CONF_OPTS += --enable-utf8proc
else
TMUX_CONF_OPTS += --disable-utf8proc
endif
# tmux uses custom --enable-static option, instead of standard libtool
# directive resulting in a build failure with systemd or utf8proc
ifeq ($(BR2_SHARED_STATIC_LIBS),y)
TMUX_CONF_OPTS += --disable-static
endif
# Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear
# can reject the user connection. See man shells.
define TMUX_ADD_TMUX_TO_SHELLS
grep -qsE '^/usr/bin/tmux$$' $(TARGET_DIR)/etc/shells \
|| echo "/usr/bin/tmux" >> $(TARGET_DIR)/etc/shells
endef
TMUX_TARGET_FINALIZE_HOOKS += TMUX_ADD_TMUX_TO_SHELLS
$(eval $(autotools-package))