PortSystem 1.0 PortGroup clang_dependency 1.0 name ncurses version 6.5 categories devel platforms darwin freebsd license MIT maintainers {jmr @jmroot} description emulation of curses in System V Release 4.0 long_description \ The Ncurses (new curses) library is a free software emulation of \ curses in System V Release 4.0, and more. It uses Terminfo format, \ supports pads and color and multiple highlights and forms \ characters and function-key mapping, and has all the other \ SYSV-curses enhancements over BSD Curses. homepage https://invisible-island.net/ncurses/ master_sites gnu https://invisible-mirror.net/archives/ncurses/ checksums rmd160 f8b26cee31b1156da483551ed291cc91c94f7970 \ sha256 136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6 # hex.diff from https://opensource.apple.com/source/ncurses/ncurses-57/patches.applied/ patchfiles hex.diff \ modules.patch # Also needed by later clangs. if {${os.platform} eq "darwin" && ${os.major} < 11 && ${cxx_stdlib} eq "libc++"} { clang_dependency.extra_versions 3.7 } configure.cppflags configure.ldflags configure.args --enable-widec \ --disable-lib-suffixes \ --enable-overwrite \ --with-shared \ --with-cxx-shared \ --without-debug \ --without-ada \ --with-manpage-format=normal \ --without-pkg-config \ --enable-pc-files \ --with-pkg-config-libdir="${prefix}/lib/pkgconfig" \ --disable-mixed-case if {[string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} ne ""} { configure.env-append CXXLIBS=-stdlib=${configure.cxx_stdlib} } post-configure { # check that this doesn't start breaking anything with new versions if {[variant_exists universal] && [variant_isset universal]} { reinplace s/1UL/1U/g "${worksrcpath}/include/curses.head" system -W ${worksrcpath} "ed - include/curses.head < ${filespath}/include_curses.head.ed" } } post-destroot { ln -s ncurses6-config ${destroot}${prefix}/bin/ncursesw6-config foreach f {form menu ncurses ncurses++ panel} { ln -s lib${f}.a ${destroot}${prefix}/lib/lib${f}w.a ln -s ${f}.pc ${destroot}${prefix}/lib/pkgconfig/${f}w.pc } platform darwin { set major [lindex [split $version .] 0] set archflags [get_canonical_archflags ld] foreach f {form menu ncurses ncurses++ panel} { ln -s lib${f}.${major}.dylib ${destroot}${prefix}/lib/lib${f}w.dylib ln -s lib${f}.${major}.dylib ${destroot}${prefix}/lib/lib${f}w.${major}.dylib reinplace "s|-Wl,-syslibroot,${configure.sdkroot}||" ${destroot}${prefix}/lib/pkgconfig/${f}.pc reinplace "s|${archflags}||" ${destroot}${prefix}/lib/pkgconfig/${f}.pc } ln -s libncurses.${major}.dylib ${destroot}${prefix}/lib/libtermcap.dylib reinplace "s|-Wl,-syslibroot,${configure.sdkroot}||" ${destroot}${prefix}/bin/ncurses6-config reinplace "s|${archflags}||" ${destroot}${prefix}/bin/ncurses6-config } } livecheck.regex ${name}-(\[\\d.-\]+)${extract.suffix}