pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/multimedia/gpac



Module Name:    pkgsrc
Committed By:   adam
Date:           Fri Oct 31 21:46:23 UTC 2025

Modified Files:
        pkgsrc/multimedia/gpac: Makefile PLIST distinfo
        pkgsrc/multimedia/gpac/patches: patch-Makefile patch-configure
            patch-src_quickjs_quickjs.c
Added Files:
        pkgsrc/multimedia/gpac/patches: patch-include_gpac_setup.h
            patch-src_filters_ff__dmx.c patch-src_filters_in__pipe.c
            patch-src_filters_out__pipe.c patch-src_utils_os__file.c
Removed Files:
        pkgsrc/multimedia/gpac/patches: patch-src_filter__core_filter__props.c

Log Message:
gpac: updated to 2.4.0

GPAC 2.4

This release marks the beginning of GPAC in your browser with emscripten support, with a live demo at https://wasm.gpac.io !

This release also brings many new features including pcap support, async net IOs, JIT packaging for on-demand content and better subtitle/CC support.

As usual, installers are available on gpac.io for most common platforms.

Enjoy, give us feedback and spread the news!

Detailed changes:

Emscripten|WebAssembly(WASM) support

Session can run in worker or in main browser loop
Automatic disable of ffdec and ffenc threads when not running in worker
Use fetch() api for downloader
Support for WebCodecs
Support for getUserMedia and canvas readable streams
gpac.html demo page
Media Formats

Fixes in text subtitle converters
Improved DolbyVision muxing from mkv
Dasher support for inputs with multiple stsd entries
Allow multiplexed representations for LL-HLS
Improved eac3 support
QT cmov support (reading and writing)
QT lpcm support
Improved chaptering support
Improved timecode inspection
Support for big-endian PCM formats
Support for uncv (raw video in mp4 and heif)
Support for forced subtitles
Support for HEVC bitstreams merging in dash (for multi-res tile adaptation)
Filters

Async HTTP request in all filters
JS/Python/NodeJS bindings for httpout server
Fixed CORS and mime types in httpout for wasm and sharedArrayuffer support
Allow compilation without threads
Allow compilation without network
Fixed GF_FileIO for async read and write modes
Added seeking in mp4dmx in mem mode
vout updated to use VBO (required for gles2)
libcaca video output support
Allow ffdmx to work as demux filter on gpac input file pids
GHI format for pre-indexing DASH/HLS session for JIT packaging/encryption/transcode
Zero-copy for mp4dmx and fragmented mp4mx
Various speed optimizations (filter session, isomedia lib, disk io, xml)
Allow running the session without mutexes
Closed Caption decoding filter (CEA708)
MPEG-H decoder using IIS mpeghdec
Templating for property assignment
Conditional filter replacement to identify based on codecID
Per-filter logging
MP4Box

Add track reordering option
Misc

Migrated doc from github's wiki to wiki.gpac.io
FFmpeg 7 support
Added features for configure (vout, aout, fonts, doc, evg)
Allow specifying network interface by name or IP (instead of IP only)
UDP/TCP filtering and recording to / playback from pcap, pcapng and GPAC gpc files
Added Nix and Docker build files
Many bug fixes, improvements and security patches


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 pkgsrc/multimedia/gpac/Makefile
cvs rdiff -u -r1.11 -r1.12 pkgsrc/multimedia/gpac/PLIST
cvs rdiff -u -r1.22 -r1.23 pkgsrc/multimedia/gpac/distinfo
cvs rdiff -u -r1.5 -r1.6 pkgsrc/multimedia/gpac/patches/patch-Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/multimedia/gpac/patches/patch-configure
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/multimedia/gpac/patches/patch-include_gpac_setup.h \
    pkgsrc/multimedia/gpac/patches/patch-src_filters_ff__dmx.c \
    pkgsrc/multimedia/gpac/patches/patch-src_filters_in__pipe.c \
    pkgsrc/multimedia/gpac/patches/patch-src_filters_out__pipe.c \
    pkgsrc/multimedia/gpac/patches/patch-src_utils_os__file.c
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/multimedia/gpac/patches/patch-src_filter__core_filter__props.c
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/multimedia/gpac/patches/patch-src_quickjs_quickjs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/multimedia/gpac/Makefile
diff -u pkgsrc/multimedia/gpac/Makefile:1.111 pkgsrc/multimedia/gpac/Makefile:1.112
--- pkgsrc/multimedia/gpac/Makefile:1.111       Thu Oct 23 20:38:33 2025
+++ pkgsrc/multimedia/gpac/Makefile     Fri Oct 31 21:46:23 2025
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.111 2025/10/23 20:38:33 wiz Exp $
+# $NetBSD: Makefile,v 1.112 2025/10/31 21:46:23 adam Exp $
 
