blob: 6ab8a61b9b445a280f62f1de63130aff6050b93a [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001SUMMARY = "ImageMagick is an image conversion toolkit"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05002SECTION = "console/utils"
Brad Bishop19323692019-04-05 15:28:33 -04003HOMEPAGE = "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."
Brad Bishopd7bf8c12018-02-25 22:55:05 -05006LICENSE = "ImageMagick"
Patrick Williams705982a2024-01-12 09:51:57 -06007LIC_FILES_CHKSUM = "file://LICENSE;md5=2f9de66264141265b203cde9902819ea \
Patrick Williams8e7b46e2023-05-01 14:19:06 -05008 file://NOTICE;md5=bcbf1f1897b40ec8df39700cb560e9ed"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05009# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
Brad Bishop34ae6002019-04-08 15:21:03 -040010DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050011
12BASE_PV := "${PV}"
Patrick Williams705982a2024-01-12 09:51:57 -060013PV .= "-26"
14SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https"
15SRCREV = "570a9a048bb0e3a5c221ca87be9408ae35f711e2"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050016
17S = "${WORKDIR}/git"
18
19inherit autotools pkgconfig update-alternatives
Patrick Williams8e7b46e2023-05-01 14:19:06 -050020export ac_cv_sys_file_offset_bits="64"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050021
Andrew Geissler3eeda902023-05-19 10:14:02 -050022EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050023
Andrew Geissler3eeda902023-05-19 10:14:02 -050024PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml"
Patrick Williams92b42cb2022-09-03 06:53:57 -050025PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050026PACKAGECONFIG[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"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080031PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg"
Brad Bishope42b3e32020-01-15 22:08:42 -050032PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050033PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
34PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
35PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
Andrew Geissler3eeda902023-05-19 10:14:02 -050036PACKAGECONFIG[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
Patrick Williams705982a2024-01-12 09:51:57 -060040 sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${bindir}/"$file"
Andrew Geissler3eeda902023-05-19 10:14:02 -050041 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}
Brad Bishopd7bf8c12018-02-25 22:55:05 -050047
Patrick Williams213cb262021-08-07 19:21:33 -050048FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050049 ${datadir}/ImageMagick-7"
50
Patrick Williams213cb262021-08-07 19:21:33 -050051FILES:${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050052
Patrick Williams213cb262021-08-07 19:21:33 -050053FILES:${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050054
Patrick Williams03514f12024-04-05 07:04:11 -050055BBCLASSEXTEND = "native nativesdk"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050056
57ALTERNATIVE_PRIORITY = "100"
58
Patrick Williams213cb262021-08-07 19:21:33 -050059ALTERNATIVE:${PN} = "animate compare composite conjure convert display \
Andrew Geisslerd688a012020-09-18 13:36:00 -050060 identify import magick-script mogrify montage stream"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050061
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"
Andrew Geisslerd688a012020-09-18 13:36:00 -050070ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050071ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
72ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
73ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
74
Patrick Williams213cb262021-08-07 19:21:33 -050075ALTERNATIVE:${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
Andrew Geisslerd688a012020-09-18 13:36:00 -050076 convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050077
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"
Andrew Geisslerd688a012020-09-18 13:36:00 -050094ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1"
95ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050096ALTERNATIVE_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"