git: c7edce06b9d0 - main - devel/asfml: Update to 3.0.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 02 Sep 2026 10:50:39 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=c7edce06b9d03307e9a76758396ad4ebfeb4a335
commit c7edce06b9d03307e9a76758396ad4ebfeb4a335
Author: Alastair Hogge <agh@riseup.net>
AuthorDate: 2026-08-30 08:41:40 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2026-09-02 10:49:38 +0000
devel/asfml: Update to 3.0.0
Update to 3.0.0:
* Assign ada@FreeBSD.org to ${MAINTAINER}
* Clean-up do-build-EXAMPLES-on and do-install-EXAMPLES-on targets
* Drop gmake and rely on GPR tools where possible/convenient
* Explicitly declare all csfml dependencies in ${LIB_DEPENDS}
* Remove ${BROKEN_i386} now that it is correctly reflected in
devel/gprbuild
* Remove hard-coded GNAT-12 version in ${USES}
Changelog: https://github.com/mgrojo/ASFML/releases/tag/v3.0.0
PR: 277643
---
devel/asfml/Makefile | 174 +++++++++--------
devel/asfml/distinfo | 6 +-
devel/asfml/files/asfml.gpr.in | 7 -
devel/asfml/files/patch-examples_example_main.adb | 34 +++-
devel/asfml/files/patch-examples_pong_pong.adb | 18 +-
.../files/patch-examples_renderwindow_main.adb | 18 +-
.../files/patch-examples_renderwindow_unicode.adb | 16 +-
.../files/patch-examples_sound__spatial_main.adb | 11 ++
devel/asfml/pkg-plist | 217 ++++++++++++---------
9 files changed, 286 insertions(+), 215 deletions(-)
diff --git a/devel/asfml/Makefile b/devel/asfml/Makefile
index e4302b861df4..0151ed59f762 100644
--- a/devel/asfml/Makefile
+++ b/devel/asfml/Makefile
@@ -1,119 +1,137 @@
PORTNAME= asfml
DISTVERSIONPREFIX= v
-DISTVERSION= 2.5.5
-PORTREVISION= 2
+DISTVERSION= 3.0.0
CATEGORIES= devel games graphics multimedia
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= ada@FreeBSD.org
COMMENT= Ada bindings to the Simple and Fast Multimedia Library (SFML)
WWW= https://mgrojo.github.io/ASFML/
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE.md
-BROKEN_i386= segfault: raised STORAGE_ERROR : s-intman.adb:136 explicit raise
-
BUILD_DEPENDS= gprbuild>0:devel/gprbuild
-LIB_DEPENDS= libcsfml-system.so:devel/csfml
+LIB_DEPENDS= libcsfml-audio.so:devel/csfml \
+ libcsfml-graphics.so:devel/csfml \
+ libcsfml-network.so:devel/csfml \
+ libcsfml-system.so:devel/csfml \
+ libcsfml-window.so:devel/csfml
-USES= ada:12,run
-USE_GCC= yes:build
+USES= ada:run
USE_GITHUB= yes
GH_ACCOUNT= mgrojo
GH_PROJECT= ${PORTNAME:tu}
-EXTRACT_AFTER_ARGS= --exclude include/generated
-
-SUB_FILES= ${PORTNAME}.gpr
-
-OPTIONS_DEFINE= DEBUG DOCS EXAMPLES
-OPTIONS_SUB= yes
-
-DOCS_DESC= Install API reference documentation
-EXAMPLES_DESC= Build and install Ada SFML examples
-
-EXAMPLES_RUN_DEPENDS+= dejavu>0:x11-fonts/dejavu \
- webfonts>0:x11-fonts/webfonts
-
-EXAMPLES_USES= fonts:fc gl gmake
-EXAMPLES_USE= GL=glu,opengl
-
-_GPR_ARGS= -j${MAKE_JOBS_NUMBER} -p
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MDEBUG}
-_GPR_ARGS+= -XASFML_BUILD_MODE=debug
-.endif
+MAKE_CMD= gprbuild
+
+EXTRACT_AFTER_ARGS= ${_DIST_EXCLUDES:S,^,--exclude ,}
+
+PORTEXAMPLES= *
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+OPTIONS_DEFAULT= CONTRACTS OPTIMIZE RUNTIME STATIC STYLE
+OPTIONS_GROUP= TOOLCHAINCONFIG
+OPTIONS_GROUP_TOOLCHAINCONFIG= CONTRACTS RUNTIME STATIC STYLE
+OPTIONS_SUB= yes
+
+CONTRACTS_DESC= Disable/Enable Pragma asserations and Contracts
+EXAMPLES_DESC= Build and install Ada SFML examples
+RUNTIME_DESC= Disable/Enable runtime checks
+STATIC_DESC= Warn on compile time assertations failing
+STYLE_DESC= Check for style violations during compilation
+TOOLCHAINCONFIG_DESC= Enable/Disable tool-chain static/runtime checking
+
+CONTRACTS_VARS_OFF= _GPR_PROJECT_ARGS+=-XASFML_CONTRACTS=disabled
+EXAMPLES_USES= fonts:fc gl
+EXAMPLES_USE= GL=glu,opengl
+RUNTIME_VARS_OFF= _GPR_PROJECT_ARGS+=-XASFML_RUNTIME_CHECKS=disabled
+STATIC_VARS_OFF= _GPR_PROJECT_ARGS+=-XASFML_COMPILE_CHECKS=disabled
+STYLE_VARS_OFF= _GPR_PROJECT_ARGS+=-XASFML_STYLE_CHECKS=disabled
+
+_ASFML_EXAMPLES= clock example ftp graphics music opengl pong \
+ renderwindow sound sound_spatial soundstream \
+ vertexbuffer vulkan window
+_DATADIR_AUDIO= ${DATADIR}/audio
+_DATADIR_IMAGES= ${DATADIR}/images
+_DIST_EXCLUDES= include/generated tests/thread
+_GPRBUILD_ARGS= ${_GPR_PROJECT_ARGS} -j${MAKE_JOBS_NUMBER} -p -vh -vP2
+_GPRINSTALL_ARGS= ${_GPR_PROJECT_ARGS} --no-manifest \
+ --prefix='${STAGEDIR}${PREFIX}' -p -v
+_GPR_PROJECT_ARGS= -XASFML_BUILD_MODE+=${WITH_DEBUG:Uoptimize:Ddebug}
post-extract:
${MV} ${WRKSRC}/tests \
${WRKSRC}/examples
post-patch:
- ${REINPLACE_CMD} -e 's|%%DATA_AUDIO%%|${DATADIR}/audio/|' \
- -e 's|%%DATA_FONTS%%|${DATADIR}/fonts/|' \
- -e 's|%%DATA_GRAPHICS%%|${DATADIR}/graphics/|' \
- -e 's|%%PREFIX_FONTDIR%%|${FONTSDIR:C/${PORTNAME}//g}|' \
+ ${REINPLACE_CMD} -e 's|%%DATADIR_AUDIO%%|${_DATADIR_AUDIO}|' \
+ -e 's|%%DATADIR_IMAGES%%|${_DATADIR_IMAGES}|' \
+ -e 's|%%FONTSDIR%%|${FONTSDIR}|' \
${WRKSRC}/examples/example/main.adb \
${WRKSRC}/examples/pong/pong.adb \
${WRKSRC}/examples/renderwindow/main.adb \
- ${WRKSRC}/examples/renderwindow/unicode.adb
+ ${WRKSRC}/examples/renderwindow/unicode.adb \
+ ${WRKSRC}/examples/sound_spatial/main.adb
do-build:
(cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} gprbuild ${_GPR_ARGS} -P asfml)
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_GPRBUILD_ARGS} -P \
+ ${PORTNAME})
do-build-EXAMPLES-on:
+. for _example in ${_ASFML_EXAMPLES}
+. if ${_example} == pong
+ (cd ${WRKSRC}/examples && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_GPRBUILD_ARGS} -P \
+ ${_example}/pong)
+. else
(cd ${WRKSRC}/examples && \
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD})
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_GPRBUILD_ARGS} -P \
+ ${_example}/main)
+. endif
+. endfor
do-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/share/gpr
- ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.gpr \
- ${STAGEDIR}${PREFIX}/share/gpr/
- ${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
- ${INSTALL_DATA} ${WRKSRC}/include/*.ad[bs] \
- ${STAGEDIR}${PREFIX}/include/${PORTNAME}
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
- ${INSTALL_DATA} ${WRKSRC}/lib/*.ali \
- ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
- ${INSTALL_DATA} ${WRKSRC}/lib/*.a \
- ${STAGEDIR}${PREFIX}/lib/
+ (cd ${WRKSRC}/ && \
+ ${SETENV} ${MAKE_ENV} gprinstall ${_GPRINSTALL_ARGS} --ali-subdir=libdata/${PORTNAME} \
+ --lib-subdir=lib/${PORTNAME} --sources-subdir=include/${PORTNAME} \
+ -P ${PORTNAME})
do-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc && \
${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
do-install-EXAMPLES-on:
- ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
-.for DEMO in clock example graphics music opengl renderwindow thread window
- ${INSTALL_DATA} ${WRKSRC}/examples/${DEMO}/main.adb \
- ${STAGEDIR}${EXAMPLESDIR}/${DEMO}.adb
- ${INSTALL_PROGRAM} ${WRKSRC}/examples/${DEMO}/main \
- ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${DEMO}
-.if ${DEMO} == renderwindow || ${DEMO} == window
- ${INSTALL_DATA} ${WRKSRC}/examples/${DEMO}/unicode.adb \
- ${STAGEDIR}${EXAMPLESDIR}/${DEMO}-unicode.adb
- ${INSTALL_PROGRAM} ${WRKSRC}/examples/${DEMO}/unicode \
- ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${DEMO}-unicode
-.endif
-.endfor
- ${INSTALL_DATA} ${WRKSRC}/examples/pong/pong.adb \
- ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${WRKSRC}/examples/thread/thread_func.* \
- ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_PROGRAM} ${WRKSRC}/examples/pong/pong \
- ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-pong
- ${MKDIR} ${STAGEDIR}${DATADIR}/audio
- ${INSTALL_DATA} ${WRKSRC}/examples/pong/*.ogg \
- ${STAGEDIR}${DATADIR}/audio
- ${MKDIR} ${STAGEDIR}${DATADIR}/graphics
- ${INSTALL_DATA} ${WRKSRC}/examples/renderwindow/*.png \
- ${STAGEDIR}${DATADIR}/graphics
- ${MKDIR} ${STAGEDIR}${DATADIR}/fonts
- ${INSTALL_DATA} ${WRKSRC}/examples/renderwindow/aerial.ttf \
- ${STAGEDIR}${DATADIR}/fonts
+. for _example in ${_ASFML_EXAMPLES}
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/${_example}
+ ${INSTALL_DATA} ${WRKSRC}/examples/${_example}/*.ad[bs] \
+ ${STAGEDIR}${EXAMPLESDIR}/${_example}
+. if ${_example} == pong
+ ${INSTALL_PROGRAM} ${WRKSRC}/examples/${_example}/pong \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${_example}
+. elif ${_example} == renderwindow
+ ${INSTALL_PROGRAM} ${WRKSRC}/examples/${_example}/main \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${_example}
+ ${INSTALL_PROGRAM} ${WRKSRC}/examples/${_example}/unicode \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${_example}-unicode
+. elif ${_example} == window
+ ${INSTALL_PROGRAM} ${WRKSRC}/examples/${_example}/main \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${_example}
+ ${INSTALL_PROGRAM} ${WRKSRC}/examples/${_example}/unicode \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${_example}-unicode
+. else
+ ${INSTALL_PROGRAM} ${WRKSRC}/examples/${_example}/main \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-example-${_example}
+. endif
+. endfor
+ ${MKDIR} ${STAGEDIR}${_DATADIR_AUDIO}
+ ${FIND} ${WRKSRC}/examples/ -type f -name *.ogg -exec ${INSTALL_DATA} \
+ {} ${STAGEDIR}${_DATADIR_AUDIO} \;
+ ${MKDIR} ${STAGEDIR}${_DATADIR_IMAGES}
+ ${FIND} ${WRKSRC}/ -type f -name *.png -exec ${INSTALL_DATA} {} ${STAGEDIR}${_DATADIR_IMAGES} \
+ \;
+ ${MKDIR} ${STAGEDIR}${FONTSDIR}
+ ${FIND} ${WRKSRC}/examples/ -type f -name *.ttf -exec ${INSTALL_DATA} \
+ {} ${STAGEDIR}${FONTSDIR} \;
.include <bsd.port.mk>
diff --git a/devel/asfml/distinfo b/devel/asfml/distinfo
index 89155a8a8410..333813495d77 100644
--- a/devel/asfml/distinfo
+++ b/devel/asfml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1696916674
-SHA256 (mgrojo-ASFML-v2.5.5_GH0.tar.gz) = ae2d7878de13a5d9c95068ac824554977d421ec6ffc5ffd5f3cc004d8c317d3f
-SIZE (mgrojo-ASFML-v2.5.5_GH0.tar.gz) = 1378542
+TIMESTAMP = 1787627722
+SHA256 (mgrojo-ASFML-v3.0.0_GH0.tar.gz) = a6e3226585acb038e9f04d50efe7aeb00455d4b6d4bd5d1c42a692ae76244efc
+SIZE (mgrojo-ASFML-v3.0.0_GH0.tar.gz) = 1620180
diff --git a/devel/asfml/files/asfml.gpr.in b/devel/asfml/files/asfml.gpr.in
deleted file mode 100644
index 785d8ac129a9..000000000000
--- a/devel/asfml/files/asfml.gpr.in
+++ /dev/null
@@ -1,7 +0,0 @@
-library project ASFML is
- for Externally_Built use "true";
- for Library_Dir use ("../../lib/asfml");
- for Library_Kind use "static";
- for Library_Name use "asfml";
- for Source_Dirs use ("../../include/asfml");
-end ASFML
diff --git a/devel/asfml/files/patch-examples_example_main.adb b/devel/asfml/files/patch-examples_example_main.adb
index 3c992d4d94e5..8e208de745f5 100644
--- a/devel/asfml/files/patch-examples_example_main.adb
+++ b/devel/asfml/files/patch-examples_example_main.adb
@@ -1,11 +1,29 @@
---- examples/example/main.adb.orig 2023-10-21 00:37:05 UTC
+--- examples/example/main.adb.orig 2026-08-26 00:17:49 UTC
+++ examples/example/main.adb
-@@ -41,7 +41,7 @@ begin
- setTexture(Sprite, Texture, sfTrue);
+@@ -41,7 +41,7 @@ Resources: begin
+ Window := create(Mode, "SFML window");
- -- Create a graphical text to display
-- Font := createFromFile("arial.ttf");
-+ Font := createFromFile("%%PREFIX_FONTDIR%%webfonts/arial.ttf");
+ -- Load a sprite to display
+- Texture := createFromFile("../../images/ASFML_Logo.png");
++ Texture := createFromFile("%%DATADIR_IMAGES%%/ASFML_Logo.png");
- Text := create;
- setString(Text, "Hello SFML");
+ if Texture = null then
+ raise Resource_Unavailable;
+@@ -51,7 +51,7 @@ Resources: begin
+ setPosition(Sprite, (x => 200.0, y => 200.0));
+
+ -- Create a graphical text to display
+- Font := createFromFile("../tuffy.ttf");
++ Font := createFromFile("%%FONTSDIR%%/tuffy.ttf");
+
+ if Font = null then
+ raise Resource_Unavailable;
+@@ -63,7 +63,7 @@ Resources: begin
+ setCharacterSize(Text, 50);
+
+ -- Load a music file to play
+- Music := createFromFile("../doodle_pop.ogg");
++ Music := createFromFile("%%DATADIR_AUDIO%%/doodle_pop.ogg");
+
+ if Music = null then
+ raise Resource_Unavailable;
diff --git a/devel/asfml/files/patch-examples_pong_pong.adb b/devel/asfml/files/patch-examples_pong_pong.adb
index 74f6ff5055f7..9f5b35907122 100644
--- a/devel/asfml/files/patch-examples_pong_pong.adb
+++ b/devel/asfml/files/patch-examples_pong_pong.adb
@@ -1,20 +1,20 @@
---- examples/pong/pong.adb.orig 2023-10-21 00:38:34 UTC
+--- examples/pong/pong.adb.orig 2026-08-26 00:15:15 UTC
+++ examples/pong/pong.adb
-@@ -42,7 +42,7 @@ begin
- Reset (Gen);
- Win := RenderWindow.Create(mode => (GameWidth, GameHeight, 32), title => "Ada SFML Pong");
+@@ -44,7 +44,7 @@ begin
+ (mode => (size => (GameWidth, GameHeight), bitsPerPixel => 32),
+ title => "Ada SFML Pong");
RenderWindow.SetVerticalSyncEnabled(Win, sfTrue);
- BallSoundBuffer := SoundBuffer.CreateFromFile("ping_pong_8bit_beeep.ogg");
-+ BallSoundBuffer := SoundBuffer.CreateFromFile("%%DATA_AUDIO%%ping_pong_8bit_beeep.ogg");
- BallSound := Sound.Create;
- Sound.SetBuffer(BallSound, BallSoundBuffer);
++ BallSoundBuffer := SoundBuffer.CreateFromFile("%%DATADIR_AUDIO%%/ping_pong_8bit_beeep.ogg");
+ BallSound := Sound.Create (BallSoundBuffer);
LeftPaddle := RectangleShape.Create;
-@@ -65,7 +65,7 @@ begin
+
+@@ -66,7 +66,7 @@ begin
CircleShape.setOutlineColor (Ball, Color.sfBlack);
CircleShape.setFillColor (Ball, Color.sfWhite);
CircleShape.setOrigin (Ball, (0.5 * BallRadius, 0.5 * BallRadius));
- GameFont := Font.CreateFromFile("../renderwindow/aerial.ttf");
-+ GameFont := Font.CreateFromFile("%%DATA_FONTS%%aerial.ttf");
++ GameFont := Font.CreateFromFile("%%FONTSDIR%%/aerial.ttf");
GameMessage := Text.Create;
Text.setFont (GameMessage, GameFont);
Text.setCharacterSize (GameMessage, 30);
diff --git a/devel/asfml/files/patch-examples_renderwindow_main.adb b/devel/asfml/files/patch-examples_renderwindow_main.adb
index d42844b67213..b4f37383e9f7 100644
--- a/devel/asfml/files/patch-examples_renderwindow_main.adb
+++ b/devel/asfml/files/patch-examples_renderwindow_main.adb
@@ -1,27 +1,27 @@
---- examples/renderwindow/main.adb.orig 2023-10-21 00:40:13 UTC
+--- examples/renderwindow/main.adb.orig 2026-08-26 00:11:42 UTC
+++ examples/renderwindow/main.adb
@@ -33,13 +33,13 @@ begin
begin
-- Img := CreateFromFile ("logo.png");
-+ Img := CreateFromFile ("%%DATA_GRAPHICS%%logo.png");
+- Img := CreateFromFile ("../../images/ASFML_Logo.png");
++ Img := CreateFromFile ("%%DATADIR_IMAGES%%/ASFML_Logo.png");
if Img = null then
Put_Line ("Could not open image");
return;
end if;
-- Icon := CreateFromFile ("sfml-icon.png");
-+ Icon := CreateFromFile ("%%DATA_GRAPHICS%%sfml-icon.png");
+- Icon := CreateFromFile ("../../images/sfml-icon.png");
++ Icon := CreateFromFile ("%%DATADIR_IMAGES%%/sfml-icon.png");
if Icon = null then
Put_Line ("Could not open icon");
Destroy (Img);
-@@ -58,7 +58,7 @@ begin
- y => Float (sfUint32 (Mode.Height) / 2 - GetSize (Img).y / 2)));
- --sfSprite_SetBlendMode (Sprite, sfBlendAlpha);
+@@ -56,7 +56,7 @@ begin
+ (x => Float (sfUint32 (Mode.size.x) / 2 - GetSize (Img).x / 2),
+ y => Float (sfUint32 (Mode.size.y) / 2 - GetSize (Img).y / 2)));
- Font := CreateFromFile("aerial.ttf");
-+ Font := CreateFromFile("%%DATA_FONTS%%aerial.ttf");
++ Font := CreateFromFile("%%FONTSDIR%%/aerial.ttf");
if Font = null then
Put_Line ("Could not get font");
Destroy (Sprite);
diff --git a/devel/asfml/files/patch-examples_renderwindow_unicode.adb b/devel/asfml/files/patch-examples_renderwindow_unicode.adb
index 988a8750d349..167e3472f1b4 100644
--- a/devel/asfml/files/patch-examples_renderwindow_unicode.adb
+++ b/devel/asfml/files/patch-examples_renderwindow_unicode.adb
@@ -1,27 +1,27 @@
---- examples/renderwindow/unicode.adb.orig 2023-10-21 00:41:27 UTC
+--- examples/renderwindow/unicode.adb.orig 2026-08-26 00:13:05 UTC
+++ examples/renderwindow/unicode.adb
@@ -35,13 +35,13 @@ begin
begin
-- Img := CreateFromFile ("logo.png");
-+ Img := CreateFromFile ("%%DATA_GRAPHICS%%logo.png");
+- Img := CreateFromFile ("../../images/ASFML_Logo.png");
++ Img := CreateFromFile ("%%DATADIR_IMAGES%%/ASFML_Logo.png");
if Img = null then
Put_Line ("Could not open image");
return;
end if;
-- Icon := CreateFromFile ("sfml-icon.png");
-+ Icon := CreateFromFile ("%%DATA_GRAPHICS%%sfml-icon.png");
+- Icon := CreateFromFile ("../../images/sfml-icon.png");
++ Icon := CreateFromFile ("%%DATADIR_IMAGES%%/sfml-icon.png");
if Icon = null then
Put_Line ("Could not open icon");
Destroy (Img);
@@ -59,7 +59,7 @@ begin
- (x => Float (sfUint32 (Mode.Width) / 2 - GetSize (Img).x / 2),
- y => Float (sfUint32 (Mode.Height) / 2 - GetSize (Img).y / 2)));
+ (x => Float (sfUint32 (Mode.size.x) / 2 - GetSize (Img).x / 2),
+ y => Float (sfUint32 (Mode.size.y) / 2 - GetSize (Img).y / 2)));
- Font := CreateFromFile("DejaVuSans.ttf");
-+ Font := CreateFromFile("%%PREFIX_FONTDIR%%dejavu/DejaVuSans.ttf");
++ Font := CreateFromFile("%%FONTSDIR%%/DejaVuSans.ttf");
if Font = null then
Put_Line ("Could not get font");
Destroy (Sprite);
diff --git a/devel/asfml/files/patch-examples_sound__spatial_main.adb b/devel/asfml/files/patch-examples_sound__spatial_main.adb
new file mode 100644
index 000000000000..13419e37e980
--- /dev/null
+++ b/devel/asfml/files/patch-examples_sound__spatial_main.adb
@@ -0,0 +1,11 @@
+--- examples/sound_spatial/main.adb.orig 2026-08-26 00:03:55 UTC
++++ examples/sound_spatial/main.adb
+@@ -23,7 +23,7 @@ procedure Main is
+ use type Sf.Audio.sfSoundBuffer_Ptr;
+ use type Sf.Audio.sfSound_Ptr;
+
+- Buffer_Path : constant String := "../doodle_pop.ogg";
++ Buffer_Path : constant String := "%%DATADIR_AUDIO%%/doodle_pop.ogg";
+ Buffer : Sf.Audio.sfSoundBuffer_Ptr := Sound_Buffer.createFromFile (Buffer_Path);
+ The_Sound : Sf.Audio.sfSound_Ptr;
+ Spatial_Cone : constant Cone.sfSoundSourceCone :=
diff --git a/devel/asfml/pkg-plist b/devel/asfml/pkg-plist
index 4f017cb27394..8ec1ab74f66a 100644
--- a/devel/asfml/pkg-plist
+++ b/devel/asfml/pkg-plist
@@ -1,14 +1,20 @@
%%EXAMPLES%%bin/asfml-example-clock
%%EXAMPLES%%bin/asfml-example-example
+%%EXAMPLES%%bin/asfml-example-ftp
%%EXAMPLES%%bin/asfml-example-graphics
%%EXAMPLES%%bin/asfml-example-music
%%EXAMPLES%%bin/asfml-example-opengl
%%EXAMPLES%%bin/asfml-example-pong
%%EXAMPLES%%bin/asfml-example-renderwindow
%%EXAMPLES%%bin/asfml-example-renderwindow-unicode
-%%EXAMPLES%%bin/asfml-example-thread
+%%EXAMPLES%%bin/asfml-example-sound
+%%EXAMPLES%%bin/asfml-example-sound_spatial
+%%EXAMPLES%%bin/asfml-example-soundstream
+%%EXAMPLES%%bin/asfml-example-vertexbuffer
+%%EXAMPLES%%bin/asfml-example-vulkan
%%EXAMPLES%%bin/asfml-example-window
%%EXAMPLES%%bin/asfml-example-window-unicode
+include/asfml/sf-audio-effectprocessor.ads
include/asfml/sf-audio-listener.ads
include/asfml/sf-audio-music.adb
include/asfml/sf-audio-music.ads
@@ -17,8 +23,10 @@ include/asfml/sf-audio-soundbuffer.adb
include/asfml/sf-audio-soundbuffer.ads
include/asfml/sf-audio-soundbufferrecorder.adb
include/asfml/sf-audio-soundbufferrecorder.ads
+include/asfml/sf-audio-soundchannel.ads
include/asfml/sf-audio-soundrecorder.adb
include/asfml/sf-audio-soundrecorder.ads
+include/asfml/sf-audio-soundsourcecone.ads
include/asfml/sf-audio-soundstatus.ads
include/asfml/sf-audio-soundstream.ads
include/asfml/sf-audio.ads
@@ -69,12 +77,11 @@ include/asfml/sf-network-tcplistener.ads
include/asfml/sf-network-tcpsocket.ads
include/asfml/sf-network-udpsocket.ads
include/asfml/sf-network.ads
+include/asfml/sf-system-buffer.ads
include/asfml/sf-system-clock.ads
include/asfml/sf-system-inputstream.ads
-include/asfml/sf-system-mutex.ads
include/asfml/sf-system-sleep.adb
include/asfml/sf-system-sleep.ads
-include/asfml/sf-system-thread.ads
include/asfml/sf-system-time.ads
include/asfml/sf-system-vector2.ads
include/asfml/sf-system-vector3.ads
@@ -89,94 +96,105 @@ include/asfml/sf-window-gl.ads
include/asfml/sf-window-glu.ads
include/asfml/sf-window-joystick.ads
include/asfml/sf-window-joystickidentification.ads
+include/asfml/sf-window-keyboard.adb
include/asfml/sf-window-keyboard.ads
include/asfml/sf-window-mouse.ads
include/asfml/sf-window-sensor.ads
include/asfml/sf-window-touch.ads
include/asfml/sf-window-videomode.ads
+include/asfml/sf-window-vulkan.adb
+include/asfml/sf-window-vulkan.ads
include/asfml/sf-window-window.adb
include/asfml/sf-window-window.ads
+include/asfml/sf-window-windowbase.adb
+include/asfml/sf-window-windowbase.ads
include/asfml/sf-window-windowhandle.ads
include/asfml/sf-window.ads
include/asfml/sf.ads
-lib/asfml/sf-audio-listener.ali
-lib/asfml/sf-audio-music.ali
-lib/asfml/sf-audio-sound.ali
-lib/asfml/sf-audio-soundbuffer.ali
-lib/asfml/sf-audio-soundbufferrecorder.ali
-lib/asfml/sf-audio-soundrecorder.ali
-lib/asfml/sf-audio-soundstatus.ali
-lib/asfml/sf-audio-soundstream.ali
-lib/asfml/sf-audio.ali
-lib/asfml/sf-graphics-blendmode.ali
-lib/asfml/sf-graphics-circleshape.ali
-lib/asfml/sf-graphics-color.ali
-lib/asfml/sf-graphics-convexshape.ali
-lib/asfml/sf-graphics-font.ali
-lib/asfml/sf-graphics-fontinfo.ali
-lib/asfml/sf-graphics-glsl.ali
-lib/asfml/sf-graphics-glyph.ali
-lib/asfml/sf-graphics-image.ali
-lib/asfml/sf-graphics-primitivetype.ali
-lib/asfml/sf-graphics-rect.ali
-lib/asfml/sf-graphics-rectangleshape.ali
-lib/asfml/sf-graphics-renderstates.ali
-lib/asfml/sf-graphics-rendertexture.ali
-lib/asfml/sf-graphics-renderwindow.ali
-lib/asfml/sf-graphics-shader.ali
-lib/asfml/sf-graphics-shape.ali
-lib/asfml/sf-graphics-sprite.ali
-lib/asfml/sf-graphics-text.ali
-lib/asfml/sf-graphics-texture.ali
-lib/asfml/sf-graphics-transform.ali
-lib/asfml/sf-graphics-transformable.ali
-lib/asfml/sf-graphics-vertex.ali
-lib/asfml/sf-graphics-vertexarray.ali
-lib/asfml/sf-graphics-vertexbuffer.ali
-lib/asfml/sf-graphics-view.ali
-lib/asfml/sf-graphics.ali
-lib/asfml/sf-network-ftp.ali
-lib/asfml/sf-network-http.ali
-lib/asfml/sf-network-ipaddress.ali
-lib/asfml/sf-network-packet.ali
-lib/asfml/sf-network-socketselector.ali
-lib/asfml/sf-network-socketstatus.ali
-lib/asfml/sf-network-tcplistener.ali
-lib/asfml/sf-network-tcpsocket.ali
-lib/asfml/sf-network-udpsocket.ali
-lib/asfml/sf-network.ali
-lib/asfml/sf-system-clock.ali
-lib/asfml/sf-system-inputstream.ali
-lib/asfml/sf-system-mutex.ali
-lib/asfml/sf-system-sleep.ali
-lib/asfml/sf-system-thread.ali
-lib/asfml/sf-system-time.ali
-lib/asfml/sf-system-vector2.ali
-lib/asfml/sf-system-vector3.ali
-lib/asfml/sf-system.ali
-lib/asfml/sf-window-clipboard.ali
-lib/asfml/sf-window-context.ali
-lib/asfml/sf-window-cursor.ali
-lib/asfml/sf-window-event.ali
-lib/asfml/sf-window-gl.ali
-lib/asfml/sf-window-glu.ali
-lib/asfml/sf-window-joystick.ali
-lib/asfml/sf-window-joystickidentification.ali
-lib/asfml/sf-window-keyboard.ali
-lib/asfml/sf-window-mouse.ali
-lib/asfml/sf-window-sensor.ali
-lib/asfml/sf-window-touch.ali
-lib/asfml/sf-window-videomode.ali
-lib/asfml/sf-window-window.ali
-lib/asfml/sf-window-windowhandle.ali
-lib/asfml/sf-window.ali
-lib/asfml/sf.ali
-lib/libasfml.a
+lib/asfml/libasfml.a
+libdata/asfml/sf-audio-effectprocessor.ali
+libdata/asfml/sf-audio-listener.ali
+libdata/asfml/sf-audio-music.ali
+libdata/asfml/sf-audio-sound.ali
+libdata/asfml/sf-audio-soundbuffer.ali
+libdata/asfml/sf-audio-soundbufferrecorder.ali
+libdata/asfml/sf-audio-soundchannel.ali
+libdata/asfml/sf-audio-soundrecorder.ali
+libdata/asfml/sf-audio-soundsourcecone.ali
+libdata/asfml/sf-audio-soundstatus.ali
+libdata/asfml/sf-audio-soundstream.ali
+libdata/asfml/sf-audio.ali
+libdata/asfml/sf-graphics-blendmode.ali
+libdata/asfml/sf-graphics-circleshape.ali
+libdata/asfml/sf-graphics-color.ali
+libdata/asfml/sf-graphics-convexshape.ali
+libdata/asfml/sf-graphics-font.ali
+libdata/asfml/sf-graphics-fontinfo.ali
+libdata/asfml/sf-graphics-glsl.ali
+libdata/asfml/sf-graphics-glyph.ali
+libdata/asfml/sf-graphics-image.ali
+libdata/asfml/sf-graphics-primitivetype.ali
+libdata/asfml/sf-graphics-rect.ali
+libdata/asfml/sf-graphics-rectangleshape.ali
+libdata/asfml/sf-graphics-renderstates.ali
+libdata/asfml/sf-graphics-rendertexture.ali
+libdata/asfml/sf-graphics-renderwindow.ali
+libdata/asfml/sf-graphics-shader.ali
+libdata/asfml/sf-graphics-shape.ali
+libdata/asfml/sf-graphics-sprite.ali
+libdata/asfml/sf-graphics-text.ali
+libdata/asfml/sf-graphics-texture.ali
+libdata/asfml/sf-graphics-transform.ali
+libdata/asfml/sf-graphics-transformable.ali
+libdata/asfml/sf-graphics-vertex.ali
+libdata/asfml/sf-graphics-vertexarray.ali
+libdata/asfml/sf-graphics-vertexbuffer.ali
+libdata/asfml/sf-graphics-view.ali
+libdata/asfml/sf-graphics.ali
+libdata/asfml/sf-network-ftp.ali
+libdata/asfml/sf-network-http.ali
+libdata/asfml/sf-network-ipaddress.ali
+libdata/asfml/sf-network-packet.ali
+libdata/asfml/sf-network-socketselector.ali
+libdata/asfml/sf-network-socketstatus.ali
+libdata/asfml/sf-network-tcplistener.ali
+libdata/asfml/sf-network-tcpsocket.ali
+libdata/asfml/sf-network-udpsocket.ali
+libdata/asfml/sf-network.ali
+libdata/asfml/sf-system-buffer.ali
+libdata/asfml/sf-system-clock.ali
+libdata/asfml/sf-system-inputstream.ali
+libdata/asfml/sf-system-sleep.ali
+libdata/asfml/sf-system-time.ali
+libdata/asfml/sf-system-vector2.ali
+libdata/asfml/sf-system-vector3.ali
+libdata/asfml/sf-system.ali
+libdata/asfml/sf-window-clipboard.ali
+libdata/asfml/sf-window-context.ali
+libdata/asfml/sf-window-cursor.ali
+libdata/asfml/sf-window-event.ali
+libdata/asfml/sf-window-gl.ali
+libdata/asfml/sf-window-glu.ali
+libdata/asfml/sf-window-joystick.ali
+libdata/asfml/sf-window-joystickidentification.ali
+libdata/asfml/sf-window-keyboard.ali
+libdata/asfml/sf-window-mouse.ali
+libdata/asfml/sf-window-sensor.ali
+libdata/asfml/sf-window-touch.ali
+libdata/asfml/sf-window-videomode.ali
+libdata/asfml/sf-window-vulkan.ali
+libdata/asfml/sf-window-window.ali
+libdata/asfml/sf-window-windowbase.ali
+libdata/asfml/sf-window-windowhandle.ali
+libdata/asfml/sf-window.ali
+libdata/asfml/sf.ali
%%DOCS%%%%DOCSDIR%%/blank.html
%%DOCS%%%%DOCSDIR%%/docs/sf___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__audio___spec.js
+%%DOCS%%%%DOCSDIR%%/docs/sf__audio__effectprocessor___spec.html
+%%DOCS%%%%DOCSDIR%%/docs/sf__audio__effectprocessor___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__listener___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__listener___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__music___spec.html
@@ -187,8 +205,12 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundbuffer___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundbufferrecorder___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundbufferrecorder___spec.js
+%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundchannel___spec.html
+%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundchannel___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundrecorder___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundrecorder___spec.js
+%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundsourcecone___spec.html
+%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundsourcecone___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundstatus___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundstatus___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__audio__soundstream___spec.html
@@ -283,6 +305,8 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/docs/sf__network__udpsocket___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__system___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__system___spec.js
+%%DOCS%%%%DOCSDIR%%/docs/sf__system__buffer___spec.html
+%%DOCS%%%%DOCSDIR%%/docs/sf__system__buffer___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__system__clock___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__system__clock___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__system__inputstream___spec.html
@@ -327,8 +351,12 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/docs/sf__window__touch___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__window__videomode___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__window__videomode___spec.js
+%%DOCS%%%%DOCSDIR%%/docs/sf__window__vulkan___spec.html
+%%DOCS%%%%DOCSDIR%%/docs/sf__window__vulkan___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__window__window___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__window__window___spec.js
+%%DOCS%%%%DOCSDIR%%/docs/sf__window__windowbase___spec.html
+%%DOCS%%%%DOCSDIR%%/docs/sf__window__windowbase___spec.js
%%DOCS%%%%DOCSDIR%%/docs/sf__window__windowhandle___spec.html
%%DOCS%%%%DOCSDIR%%/docs/sf__window__windowhandle___spec.js
%%DOCS%%%%DOCSDIR%%/documentation_index.js
@@ -353,6 +381,8 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/inheritance_index.html
%%DOCS%%%%DOCSDIR%%/inheritance_index.js
%%DOCS%%%%DOCSDIR%%/source_file_index.js
+%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-effectprocessor.ads.html
+%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-effectprocessor.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-listener.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-listener.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-music.ads.html
@@ -363,8 +393,12 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundbuffer.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundbufferrecorder.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundbufferrecorder.ads.js
+%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundchannel.ads.html
+%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundchannel.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundrecorder.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundrecorder.ads.js
+%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundsourcecone.ads.html
+%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundsourcecone.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundstatus.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundstatus.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-audio-soundstream.ads.html
@@ -445,6 +479,8 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/srcs/sf-network-udpsocket.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-network.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-network.ads.js
+%%DOCS%%%%DOCSDIR%%/srcs/sf-system-buffer.ads.html
+%%DOCS%%%%DOCSDIR%%/srcs/sf-system-buffer.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-system-clock.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-system-clock.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-system-inputstream.ads.html
@@ -489,30 +525,25 @@ lib/libasfml.a
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-touch.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-videomode.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-videomode.ads.js
+%%DOCS%%%%DOCSDIR%%/srcs/sf-window-vulkan.ads.html
+%%DOCS%%%%DOCSDIR%%/srcs/sf-window-vulkan.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-window.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-window.ads.js
+%%DOCS%%%%DOCSDIR%%/srcs/sf-window-windowbase.ads.html
+%%DOCS%%%%DOCSDIR%%/srcs/sf-window-windowbase.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-windowhandle.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-window-windowhandle.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf-window.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf-window.ads.js
%%DOCS%%%%DOCSDIR%%/srcs/sf.ads.html
%%DOCS%%%%DOCSDIR%%/srcs/sf.ads.js
+%%EXAMPLES%%%%DATADIR%%/audio/doodle_pop.ogg
%%EXAMPLES%%%%DATADIR%%/audio/ping_pong_8bit_beeep.ogg
-%%EXAMPLES%%%%DATADIR%%/fonts/aerial.ttf
-%%EXAMPLES%%%%DATADIR%%/graphics/icon64x64.png
-%%EXAMPLES%%%%DATADIR%%/graphics/logo.png
-%%EXAMPLES%%%%DATADIR%%/graphics/sfml-icon.png
-%%EXAMPLES%%%%EXAMPLESDIR%%/clock.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/example.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/graphics.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/music.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/opengl.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/pong.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/renderwindow-unicode.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/renderwindow.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/thread.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/thread_func.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/thread_func.ads
-%%EXAMPLES%%%%EXAMPLESDIR%%/window-unicode.adb
-%%EXAMPLES%%%%EXAMPLESDIR%%/window.adb
+%%EXAMPLES%%%%DATADIR%%/images/ASFML_Logo.png
+%%EXAMPLES%%%%DATADIR%%/images/icon64x64.png
+%%EXAMPLES%%%%DATADIR%%/images/logo.png
+%%EXAMPLES%%%%DATADIR%%/images/sfml-icon.png
+%%EXAMPLES%%%%FONTSDIR%%/DejaVuSans.ttf
+%%EXAMPLES%%%%FONTSDIR%%/aerial.ttf
+%%EXAMPLES%%%%FONTSDIR%%/tuffy.ttf
share/gpr/asfml.gpr