-DISTNAME=      gpac-1.0.1
-PKGREVISION=   29
+DISTNAME=      gpac-2.4.0
 CATEGORIES=    multimedia
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=gpac/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}
@@ -15,6 +14,7 @@ USE_LANGUAGES=                c c++
 USE_TOOLS+=            gmake grep gsed pkg-config
 # not really GNU configure, but close enough
 GNU_CONFIGURE=         yes
+CONFIGURE_ARGS+=       --disable-opt
 CONFIGURE_ARGS+=       --disable-wx
 CONFIGURE_ARGS+=       --enable-pic
 CONFIGURE_ARGS+=       --extra-cflags="${CFLAGS}"
@@ -30,29 +30,28 @@ pre-build:
 
 .include "../../mk/bsd.prefs.mk"
 
-PLIST_VARS+=   darwin notdarwin
 .if ${SHLIB_TYPE} == "dylib"
-PLIST.darwin=  yes
 PLIST_SUBST+=  LIBEXT=dylib
 post-install:
        cd ${DESTDIR}${PREFIX} && find lib/gpac -name "*.dylib" | while read lib; do \
                install_name_tool -id ${PREFIX}/$${lib} $${lib}; \
        done
 .else
-PLIST.notdarwin=       yes
 PLIST_SUBST+=          LIBEXT=so
 .endif
 
 .include "options.mk"
+
 .include "../../audio/faad2/buildlink3.mk"
 .include "../../audio/liba52/buildlink3.mk"
 .include "../../audio/libmad/buildlink3.mk"
 .include "../../audio/libvorbis/buildlink3.mk"
 .include "../../devel/zlib/buildlink3.mk"
 .include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
 .include "../../graphics/openjpeg/buildlink3.mk"
 .include "../../graphics/png/buildlink3.mk"
-.include "../../multimedia/ffmpeg4/buildlink3.mk"
+.include "../../multimedia/ffmpeg7/buildlink3.mk"
 .include "../../multimedia/libogg/buildlink3.mk"
 .include "../../multimedia/libtheora/buildlink3.mk"
 .include "../../multimedia/xvidcore/buildlink3.mk"

Index: pkgsrc/multimedia/gpac/PLIST
diff -u pkgsrc/multimedia/gpac/PLIST:1.11 pkgsrc/multimedia/gpac/PLIST:1.12
--- pkgsrc/multimedia/gpac/PLIST:1.11   Fri Sep 17 00:10:21 2021
+++ pkgsrc/multimedia/gpac/PLIST        Fri Oct 31 21:46:23 2025
@@ -1,11 +1,9 @@
-@comment $NetBSD: PLIST,v 1.11 2021/09/17 00:10:21 nia Exp $
+@comment $NetBSD: PLIST,v 1.12 2025/10/31 21:46:23 adam Exp $
 bin/MP4Box
-bin/MP4Client
 bin/gpac
 include/gpac/00_doxy.h
 include/gpac/Remotery.h
 include/gpac/ait.h
-include/gpac/atsc.h
 include/gpac/avparse.h
 include/gpac/base_coding.h
 include/gpac/bifs.h
@@ -63,7 +61,6 @@ include/gpac/modules/codec.h
 include/gpac/modules/compositor_ext.h
 include/gpac/modules/font.h
 include/gpac/modules/hardcoded_proto.h
-include/gpac/modules/ipmp.h
 include/gpac/modules/video_out.h
 include/gpac/mpd.h
 include/gpac/mpeg4_odf.h
@@ -72,9 +69,9 @@ include/gpac/network.h
 include/gpac/nodes_mpeg4.h
 include/gpac/nodes_svg.h
 include/gpac/nodes_x3d.h
-include/gpac/options.h
 include/gpac/path2d.h
 include/gpac/revision.h
+include/gpac/route.h
 include/gpac/rtp_streamer.h
 include/gpac/scene_engine.h
 include/gpac/scene_manager.h
@@ -84,33 +81,27 @@ include/gpac/scenegraph_vrml.h
 include/gpac/setup.h
 include/gpac/svg_types.h
 include/gpac/sync_layer.h
