distributable: url: https://ftp.gnu.org/gnu/ncurses/ncurses-{{ version.raw }}.tar.gz strip-components: 1 versions: github: mirror/ncurses/tags strip: /v/ build: dependencies: freedesktop.org/pkg-config: ^0.29 script: #FIXME because our build infra is recursive - | if [ -d {{prefix}}/include ]; then rm -rf {{prefix}}/include fi - | mkdir -p $PCDIR ./configure $ARGS make --jobs {{ hw.concurrency }} install # fix up symlinks - run: | for lib in form menu ncurses panel curses++; do for ii in $(find . -name lib${lib}w\*); do # hopefully no new w's will be introduced ln -sf $ii $(echo $ii | tr -d w) done done working-directory: ${{prefix}}/lib # things often expect either no namespace or namespace - run: | mv ncursesw/* . rmdir ncursesw ln -sf . ncursesw working-directory: ${{prefix}}/include # fix hardcoded paths - | sed -i.bak 's|{{prefix}}|\${pcfiledir}/../..|g' {{prefix}}/lib/pkgconfig/*.pc rm {{prefix}}/lib/pkgconfig/*.bak sed -i.bak 's|{{prefix}}|\$(dirname "\$0")/..|g' {{prefix}}/bin/ncursesw{{version.major}}-config rm {{prefix}}/bin/ncursesw{{version.major}}-config.bak - run: # libtermcap is provided by ncurses and has the # same api. Help some older packages to find this dependencies. - ln -s libncurses.so libtermcap.so # ghc needs to find libtinfo.so.5, which is built from v6 on ubuntu 18.04... - ln -s libtinfo.so libtinfo.so.5 - ln -s libtinfow.so libtinfow.so.5 working-directory: ${{prefix}}/lib if: linux env: PCDIR: ${{prefix}}/lib/pkgconfig ARGS: - --prefix={{ prefix }} - --enable-pc-files - --enable-sigwinch - --enable-widec - --with-shared - --with-cxx-shared - --with-gpm=no - --without-ada - --with-pkg-config-libdir=$PCDIR linux: ARGS: - --with-termlib - --enable-symlinks runtime: env: TERMINFO_DIRS: /usr/share/terminfo:{{prefix}}/share/terminfo # ^^ we delegate to the system first since they may apply platform specific info test: dependencies: github.com/tmux/tmux: ^3 freedesktop.org/pkg-config: ^0.29 script: - | ncursesw6-config --version | grep {{version.marketing}} ncursesw6-config --terminfo-dirs | grep '{{prefix}}' pkg-config --modversion ncursesw | grep {{version.marketing}} pkg-config --libs ncursesw | grep '{{prefix}}' # https://github.com/pkgxdev/pantry/issues/1658 - tmux -c ls provides: - bin/captoinfo - bin/clear - bin/infocmp - bin/infotocap - bin/ncursesw6-config - bin/reset - bin/tabs - bin/tic - bin/toe - bin/tput - bin/tset