]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blob - apache-mod_pagespeed.spec
cleanup deps
[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.3.25.3
28 Release:        1
29 License:        Apache v2.0
30 Group:          Networking/Daemons/HTTP
31 Source0:        modpagespeed-%{version}.tar.xz
32 # Source0-md5:  7df9bf6b1aacec28d81b1678192652ca
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 URL:            https://developers.google.com/speed/pagespeed/
39 BuildRequires:  %{apxs}
40 BuildRequires:  apache-devel >= 2.2
41 BuildRequires:  glib2-devel
42 BuildRequires:  gperf
43 BuildRequires:  libselinux-devel
44 BuildRequires:  libstdc++-devel >= 5:4.1
45 BuildRequires:  opencv-devel >= 2.3.1
46 BuildRequires:  openssl-devel
47 BuildRequires:  pkgconfig
48 BuildRequires:  python-devel >= 1:2.6
49 # This version of gyp is new enough that it knows to use make for Linux 3.x
50 # and FreeBSD, but old enough that 'type': 'settings' works and
51 # LINKER_SUPPORTS_ICF hasn't been removed yet.
52 BuildRequires:  python-gyp >= 1-1175
53 BuildRequires:  rpmbuild(macros) >= 1.268
54 BuildRequires:  tar >= 1:1.22
55 BuildRequires:  util-linux
56 BuildRequires:  xz
57 BuildRequires:  zlib-devel
58 # gcc4 might be installed, but not current __cc
59 %if "%(echo %{cc_version} | cut -d. -f1,2)" < "4.0"
60 BuildRequires:  __cc >= 4.0
61 %endif
62 Requires:       apache(modules-api) = %apache_modules_api
63 Requires:       apache-mod_authz_host
64 Requires:       apache-mod_headers
65 Suggests:       apache-mod_deflate
66 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67
68 %define         _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
69 %define         _pkgrootdir     %(%{apxs} -q SYSCONFDIR 2>/dev/null)
70 %define         _sysconfdir     %{_pkgrootdir}/conf.d
71 %define         htdocsdir       %(%{apxs} -q htdocsdir 2>/dev/null)
72 %define         cachedir        %(%{apxs} -q proxycachedir 2>/dev/null)/mod_%{mod_name}
73
74 %description
75 mod_pagespeed automates the application of those rules in an Apache
76 server. HTML, CSS, JavaScript, and images are changed dynamically
77 during the web serving process, so that the best practices recommended
78 by Page Speed can be used without having to change the way the web
79 site is maintained.
80
81 %prep
82 %setup -q -n modpagespeed-%{version}
83 %patch0 -p2
84 %patch1 -p2
85 %patch2 -p2
86
87 %build
88 # re-gen makefiles
89 CC="%{__cc}" \
90 CXX="%{__cxx}" \
91 %{__python} build/gyp_chromium \
92         --format=make \
93         --depth=. \
94         build/all.gyp \
95         -Duse_openssl=1 \
96         -Duse_system_apache_dev=1 \
97         -Duse_system_libjpeg=1 \
98         -Duse_system_libpng=1 \
99         -Duse_system_opencv=1 \
100         -Duse_system_zlib=1 \
101         -Dsystem_include_path_apr=%{_includedir}/apr \
102         -Dsystem_include_path_aprutil=%{_includedir}/apr-util \
103         -Dsystem_include_path_httpd=%{_includedir}/apache \
104         %{nil}
105
106 %{__make} mod_pagespeed js_minify css_minify_main \
107         BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
108         %{?with_verbose:V=1} \
109         CC="%{__cc}" \
110         CXX="%{__cxx}" \
111         CC.host="%{__cc}" \
112         CXX.host="%{__cxx}" \
113         LINK.host="%{__cxx}" \
114         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
115         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
116         %{nil}
117
118 %install
119 rm -rf $RPM_BUILD_ROOT
120 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_bindir},%{cachedir}}
121
122 %{__make} -j1 -C install staging_except_module \
123         APACHE_ROOT=%{_pkgrootdir} \
124         APACHE_MODULES=modules \
125         APACHE_DOC_ROOT=%{htdocsdir} \
126         MOD_PAGESPEED_CACHE=%{cachedir} \
127         MOD_PAGESPEED_STATS_LOG=/var/log/httpd/mod_pagespeed_stats.log \
128         STAGING_DIR=staging
129
130 out=out/%{!?debug:Release}%{?debug:Debug}
131 install -p $out/libmod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}/mod_%{mod_name}.so
132 install -p $out/js_minify $RPM_BUILD_ROOT%{_bindir}/pagespeed_js_minify
133 install -p $out/css_minify_main $RPM_BUILD_ROOT%{_bindir}/pagespeed_css_minify
134
135 cd install/staging
136 cat > $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf <<EOF
137 LoadModule %{mod_name}_module   modules/mod_%{mod_name}.so
138
139 $(cat pagespeed.conf)
140 EOF
141
142 cp -p pagespeed_libraries.conf $RPM_BUILD_ROOT%{_sysconfdir}/91_mod_%{mod_name}_libraries.conf
143
144 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
145 cp -a mod_pagespeed_example/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
146
147 %clean
148 rm -rf $RPM_BUILD_ROOT
149
150 %post
151 %service -q httpd restart
152
153 %postun
154 if [ "$1" = "0" ]; then
155         %service -q httpd restart
156 fi
157
158 %files
159 %defattr(644,root,root,755)
160 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
161 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}_libraries.conf
162 %attr(755,root,root) %{_bindir}/pagespeed_css_minify
163 %attr(755,root,root) %{_bindir}/pagespeed_js_minify
164 %attr(755,root,root) %{_pkglibdir}/mod_%{mod_name}.so
165 %{_examplesdir}/%{name}-%{version}
166 %dir %attr(770,root,http) %{cachedir}
This page took 0.165749 seconds and 3 git commands to generate.