blob: 92faadc2b6bcb2ea32bdb64812a28f424451c555 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
%define rl_vers 5.2
Name: readline
Version: 5.2
Release: 0
License: GPL-2.0+
Summary: The Readline Library
Url: http://www.gnu.org/software/bash/bash.html
Group: Base/Libraries
Source0: readline-%{version}.tar.bz2
Source2: baselibs.conf
Source1001: readline.manifest
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: ncurses-devel
Provides: bash:/%{_libdir}/libreadline.so.5
%global _sysconfdir /etc
%global _incdir %{_includedir}
%description
The readline library is used by the Bourne Again Shell (bash, the
standard command interpreter) for easy editing of command lines. This
includes history and search functionality.
%package devel
Version: 5.2
Release: 0
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries
Requires: libreadline = %{version}
Requires: ncurses-devel
Provides: bash:%{_libdir}/libreadline.a
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package -n libreadline
Summary: The Readline Library
%description -n libreadline
The readline library is used by the Bourne Again Shell (bash, the
standard command interpreter) for easy editing of command lines. This
includes history and search functionality.
%prep
%setup -q -n readline-%{version}
cp %{SOURCE1001} .
%build
autoconf
cflags ()
{
local flag=$1; shift
case "%{optflags}" in
*${flag}*) return
esac
if test -n "$1" && gcc -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
local var=$1; shift
eval $var=\${$var:+\$$var\ }$flag
fi
}
echo 'int main () { return !(sizeof(void*) >= 8); }' | gcc -x c -o test64 -
if ./test64 ; then
LARGEFILE=""
else
LARGEFILE="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
fi
rm -f ./test64
CFLAGS="%{optflags} $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
LDFLAGS=" -Wl,-z,relro"
cflags -std=gnu89 CFLAGS
cflags -Wuninitialized CFLAGS
cflags -Wextra CFLAGS
cflags -Wno-unprototyped-calls CFLAGS
cflags -Wno-switch-enum CFLAGS
cflags -ftree-loop-linear CFLAGS
cflags -pipe CFLAGS
cflags -Wl,--as-needed LDFLAGS
cflags -Wl,-O,2 LDFLAGS
CC=gcc
CC_FOR_BUILD="$CC"
CFLAGS_FOR_BUILD="$CFLAGS"
LDFLAGS_FOR_BUILD="$LDFLAGS"
export CC_FOR_BUILD CFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
./configure --build=%{_target_cpu}-tizen-linux \
--prefix=%{_prefix} \
--with-curses \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--libdir=%{_libdir}
make
make documentation
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.5
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.5
%install
make install htmldir=%{_defaultdocdir}/readline DESTDIR=%{buildroot}
make install-shared libdir=/%{_libdir} linkagedir=%{_libdir} DESTDIR=%{buildroot}
rm -rf %{buildroot}%{_defaultdocdir}/bash
rm -rf %{buildroot}%{_defaultdocdir}/readline
chmod 0755 %{buildroot}/%{_libdir}/libhistory.so.%{rl_vers}
chmod 0755 %{buildroot}/%{_libdir}/libreadline.so.%{rl_vers}
rm -f %{buildroot}/%{_libdir}/libhistory.so.%{rl_vers}*old
rm -f %{buildroot}/%{_libdir}/libreadline.so.%{rl_vers}*old
# remove unpackaged files
#rm -fv %{buildroot}%{_libdir}/libhistory.so.*
#rm -fv %{buildroot}%{_libdir}/libreadline.so.*
rm -fv %{buildroot}%{_mandir}/man3/history.3*
rm -fv %{buildroot}%{_infodir}/*.info*
rm -f %{buildroot}/%{_libdir}/libhistory.a
rm -f %{buildroot}/%{_libdir}/libreadline.a
%remove_docs
%post -n libreadline -p /sbin/ldconfig
%postun -n libreadline -p /sbin/ldconfig
%files -n libreadline
%manifest %{name}.manifest
%defattr(-,root,root)
%license COPYING
%{_libdir}/libhistory.so.5
%{_libdir}/libhistory.so.%{rl_vers}
%{_libdir}/libreadline.so.5
%{_libdir}/libreadline.so.%{rl_vers}
%files devel
%manifest %{name}.manifest
%defattr(-,root,root)
%{_incdir}/readline/
%{_libdir}/libhistory.so
%{_libdir}/libreadline.so
%changelog
|