Skip to content

[imagick] Document installation with PIE - #53

Open
officialasishkumar wants to merge 2 commits into
php:mainfrom
officialasishkumar:docs/imagick-pie-installation
Open

officialasishkumar wants to merge 2 commits into
php:mainfrom
officialasishkumar:docs/imagick-pie-installation

Conversation

@officialasishkumar

Copy link
Copy Markdown

The Imagick installation page only pointed to PECL, both for building from source and for the prebuilt Windows DLLs. Following the accepted RFC: Recommend PIE and deprecate PECL, this reworks it to document PIE, which Imagick supports as of 3.8.0 through the imagick/imagick package.

  • Recommend pie install imagick/imagick.
  • Non-Windows: PIE builds from source, so the ImageMagick development files are needed; document the --with-imagick configure option (taken from Imagick's composer.json) for non-standard prefixes.
  • Show how a project declares ext-imagick in composer.json so that pie install in the project directory offers to install it.
  • Windows: describe what PIE does with the prebuilt release package. It installs php_imagick.dll into extension_dir and copies the bundled ImageMagick DLLs next to php.exe, so they no longer have to be added to PATH manually. It also puts the config/*.xml files in extras\imagick\config (behaviour taken from PIE's WindowsInstall).
  • Manual Windows downloads now point to the GitHub releases page, which hosts the same packages for PHP 7.4 to 8.5. The existing extension_dir, PATH and ImageMagick configuration file instructions are kept.
  • Keep a pointer to the PECL package for releases older than 3.8.0, which cannot be installed with PIE.

The structure follows the existing PIE sections of the yac and yar pages.

Validation: php doc-base/configure.php --disable-libxml-check --enable-xml-details --redirect-stderr-to-stdout --with-base-lang=extensions; docbook-cs on the diff; rendered imagick.installation.html with PhD and checked the output.

Fixes #23

The accepted RFC "Recommend PIE and deprecate PECL" makes PIE the
recommended installation method for non-bundled extensions, and Imagick
ships PIE support (the imagick/imagick package on Packagist) as of
3.8.0. The installation page however still only pointed to PECL, both
for building from source and for the prebuilt Windows DLLs, and did not
mention PIE at all.

Rework the installation section to:

- recommend `pie install imagick/imagick`, with an example;
- explain that on non-Windows platforms PIE builds from source, so the
  ImageMagick development files must be present, and document the
  --with-imagick configure option for non-standard prefixes;
- show how a project can declare ext-imagick in composer.json and let
  `pie install` offer to install the missing extensions;
- describe what PIE does on Windows: it downloads the prebuilt package
  from the GitHub release, installs php_imagick.dll into extension_dir
  and copies the bundled ImageMagick DLLs next to php.exe;
- point manual Windows downloads to the GitHub releases page, which
  hosts the same packages PIE uses, instead of PECL, keeping the
  existing instructions about extension_dir, PATH and the ImageMagick
  XML configuration files, and noting where PIE places those
  configuration files (extras\imagick\config);
- keep a pointer to the PECL package for releases older than 3.8.0,
  which cannot be installed with PIE.

Fixes php#23
Comment thread reference/imagick/setup.xml Resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document PIE as installation tool for Imagick. And remove PECL.

2 participants