]> ncurses.scripts.mit.edu Git - ncurses.git/blob - Ada95/package/AdaCurses.spec
ncurses 6.4 - patch 20240420
[ncurses.git] / Ada95 / package / AdaCurses.spec
1 Summary: Ada95 binding for ncurses
2 %define AppProgram AdaCurses
3 %define AppVersion MAJOR.MINOR
4 %define AppRelease YYYYMMDD
5 # $Id: AdaCurses.spec,v 1.30 2022/11/19 21:21:16 tom Exp $
6 Name: %{AppProgram}
7 Version: %{AppVersion}
8 Release: %{AppRelease}
9 License: MIT
10 Group: Applications/Development
11 URL: ftp://ftp.invisible-island.net/%{AppProgram}
12 Source0: %{AppProgram}-%{AppRelease}.tgz
13 Packager: Thomas Dickey <dickey@invisible-island.net>
14
15 %description
16 This is the Ada95 binding from the ncurses MAJOR.MINOR distribution, for
17 patch-date YYYYMMDD.
18
19 In addition to a library, this package installs sample programs in
20 "bin/%{AppProgram}" to avoid conflict with other packages.
21 %prep
22
23 %global is_mandriva %(test -f /etc/mandriva-release && echo 1 || echo 0)
24 %global is_redhat   %(test -f /etc/redhat-release && echo 1 || echo 0)
25 %global is_suse     %(if grep -E -i '(opensuse)' /etc/issue >/dev/null; then echo 1; else echo 0; fi)
26
27 %define debug_package %{nil}
28
29 %define need_filter %(if grep -E -i '(red hat|fedora)' /etc/issue >/dev/null; then echo 1; elif test -f /etc/fedora-release; then echo 1; else echo 0; fi)
30
31 %if %{need_filter} == 1
32 # http://fedoraproject.org/wiki/EPEL:Packaging_Autoprovides_and_Requires_Filtering
33 %filter_from_requires /lib%{AppProgram}.so.1/d
34 %filter_setup
35 %endif
36
37 %setup -q -n %{AppProgram}-%{AppRelease}
38
39 %build
40
41 %define ada_libdir %{_libdir}/ada/adalib
42 %define ada_include %{_prefix}/share/ada/adainclude
43
44 %if %{is_mandriva}
45 # Mageia 8 lacks gprbuild, needed for building shared libraries.
46 %define ada_model --without-shared --without-ada-sharedlib --with-ada-objects=%{_libdir}/adalib
47 %else
48 # OpenSUSE actually lacks gprbuild, but there is a workable "community" package.
49 %define ada_model --with-shared --with-ada-sharedlib
50 %if %{is_redhat}
51 # Fedora 36 LTO does not work with gprbuild system configuration.
52 unset CFLAGS
53 unset LDFLAGS
54 unset LT_SYS_LIBRARY_PATH
55 %endif
56 %endif
57
58 INSTALL_PROGRAM='${INSTALL}' \
59         ./configure %{ada_model} \
60                 --target %{_target_platform} \
61                 --prefix=%{_prefix} \
62                 --bindir=%{_bindir} \
63                 --libdir=%{_libdir} \
64                 --with-ada-include=%{ada_include} \
65                 --with-ada-objects=%{ada_libdir} \
66                 --mandir=%{_mandir} \
67                 --datadir=%{_datadir} \
68                 --disable-rpath-link \
69                 --disable-echo \
70                 --verbose \
71                 --enable-warnings
72
73 make
74
75 %install
76 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
77
78 make install DESTDIR=$RPM_BUILD_ROOT
79
80 ( cd samples &&
81   make install.examples \
82     DESTDIR=$RPM_BUILD_ROOT \
83     BINDIR=$RPM_BUILD_ROOT%{_bindir}/%{AppProgram}
84 )
85
86 %clean
87 if rm -rf $RPM_BUILD_ROOT; then
88   echo OK
89 else
90   find $RPM_BUILD_ROOT -type f | grep -F -v /.nfs && exit 1
91 fi
92 exit 0
93
94 %files
95 %defattr(-,root,root)
96 %{_bindir}/adacurses*-config
97 %{_bindir}/%{AppProgram}/*
98 %{ada_libdir}/
99 %if %{need_filter} == 1
100 %{_libdir}/lib%{AppProgram}.*
101 %endif
102 %if %{is_suse}
103 %{_libdir}/lib%{AppProgram}.*
104 %endif
105 %{_mandir}/man1/adacurses*-config.1*
106 %{_datadir}/%{AppProgram}/*
107 %{ada_include}/
108
109 %changelog
110 # each patch should add its ChangeLog entries here
111
112 * Sat Nov 19 2022 Thomas Dickey
113 - use static libraries for Mageia.
114
115 * Sat Nov 12 2022 Thomas Dickey
116 - unset environment variables to work around Fedora LTO bugs.
117 - build-fix for OpenSUSE with gprbuild.
118
119 * Sat Nov 16 2019 Thomas Dickey
120 - modify clean-rule to work around Fedora NFS bugs.
121
122 * Sat Sep 14 2019 Thomas Dickey
123 - build-fixes for Fedora29, OpenSUSE
124
125 * Sat Sep 07 2019 Thomas Dickey
126 - use AppProgram to replace "AdaCurses" globally
127 - amend install-paths to work with Fedora30
128
129 * Thu Mar 31 2011 Thomas Dickey
130 - use --with-shared option for consistency with --with-ada-sharelib
131 - ensure that MY_DATADIR is set when installing examples
132 - add ada_libdir symbol to handle special case where libdir is /usr/lib64
133 - use --disable-rpath-link to link sample programs without rpath
134
135 * Fri Mar 25 2011 Thomas Dickey
136 - initial version