1 # Copyright 2023-2024 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python3_{10..13} )
7 inherit flag-o-matic meson python-single-r1 toolchain-funcs vala
9 DESCRIPTION="VIPS Image Processing Library"
10 HOMEPAGE="https://libvips.github.io/libvips/"
11 SRC_URI="https://github.com/libvips/libvips/releases/download/v${PV}/${P}.tar.xz"
13 LICENSE="LGPL-2.1+ MIT"
15 KEYWORDS="amd64 ~arm64 ~x86"
17 archive deprecated doc exif fftw fits fontconfig graphicsmagick
18 gtk-doc heif +highway imagemagick imagequant +introspection +jpeg
19 jpeg2k jpegxl lcms matio openexr orc pango pdf +png python svg
24 graphicsmagick? ( imagemagick )
25 python? ( ${PYTHON_REQUIRED_USE} )
26 test? ( jpeg png webp )
27 vala? ( introspection )
29 RESTRICT="!test? ( test )"
35 archive? ( app-arch/libarchive:= )
36 exif? ( media-libs/libexif )
37 fftw? ( sci-libs/fftw:3.0= )
38 fits? ( sci-libs/cfitsio:= )
39 fontconfig? ( media-libs/fontconfig )
40 heif? ( media-libs/libheif:= )
41 highway? ( >=dev-cpp/highway-1.0.5 )
46 graphicsmagick? ( media-gfx/graphicsmagick:= )
47 !graphicsmagick? ( media-gfx/imagemagick:= )
49 imagequant? ( media-gfx/libimagequant )
50 introspection? ( dev-libs/gobject-introspection )
51 jpeg? ( media-libs/libjpeg-turbo:= )
52 jpeg2k? ( media-libs/openjpeg:= )
53 jpegxl? ( media-libs/libjxl:= )
54 lcms? ( media-libs/lcms:2 )
55 matio? ( sci-libs/matio:= )
56 openexr? ( media-libs/openexr:= )
62 app-text/poppler[cairo]
65 png? ( media-libs/libpng:= )
68 $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]')
75 tiff? ( media-libs/tiff:= )
76 webp? ( media-libs/libwebp:= )
80 pango? ( x11-base/xorg-proto )
81 pdf? ( x11-base/xorg-proto )
82 svg? ( x11-base/xorg-proto )
84 tiff? ( media-libs/tiff[jpeg] )
94 gtk-doc? ( dev-util/gtk-doc )
95 python? ( ${PYTHON_DEPS} )
96 vala? ( $(vala_depend) )
100 use python && python-single-r1_pkg_setup
106 use vala && vala_setup
108 sed -i "s/'vips-doc'/'${PF}'/" cplusplus/meson.build || die
110 sed -i "/subdir('fuzz')/d" meson.build || die
114 # workaround for bug in lld (bug #921728)
115 tc-ld-is-lld && filter-lto
118 $(meson_use deprecated)
119 $(meson_use doc doxygen)
121 $(meson_use gtk-doc gtk_doc)
122 $(meson_use vala vapi)
123 -Dcgif=disabled # not packaged, and not used to view gif (only saving)
124 $(meson_feature archive)
125 $(meson_feature exif)
126 $(meson_feature fftw)
127 $(meson_feature fits cfitsio)
128 $(meson_feature fontconfig)
129 $(meson_feature heif)
130 $(meson_feature highway)
131 $(meson_feature imagemagick magick)
132 -Dmagick-package=$(usex graphicsmagick GraphicsMagick MagickCore)
133 $(meson_feature imagequant)
134 $(meson_feature introspection)
135 $(meson_feature jpeg)
136 $(meson_feature jpeg2k openjpeg)
137 $(meson_feature jpegxl jpeg-xl)
138 $(meson_feature lcms)
139 $(meson_feature matio)
140 -Dnifti=disabled # not packaged
141 $(meson_feature openexr)
142 -Dopenslide=disabled # not packaged
143 $(meson_feature orc) # no-op if USE=highway is set
144 $(meson_feature pango pangocairo)
145 -Dpdfium=disabled # not packaged, can use poppler instead
147 $(meson_feature pdf poppler)
148 -Dquantizr=disabled # not packaged, can use imagequant instead
149 -Dspng=disabled # not packaged, can use libpng instead
150 $(meson_feature svg rsvg)
151 $(meson_feature tiff)
152 $(meson_feature webp)
153 $(meson_feature svg zlib) # zlib is currently only used by svgload.c
163 python_fix_shebang "${ED}"/usr/bin/vipsprofile
165 rm -- "${ED}"/usr/{bin/vipsprofile,share/man/man1/vipsprofile.1} || die