A media-libs/imlib2/Manifest => media-libs/imlib2/Manifest +3 -0
@@ 0,0 1,3 @@
+DIST imlib2-1.12.1.tar.xz 831680 BLAKE2B c1483c3a9ac3bfe3aa43183799122f8f360067db04d1c55d356e5423f6e4de917b302a101295d8dd2de58696acbf06879f394a6ef2edae9c1905c8c6156595c7 SHA512 49d1ee7959cad2444dbe3a2b4c122899ad7935712e92ae63e28e33284839edaf942064bf436b29faf6bb99c502d414d97bec2f2c74d7fb09db960b29a33c9d8b
+EBUILD imlib2-1.12.1.ebuild 3167 BLAKE2B ba6fe28e474d91b53be5a60ab650ac21c270fbcf276ecea33426d44aa110e935188846f65faaab7ffa2e6c09e2749b9ee8e433288d9ddbe226fdca57e24c4bc0 SHA512 ae4dd6fddcb7e58c438b36a8e90b442364412d2599d8931e8a5955c2a9c2120a4326742639b64793a91425d0a92d7ffc0dbe522b426ccad3684223301391f538
+MISC metadata.xml 3596 BLAKE2B 30bd22b53799584ec5d25ebd0d2c69f210b86af719d0366f65a34eb5dcfe362a094577fc9600ff03a974447c233f9c3cb3060e072c19ca4d41084c665163de4d SHA512 bba18ce604133aa62dd1fc214adafc9da07c31a7fc52125ba55d85c546fb5991ab59a13528b0bd86c580bbbb46b7a33726949bf7a5caf5878df7619dd8a6731c
A media-libs/imlib2/imlib2-1.12.1.ebuild => media-libs/imlib2/imlib2-1.12.1.ebuild +102 -0
@@ 0,0 1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Must be bumped with media-plugins/imlib2_loaders!
+
+inherit multilib-minimal toolchain-funcs
+
+DESCRIPTION="Version 2 of an advanced replacement library for libraries like libXpm"
+HOMEPAGE="https://www.enlightenment.org/
+ https://sourceforge.net/projects/enlightenment/files/imlib2-src/"
+SRC_URI="https://downloads.sourceforge.net/enlightenment/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+X apidoc bzip2 cpu_flags_x86_mmx cpu_flags_x86_sse2 debug
+eps +filters +gif +jpeg jpeg2k jpegxl heif lzma mp3 packing +png
+raw +shm static-libs svg +text +tiff +webp y4m zlib"
+
+REQUIRED_USE="shm? ( X )"
+
+RDEPEND="
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ eps? ( app-text/libspectre )
+ gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] )
+ heif? ( media-libs/libheif:=[${MULTILIB_USEDEP}] )
+ jpeg2k? ( media-libs/openjpeg:=[${MULTILIB_USEDEP}] )
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ jpegxl? ( media-libs/libjxl:=[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
+ mp3? ( media-libs/libid3tag:=[${MULTILIB_USEDEP}] )
+ png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] )
+ raw? ( media-libs/libraw:=[${MULTILIB_USEDEP}] )
+ svg? ( >=gnome-base/librsvg-2.46.0:=[${MULTILIB_USEDEP}] )
+ text? ( media-libs/freetype:2[${MULTILIB_USEDEP}] )
+ tiff? ( >=media-libs/tiff-4.0.4:=[${MULTILIB_USEDEP}] )
+ webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
+ y4m? ( media-libs/libyuv )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ !<media-plugins/imlib2_loaders-1.10.0
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ virtual/pkgconfig
+ apidoc? ( app-doc/doxygen )
+"
+
+# default DOCS will haul README.in we do not need
+DOCS=( AUTHORS ChangeLog README TODO )
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with X x)
+ $(multilib_native_use_enable apidoc doc-build)
+ $(use_with bzip2 bz2)
+ $(use_enable debug)
+ $(multilib_native_use_with eps ps)
+ $(use_enable filters)
+ $(use_with gif)
+ $(use_with heif)
+ $(use_with jpeg)
+ $(use_with jpeg2k j2k)
+ $(use_with jpegxl jxl)
+ $(use_with lzma)
+ $(use_with mp3 id3)
+ $(use_enable packing)
+ $(use_with png)
+ $(use_with shm x-shm-fd)
+ $(use_enable static-libs static)
+ $(use_with raw)
+ $(use_with svg)
+ $(use_enable text)
+ $(use_with tiff)
+ $(use_with webp)
+ $(use_with y4m)
+ $(use_with zlib)
+ )
+
+ # imlib2 has different configure options for x86/amd64 assembly
+ if [[ $(tc-arch) == amd64 ]]; then
+ myeconfargs+=( $(use_enable cpu_flags_x86_sse2 amd64) --disable-mmx )
+ else
+ myeconfargs+=( --disable-amd64 $(use_enable cpu_flags_x86_mmx mmx) )
+ fi
+
+ ECONF_SOURCE="${S}" \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ V=1 emake install DESTDIR="${D}"
+ find "${D}" -name '*.la' -delete || die
+ multilib_is_native_abi && use apidoc &&
+ export HTML_DOCS=( "${BUILD_DIR}/doc/html/"* )
+}
A media-libs/imlib2/metadata.xml => media-libs/imlib2/metadata.xml +79 -0
@@ 0,0 1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <use>
+ <flag name="X">Use the X window system</flag>
+ <flag name="apidoc">Provide doxygen generated API docs</flag>
+ <flag name="bzip2">Bzip2 loader support</flag>
+ <flag name="filters">Build filter functions (blur, sharpen, etc)</flag>
+ <flag name="gif">Gif image loader support</flag>
+ <flag name="jpeg">Jpeg image loader support</flag>
+ <flag name="heif">Heif and Avif image loader support</flag>
+ <flag name="eps">Eps image loader support</flag>
+ <flag name="jpegxl">Jxl image loader support</flag>
+ <flag name="mp3">ID3 loader support</flag>
+ <flag name="packing">Enable structure packing. This will reduce memory footprint at the cost of unaligned memory access</flag>
+ <flag name="png">PNG image loader support</flag>
+ <flag name="raw">Raw loader support</flag>
+ <flag name="shm">Use MIT shared memory support for X image transfer</flag>
+ <flag name="text">Build text (TrueType font) functions</flag>
+ <flag name="tiff">TIFF image loader support</flag>
+ <flag name="webp">WEBP image loader support</flag>
+ <flag name="y4m">Y4M loader support</flag>
+ <flag name="zlib">Zlib loader support</flag>
+ </use>
+ <longdescription>
+ Imlib 2 is the successor to Imlib. It is not just a newer version - it
+ is a completely new library. Imlib2 can be installed alongside Imlib
+ 1.x without any problems since they are effectively different libraries
+ - but they Have very similar functionality.
+
+ Imlib2 can do the following:
+ * Load image files from disk in one of many formats,
+ * Save images to disk in one of many formats,
+ * Render image data onto other images,
+ * Render images to an X-Windows drawable,
+ * Produce pixmaps and pixmap masks of Images,
+ * Apply filters to images,
+ * Rotate images,
+ * Accept RGBA Data for images,
+ * Scale images,
+ * Alpha blend Images on other images or drawables,
+ * Apply color correction and modification tables and factors to
+ images,
+ * Render images onto images with color correction and modification
+ tables,
+ * Render truetype anti-aliased text,
+ * Render truetype anti-aliased text at any angle,
+ * Render anti-aliased lines,
+ * Render rectangles,
+ * Render linear multi-colored gradients,
+ * Cache data intelligently for maximum performance,
+ * Allocate colors automatically,
+ * Allow full control over caching and color allocation,
+ * Provide highly optimized MMX assembly for core routines,
+ * Provide plug-in filter interface,
+ * Provide on-the-fly runtime plug-in image loading and saving
+ interface,
+ * Fastest image compositing, rendering and manipulation library for X.
+
+ If what you want isn't in the list above somewhere then likely Imlib 2
+ does not do it. If it does it it likely does it faster than any other
+ library you can find (this includes gdk-pixbuf, gdkrgb, etc.) primarily
+ because of highly optimized code and a smart subsystem that does the
+ dirty work for you and picks up the pieces for you so you can be lazy
+ and let all the optimizations for you.
+
+ Imlib 2 can run without a display, so it can be easily used for
+ background image processing for web sites or servers - it only requires
+ the X libraries to be installed - that is all - it does not require an
+ XServer to run unless you wish to display images.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">enlightenment</remote-id>
+ </upstream>
+</pkgmetadata>
A media-libs/libyuv/Manifest => media-libs/libyuv/Manifest +3 -0
@@ 0,0 1,3 @@
+DIST libyuv-2023.11.tar.gz 574605 BLAKE2B 284002c315a20ebfd7c5a4c027069801841e2d25e336539b997c3b73156d02c050ea7e9d22ac10e09f446ff2505f090f7a74ed21ef7de0fd50ed8a72b38411fb SHA512 ca1ebb9a8451f727e4784f1c5d29d2cc346952d7015439a4ba833b416ac0ec26b1a89954be91c145cd950f1fb3451271ea9eb918c7f555f079a90ff052ced651
+EBUILD libyuv-2023.11.ebuild 1170 BLAKE2B c2778148d4a78990b5af7126966124851e7bd9ae4d71016ddf6c448747bb14510bc20c465b5994692576a9e742400b48847a8153f3f68607db5d820289a7ab30 SHA512 ed79f4f5bff1045d9869fb5d7fce6fbea119be2b3d7999f73d3a4829963124876e72bd5ce5204110b6b0de3b6d09047b27386dcdc9645fbea8d8e07f5d1c2183
+MISC metadata.xml 309 BLAKE2B 994553f39f8aa35062b92bf4e256b6902b09ddc7e65d6cb55187fd74a64f36d7aad3876cfbf8d929a41cad2bdf086c396504da4cb429f2ef77dd32de22ac08cd SHA512 a168b79b2db64b0aafdb1209d14995a772b708139411047dc948918767373d9a03792053eb9a6cc369f53c31379f2da849f6ebe0c5334cf169d107e6bad2d7b5
A media-libs/libyuv/libyuv-2023.11.ebuild => media-libs/libyuv/libyuv-2023.11.ebuild +51 -0
@@ 0,0 1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://chromium.googlesource.com/libyuv/libyuv"
+ inherit git-r3
+else
+ EGIT_COMMIT=fb6341d326846fbbe669ad5173e520f66b339621
+ SRC_URI="https://chromium.googlesource.com/libyuv/libyuv/+archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 x86"
+fi
+S="${WORKDIR}"
+
+DESCRIPTION="An open source project that includes YUV scaling and conversion functionality."
+HOMEPAGE="https://chromium.googlesource.com/libyuv/libyuv/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="debug tools static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ media-libs/libjpeg-turbo
+ test? ( dev-cpp/gtest dev-cpp/gflags )"
+RDEPEND="
+ media-libs/libjpeg-turbo"
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_BUILD_TYPE="$(usex debug Debug Release)"
+ -DUNIT_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ doheader include/*
+ dolib.so "${P}"_build/libyuv.so
+ use static-libs &&
+ dolib.a "${P}"_build/libyuv.a
+ use tools &&
+ dobin "${P}"_build/yuv{convert,constants}
+}
A media-libs/libyuv/metadata.xml => media-libs/libyuv/metadata.xml +10 -0
@@ 0,0 1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>q3cpma@posteo.net</email>
+ </maintainer>
+ <use>
+ <flag name="tools">Build and install yuvconvert and yuvconstants</flag>
+ </use>
+</pkgmetadata>