summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/ncurses/ncurses.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/ncurses/ncurses.inc')
-rw-r--r--meta/recipes-core/ncurses/ncurses.inc58
1 files changed, 26 insertions, 32 deletions
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index ef59bc3b0a..761b6a3d31 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -2,10 +2,10 @@ SUMMARY = "The New Curses library"
2DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library." 2DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library."
3HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html" 3HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
4LICENSE = "MIT" 4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=5526f2f3a29edc95538b368a4771edda" 5LIC_FILES_CHKSUM = "file://COPYING;md5=c5a4600fdef86384c41ca33ecc70a4b8;endline=27"
6SECTION = "libs" 6SECTION = "libs"
7DEPENDS = "ncurses-native" 7DEPENDS = "ncurses-native"
8DEPENDS_class-native = "" 8DEPENDS:class-native = ""
9 9
10BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \ 10BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \
11 ${bindir}/ncurses6-config ${bindir}/ncursesw6-config" 11 ${bindir}/ncurses6-config ${bindir}/ncursesw6-config"
@@ -13,11 +13,12 @@ BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \
13inherit autotools binconfig-disabled multilib_header pkgconfig 13inherit autotools binconfig-disabled multilib_header pkgconfig
14 14
15# Upstream has useful patches at times at ftp://invisible-island.net/ncurses/ 15# Upstream has useful patches at times at ftp://invisible-island.net/ncurses/
16SRC_URI = "git://salsa.debian.org/debian/ncurses.git;protocol=https" 16SRC_URI = "git://github.com/mirror/ncurses.git;protocol=https;branch=master"
17 17
18EXTRA_AUTORECONF = "-I m4" 18EXTRA_AUTORECONF = "-I m4"
19 19
20CACHED_CONFIGUREVARS = "cf_cv_func_nanosleep=yes" 20CACHED_CONFIGUREVARS = "cf_cv_func_nanosleep=yes"
21CACHED_CONFIGUREVARS:append:linux = " cf_cv_working_poll=yes"
21 22
22EXTRASITECONFIG = "CFLAGS='${CFLAGS} -I${SYSROOT_DESTDIR}${includedir}'" 23EXTRASITECONFIG = "CFLAGS='${CFLAGS} -I${SYSROOT_DESTDIR}${includedir}'"
23 24
@@ -26,23 +27,21 @@ EXTRASITECONFIG = "CFLAGS='${CFLAGS} -I${SYSROOT_DESTDIR}${includedir}'"
26# TODO: remove this variable when widec is supported in every setup? 27# TODO: remove this variable when widec is supported in every setup?
27ENABLE_WIDEC ?= "true" 28ENABLE_WIDEC ?= "true"
28 29
29# _GNU_SOURCE is required for widec stuff and is detected automatically 30# _GNU_SOURCE is required for widec stuff and is not detected automatically
30# for target objects. But it must be set manually for native and sdk 31CPPFLAGS += "-D_GNU_SOURCE"
31# builds.
32BUILD_CPPFLAGS += "-D_GNU_SOURCE"
33 32
34# natives don't generally look in base_libdir 33# natives don't generally look in base_libdir
35base_libdir_class-native = "${libdir}" 34base_libdir:class-native = "${libdir}"
36 35
37# Display corruption occurs on 64 bit hosts without these settings 36# Display corruption occurs on 64 bit hosts without these settings
38# This was derrived from the upstream debian ncurses which uses 37# This was derrived from the upstream debian ncurses which uses
39# these settings for 32 and 64 bit hosts. 38# these settings for 32 and 64 bit hosts.
40EXCONFIG_ARGS = "" 39EXCONFIG_ARGS = ""
41EXCONFIG_ARGS_class-native = " \ 40EXCONFIG_ARGS:class-native = " \
42 --disable-lp64 \ 41 --disable-lp64 \
43 --with-chtype='long' \ 42 --with-chtype='long' \
44 --with-mmask-t='long'" 43 --with-mmask-t='long'"
45EXCONFIG_ARGS_class-nativesdk = " \ 44EXCONFIG_ARGS:class-nativesdk = " \
46 --disable-lp64 \ 45 --disable-lp64 \
47 --with-chtype='long' \ 46 --with-chtype='long' \
48 --with-mmask-t='long'" 47 --with-mmask-t='long'"
@@ -55,11 +54,11 @@ PACKAGES_DYNAMIC = "^${PN}-lib.*"
55# because the sstate had a hard coded search path. Until this is fixed 54# because the sstate had a hard coded search path. Until this is fixed
56# another way this is deemed good enough. 55# another way this is deemed good enough.
57EX_TERMCAP = "" 56EX_TERMCAP = ""
58EX_TERMCAP_class-native = ":/etc/termcap:/usr/share/misc/termcap" 57EX_TERMCAP:class-native = ":/etc/termcap:/usr/share/misc/termcap"
59EX_TERMCAP_class-nativesdk = ":/etc/termcap:/usr/share/misc/termcap" 58EX_TERMCAP:class-nativesdk = ":/etc/termcap:/usr/share/misc/termcap"
60EX_TERMINFO = "" 59EX_TERMINFO = ""
61EX_TERMINFO_class-native = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo" 60EX_TERMINFO:class-native = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
62EX_TERMINFO_class-nativesdk = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo" 61EX_TERMINFO:class-nativesdk = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
63EX_TERMLIB ?= "tinfo" 62EX_TERMLIB ?= "tinfo"
64 63
65# Helper function for do_configure to allow multiple configurations 64# Helper function for do_configure to allow multiple configurations
@@ -98,10 +97,6 @@ ncurses_configure() {
98# patched autoconf213 to generate the configure script. This autoconf 97# patched autoconf213 to generate the configure script. This autoconf
99# is not available so that the shipped script will be used. 98# is not available so that the shipped script will be used.
100do_configure() { 99do_configure() {
101 # check does not work with cross-compiling and is generally
102 # broken because it requires stdin to be pollable (which is
103 # not the case for /dev/null redirections)
104 export cf_cv_working_poll=yes
105 #Remove ${includedir} from CPPFLAGS, need for cross compile 100 #Remove ${includedir} from CPPFLAGS, need for cross compile
106 sed -i 's#-I${cf_includedir}##g' ${S}/configure || die "sed CPPFLAGS" 101 sed -i 's#-I${cf_includedir}##g' ${S}/configure || die "sed CPPFLAGS"
107 102
@@ -242,10 +237,9 @@ do_install() {
242 mv ${D}${libdir}/libtinfo.so.* ${D}${base_libdir} 237 mv ${D}${libdir}/libtinfo.so.* ${D}${base_libdir}
243 rm ${D}${libdir}/libtinfo.so 238 rm ${D}${libdir}/libtinfo.so
244 239
245 # Use lnr to ensure this is a relative link despite absolute paths 240 # Use ln -rs to ensure this is a relative link despite absolute paths
246 # (as we can't know the relationship between base_libdir and libdir). 241 # (as we can't know the relationship between base_libdir and libdir).
247 # At some point we can rely on coreutils 8.16 which has ln -r. 242 ln -rs ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so
248 lnr ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so
249 fi 243 fi
250 if [ -d "${D}${includedir}/ncurses" ]; then 244 if [ -d "${D}${includedir}/ncurses" ]; then
251 for f in `find ${D}${includedir}/ncurses -name "*.h"` 245 for f in `find ${D}${includedir}/ncurses -name "*.h"`
@@ -258,7 +252,7 @@ do_install() {
258 oe_multilib_header curses.h 252 oe_multilib_header curses.h
259} 253}
260 254
261python populate_packages_prepend () { 255python populate_packages:prepend () {
262 libdir = d.expand("${libdir}") 256 libdir = d.expand("${libdir}")
263 base_libdir = d.expand("${base_libdir}") 257 base_libdir = d.expand("${base_libdir}")
264 pnbase = d.expand("${PN}-lib%s") 258 pnbase = d.expand("${PN}-lib%s")
@@ -272,8 +266,8 @@ inherit update-alternatives
272 266
273ALTERNATIVE_PRIORITY = "100" 267ALTERNATIVE_PRIORITY = "100"
274 268
275ALTERNATIVE_ncurses-tools_class-target = "clear reset" 269ALTERNATIVE:ncurses-tools:class-target = "clear reset"
276ALTERNATIVE_ncurses-terminfo_class-target = "st st-256color" 270ALTERNATIVE:ncurses-terminfo:class-target = "st st-256color"
277 271
278ALTERNATIVE_LINK_NAME[st] = "${datadir}/terminfo/s/st" 272ALTERNATIVE_LINK_NAME[st] = "${datadir}/terminfo/s/st"
279 273
@@ -287,7 +281,7 @@ PACKAGES += " \
287 ${PN}-terminfo \ 281 ${PN}-terminfo \
288" 282"
289 283
290FILES_${PN} = "\ 284FILES:${PN} = "\
291 ${bindir}/tput \ 285 ${bindir}/tput \
292 ${bindir}/tset \ 286 ${bindir}/tset \
293 ${bindir}/ncurses5-config \ 287 ${bindir}/ncurses5-config \
@@ -299,7 +293,7 @@ FILES_${PN} = "\
299 293
300# This keeps only tput/tset in ncurses 294# This keeps only tput/tset in ncurses
301# clear/reset are in already busybox 295# clear/reset are in already busybox
302FILES_${PN}-tools = "\ 296FILES:${PN}-tools = "\
303 ${bindir}/tic \ 297 ${bindir}/tic \
304 ${bindir}/toe \ 298 ${bindir}/toe \
305 ${bindir}/infotocap \ 299 ${bindir}/infotocap \
@@ -312,20 +306,20 @@ FILES_${PN}-tools = "\
312" 306"
313 307
314# 'reset' is a symlink to 'tset' which is in the 'ncurses' package 308# 'reset' is a symlink to 'tset' which is in the 'ncurses' package
315RDEPENDS_${PN}-tools = "${PN} ${PN}-terminfo-base" 309RDEPENDS:${PN}-tools = "${PN} ${PN}-terminfo-base"
316 310
317FILES_${PN}-terminfo = "\ 311FILES:${PN}-terminfo = "\
318 ${datadir}/terminfo \ 312 ${datadir}/terminfo \
319" 313"
320 314
321FILES_${PN}-terminfo-base = "\ 315FILES:${PN}-terminfo-base = "\
322 ${sysconfdir}/terminfo \ 316 ${sysconfdir}/terminfo \
323" 317"
324 318
325RSUGGESTS_${PN}-libtinfo = "${PN}-terminfo" 319RSUGGESTS:${PN}-libtinfo = "${PN}-terminfo"
326RRECOMMENDS_${PN}-libtinfo = "${PN}-terminfo-base" 320RRECOMMENDS:${PN}-libtinfo = "${PN}-terminfo-base"
327 321
328# Putting terminfo into the sysroot adds around 2800 files to 322# Putting terminfo into the sysroot adds around 2800 files to
329# each recipe specific sysroot. We can live without this, particularly 323# each recipe specific sysroot. We can live without this, particularly
330# as many recipes may have native and target copies. 324# as many recipes may have native and target copies.
331SYSROOT_DIRS_remove = "${datadir}" 325SYSROOT_DIRS:remove = "${datadir}"