-include/gpac/term_info.h
-include/gpac/terminal.h
 include/gpac/thread.h
 include/gpac/token.h
 include/gpac/tools.h
-include/gpac/user.h
 include/gpac/utf.h
 include/gpac/version.h
 include/gpac/webvtt.h
 include/gpac/xml.h
-lib/gpac/gm_ft_font.${LIBEXT}
 ${PLIST.alsa}lib/gpac/gm_alsa.${LIBEXT}
+lib/gpac/gm_ft_font.${LIBEXT}
 ${PLIST.jack}lib/gpac/gm_jack.${LIBEXT}
 ${PLIST.pulseaudio}lib/gpac/gm_pulseaudio.${LIBEXT}
 lib/gpac/gm_validator.${LIBEXT}
 ${PLIST.x11}lib/gpac/gm_x11_out.${LIBEXT}
-${PLIST.darwin}lib/libgpac.10.1.0.${LIBEXT}
-${PLIST.darwin}lib/libgpac.10.${LIBEXT}
-${PLIST.notdarwin}lib/libgpac.${LIBEXT}.10.1.0
-${PLIST.notdarwin}lib/libgpac.${LIBEXT}.10
-lib/libgpac.${LIBEXT}
+lib/libgpac.so
+lib/libgpac.so.12
+lib/libgpac.so.12.14.0
 lib/libgpac_static.a
 lib/pkgconfig/gpac.pc
 man/man1/gpac-filters.1
 man/man1/gpac.1
 man/man1/mp4box.1
-man/man1/mp4client.1
 share/applications/gpac.desktop
 share/gpac/default.cfg
 share/gpac/gui/extensions/H2B2VS/H2B2VS.png
@@ -124,14 +115,17 @@ share/gpac/gui/extensions/about/init.js
 share/gpac/gui/extensions/bifs_tests/applications-other.svg
 share/gpac/gui/extensions/bifs_tests/bifs_tests.js
 share/gpac/gui/extensions/bifs_tests/init.js
+share/gpac/gui/extensions/dashif/dashif.svg
+share/gpac/gui/extensions/dashif/dashif_tests.js
+share/gpac/gui/extensions/dashif/init.js
 share/gpac/gui/extensions/player/applications-multimedia.svg
 share/gpac/gui/extensions/player/fileopen.js
 share/gpac/gui/extensions/player/init.js
 share/gpac/gui/extensions/player/player.js
 share/gpac/gui/extensions/player/playlist.js
 share/gpac/gui/extensions/player/stats.js
+share/gpac/gui/extensions/showroom/gpac.bt
 share/gpac/gui/extensions/showroom/init.js
-share/gpac/gui/extensions/showroom/osmo.bt
 share/gpac/gui/extensions/showroom/showroom.js
 share/gpac/gui/extensions/widget_manager/applications-system.svg
 share/gpac/gui/extensions/widget_manager/init.js
@@ -143,6 +137,7 @@ share/gpac/gui/icons/app.svg
 share/gpac/gui/icons/audio.svg
 share/gpac/gui/icons/audio_full.svg
 share/gpac/gui/icons/audio_mute.svg
+share/gpac/gui/icons/chapter.svg
 share/gpac/gui/icons/check.svg
 share/gpac/gui/icons/close.svg
 share/gpac/gui/icons/compass.svg
@@ -152,6 +147,7 @@ share/gpac/gui/icons/expand.svg
 share/gpac/gui/icons/file.svg
 share/gpac/gui/icons/film.svg
 share/gpac/gui/icons/folder.svg
+share/gpac/gui/icons/gpac.svg
 share/gpac/gui/icons/harddrive.svg
 share/gpac/gui/icons/heart.svg
 share/gpac/gui/icons/home.svg
@@ -169,7 +165,6 @@ share/gpac/gui/icons/musical.svg
 share/gpac/gui/icons/navigation.svg
 share/gpac/gui/icons/network.svg
 share/gpac/gui/icons/next.svg
-share/gpac/gui/icons/osmo.svg
 share/gpac/gui/icons/overflowing.svg
 share/gpac/gui/icons/pause.svg
 share/gpac/gui/icons/pl_next.svg
@@ -196,11 +191,142 @@ share/gpac/gui/icons/tray.svg
 share/gpac/gui/icons/tv.svg
 share/gpac/gui/icons/up.svg
 share/gpac/gui/icons/world.svg
