The graphics/pecl-imagick is currently using ImageMagick 6 as default. ImageMagick 7 is the upstream default, and ImageMagick also consider ImageMagick 7 is production ready, therefore the port should make ImageMagick 7 as the default, or do not set it at all.
The changes related to this also affect this recently made change. -> bug 261557 I am thinking that it would be better if graphics/pecl-imagick was changed to a meta port and either graphics/pecl-imagick-im6 or graphics/pecl-imagick-im7 could be chosen depending on IMAGEMAGICK_DEFAULT... If there is a better way, go there :)
I am not against it but it is always more complex when it comes to changing some "default" in FreeBSD ports tree. We cannot simply change default for one port. We need to change it for all consumers of ImageMagick. If it is not made (and tested) then users come with issues of version clashes. PortA needs IM6, portB needs IM7, user needs portA and portB installed at the same time but IM6 and IM7 conflicts, installation of portB deinstalls portA = user complaints.
(In reply to Miroslav Lachman from comment #2) Well, this is exactly why I'm asking the default to be following the mainstream default. Ruby binding, for example, uses ImageMagick 7 and that means e.g. wordpress can't be installed with redmine. ImageMagick 6 is considered legacy in 2017 by the way.
Created attachment 241152 [details] Patch to make pecl-imagick dependes on IM 7 Change dependency from IM 6 to IM 7.
Created attachment 241153 [details] Patch to replace pecl-imagick-im7 with pecl-imagick-im6 I am not sure how this should be done properly. Previous port pecl-imagick-im7 will be replaced by pecl-imagick and new port pecl-imagick-im6 will be created for legacy ImageMagick 6 version of this PECL extension.
Now we have pecl-imagick (for IM 6) and pecl-imagick-im7 (for IM 7), the proposed change should switch pecl-imagick to IM 7, remove pecl-imagick-im7 and create pecl-imagick-im6 for legacy IM 6. We also need to update RUN_DEPENDS in some ports, namely: net-mgmt/icingaweb2/Makefile:PDF_RUN_DEPENDS= ${PHPBASE}/lib/php/${PHP_EXT_DIR}/imagick.so:graphics/pecl-imagick@${PHP_FLAVOR} www/mediawiki135/Makefile:IMAGICK_RUN_DEPENDS= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/imagick.so:graphics/pecl-imagick@${PHP_FLAVOR} www/mediawiki138/Makefile:IMAGICK_RUN_DEPENDS= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/imagick.so:graphics/pecl-imagick@${PHP_FLAVOR} www/mediawiki139/Makefile:IMAGICK_RUN_DEPENDS= ${LOCALBASE}/lib/php/${PHP_EXT_DIR}/imagick.so:graphics/pecl-imagick@${PHP_FLAVOR} www/nextcloud/Makefile:IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick>=2.2.2:graphics/pecl-imagick@${PHP_FLAVOR} www/nextcloud/Makefile:IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick-im7>=2.2.2:graphics/pecl-imagick-im7@${PHP_FLAVOR} www/piwigo/Makefile:IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick>=2.2.2:graphics/pecl-imagick@${PHP_FLAVOR} www/piwigo/Makefile:IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick-im7>=2.2.2:graphics/pecl-imagick-im7@${PHP_FLAVOR} www/wordpress/Makefile:IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick>=2.2.2:graphics/pecl-imagick@${PHP_FLAVOR} www/wordpress/Makefile:IMAGEMAGICK_DEPENDS= ${PECL_PKGNAMEPREFIX}imagick-im7>=2.2.2:graphics/pecl-imagick-im7@${PHP_FLAVOR}
Created attachment 243224 [details] remove pecl-imagic-im7, pecl-imagick will build with default IM version Updated to USES= magick, pecl-imagick-im7 is removed, pecl-imagick will use the default version of ImageMagick set in make.conf (7 or 6, x11 or nox11)
Created attachment 243236 [details] pecl-imagick full patch to update MOVED and ports depending on pecl-imagick This is full patch to also update ports depending on pecl-imagick: Nextcloud, Piwigo, Wordpress - I added maintainers of these ports to this PR to notify them about this update. AFAIK no port currently depends on pecl-imagick with ImageMagick 6 by default so it should be safe to do this but better check it twice before commit.
Created attachment 243239 [details] patch to update dependencies in nextcloud/Makefile
Created attachment 243240 [details] patch to update dependencies in piwigo/Makefile
Created attachment 243241 [details] patch to update dependencies in wordpress/Makefile
Hi, as I authored the update to USES=magick, I will have a look! Thanks for your patches :) It might take me a few days to double-check everything...
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=a47ec034b7549d2959e45048071d58eff989b29d commit a47ec034b7549d2959e45048071d58eff989b29d Author: Miroslav Lachman <000.fbsd@quip.cz> AuthorDate: 2023-07-04 21:00:00 +0000 Commit: Felix Palmen <zirias@FreeBSD.org> CommitDate: 2023-07-19 11:05:22 +0000 graphics/pecl-imagick: Update/bump consumers www/nextcloud, www/piwigo and www/wordpress had some custom logic to select the pecl-imagick port based on the default ImageMagick version. This is now obsolete with the removal of pecl-imagick-im7 and must be removed. As this changes dependencies, also bump PORTREVISION in these ports. Other consumers of pecl-imagick don't need a bump because they only use ImageMagick through the PHP API, they don't directly link any shared libs. PR: 268833 Approved by: portmgr (blanket) www/nextcloud/Makefile | 11 ++--------- www/piwigo/Makefile | 10 ++-------- www/wordpress/Makefile | 11 ++--------- 3 files changed, 6 insertions(+), 26 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=b8e72f7c31046aee0be12553dd1fffde7706ffde commit b8e72f7c31046aee0be12553dd1fffde7706ffde Author: Miroslav Lachman <000.fbsd@quip.cz> AuthorDate: 2023-07-04 20:53:00 +0000 Commit: Felix Palmen <zirias@FreeBSD.org> CommitDate: 2023-07-19 11:05:15 +0000 graphics/pecl-imagick: Convert to USES=magick This will build it with whatever ImageMagick version is set in DEFAULT_VERSIONS, so it obsoletes the -im7 slave port. Remove it and document in MOVED. PR: 268833 MOVED | 1 + graphics/Makefile | 1 - graphics/pecl-imagick-im7/Makefile (gone) | 17 ----------------- graphics/pecl-imagick/Makefile | 13 +++---------- 4 files changed, 4 insertions(+), 28 deletions(-)
Didn't run into any issues, therefore: Committed, thanks a lot!