]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blob - apache-mod_pagespeed.spec
- fix BRs
[packages/apache-mod_pagespeed.git] / apache-mod_pagespeed.spec
1 #
2 # Conditional build:
3 %bcond_without  verbose         # verbose build (V=1)
4
5 # NOTE
6 # - http://code.google.com/p/modpagespeed/wiki/HowToBuild
7 # - http://wiki.mediatemple.net/w/(dv)_HOWTO:_Install_mod_pagespeed
8 # TODO
9 # - add unit tests running
10 # - possible sysdeps (uses release tags)
11 #  "serf_src": "http://serf.googlecode.com/svn/tags/0.3.1",
12 #  "gflags_root": "http://google-gflags.googlecode.com/svn/tags/gflags-1.3/src",
13 #  "google_sparsehash_root": "http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.8.1/src",
14 #  protobuf_lite
15
16 %if "%{pld_release}" == "ac"
17 # add suffix, but allow ccache, etc in ~/.rpmmacros
18 %{expand:%%define       __cc    %(echo '%__cc' | sed -e 's,-gcc,-gcc4,')}
19 %{expand:%%define       __cxx   %(echo '%__cxx' | sed -e 's,-g++,-g++4,')}
20 %{expand:%%define       __cpp   %(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')}
21 %endif
22
23 %define         mod_name        pagespeed
24 %define         apxs            %{_sbindir}/apxs
25 Summary:        Apache module for rewriting web pages to reduce latency and bandwidth
26 Name:           apache-mod_%{mod_name}
27 Version:        1.5.27.2
28 Release:        1
29 License:        Apache v2.0
30 Group:          Networking/Daemons/HTTP
31 Source0:        modpagespeed-%{version}.tar.xz
32 # Source0-md5:  fa8d6a80fc4ca7f929910fa4eeb4a941
33 Source1:        get-source.sh
34 Source2:        gclient.conf
35 Patch0:         system-libs.patch
36 Patch1:         gcc-headers.patch
37 Patch2:         bug-632.patch
38 Patch3:         opencv.patch
39 URL:            https://developers.google.com/speed/pagespeed/
40 BuildRequires:  %{apxs}
41 BuildRequires:  apache-devel >= 2.2
42 BuildRequires:  glib2-devel
43 BuildRequires:  gperf
44 BuildRequires:  libselinux-devel
45 BuildRequires:  libstdc++-devel >= 5:4.1
46 BuildRequires:  opencv-devel >= 2.3.1
47 BuildRequires:  openssl-devel
48 BuildRequires:  pkgconfig
49 BuildRequires:  python-devel >= 1:2.6
50 # This version of gyp is new enough that it knows to use make for Linux 3.x
51 # and FreeBSD, but old enough that 'type': 'settings' works and
52 # LINKER_SUPPORTS_ICF hasn't been removed yet.
53 BuildRequires:  python-gyp >= 0.1-0.svn1602.1
54 BuildRequires:  rpmbuild(macros) >= 1.268
55 BuildRequires:  tar >= 1:1.22
56 BuildRequires:  util-linux
57 BuildRequires:  xz
58 BuildRequires:  zlib-devel
59 # gcc4 might be installed, but not current __cc
60 %if "%(echo %{cc_version} | cut -d. -f1,2)" < "4.0"
61 BuildRequires:  __cc >= 4.0
62 %endif
63 Requires:       apache(modules-api) = %apache_modules_api
64 Requires:       apache-mod_authz_host
65 Requires:       apache-mod_headers
66 Suggests:       apache-mod_deflate
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %define         _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
70 %define         _pkgrootdir     %(%{apxs} -q SYSCONFDIR 2>/dev/null)
71 %define         _sysconfdir     %{_pkgrootdir}/conf.d
72 %define         htdocsdir       %(%{apxs} -q htdocsdir 2>/dev/null)
73 %define         cachedir        %(%{apxs} -q proxycachedir 2>/dev/null)/mod_%{mod_name}
74
75 %description
76 mod_pagespeed automates the application of those rules in an Apache
77 server. HTML, CSS, JavaScript, and images are changed dynamically
78 during the web serving process, so that the best practices recommended
79 by Page Speed can be used without having to change the way the web
80 site is maintained.
81
82 %prep
83 %setup -q -n modpagespeed-%{version}
84 %patch0 -p2
85 %patch1 -p2
86 %patch2 -p1
87 %patch3 -p3
88
89 %build
90 # re-gen makefiles
91 CC="%{__cc}" \
92 CXX="%{__cxx}" \
93 %{__python} build/gyp_chromium \
94         --format=make \
95         --depth=. \
96         build/all.gyp \
97         -Duse_openssl=1 \
98         -Duse_system_apache_dev=1 \
99         -Duse_system_libjpeg=1 \
100         -Duse_system_libpng=1 \
101         -Duse_system_opencv=1 \
102         -Duse_system_zlib=1 \
103         -Dsystem_include_path_apr=%{_includedir}/apr \
104         -Dsystem_include_path_aprutil=%{_includedir}/apr-util \
105         -Dsystem_include_path_httpd=%{_includedir}/apache \
106         %{nil}
107
108 %{__make} mod_pagespeed js_minify css_minify_main \
109         BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
110         %{?with_verbose:V=1} \
111         CC="%{__cc}" \
112         CXX="%{__cxx}" \
113         CC.host="%{__cc}" \
114         CXX.host="%{__cxx}" \
115         LINK.host="%{__cxx}" \
116         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
117         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
118         %{nil}
119
120 %install
121 rm -rf $RPM_BUILD_ROOT
122 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_bindir},%{cachedir}}
123
124 %{__make} -j1 -C install staging_except_module \
125         APACHE_ROOT=%{_pkgrootdir} \
126         APACHE_MODULES=modules \
127         APACHE_DOC_ROOT=%{htdocsdir} \
128         MOD_PAGESPEED_CACHE=%{cachedir} \
129         MOD_PAGESPEED_STATS_LOG=/var/log/httpd/mod_pagespeed_stats.log \
130         STAGING_DIR=staging
131
132 out=out/%{!?debug:Release}%{?debug:Debug}
133 install -p $out/libmod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}/mod_%{mod_name}.so
134 install -p $out/js_minify $RPM_BUILD_ROOT%{_bindir}/pagespeed_js_minify
135 install -p $out/css_minify_main $RPM_BUILD_ROOT%{_bindir}/pagespeed_css_minify
136
137 cd install/staging
138 cat > $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf <<EOF
139 LoadModule %{mod_name}_module   modules/mod_%{mod_name}.so
140
141 $(cat pagespeed.conf)
142 EOF
143
144 cp -p pagespeed_libraries.conf $RPM_BUILD_ROOT%{_sysconfdir}/91_mod_%{mod_name}_libraries.conf
145
146 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
147 cp -a mod_pagespeed_example/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
148
149 %clean
150 rm -rf $RPM_BUILD_ROOT
151
152 %post
153 %service -q httpd restart
154
155 %postun
156 if [ "$1" = "0" ]; then
157         %service -q httpd restart
158 fi
159
160 %files
161 %defattr(644,root,root,755)
162 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
163 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}_libraries.conf
164 %attr(755,root,root) %{_bindir}/pagespeed_css_minify
165 %attr(755,root,root) %{_bindir}/pagespeed_js_minify
166 %attr(755,root,root) %{_pkglibdir}/mod_%{mod_name}.so
167 %{_examplesdir}/%{name}-%{version}
168 %dir %attr(770,root,http) %{cachedir}
This page took 0.040244 seconds and 3 git commands to generate.