+share/gpac/python/__init__.py
+share/gpac/python/libgpac/__init__.py
+share/gpac/python/libgpac/libgpac.py
+share/gpac/python/setup.py
+share/gpac/res/gpac.ico
 share/gpac/res/gpac.mp4
 share/gpac/res/gpac.png
 share/gpac/res/gpac_cfg_test.mp4
+share/gpac/res/gpac_highres.png
+share/gpac/scripts/custom_dash.js
+share/gpac/scripts/jsf/avgen/init.js
+share/gpac/scripts/jsf/avgen/testcard.png
+share/gpac/scripts/jsf/avmix/help.js
+share/gpac/scripts/jsf/avmix/init.js
+share/gpac/scripts/jsf/avmix/scenes/clear.js
+share/gpac/scripts/jsf/avmix/scenes/clip.js
+share/gpac/scripts/jsf/avmix/scenes/mask.js
+share/gpac/scripts/jsf/avmix/scenes/shape.js
+share/gpac/scripts/jsf/avmix/transitions/fade.js
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/Bounce.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/BowTieHorizontal.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/BowTieVertical.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/BowTieWithParameter.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/ButterflyWaveScrawler.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/CircleCrop.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/ColourDistance.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/CrazyParametricFun.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/CrossZoom.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/Directional.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/DoomScreenTransition.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/Dreamy.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/DreamyZoom.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/FilmBurn.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/GlitchDisplace.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/GlitchMemories.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/GridFlip.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/InvertedPageCurl.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/LeftRight.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/LinearBlur.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/Mosaic.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/PolkaDotsCurtain.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/Radial.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/SimpleZoom.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/StereoViewer.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/Swirl.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/TVStatic.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/TopBottom.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/WaterDrop.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/ZoomInCircles.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/angular.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/burn.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/cannabisleaf.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/circle.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/circleopen.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/colorphase.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/crosshatch.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/crosswarp.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/cube.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/directional-easing.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/directionalwarp.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/directionalwipe.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/displacement.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/doorway.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/fade.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/fadecolor.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/fadegrayscale.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/flyeye.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/heart.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/hexagonalize.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/kaleidoscope.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/luma.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/luminance_melt.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/morph.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/multiply_blend.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/perlin.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/pinwheel.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/pixelize.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/polar_function.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/randomNoisex.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/randomsquares.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/ripple.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/rotateTransition.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/rotate_scale_fade.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/squareswire.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/squeeze.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/swap.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/tangentMotionBlur.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/undulatingBurnOut.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/wind.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/windowblinds.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/windowslice.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/wipeDown.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/wipeLeft.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/wipeRight.glsl
+share/gpac/scripts/jsf/avmix/transitions/gl-transitions/wipeUp.glsl
+share/gpac/scripts/jsf/avmix/transitions/gltrans.js
+share/gpac/scripts/jsf/avmix/transitions/mix.js
+share/gpac/scripts/jsf/avmix/transitions/swipe.js
+share/gpac/scripts/jsf/glpush.js
+share/gpac/scripts/jsf/thumbs/init.js
+share/gpac/scripts/jsf/uncvg.js
 share/gpac/scripts/ttml-renderer.js
+share/gpac/scripts/vout.js
 share/gpac/scripts/webvtt-renderer.js
 share/gpac/shaders/fragment.glsl
 share/gpac/shaders/vertex.glsl
-share/pixmaps/gpac.png
+share/gpac/vis/Code/Console.js
+share/gpac/vis/Code/DataViewReader.js
+share/gpac/vis/Code/PixelTimeRange.js
+share/gpac/vis/Code/Remotery.js
+share/gpac/vis/Code/SampleWindow.js
+share/gpac/vis/Code/ThreadFrame.js
+share/gpac/vis/Code/TimelineRow.js
+share/gpac/vis/Code/TimelineWindow.js
+share/gpac/vis/Code/TitleWindow.js
+share/gpac/vis/Code/WebSocketConnection.js
+share/gpac/vis/Styles/Remotery.css
+share/gpac/vis/extern/BrowserLib/Core/Code/Animation.js
+share/gpac/vis/extern/BrowserLib/Core/Code/Bind.js
+share/gpac/vis/extern/BrowserLib/Core/Code/Convert.js
+share/gpac/vis/extern/BrowserLib/Core/Code/Core.js
+share/gpac/vis/extern/BrowserLib/Core/Code/DOM.js
+share/gpac/vis/extern/BrowserLib/Core/Code/Keyboard.js
+share/gpac/vis/extern/BrowserLib/Core/Code/LocalStore.js
+share/gpac/vis/extern/BrowserLib/Core/Code/Mouse.js
+share/gpac/vis/extern/BrowserLib/Core/Code/MurmurHash3.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/Button.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/ComboBox.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/Container.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/EditBox.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/Grid.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/Label.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/Treeview.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/TreeviewItem.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/Window.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Code/WindowManager.js
+share/gpac/vis/extern/BrowserLib/WindowManager/Styles/WindowManager.css
+share/gpac/vis/index.html
+share/icons/hicolor/128x128/apps/gpac.png

