summaryrefslogtreecommitdiff
path: root/pkg/ncurses
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-12-11 16:04:20 -0800
committerMichael Forney <mforney@mforney.org>2016-12-13 23:10:30 -0800
commit293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch)
tree6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/ncurses
parent9a506a6834df01a26795cea222b410f206efa9fa (diff)
Move to flat package hierarchy
Note to self: never try to move submodules again To migrate your existing submodules (more or less): set -x set -e mkdir .git/modules/pkg for old in */*/src ; do new="pkg/${old#*/}" if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then continue fi git -C ".git/modules/$old" config core.worktree "../../../../../$new" rmdir "$new" mv "$old" "$new" sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp" mv "$new/.git.tmp" "$new/.git" mkdir ".git/modules/${new%/src}" mv ".git/modules/$old" ".git/modules/$new" rm "${old%/src}"/*.ninja mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/" rmdir "${old%/src}" || true done sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/ncurses')
-rw-r--r--pkg/ncurses/.gitignore3
-rw-r--r--pkg/ncurses/gen.rc128
-rw-r--r--pkg/ncurses/gensources.awk29
-rw-r--r--pkg/ncurses/ncurses_cfg.h86
-rw-r--r--pkg/ncurses/rev1
-rw-r--r--pkg/ncurses/sha2561
-rw-r--r--pkg/ncurses/sources.txt158
-rw-r--r--pkg/ncurses/subst.sed51
-rw-r--r--pkg/ncurses/transform.h9
-rw-r--r--pkg/ncurses/url1
10 files changed, 467 insertions, 0 deletions
diff --git a/pkg/ncurses/.gitignore b/pkg/ncurses/.gitignore
new file mode 100644
index 00000000..fbcf6c54
--- /dev/null
+++ b/pkg/ncurses/.gitignore
@@ -0,0 +1,3 @@
+/ncurses-6.0.tar.gz
+/src
+/tools.ninja
diff --git a/pkg/ncurses/gen.rc b/pkg/ncurses/gen.rc
new file mode 100644
index 00000000..f8e7dea6
--- /dev/null
+++ b/pkg/ncurses/gen.rc
@@ -0,0 +1,128 @@
+set common_cflags\
+ -D NDEBUG\
+ -I include\
+ -I '$dir' \
+ -I '$outdir' \
+ -I '$outdir'/include\
+ -I '$srcdir'/include\
+ -I '$srcdir'/ncurses\
+ -I '$srcdir'/progs
+cflags '$common_cflags'
+
+{
+ include 'toolchain/$host_toolchain.ninja'
+ cflags '$common_cflags' -D USE_BUILD_CC
+ exe make_keys -d '$outdir/names.c $outdir/include/curses.h $outdir/include/ncurses_dll.h' ncurses/tinfo/make_keys.c
+ exe make_hash -d '$outdir/hashsize.h $outdir/include/curses.h' ncurses/tinfo/make_hash.c
+} >tools.ninja ; subninja tools.ninja
+
+build '$outdir'/curses.head sed '$srcdir'/include/curses.h.in '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+rule mkkeydefs '{ cat $outdir/curses.head && sh $srcdir/include/MKkey_defs.sh $in && cat $srcdir/include/curses.{wide,tail}; } >$out.tmp && mv $out.tmp $out'
+build '$outdir'/include/curses.h mkkeydefs '$srcdir'/include/Caps '|' '$outdir'/curses.head '$srcdir'/include/^(curses.^(wide tail) MKkey_defs.sh)
+
+rule mkhashsize 'sh $srcdir/include/MKhashsize.sh $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/hashsize.h mkhashsize '$srcdir'/include/Caps '|' '$srcdir'/include/MKhashsize.sh
+
+rule mkkeyslist 'sh $srcdir/ncurses/tinfo/MKkeys_list.sh $in | sort >$out.tmp && mv $out.tmp $out'
+build '$outdir'/keys.list mkkeyslist '$srcdir'/include/Caps '|' '$srcdir'/ncurses/tinfo/MKkeys_list.sh
+
+rule mkkeys '$outdir/make_keys $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/init_keytry.h mkkeys '$outdir'/keys.list '|' '$outdir'/make_keys
+
+rule mkdefs 'sh $srcdir/include/MKncurses_def.sh $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/ncurses_def.h mkdefs '$srcdir'/include/ncurses_defs '|' '$srcdir'/include/MKncurses_def.sh
+
+build '$outdir'/include/ncurses_dll.h sed '$srcdir'/include/ncurses_dll.h.in ; with\
+ expr s,@NCURSES_WRAP_PREFIX@,_nc_,
+
+rule mkparam '$srcdir/include/MKparametrized.sh $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/parametrized.h mkparam '$srcdir'/include/Caps '|' '$srcdir'/include/MKparametrized.sh
+
+build '$outdir'/MKterm.h.awk sed '$srcdir'/include/MKterm.h.awk.in '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+
+for(f in termcap.h unctrl.h) {
+ build '$outdir'/include/$f sed '$srcdir'/include/$f.in '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+}
+
+rule mkterm 'awk -f $outdir/MKterm.h.awk $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/include/term.h mkterm '$srcdir'/include/Caps '|' '$outdir'/MKterm.h.awk
+
+build '$outdir'/codes.c awk '$srcdir'/include/Caps '|' '$srcdir'/ncurses/tinfo/MKcodes.awk ; with\
+ expr '-f $srcdir/ncurses/tinfo/MKcodes.awk bigstrings=1'
+
+rule mkcaptab '(wd=$$PWD && cd $outdir && $$wd/$srcdir/ncurses/tinfo/MKcaptab.sh awk 1 $$wd/$srcdir/ncurses/tinfo/MKcaptab.awk $$wd/$in) >$out.tmp && mv $out.tmp $out'
+build '$outdir'/comp_captab.c mkcaptab '$srcdir'/include/Caps '|' '$outdir'/make_hash '$srcdir'/tinfo/^(MKcaptab.awk MKcaptab.sh)
+
+rule mkfallback 'sh $srcdir/ncurses/tinfo/MKfallback.sh /dev/null /dev/null /dev/null >$out.tmp && mv $out.tmp $out'
+build '$outdir'/fallback.c mkfallback '|' '$srcdir'/ncurses/tinfo/MKfallback.sh
+
+build '$outdir'/lib_keyname.c awk '$outdir'/keys.list ; with\
+ expr '-f $srcdir/ncurses/base/MKkeyname.awk bigstrings=1'
+
+build '$outdir'/names.c awk '$srcdir'/include/Caps '|' '$srcdir'/ncurses/tinfo/MKnames.awk ; with\
+ expr '-f $srcdir/ncurses/tinfo/MKnames.awk bigstrings=1'
+
+rule mktermsort 'sh $srcdir/progs/MKtermsort.sh awk $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/termsort.c mktermsort '$srcdir'/include/Caps '|' '$srcdir'/progs/MKtermsort.sh
+
+build '$outdir'/unctrl.c awk /dev/null '|' '$srcdir'/ncurses/base/MKunctrl.awk ; with\
+ expr '-f $srcdir/ncurses/base/MKunctrl.awk bigstrings=1'
+
+hdrs=include/^(curses.h ncurses_dll.h term.h termcap.h unctrl.h)
+for(hdr in $hdrs) file $hdr '$outdir'/$hdr 644
+phony headers '$outdir'/$hdrs
+
+phony deps '$outdir'/^(\
+ hashsize.h init_keytry.h ncurses_def.h parametrized.h termsort.c\
+) '$dir'/headers
+
+lib libncurses.a -d '$dir'/deps `{grep -v '^#' sources.txt}
+file lib/libncurses.a '$outdir'/libncurses.a 644
+
+exe tic -d '$dir'/deps\
+ progs/^(tic.c dump_entry.c tparm_type.c transform.c)\
+ ncurses/^(\
+ tinfo/^(\
+ alloc_entry.c\
+ captoinfo.c\
+ comp_expand.c\
+ comp_parse.c\
+ comp_scan.c\
+ parse_entry.c\
+ write_entry.c\
+ )\
+ trace/lib_trace.c\
+ )\
+ libncurses.a
+file bin/tic '$outdir'/tic 755
+
+exe tset -d '$dir'/deps progs/^(tset.c transform.c.o) libncurses.a
+file bin/tset '$outdir'/tset 755
+sym bin/reset tset
+
+for(m in tic.1m tset.1) {
+ build '$outdir'/$m sed '$srcdir'/man/$m '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+ file share/man/man1/$m '$outdir'/$m 644
+}
+sym share/man/man1/reset.1 tset.1
+
+terms=(dumb linux tmux tmux-256color xterm xterm-256color)
+terminfo=`{printf %s\n $terms | awk '{print substr($0, 1, 1) "/" $0}'}
+termnames=`{printf ,%s $terms | tail -c +1}
+terminfo_outs='$outdir'/terminfo/$terminfo
+
+build $"terminfo_outs tic '$srcdir'/misc/terminfo.src ; ticflags=(\
+ -o '$outdir'/terminfo\
+ -e $termnames\
+ -x\
+) with ticflags $"ticflags
+for(f in $terminfo)
+ file share/terminfo/$f '$outdir'/terminfo/$f 644
+
+gen_inputs='$dir'/sources.txt
+
+fetch curl
diff --git a/pkg/ncurses/gensources.awk b/pkg/ncurses/gensources.awk
new file mode 100644
index 00000000..b4b45838
--- /dev/null
+++ b/pkg/ncurses/gensources.awk
@@ -0,0 +1,29 @@
+BEGIN {
+ dirs["$(base)"] = "ncurses/base"
+ dirs["$(serial)"] = "ncurses/tty"
+ dirs["$(trace)"] = "ncurses/trace"
+ dirs["$(tinfo)"] = "ncurses/tinfo"
+ dirs["$(wide)"] = "ncurses/widechar"
+ dirs["."] = "$outdir"
+
+ skip["expanded"] = 1
+ skip["lib_gen"] = 1
+ skip["link_test"] = 1
+
+ split(subsets, a, "+")
+ for (k in a)
+ sets[a[k]] = 1
+}
+
+/^(#|$)/ { next }
+
+/^@/ {
+ set = $2
+ next
+}
+
+set in sets {
+ if ($1 ~ /trace/ || $1 in skip)
+ next
+ print dirs[$3] "/" $1 ".c"
+}
diff --git a/pkg/ncurses/ncurses_cfg.h b/pkg/ncurses/ncurses_cfg.h
new file mode 100644
index 00000000..fb432d09
--- /dev/null
+++ b/pkg/ncurses/ncurses_cfg.h
@@ -0,0 +1,86 @@
+#ifndef NC_CONFIG_H
+#define NC_CONFIG_H
+
+#include <config-posix.h>
+
+#define PACKAGE "ncurses"
+#define NCURSES_VERSION "6.0"
+#define NCURSES_PATCHDATE 20150808
+#define SYSTEM_NAME "linux-musl"
+#define HAVE_LONG_FILE_NAMES 1
+#define MIXEDCASE_FILENAMES 1
+#define TERMINFO_DIRS "/share/terminfo"
+#define TERMINFO "/share/terminfo"
+#define HAVE_BIG_CORE 1
+#define PURE_TERMINFO 1
+#define USE_HOME_TERMINFO 1
+#define USE_ROOT_ENVIRON 1
+#define USE_LINKS 1
+#define HAVE_LANGINFO_CODESET 1
+#define USE_WIDEC_SUPPORT 1
+#define NCURSES_WIDECHAR 1
+#define NEED_WCHAR_H 1
+#define HAVE_ASSUME_DEFAULT_COLORS 1
+#define HAVE_CURSES_VERSION 1
+#define HAVE_HAS_KEY 1
+#define HAVE_RESIZETERM 1
+#define HAVE_RESIZE_TERM 1
+#define HAVE_TERM_ENTRY_H 1
+#define HAVE_USE_DEFAULT_COLORS 1
+#define HAVE_USE_SCREEN 1
+#define HAVE_USE_WINDOW 1
+#define HAVE_WRESIZE 1
+#define NCURSES_EXT_FUNCS 1
+#define NCURSES_SP_FUNCS 1
+#define NCURSES_EXT_COLORS 1
+#define NCURSES_EXT_PUTWIN 1
+#define NCURSES_NO_PADDING 1
+#define HAVE_MEMORY_H 1
+#define SIZEOF_SIGNED_CHAR 1
+#define USE_SIGWINCH 1
+#define USE_ASSUMED_COLOR 1
+#define USE_HASHMAP 1
+#define NCURSES_WRAP_PREFIX "_nc_"
+#define GCC_SCANF 1
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+#define GCC_PRINTF 1
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#define GCC_UNUSED __attribute__((unused))
+#define GCC_NORETURN __attribute__((noreturn))
+#define HAVE_NC_ALLOC_H 1
+#define TIME_WITH_SYS_TIME 1
+#define HAVE_REGEX_H_FUNCS 1
+#define HAVE_GETOPT_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_HEADER 1
+#define HAVE_SYS_TIME_SELECT 1
+#define SIG_ATOMIC_T volatile sig_atomic_t
+#define HAVE_ISSETUGID 1
+#define HAVE_SETBUFFER 1
+#define SETVBUF_REVERSED 1
+#define HAVE_SIZECHANGE 1
+#define HAVE_WORKING_POLL 1
+#define USE_OPENPTY_HEADER <pty.h>
+#define USE_XTERM_PTY 1
+#define HAVE_TYPEINFO 1
+#define HAVE_IOSTREAM 1
+#define IOSTREAM_NAMESPACE 1
+#define CPP_HAS_STATIC_CAST 1
+#define SIZEOF_WCHAR_T 4
+#define HAVE_SLK_COLOR 1
+#define HAVE_PANEL_H 1
+#define HAVE_LIBPANEL 1
+#define HAVE_MENU_H 1
+#define HAVE_LIBMENU 1
+#define HAVE_FORM_H 1
+#define HAVE_LIBFORM 1
+#define NCURSES_PATHSEP ':'
+#define NCURSES_VERSION_STRING "6.0.20150808"
+#define NCURSES_OSPEED_COMPAT 1
+
+#include <ncurses_def.h>
+
+#endif /* NC_CONFIG_H */
diff --git a/pkg/ncurses/rev b/pkg/ncurses/rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/pkg/ncurses/rev
@@ -0,0 +1 @@
+1
diff --git a/pkg/ncurses/sha256 b/pkg/ncurses/sha256
new file mode 100644
index 00000000..1434e95c
--- /dev/null
+++ b/pkg/ncurses/sha256
@@ -0,0 +1 @@
+f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260 ncurses-6.0.tar.gz
diff --git a/pkg/ncurses/sources.txt b/pkg/ncurses/sources.txt
new file mode 100644
index 00000000..3a213917
--- /dev/null
+++ b/pkg/ncurses/sources.txt
@@ -0,0 +1,158 @@
+# 2,$<awk -f gensources.awk -v subsets=base+widechar+termlib+ext_funcs+ext_tinfo src/ncurses/modules
+ncurses/tty/hardscroll.c
+ncurses/tty/hashmap.c
+ncurses/base/lib_addch.c
+ncurses/base/lib_addstr.c
+ncurses/base/lib_beep.c
+ncurses/base/lib_bkgd.c
+ncurses/base/lib_box.c
+ncurses/base/lib_chgat.c
+ncurses/base/lib_clear.c
+ncurses/base/lib_clearok.c
+ncurses/base/lib_clrbot.c
+ncurses/base/lib_clreol.c
+ncurses/base/lib_color.c
+ncurses/base/lib_colorset.c
+ncurses/base/lib_delch.c
+ncurses/base/lib_delwin.c
+ncurses/base/lib_echo.c
+ncurses/base/lib_endwin.c
+ncurses/base/lib_erase.c
+ncurses/base/lib_flash.c
+ncurses/base/lib_getch.c
+ncurses/base/lib_getstr.c
+ncurses/base/lib_hline.c
+ncurses/base/lib_immedok.c
+ncurses/base/lib_inchstr.c
+ncurses/base/lib_initscr.c
+ncurses/base/lib_insch.c
+ncurses/base/lib_insdel.c
+ncurses/base/lib_insnstr.c
+ncurses/base/lib_instr.c
+ncurses/base/lib_isendwin.c
+ncurses/base/lib_leaveok.c
+ncurses/base/lib_mouse.c
+ncurses/base/lib_move.c
+ncurses/tty/lib_mvcur.c
+ncurses/base/lib_mvwin.c
+ncurses/base/lib_newterm.c
+ncurses/base/lib_newwin.c
+ncurses/base/lib_nl.c
+ncurses/base/lib_overlay.c
+ncurses/base/lib_pad.c
+ncurses/base/lib_printw.c
+ncurses/base/lib_redrawln.c
+ncurses/base/lib_refresh.c
+ncurses/base/lib_restart.c
+ncurses/base/lib_scanw.c
+ncurses/base/lib_screen.c
+ncurses/base/lib_scroll.c
+ncurses/base/lib_scrollok.c
+ncurses/base/lib_scrreg.c
+ncurses/base/lib_set_term.c
+ncurses/base/lib_slk.c
+ncurses/base/lib_slkatr_set.c
+ncurses/base/lib_slkatrof.c
+ncurses/base/lib_slkatron.c
+ncurses/base/lib_slkatrset.c
+ncurses/base/lib_slkattr.c
+ncurses/base/lib_slkclear.c
+ncurses/base/lib_slkcolor.c
+ncurses/base/lib_slkinit.c
+ncurses/base/lib_slklab.c
+ncurses/base/lib_slkrefr.c
+ncurses/base/lib_slkset.c
+ncurses/base/lib_slktouch.c
+ncurses/base/lib_touch.c
+ncurses/tty/lib_tstp.c
+ncurses/base/lib_ungetch.c
+ncurses/tty/lib_vidattr.c
+ncurses/base/lib_vline.c
+ncurses/base/lib_wattroff.c
+ncurses/base/lib_wattron.c
+ncurses/base/lib_winch.c
+ncurses/base/lib_window.c
+ncurses/base/nc_panel.c
+ncurses/base/safe_sprintf.c
+ncurses/tty/tty_update.c
+ncurses/trace/varargs.c
+ncurses/base/vsscanf.c
+ncurses/base/lib_freeall.c
+ncurses/widechar/charable.c
+ncurses/widechar/lib_add_wch.c
+ncurses/widechar/lib_box_set.c
+ncurses/widechar/lib_cchar.c
+ncurses/widechar/lib_erasewchar.c
+ncurses/widechar/lib_get_wch.c
+ncurses/widechar/lib_get_wstr.c
+ncurses/widechar/lib_hline_set.c
+ncurses/widechar/lib_in_wch.c
+ncurses/widechar/lib_in_wchnstr.c
+ncurses/widechar/lib_ins_wch.c
+ncurses/widechar/lib_inwstr.c
+ncurses/widechar/lib_key_name.c
+ncurses/widechar/lib_pecho_wchar.c
+ncurses/widechar/lib_slk_wset.c
+ncurses/widechar/lib_unget_wch.c
+ncurses/widechar/lib_vid_attr.c
+ncurses/widechar/lib_vline_set.c
+ncurses/widechar/lib_wacs.c
+ncurses/widechar/lib_wunctrl.c
+ncurses/base/legacy_coding.c
+ncurses/base/lib_dft_fgbg.c
+ncurses/tinfo/lib_print.c
+ncurses/base/resizeterm.c
+ncurses/tinfo/use_screen.c
+ncurses/base/use_window.c
+ncurses/base/wresize.c
+ncurses/tinfo/access.c
+ncurses/tinfo/add_tries.c
+ncurses/tinfo/alloc_ttype.c
+$outdir/codes.c
+$outdir/comp_captab.c
+ncurses/tinfo/comp_error.c
+ncurses/tinfo/comp_hash.c
+ncurses/tinfo/db_iterator.c
+ncurses/tinfo/doalloc.c
+ncurses/tinfo/entries.c
+$outdir/fallback.c
+ncurses/tinfo/free_ttype.c
+ncurses/tinfo/getenv_num.c
+ncurses/tinfo/home_terminfo.c
+ncurses/tinfo/init_keytry.c
+ncurses/tinfo/lib_acs.c
+ncurses/tinfo/lib_baudrate.c
+ncurses/tinfo/lib_cur_term.c
+ncurses/tinfo/lib_data.c
+ncurses/tinfo/lib_has_cap.c
+ncurses/tinfo/lib_kernel.c
+$outdir/lib_keyname.c
+ncurses/tinfo/lib_longname.c
+ncurses/tinfo/lib_napms.c
+ncurses/tinfo/lib_options.c
+ncurses/tinfo/lib_raw.c
+ncurses/tinfo/lib_setup.c
+ncurses/tinfo/lib_termcap.c
+ncurses/tinfo/lib_termname.c
+ncurses/tinfo/lib_tgoto.c
+ncurses/tinfo/lib_ti.c
+ncurses/tinfo/lib_tparm.c
+ncurses/tinfo/lib_tputs.c
+ncurses/tinfo/lib_ttyflags.c
+ncurses/tty/lib_twait.c
+ncurses/tinfo/name_match.c
+$outdir/names.c
+ncurses/tinfo/obsolete.c
+ncurses/tinfo/read_entry.c
+ncurses/tinfo/read_termcap.c
+ncurses/tinfo/strings.c
+ncurses/base/tries.c
+ncurses/tinfo/trim_sgr0.c
+$outdir/unctrl.c
+ncurses/trace/visbuf.c
+ncurses/base/define_key.c
+ncurses/tinfo/hashed_db.c
+ncurses/base/key_defined.c
+ncurses/base/keybound.c
+ncurses/base/keyok.c
+ncurses/base/version.c
diff --git a/pkg/ncurses/subst.sed b/pkg/ncurses/subst.sed
new file mode 100644
index 00000000..4f3701fe
--- /dev/null
+++ b/pkg/ncurses/subst.sed
@@ -0,0 +1,51 @@
+s,@NCURSES_MAJOR@,6,
+s,@NCURSES_MINOR@,0,
+s,@NCURSES_PATCH@,20150808,
+
+s,@BROKEN_LINKER@,0,
+s,@CAPTOINFO@,captoinfo,
+s,@GENERATED_EXT_FUNCS@,generated,
+s,@HAVE_STDINT_H@,1,
+s,@HAVE_TCGETATTR@,1,
+s,@HAVE_TERMIOS_H@,1,
+s,@HAVE_TERMIO_H@,0,
+s,@HAVE_VSSCANF@,1,
+s,@INFOCMP@,infocmp,
+s,@INFOTOCAP@,infotocap,
+s,@NCURSES_CCHARW_MAX@,5,
+s,@NCURSES_CH_T@,cchar_t,
+s,@NCURSES_CONST@,const,
+s,@NCURSES_EXT_COLORS@,1,
+s,@NCURSES_EXT_FUNCS@,1,
+s,@NCURSES_INLINE@,inline,
+s,@NCURSES_INTEROP_FUNCS@,1,
+s,@NCURSES_LIBUTF8@,0,
+s,@NCURSES_MOUSE_VERSION@,2,
+s,@NCURSES_OK_WCHAR_T@,1,
+s,@NCURSES_OPAQUE@,0,
+s,@NCURSES_OSPEED@,short,
+s,@NCURSES_SBOOL@,char,
+s,@NCURSES_SIZE_T@,short,
+s,@NCURSES_SP_FUNCS@,1,
+s,@NCURSES_TPARM_ARG@,intptr_t,
+s,@NCURSES_TPARM_VARARGS@,1,
+s,@NCURSES_USE_DATABASE@,1,
+s,@NCURSES_USE_TERMCAP@,0,
+s,@NCURSES_WCHAR_T@,0,
+s,@NCURSES_WINT_T@,0,
+s,@NCURSES_XNAMES@,1,
+s,@NEED_WCHAR_H@,1,
+s,@TERMINFO@,/share/terminfo,
+s,@TERMINFO_DIRS@,/share/terminfo,
+s,@TIC@,tic,
+s,@TOE@,toe,
+s,@TSET@,tset,
+s,@USE_CXX_BOOL@,0,
+s,@cf_cv_1UL@,1U,g
+s,@cf_cv_enable_lp64@,1,
+s,@cf_cv_enable_opaque@,NCURSES_OPAQUE,
+s,@cf_cv_enable_reentrant@,0,
+s,@cf_cv_header_stdbool_h@,1,
+s,@cf_cv_type_of_bool@,unsigned char,
+s,@cf_cv_typeof_chtype@,uint32_t,
+s,@cf_cv_typeof_mmask_t@,uint32_t,
diff --git a/pkg/ncurses/transform.h b/pkg/ncurses/transform.h
new file mode 100644
index 00000000..df994d1d
--- /dev/null
+++ b/pkg/ncurses/transform.h
@@ -0,0 +1,9 @@
+#ifndef __TRANSFORM_H
+#define __TRANSFORM_H 1
+#include <progs.priv.h>
+extern bool same_program(const char *, const char *);
+#define PROG_CAPTOINFO "captoinfo"
+#define PROG_INFOTOCAP "infotocap"
+#define PROG_RESET "reset"
+#define PROG_INIT "init"
+#endif /* __TRANSFORM_H */
diff --git a/pkg/ncurses/url b/pkg/ncurses/url
new file mode 100644
index 00000000..40dd7fac
--- /dev/null
+++ b/pkg/ncurses/url
@@ -0,0 +1 @@
+url = "http://invisible-mirror.net/archives/ncurses/ncurses-6.0.tar.gz"