iusrepo / wishlist

meta repo for IUS new package requests
33 stars 8 forks source link

php73-ioncube-loader #248

Closed davidalger closed 4 years ago

davidalger commented 4 years ago

What new package do you want?

php73-ioncube-loader

Why?

There are phpXXu-ioncube-loader packages available for other supported PHP versions and missing this from PHP 7.3 is creating a special case in an array of PHP docker images used for local development. Getting this created would allow me to revert that special case, and open the door for locally testing upgrades of applications which require PHP 7.3 and IonCube to operate.

Testing

I agree to test the new package to ensure that it works as expected. Once I am satisfied with the results of my testing I will comment on this issue with the word "STABLE" to get it promoted to the stable repos.

carlwgeorge commented 4 years ago

You're right that IUS has packaged this for other PHP versions. However, it was always a bit of a hack. ionCube loader is not open source software, hence why it's not in Fedora, RHEL, or EPEL. All our spec file does is download the precompiled release from the ionCube website and put it in place on disk.

I'm not really interested in maintaining non-opensource software in IUS anymore. I'd recommend you just follow the steps in the previous spec file in your Dockerfile to download the precompiled release from upstream.

Nipuna-Sankalpa commented 4 years ago

Hi Carl, I can see the last update on this issue is on last year October. So by any chance have you decided to add PHP 7.3 supported ion cube loader now?

carlwgeorge commented 4 years ago

IUS is not going to add any new packages of proprietary software.

davidalger commented 4 years ago

In case anyone else stumbles across this and needs to figure out the quickest way of getting ionCube installed on 7.3 in a build pipeline the following is tested and working from PHP 5.6 to 7.3:

# Install and enable IonCube loader
RUN PHP_VERSION=$(php -v | head -n1 | cut -d' ' -f2 | cut -d. -f1-2) \
    && mkdir -p /tmp/ioncube \
    && cd /tmp/ioncube \
    && curl -Os https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
    && tar xzf ioncube_loaders_lin_x86-64.tar.gz \
    && cp ioncube/ioncube_loader_lin_${PHP_VERSION}.so "$(php -i | grep '^extension_dir =' | cut -d' ' -f3)/ioncube_loader.so" \
    && echo "zend_extension=ioncube_loader.so" > /etc/php.d/01-ioncube-loader.ini \
    && rm -rf /tmp/ioncube

Source: https://github.com/davidalger/warden/blob/develop/images/php-fpm/Dockerfile#L46-L54