Index: pkgsrc/multimedia/gpac/distinfo
diff -u pkgsrc/multimedia/gpac/distinfo:1.22 pkgsrc/multimedia/gpac/distinfo:1.23
--- pkgsrc/multimedia/gpac/distinfo:1.22        Fri Dec 15 13:05:53 2023
+++ pkgsrc/multimedia/gpac/distinfo     Fri Oct 31 21:46:23 2025
@@ -1,13 +1,17 @@
-$NetBSD: distinfo,v 1.22 2023/12/15 13:05:53 schmonz Exp $
+$NetBSD: distinfo,v 1.23 2025/10/31 21:46:23 adam Exp $
 
-BLAKE2s (gpac-1.0.1.tar.gz) = 3c143d469b8369ba0c8a3c648fe39fdeddb54703584f5b82cbebb36b84e73230
-SHA512 (gpac-1.0.1.tar.gz) = 533371d59e72250bef315be03ec3437cd66782d0fb6bdb6486a6f4d57d06a6a7deff1b31fe8bfd360be1d1c848b33b5d25e7268f56f27f8e92cbcb7da1aba82b
-Size (gpac-1.0.1.tar.gz) = 10352926 bytes
-SHA1 (patch-Makefile) = 1478bc37c42f8e62dbf44e9dfe2fa988ef68e0b5
-SHA1 (patch-configure) = b76d24b134b7e10c613411f08d8374f0e0202599
+BLAKE2s (gpac-2.4.0.tar.gz) = c1a716c0c390ac7287643fc9f9dbd24d5391dc38e3d745022e6c4cc0126da3ce
+SHA512 (gpac-2.4.0.tar.gz) = 164d8a1ff235413852cc2077b5153c36b094862b61fdda12065bf6810926caabd1a1f6f30b7aac9a5b640f51fe92a6ca911518a424cab7220b635920d95da99f
+Size (gpac-2.4.0.tar.gz) = 9914579 bytes
+SHA1 (patch-Makefile) = e8885294a286920e17fe67222c87846f238be54c
+SHA1 (patch-configure) = f20e315229305cd0f97bb2a11b9e63818b1a533e
 SHA1 (patch-include_gpac_Remotery.h) = 0a8775a6cb7b16e2c5c7b6018c940bf9a049cc31
-SHA1 (patch-src_filter__core_filter__props.c) = 1f9115c90b8ef7516d7cfbd875bb0938c64d8841
+SHA1 (patch-include_gpac_setup.h) = 3dcaa352266ee09d2830ffc2e5a1124372b6c305
+SHA1 (patch-src_filters_ff__dmx.c) = 6199afdf9f005eda38f0bffcc987353d9691266b
+SHA1 (patch-src_filters_in__pipe.c) = 6530ea000158ffa37601796aeffd8486b5db1353
+SHA1 (patch-src_filters_out__pipe.c) = 94877382e6897f01201ed20dc9a94c4411f5ff30
 SHA1 (patch-src_quickjs_cutils.h) = df7662578bf2c727da43dce91d94bc380f6da84d
-SHA1 (patch-src_quickjs_quickjs.c) = 276e3d2dfa51a64bf99795b294bb7e16405a9627
+SHA1 (patch-src_quickjs_quickjs.c) = 4204b5cebf681fc458ca779093d201209894caed
 SHA1 (patch-src_utils_Remotery.c) = dfd01780211bcccfc574c572690241c91d941ce0
 SHA1 (patch-src_utils_os__config__init.c) = 72d815aefdca2096df18bdb310db47a9961ec6d3
+SHA1 (patch-src_utils_os__file.c) = cab3f5fc01f87baf00fe6a7ec2b1c8e1d002bb08

