summaryrefslogtreecommitdiffstats
path: root/cygwin.spec
blob: 85119bed1d01e77fd4278efd1571642b4deca510 (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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
%{?cygwin_package_header}

Name:           cygwin
Version:        2.5.2
Release:        1%{?dist}
Summary:        Cygwin cross-compiler runtime

License:        LGPLv3+ and GPLv3+
Group:          Development/Libraries
URL:            http://www.cygwin.com/
BuildArch:      noarch

# downloaded and extracted by get-sources.sh
Source0:        newlib-cygwin-%{version}.tar.bz2

BuildRequires:  cygwin32-filesystem >= 7
BuildRequires:  cygwin32-binutils
BuildRequires:  cygwin32-gcc
BuildRequires:  cygwin32-gcc-c++
BuildRequires:  cygwin32-w32api-headers
BuildRequires:  cygwin32-w32api-runtime
BuildRequires:  mingw32-crt
BuildRequires:  mingw32-gcc
BuildRequires:  mingw32-gcc-c++
BuildRequires:  mingw32-headers
BuildRequires:  mingw32-winpthreads-static
BuildRequires:  mingw32-zlib-static

BuildRequires:  cygwin64-filesystem >= 7
BuildRequires:  cygwin64-binutils
BuildRequires:  cygwin64-gcc
BuildRequires:  cygwin64-gcc-c++
BuildRequires:  cygwin64-w32api-headers
BuildRequires:  cygwin64-w32api-runtime
BuildRequires:  mingw64-crt
BuildRequires:  mingw64-gcc
BuildRequires:  mingw64-gcc-c++
BuildRequires:  mingw64-headers
BuildRequires:  mingw64-winpthreads-static
BuildRequires:  mingw64-zlib-static

BuildRequires:  texinfo
BuildRequires:  xmlto-tex
BuildRequires:  dblatex

%description
Cygwin cross-compiler runtime, base libraries.

%package -n cygwin32
Summary:    Cygwin32 cross-compiler runtime
Requires:   cygwin32-w32api-runtime
Provides:   cygwin = %{version}-%{release}
Obsoletes:  cygwin < %{version}-%{release}

%description -n cygwin32
Cygwin 32-bit cross-compiler runtime, base libraries.

%package -n cygwin64
Summary:    Cygwin64 cross-compiler runtime
Requires:   cygwin64-w32api-runtime

%description -n cygwin64
Cygwin 64-bit cross-compiler runtime, base libraries.


%prep
%setup -q -n newlib-cygwin
touch winsup/cygwin/tlsoffsets*.h
touch winsup/cygwin/devices.cc


%build
mkdir -p build_cyg32
pushd build_cyg32

`pwd`/../configure \
  --prefix=%{cygwin32_prefix} \
  --build=%_build --host=%_host \
  --target=%{cygwin32_target}

make %{?_smp_mflags} all
popd

mkdir -p build_cyg64
pushd build_cyg64

`pwd`/../configure \
  --prefix=%{cygwin64_prefix} \
  --build=%_build --host=%_host \
  --target=%{cygwin64_target}

make %{?_smp_mflags} all
popd


%install
pushd build_cyg32
make DESTDIR=$RPM_BUILD_ROOT install tooldir=%{cygwin32_prefix}
popd

pushd build_cyg64
make DESTDIR=$RPM_BUILD_ROOT install tooldir=%{cygwin64_prefix}
popd

# remove files not needed for cross-compiling
rm -fr $RPM_BUILD_ROOT%{cygwin32_prefix}/etc
rm -f  $RPM_BUILD_ROOT%{cygwin32_bindir}/cyglsa*
rm -f  $RPM_BUILD_ROOT%{cygwin32_bindir}/cygserver-config
rm -f  $RPM_BUILD_ROOT%{cygwin32_bindir}/*.exe
rm -fr $RPM_BUILD_ROOT%{cygwin32_sbindir}
rm -fr $RPM_BUILD_ROOT%{cygwin32_datadir}

rm -fr $RPM_BUILD_ROOT%{cygwin64_prefix}/etc
rm -f  $RPM_BUILD_ROOT%{cygwin64_bindir}/cyglsa*
rm -f  $RPM_BUILD_ROOT%{cygwin64_bindir}/cygserver-config
rm -f  $RPM_BUILD_ROOT%{cygwin64_bindir}/*.exe
rm -fr $RPM_BUILD_ROOT%{cygwin64_sbindir}
rm -fr $RPM_BUILD_ROOT%{cygwin64_datadir}

# these are provided by other packages
rm -fr $RPM_BUILD_ROOT%{cygwin32_includedir}/iconv.h
rm -fr $RPM_BUILD_ROOT%{cygwin32_includedir}/unctrl.h
rm -fr $RPM_BUILD_ROOT%{cygwin32_includedir}/rpc/

rm -fr $RPM_BUILD_ROOT%{cygwin64_includedir}/iconv.h
rm -fr $RPM_BUILD_ROOT%{cygwin64_includedir}/unctrl.h
rm -fr $RPM_BUILD_ROOT%{cygwin64_includedir}/rpc/


%files -n cygwin32
%doc winsup/COPYING winsup/CYGWIN_LICENSE
%{cygwin32_bindir}/cygwin1.dll
%{cygwin32_includedir}/*
%{cygwin32_libdir}/*

%files -n cygwin64
%doc winsup/COPYING winsup/CYGWIN_LICENSE
%{cygwin64_bindir}/cygwin1.dll
%{cygwin64_includedir}/*
%{cygwin64_libdir}/*


%changelog
* Fri Jun 24 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 2.5.2-1
- new version

* Wed Mar 30 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 2.4.1-2
- Fix build with GCC 5

* Sun Feb 21 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 2.4.1-1
- new version

* Mon Aug 10 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 2.2.0-1
- new version

* Fri Jun 19 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 2.0.4-1
- new version

* Tue Mar 3 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 1.7.34-1
- Version bump.

* Fri Nov 28 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 1.7.33-1
- Version bump.

* Fri Aug 22 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 1.7.32-2
- BR: mingw*-winpthreads-static to fix FTBFS on F21/EPEL7

* Fri Aug 15 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 1.7.32-1
- Version bump.

* Fri Jul 25 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 1.7.31-1
- Version bump.

* Thu May 22 2014 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.29-1
- Version bump.

* Thu Jan 16 2014 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.27-1
- Version bump.

* Mon Jul 15 2013 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.21-1
- Version bump.

* Fri Jun 28 2013 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.20-1
- Version bump.
- Updated for new Cygwin packaging scheme.

* Sun Oct 21 2012 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.17-1
- Version bump.
- New API: memrchr.

* Wed May 23 2012 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.15-1
- Version bump.

* Tue May 08 2012 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.14-1
- Version bump.

* Sun Feb 26 2012 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.11-1
- Version bump.
- New API: scandirat.

* Sun Feb 05 2012 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.10-1
- Version bump; removed all patches incorporated upstream.
- New headers: error.h, tgmath.h.
- 35 new APIs.

* Sun Aug 21 2011 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.9-3
- Remove <unctrl.h>, which is to be provided by cygwin-ncurses.
- Added _PATH_MAILDIR and _PATH_SHELLS to <paths.h>.
- Added strdupa and strndupa to <string.h>.
- Header fixes for <process.h> and <unistd.h>.

* Thu Apr 28 2011 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.9-2
- Header fixes for <fenv.h> and <sys/sysmacros.h>.

* Tue Mar 29 2011 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.9-1
- Version bump.
- New API: strchrnul.
- New header: <sys/xattr.h>

* Tue Mar 01 2011 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.8-1
- Version bump.
- New APIs: <fenv.h>, C99 complex math functions, POSIX-compliant strerror_r,
  madvise, pthread_yield, program_invocation_name, program_invocation_short_name.

* Wed Feb 16 2011 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 1.7.7-1
- Initial RPM release, largely based on earlier work from several sources.