~q3cpma/portage-overlay

e2fca901485ab16230e0e318a78280df2cef874c — q3cpma 8 months ago 90d9224
Bump imlib2 and add libyu

imlib2[y4m] not working yet, as configure wants a libyuv.pc
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>