Google released yesterday an apache module for rewriting web pages to reduce latency and bandwidth. See http://code.google.com/p/modpagespeed/ for details. Attached is initial ebuild and conf file for apache, I used chromium ebuild as a base for gclient source fetching. There are some bundled libs like libpng, zlib etc. Some libs have README file with changes and some doesn't have any changes but for now I didn't bother with this. Reproducible: Always
Created attachment 253177 [details] www-apache/mod_pagespeed-9999.ebuild
Created attachment 253179 [details] 80_mod_pagespeed.conf
Thanks very much for the ebuilds! I've marked them as maintainer wanted, but CCed in a couple of herds that may be interested in taking maintaining this. If they're not interested, then you might want to investigate project sunrise[1] as a way of getting your ebuild out to more people. [1] http://www.gentoo.org/proj/en/sunrise/
Has anyone shown interest in maintaining this? It would be great to see this become a standard package in portage.
Reported the bundled libraries issue at https://code.google.com/p/modpagespeed/issues/detail?id=226
I was unable to build. The error is immediately after the fetch. I'm sad, because using gclient manually everything goes fine. Sergio PS: I'm completely inexperienced in ebuilds preparation. I can test test test... (amd64). ... /usr/portage/distfiles/svn-src/mod_pagespeed/src/third_party/apache/httpd/src/os/tpf/TPFExport A /usr/portage/distfiles/svn-src/mod_pagespeed/src/third_party/apache/httpd/src/os/.indent.pro U /usr/portage/distfiles/svn-src/mod_pagespeed/src/third_party/apache/httpd/src/os Checked out revision 1090888. Syncing projects: 100% (46/46), done. ________ running '/usr/bin/python2.7 src/build/gyp_chromium' in '/usr/portage/distfiles/svn-src/mod_pagespeed' Updating projects from gyp files... /bin/sh: ../build/linux/python_arch.sh: Permission denied Traceback (most recent call last): File "src/build/gyp_chromium", line 24, in <module> execfile(os.path.join(chrome_src, 'build', 'gyp_chromium')) File "src/third_party/chromium/src/build/gyp_chromium", line 129, in <module> sys.exit(gyp.main(args)) File "src/tools/gyp/pylib/gyp/__init__.py", line 445, in main options.circular_check) File "src/tools/gyp/pylib/gyp/__init__.py", line 84, in Load depth, generator_input_info, check, circular_check) File "src/tools/gyp/pylib/gyp/input.py", line 2174, in Load depth, check) File "src/tools/gyp/pylib/gyp/input.py", line 379, in LoadTargetBuildFile build_file_path) File "src/tools/gyp/pylib/gyp/input.py", line 888, in ProcessVariablesAndConditionsInDict variables, build_file, 'variables') File "src/tools/gyp/pylib/gyp/input.py", line 940, in ProcessVariablesAndConditionsInDict ProcessConditionsInDict(the_dict, is_late, variables, build_file) File "src/tools/gyp/pylib/gyp/input.py", line 817, in ProcessConditionsInDict variables, build_file) File "src/tools/gyp/pylib/gyp/input.py", line 895, in ProcessVariablesAndConditionsInDict expanded = ExpandVariables(value, is_late, variables, build_file) File "src/tools/gyp/pylib/gyp/input.py", line 652, in ExpandVariables (contents, p.returncode)) Exception: Call to '../build/linux/python_arch.sh /usr/lib/libpython2.5.so.1.0' returned exit status 126. while trying to load src/build/all.gyp Error: /usr/bin/python2.7 src/build/gyp_chromium in /usr/portage/distfiles/svn-src/mod_pagespeed returned 1
Created attachment 269387 [details] emerge --info chromium is installed
I resolved my issue. My /usr/portage dir is mounted with noexec option, bat the gclient program is located in /usr/portage/distfiles/svn-src/mod_pagespeed/depot_tools. While in this 'development' state it can be considered as a "personal issue", I feel that my option is valid and that the gclient should execute elsewhere. Regards, Sergio
I tried to write a new version of the ebuild, with three little "improvements" (for me). 1) The execution is completely moved to ${WORKDIR} 2) The configuration file is updated, avoiding some deprecated directive. 3) The directory /var/cache/mod_pagespeed/cache is created. 2) and 3) are simply updates. It works fine for me (amd64). The odd gclient/svn fetching is a problem. The source code didn't stay in distfiles. Should we need a gclient.eclass? I gave this attempt the arbitrary name mod_pagespeed-9999-r1 Double check everything, this is my very first ebuild exercise. Regards, HUjuice
Created attachment 270439 [details] Modified ebuild
Created attachment 270441 [details] Updated configuration file
gperf needs to be added as a build dependency.
New version 1.2 appeared
mod_pagespeed is an important tool, and it should be supported in Gentoo. The ebuilds that are in the overlays do not work. However, I have been able to build mod_pagespeed from source following Google's instructions: https://developers.google.com/speed/pagespeed/module/build_mod_pagespeed_from_source The build process is a bit different than the overlay ebuilds, which perhaps explains why the overlays don't work. I would try to write the ebuild, but when I have done this in the past, the quality has not been up to Gentoo's standard. So I think a developer should do it.
Created attachment 392816 [details] Ebuild for the latest stable mod_pagespeed
Created attachment 392818 [details] Ebuild for the very latest mod_pagespeed
Created attachment 392820 [details] Latest 80_mod_pagespeed.conf There's been some changes from upstream since the previous 80_mod_pagespeed.conf was posted. This has been updated to include those.
I've been using the mod_pagespeed (via these ebuilds) for the last 6 months on two machines. mod_pagespeed-1.8.31.5.ebuild (aka Ebuild for the latest stable mod_pagespeed) builds fine on both of them; mod_pagespeed-9999.ebuild (aka Ebuild for the very latest mod_pagespeed) fails to build on one of them :( I haven't investigated that too much as previous 'stable' releases failed to build and the recommendation was to use the very latest version instead. Such is life ;)
Hi, We're currently linking to this ebuild on our help documentation. I see that it is currently failing on trunk builds, but is the 1.9.32.3 (latest stable) working with this? Thanks, Jeff
Created attachment 398804 [details] mod_pagespeed-1.9.32.3.ebuild I'm using mod_pagespeed-1.9.32.3.ebuild on a couple of servers with success. I've found that it doesn't compile when using GCC 4.8.3. It errors with: <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] Normally this would be a warning, but the command line option "-Werror" turns all warnings into errors. GCC 4.7.3 is fine with this mod_pagespeed ebuild.
According to this discussion: https://groups.google.com/forum/#!topic/mod-pagespeed-discuss/VVWGUU47U4o Quote: "mod_pagespeed doesn't work with FORTIFY_SOURCE" and according to: http://gentoo.2317880.n4.nabble.com/Should-we-disable-FORTIFY-SOURCE-for-packages-where-it-is-not-default-td138737.html one of the following should help resolving the compile error. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" I successfully compiled it with "-U_FORTIFY_SOURCE" on gcc 4.8.4