summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-05-11 21:31:01 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-05-12 04:59:38 -0400
commit268a9029004a65d19e40551d4bd81db25198b188 (patch)
treed98d32a5f6e11d637036b1f78da23dd11aa629d0
parentdev-cpp/cli11: new package, add 2.3.2 (diff)
downloadgentoo-268a9029004a65d19e40551d4bd81db25198b188.tar.gz
gentoo-268a9029004a65d19e40551d4bd81db25198b188.tar.bz2
gentoo-268a9029004a65d19e40551d4bd81db25198b188.zip
media-libs/vips: new package, add 8.14.2
Adding for media-gfx/ueberzugpp, but is either way a generally nice library to have in the tree with some useful standalone cli tools. Debated between the naming libvips(github+website) and vips(tarball), but the latter makes things a bit simpler if using the release tarball and overlays have already used media-libs/vips and so can stay consistent (also uses vips.pc). On repology it seems to be a 1/2 mix. Preemptively using a subslot as soname been bumped several times in the past. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
-rw-r--r--media-libs/vips/Manifest1
-rw-r--r--media-libs/vips/metadata.xml20
-rw-r--r--media-libs/vips/vips-8.14.2.ebuild148
3 files changed, 169 insertions, 0 deletions
diff --git a/media-libs/vips/Manifest b/media-libs/vips/Manifest
new file mode 100644
index 000000000000..19bcb045f914
--- /dev/null
+++ b/media-libs/vips/Manifest
@@ -0,0 +1 @@
+DIST vips-8.14.2.tar.xz 18693660 BLAKE2B 22af6d587314c550704bf0527da4b3f5810be2ea9114af9c6592bbcd6b8027bfa961df0b349c8e80bcbb8b5992f2bf1b13b5fc46da46bd24359c70adfc7d757c SHA512 860f3b89fcaa2eaed49e253dc2b3b5c7dae5e453c506eb2ec96a3954072fcd86a4d6dafb3b00fc624c23097b947d3d6451e27d9494e7a75f1e4df5e99c771771
diff --git a/media-libs/vips/metadata.xml b/media-libs/vips/metadata.xml
new file mode 100644
index 000000000000..1e0f895e9ef4
--- /dev/null
+++ b/media-libs/vips/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <use>
+ <flag name="deprecated">Enable deprecated components</flag>
+ <flag name="fits">Enable support for the Flexible Image Transport System data format using <pkg>sci-libs/cfitsio</pkg></flag>
+ <flag name="gsf">Enable support for structured files using <pkg>gnome-extra/libgsf</pkg></flag>
+ <flag name="imagequant">Enable support for Image Quantization using <pkg>media-gfx/libimagequant</pkg></flag>
+ <flag name="jpegxl">Enable support for the JPEG-XL image format using <pkg>media-libs/libjxl</pkg></flag>
+ <flag name="matio">Enable support for matlab files using <pkg>sci-libs/matio</pkg></flag>
+ <flag name="pango">Enable support for text rendering using <pkg>x11-libs/pango</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">libvips/libvips</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-libs/vips/vips-8.14.2.ebuild b/media-libs/vips/vips-8.14.2.ebuild
new file mode 100644
index 000000000000..5b86067ed672
--- /dev/null
+++ b/media-libs/vips/vips-8.14.2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit meson python-single-r1 vala
+
+DESCRIPTION="VIPS Image Processing Library"
+HOMEPAGE="https://libvips.github.io/libvips/"
+SRC_URI="https://github.com/libvips/libvips/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+ MIT"
+SLOT="0/42" # soname
+KEYWORDS="~amd64 ~x86"
+IUSE="
+ deprecated doc exif fftw fits fontconfig graphicsmagick gsf gtk-doc heif
+ imagemagick imagequant +introspection +jpeg jpeg2k jpegxl lcms matio
+ openexr +orc pango pdf +png python svg test tiff vala webp"
+REQUIRED_USE="
+ fontconfig? ( pango )
+ graphicsmagick? ( imagemagick )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( jpeg png webp )
+ vala? ( introspection )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/expat
+ virtual/libintl
+ exif? ( media-libs/libexif )
+ fftw? ( sci-libs/fftw:3.0= )
+ fits? ( sci-libs/cfitsio:= )
+ fontconfig? ( media-libs/fontconfig )
+ gsf? ( gnome-extra/libgsf:= )
+ heif? ( media-libs/libheif:= )
+ imagemagick? (
+ graphicsmagick? ( media-gfx/graphicsmagick:= )
+ !graphicsmagick? ( media-gfx/imagemagick:= )
+ )
+ imagequant? ( media-gfx/libimagequant )
+ introspection? ( dev-libs/gobject-introspection )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:= )
+ jpegxl? ( media-libs/libjxl )
+ lcms? ( media-libs/lcms:2 )
+ matio? ( sci-libs/matio:= )
+ openexr? ( media-libs/openexr:= )
+ orc? ( dev-lang/orc )
+ pango? (
+ x11-libs/cairo
+ x11-libs/pango
+ )
+ pdf? (
+ app-text/poppler[cairo]
+ x11-libs/cairo
+ )
+ png? ( media-libs/libpng:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]')
+ )
+ svg? (
+ gnome-base/librsvg:2
+ sys-libs/zlib:=
+ x11-libs/cairo
+ )
+ tiff? ( media-libs/tiff:= )
+ webp? ( media-libs/libwebp:= )"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ tiff? ( media-libs/tiff[jpeg] )
+ )"
+BDEPEND="
+ sys-devel/gettext
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ gtk-doc? ( dev-util/gtk-doc )
+ python? ( ${PYTHON_DEPS} )
+ vala? ( $(vala_depend) )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ use vala && vala_setup
+
+ sed -i "s/'vips-doc'/'${PF}'/" cplusplus/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use deprecated)
+ $(meson_use doc doxygen)
+ -Dexamples=false
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ -Dcgif=disabled # not packaged, and not used to view gif (only saving)
+ $(meson_feature exif)
+ $(meson_feature fftw)
+ $(meson_feature fits cfitsio)
+ $(meson_feature fontconfig)
+ $(meson_feature gsf)
+ $(meson_feature heif)
+ $(meson_feature imagemagick magick)
+ -Dmagick-package=$(usex graphicsmagick GraphicsMagick MagickCore)
+ $(meson_feature imagequant)
+ $(meson_feature jpeg)
+ $(meson_feature jpeg2k openjpeg)
+ $(meson_feature jpegxl jpeg-xl)
+ $(meson_feature lcms)
+ $(meson_feature matio)
+ -Dnifti=disabled # not packaged
+ $(meson_feature openexr)
+ -Dopenslide=disabled # not packaged
+ $(meson_feature orc)
+ $(meson_feature pango pangocairo)
+ -Dpdfium=disabled # not packaged, can use poppler instead
+ $(meson_feature png)
+ $(meson_feature pdf poppler)
+ -Dquantizr=disabled # not packaged, can use imagequant instead
+ -Dspng=disabled # not packaged, can use libpng instead
+ $(meson_feature svg rsvg)
+ $(meson_feature tiff)
+ $(meson_feature webp)
+ $(meson_feature svg zlib) # zlib is currently only used by svgload.c
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use python; then
+ python_fix_shebang "${ED}"/usr/bin/vipsprofile
+ else
+ rm -- "${ED}"/usr/{bin/vipsprofile,share/man/man1/vipsprofile.1} || die
+ fi
+}