]> 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.31 2022/12/18 00:08:17 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                 --libexecdir=%{_libexecdir} \
65                 --with-ada-include=%{ada_include} \
66                 --with-ada-objects=%{ada_libdir} \
67                 --mandir=%{_mandir} \
68                 --datadir=%{_datadir} \
69                 --disable-rpath-link \
70                 --disable-echo \
71                 --verbose \
72                 --enable-warnings
73
74 make
75
76 %install
77 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
78
79 make install DESTDIR=$RPM_BUILD_ROOT
80 make install.examples DESTDIR=$RPM_BUILD_ROOT
81
82 %clean
83 if rm -rf $RPM_BUILD_ROOT; then
84   echo OK
85 else
86   find $RPM_BUILD_ROOT -type f | grep -F -v /.nfs && exit 1
87 fi
88 exit 0
89
90 %files
91 %defattr(-,root,root)
92 %{_bindir}/%{AppProgram}
93 %{_bindir}/adacurses*-config
94 %{_libexecdir}/%{AppProgram}/*
95 %{ada_libdir}/
96 %if %{need_filter} == 1
97 %{_libdir}/lib%{AppProgram}.*
98 %endif
99 %if %{is_suse}
100 %{_libdir}/lib%{AppProgram}.*
101 %endif
102 %{_mandir}/man1/adacurses*-config.1*
103 %{_datadir}/%{AppProgram}/*
104 %{ada_include}/
105
106 %changelog
107 # each patch should add its ChangeLog entries here
108
109 * Sat Dec 17 2022 Thomas Dickey
110 - install sample programs in libexec
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