From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3ECFE1584F2 for ; Thu, 13 Mar 2025 04:24:34 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 2699E34318E for ; Thu, 13 Mar 2025 04:24:34 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 617F61103CE; Thu, 13 Mar 2025 04:24:25 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 5A3621103CE for ; Thu, 13 Mar 2025 04:24:25 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0E1BC343174 for ; Thu, 13 Mar 2025 04:24:25 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 2E72D261C for ; Thu, 13 Mar 2025 04:24:22 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1741839714.d6c049ccb36319fdca8883f34f3227d2cfc40589.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/gpac/, media-video/gpac/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-video/gpac/Manifest media-video/gpac/files/gpac-2.4.0-configure-stddef.patch media-video/gpac/files/gpac-2.4.0-ffmpeg7.patch media-video/gpac/gpac-2.4.0.ebuild X-VCS-Directories: media-video/gpac/files/ media-video/gpac/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: d6c049ccb36319fdca8883f34f3227d2cfc40589 X-VCS-Branch: master Date: Thu, 13 Mar 2025 04:24:22 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e3b5d281-8371-426a-ad82-5bc4525bf3d3 X-Archives-Hash: 4f5c6e2d936bc017d4a38574e5a549a2 commit: d6c049ccb36319fdca8883f34f3227d2cfc40589 Author: Ionen Wolkens gentoo org> AuthorDate: Thu Mar 13 01:03:25 2025 +0000 Commit: Ionen Wolkens gentoo org> CommitDate: Thu Mar 13 04:21:54 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6c049cc media-video/gpac: add 2.4.0 Closes: https://bugs.gentoo.org/913229 Closes: https://bugs.gentoo.org/919717 Closes: https://bugs.gentoo.org/926819 Closes: https://bugs.gentoo.org/934641 Closes: https://bugs.gentoo.org/940227 Closes: https://bugs.gentoo.org/951221 Signed-off-by: Ionen Wolkens gentoo.org> media-video/gpac/Manifest | 1 + .../gpac/files/gpac-2.4.0-configure-stddef.patch | 19 +++ media-video/gpac/files/gpac-2.4.0-ffmpeg7.patch | 71 ++++++++++ media-video/gpac/gpac-2.4.0.ebuild | 143 +++++++++++++++++++++ 4 files changed, 234 insertions(+) diff --git a/media-video/gpac/Manifest b/media-video/gpac/Manifest index c3e8ca33dce5..8b033192b1ef 100644 --- a/media-video/gpac/Manifest +++ b/media-video/gpac/Manifest @@ -1,2 +1,3 @@ DIST gpac-2.0.0.tar.gz 11362932 BLAKE2B a8489831efb77c374d13e2edb3951e60a94907c4cd8601919e1390aee0e9002249e97a9200fd006c2aa783c516f701f7695aa84b5f3596a3bc90290916ff4086 SHA512 e95e6d78167fc306917b3ac89e56ba511bbcb0c825da118f5ba374504499352104b5c1f3ee71e7ec018015b8e302f9b07162d22287ddb21c8564b097d900913f DIST gpac-2.2.1.tar.gz 11377184 BLAKE2B 44b47459da0f203d0e4c0eed5836a59f44fb508db4e601b46e9ffdb53d89bb49e22ccdfe7951b17581130f186c47ae8efc0d9002685d5cf9a3547159356d2d9e SHA512 873df4c2fdc3594a0f3bce66d511cee14669643042ab1ca8d7f370ad3f50636c32c31f79818051d00bf844de30a5533ae30c81ed168baf2626a152771b6a6845 +DIST gpac-2.4.0.tar.gz 9914579 BLAKE2B 09d7eeb390b4d10a6d144bf4046a7b53283fa05be01c663e0cd82e8b7b8d9dece30ef42747c12a7477f5b13ca7c7e18905f36d3f20396bb50937a249729fd3a8 SHA512 164d8a1ff235413852cc2077b5153c36b094862b61fdda12065bf6810926caabd1a1f6f30b7aac9a5b640f51fe92a6ca911518a424cab7220b635920d95da99f diff --git a/media-video/gpac/files/gpac-2.4.0-configure-stddef.patch b/media-video/gpac/files/gpac-2.4.0-configure-stddef.patch new file mode 100644 index 000000000000..05a9ac08b54d --- /dev/null +++ b/media-video/gpac/files/gpac-2.4.0-configure-stddef.patch @@ -0,0 +1,19 @@ +https://github.com/gpac/gpac/commit/a005fd6eb7a9ede4d3356630cae3d6516c91b73e +--- a/configure ++++ b/configure +@@ -1593,2 +1593,3 @@ + #include ++#include + int main( void ) { SSL_CTX_set_options(NULL, SSL_OP_ALL); return 0; }' +@@ -1619,2 +1620,3 @@ + config_package png "libpng" "" "-lpng -lz" "png" '#include ++#include + int main( void ) { png_struct *png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); return 0; }' +@@ -1635,2 +1637,3 @@ + config_package xvid "xvid" "" "-lxvidcore $PTHREAD_LDFLAGS" "" '#include ++#include + int main( void ) { void *codec; xvid_decore(codec, XVID_DEC_DESTROY, NULL, NULL); return 0; }' +@@ -1688,2 +1691,3 @@ + config_package freenect "libfreenect" "" "-lfreenect" "freenect" '#include ++#include + int main( void ) { freenect_context *f_ctx; freenect_init(&f_ctx, NULL); return 0; }' diff --git a/media-video/gpac/files/gpac-2.4.0-ffmpeg7.patch b/media-video/gpac/files/gpac-2.4.0-ffmpeg7.patch new file mode 100644 index 000000000000..e9485dfa5f65 --- /dev/null +++ b/media-video/gpac/files/gpac-2.4.0-ffmpeg7.patch @@ -0,0 +1,71 @@ +https://bugs.gentoo.org/951221 +https://github.com/gpac/gpac/commit/18863aa2176e423dae2a6d7e39ff6ed6a37b2b78 +--- a/src/filters/ff_dmx.c ++++ b/src/filters/ff_dmx.c +@@ -2202,5 +2202,4 @@ + { + const AVInputFormat *fmt; +- AVFormatContext *ctx; + + if (!dev_name) return; +@@ -2211,33 +2210,13 @@ + return; + } +- ctx = avformat_alloc_context(); +- if (!ctx) return; +- ctx->iformat = (AVInputFormat *)fmt; +- if (ctx->iformat->priv_data_size > 0) { +- ctx->priv_data = av_mallocz(ctx->iformat->priv_data_size); +- if (!ctx->priv_data) { +- avformat_free_context(ctx); +- return; +- } +- if (ctx->iformat->priv_class) { +- *(const AVClass**)ctx->priv_data = ctx->iformat->priv_class; +- av_opt_set_defaults(ctx->priv_data); +- } +- } else { +- ctx->priv_data = NULL; +- } + + AVDeviceInfoList *dev_list = NULL; +- +- AVDictionary *tmp = NULL; +- av_dict_set(&tmp, "list_devices", "1", 0); +- av_opt_set_dict2(ctx, &tmp, AV_OPT_SEARCH_CHILDREN); +- if (tmp) +- av_dict_free(&tmp); +- +- int res = avdevice_list_devices(ctx, &dev_list); ++ int res = avdevice_list_input_sources(fmt, dev_name, NULL, &dev_list); + if (res<0) { + //device doesn't implement avdevice_list_devices, try loading the context using "list_devices=1" option + if (-res == ENOSYS) { ++ AVFormatContext *ctx = avformat_alloc_context(); ++ if (!ctx) return; ++ + AVDictionary *opts = NULL; + av_dict_set(&opts, "list_devices", "1", 0); +@@ -2245,6 +2224,15 @@ + if (opts) + av_dict_free(&opts); ++ ++#if !defined(__DARWIN__) && !defined(__APPLE__) ++ // FIXME: no-op, permission issues on macOS Sonoma+ ++ if (res>=0) avdevice_list_devices(ctx, &dev_list); ++#endif ++ ++ if (res>=0) avformat_close_input(&ctx); ++ avformat_free_context(ctx); + } +- } else if (!res && dev_list->nb_devices) { ++ } ++ if (!res && dev_list && dev_list->nb_devices) { + if (!dev_desc) { + gf_dynstrcat(&dev_desc, "# Detected devices\n", NULL); +@@ -2263,5 +2251,4 @@ + + if (dev_list) avdevice_free_list_devices(&dev_list); +- avformat_free_context(ctx); + } + diff --git a/media-video/gpac/gpac-2.4.0.ebuild b/media-video/gpac/gpac-2.4.0.ebuild new file mode 100644 index 000000000000..68d3e1977978 --- /dev/null +++ b/media-video/gpac/gpac-2.4.0.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs xdg + +DESCRIPTION="Implementation of the MPEG-4 Systems standard developed from scratch in ANSI C" +HOMEPAGE="https://gpac.wp.imt.fr/" +SRC_URI="https://github.com/gpac/gpac/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/12" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE=" + X a52 aac alsa dvb ffmpeg http2 jack jpeg jpeg2k libcaca lzma mad + opengl png pulseaudio sdl ssl theora truetype vorbis xvid +" + +RDEPEND=" + sys-libs/zlib:= + X? ( + x11-libs/libX11 + x11-libs/libXv + x11-libs/libXext + ) + a52? ( media-libs/a52dec ) + aac? ( media-libs/faad2 ) + alsa? ( media-libs/alsa-lib ) + ffmpeg? ( media-video/ffmpeg:= ) + http2? ( net-libs/nghttp2:= ) + jack? ( virtual/jack ) + jpeg2k? ( media-libs/openjpeg:2= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + libcaca? ( media-libs/libcaca ) + lzma? ( app-arch/xz-utils ) + mad? ( media-libs/libmad ) + opengl? ( + media-libs/libglvnd[X] + x11-libs/libX11 + virtual/glu + ) + png? ( media-libs/libpng:= ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( media-libs/libsdl2 ) + ssl? ( dev-libs/openssl:= ) + theora? ( + media-libs/libogg + media-libs/libtheora + ) + truetype? ( media-libs/freetype ) + vorbis? ( media-libs/libvorbis ) + xvid? ( media-libs/xvid ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + dvb? ( sys-kernel/linux-headers ) +" +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-configure-stddef.patch + "${FILESDIR}"/${P}-ffmpeg7.patch +) + +src_prepare() { + default + + # respect *FLAGS + sed -e '/^sseflags=/d' -e 's/-O[0-3] //' -i configure || die + + # some configure options are ignored? (check if still needed on bump) + use alsa || sed -i 's/^check_has_lib alsa/:/' configure || die + use jack || sed -i 's/^check_has_lib jack/:/' configure || die + use lzma || sed -i 's/^check_has_lib lzma/:/' configure || die + use pulseaudio || sed -i 's/^check_has_lib pulseaudio/:/' configure || die + use sdl || sed -i 's/has_sdl=.*/has_sdl=no/' configure || die +} + +src_configure() { + tc-export AR CC CXX RANLIB + + gpac_use() { + usex ${1} --use-${2:-${1}}={system,no} + } + + local conf=( + ./configure # not autotools-based + + --prefix="${EPREFIX}"/usr + --libdir="$(get_libdir)" + --extra-cflags="${CFLAGS}" + --enable-pic + --verbose + + $(use_enable X x11) + $(use_enable dvb dvbx) + $(use_enable opengl 3d) + + $(gpac_use a52) + $(gpac_use alsa) + $(gpac_use dvb dvb4linux) + $(gpac_use aac faad) + $(gpac_use ffmpeg) + $(gpac_use truetype freetype) + --use-hid=no # only for a deprecated module + $(gpac_use jack) + $(gpac_use jpeg) + $(gpac_use libcaca) + $(gpac_use lzma) + $(gpac_use mad) + $(gpac_use http2 nghttp2) + $(gpac_use jpeg2k openjpeg) + $(gpac_use png) + $(gpac_use pulseaudio) + $(gpac_use sdl) + $(gpac_use ssl) + $(gpac_use vorbis) + $(gpac_use theora) + $(gpac_use xvid) + + # not packaged + --use-caption=no + --use-directfb=no + --use-freenect=no + --use-mpeghdec=no + --use-openhevc=no + --use-opensvc=no + ) + + einfo "${conf[*]}" + "${conf[@]}" || die +} + +src_install() { + emake STRIP=: DESTDIR="${D}" install + dodoc Changelog README.md share/doc/{*.{bt,doc,txt},SceneGenerators} + + find "${ED}" -type f -name '*.a' -delete || die +}