From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/gpac/, media-video/gpac/files/
Date: Thu, 13 Mar 2025 04:24:22 +0000 (UTC) [thread overview]
Message-ID: <1741839714.d6c049ccb36319fdca8883f34f3227d2cfc40589.ionen@gentoo> (raw)
commit: d6c049ccb36319fdca8883f34f3227d2cfc40589
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 13 01:03:25 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> 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 <ionen <AT> 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 <openssl/rand.h>
++#include <stddef.h>
+ 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 <png.h>
++#include <stddef.h>
+ 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 <xvid.h>
++#include <stddef.h>
+ 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 <libfreenect/libfreenect.h>
++#include <stddef.h>
+ 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
+}
next reply other threads:[~2025-03-13 4:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 4:24 Ionen Wolkens [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-10 10:08 [gentoo-commits] repo/gentoo:master commit in: media-video/gpac/, media-video/gpac/files/ Andreas Sturmlechner
2023-04-10 9:25 Sam James
2023-03-29 16:16 Alexis Ballier
2020-09-12 21:42 Sam James
2020-09-08 22:42 Sam James
2018-05-08 18:33 Lars Wendler
2017-07-25 16:50 Steve Dibb
2017-02-24 9:00 Alexis Ballier
2015-09-16 11:47 Alexis Ballier
2015-08-22 9:20 Alexis Ballier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1741839714.d6c049ccb36319fdca8883f34f3227d2cfc40589.ionen@gentoo \
--to=ionen@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox