49fdd71e0a2f7a9570c11ab9fa60ae334d4667a2
[platform/upstream/zlib.git] / packaging / zlib.spec
1 %define keepstatic 1
2 Name:           zlib
3 Provides:       libz
4 Obsoletes:      libz
5 Version:        1.2.8
6 Release:        0
7 Summary:        Data Compression Library
8 License:        Zlib
9 Group:          Base/Libraries
10 Url:            http://www.zlib.net/
11 #X-Vcs-Url:     https://github.com/madler/zlib.git
12 Source:         http://zlib.net/zlib-%{version}.tar.bz2
13 Source1:        LICENSE
14 Source2:        baselibs.conf
15 Source1001:     zlib.manifest
16 BuildRequires:  pkgconfig
17
18 %description
19 ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt
20 (deflate format) and rfc1952.txt (gzip format). These documents are
21 also available in other formats from
22 ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html.
23
24 %package devel
25 Summary:        Include Files and Libraries mandatory for Development
26 Group:          Development/Libraries
27 Requires:       glibc-devel
28 Requires:       zlib = %{version}
29 Provides:       libz:/usr/include/zlib.h
30
31 %description devel
32 This package contains all necessary include files and libraries needed
33 to develop applications that require the provided includes and
34 libraries.
35
36 %package devel-static
37 Summary:        Include Files and Libraries mandatory for Development
38 Group:          Development/Libraries
39 Requires:       %{name}-devel = %{version}
40 Provides:       %{name}-devel:%{_libdir}/libz.a
41
42 %description devel-static
43 This package contains all necessary include files and libraries needed
44 to develop applications that require the provided includes and
45 libraries.
46
47 %package -n minizip
48 Summary:    Manipulates files from a .zip archive
49 Group:      System/Libraries
50 Requires:   %{name} = %{version}-%{release}
51
52 %description -n minizip
53 Minizip is a tool to manipulates files from a .zip archive.
54
55 %package -n minizip-devel
56 Summary:    Development files for the minizip library
57 Group:      Development/Libraries
58 Requires:   minizip = %{version}-%{release}
59
60 %description -n minizip-devel
61 This package contains the libraries and header files needed for
62 developing applications which use minizip.
63
64 %prep
65 %setup -q
66 cp %{SOURCE1001} .
67
68 %build
69 export LDFLAGS="-Wl,-z,relro,-z,now"
70 %define do_profiling 0
71 %if %{do_profiling}
72 profiledir=$(mktemp -d)
73 trap "rm -rf $profiledir" EXIT
74 CC="gcc" ./configure --shared --prefix=%{_prefix} --libdir=/%{_lib}
75 %__make CFLAGS="%{optflags} %{cflags_profile_generate}=$profiledir" %{?_smp_mflags}
76 time %__make check
77 %__make clean
78 %__make CFLAGS="%{optflags} %{cflags_profile_feedback}=$profiledir" %{?_smp_mflags}
79 %else
80 export CFLAGS="%{optflags}"
81 CC="gcc" ./configure --shared --prefix=%{_prefix} --libdir=/%{_lib}
82 %__make %{?_smp_mflags}
83 %endif
84
85 cd contrib/minizip
86 %reconfigure
87 %__make %{?_smp_mflags}
88
89 %check
90 time %__make check
91
92 %install
93 #mkdir -p %%{buildroot}%%{_mandir}/man3
94 mkdir -p %{buildroot}%{_libdir}
95 %make_install
96 ln -sf -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/libz.so) %{buildroot}%{_libdir}/libz.so
97 rm -v %{buildroot}/%{_lib}/libz.so
98 # static lib
99 mv %{buildroot}/%{_lib}/libz.a %{buildroot}%{_libdir}
100 # Move .pc file to %%{_libdir}
101 mv %{buildroot}/%{_lib}/pkgconfig %{buildroot}%{_libdir}
102 # manpage
103 install -m 644 zlib.3 %{buildroot}%{_mandir}/man3
104 install -m 644 zutil.h %{buildroot}%{_includedir}
105
106 pushd contrib/minizip
107 %make_install
108 rm -rf %{buildroot}%{_libdir}/libminizip.a
109 rm -rf %{buildroot}%{_libdir}/libminizip.la
110 popd
111
112 %post -p /sbin/ldconfig
113
114 %postun -p /sbin/ldconfig
115
116 %post -n minizip -p /sbin/ldconfig
117
118 %postun -n minizip -p /sbin/ldconfig
119
120 %files
121 %manifest %{name}.manifest
122 %defattr(-,root,root)
123 /%{_lib}/libz.so.1.2.*
124 /%{_lib}/libz.so.1
125
126 %files devel
127 %manifest %{name}.manifest
128 %defattr(-,root,root)
129 %doc README
130 %license README
131 %{_mandir}/man3/zlib.3.gz
132 %{_includedir}/zlib.h
133 %{_includedir}/zconf.h
134 %{_includedir}/zutil.h
135 %{_libdir}/libz.so
136 %{_libdir}/pkgconfig/zlib.pc
137
138 %files devel-static
139 %manifest %{name}.manifest
140 %defattr(-,root,root)
141 %{_libdir}/libz.a
142
143 %files -n minizip
144 %manifest %{name}.manifest
145 %{_libdir}/libminizip.so.*
146
147 %files -n minizip-devel
148 %manifest %{name}.manifest
149 %{_includedir}/minizip/*.h
150 %{_libdir}/libminizip.so
151 %{_libdir}/pkgconfig/minizip.pc