[packages/ncurses] - symlink headers in a way that clearly shows that all headers are wide ones - when forcing wide bas
qboosh
qboosh at pld-linux.org
Tue Nov 18 22:15:38 CET 2014
commit e296781607c33c5a9319dea913699f365d64cf93
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Nov 18 22:16:13 2014 +0100
- symlink headers in a way that clearly shows that all headers are wide ones
- when forcing wide base libraries, ext libraries must be symlinked too
ncurses.spec | 77 ++++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 52 insertions(+), 25 deletions(-)
---
diff --git a/ncurses.spec b/ncurses.spec
index 01e79fa..53c71ae 100644
--- a/ncurses.spec
+++ b/ncurses.spec
@@ -458,8 +458,9 @@ cd obj-$t
--with-manpage-format=normal \
--with-ada-include=%{_libdir}/gcc/$gcc_target/$gcc_version/adainclude/ \
--with-ada-objects=%{_libdir}/gcc/$gcc_target/$gcc_version/adalib/ \
- `[ "$t" = "wideclowcolor" ] && echo --enable-widec --disable-ext-colors` \
- `[ "$t" = "widec" ] && echo --enable-widec --enable-ext-colors` \
+ `[ "$t" = "narrowc" ] && echo --includedir=%{_includedir}/ncursesn` \
+ `[ "$t" = "wideclowcolor" ] && echo --enable-widec --disable-ext-colors --includedir=%{_includedir}/ncurseswlc` \
+ `[ "$t" = "widec" ] && echo --enable-widec --enable-ext-colors --includedir=%{_includedir}/ncursesw` \
--without-manpage-symlinks
%{__make} -j1
@@ -476,37 +477,55 @@ for t in narrowc widec; do
INSTALL_PREFIX=$RPM_BUILD_ROOT
done
-mkdir $RPM_BUILD_ROOT%{_includedir}/ncurses{,w}
-for l in $RPM_BUILD_ROOT%{_includedir}/*.h; do
- ln -s ../$(basename $l) $RPM_BUILD_ROOT%{_includedir}/ncurses
- ln -s ../$(basename $l) $RPM_BUILD_ROOT%{_includedir}/ncursesw
+# make ncursesw headers available also as default and ncurses/*.h headers
+mkdir $RPM_BUILD_ROOT%{_includedir}/ncurses
+for l in $RPM_BUILD_ROOT%{_includedir}/ncursesw/*.h; do
+ bl=$(basename $l)
+ ln -s ../ncursesw/$bl $RPM_BUILD_ROOT%{_includedir}/ncurses/$bl
+ ln -s ncursesw/$bl $RPM_BUILD_ROOT%{_includedir}/$bl
done
+%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/ncursesn
ln -sf ../l/linux $RPM_BUILD_ROOT%{_datadir}/terminfo/c/console
+# used by /{bin,sbin} programs
mv -f $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.6* $RPM_BUILD_ROOT/%{_lib}
-
-ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
+# adjust symlinks for libncursesw.so.6 in /%{_lib}
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libtinfow.so
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libncursesw.so
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libcursesw.so
-mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.* $RPM_BUILD_ROOT/%{_lib}
-ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libcurses.so
-ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libncurses.so
-
-ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
+# libncurses.so.5 for legacy programs
+mv -f $RPM_BUILD_ROOT%{_libdir}/libncurses.so.5* $RPM_BUILD_ROOT/%{_lib}
# binary compatibility for packages using libncursesw.so.5 (without ext-colors)
cp -a obj-wideclowcolor/lib/libncursesw.so.5* $RPM_BUILD_ROOT%{_libdir}
-# binary compatibility for packages usign libtinfo.so.5/libtinfow.so.5/libtinfow.so.6
+# binary compatibility for packages using libtinfo.so.5/libtinfow.so.5/libtinfow.so.6
ln -sf $(basename $RPM_BUILD_ROOT/%{_lib}/libncurses.so.5.*) $RPM_BUILD_ROOT/%{_lib}/libtinfo.so.5
ln -sf $(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT/%{_lib}/libtinfow.so.6
ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libncursesw.so.5.*) $RPM_BUILD_ROOT%{_libdir}/libtinfow.so.5
+# force ncursesw also for legacy -lncurses/-lcurses/-ltinfo linking
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libtinfo.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libcurses.so
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libncursesw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libncurses.so
+# force wide ext libraries
+ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libformw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libform.so
+ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libmenuw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libmenu.so
+ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libpanelw.so.6.*) $RPM_BUILD_ROOT%{_libdir}/libpanel.so
+
+# similarly for static linking
+ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
+ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libtinfow.a
+ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libncurses.a
+ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libcurses.a
+ln -sf libncursesw.a $RPM_BUILD_ROOT%{_libdir}/libtinfo.a
+ln -sf libformw.a $RPM_BUILD_ROOT%{_libdir}/libform.a
+ln -sf libmenuw.a $RPM_BUILD_ROOT%{_libdir}/libmenu.a
+ln -sf libpanelw.a $RPM_BUILD_ROOT%{_libdir}/libpanel.a
+ln -sf libncurses++w.a $RPM_BUILD_ROOT%{_libdir}/libncurses++.a
+
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcurses.a
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcursesw.a
%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.ncurses-non-english-man-pages
%clean
@@ -545,6 +564,7 @@ exit 0
%attr(755,root,root) %ghost /%{_lib}/libncursesw.so.6
%attr(755,root,root) %{_libdir}/libncursesw.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libncursesw.so.5
+# compatibility symlinks
%attr(755,root,root) /%{_lib}/libtinfo.so.5
%attr(755,root,root) /%{_lib}/libtinfow.so.6
%attr(755,root,root) %{_libdir}/libtinfow.so.5
@@ -851,23 +871,27 @@ exit 0
%files static
%defattr(644,root,root,755)
+%{_libdir}/libcurses.a
%{_libdir}/libncurses.a
+%{_libdir}/libtinfo.a
+%{_libdir}/libcursesw.a
%{_libdir}/libncursesw.a
+%{_libdir}/libtinfow.a
%files ext
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libform.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libform.so.[56]
+%attr(755,root,root) %ghost %{_libdir}/libform.so.5
%attr(755,root,root) %{_libdir}/libmenu.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmenu.so.[56]
+%attr(755,root,root) %ghost %{_libdir}/libmenu.so.5
%attr(755,root,root) %{_libdir}/libpanel.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpanel.so.[56]
+%attr(755,root,root) %ghost %{_libdir}/libpanel.so.5
%attr(755,root,root) %{_libdir}/libformw.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libformw.so.[56]
+%attr(755,root,root) %ghost %{_libdir}/libformw.so.6
%attr(755,root,root) %{_libdir}/libmenuw.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmenuw.so.[56]
+%attr(755,root,root) %ghost %{_libdir}/libmenuw.so.6
%attr(755,root,root) %{_libdir}/libpanelw.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpanelw.so.[56]
+%attr(755,root,root) %ghost %{_libdir}/libpanelw.so.6
%files ext-devel
%defattr(644,root,root,755)
@@ -880,9 +904,12 @@ exit 0
%{_includedir}/form.h
%{_includedir}/menu.h
%{_includedir}/panel.h
-%{_includedir}/ncurses*/form.h
-%{_includedir}/ncurses*/menu.h
-%{_includedir}/ncurses*/panel.h
+%{_includedir}/ncurses/form.h
+%{_includedir}/ncurses/menu.h
+%{_includedir}/ncurses/panel.h
+%{_includedir}/ncursesw/form.h
+%{_includedir}/ncursesw/menu.h
+%{_includedir}/ncursesw/panel.h
%{_pkgconfigdir}/form.pc
%{_pkgconfigdir}/formw.pc
%{_pkgconfigdir}/menu.pc
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ncurses.git/commitdiff/e296781607c33c5a9319dea913699f365d64cf93
More information about the pld-cvs-commit
mailing list