SUMMARY = "The New Curses library" DESCRIPTION = "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." HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc180a8c44ca642e97c35452fab5f66" SECTION = "libs" DEPENDS = "ncurses-native" DEPENDS_class-native = "" BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config" inherit autotools binconfig-disabled multilib_header pkgconfig # Upstream has useful patches at times at ftp://invisible-island.net/ncurses/ SRC_URI = "git://anonscm.debian.org/collab-maint/ncurses.git" EXTRA_AUTORECONF = "-I m4" CONFIG_SITE =+ "${WORKDIR}/config.cache" # Whether to enable separate widec libraries; must be 'true' or 'false' # # TODO: remove this variable when widec is supported in every setup? ENABLE_WIDEC ?= "true" # _GNU_SOURCE is required for widec stuff and is detected automatically # for target objects. But it must be set manually for native and sdk # builds. BUILD_CPPFLAGS += "-D_GNU_SOURCE" # natives don't generally look in base_libdir base_libdir_class-native = "${libdir}" # Display corruption occurs on 64 bit hosts without these settings # This was derrived from the upstream debian ncurses which uses # these settings for 32 and 64 bit hosts. EXCONFIG_ARGS = "" EXCONFIG_ARGS_class-native = " \ --disable-lp64 \ --with-chtype='long' \ --with-mmask-t='long'" EXCONFIG_ARGS_class-nativesdk = " \ --disable-lp64 \ --with-chtype='long' \ --with-mmask-t='long'" PACKAGES_DYNAMIC = "^${PN}-lib.*" # Fall back to the host termcap / terminfo for -nativesdk and -native # The reality is a work around for strange problems with things like # "bitbake -c menuconfig busybox" where it cannot find the terminfo # because the sstate had a hard coded search path. Until this is fixed # another way this is deemed good enough. EX_TERMCAP = "" EX_TERMCAP_class-native = ":/etc/termcap:/usr/share/misc/termcap" EX_TERMCAP_class-nativesdk = ":/etc/termcap:/usr/share/misc/termcap" EX_TERMINFO = "" EX_TERMINFO_class-native = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo" EX_TERMINFO_class-nativesdk = ":/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo" # Helper function for do_configure to allow multiple configurations # $1 the directory to run configure in # $@ the arguments to pass to configure ncurses_configure() { mkdir -p $1 cd $1 shift oe_runconf \ --disable-static \ --without-debug \ --without-ada \ --without-gpm \ --enable-hard-tabs \ --enable-xmc-glitch \ --enable-colorfgbg \ --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap${EX_TERMCAP}' \ --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo${EX_TERMINFO}' \ --with-shared \ --disable-big-core \ --program-prefix= \ --with-ticlib \ --with-termlib=tinfo \ --enable-sigwinch \ --enable-pc-files \ --disable-rpath-hack \ ${EXCONFIG_ARGS} \ --with-manpage-format=normal \ "$@" || return 1 cd .. } # Override the function from the autotools class; ncurses requires a # patched autoconf213 to generate the configure script. This autoconf # is not available so that the shipped script will be used. do_configure() { # check does not work with cross-compiling and is generally # broken because it requires stdin to be pollable (which is # not the case for /dev/null redirections) export cf_cv_working_poll=yes #Remove ${includedir} from CPPFLAGS, need for cross compile sed -i 's#-I${cf_includedir}##g' ${S}/configure || die "sed CPPFLAGS" # The --enable-pc-files requires PKG_CONFIG_LIBDIR existed mkdir -p ${PKG_CONFIG_LIBDIR} ( cd ${S}; gnu-configize --force ) ncurses_configure "narrowc" || \ return 1 ! ${ENABLE_WIDEC} || \ ncurses_configure "widec" "--enable-widec" "--without-progs" } do_compile() { oe_runmake -C narrowc libs oe_runmake -C narrowc/progs ! ${ENABLE_WIDEC} || \ oe_runmake -C widec libs } # set of expected differences between narrowc and widec header # # TODO: the NCURSES_CH_T difference can cause real problems :( _unifdef_cleanup = " \ -e '\!/\* \$Id: curses.wide,v!,\!/\* \$Id: curses.tail,v!d' \ -e '/^#define NCURSES_CH_T /d' \ -e '/^#include <wchar.h>/d' \ -e '\!^/\* .* \*/!d' \ " do_test[depends] = "unifdef-native:do_populate_sysroot" do_test[dirs] = "${S}" do_test() { ${ENABLE_WIDEC} || return 0 # make sure that the narrow and widec header are compatible # and differ only in minor details. unifdef -k narrowc/include/curses.h | \ sed ${_unifdef_cleanup} > curses-narrowc.h unifdef -k widec/include/curses.h | \ sed ${_unifdef_cleanup} > curses-widec.h diff curses-narrowc.h curses-widec.h } # Split original _install_opts to two parts. # One is the options to install contents, the other is the parameters \ # when running command "make install" # Note that install.libs will also implicitly install header files, # so we do not need to explicitly specify install.includes. # Doing so could in fact result in a race condition, as both targets # (install.libs and install.includes) would install the same headers # at the same time _install_opts = " install.libs install.man " _install_cfgs = "\ DESTDIR='${D}' \ PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \ " do_install() { # Order of installation is important; widec installs a 'curses.h' # header with more definitions and must be installed last hence. # Compatibility of these headers will be checked in 'do_test()'. oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \ install.progs # The install.data should run after install.libs, otherwise # there would be a race issue in a very critical conditon, since # tic will be run by install.data, and tic needs libtinfo.so # which would be @media only all and (prefers-color-scheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ } *.pyc *.pyo build/conf/local.conf build/conf/bblayers.conf build/downloads build/tmp/ build/sstate-cache build/pyshtables.py pstage/ scripts/poky-git-proxy-socks sources/ meta-darwin meta-maemo meta-extras meta-m2 meta-prvt* poky-autobuilder* *.swp *.orig *.rej *~ documentation/poky-ref-manual/poky-ref-manual.html documentation/poky-ref-manual/poky-ref-manual.pdf documentation/poky-ref-manual/poky-ref-manual.tgz documentation/poky-ref-manual/bsp-guide.html documentation/poky-ref-manual/bsp-guide.pdf documentation/bsp-guide/bsp-guide.html documentation/bsp-guide/bsp-guide.pdf documentation/bsp-guide/bsp-guide.tgz documentation/yocto-project-qs/yocto-project-qs.html documentation/yocto-project-qs/yocto-project-qs.tgz documentation/kernel-manual/kernel-manual.html documentation/kernel-manual/kernel-manual.tgz documentation/kernel-manual/kernel-manual.pdf
*.pyc *.pyo build/conf/local.conf build/conf/bblayers.conf build/downloads build/tmp/ build/sstate-cache build/pyshtables.py pstage/ scripts/poky-git-proxy-socks sources/ meta-darwin meta-maemo meta-extras meta-m2 meta-prvt* poky-autobuilder* *.swp *.orig *.rej *~ documentation/poky-ref-manual/poky-ref-manual.html documentation/poky-ref-manual/poky-ref-manual.pdf documentation/poky-ref-manual/poky-ref-manual.tgz documentation/poky-ref-manual/bsp-guide.html documentation/poky-ref-manual/bsp-guide.pdf documentation/bsp-guide/bsp-guide.html documentation/bsp-guide/bsp-guide.pdf documentation/bsp-guide/bsp-guide.tgz documentation/yocto-project-qs/yocto-project-qs.html documentation/yocto-project-qs/yocto-project-qs.tgz documentation/kernel-manual/kernel-manual.html documentation/kernel-manual/kernel-manual.tgz documentation/kernel-manual/kernel-manual.pdf