include ../build/Makefile-vars # See http://greenwoodsoftware.com/less/download.html VERSION = 608 URL = http://greenwoodsoftware.com/less/less-${VERSION}.tar.gz TARBALL = ${UPSTREAM}/less-${VERSION}.tar.gz POSIX_WASM = $(shell cowasm-package-path @cowasm/posix-wasm) TERMCAP_WASM = $(shell cowasm-package-path @cowasm/termcap) NCURSES_WASM = $(shell cowasm-package-path @cowasm/ncurses) all: wasm include ../build/Makefile-rules ${BUILD_WASM}/.patched: ${BUILD_WASM}/.build mkdir ${BUILD_WASM}/bits/ echo "typedef int __jmp_buf;" > ${BUILD_WASM}/bits/setjmp.h chmod +w ${BUILD_WASM}/* # disable these for now since otherwise less uses its own # winch function in lsystem.c, which I think conflicts with ncurses and # breaks everything horribly. We use position.h for this, just # because it is included in the right spot in lsystem.c echo "#undef SIGWINCH" >> ${BUILD_WASM}/position.h echo "#undef SIGWIND" >> ${BUILD_WASM}/position.h # TODO: This sets the "-d" flag to be on by default, since the calls to ltgetstr # in screen.c currently don't work, but less does "work", though without # bold/underline/etc. Remove this patch and fix this. cd ${BUILD_WASM} && cat ${SRC}/patches/01-disable-dumb-error.patch | patch -p2 touch ${BUILD_WASM}/.patched ${DIST_WASM}/.built: node_modules ${BUILD_WASM}/.patched cd ../build && make zig cd ${BUILD_WASM} \ && RANLIB="zig ranlib" \ AR="zig ar" \ CC="cowasm-cc" \ CXX="cowasm-c++" \ CFLAGS="-fvisibility-main -Oz -Wno-deprecated-non-prototype -I${TERMCAP_WASM}/include -I${NCURSES_WASM}/include -I${POSIX_WASM}" \ LDFLAGS="-L${TERMCAP_WASM}/lib -ltermcap -L${NCURSES_WASM}/lib -lncurses" \ ./configure \ --host=none \ --prefix="${DIST_WASM}" \ && echo "#undef HAVE_POPEN" >> defines.h \ && echo "#undef HAVE_TTYNAME" >> defines.h \ && echo "#undef HAVE__SETJMP" >> defines.h \ && echo "#undef HAVE_SIGSETMASK" >> defines.h \ && make -j8 \ && make -j8 install touch ${DIST_WASM}/.built test: ${DIST_WASM}/.built # Check it starts and prints some help echo "" | cowasm ${DIST_WASM}/bin/less --help |grep "Commands"