commit:     268a9029004a65d19e40551d4bd81db25198b188
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 01:31:01 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 12 08:59:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=268a9029

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 <AT> gentoo.org>

 media-libs/vips/Manifest           |   1 +
 media-libs/vips/metadata.xml       |  20 +++++
 media-libs/vips/vips-8.14.2.ebuild | 148 +++++++++++++++++++++++++++++++++++++
 3 files changed, 169 insertions(+)

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>[email protected]</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
+}

Reply via email to