X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=package%2Fncurses.spec;h=e0fd5f7eb2e4a52fbe31379a9b07b9034f6c26c9;hp=5c9afbd589f9d73bf50b42dc462380faa56ffdcb;hb=cf6a62567b2365c8678b7d561845bdbd1739e5da;hpb=e33150410925e7858dacebb585a9bd90db683d86 diff --git a/package/ncurses.spec b/package/ncurses.spec index 5c9afbd5..e0fd5f7e 100644 --- a/package/ncurses.spec +++ b/package/ncurses.spec @@ -1,15 +1,12 @@ Summary: shared libraries for terminal handling Name: ncurses6 -Version: 6.0 -Release: 20180120 +Version: 6.2 +Release: 20200718 License: X11 Group: Development/Libraries Source: ncurses-%{version}-%{release}.tgz # URL: https://invisible-island.net/ncurses/ -%define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion -%define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic - %global MY_ABI 6 # save value before redefining @@ -29,49 +26,85 @@ This package is used for testing ABI %{MY_ABI}. %prep +%global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0) +%global is_fedora %(test -f /usr/bin/dnf && echo 1 || echo 0) +%global is_centos %(test -f /etc/centos-release && echo 1 || echo 0) +%global is_redhat %(test -f /etc/redhat-release && echo 1 || echo 0) +%global is_scilinux %(test -f /etc/sl-release && echo 1 || echo 0) +%global is_suse %(test -f /etc/SuSE-release && echo 1 || echo 0) + +%if %{is_redhat} +# generate debug/debug-source packages. +%else %define debug_package %{nil} +%endif + +%if %{is_mandriva} +%define _disable_ld_as_needed 1 +%define _disable_ld_no_undefined 1 +# libtool is not used here... +%define _disable_libtoolize 1 +%define _disable_ld_build_id 1 +%endif + +%if %{is_fedora} || %{is_scilinux} || %{is_centos} +# workaround for toolset breakage in Fedora 28 +%define _test_relink --enable-relink +%else +%define _test_relink --disable-relink +%endif + %setup -q -n ncurses-%{version}-%{release} %build -CFLAGS="%{CC_NORMAL}" \ -RPATH_LIST=../lib:%{_prefix}/lib \ -%configure \ - --target %{_target_platform} \ - --prefix=%{_prefix} \ - --includedir='${prefix}/include' \ - --with-default-terminfo-dir=%{MYDATA} \ - --with-install-prefix=$RPM_BUILD_ROOT \ - --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \ - --with-config-suffix=dev \ - --disable-echo \ - --disable-getcap \ - --disable-leaks \ - --disable-macros \ - --disable-overwrite \ - --disable-termcap \ - --enable-hard-tabs \ - --enable-pc-files \ - --enable-rpath \ - --enable-warnings \ - --enable-wgetch-events \ - --enable-widec \ - --verbose \ - --program-suffix=%{MY_ABI} \ - --with-abi-version=%{MY_ABI} \ - --with-develop \ - --with-shared \ - --with-termlib \ - --with-ticlib \ - --with-trace \ - --with-cxx-shared \ - --with-extra-suffix=%{MY_ABI} \ - --with-pkg-config-libdir=%{MY_PKG} \ - --with-versioned-syms \ - --with-xterm-kbs=DEL \ - --without-ada \ - --without-debug \ +%define CFG_OPTS \\\ + --target %{_target_platform} \\\ + --prefix=%{_prefix} \\\ + --bindir=%{_bindir} \\\ + --includedir=%{_includedir} \\\ + --libdir=%{_libdir} \\\ + --includedir='${prefix}/include' \\\ + --disable-echo \\\ + --disable-getcap \\\ + --disable-leaks \\\ + --disable-macros \\\ + --disable-overwrite \\\ + %{_test_relink} \\\ + --disable-termcap \\\ + --enable-hard-tabs \\\ + --enable-opaque-curses \\\ + --enable-opaque-form \\\ + --enable-opaque-menu \\\ + --enable-opaque-panel \\\ + --enable-pc-files \\\ + --enable-rpath \\\ + --enable-warnings \\\ + --enable-wgetch-events \\\ + --enable-widec \\\ + --enable-xmc-glitch \\\ + --program-suffix=%{MY_ABI} \\\ + --verbose \\\ + --with-abi-version=%{MY_ABI} \\\ + --with-config-suffix=dev \\\ + --with-cxx-shared \\\ + --with-default-terminfo-dir=%{MYDATA} \\\ + --with-develop \\\ + --with-extra-suffix=%{MY_ABI} \\\ + --with-install-prefix=$RPM_BUILD_ROOT \\\ + --with-pkg-config-libdir=%{MY_PKG} \\\ + --with-shared \\\ + --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \\\ + --with-termlib \\\ + --with-ticlib \\\ + --with-trace \\\ + --with-versioned-syms \\\ + --with-xterm-kbs=DEL \\\ + --without-ada \\\ + --without-debug \\\ --without-normal +%configure %{CFG_OPTS} + make %install @@ -81,8 +114,22 @@ make install.libs install.progs rm -f test/ncurses ( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses%{MY_ABI} ) +%if %{is_mandriva} +# check this first because Mageia has the /etc/redhat-release file... +%else +%if %{is_fedora} +%ldconfig_scriptlets libs +%ldconfig_scriptlets c++-libs +%endif +%endif + %clean -rm -rf $RPM_BUILD_ROOT +if rm -rf $RPM_BUILD_ROOT; then + echo OK +else + find $RPM_BUILD_ROOT -type f | grep -F -v /.nfs && exit 1 +fi +exit 0 %files %defattr(-,root,root,-) @@ -92,6 +139,29 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Dec 24 2019 Thomas Dickey +- drop custom CC_NORMAL warning flags because setting CFLAGS interferes with + matching Fedora's PIE/PIC configuration. Also, generate debug/debug-source + packages. + +* Sat Nov 16 2019 Thomas Dickey +- modify clean-rule to work around Fedora NFS bugs. + +* Sat Aug 25 2018 Thomas E. Dickey +- split spec-file into ncurses6 and ncursest6 to work around toolset breakage + in Fedora 28 + +* Sat Jun 02 2018 Thomas E. Dickey +- build-fix for Mageia + +* Sat May 26 2018 Thomas E. Dickey +- use predefined configure-macro +- separate ncurses6/ncursest6 packages + +* Sat Feb 10 2018 Thomas E. Dickey +- add ncursest6 package +- add several development features + * Mon Jan 01 2018 Thomas E. Dickey - drop redundant files pattern for "*.pc"