While looking for ways to package HipHop for Debian, I came across Mike DuPont's git repository (https://github.com/h4ck3rm1k3/hiphop-php/) that he had started in January '10, but abandoned because of an apparent lack of interest from the HipHop developers.
I picked up where he left off but hit a wall when I tried to get the Debian or upstream developers for curl and libevent to accept the HipHop packages (see http://bugs.debian.org/638359 and http://bugs.debian.org/638360).
At that point, I contacted Mike and asked for his help. He suggested we attempt to get HipHop compiled *without* the patches since the upstream developers weren't too enthusiastic about them.
He managed to get a working compiler and I'd like to get additional testing done on it before I submit the work to Debian. Following is a copy of the email he tried to send to wikitech-l earlier today.
---------- Forwarded message ---------- From: Mike Dupont jamesmikedupont@googlemail.com Date: Mon, Sep 19, 2011 at 9:16 PM Subject: Progress made on packaging hiphop for debian To: Wikimedia developers wikitech-l@lists.wikimedia.org
I have been working on packaging hiphop php for debian without any patched libevent and curl, now have a basic package that can install the compiler. working on getting the runtime sorted out, any help would be appreciated.
note, this is working with the branch "official" not "master" I will have to clean that up.
git checkout official
dpkg-buildpackage should produce a deb that builds and a compiler that produces code, the runtime as I said needs work.
mike
On 20/09/11 11:05, Mark A. Hershberger wrote:
At that point, I contacted Mike and asked for his help. He suggested we attempt to get HipHop compiled *without* the patches since the upstream developers weren't too enthusiastic about them.
I've been working on a replacement for the libcurl patch.
-- Tim Starling
I've been working on a replacement for the libcurl patch. -- Tim Starling
Thats Good news, Last night I removed all traces of the curl_multi_select from the code, no idea if it runs properly, but it produces a package. Also I commented out all the non standard libevent code. The package has a compiler that produces code, and you can at least experiment with it. We need more people testing, I am getting help from somone from the debian team as well. Will continue working on this as I find time.
we are organizing a conference on Nov 12 if anyone is interested, www.flossk.org/en/blog/sfk11 that is also taking up time.
thanks,
mike
On Tue, Sep 20, 2011 at 11:43 PM, Tim Starling tstarling@wikimedia.orgwrote:
On 20/09/11 11:05, Mark A. Hershberger wrote:
At that point, I contacted Mike and asked for his help. He suggested we attempt to get HipHop compiled *without* the patches since the upstream developers weren't too enthusiastic about them.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On 21/09/11 13:47, Mike Dupont wrote:
I've been working on a replacement for the libcurl patch. -- Tim Starling
Thats Good news, Last night I removed all traces of the curl_multi_select from the code, no idea if it runs properly, but it produces a package. Also I commented out all the non standard libevent code. The package has a compiler that produces code, and you can at least experiment with it. We need more people testing, I am getting help from somone from the debian team as well. Will continue working on this as I find time.
curl_multi_select() may be needed by someone, it is a standard PHP function. Removing it will work as long as no user code calls it.
The implementation in Zend is simple and could easily be ported to HipHop. The issue is that there is a bug in the Zend implementation which someone at Facebook was hitting. So it was fixed with this rather hackish curl patch.
The history of ext_curl.cpp on github doesn't go back far enough to show whether there was ever a version of curl_multi_select() in HipHop which was based on the Zend version. If there was such a version, you could use it.
I'm working on a version which will use libcurl as it's meant to be used and also fix the bug, hopefully making everyone happy.
-- Tim Starling
wikitech-l@lists.wikimedia.org