Index: pkgsrc/multimedia/gpac/patches/patch-Makefile
diff -u pkgsrc/multimedia/gpac/patches/patch-Makefile:1.5 pkgsrc/multimedia/gpac/patches/patch-Makefile:1.6
--- pkgsrc/multimedia/gpac/patches/patch-Makefile:1.5   Fri Sep 17 00:10:21 2021
+++ pkgsrc/multimedia/gpac/patches/patch-Makefile       Fri Oct 31 21:46:23 2025
@@ -1,36 +1,43 @@
-$NetBSD: patch-Makefile,v 1.5 2021/09/17 00:10:21 nia Exp $
+$NetBSD: patch-Makefile,v 1.6 2025/10/31 21:46:23 adam Exp $
 
-- Install desktop files on Darwin too.
-- Remove non-standard cp(1) option.
+Install desktop files on Darwin too.
+Remove non-standard cp(1) option.
 
---- Makefile.orig      2020-09-10 16:38:49.000000000 +0000
+--- Makefile.orig      2024-04-17 17:18:21.000000000 +0000
 +++ Makefile
-@@ -156,13 +156,11 @@ endif
-       $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/res/gpac.png $(DESTDIR)$(prefix)/share/gpac/res/
+@@ -148,20 +148,17 @@ endif
+       $(INSTALL) -d "$(DESTDIR)$(prefix)/share/gpac/vis"
        $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/default.cfg $(DESTDIR)$(prefix)/share/gpac/
  
 -ifneq ($(CONFIG_DARWIN),yes)
-       $(INSTALL) -d "$(DESTDIR)$(prefix)/share/pixmaps"
+       $(INSTALL) -d "$(DESTDIR)$(prefix)/share/icons/hicolor/128x128/apps"
        $(INSTALL) -d "$(DESTDIR)$(prefix)/share/applications"
  
-       $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/res/gpac.png "$(DESTDIR)$(prefix)/share/pixmaps/"
+       $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/res/gpac.png "$(DESTDIR)$(prefix)/share/icons/hicolor/128x128/apps/"
        $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/gpac.desktop "$(DESTDIR)$(prefix)/share/applications/"
 -endif
  
        $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/gui/gui.bt "$(DESTDIR)$(prefix)/share/gpac/gui/"
        $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/gui/gui.js "$(DESTDIR)$(prefix)/share/gpac/gui/"
