1SUMMARY = "ImageMagick is an image conversion toolkit" 2SECTION = "console/utils" 3HOMEPAGE = "https://www.imagemagick.org/" 4DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \ 5editing raster and vector image files. It can read and write over 200 image file formats." 6LICENSE = "ImageMagick" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=2f9de66264141265b203cde9902819ea \ 8 file://NOTICE;md5=bcbf1f1897b40ec8df39700cb560e9ed" 9# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. 10DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" 11 12BASE_PV := "${PV}" 13PV .= "-26" 14SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https" 15SRCREV = "570a9a048bb0e3a5c221ca87be9408ae35f711e2" 16 17S = "${WORKDIR}/git" 18 19inherit autotools pkgconfig update-alternatives 20export ac_cv_sys_file_offset_bits="64" 21 22EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile" 23 24PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml" 25PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus" 26PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz" 27PACKAGECONFIG[jp2] = "--with-jp2,,jasper" 28PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" 29PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg" 30PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" 31PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg" 32PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools" 33PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" 34PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" 35PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" 36PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2" 37 38do_install:append:class-target() { 39 for file in MagickCore-config.im7 MagickWand-config.im7 Magick++-config.im7; do 40 sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${bindir}/"$file" 41 done 42 sed -i 's,${S},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml 43 sed -i 's,${B},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml 44 sed -i 's,${RECIPE_SYSROOT},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml 45 sed -i 's,${HOSTTOOLS_DIR},${bindir},g' ${D}${sysconfdir}/ImageMagick-7/delegates.xml 46} 47 48FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ 49 ${datadir}/ImageMagick-7" 50 51FILES:${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a" 52 53FILES:${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*" 54 55BBCLASSEXTEND = "native" 56 57ALTERNATIVE_PRIORITY = "100" 58 59ALTERNATIVE:${PN} = "animate compare composite conjure convert display \ 60 identify import magick-script mogrify montage stream" 61 62ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7" 63ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7" 64ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7" 65ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7" 66ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7" 67ALTERNATIVE_TARGET[display] = "${bindir}/display.im7" 68ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7" 69ALTERNATIVE_TARGET[import] = "${bindir}/import.im7" 70ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7" 71ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7" 72ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7" 73ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7" 74 75ALTERNATIVE:${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \ 76 convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1" 77 78ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1" 79ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1" 80ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1" 81ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1" 82ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1" 83ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1" 84ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1" 85ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1" 86ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1" 87ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1" 88ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1" 89ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1" 90ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1" 91ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1" 92ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1" 93ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1" 94ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1" 95ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1" 96ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1" 97ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1" 98ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1" 99ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1" 100ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1" 101ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1" 102