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=b97c12a9213df1499565d69b92c73dd7 \
8                    file://NOTICE;md5=d8b9d2ccf273687ad12ebd06e5d8478f"
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 .= "-62"
14SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https"
15SRCREV = "35b4991eb0939a327f3489988c366e21068b0178"
16
17S = "${WORKDIR}/git"
18
19inherit autotools pkgconfig update-alternatives
20
21# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
22# if someone needs xml support then fix it first
23EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
24
25CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
26PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
27PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
28PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
29PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
30PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
31PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
32PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg"
33PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools"
34PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
35PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
36PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
37
38FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
39                ${datadir}/ImageMagick-7"
40
41FILES:${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
42
43FILES:${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*"
44
45BBCLASSEXTEND = "native"
46
47ALTERNATIVE_PRIORITY = "100"
48
49ALTERNATIVE:${PN} = "animate compare composite conjure convert display \
50    identify import magick-script mogrify montage stream"
51
52ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7"
53ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
54ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
55ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
56ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
57ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
58ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
59ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
60ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7"
61ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
62ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
63ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
64
65ALTERNATIVE:${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
66    convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1"
67
68ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
69ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1"
70ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
71ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
72ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
73ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
74ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
75ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
76ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
77ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
78ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
79ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
80ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
81ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
82ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
83ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
84ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1"
85ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1"
86ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
87ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
88ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
89ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
90ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
91ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
92