summaryrefslogtreecommitdiffstats
path: root/cygwin-ncurses.spec
blob: 02bf712ec66f0c104085d1a19fd9cc0b10dbae57 (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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
%{?cygwin_package_header}

# built separately due to mismatched versions
%global cygwin_build_64bit 0

Name:      cygwin-ncurses
Version:   5.7
Release:   2
Summary:   Ncurses library for Cygwin toolchain

Group:     Development/Libraries
License:   MIT
URL:       http://invisible-island.net/ncurses/
BuildArch: noarch

Source0:   ftp://invisible-island.net/ncurses/ncurses-%{version}.tar.gz
Patch0:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091107-patch.sh.bz2
Patch1:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091114.patch.gz
Patch2:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091121.patch.gz
Patch3:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091128.patch.gz
Patch4:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091205.patch.gz
Patch5:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091212.patch.gz
Patch6:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091219.patch.gz
Patch7:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091226.patch.gz
Patch8:    ftp://invisible-island.net/ncurses/%{version}/ncurses-%{version}-20091227.patch.gz
Patch100:  ncurses-5.7-17.extra.patch
Patch101:  ncurses-5.7-18.src.patch

BuildRequires: cygwin32-filesystem
BuildRequires: cygwin32-binutils
BuildRequires: cygwin32-gcc
BuildRequires: cygwin32-gcc-c++
BuildRequires: cygwin32-libtool
BuildRequires: cygwin32


%description
Ncurses library for Cygwin toolchains

%package -n cygwin32-ncurses
Summary:   Ncurses library for Cygwin toolchain
Group:     Development/Libraries
Provides:  %{name} = %{version}-%{release}
Obsoletes: %{name} < %{version}-%{release}

%description -n cygwin32-ncurses
Ncurses library for Cygwin i686 toolchain

%{?cygwin_debug_package}


%prep
%setup -q -n ncurses-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch100 -p2
%patch101 -p2


%build
%cygwin32_configure \
	--with-build-cflags=-D_XOPEN_SOURCE_EXTENDED \
	--with-libtool=%{_bindir}/%{cygwin32_target}-libtool \
        PKG_CONFIG_LIBDIR=%{cygwin32_libdir}/pkgconfig \
	--with-install-prefix=$RPM_BUILD_ROOT \
	--without-debug --disable-relink --disable-rpath \
	--with-ticlib --without-termlib --enable-widec --enable-ext-colors \
	--enable-ext-mouse --enable-sp-funcs --enable-reentrant \
	--with-abi-version=10 --with-wrap-prefix=ncwrap_ \
	--enable-sigwinch --enable-colorfgbg --enable-tcap-names \
	--disable-termcap --disable-mixed-case --enable-symlinks \
	--with-pkg-config --enable-pc-files \
	--with-manpage-format=normal --with-manpage-aliases \
	--with-default-terminfo-dir=/usr/share/terminfo \
	--enable-echo

sed -i -e 's%^\(LIBRARIES[ \t]*=\).*$%\1 ../lib/libncursesw.la ../lib/libticw.la%' ncurses/Makefile
make


%install
make install.libs install.includes DESTDIR=$RPM_BUILD_ROOT

pushd $RPM_BUILD_ROOT%{cygwin32_bindir}
mv ncursesw10-config ncursesw5-config
ln -s ncursesw5-config ncurses5-config
sed -i -e 's|echo "10"|echo "6"|' ncursesw5-config
popd

mkdir -p $RPM_BUILD_ROOT%{cygwin32_includedir}/ncurses{,w}
pushd $RPM_BUILD_ROOT%{cygwin32_includedir}/ncurses
ln -s ../*.h .
popd
pushd $RPM_BUILD_ROOT%{cygwin32_includedir}/ncursesw
ln -s ../*.h .
popd

pushd $RPM_BUILD_ROOT%{cygwin32_libdir}
for f in *.a
do
  ln -s ${f} ${f/w/}
done

pushd $RPM_BUILD_ROOT%{cygwin32_libdir}/pkgconfig
for f in *.pc
do
  ln -s ${f} ${f/w/}
done

# We intentionally don't ship *.la files
find $RPM_BUILD_ROOT -name '*.la' -delete


%files -n cygwin32-ncurses
%doc ANNOUNCE AUTHORS NEWS README
%{cygwin32_bindir}/cygformw-10.dll
%{cygwin32_bindir}/cygmenuw-10.dll
%{cygwin32_bindir}/cygncursesw-10.dll
%{cygwin32_bindir}/cygncurses++w-10.dll
%{cygwin32_bindir}/cygpanelw-10.dll
%{cygwin32_bindir}/cygticw-10.dll
%{cygwin32_bindir}/ncurses5-config
%{cygwin32_bindir}/ncursesw5-config
%{cygwin32_includedir}/*.h
%{cygwin32_includedir}/ncurses/
%{cygwin32_includedir}/ncursesw/
%{cygwin32_libdir}/libform.dll.a
%{cygwin32_libdir}/libformw.dll.a
%{cygwin32_libdir}/libmenu.dll.a
%{cygwin32_libdir}/libmenuw.dll.a
%{cygwin32_libdir}/libncurses.dll.a
%{cygwin32_libdir}/libncursesw.dll.a
%{cygwin32_libdir}/libncurses++.dll.a
%{cygwin32_libdir}/libncurses++w.dll.a
%{cygwin32_libdir}/libpanel.dll.a
%{cygwin32_libdir}/libpanelw.dll.a
%{cygwin32_libdir}/libtic.dll.a
%{cygwin32_libdir}/libticw.dll.a
%{cygwin32_libdir}/pkgconfig/form.pc
%{cygwin32_libdir}/pkgconfig/formw.pc
%{cygwin32_libdir}/pkgconfig/menu.pc
%{cygwin32_libdir}/pkgconfig/menuw.pc
%{cygwin32_libdir}/pkgconfig/ncurses.pc
%{cygwin32_libdir}/pkgconfig/ncursesw.pc
%{cygwin32_libdir}/pkgconfig/ncurses++.pc
%{cygwin32_libdir}/pkgconfig/ncurses++w.pc
%{cygwin32_libdir}/pkgconfig/panel.pc
%{cygwin32_libdir}/pkgconfig/panelw.pc
%{cygwin32_libdir}/pkgconfig/tic.pc
%{cygwin32_libdir}/pkgconfig/ticw.pc


%changelog
* Mon Jul 01 2013 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 5.7-2
- Rebuild for new Cygwin packaging scheme.
- Build only widechar libraries.

* Thu Mar 22 2012 Yaakov Selkowitz <cygwin-ports-general@lists.sourceforge.net> - 5.7-1
- Initial RPM release.