]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blame - apache-mod_pagespeed.spec
- rebuild with icu 58.2
[packages/apache-mod_pagespeed.git] / apache-mod_pagespeed.spec
CommitLineData
757b3ba5
ER
1#
2# Conditional build:
42a31ab3 3%bcond_without verbose # verbose build (V=1)
3fa299a0 4%bcond_with sse2 # use SSE2 instructions
757b3ba5 5
b6a5d8d0 6# NOTE
e540e830 7# - relase notes: https://developers.google.com/speed/pagespeed/module/release_notes
757b3ba5 8# - http://code.google.com/p/modpagespeed/wiki/HowToBuild
eb743e9a 9# - http://wiki.mediatemple.net/w/(dv)_HOWTO:_Install_mod_pagespeed
b6a5d8d0 10# TODO
a673cf5a
ER
11# - run unit tests
12# third_party libraries:
13# - apr - using system apr package
14# - aprutil - using system apr-util, but from this repo modified apr_memcache2.c
15# - gflags - system package may work
16# - giflib - 4.1.6, no local modifications
17# - google-sparsehash
18# - httpd, httpd24 - using system apache-devel
19# - icu - using system icu
20# - jsoncpp - no local changes
21# - libjpeg_turbo - 1.2.80 with chromium changes (but system lib should be fine)
22# - libpng - no local changes
23# - libwebp - 0.4.0, irrelevant local changes
24# - optipng - 0.7.4, local changes: only the opngreduc component of optipng is included.
25# - protobuf - should be possible to use full protobuf (not lite) to gain same functionality
26# - re2 - should be possible to use system re2
27# - serf - 0.7.2 bunch of google fixes
28# - zlib - 1.2.5, no local changes
29#
30# third_party/chromium/src/base/third_party:
31# - nspr - should be possible to use system lib
32# - dmg_fp
33# - dynamic_annotations
34# - icu - not icu lib, but two files only
35# - valgrind
36#
37# could be possible to use system libs, not packaged in pld:
38# - base64
39# - chromium
40# - chromium_deps
41# - css_parser
42# - domain_registry_provider
43# - instaweb
44# - mod_spdy
45# - modp_b64
46# - rdestl
24f1647c 47
08710a2f 48%define mod_name pagespeed
cad452c8 49%define apxs %{_sbindir}/apxs
08710a2f
ER
50Summary: Apache module for rewriting web pages to reduce latency and bandwidth
51Name: apache-mod_%{mod_name}
21b9e54a 52# beta: 1.9.32.x-beta
36c8c93e
ER
53# stable: 1.9.32.x-stable
54Version: 1.9.32.4
5c2f71b6 55Release: 5
08710a2f
ER
56License: Apache v2.0
57Group: Networking/Daemons/HTTP
4623c72a 58Source0: modpagespeed-%{version}.tar.xz
b7aa23f7 59# Source0-md5: c6740a5de9cb7f20f0cf29c8835f6f95
b74b29a5 60Source1: get-source.sh
5a3e561c 61Source2: gclient.conf
42a31ab3 62Patch0: system-libs.patch
399d2a8e 63Patch1: addrinfo.patch
1a9213c5 64Patch2: bug-632.patch
cad452c8 65Patch4: no-dev-stdout.patch
a16986b1 66Patch5: apache24-config.patch
72de4a4c 67Patch6: no-force-xxbit.patch
3fa299a0 68Patch7: no-arch-opt.patch
59548b66 69URL: https://developers.google.com/speed/pagespeed/module
08710a2f
ER
70BuildRequires: %{apxs}
71BuildRequires: apache-devel >= 2.2
ffebf8bc 72BuildRequires: bash
42a31ab3 73BuildRequires: glib2-devel
3f27b998 74BuildRequires: gperf
99c7dfcb 75BuildRequires: libicu-devel
3fa299a0
JR
76BuildRequires: libjpeg-turbo-devel
77BuildRequires: libpng-devel
42a31ab3 78BuildRequires: libselinux-devel
b74b29a5 79BuildRequires: libstdc++-devel >= 5:4.1
4623c72a 80BuildRequires: opencv-devel >= 2.3.1
42a31ab3 81BuildRequires: openssl-devel
3f27b998 82BuildRequires: pkgconfig
757b3ba5 83BuildRequires: python-devel >= 1:2.6
5eafce75 84BuildRequires: yasm
4623c72a
ER
85# This version of gyp is new enough that it knows to use make for Linux 3.x
86# and FreeBSD, but old enough that 'type': 'settings' works and
87# LINKER_SUPPORTS_ICF hasn't been removed yet.
3fbdacfc 88BuildRequires: python-gyp >= 0.1-0.svn1602.1
08710a2f 89BuildRequires: rpmbuild(macros) >= 1.268
4623c72a 90BuildRequires: tar >= 1:1.22
2ddcd200 91BuildRequires: util-linux
4623c72a 92BuildRequires: xz
42a31ab3 93BuildRequires: zlib-devel
22e6311f 94BuildConflicts: depot_tools < 0.1-0.20150708
08710a2f 95Requires: apache(modules-api) = %apache_modules_api
e5171f2e 96Requires: apache-mod_authz_host
3f27b998 97Requires: apache-mod_headers
b6a5d8d0 98Suggests: apache-mod_deflate
08710a2f
ER
99BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100
101%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
06daee42
ER
102%define _pkgrootdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
103%define _sysconfdir %{_pkgrootdir}/conf.d
104%define htdocsdir %(%{apxs} -q htdocsdir 2>/dev/null)
105%define cachedir %(%{apxs} -q proxycachedir 2>/dev/null)/mod_%{mod_name}
08710a2f 106
59d9f80d
ER
107# disable strip examples, http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2015-January/024223.html
108%define _noautostrip .*%{_examplesdir}/.*
109
08710a2f
ER
110%description
111mod_pagespeed automates the application of those rules in an Apache
112server. HTML, CSS, JavaScript, and images are changed dynamically
113during the web serving process, so that the best practices recommended
114by Page Speed can be used without having to change the way the web
115site is maintained.
116
117%prep
5bdfa704 118%setup -q -n modpagespeed-%{version}
3fa299a0 119%patch0 -p1
399d2a8e 120%patch1 -p0
ce5a7d18 121%patch2 -p1
9c41f6b1 122%patch4 -p1
a16986b1 123%patch5 -p1
72de4a4c 124%patch6 -p1
3fa299a0 125%patch7 -p1
08710a2f 126
b7aa23f7 127%if 0
36c8c93e 128sh -x %{_sourcedir}/clean-source.sh
b7aa23f7 129%endif
36c8c93e 130
3fa299a0
JR
131%{__rm} -r third_party/icu/source
132%{__rm} -r third_party/icu/genfiles
99c7dfcb
ER
133install -d third_party/icu/source/{common,i18n}
134ln -s %{_includedir}/unicode third_party/icu/source/i18n/unicode
135ln -s %{_includedir}/unicode third_party/icu/source/common/unicode
08710a2f
ER
136
137%build
eb743e9a 138# re-gen makefiles
e62ba6cb
ER
139CC="%{__cc}" \
140CXX="%{__cxx}" \
5bdfa704
ER
141%{__python} build/gyp_chromium \
142 --format=make \
143 --depth=. \
144 build/all.gyp \
3fa299a0 145 %{!?with_sse2:-Ddisable_sse2=1} \
42a31ab3
ER
146 -Duse_openssl=1 \
147 -Duse_system_apache_dev=1 \
99c7dfcb 148 -Duse_system_icu=1 \
42a31ab3
ER
149 -Duse_system_libjpeg=1 \
150 -Duse_system_libpng=1 \
151 -Duse_system_opencv=1 \
99c7dfcb 152 -Duse_system_openssl=1 \
5eafce75 153 -Duse_system_yasm=1 \
42a31ab3 154 -Duse_system_zlib=1 \
b2f50394
ER
155 -Dsystem_include_path_apr=%{_includedir}/apr \
156 -Dsystem_include_path_aprutil=%{_includedir}/apr-util \
157 -Dsystem_include_path_httpd=%{_includedir}/apache \
42a31ab3
ER
158 %{nil}
159
1a9213c5 160%{__make} mod_pagespeed js_minify css_minify_main \
08710a2f
ER
161 BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
162 %{?with_verbose:V=1} \
163 CC="%{__cc}" \
164 CXX="%{__cxx}" \
165 CC.host="%{__cc}" \
166 CXX.host="%{__cxx}" \
167 LINK.host="%{__cxx}" \
3fa299a0
JR
168 CFLAGS="%{rpmcflags} %{rpmcppflags} -DUSE_SYSTEM_LIBJPEG" \
169 CXXFLAGS="%{rpmcxxflags} %{rpmcppflags} -DUSE_SYSTEM_LIBJPEG" \
5bdfa704 170 %{nil}
08710a2f
ER
171
172%install
173rm -rf $RPM_BUILD_ROOT
1a9213c5
ER
174install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_bindir},%{cachedir}}
175
5bdfa704 176%{__make} -j1 -C install staging_except_module \
06daee42 177 APACHE_ROOT=%{_pkgrootdir} \
3f27b998 178 APACHE_MODULES=modules \
06daee42 179 APACHE_DOC_ROOT=%{htdocsdir} \
5bdfa704
ER
180 MOD_PAGESPEED_CACHE=%{cachedir} \
181 MOD_PAGESPEED_STATS_LOG=/var/log/httpd/mod_pagespeed_stats.log \
06daee42
ER
182 STAGING_DIR=staging
183
1a9213c5
ER
184out=out/%{!?debug:Release}%{?debug:Debug}
185install -p $out/libmod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}/mod_%{mod_name}.so
186install -p $out/js_minify $RPM_BUILD_ROOT%{_bindir}/pagespeed_js_minify
187install -p $out/css_minify_main $RPM_BUILD_ROOT%{_bindir}/pagespeed_css_minify
188
5bdfa704 189cd install/staging
06daee42
ER
190cat > $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf <<EOF
191LoadModule %{mod_name}_module modules/mod_%{mod_name}.so
192
193$(cat pagespeed.conf)
194EOF
08710a2f 195
1a9213c5
ER
196cp -p pagespeed_libraries.conf $RPM_BUILD_ROOT%{_sysconfdir}/91_mod_%{mod_name}_libraries.conf
197
3f27b998
ER
198install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
199cp -a mod_pagespeed_example/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
200
08710a2f
ER
201%clean
202rm -rf $RPM_BUILD_ROOT
203
204%post
205%service -q httpd restart
206
207%postun
208if [ "$1" = "0" ]; then
209 %service -q httpd restart
210fi
211
212%files
213%defattr(644,root,root,755)
08710a2f 214%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
1a9213c5
ER
215%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}_libraries.conf
216%attr(755,root,root) %{_bindir}/pagespeed_css_minify
217%attr(755,root,root) %{_bindir}/pagespeed_js_minify
b6a5d8d0 218%attr(755,root,root) %{_pkglibdir}/mod_%{mod_name}.so
3f27b998 219%{_examplesdir}/%{name}-%{version}
5bdfa704 220%dir %attr(770,root,http) %{cachedir}
This page took 0.090062 seconds and 4 git commands to generate.