diff options
author | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2015-09-25 08:47:49 +0000 |
---|---|---|
committer | Paul Sherwood <paul.sherwood@codethink.co.uk> | 2015-09-26 08:27:41 +0100 |
commit | 3a2f641e4e70e76ffa77629c6208970c1a7af667 (patch) | |
tree | e6635788976c616017c05b5ea93432f9b2dc769e /baserock/strata/core/ncurses.morph | |
parent | c844667a718e8640d9ae2b7640a3b0dc0fb53b0e (diff) | |
download | definitions-3a2f641e4e70e76ffa77629c6208970c1a7af667.tar.gz |
Proposed re-org of definitions repobaserock/ps/reorganise-definitions
Diffstat (limited to 'baserock/strata/core/ncurses.morph')
-rw-r--r-- | baserock/strata/core/ncurses.morph | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/baserock/strata/core/ncurses.morph b/baserock/strata/core/ncurses.morph new file mode 100644 index 00000000..42acb481 --- /dev/null +++ b/baserock/strata/core/ncurses.morph @@ -0,0 +1,45 @@ +name: ncurses +kind: chunk +configure-commands: +- LDCONFIG=true ./configure --with-shared --without-debug --enable-widec +build-commands: +- make +install-commands: +- make DESTDIR="$DESTDIR" install +post-install-commands: +- | + # lfs recommends some alterations for software that looks for + # libcurses instead of libncurses + # it's more convenient to have this in a separate file than the + # morph as less strings have to be escaped and comments are possible + + # some software expects to find libcurses in /lib + mkdir -p "$DESTDIR/lib" + mv "$DESTDIR"/"$PREFIX"/lib/libncursesw.so.5* "$DESTDIR"/lib + ln -sf ../../lib/libncursesw.so.5 "$DESTDIR"/"$PREFIX"/lib/libncursesw.so + + # some linker tricks for libraries that look for non-wide character + # versions of ncurses + for lib in ncurses form panel menu; do + # remove non-wide shared object + rm -f "$DESTDIR/${PREFIX}/lib/lib${lib}.so" + # use a linker script to find the wide character variant + echo "INPUT(-l${lib}w)" >"$DESTDIR/${PREFIX}/lib/lib${lib}.so" + # symlink the non-shared library + ln -sf "lib${lib}w.a" "$DESTDIR/${PREFIX}/lib/lib${lib}.a" + done + ln -sf libncurses++w.a "$DESTDIR/${PREFIX}/lib/libncurses++.a" + + # redirect software that looks for libcurses + rm -f "$DESTDIR/${PREFIX}/lib/libcursesw.so" + echo "INPUT(-lncursesw)" >"$DESTDIR/${PREFIX}/lib/libcursesw.so" + ln -sf libncurses.so "$DESTDIR/${PREFIX}/lib/libcurses.so" + ln -sf libncursesw.a "$DESTDIR/${PREFIX}/lib/libcursesw.a" + ln -sf libncurses.a "$DESTDIR/${PREFIX}/lib/libcurses.a" + + # install documentation + mkdir -p "$DESTDIR/${PREFIX}/share/doc/ncurses" + cp -R doc/* "$DESTDIR/${PREFIX}/share/doc/ncurses" + + # remove 'clear' and 'reset' executables, busybox provides them + rm -f "$DESTDIR/${PREFIX}/bin/clear" "$DESTDIR/${PREFIX}/bin/reset" |