source: spec/trunk/SPECS/libc.spec@ 1323

Last change on this file since 1323 was 1229, checked in by dmik, 8 years ago

spec: libc: Release version 0.6.6-35.

  • Property svn:eol-style set to native
File size: 8.6 KB
Line 
1#disable lxlite strip & debug info generation
2%define __os_install_post %{nil}
3
4Name: libc
5License: BSD; GPL v2 or later; LGPL v2.1 or later
6Summary: Standard Shared Libraries
7Group: System/Libraries
8Version: 0.6.6
9Release: 35%{?dist}
10Url: http://svn.netlabs.org/libc
11
12Source: libc-%{version}.zip
13Source1: libc-emxomf-20150207.zip
14# This contains binary build of LIBC with patches from tickets #361-366
15Source2: libc-hotfix-20170822.zip
16# This contains binary build of emxomfld with patches from ticket #376
17Source3: libc-emxomfld-20170411.zip
18
19Patch0: libc.patch
20
21# http://trac.netlabs.org/libc/ticket/377
22Patch1: libc-dmik-no-bsd.diff
23# http://trac.netlabs.org/libc/ticket/366 (header only)
24Patch2: libc-dmik-fork_completion_callback-header.diff
25
26# These patches are not actually applied but they record what
27# needs to be done to the stock LIBC 0.6 source in order to build
28# emxomf.exe contained in libc-emxomf.zip
29Patch101: libc-dmik-emxomf-02-remove-asterisk.diff
30Patch102: libc-yuri-emxomf-verbose-warnings-3.patch
31Patch103: libc-dmik-fork_completion_callback.diff
32
33BuildRequires: rexx_exe
34
35# Require kLIBC user management to make programs using Unix user management API
36# (getpwuid() and friends) work correctly.
37Requires: klusrmgr
38
39%description
40kLIBC is a C runtime library in which the coder is exploring The Single Unix
41Specification (SUS) and various *BSD, Sun and Linux interfaces used in 'portable'
42software. While implementing SUS completely and providing a great range of special
43BSD, Sun and Linux APIs is a kind of ultimate goal, the main focus is on what is
44interesting to play with and what is requested by porters using kLIBC.
45
46
47%package devel
48License: BSD; GPL v2 or later; LGPL v2.1 or later
49Summary: Include Files and Libraries Mandatory for Development
50Group: Development/Libraries/C and C++
51Requires: libc = %{version}-%{release}
52Obsoletes: libc-kprofile < %{version}
53
54%description devel
55These libraries are needed to develop programs which use the standard C
56library.
57
58
59%package -n db1-devel
60License: BSD; GPL v2 or later; LGPL v2.1 or later
61Summary: Include Files and Libraries Mandatory for Development (db headers)
62Group: Development/Libraries/C and C++
63
64%description -n db1-devel
65These libraries are needed to develop programs which use the standard C
66library (db headers).
67
68
69%package gettext-devel
70License: BSD; GPL v2 or later; LGPL v2.1 or later
71Summary: Include Files and Libraries Mandatory for Development (gettext headers)
72Group: Development/Libraries/C and C++
73Provides: gettext-devel
74Requires: libc = %{version}-%{release}
75
76%description gettext-devel
77These libraries are needed to develop programs which use the standard C
78library (gettext headers).
79
80
81%package debug
82Summary: HLL debug data for exception handling support.
83
84%description debug
85HLL debug data for exception handling support.
86
87
88%prep
89%setup -q -c -a 1 -a 2 -a 3
90%patch0
91%patch1
92%patch2
93
94#replace paths.h wrong macros
95sed -i 's,"/@unixroot/bin,"/@unixroot/usr/bin,g' usr/include/paths.h
96
97%install
98rm -rf $RPM_BUILD_ROOT
99mkdir -p %{buildroot}%{_bindir}
100mkdir -p %{buildroot}%{_includedir}
101mkdir -p %{buildroot}%{_libdir}
102mkdir -p %{buildroot}%{_usr}/man
103mkdir -p %{buildroot}%{_usr}/info
104
105cp -p -r usr/bin/* %{buildroot}%{_bindir}
106cp -p -r usr/include/* %{buildroot}%{_includedir}
107cp -p -r usr/lib/* %{buildroot}%{_libdir}
108cp -p -r usr/man/* %{buildroot}%{_usr}/man
109cp -p -r usr/man/* %{buildroot}%{_usr}/info
110
111# add new files
112cp -p -r emxomf.exe %{buildroot}%{_bindir}
113cp -p -r emxomfstrip.exe %{buildroot}%{_bindir}
114cp -p -r os2safe.h %{buildroot}%{_includedir}
115cp -p -r libos2.a %{buildroot}%{_libdir}
116
117cp -p -r emxomfld.exe %{buildroot}%{_bindir}
118
119# add hotfix DLLs
120cp -p -r libc066.* %{buildroot}%{_libdir}
121
122# remove ELH and PRF DLLs due to missing kdbglib.dll and kprofile.dll
123# (http://trac.netlabs.org/rpm/ticket/196)
124rm -f %{buildroot}%{_libdir}/libc*.elh
125rm -f %{buildroot}%{_libdir}/libc*.elh.map
126rm -f %{buildroot}%{_libdir}/libc*.prf
127rm -f %{buildroot}%{_libdir}/libc*.prf.map
128
129#remove (old) binutils headers/libs
130rm -f %{buildroot}%{_includedir}/ansidecl.h
131rm -f %{buildroot}%{_includedir}/bfd.h
132rm -f %{buildroot}%{_includedir}/bfdlink.h
133rm -f %{buildroot}%{_includedir}/dis-asm.h
134rm -f %{buildroot}%{_includedir}/libiberty.h
135rm -f %{buildroot}%{_includedir}/symcat.h
136rm -f %{buildroot}%{_libdir}/libbfd.*
137rm -f %{buildroot}%{_libdir}/libopcodes.*
138
139#remove libstdc++/supc++ static libs (built with gcc 3.x)
140rm -f %{buildroot}%{_libdir}/libstdc++.*
141rm -f %{buildroot}%{_libdir}/libsupc++.*
142rm -f %{buildroot}%{_libdir}/libiberty.*
143
144#remove sys/mman.h (provided by libcx-devel)
145rm -f %{buildroot}%{_includedir}/sys/mman.h
146
147rexx2vio $RPM_BUILD_ROOT%{_bindir}/dllar.cmd $RPM_BUILD_ROOT%{_bindir}/dllar.exe
148
149# build omf libraries
150cd %{buildroot}%{_libdir}
151cmd /c "@MakeOmfLibs.cmd"
152
153%clean
154rm -rf $RPM_BUILD_ROOT
155
156
157%files
158%defattr(-,root,root)
159%doc usr/doc/gcc-3.3.5/*
160%{_libdir}/libc06*.dll
161
162%files devel
163%defattr(-,root,root)
164%doc %{_prefix}/man/man1/*
165%doc %{_prefix}/man/man7/*
166%{_bindir}
167%exclude %{_bindir}/*.dbg
168%{_includedir}
169%exclude %{_includedir}/db.h
170%exclude %{_includedir}/ndbm.h
171%exclude %{_includedir}/libintl.h
172%{_usr}/info
173%{_libdir}
174%exclude %{_libdir}/*.dbg
175%exclude %{_libdir}/dbg
176%exclude %{_libdir}/tcpipv4/dbg
177%exclude %{_libdir}/gcc335.dll
178
179%files -n db1-devel
180%defattr(-,root,root)
181%{_includedir}/db.h
182%{_includedir}/ndbm.h
183
184%files gettext-devel
185%defattr(-,root,root)
186%{_includedir}/libintl.h
187
188%files debug
189%defattr(-,root,root)
190%{_bindir}/*.dbg
191%{_libdir}/*.dbg
192%{_libdir}/dbg
193%{_libdir}/tcpipv4/dbg
194
195%changelog
196* Tue Aug 29 2017 Dmitriy Kuminov <coding@dmik.org> 0.6.6-35
197- Apply patch from ticket #366 to allow using LIBC in fork() callbacks.
198
199* Sat Jun 10 2017 Dmitriy Kuminov <coding@dmik.org> 0.6.6-34
200- Remove BSD defines from sys/param.h and types.h to avoid mistreating OS/2
201 as BSD (e.g. by LIBICU's unicode/platform.h).
202
203* Tue Jun 6 2017 Dmitriy Kuminov <coding@dmik.org> 0.6.6-33
204- Provide patched emxomfld.exe that fixes Invalid WKEXT record errors.
205
206* Fri Apr 7 2017 Dmitriy Kuminov <coding@dmik.org> 0.6.6-32
207- Require kLIBC user management (klusrmgr) to make programs using Unix user
208 management API (getpwuid() and friends) work correctly.
209- Move debug libraries from libc-devel to libc-debug (saves a lot of space).
210
211* Thu Sep 22 2016 Dmitriy Kuminov <coding@dmik.org> 0.6.6-31
212- Remove sys/mman.h which is now provided by libcx-devel.
213
214* Fri Sep 02 2016 yd <yd@os2power.com> 0.6.6-30
215- Fix path definitions in paths.h header. ticket#200.
216
217* Sat Aug 20 2016 Dmitriy Kuminov <coding@dmik.org> 0.6.6-29
218- Remove libcXXX.elh and libcXXX.prf from libc-devel due to missing
219 dependnencies (klibdbg.dll and kprofile.dll). This also obsoletes
220 the libc-kprofile dummy package.
221
222* Mon Aug 8 2016 Dmitriy Kuminov <coding@dmik.org> 0.6.6-28
223- Apply patches from tickets #361-365 to make fork() work in dash
224 and similar cases and other minor improvements.
225
226* Tue Jun 14 2016 yd <yd@os2power.com> 0.6.6-27
227- removed libiberty.h since it is already in binutils-devel. ticket#103 and ticket#188.
228
229* Sat Feb 07 2015 yd 0.6.6-26
230- r3946, readded SafeWinUpper.
231- removed asterisk patch from emxomf.
232
233* Fri Jan 23 2015 yd 0.6.6-25
234- added builtin.h and stddef.h patches required for building gcc 4.9.x.
235
236* Sun Jan 18 2015 yd
237- added new SafeDos* wrappers from trunk r3944.
238
239* Sun Jan 11 2015 yd
240- removed ansidecl.h since it is already in binutils-devel. ticket#103.
241
242* Thu Jan 09 2015 yd
243- added new SafeDos* wrappers from trunk r3942 and r3943.
244- added emxomfstrip binary from trunk.
245
246* Tue Jan 06 2015 yd 0.6.6-21
247- update to libc 0.6.6-csd6, added omf libraries.
248
249* Tue Aug 19 2014 Dmitriy Kuminov <coding@dmik.org> 0.6.5-20
250- Merged emxomf-remove-asterick.diff from libc ticket #220.
251- Made libc-devel and libc-gettext-devel strictly depend on current libc.
252
253* Wed Jun 25 2014 yd
254- emxomf, merged libc tickets #251, #293, #295.
255
256* Thu Sep 11 2013 yd
257- ticket#63: remove gcc335.dll from devel distribution.
258
259* Thu Mar 21 2013 yd
260- renamed gettext-devel to libc-gettext-devel to make it more visible.
261
262* Thu Dec 13 2012 yd
263- remove gcc 3.x stdc++/supc++ static libraries.
264
265* Mon May 11 2012 yd
266- remove obsolete binutil headers/libs
267
268* Tue Apr 17 2012 yd
269- update to csd5
270
271* Mon Jan 09 2012 yd
272- commented out sbrk/_sbrk definitions in stdlib.h (use unistd.h ones).
273
274* Fri Dec 16 2011 yd
275- restored stdarg.h/cdefs.h from original libc distribution.
276
277* Thu Oct 20 2011 yd
278- included emxomf.exe by dmik to workaround gcc/wlink bugs.
279
280* Wed Oct 12 2011 yd
281- fixed mmap include
282
283* Wed Sep 05 2011 yd
284- removed binutils
285
286* Tue Sep 04 2011 yd
287- update to csd4
Note: See TracBrowser for help on using the repository browser.