# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= sfml VERSION= 3.0.2 KEYWORDS= devel multimedia VARIANTS= std SDESC[std]= Simple Fast Multimedia Library HOMEPAGE= https://www.sfml-dev.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= GITHUB/SFML:SFML:3.0.2 DISTFILE[1]= generated:main DF_INDEX= 1 SPKGS[std]= set primary dev OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= openal:dev:std libvorbis:dev:std flac:dev:std libglvnd:dev:std BUILDRUN_DEPENDS= flac:primary:std libvorbis:primary:std libglvnd:primary:std openal:primary:std EXRUN[dev]= flac:dev:std openal:dev:std libvorbis:dev:std USES= cmake jpeg freetype XORG_COMPONENTS= x11 xrandr xcursor xi LICENSE= ZLIB:primary LICENSE_FILE= ZLIB:{{WRKSRC}}/license.md LICENSE_SCHEME= solo FPC_EQUIVALENT= devel/sfml SOVERSION= 3.0.2 PLIST_SUB= SOMINOR=0 CMAKE_ARGS= -DSFML_USE_SYSTEM_DEPS:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DWARNINGS_AS_ERRORS=FALSE -DSFML_INSTALL_PKGCONFIG_FILES:BOOL=ON pre-configure-netbsd: ${REINPLACE_CMD} 's|SFML_SYSTEM_OPENBSD|SFML_SYSTEM_NETBSD|' \ ${WRKSRC}/src/SFML/Window/CursorImpl.hpp \ ${WRKSRC}/src/SFML/Window/GlContext.cpp \ ${WRKSRC}/src/SFML/Window/SensorImpl.hpp \ ${WRKSRC}/src/SFML/Window/WindowImpl.cpp \ ${WRKSRC}/src/SFML/Window/InputImpl.hpp \ ${WRKSRC}/src/SFML/Window/ClipboardImpl.hpp \ ${WRKSRC}/include/SFML/OpenGL.hpp \ ${WRKSRC}/include/SFML/Window/WindowHandle.hpp pre-configure-midnightbsd: ${REINPLACE_CMD} 's|FreeBSD|MidnightBSD|' \ ${WRKSRC}/include/SFML/Window/WindowHandle.hpp \ ${WRKSRC}/include/SFML/Config.hpp post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so ${RM} -r ${STAGEDIR}${PREFIX}/share/doc pre-configure-dragonfly: ${REINPLACE_CMD} 's|FreeBSD|DragonFly|' \ ${WRKSRC}/include/SFML/Window/WindowHandle.hpp \ ${WRKSRC}/include/SFML/Config.hpp ${REINPLACE_CMD} 's|dev/usb/usbhid.h|bus/u4b/usbhid.h|' \ ${WRKSRC}/src/SFML/Window/FreeBSD/JoystickImpl.hpp [FILE:357:descriptions/desc.primary] SFML is a portable and easy to use multimedia API written in C++. You can see it as a modern, object-oriented alternative to SDL. SFML is composed of several packages to perfectly suit your needs. You can use SFML as a minimal windowing system to interface with OpenGL, or as a fully-featured multimedia library for building games or interactive programs. [FILE:101:distinfo] 0034e05f95509e5d3fb81b1625713e06da7b068f210288ce3fd67106f8f46995 4387818 SFML-SFML-3.0.2.tar.gz [FILE:389:manifests/plist.primary] lib/ libsfml-audio.so.%%SOMAJOR%%.%%SOMINOR%% libsfml-audio.so.%%SOVERSION%% libsfml-graphics.so.%%SOMAJOR%%.%%SOMINOR%% libsfml-graphics.so.%%SOVERSION%% libsfml-network.so.%%SOMAJOR%%.%%SOMINOR%% libsfml-network.so.%%SOVERSION%% libsfml-system.so.%%SOMAJOR%%.%%SOMINOR%% libsfml-system.so.%%SOVERSION%% libsfml-window.so.%%SOMAJOR%%.%%SOMINOR%% libsfml-window.so.%%SOVERSION%% [FILE:2598:manifests/plist.dev] include/SFML/ Audio.hpp Config.hpp GpuPreference.hpp Graphics.hpp Main.hpp Network.hpp OpenGL.hpp System.hpp Window.hpp include/SFML/Audio/ AudioResource.hpp Export.hpp InputSoundFile.hpp Listener.hpp Music.hpp OutputSoundFile.hpp PlaybackDevice.hpp Sound.hpp SoundBuffer.hpp SoundBufferRecorder.hpp SoundChannel.hpp SoundFileFactory.hpp SoundFileFactory.inl SoundFileReader.hpp SoundFileWriter.hpp SoundRecorder.hpp SoundSource.hpp SoundStream.hpp include/SFML/Graphics/ BlendMode.hpp CircleShape.hpp Color.hpp Color.inl ConvexShape.hpp CoordinateType.hpp Drawable.hpp Export.hpp Font.hpp Glsl.hpp Glsl.inl Glyph.hpp Image.hpp PrimitiveType.hpp Rect.hpp Rect.inl RectangleShape.hpp RenderStates.hpp RenderTarget.hpp RenderTexture.hpp RenderWindow.hpp Shader.hpp Shape.hpp Sprite.hpp StencilMode.hpp Text.hpp Texture.hpp Transform.hpp Transform.inl Transformable.hpp Vertex.hpp VertexArray.hpp VertexBuffer.hpp View.hpp include/SFML/Network/ Export.hpp Ftp.hpp Http.hpp IpAddress.hpp Packet.hpp Socket.hpp SocketHandle.hpp SocketSelector.hpp TcpListener.hpp TcpSocket.hpp UdpSocket.hpp include/SFML/System/ Angle.hpp Angle.inl Clock.hpp Err.hpp Exception.hpp Export.hpp FileInputStream.hpp InputStream.hpp MemoryInputStream.hpp NativeActivity.hpp Sleep.hpp String.hpp String.inl SuspendAwareClock.hpp Time.hpp Time.inl Utf.hpp Utf.inl Vector2.hpp Vector2.inl Vector3.hpp Vector3.inl include/SFML/Window/ Clipboard.hpp Context.hpp ContextSettings.hpp Cursor.hpp Event.hpp Event.inl Export.hpp GlResource.hpp Joystick.hpp Keyboard.hpp Mouse.hpp Sensor.hpp Touch.hpp VideoMode.hpp Vulkan.hpp Window.hpp WindowBase.hpp WindowBase.inl WindowEnums.hpp WindowHandle.hpp lib/ libsfml-audio.so libsfml-graphics.so libsfml-network.so libsfml-system.so libsfml-window.so lib/cmake/SFML/ FindDRM.cmake FindEGL.cmake FindFLAC.cmake FindFreetype.cmake FindGBM.cmake FindGLES.cmake FindUDev.cmake FindVorbis.cmake SFMLAudioSharedTargets-%%CMAKE_BUILD_TYPE%%.cmake SFMLAudioSharedTargets.cmake SFMLConfig.cmake SFMLConfigVersion.cmake SFMLGraphicsSharedTargets-%%CMAKE_BUILD_TYPE%%.cmake SFMLGraphicsSharedTargets.cmake SFMLNetworkSharedTargets-%%CMAKE_BUILD_TYPE%%.cmake SFMLNetworkSharedTargets.cmake SFMLSystemSharedTargets-%%CMAKE_BUILD_TYPE%%.cmake SFMLSystemSharedTargets.cmake SFMLWindowSharedTargets-%%CMAKE_BUILD_TYPE%%.cmake SFMLWindowSharedTargets.cmake lib/pkgconfig/ sfml-all.pc sfml-audio.pc sfml-graphics.pc sfml-network.pc sfml-system.pc sfml-window.pc [FILE:1162:patches/patch-CMakeLists.txt] --- CMakeLists.txt.orig 2025-04-22 13:06:02 UTC +++ CMakeLists.txt @@ -205,11 +205,8 @@ set_property(GLOBAL PROPERTY PREDEFINED_ add_subdirectory(src/SFML) # on Linux and BSD-like OS, install pkg-config files by default -set(SFML_INSTALL_PKGCONFIG_DEFAULT OFF) - -if(SFML_OS_LINUX OR SFML_OS_FREEBSD OR SFML_OS_OPENBSD OR SFML_OS_NETBSD) set(SFML_INSTALL_PKGCONFIG_DEFAULT ON) -endif() + set(SFML_PKGCONFIG_DIR "lib/pkgconfig") sfml_set_option(SFML_INSTALL_PKGCONFIG_FILES ${SFML_INSTALL_PKGCONFIG_DEFAULT} BOOL "ON to automatically install pkg-config files so other projects can find SFML") @@ -221,10 +218,6 @@ if(SFML_INSTALL_PKGCONFIG_FILES) # this could be e.g. macports on mac or msys2 on windows etc. set(SFML_PKGCONFIG_DIR "${SFML_RELATIVE_INSTALL_LIBDIR}/pkgconfig") - if(SFML_OS_FREEBSD OR SFML_OS_OPENBSD OR SFML_OS_NETBSD) - set(SFML_PKGCONFIG_DIR "libdata/pkgconfig") - endif() - sfml_set_option(SFML_PKGCONFIG_INSTALL_DIR "${SFML_PKGCONFIG_DIR}" PATH "Install directory for SFML's pkg-config .pc files") if(SFML_BUILD_AUDIO AND SFML_BUILD_NETWORK AND SFML_BUILD_GRAPHICS AND SFML_BUILD_WINDOW) [FILE:559:patches/patch-cmake_Config.cmake] --- cmake/Config.cmake.orig 2025-04-22 13:06:02 UTC +++ cmake/Config.cmake @@ -35,6 +35,13 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "^k?Fre # don't use the OpenGL ES implementation on FreeBSD set(OPENGL_ES 0) +elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly|MidnightBSD") + set(SFML_OS_FREEBSD 1) + set(OPENGL_ES 0) +elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") + set(SFML_OS_NETBSD 1) + # XXX we want to use OPENGL_ES for some NetBSD, but which? + set(OPENGL_ES 0) elseif(CMAKE_SYSTEM_NAME MATCHES "^OpenBSD$") set(SFML_OS_OPENBSD 1) [FILE:508:patches/patch-cmake_Macros.cmake] --- cmake/Macros.cmake.orig 2025-04-22 13:06:02 UTC +++ cmake/Macros.cmake @@ -244,7 +244,7 @@ macro(sfml_add_library module) "${CMAKE_CURRENT_BINARY_DIR}/tools/pkg-config/${target}.pc" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tools/pkg-config/${target}.pc" - DESTINATION "${SFML_PKGCONFIG_INSTALL_DIR}") + DESTINATION "lib/pkgconfig") endif() # because the frameworks directory hierarchy has to be set up before any target files [FILE:279:patches/patch-include_SFML_Config.hpp] add NetBSD support --- include/SFML/Config.hpp.orig 2025-04-22 13:06:02 UTC +++ include/SFML/Config.hpp @@ -86,6 +86,11 @@ // FreeBSD #define SFML_SYSTEM_FREEBSD +#elif defined(__NetBSD__) + +// NetBSD +#define SFML_SYSTEM_NETBSD + #elif defined(__OpenBSD__) // OpenBSD [FILE:561:patches/patch-src_SFML_Window_CMakeLists.txt] --- src/SFML/Window/CMakeLists.txt.orig 2025-04-22 13:06:02 UTC +++ src/SFML/Window/CMakeLists.txt @@ -325,7 +325,7 @@ if(SFML_OS_LINUX) target_link_libraries(sfml-window PRIVATE UDev::UDev dl) elseif(SFML_OS_WINDOWS) target_link_libraries(sfml-window PRIVATE winmm gdi32) -elseif(SFML_OS_FREEBSD) +elseif(SFML_OS_FREEBSD OR SFML_OS_NETBSD) target_link_libraries(sfml-window PRIVATE usbhid) elseif(SFML_OS_MACOS) target_link_libraries(sfml-window PRIVATE "-framework Foundation" "-framework AppKit" "-framework IOKit" "-framework Carbon") [FILE:545:patches/patch-src_SFML_Window_FreeBSD_JoystickImpl.cpp] add NetBSD support --- src/SFML/Window/FreeBSD/JoystickImpl.cpp.orig 2025-04-22 13:06:02 UTC +++ src/SFML/Window/FreeBSD/JoystickImpl.cpp @@ -55,6 +55,16 @@ namespace std::unordered_map plugged; std::unordered_map> hatValueMap; +#if defined(__NetBSD__) +int hid_get_report_id(int fd) +{ + int id; + if (ioctl(fd, USB_GET_REPORT_ID, &id) < 0) + return -1; + return id; +} +#endif + bool isJoystick(const char* name) { int file = ::open(name, O_RDONLY | O_NONBLOCK); [FILE:517:patches/patch-src_SFML_Window_FreeBSD_JoystickImpl.hpp] $NetBSD: patch-src_SFML_Window_FreeBSD_JoystickImpl.hpp,v 1.1 2020/05/21 08:42:00 plunky Exp $ add NetBSD support --- src/SFML/Window/FreeBSD/JoystickImpl.hpp.orig 2025-04-22 13:06:02 UTC +++ src/SFML/Window/FreeBSD/JoystickImpl.hpp @@ -27,6 +27,9 @@ //////////////////////////////////////////////////////////// // Headers //////////////////////////////////////////////////////////// +#if defined(__NetBSD__) +#include +#endif #include #include #include [FILE:457:patches/patch-src_SFML_Window_JoystickImpl.hpp] $NetBSD: patch-src_SFML_Window_JoystickImpl.hpp,v 1.1 2020/05/21 08:42:00 plunky Exp $ add NetBSD support --- src/SFML/Window/JoystickImpl.hpp.orig 2025-04-22 13:06:02 UTC +++ src/SFML/Window/JoystickImpl.hpp @@ -69,7 +69,7 @@ struct JoystickState #include -#elif defined(SFML_SYSTEM_FREEBSD) +#elif defined(SFML_SYSTEM_FREEBSD) || defined (SFML_SYSTEM_NETBSD) #include