app-admin/awscli: Bump to 1.37.9
[gentoo/gentoo.git] / media-libs / vips / vips-8.16.0.ebuild
blob96a0a1bdc164a07b09742b59de7fc43828623d22
1 # Copyright 2023-2024 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
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"
14 SLOT="0/42" # soname
15 KEYWORDS="amd64 ~arm64 ~x86"
16 IUSE="
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
20         test tiff vala webp
22 REQUIRED_USE="
23         fontconfig? ( pango )
24         graphicsmagick? ( imagemagick )
25         python? ( ${PYTHON_REQUIRED_USE} )
26         test? ( jpeg png webp )
27         vala? ( introspection )
29 RESTRICT="!test? ( test )"
31 RDEPEND="
32         dev-libs/glib:2
33         dev-libs/expat
34         virtual/libintl
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 )
42         !highway? (
43                 orc? ( dev-lang/orc )
44         )
45         imagemagick? (
46                 graphicsmagick? ( media-gfx/graphicsmagick:= )
47                 !graphicsmagick? ( media-gfx/imagemagick:= )
48         )
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:= )
57         pango? (
58                 x11-libs/cairo
59                 x11-libs/pango
60         )
61         pdf? (
62                 app-text/poppler[cairo]
63                 x11-libs/cairo
64         )
65         png? ( media-libs/libpng:= )
66         python? (
67                 ${PYTHON_DEPS}
68                 $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]')
69         )
70         svg? (
71                 gnome-base/librsvg:2
72                 sys-libs/zlib:=
73                 x11-libs/cairo
74         )
75         tiff? ( media-libs/tiff:= )
76         webp? ( media-libs/libwebp:= )
78 DEPEND="
79         ${RDEPEND}
80         pango? ( x11-base/xorg-proto )
81         pdf? ( x11-base/xorg-proto )
82         svg? ( x11-base/xorg-proto )
83         test? (
84                 tiff? ( media-libs/tiff[jpeg] )
85         )
87 BDEPEND="
88         dev-util/glib-utils
89         sys-devel/gettext
90         doc? (
91                 app-text/doxygen
92                 media-gfx/graphviz
93         )
94         gtk-doc? ( dev-util/gtk-doc )
95         python? ( ${PYTHON_DEPS} )
96         vala? ( $(vala_depend) )
99 pkg_setup() {
100         use python && python-single-r1_pkg_setup
103 src_prepare() {
104         default
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
113 src_configure() {
114         # workaround for bug in lld (bug #921728)
115         tc-ld-is-lld && filter-lto
117         local emesonargs=(
118                 $(meson_use deprecated)
119                 $(meson_use doc doxygen)
120                 -Dexamples=false
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
146                 $(meson_feature png)
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
154         )
156         meson_src_configure
159 src_install() {
160         meson_src_install
162         if use python; then
163                 python_fix_shebang "${ED}"/usr/bin/vipsprofile
164         else
165                 rm -- "${ED}"/usr/{bin/vipsprofile,share/man/man1/vipsprofile.1} || die
166         fi