-@@ -171,15 +169,9 @@ endif
-       $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/scripts/ttml-renderer.js "$(DESTDIR)$(prefix)/share/gpac/scripts/"
+       $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/share/gui/gwlib.js "$(DESTDIR)$(prefix)/share/gpac/gui/"
  
  
 -ifeq ($(CONFIG_DARWIN),yes)
        cp $(SRC_PATH)/share/gui/icons/* "$(DESTDIR)$(prefix)/share/gpac/gui/icons/"
        cp -R $(SRC_PATH)/share/gui/extensions/* "$(DESTDIR)$(prefix)/share/gpac/gui/extensions/"
        cp $(SRC_PATH)/share/shaders/* "$(DESTDIR)$(prefix)/share/gpac/shaders/"
+@@ -169,15 +166,6 @@ ifeq ($(CONFIG_DARWIN),yes)
+       cp -R $(SRC_PATH)/share/python/* "$(DESTDIR)$(prefix)/share/gpac/python/"
+       cp $(SRC_PATH)/share/res/* "$(DESTDIR)$(prefix)/share/gpac/res/"
+       cp -R $(SRC_PATH)/share/vis/* "$(DESTDIR)$(prefix)/share/gpac/vis/"
 -else
 -      cp --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/gui/icons/* $(DESTDIR)$(prefix)/share/gpac/gui/icons/
 -      cp -R --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/gui/extensions/* $(DESTDIR)$(prefix)/share/gpac/gui/extensions/
 -      cp --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/shaders/* $(DESTDIR)$(prefix)/share/gpac/shaders/
+-      cp -R --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/scripts/* $(DESTDIR)$(prefix)/share/gpac/scripts/
+-      cp -R --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/python/* $(DESTDIR)$(prefix)/share/gpac/python/
+-      cp --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/res/* $(DESTDIR)$(prefix)/share/gpac/res/
+-      cp -R --no-preserve=mode,ownership,timestamp $(SRC_PATH)/share/vis/* $(DESTDIR)$(prefix)/share/gpac/vis/
 -endif
  
  lninstall:

Index: pkgsrc/multimedia/gpac/patches/patch-configure
diff -u pkgsrc/multimedia/gpac/patches/patch-configure:1.3 pkgsrc/multimedia/gpac/patches/patch-configure:1.4
--- pkgsrc/multimedia/gpac/patches/patch-configure:1.3  Sat Jul 22 13:07:04 2017
+++ pkgsrc/multimedia/gpac/patches/patch-configure      Fri Oct 31 21:46:23 2025
@@ -1,15 +1,15 @@
-$NetBSD: patch-configure,v 1.3 2017/07/22 13:07:04 adam Exp $
+$NetBSD: patch-configure,v 1.4 2025/10/31 21:46:23 adam Exp $
 
 On Darwin, use system libtool.
 
---- configure.orig     2017-07-22 06:56:04.000000000 +0000
+--- configure.orig     2024-04-17 17:18:21.000000000 +0000
 +++ configure
-@@ -2927,7 +2927,7 @@ echo "STRIP=@$strip" >> config.mak
+@@ -2614,7 +2614,7 @@ echo "STRIP=@$strip" >> config.mak
  echo "WINDRES=$windres" >> config.mak
  fi
  echo "INSTALL=$install" >> config.mak
--echo "LIBTOOL=libtool" >> config.mak
-+echo "LIBTOOL=/usr/bin/libtool" >> config.mak
+-echo "LIBTOOL=@libtool" >> config.mak
++echo "LIBTOOL=@/usr/bin/libtool" >> config.mak
  
  echo "INSTFLAGS=$instflags" >> config.mak
  echo "OPTFLAGS=$CFLAGS" >> config.mak

Index: pkgsrc/multimedia/gpac/patches/patch-src_quickjs_quickjs.c
diff -u pkgsrc/multimedia/gpac/patches/patch-src_quickjs_quickjs.c:1.1 pkgsrc/multimedia/gpac/patches/patch-src_quickjs_quickjs.c:1.2
--- pkgsrc/multimedia/gpac/patches/patch-src_quickjs_quickjs.c:1.1      Fri Sep 17 00:10:21 2021
+++ pkgsrc/multimedia/gpac/patches/patch-src_quickjs_quickjs.c  Fri Oct 31 21:46:23 2025
@@ -1,8 +1,8 @@
-$NetBSD: patch-src_quickjs_quickjs.c,v 1.1 2021/09/17 00:10:21 nia Exp $
+$NetBSD: patch-src_quickjs_quickjs.c,v 1.2 2025/10/31 21:46:23 adam Exp $
 
 Add support for NetBSD.
 
---- src/quickjs/quickjs.c.orig 2020-09-10 16:38:49.000000000 +0000
+--- src/quickjs/quickjs.c.orig 2024-04-17 17:18:21.000000000 +0000
 +++ src/quickjs/quickjs.c
 @@ -36,7 +36,7 @@
  #include <math.h>
@@ -11,5 +11,5 @@ Add support for NetBSD.
 -#elif defined(__linux__) || defined(__NX__)
 +#elif defined(__linux__) || defined(__NX__) || defined(__NetBSD__)
  #include <malloc.h>
- #endif
- 
+ #elif defined(__FreeBSD__)
+ #include <malloc_np.h>

Added files:

Index: pkgsrc/multimedia/gpac/patches/patch-include_gpac_setup.h
diff -u /dev/null pkgsrc/multimedia/gpac/patches/patch-include_gpac_setup.h:1.1
--- /dev/null   Fri Oct 31 21:46:23 2025
+++ pkgsrc/multimedia/gpac/patches/patch-include_gpac_setup.h   Fri Oct 31 21:46:23 2025
@@ -0,0 +1,16 @@
+$NetBSD: patch-include_gpac_setup.h,v 1.1 2025/10/31 21:46:23 adam Exp $
+
+Fix build on NetBSD: S_IRUSR and other need _NETBSD_SOURCE=1.
+
+--- include/gpac/setup.h.orig  2025-10-31 21:32:04.742649874 +0000
++++ include/gpac/setup.h
+@@ -312,7 +312,9 @@ char * my_str_lwr(char *str);
+ #include <assert.h>
+ 
+ /*! file descriptor support*/
++#if !defined(__NetBSD__)
+ #define GPAC_HAS_FD
++#endif
+ 
+ #if __APPLE__ && defined GPAC_CONFIG_IOS
+ #include <TargetConditionals.h>
Index: pkgsrc/multimedia/gpac/patches/patch-src_filters_ff__dmx.c
diff -u /dev/null pkgsrc/multimedia/gpac/patches/patch-src_filters_ff__dmx.c:1.1
--- /dev/null   Fri Oct 31 21:46:23 2025
+++ pkgsrc/multimedia/gpac/patches/patch-src_filters_ff__dmx.c  Fri Oct 31 21:46:23 2025
@@ -0,0 +1,80 @@
+$NetBSD: patch-src_filters_ff__dmx.c,v 1.1 2025/10/31 21:46:23 adam Exp $
+
+Fix build issues for FFmpeg 7+
+https://github.com/gpac/gpac/pull/2994
+
+--- src/filters/ff_dmx.c.orig  2024-04-17 17:18:21.000000000 +0000
++++ src/filters/ff_dmx.c
+@@ -2201,7 +2201,6 @@ char *dev_desc = NULL;
+ static void ffavin_enum_devices(const char *dev_name, Bool is_audio)
+ {
+       const AVInputFormat *fmt;
+-      AVFormatContext *ctx;
+ 
+     if (!dev_name) return;
+     fmt = av_find_input_format(dev_name);
+@@ -2210,42 +2209,31 @@ static void ffavin_enum_devices(const ch
+     if (!fmt || !fmt->priv_class || !AV_IS_INPUT_DEVICE(fmt->priv_class->category)) {
+               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);
+                       res = avformat_open_input(&ctx, "dummy", FF_IFMT_CAST fmt, &opts);
+                       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);
+               }
+@@ -2262,7 +2250,6 @@ static void ffavin_enum_devices(const ch
+       }
+ 
+       if (dev_list) avdevice_free_list_devices(&dev_list);
+-      avformat_free_context(ctx);
+ }
+ 
+ static void ffavin_log_none(void *avcl, int level, const char *fmt, va_list vl)
Index: pkgsrc/multimedia/gpac/patches/patch-src_filters_in__pipe.c
diff -u /dev/null pkgsrc/multimedia/gpac/patches/patch-src_filters_in__pipe.c:1.1
--- /dev/null   Fri Oct 31 21:46:23 2025
+++ pkgsrc/multimedia/gpac/patches/patch-src_filters_in__pipe.c Fri Oct 31 21:46:23 2025
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_filters_in__pipe.c,v 1.1 2025/10/31 21:46:23 adam Exp $
+
+Fix build on NetBSD: mkfifo() definition.
+
+--- src/filters/in_pipe.c.orig 2025-10-31 21:34:23.060253666 +0000
++++ src/filters/in_pipe.c
+@@ -39,10 +39,8 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ 
+-#if defined(GPAC_CONFIG_LINUX) || defined(GPAC_CONFIG_EMSCRIPTEN)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#endif
+ 
+ #ifndef __BEOS__
+ #include <errno.h>
Index: pkgsrc/multimedia/gpac/patches/patch-src_filters_out__pipe.c
diff -u /dev/null pkgsrc/multimedia/gpac/patches/patch-src_filters_out__pipe.c:1.1
--- /dev/null   Fri Oct 31 21:46:23 2025
+++ pkgsrc/multimedia/gpac/patches/patch-src_filters_out__pipe.c        Fri Oct 31 21:46:23 2025
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_filters_out__pipe.c,v 1.1 2025/10/31 21:46:23 adam Exp $
+
+Fix build on NetBSD: mkfifo() definition.
+
+--- src/filters/out_pipe.c.orig        2025-10-31 21:36:26.396230916 +0000
++++ src/filters/out_pipe.c
+@@ -38,10 +38,8 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ 
+-#if defined(GPAC_CONFIG_LINUX) || defined(GPAC_CONFIG_EMSCRIPTEN)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#endif
+ 
+ #ifndef __BEOS__
+ #include <errno.h>
Index: pkgsrc/multimedia/gpac/patches/patch-src_utils_os__file.c
diff -u /dev/null pkgsrc/multimedia/gpac/patches/patch-src_utils_os__file.c:1.1
--- /dev/null   Fri Oct 31 21:46:23 2025
+++ pkgsrc/multimedia/gpac/patches/patch-src_utils_os__file.c   Fri Oct 31 21:46:23 2025
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_utils_os__file.c,v 1.1 2025/10/31 21:46:23 adam Exp $
+
+Fix build on NetBSD.
+
+--- src/utils/os_file.c.orig   2025-10-31 21:19:41.207916708 +0000
++++ src/utils/os_file.c
+@@ -1693,6 +1693,9 @@ size_t gf_fread(void *ptr, size_t nbytes
+       return result;
+ }
+ 
++#ifdef __NetBSD__
++#undef gets
++#endif
+ GF_EXPORT
+ char *gf_fgets(char *ptr, size_t size, FILE *stream)
+ {



Home | Main Index | Thread Index | Old Index