FriendsOfPHP / pickle

PHP Extension installer
Other
1.65k stars 88 forks source link

HHVM support in Pickle #100

Closed weltling closed 4 years ago

weltling commented 9 years ago

Per today, the big chunk on the HHVM integration was implemented. However the state is quite rudimentary. For the big part it's about getting sufficient information from HHVM itself.

Currently the install command is worky sudo hhvm bin/pickle install https://github.com/vipsoft/hhvm-ext-uuid The --verbose option can be used to see what goes under the carpet in case of an error.

The extension list from https://github.com/facebook/hhvm/wiki/Extensions was used for the development.

From the current state of the dynamic HHVM exts, the information one can get is alone the package name, nothing else is available. See https://github.com/FriendsOfPHP/pickle/blob/master/src/Package/HHVM/Util/Cmake/Parser.php#L27 A minimal list on the info necessary is

Many parts on figuring out the info about the HHVM binary itself are based on a guess: https://github.com/FriendsOfPHP/pickle/blob/master/src/Engine/HHVM.php Here for example to mention that php_ini_loaded_file() always delivers false, even when using hhvm -c ... But also, there's currently no way to read the informational parts (see the class) from the console, built-in constants or phpinfo() . That means, one currently can't use alternative engine instance, like hhvm pickle.phar install --php /path/to/other/hhvm someext. (Btw. --php should be probably renamed to something like --engine)

An issue I met when implementing the Build class is reported here is reported here https://github.com/facebook/hhvm/issues/4906 , however a workaround exists. Another issue is that the PharData class is not fully implemented, this is not a show stopper, but might shrink the abilities to unpack tarballs or pack releases in certain format.

Other issues/questions about the current pickle commands

I might have overseen something as there's really much stuff, so lets try&discuss.

ruudboon commented 4 years ago

I think we can close this one HHVM is not supporting php anymore